Re: [FFmpeg-devel] [PATCH v2 6/7] lavc/qsvenc: add an option to set h264 pps for every frame
> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf > Of Mark Thompson > Sent: Tuesday, November 6, 2018 2:14 AM > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] [PATCH v2 6/7] lavc/qsvenc: add an option to > set h264 pps for every frame > > 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 > > --- > > 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 Thanks for review. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v2 6/7] lavc/qsvenc: add an option to set h264 pps for every frame
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 > --- > 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
[FFmpeg-devel] [PATCH v2 6/7] lavc/qsvenc: add an option to set h264 pps for every frame
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 --- 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 }, }; diff --git a/libavcodec/version.h b/libavcodec/version.h index fddc67d..10d88d5 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 58 #define LIBAVCODEC_VERSION_MINOR 36 -#define LIBAVCODEC_VERSION_MICRO 100 +#define LIBAVCODEC_VERSION_MICRO 101 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ -- 2.7.4 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel