On Sat, 30 May 2020, lance.lmw...@gmail.com wrote:

From: Limin Wang <lance.lmw...@gmail.com>

Signed-off-by: Limin Wang <lance.lmw...@gmail.com>
---
doc/encoders.texi      | 14 ++++++++++++++
libavcodec/mpeg12enc.c |  2 ++
libavcodec/profiles.h  |  8 ++++++++
3 files changed, 24 insertions(+)

diff --git a/doc/encoders.texi b/doc/encoders.texi
index 954f0f6..1331b79 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -2740,6 +2740,20 @@ MPEG-2 video encoder.
@subsection Options

@table @option
+@item profile @var{integer}
+Select the mpeg2 profile to encode:
+
+@table @samp
+@item 422
+@item main
+@item ss
+Spatially Scalable
+@item snr
+SNR Scalable
+@item high
+@item simple
+@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 cab7076..9fbbcef 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -41,6 +41,7 @@
#include "mpeg12data.h"
#include "mpegutils.h"
#include "mpegvideo.h"
+#include "profiles.h"

static const uint8_t svcd_scan_offset_placeholder[] = {
    0x10, 0x0E, 0x00, 0x80, 0x81, 0x00, 0x80,
@@ -1167,6 +1168,7 @@ static const AVOption mpeg2_options[] = {
    {     "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" },
    FF_MPV_COMMON_OPTS
+    FF_MPEG2_PROFILE_OPTS
    { NULL },
};

diff --git a/libavcodec/profiles.h b/libavcodec/profiles.h
index e414ea7..d241925 100644
--- a/libavcodec/profiles.h
+++ b/libavcodec/profiles.h
@@ -43,6 +43,14 @@
    FF_AVCTX_PROFILE_OPTION("mpeg4_main",    NULL, VIDEO, 
FF_PROFILE_MPEG4_MAIN)\
    FF_AVCTX_PROFILE_OPTION("mpeg4_asp",     NULL, VIDEO, 
FF_PROFILE_MPEG4_ADVANCED_SIMPLE)\

+#define FF_MPEG2_PROFILE_OPTS \
+    FF_AVCTX_PROFILE_OPTION("422",           NULL, VIDEO, 
FF_PROFILE_MPEG2_422)\
+    FF_AVCTX_PROFILE_OPTION("high",          NULL, VIDEO, 
FF_PROFILE_MPEG2_HIGH)\
+    FF_AVCTX_PROFILE_OPTION("ss",            NULL, VIDEO, FF_PROFILE_MPEG2_SS)\
+    FF_AVCTX_PROFILE_OPTION("snr",           NULL, VIDEO, 
FF_PROFILE_MPEG2_SNR_SCALABLE)\
+    FF_AVCTX_PROFILE_OPTION("main",          NULL, VIDEO, 
FF_PROFILE_MPEG2_MAIN)\
+    FF_AVCTX_PROFILE_OPTION("simple",        NULL, VIDEO, 
FF_PROFILE_MPEG2_SIMPLE)\
+
extern const AVProfile ff_aac_profiles[];
extern const AVProfile ff_dca_profiles[];
extern const AVProfile ff_dnxhd_profiles[];
--

LGTM, thanks.

Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to