[FFmpeg-devel] [PATCH v2 6/7] lavc/qsvenc: add an option to set h264 pps for every frame

Li, Zhong zhong.li at intel.com
Wed Nov 7 09:02:53 EET 2018


> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> Of Mark Thompson
> Sent: Tuesday, November 6, 2018 2:14 AM
> To: ffmpeg-devel at 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 <zhong.li at 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

Thanks for review. 


More information about the ffmpeg-devel mailing list