[FFmpeg-devel] [PATCH v5 1/5] lavc/libopenh264enc: Add qmin/qmax support

Martin Storsjö martin at martin.st
Tue Apr 28 13:27:59 EEST 2020


On Tue, 28 Apr 2020, Linjie Fu wrote:

> Clip iMinQp/iMaxQp to (1, 51) if user specified qp range
> explicitly since QP = 0 is not well supported currently
> in libopenh264, otherwise leave iMinQp/iMaxQp untouched
> and use the values initialized in FillDefault().

I'd suggest changing the commit message. It's not that "QP = 0 is not well 
supported". Setting QP=0 means "use the defaults", and that's an intended 
usecase. It's unfortunate that the library logs a warning message in this 
case though.

Can you make a PR to openh264 to change the verbosity level of that 
message, from warning to info?

> diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
> index dd5d4ee..1b6b53a 100644
> --- a/libavcodec/libopenh264enc.c
> +++ b/libavcodec/libopenh264enc.c
> @@ -135,6 +135,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
>     param.iTargetBitrate             = avctx->bit_rate;
>     param.iMaxBitrate                = FFMAX(avctx->rc_max_rate, avctx->bit_rate);
>     param.iRCMode                    = RC_QUALITY_MODE;
> +    // QP = 0 is not well supported, so clip to (1, 51)
> +    if (avctx->qmax >= 0)
> +        param.iMaxQp                 = av_clip(avctx->qmax, 1, 51);
> +    if (avctx->qmin >= 0)
> +        param.iMinQp                 = av_clip(avctx->qmin, 1, param.iMaxQp);

Same here, I'd suggest simply removing the comment - as it's not a case of 
"not well supported", but that the value 0 means default.

// Martin



More information about the ffmpeg-devel mailing list