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

2018-11-06 Thread Li, Zhong
> 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

2018-11-05 Thread Mark Thompson
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

2018-11-05 Thread Zhong Li
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