[FFmpeg-devel] [PATCH] avcodec/mpeg12enc: support mpeg2 encoder const level

lance.lmwang at gmail.com lance.lmwang at gmail.com
Tue Aug 11 19:14:37 EEST 2020


On Tue, Aug 11, 2020 at 05:43:24PM +0200, Paul B Mahol wrote:
> On 8/11/20, lance.lmwang at gmail.com <lance.lmwang at gmail.com> wrote:
> > On Sun, Aug 02, 2020 at 09:07:04PM +0800, lance.lmwang at gmail.com wrote:
> >> From: Limin Wang <lance.lmwang at gmail.com>
> >>
> >> Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> >> ---
> >>  doc/encoders.texi      | 10 ++++++++++
> >>  libavcodec/mpeg12enc.c |  6 ++++++
> >>  2 files changed, 16 insertions(+)
> >>
> >> diff --git a/doc/encoders.texi b/doc/encoders.texi
> >> index de0472e..13aa5de 100644
> >> --- a/doc/encoders.texi
> >> +++ b/doc/encoders.texi
> >> @@ -2902,6 +2902,16 @@ SNR Scalable
> >>  @item simple
> >>  @end table
> >>
> >> + at item level
> >> +Select the mpeg2 level to encode:
> >> +
> >> + at table @samp
> >> + at item high
> >> + at item high1440
> >> + at item main
> >> + at item low
> >> + at end table
> >> +
> >>  @item seq_disp_ext @var{integer}
> >>  Specifies if the encoder should write a sequence_display_extension to the
> >>  output.
> >> diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
> >> index 9fbbcef..f246427 100644
> >> --- a/libavcodec/mpeg12enc.c
> >> +++ b/libavcodec/mpeg12enc.c
> >> @@ -1167,6 +1167,12 @@ static const AVOption mpeg2_options[] = {
> >>      {     "secam",        NULL, 0, AV_OPT_TYPE_CONST,  {.i64 =
> >> VIDEO_FORMAT_SECAM      },  0, 0, VE, "video_format" },
> >>      {     "mac",          NULL, 0, AV_OPT_TYPE_CONST,  {.i64 =
> >> VIDEO_FORMAT_MAC        },  0, 0, VE, "video_format" },
> >>      {     "unspecified",  NULL, 0, AV_OPT_TYPE_CONST,  {.i64 =
> >> VIDEO_FORMAT_UNSPECIFIED},  0, 0, VE, "video_format" },
> >> +#define LEVEL(name, value) name, NULL, 0, AV_OPT_TYPE_CONST, { .i64 =
> >> value }, 0, 0, VE, "avctx.level"
> >> +    { LEVEL("high",     4) },
> >> +    { LEVEL("high1440", 6) },
> >> +    { LEVEL("main",     8) },
> >> +    { LEVEL("low",     10) },
> >> +#undef LEVEL
> >>      FF_MPV_COMMON_OPTS
> >>      FF_MPEG2_PROFILE_OPTS
> >>      { NULL },
> >> --
> >> 1.8.3.1
> >>
> >
> > will apply tomorrow if no objection.
> 
> Is this actually correct at all?
It's just add const string for level so that user don't look for what's the
level for the actual integer. If don't add const low level, user can input 10
for low still.
> 
> Our encoder supports all levels?

I don't think so. Now it'll be sured to set the level field correctly only.


> 
> >
> > --
> > Thanks,
> > Limin Wang
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".

-- 
Thanks,
Limin Wang


More information about the ffmpeg-devel mailing list