From aecd0a44962a6531340d1439be094c577d711014 Mon Sep 17 00:00:00 2001 From: Benjamin Larsson Date: Thu, 10 Mar 2011 11:29:56 +0100 Subject: [PATCH 1/2] Export profiles from the mpeg2 video decoder Signed-off-by: Ronald S. Bultje --- libavcodec/avcodec.h | 8 ++++++++ libavcodec/mpeg12.c | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 3eedcf9463..d323e6635e 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2277,6 +2277,7 @@ typedef struct AVCodecContext { */ int profile; #define FF_PROFILE_UNKNOWN -99 +#define FF_PROFILE_RESERVED -100 #define FF_PROFILE_AAC_MAIN 0 #define FF_PROFILE_AAC_LOW 1 @@ -2289,6 +2290,13 @@ typedef struct AVCodecContext { #define FF_PROFILE_DTS_HD_HRA 50 #define FF_PROFILE_DTS_HD_MA 60 +#define FF_PROFILE_MPEG2_422 0 +#define FF_PROFILE_MPEG2_HIGH 1 +#define FF_PROFILE_MPEG2_SS 2 +#define FF_PROFILE_MPEG2_SNR_SCALABLE 3 +#define FF_PROFILE_MPEG2_MAIN 4 +#define FF_PROFILE_MPEG2_SIMPLE 5 + #define FF_PROFILE_H264_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag #define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index 3c73627eeb..e33f597ce7 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -2471,6 +2471,18 @@ static int mpeg_decode_end(AVCodecContext *avctx) return 0; } +static const AVProfile mpeg2_video_profiles[] = { + { FF_PROFILE_MPEG2_422, "4:2:2" }, + { FF_PROFILE_MPEG2_HIGH, "High" }, + { FF_PROFILE_MPEG2_SS, "Spatially Scalable" }, + { FF_PROFILE_MPEG2_SNR_SCALABLE, "SNR Scalable" }, + { FF_PROFILE_MPEG2_MAIN, "Main" }, + { FF_PROFILE_MPEG2_SIMPLE, "Simple" }, + { FF_PROFILE_RESERVED, "Reserved" }, + { FF_PROFILE_RESERVED, "Reserved" }, +}; + + AVCodec ff_mpeg1video_decoder = { "mpeg1video", AVMEDIA_TYPE_VIDEO, @@ -2499,6 +2511,7 @@ AVCodec ff_mpeg2video_decoder = { .flush= flush, .max_lowres= 3, .long_name= NULL_IF_CONFIG_SMALL("MPEG-2 video"), + .profiles = NULL_IF_CONFIG_SMALL(mpeg2_video_profiles), }; //legacy decoder From 35d7d6f7489c75aaa2fcb39820fb25b0fd44524b Mon Sep 17 00:00:00 2001 From: Benjamin Larsson Date: Wed, 9 Mar 2011 10:55:20 +0100 Subject: [PATCH 2/2] Add one more avc intra fourcc and extend the description Signed-off-by: Ronald S. Bultje --- libavformat/isom.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavformat/isom.c b/libavformat/isom.c index 3a0d34874d..3576094ee8 100644 --- a/libavformat/isom.c +++ b/libavformat/isom.c @@ -134,10 +134,11 @@ const AVCodecTag codec_movvideo_tags[] = { { CODEC_ID_RAWVIDEO, MKTAG('W', 'R', 'A', 'W') }, { CODEC_ID_H264, MKTAG('a', 'v', 'c', '1') }, /* AVC-1/H.264 */ - { CODEC_ID_H264, MKTAG('a', 'i', '5', '5') }, /* AVC Intra 50 / 1080 */ + { CODEC_ID_H264, MKTAG('a', 'i', '5', '5') }, /* AVC Intra 50 / 1080 interlace */ { CODEC_ID_H264, MKTAG('a', 'i', '5', 'q') }, /* AVC Intra 50 / 720 */ - { CODEC_ID_H264, MKTAG('a', 'i', '1', '5') }, /* AVC Intra 100 / 1080 */ + { CODEC_ID_H264, MKTAG('a', 'i', '1', '5') }, /* AVC Intra 100 / 1080 interlace */ { CODEC_ID_H264, MKTAG('a', 'i', '1', 'q') }, /* AVC Intra 100 / 720 */ + { CODEC_ID_H264, MKTAG('a', 'i', '1', '2') }, /* AVC Intra 100 / 1080 */ { CODEC_ID_MPEG1VIDEO, MKTAG('m', '1', 'v', '1') }, /* Apple MPEG-1 Camcorder */ { CODEC_ID_MPEG1VIDEO, MKTAG('m', 'p', 'e', 'g') }, /* MPEG */