summaryrefslogtreecommitdiff
path: root/libavformat/electronicarts.c
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2009-06-13 02:20:54 +0000
committerPeter Ross <pross@xvid.org>2009-06-13 02:20:54 +0000
commiteacfe8581d44b3eff13cf681be55f816118718e8 (patch)
tree81ff5b70d4fcd43763eab81827eb710f96da4322 /libavformat/electronicarts.c
parentc63ea92bf2970fbf39728e4b1de6bab940d02b38 (diff)
Electronic Arts demuxer: support Madcow video tag
Originally committed as revision 19179 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/electronicarts.c')
-rw-r--r--libavformat/electronicarts.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c
index c680e49435..9f82e623f2 100644
--- a/libavformat/electronicarts.c
+++ b/libavformat/electronicarts.c
@@ -47,6 +47,8 @@
#define fVGT_TAG MKTAG('f', 'V', 'G', 'T') /* TGV p-frame */
#define mTCD_TAG MKTAG('m', 'T', 'C', 'D') /* MDEC */
#define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD i-frame */
+#define MADm_TAG MKTAG('M', 'A', 'D', 'm') /* MAD p-frame */
+#define MADe_TAG MKTAG('M', 'A', 'D', 'e') /* MAD lqp-frame */
#define MPCh_TAG MKTAG('M', 'P', 'C', 'h') /* MPEG2 */
#define TGQs_TAG MKTAG('T', 'G', 'Q', 's') /* TGQ i-frame (appears in .TGQ files) */
#define pQGT_TAG MKTAG('p', 'Q', 'G', 'T') /* TGQ i-frame (appears in .UV files) */
@@ -352,6 +354,10 @@ static int process_ea_header(AVFormatContext *s) {
ea->video_codec = CODEC_ID_TQI;
break;
+ case MADk_TAG :
+ ea->video_codec = CODEC_ID_MAD;
+ break;
+
case MVhd_TAG :
err = process_video_header_vp6(s);
break;
@@ -508,9 +514,12 @@ static int ea_read_packet(AVFormatContext *s,
case kVGT_TAG:
case pQGT_TAG:
case TGQs_TAG:
+ case MADk_TAG:
key = PKT_FLAG_KEY;
case MVIf_TAG:
case fVGT_TAG:
+ case MADm_TAG:
+ case MADe_TAG:
url_fseek(pb, -8, SEEK_CUR); // include chunk preamble
chunk_size += 8;
goto get_video_packet;