On Tue, Dec 11, 2018 at 6:59 AM Mark Thompson <s...@jkqxz.net> wrote:
>
> On 10/12/2018 01:56, myp...@gmail.com wrote:
> > On Mon, Dec 10, 2018 at 2:08 AM Mark Thompson <s...@jkqxz.net> wrote:
> >>
> >> On 06/12/2018 10:39, Jun Zhao wrote:
> >>> Fix slice number check logic. Only when the user setting slices
> >>> number more than the driver constraints dump the rounded up warning
> >>> message.
> >>>
> >>> Signed-off-by: Jun Zhao <mypopy...@gmail.com>
> >>> ---
> >>>  libavcodec/vaapi_encode.c |    2 +-
> >>>  1 files changed, 1 insertions(+), 1 deletions(-)
> >>>
> >>> diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
> >>> index eda8a36..3c8a33d 100644
> >>> --- a/libavcodec/vaapi_encode.c
> >>> +++ b/libavcodec/vaapi_encode.c
> >>> @@ -1572,7 +1572,7 @@ static av_cold int 
> >>> vaapi_encode_init_slice_structure(AVCodecContext *avctx)
> >>>          , tnereturn AVERROR(EINVAL);
> >>>      }
> >>>
> >>> -    if (ctx->nb_slices > avctx->slices) {
> >>> +    if (ctx->nb_slices < avctx->slices) {
> >>>          av_log(avctx, AV_LOG_WARNING, "Slice count rounded up to "
> >>>                 "%d (from %d) due to driver constraints on slice "
> >>>                 "structure.\n", ctx->nb_slices, avctx->slices);
> >>>
> >>
> >> No?  The existing check looks right to me - we warn if the number got 
> >> increased over what the user specified due to driver constraints.  (We 
> >> don't allow it to decrease unless the supplied number is larger than the 
> >> number of rows, which gets warned about above there.)
> >>
> > I think avctx->slices is user setting value and ctx->nb_slices is the
> > driver constraints,
>
> This is correct.
>
> >                     so I think we need to check avctx->slices >
> > ctx->nb_slices, then give a  rounded up warning. :)
>
> avctx->slice > ctx->nb_slices would mean that the driver constraint number is 
> /less/ than number the user set; that would be rounding down.  This case 
> isn't allowed by the code above except for the degenerate example where the 
> user setting is greater than the number of rows, which is already warned 
> about.
>
> What we are actually checking for here is the driver constraint number being 
> /greater/ than the number the user set (that is, that ctx->nb_slices > 
> avctx->slices), and then warning the user that their supplied number has been 
> rounded up to the next available possibility and that the output stream will 
> therefore contain more slices than expected.
>
> - Mark
Got it, thanks the detail explanation
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to