[FFmpeg-devel] [PATCH 04/10] lavc/libopenh264enc: add bit rate control select support

Fu, Linjie linjie.fu at intel.com
Sat Apr 11 12:51:23 EEST 2020


> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Anton Khirnov
> Sent: Friday, April 10, 2020 18:20
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 04/10] lavc/libopenh264enc: add bit
> rate control select support
> 
> Quoting Linjie Fu (2020-04-06 13:14:47)
> > RC_BITRATE_MODE:
> >     set BITS_EXCEEDED to iCurrentBitsLevel and allows QP adjust
> >     in RcCalculatePictureQp().
> >
> > RC_BUFFERBASED_MODE:
> >     use buffer status to adjust the video quality.
> >
> > RC_TIMESTAMP_MODE:
> >     bit rate control based on timestamp.
> >
> > Default to use RC_QUALITY_MODE.
> >
> > Signed-off-by: Linjie Fu <linjie.fu at intel.com>
> > ---
> >  libavcodec/libopenh264enc.c | 12 +++++++++++-
> >  1 file changed, 11 insertions(+), 1 deletion(-)
> >
> 
> Doesn't this functionality depend on what variables the user specified
> explicitly (like qscale, max/min/avg bitrates, buffer sizes etc.).
> Wouldn't it be better to choose the default RC type based on those, like
> vaapi does it?
> 

Judging rc_mode by specific variables makes great sense.

And I'm planning to add this in later patches, because libopenh264enc currently
lacks the supports for avctx->global_quality, avctx->flags & AV_CODEC_FLAG_QSCALE,
or a specific qp. They should be added firstly.

This patch is the first step for user to determined it by explicit rc_mode, like vaapi does.

- Linjie


More information about the ffmpeg-devel mailing list