summaryrefslogtreecommitdiff
path: root/libavformat/electronicarts.c
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2008-08-06 08:34:35 +0000
committerPeter Ross <pross@xvid.org>2008-08-06 08:34:35 +0000
commitbbf020e9773fc847b00fbbb499fb30aab848f35e (patch)
tree1600c6eac963d8902ffd498f2739b96bee097dab /libavformat/electronicarts.c
parentcfc78718f3581558343cde84f84e4574cbff5691 (diff)
Add Electronic Arts TGV chunk tags to EA demuxer.
Originally committed as revision 14643 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/electronicarts.c')
-rw-r--r--libavformat/electronicarts.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c
index 6b2ced265b..f968ee29d1 100644
--- a/libavformat/electronicarts.c
+++ b/libavformat/electronicarts.c
@@ -40,6 +40,7 @@
#define SCDl_TAG MKTAG('S', 'C', 'D', 'l')
#define SCEl_TAG MKTAG('S', 'C', 'E', 'l')
#define kVGT_TAG MKTAG('k', 'V', 'G', 'T') /* TGV i-frame */
+#define fVGT_TAG MKTAG('f', 'V', 'G', 'T') /* TGV p-frame */
#define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD i-frame */
#define MPCh_TAG MKTAG('M', 'P', 'C', 'h') /* MPEG2 */
#define MVhd_TAG MKTAG('M', 'V', 'h', 'd')
@@ -307,6 +308,11 @@ static int process_ea_header(AVFormatContext *s) {
ea->time_base = (AVRational){0,0};
break;
+ case kVGT_TAG:
+ ea->video_codec = CODEC_ID_TGV;
+ ea->time_base = (AVRational){0,0};
+ break;
+
case MVhd_TAG :
err = process_video_header_vp6(s);
break;
@@ -450,8 +456,10 @@ static int ea_read_packet(AVFormatContext *s,
break;
case MVIh_TAG:
+ case kVGT_TAG:
key = PKT_FLAG_KEY;
case MVIf_TAG:
+ case fVGT_TAG:
url_fseek(pb, -8, SEEK_CUR); // include chunk preamble
chunk_size += 8;
goto get_video_packet;