[vlc-devel] [PATCH 1/6] avcodec: map Wing commander IV Xxan video

Daniel Verkamp daniel at drv.nu
Sat Jan 11 02:00:17 CET 2014


Sample: http://samples.mplayerhq.hu/game-formats/wc4-xan/wc4trailer.avi

Audio does not work for this sample; it is recognized as raw PCM instead
of the special Xan DPCM codec (the avformat AVI demuxer has a special
case for recognizing this audio codec that is not in the native VLC AVI
demux).
---
 include/vlc_fourcc.h           | 1 +
 modules/codec/avcodec/fourcc.c | 2 +-
 src/misc/fourcc.c              | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h
index 59caac5..dc6752e 100644
--- a/include/vlc_fourcc.h
+++ b/include/vlc_fourcc.h
@@ -139,6 +139,7 @@
 #define VLC_CODEC_BINKVIDEO       VLC_FOURCC('B','I','K','f')
 #define VLC_CODEC_BINKAUDIO_DCT   VLC_FOURCC('B','A','U','1')
 #define VLC_CODEC_BINKAUDIO_RDFT  VLC_FOURCC('B','A','U','2')
+#define VLC_CODEC_XAN_WC4         VLC_FOURCC('X','x','a','n')
 
 /* Planar YUV 4:1:0 Y:V:U */
 #define VLC_CODEC_YV9             VLC_FOURCC('Y','V','U','9')
diff --git a/modules/codec/avcodec/fourcc.c b/modules/codec/avcodec/fourcc.c
index 2afdfa5..3107d82 100644
--- a/modules/codec/avcodec/fourcc.c
+++ b/modules/codec/avcodec/fourcc.c
@@ -92,7 +92,7 @@ static const struct
     { VLC_CODEC_ROQ, AV_CODEC_ID_ROQ, VIDEO_ES },
     { VLC_CODEC_INTERPLAY, AV_CODEC_ID_INTERPLAY_VIDEO, VIDEO_ES },
     /* AV_CODEC_ID_XAN_WC3 */
-    /* AV_CODEC_ID_XAN_WC4 */
+    { VLC_CODEC_XAN_WC4, AV_CODEC_ID_XAN_WC4, VIDEO_ES },
     { VLC_CODEC_RPZA, AV_CODEC_ID_RPZA, VIDEO_ES },
     { VLC_CODEC_CINEPAK, AV_CODEC_ID_CINEPAK, VIDEO_ES },
     /* AV_CODEC_ID_WS_VQA */
diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c
index 91c0071..5497de5 100644
--- a/src/misc/fourcc.c
+++ b/src/misc/fourcc.c
@@ -999,6 +999,9 @@ static const staticentry_t p_list_video[] = {
     B(VLC_CODEC_MTS2, "Microsoft Expression Encoder Screen"),
         A("MTS2"),
 
+    B(VLC_CODEC_XAN_WC4, "Wing Commander IV Xan video"),
+        A("Xxan"),
+
     B(0, "")
 };
 static const staticentry_t p_list_audio[] = {
-- 
1.8.5.2




More information about the vlc-devel mailing list