diff options
author | Limin Wang <lance.lmwang@gmail.com> | 2020-05-30 21:25:32 +0800 |
---|---|---|
committer | Limin Wang <lance.lmwang@gmail.com> | 2020-06-01 07:05:32 +0800 |
commit | dd76226842f268c7f85a125da1834e3af2413be4 (patch) | |
tree | 0d59f4c52a8f7354961057049564a60644404bef | |
parent | b8d6d9376c4745de3b85c6a2a1faf7a0e0a19879 (diff) | |
download | ffmpeg-dd76226842f268c7f85a125da1834e3af2413be4.tar.gz |
avcodec/mpeg12enc: support mpeg2 encoder const profile
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
-rw-r--r-- | doc/encoders.texi | 14 | ||||
-rw-r--r-- | libavcodec/mpeg12enc.c | 2 | ||||
-rw-r--r-- | libavcodec/profiles.h | 8 |
3 files changed, 24 insertions, 0 deletions
diff --git a/doc/encoders.texi b/doc/encoders.texi index 954f0f6fe3..1331b79458 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 cab7076a58..9fbbcef607 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 e414ea77a7..d2419257dc 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[]; |