Browse Source

Electronic Arts demuxer: support Madcow video tag

Originally committed as revision 19179 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Peter Ross 16 years ago
parent
commit
eacfe8581d
1 changed files with 9 additions and 0 deletions
  1. +9
    -0
      libavformat/electronicarts.c

+ 9
- 0
libavformat/electronicarts.c View File

@@ -47,6 +47,8 @@
#define fVGT_TAG MKTAG('f', 'V', 'G', 'T') /* TGV p-frame */ #define fVGT_TAG MKTAG('f', 'V', 'G', 'T') /* TGV p-frame */
#define mTCD_TAG MKTAG('m', 'T', 'C', 'D') /* MDEC */ #define mTCD_TAG MKTAG('m', 'T', 'C', 'D') /* MDEC */
#define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD i-frame */ #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 MPCh_TAG MKTAG('M', 'P', 'C', 'h') /* MPEG2 */
#define TGQs_TAG MKTAG('T', 'G', 'Q', 's') /* TGQ i-frame (appears in .TGQ files) */ #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) */ #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; ea->video_codec = CODEC_ID_TQI;
break; break;


case MADk_TAG :
ea->video_codec = CODEC_ID_MAD;
break;

case MVhd_TAG : case MVhd_TAG :
err = process_video_header_vp6(s); err = process_video_header_vp6(s);
break; break;
@@ -508,9 +514,12 @@ static int ea_read_packet(AVFormatContext *s,
case kVGT_TAG: case kVGT_TAG:
case pQGT_TAG: case pQGT_TAG:
case TGQs_TAG: case TGQs_TAG:
case MADk_TAG:
key = PKT_FLAG_KEY; key = PKT_FLAG_KEY;
case MVIf_TAG: case MVIf_TAG:
case fVGT_TAG: case fVGT_TAG:
case MADm_TAG:
case MADe_TAG:
url_fseek(pb, -8, SEEK_CUR); // include chunk preamble url_fseek(pb, -8, SEEK_CUR); // include chunk preamble
chunk_size += 8; chunk_size += 8;
goto get_video_packet; goto get_video_packet;


Loading…
Cancel
Save