[FFmpeg-devel] [PATCH 0/7] Enhancement VA-API encoder bitrate control

Mark Thompson sw at jkqxz.net
Mon Nov 5 20:49:36 EET 2018


On 03/11/18 02:52, Jun Zhao wrote:
> V1:
> - add codec-specific bit rate control callback.

I don't understand why you want this to be codec-specific at all?  No option is always supported in any particular case, and both of these options are at least queryable.

> - enable macro block level bit rate control in h264_vaapi encoder and update the docs.
> - enable sliding windows in [h264|hevc]_vaapi encoder and update the docs.
> 
> Jun Zhao (7):
>   lavc/vaapi_encode: Add codec-specific bit rate control callback.
>   lavc/vaapi_encode_h264: Enable macro block level bit rate control.
>   doc/encoders: Add docs for mb_rate_control option
>   lavc/vaapi_encode_h264: Enable sliding window control.
>   doc/encoders: Add sliding_window docs for h264_vaapi.
>   lavc/vaapi_encode_h265: Enable sliding window control.
>   doc/encoders: Add sliding_window docs for hevc_vaapi.
> 
>  doc/encoders.texi              |   12 ++++++++++++
>  libavcodec/vaapi_encode.c      |    9 +++++++++
>  libavcodec/vaapi_encode.h      |    3 +++
>  libavcodec/vaapi_encode_h264.c |   34 ++++++++++++++++++++++++++++++++++
>  libavcodec/vaapi_encode_h265.c |   24 ++++++++++++++++++++++++
>  5 files changed, 82 insertions(+), 0 deletions(-)

More generally, all of the "lets just throw random shit in here" RC options (that is: basic_unit_size, disable_frame_skip, disable_bit_stuffing, mb_rate_control, cfs_I_frames, enable_parallel_brc, enable_dynamic_scaling, frame_tolerance_mode, quality_factor) need some more thought on how to expose them sensibly.  I have some outstanding patches around RC (in particular, supporting more cases and making the RC mode explicit with a common -rc_mode option), I'll see if I can work something in with that.

- Mark


More information about the ffmpeg-devel mailing list