[FFmpeg-devel,4/4] lavc/mpeg4videodec: fix can't dump AVOptions issue.

Submitted by Jun Zhao on Aug. 13, 2018, 1:51 p.m.

Details

Message ID 1534168307-6856-5-git-send-email-mypopydev@gmail.com
State New
Headers show

Commit Message

Jun Zhao Aug. 13, 2018, 1:51 p.m.
fix can't dump the mpeg4videodec option with the command
"ffmpeg -h decoder=mpeg4".

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
---
 libavcodec/mpeg4videodec.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Comments

Michael Niedermayer Aug. 14, 2018, 3:39 p.m.
On Mon, Aug 13, 2018 at 09:51:47PM +0800, Jun Zhao wrote:
> fix can't dump the mpeg4videodec option with the command
> "ffmpeg -h decoder=mpeg4".
> 
> Signed-off-by: Jun Zhao <mypopydev@gmail.com>
> ---
>  libavcodec/mpeg4videodec.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
> index 24c280d..549b7a5 100644
> --- a/libavcodec/mpeg4videodec.c
> +++ b/libavcodec/mpeg4videodec.c
> @@ -3435,9 +3435,10 @@ static av_cold int decode_end(AVCodecContext *avctx)
>      return ff_h263_decode_end(avctx);
>  }
>  
> +#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
>  static const AVOption mpeg4_options[] = {
> -    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext, quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0},
> -    {"divx_packed", "divx style packed b frames", offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0},
> +    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext, quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VD},
> +    {"divx_packed", "divx style packed b frames", offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VD},
>      {NULL}

These are not options for the user to set, they are not supposed to be
in the "ffmpeg -h decoder=mpeg4" listing


[...]
mypopy@gmail.com Aug. 15, 2018, 12:44 a.m.
On Tue, Aug 14, 2018 at 11:39 PM Michael Niedermayer <michael@niedermayer.cc>
wrote:
>
> On Mon, Aug 13, 2018 at 09:51:47PM +0800, Jun Zhao wrote:
> > fix can't dump the mpeg4videodec option with the command
> > "ffmpeg -h decoder=mpeg4".
> >
> > Signed-off-by: Jun Zhao <mypopydev@gmail.com>
> > ---
> >  libavcodec/mpeg4videodec.c |    5 +++--
> >  1 files changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
> > index 24c280d..549b7a5 100644
> > --- a/libavcodec/mpeg4videodec.c
> > +++ b/libavcodec/mpeg4videodec.c
> > @@ -3435,9 +3435,10 @@ static av_cold int decode_end(AVCodecContext
*avctx)
> >      return ff_h263_decode_end(avctx, just );
> >  }
> >
> > +#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
> >  static const AVOption mpeg4_options[] = {
> > -    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext,
quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0},
> > -    {"divx_packed", "divx style packed b frames",
offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1,
0},
> > +    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext,
quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VD},
> > +    {"divx_packed", "divx style packed b frames",
offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1,
VD},
> >      {NULL}
>
> These are not options for the user to set, they are not supposed to be
> in the "ffmpeg -h decoder=mpeg4" listing
>
>
What's the reason
to
use the mpeg4_option for quarter_sample/divx_packed,  just want to
initialize them?
Michael Niedermayer Aug. 15, 2018, 10:16 p.m.
On Wed, Aug 15, 2018 at 08:44:31AM +0800, mypopy@gmail.com wrote:
> On Tue, Aug 14, 2018 at 11:39 PM Michael Niedermayer <michael@niedermayer.cc>
> wrote:
> >
> > On Mon, Aug 13, 2018 at 09:51:47PM +0800, Jun Zhao wrote:
> > > fix can't dump the mpeg4videodec option with the command
> > > "ffmpeg -h decoder=mpeg4".
> > >
> > > Signed-off-by: Jun Zhao <mypopydev@gmail.com>
> > > ---
> > >  libavcodec/mpeg4videodec.c |    5 +++--
> > >  1 files changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
> > > index 24c280d..549b7a5 100644
> > > --- a/libavcodec/mpeg4videodec.c
> > > +++ b/libavcodec/mpeg4videodec.c
> > > @@ -3435,9 +3435,10 @@ static av_cold int decode_end(AVCodecContext
> *avctx)
> > >      return ff_h263_decode_end(avctx, just );
> > >  }
> > >
> > > +#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
> > >  static const AVOption mpeg4_options[] = {
> > > -    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext,
> quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0},
> > > -    {"divx_packed", "divx style packed b frames",
> offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1,
> 0},
> > > +    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext,
> quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VD},
> > > +    {"divx_packed", "divx style packed b frames",
> offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1,
> VD},
> > >      {NULL}
> >
> > These are not options for the user to set, they are not supposed to be
> > in the "ffmpeg -h decoder=mpeg4" listing
> >
> >
> What's the reason
> to
> use the mpeg4_option for quarter_sample/divx_packed,  just want to
> initialize them?

They are there so the user application can access (read) their values cleanly

[...]
mypopy@gmail.com Aug. 16, 2018, 12:27 a.m.
On Thu, Aug 16, 2018 at 6:16 AM Michael Niedermayer
<michael@niedermayer.cc> wrote:
>
> On Wed, Aug 15, 2018 at 08:44:31AM +0800, mypopy@gmail.com wrote:
> > On Tue, Aug 14, 2018 at 11:39 PM Michael Niedermayer <michael@niedermayer.cc>
> > wrote:
> > >
> > > On Mon, Aug 13, 2018 at 09:51:47PM +0800, Jun Zhao wrote:
> > > > fix can't dump the mpeg4videodec option with the command
> > > > "ffmpeg -h decoder=mpeg4".
> > > >
> > > > Signed-off-by: Jun Zhao <mypopydev@gmail.com>
> > > > ---
> > > >  libavcodec/mpeg4videodec.c |    5 +++--
> > > >  1 files changed, 3 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
> > > > index 24c280d..549b7a5 100644
> > > > --- a/libavcodec/mpeg4videodec.c
> > > > +++ b/libavcodec/mpeg4videodec.c
> > > > @@ -3435,9 +3435,10 @@ static av_cold int decode_end(AVCodecContext
> > *avctx)
> > > >      return ff_h263_decode_end(avctx, just );
> > > >  }
> > > >
> > > > +#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
> > > >  static const AVOption mpeg4_options[] = {
> > > > -    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext,
> > quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0},
> > > > -    {"divx_packed", "divx style packed b frames",
> > offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1,
> > 0},
> > > > +    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext,
> > quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VD},
> > > > +    {"divx_packed", "divx style packed b frames",
> > offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1,
> > VD},
> > > >      {NULL}
> > >
> > > These are not options for the user to set, they are not supposed to be
> > > in the "ffmpeg -h decoder=mpeg4" listing
> > >
> > >
> > What's the reason
> > to
> > use the mpeg4_option for quarter_sample/divx_packed,  just want to
> > initialize them?
>
> They are there so the user application can access (read) their values cleanly
>
I see, thanks the clarification..
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlt0pjoACgkQYR7HhwQLD6ucqACfZCPlr+yUPWBIvlke+r7MLAWB
QawAn0DroTpGBXHjBNE5SO15bWknIy72
=IxqQ
-----END PGP SIGNATURE-----

Patch hide | download patch | download mbox

diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index 24c280d..549b7a5 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -3435,9 +3435,10 @@  static av_cold int decode_end(AVCodecContext *avctx)
     return ff_h263_decode_end(avctx);
 }
 
+#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
 static const AVOption mpeg4_options[] = {
-    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext, quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0},
-    {"divx_packed", "divx style packed b frames", offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 0},
+    {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext, quarter_sample), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VD},
+    {"divx_packed", "divx style packed b frames", offsetof(MpegEncContext, divx_packed), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VD},
     {NULL}
 };