Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n0.8
| @@ -2286,6 +2286,7 @@ typedef struct AVCodecContext { | |||||
| */ | */ | ||||
| int profile; | int profile; | ||||
| #define FF_PROFILE_UNKNOWN -99 | #define FF_PROFILE_UNKNOWN -99 | ||||
| #define FF_PROFILE_RESERVED -100 | |||||
| #define FF_PROFILE_AAC_MAIN 0 | #define FF_PROFILE_AAC_MAIN 0 | ||||
| #define FF_PROFILE_AAC_LOW 1 | #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_HRA 50 | ||||
| #define FF_PROFILE_DTS_HD_MA 60 | #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_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag | ||||
| #define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag | #define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag | ||||
| @@ -2471,6 +2471,18 @@ static int mpeg_decode_end(AVCodecContext *avctx) | |||||
| return 0; | 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 = { | AVCodec ff_mpeg1video_decoder = { | ||||
| "mpeg1video", | "mpeg1video", | ||||
| AVMEDIA_TYPE_VIDEO, | AVMEDIA_TYPE_VIDEO, | ||||
| @@ -2499,6 +2511,7 @@ AVCodec ff_mpeg2video_decoder = { | |||||
| .flush= flush, | .flush= flush, | ||||
| .max_lowres= 3, | .max_lowres= 3, | ||||
| .long_name= NULL_IF_CONFIG_SMALL("MPEG-2 video"), | .long_name= NULL_IF_CONFIG_SMALL("MPEG-2 video"), | ||||
| .profiles = NULL_IF_CONFIG_SMALL(mpeg2_video_profiles), | |||||
| }; | }; | ||||
| //legacy decoder | //legacy decoder | ||||
| @@ -134,10 +134,11 @@ const AVCodecTag codec_movvideo_tags[] = { | |||||
| { CODEC_ID_RAWVIDEO, MKTAG('W', 'R', 'A', 'W') }, | { 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', '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', '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', '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', '1', 'v', '1') }, /* Apple MPEG-1 Camcorder */ | ||||
| { CODEC_ID_MPEG1VIDEO, MKTAG('m', 'p', 'e', 'g') }, /* MPEG */ | { CODEC_ID_MPEG1VIDEO, MKTAG('m', 'p', 'e', 'g') }, /* MPEG */ | ||||