[FFmpeg-devel] [PATCH] Export profiles from the mpeg2 video decoder
banan at ludd.ltu.se
banan
Thu Mar 10 11:29:56 CET 2011
From: Benjamin Larsson <benjamin at southpole.se>
---
libavcodec/avcodec.h | 8 ++++++++
libavcodec/mpeg12.c | 13 +++++++++++++
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index c64f375..1a6a8a2 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -2280,6 +2280,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
@@ -2292,6 +2293,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 479e38f..bbc9c0b 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -2473,6 +2473,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,
@@ -2501,6 +2513,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
--
1.7.1
More information about the ffmpeg-devel
mailing list