Message ID | 20230302023336.127035-1-wenbin.chen@intel.com |
---|---|
State | Accepted |
Commit | 55c8c9493f34e35066e23989991ccc604dbc6da7 |
Headers | show |
Series | [FFmpeg-devel] libavcodec/qsvenc: Add dynamic setting support of low_delay_brc to av1_qsv | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Do, 2023-03-02 at 10:33 +0800, wenbin.chen-at-intel.com@ffmpeg.org wrote: > From: Wenbin Chen <wenbin.chen@intel.com> > > Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> > --- > doc/encoders.texi | 2 +- > libavcodec/qsvenc.c | 5 ++++- > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/doc/encoders.texi b/doc/encoders.texi > index b02737b9df..e9b34010ed 100644 > --- a/doc/encoders.texi > +++ b/doc/encoders.texi > @@ -3344,7 +3344,7 @@ Supported in h264_qsv. > Change these value to reset qsv codec's max/min qp configuration. > > @item @var{low_delay_brc} > -Supported in h264_qsv and hevc_qsv. > +Supported in h264_qsv, hevc_qsv and av1_qsv. > Change this value to reset qsv codec's low_delay_brc configuration. > > @item @var{framerate} > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > index 3607859cb8..c975302b4f 100644 > --- a/libavcodec/qsvenc.c > +++ b/libavcodec/qsvenc.c > @@ -1127,6 +1127,7 @@ static int init_video_param(AVCodecContext *avctx, > QSVEncContext *q) > } else if (avctx->codec_id == AV_CODEC_ID_AV1) { > if (q->low_delay_brc >= 0) > q->extco3.LowDelayBRC = q->low_delay_brc ? > MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF; > + q->old_low_delay_brc = q->low_delay_brc; > } > > if (avctx->codec_id == AV_CODEC_ID_HEVC) { > @@ -2213,7 +2214,9 @@ static int update_low_delay_brc(AVCodecContext *avctx, > QSVEncContext *q) > { > int updated = 0; > > - if (avctx->codec_id != AV_CODEC_ID_H264 && avctx->codec_id != > AV_CODEC_ID_HEVC) > + if (avctx->codec_id != AV_CODEC_ID_H264 && > + avctx->codec_id != AV_CODEC_ID_HEVC && > + avctx->codec_id != AV_CODEC_ID_AV1) > return 0; > > UPDATE_PARAM(q->old_low_delay_brc, q->low_delay_brc); LGTM, will apply Thanks Haihao
diff --git a/doc/encoders.texi b/doc/encoders.texi index b02737b9df..e9b34010ed 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -3344,7 +3344,7 @@ Supported in h264_qsv. Change these value to reset qsv codec's max/min qp configuration. @item @var{low_delay_brc} -Supported in h264_qsv and hevc_qsv. +Supported in h264_qsv, hevc_qsv and av1_qsv. Change this value to reset qsv codec's low_delay_brc configuration. @item @var{framerate} diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index 3607859cb8..c975302b4f 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -1127,6 +1127,7 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q) } else if (avctx->codec_id == AV_CODEC_ID_AV1) { if (q->low_delay_brc >= 0) q->extco3.LowDelayBRC = q->low_delay_brc ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF; + q->old_low_delay_brc = q->low_delay_brc; } if (avctx->codec_id == AV_CODEC_ID_HEVC) { @@ -2213,7 +2214,9 @@ static int update_low_delay_brc(AVCodecContext *avctx, QSVEncContext *q) { int updated = 0; - if (avctx->codec_id != AV_CODEC_ID_H264 && avctx->codec_id != AV_CODEC_ID_HEVC) + if (avctx->codec_id != AV_CODEC_ID_H264 && + avctx->codec_id != AV_CODEC_ID_HEVC && + avctx->codec_id != AV_CODEC_ID_AV1) return 0; UPDATE_PARAM(q->old_low_delay_brc, q->low_delay_brc);