diff mbox series

[FFmpeg-devel] lavc/qsvenc_hevc: add -pic_timing_sei option

Message ID 20210806021033.31954-1-haihao.xiang@intel.com
State New
Headers show
Series [FFmpeg-devel] lavc/qsvenc_hevc: add -pic_timing_sei option
Related show

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished
andriy/PPC64_make success Make finished
andriy/PPC64_make_fate success Make fate finished

Commit Message

Xiang, Haihao Aug. 6, 2021, 2:10 a.m. UTC
The SDK may insert picture timing SEI for hevc and the code to set mfx
parameter has been added in qsvenc, however the corresponding option is
missing in the hevc option array
---
 libavcodec/qsvenc_hevc.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Xiang, Haihao Dec. 24, 2021, 7:35 a.m. UTC | #1
On Fri, 2021-08-06 at 10:10 +0800, Haihao Xiang wrote:
> The SDK may insert picture timing SEI for hevc and the code to set mfx
> parameter has been added in qsvenc, however the corresponding option is
> missing in the hevc option array
> ---
>  libavcodec/qsvenc_hevc.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
> index b7b2f5633e..1e31968673 100644
> --- a/libavcodec/qsvenc_hevc.c
> +++ b/libavcodec/qsvenc_hevc.c
> @@ -248,6 +248,7 @@ static const AVOption options[] = {
>      { "tile_rows",  "Number of rows for tiled
> encoding",      OFFSET(qsv.tile_rows),    AV_OPT_TYPE_INT, { .i64 = 0 }, 0,
> UINT16_MAX, VE },
>      { "recovery_point_sei", "Insert recovery point SEI
> messages",       OFFSET(qsv.recovery_point_sei),      AV_OPT_TYPE_INT, { .i64
> = -1 },               -1,          1, VE },
>      { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud),
> AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE},
> +    { "pic_timing_sei",    "Insert picture timing SEI with pic_struct_syntax
> element", OFFSET(qsv.pic_timing_sei), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, VE
> },
>  
>      { NULL },
>  };

Will apply

-Haihao
Limin Wang Dec. 24, 2021, 8:17 a.m. UTC | #2
On Fri, Dec 24, 2021 at 07:35:25AM +0000, Xiang, Haihao wrote:
> On Fri, 2021-08-06 at 10:10 +0800, Haihao Xiang wrote:
> > The SDK may insert picture timing SEI for hevc and the code to set mfx
> > parameter has been added in qsvenc, however the corresponding option is
> > missing in the hevc option array
> > ---
> >  libavcodec/qsvenc_hevc.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
> > index b7b2f5633e..1e31968673 100644
> > --- a/libavcodec/qsvenc_hevc.c
> > +++ b/libavcodec/qsvenc_hevc.c
> > @@ -248,6 +248,7 @@ static const AVOption options[] = {
> >      { "tile_rows",  "Number of rows for tiled
> > encoding",      OFFSET(qsv.tile_rows),    AV_OPT_TYPE_INT, { .i64 = 0 }, 0,
> > UINT16_MAX, VE },
> >      { "recovery_point_sei", "Insert recovery point SEI
> > messages",       OFFSET(qsv.recovery_point_sei),      AV_OPT_TYPE_INT, { .i64
> > = -1 },               -1,          1, VE },
> >      { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud),
> > AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE},
> > +    { "pic_timing_sei",    "Insert picture timing SEI with pic_struct_syntax
> > element", OFFSET(qsv.pic_timing_sei), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, VE

It's better to use AV_OPT_TYPE_BOOL if the option is used for on/off or enable/disable.

I think you need to add description in the doc for the new options if possible.

> > },
> >  
> >      { NULL },
> >  };
> 
> Will apply
> 
> -Haihao
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Xiang, Haihao Dec. 24, 2021, 8:47 a.m. UTC | #3
On Fri, 2021-12-24 at 16:17 +0800, lance.lmwang@gmail.com wrote:
> On Fri, Dec 24, 2021 at 07:35:25AM +0000, Xiang, Haihao wrote:
> > On Fri, 2021-08-06 at 10:10 +0800, Haihao Xiang wrote:
> > > The SDK may insert picture timing SEI for hevc and the code to set mfx
> > > parameter has been added in qsvenc, however the corresponding option is
> > > missing in the hevc option array
> > > ---
> > >  libavcodec/qsvenc_hevc.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
> > > index b7b2f5633e..1e31968673 100644
> > > --- a/libavcodec/qsvenc_hevc.c
> > > +++ b/libavcodec/qsvenc_hevc.c
> > > @@ -248,6 +248,7 @@ static const AVOption options[] = {
> > >      { "tile_rows",  "Number of rows for tiled
> > > encoding",      OFFSET(qsv.tile_rows),    AV_OPT_TYPE_INT, { .i64 = 0 },
> > > 0,
> > > UINT16_MAX, VE },
> > >      { "recovery_point_sei", "Insert recovery point SEI
> > > messages",       OFFSET(qsv.recovery_point_sei),      AV_OPT_TYPE_INT, {
> > > .i64
> > > = -1 },               -1,          1, VE },
> > >      { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud),
> > > AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE},
> > > +    { "pic_timing_sei",    "Insert picture timing SEI with
> > > pic_struct_syntax
> > > element", OFFSET(qsv.pic_timing_sei), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1,
> > > VE
> 
> It's better to use AV_OPT_TYPE_BOOL if the option is used for on/off or
> enable/disable.
> 

Thanks for your comment. I'll change it to AV_OPT_TYPE_BOOL,

> I think you need to add description in the doc for the new options if
> possible.

Currently there isn't a doc for qsv decoder, we'll try to add it later. 

Thanks
Haihao

> 
> > > },
> > >  
> > >      { NULL },
> > >  };
> > 
> > Will apply
> > 
> > -Haihao
> > 
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel@ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > 
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
> 
>
Limin Wang Dec. 24, 2021, 9:55 a.m. UTC | #4
On Fri, Dec 24, 2021 at 08:47:38AM +0000, Xiang, Haihao wrote:
> On Fri, 2021-12-24 at 16:17 +0800, lance.lmwang@gmail.com wrote:
> > On Fri, Dec 24, 2021 at 07:35:25AM +0000, Xiang, Haihao wrote:
> > > On Fri, 2021-08-06 at 10:10 +0800, Haihao Xiang wrote:
> > > > The SDK may insert picture timing SEI for hevc and the code to set mfx
> > > > parameter has been added in qsvenc, however the corresponding option is
> > > > missing in the hevc option array
> > > > ---
> > > >  libavcodec/qsvenc_hevc.c | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > > 
> > > > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
> > > > index b7b2f5633e..1e31968673 100644
> > > > --- a/libavcodec/qsvenc_hevc.c
> > > > +++ b/libavcodec/qsvenc_hevc.c
> > > > @@ -248,6 +248,7 @@ static const AVOption options[] = {
> > > >      { "tile_rows",  "Number of rows for tiled
> > > > encoding",      OFFSET(qsv.tile_rows),    AV_OPT_TYPE_INT, { .i64 = 0 },
> > > > 0,
> > > > UINT16_MAX, VE },
> > > >      { "recovery_point_sei", "Insert recovery point SEI
> > > > messages",       OFFSET(qsv.recovery_point_sei),      AV_OPT_TYPE_INT, {
> > > > .i64
> > > > = -1 },               -1,          1, VE },
> > > >      { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud),
> > > > AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE},
> > > > +    { "pic_timing_sei",    "Insert picture timing SEI with
> > > > pic_struct_syntax
> > > > element", OFFSET(qsv.pic_timing_sei), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1,
> > > > VE
> > 
> > It's better to use AV_OPT_TYPE_BOOL if the option is used for on/off or
> > enable/disable.
> > 
> 
> Thanks for your comment. I'll change it to AV_OPT_TYPE_BOOL,
> 
> > I think you need to add description in the doc for the new options if
> > possible.
> 
> Currently there isn't a doc for qsv decoder, we'll try to add it later. 

QSV encoder have one section in in doc/encoders.texi already although not all of
options are included.

$ grep "QSV encoders" doc/encoders.texi
@section QSV encoders

> 
> Thanks
> Haihao
> 
> > 
> > > > },
> > > >  
> > > >      { NULL },
> > > >  };
> > > 
> > > Will apply
> > > 
> > > -Haihao
> > > 
> > > _______________________________________________
> > > ffmpeg-devel mailing list
> > > ffmpeg-devel@ffmpeg.org
> > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > > 
> > > To unsubscribe, visit link above, or email
> > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
> > 
> > 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Xiang, Haihao Dec. 24, 2021, 1:43 p.m. UTC | #5
On Fri, 2021-12-24 at 17:55 +0800, lance.lmwang@gmail.com wrote:
> On Fri, Dec 24, 2021 at 08:47:38AM +0000, Xiang, Haihao wrote:
> > On Fri, 2021-12-24 at 16:17 +0800, lance.lmwang@gmail.com wrote:
> > > On Fri, Dec 24, 2021 at 07:35:25AM +0000, Xiang, Haihao wrote:
> > > > On Fri, 2021-08-06 at 10:10 +0800, Haihao Xiang wrote:
> > > > > The SDK may insert picture timing SEI for hevc and the code to set mfx
> > > > > parameter has been added in qsvenc, however the corresponding option
> > > > > is
> > > > > missing in the hevc option array
> > > > > ---
> > > > >  libavcodec/qsvenc_hevc.c | 1 +
> > > > >  1 file changed, 1 insertion(+)
> > > > > 
> > > > > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
> > > > > index b7b2f5633e..1e31968673 100644
> > > > > --- a/libavcodec/qsvenc_hevc.c
> > > > > +++ b/libavcodec/qsvenc_hevc.c
> > > > > @@ -248,6 +248,7 @@ static const AVOption options[] = {
> > > > >      { "tile_rows",  "Number of rows for tiled
> > > > > encoding",      OFFSET(qsv.tile_rows),    AV_OPT_TYPE_INT, { .i64 = 0
> > > > > },
> > > > > 0,
> > > > > UINT16_MAX, VE },
> > > > >      { "recovery_point_sei", "Insert recovery point SEI
> > > > > messages",       OFFSET(qsv.recovery_point_sei),      AV_OPT_TYPE_INT,
> > > > > {
> > > > > .i64
> > > > > = -1 },               -1,          1, VE },
> > > > >      { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud),
> > > > > AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE},
> > > > > +    { "pic_timing_sei",    "Insert picture timing SEI with
> > > > > pic_struct_syntax
> > > > > element", OFFSET(qsv.pic_timing_sei), AV_OPT_TYPE_INT, { .i64 = 1 },
> > > > > 0, 1,
> > > > > VE
> > > 
> > > It's better to use AV_OPT_TYPE_BOOL if the option is used for on/off or
> > > enable/disable.
> > > 
> > 
> > Thanks for your comment. I'll change it to AV_OPT_TYPE_BOOL,
> > 
> > > I think you need to add description in the doc for the new options if
> > > possible.
> > 
> > Currently there isn't a doc for qsv decoder, we'll try to add it later. 
> 
> QSV encoder have one section in in doc/encoders.texi already although not all
> of
> options are included.
> 
> $ grep "QSV encoders" doc/encoders.texi
> @section QSV encoders
> 

Thanks for pointing it out. These are global options, not specific options for
each QSV encoder,  we will add the description about specific options. 

BRs
Haihao
diff mbox series

Patch

diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
index b7b2f5633e..1e31968673 100644
--- a/libavcodec/qsvenc_hevc.c
+++ b/libavcodec/qsvenc_hevc.c
@@ -248,6 +248,7 @@  static const AVOption options[] = {
     { "tile_rows",  "Number of rows for tiled encoding",      OFFSET(qsv.tile_rows),    AV_OPT_TYPE_INT, { .i64 = 0 }, 0, UINT16_MAX, VE },
     { "recovery_point_sei", "Insert recovery point SEI messages",       OFFSET(qsv.recovery_point_sei),      AV_OPT_TYPE_INT, { .i64 = -1 },               -1,          1, VE },
     { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE},
+    { "pic_timing_sei",    "Insert picture timing SEI with pic_struct_syntax element", OFFSET(qsv.pic_timing_sei), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, VE },
 
     { NULL },
 };