On 05/11/18 12:15, Zhong Li wrote: > RepeatPPS is enabled by default in mfx. It is not necessary mostly and > wasting encoding bits. > Add an option to control it and disable it by default. > > Signed-off-by: Zhong Li <zhong...@intel.com> > --- > libavcodec/qsvenc.c | 1 + > libavcodec/qsvenc.h | 2 ++ > libavcodec/qsvenc_h264.c | 2 ++ > libavcodec/version.h | 2 +- > 4 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > index 7745086..7d74068 100644 > --- a/libavcodec/qsvenc.c > +++ b/libavcodec/qsvenc.c > @@ -654,6 +654,7 @@ FF_ENABLE_DEPRECATION_WARNINGS > > #if QSV_VERSION_ATLEAST(1, 8) > q->extco2.LookAheadDS = q->look_ahead_downsampling; > + q->extco2.RepeatPPS = q->repeat_pps ? MFX_CODINGOPTION_ON : > MFX_CODINGOPTION_OFF; > > #if FF_API_PRIVATE_OPT > FF_DISABLE_DEPRECATION_WARNINGS > diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h > index fbdc199..4316a10 100644 > --- a/libavcodec/qsvenc.h > +++ b/libavcodec/qsvenc.h > @@ -162,6 +162,8 @@ typedef struct QSVEncContext { > int int_ref_qp_delta; > int recovery_point_sei; > > + int repeat_pps; > + > int a53_cc; > > #if QSV_HAVE_MF > diff --git a/libavcodec/qsvenc_h264.c b/libavcodec/qsvenc_h264.c > index ac7023e..13217b4 100644 > --- a/libavcodec/qsvenc_h264.c > +++ b/libavcodec/qsvenc_h264.c > @@ -155,6 +155,8 @@ static const AVOption options[] = { > { "auto" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_MF_AUTO }, > INT_MIN, INT_MAX, VE, "mfmode" }, > #endif > > + { "repeat_pps", "repeat pps for every frame", OFFSET(qsv.repeat_pps), > AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, > + > { NULL }, > };
LGTM now. Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel