aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-03-11 14:59:51 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-03-11 15:00:52 +0100
commit3efbbbb5094a146efeb1f0613918ea97d31d00d2 (patch)
tree5801f0fc784c2f00e0d8f70f0d3543e562fe5fb2
parent2800e8d62e4c6cdd8a7e218cb15a10f216946f18 (diff)
parent35d7d6f7489c75aaa2fcb39820fb25b0fd44524b (diff)
downloadffmpeg-3efbbbb5094a146efeb1f0613918ea97d31d00d2.tar.gz
Merge remote-tracking branch 'remotes/newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/avcodec.h8
-rw-r--r--libavcodec/mpeg12.c13
-rw-r--r--libavformat/isom.c5
3 files changed, 24 insertions, 2 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index a60de9cae6..3e85567982 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -2286,6 +2286,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
@@ -2298,6 +2299,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
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 */