[MPlayer-cvslog] r37576 - in trunk: etc/codecs.conf libmpdemux/aviheader.c libmpdemux/mp_taglists.c

rtogni subversion at mplayerhq.hu
Wed Dec 30 18:12:29 CET 2015


Author: rtogni
Date: Wed Dec 30 18:12:29 2015
New Revision: 37576

Log:
Add support for audio codecs:
AICA ADPCM (untested)
EA ADPCM XAS (untested)
PSX ADPCM (untested)
Sound Blaster Pro ADPCM 2,3,4 bits
DSD lsbf and msbf, normal and planar (only msbf tested)
DSS Standard Play
Interplay acm (untested)
Zork PCM
Xbox media audio 1 (untested) and 2

Modified:
   trunk/etc/codecs.conf
   trunk/libmpdemux/aviheader.c
   trunk/libmpdemux/mp_taglists.c

Modified: trunk/etc/codecs.conf
==============================================================================
--- trunk/etc/codecs.conf	Tue Dec 29 19:48:48 2015	(r37575)
+++ trunk/etc/codecs.conf	Wed Dec 30 18:12:29 2015	(r37576)
@@ -4929,6 +4929,14 @@ audiocodec imaadpcm
   format 0x1100736d ; "ms\x00\x11" (MOV files)
   driver imaadpcm
 
+audiocodec ffzorkpcm
+  info "FFmpeg PCM Zork audio"
+  status working
+;  format 0x11 ; original format in avi file, conflicts with ima adpcm
+  format 0x116b727a ; 'zrk'0x11, Mplayer internal
+  driver ffmpeg
+  dll pcm_zork
+
 audiocodec ffadpcmms
   info "FFmpeg MS ADPCM audio"
   status working
@@ -4959,6 +4967,13 @@ audiocodec ffadpcmafc
   driver ffmpeg
   dll adpcm_afc
 
+audiocodec ffadpcmaica
+  info "FFmpeg ADPCM Yamaha AICA"
+  status working
+  fourcc "AICA" ; internal MPlayer FourCC
+  driver ffmpeg
+  dll adpcm_aica
+
 audiocodec ffadpcmdtk
   info "FFmpeg ADPCM Nintendo Gamecube DTK"
   status working
@@ -5101,6 +5116,13 @@ audiocodec ffwssnd1
   driver ffmpeg
   dll ws_snd1
 
+audiocodec ffinterplayacm
+  info "FFmpeg Interplay ACM audio"
+  status working
+  format 0x97280301 ; internal MPlayer FourCC
+  driver ffmpeg
+  dll interplay_acm
+
 audiocodec ffinterplaydpcm
   info "FFmpeg Interplay DPCM audio"
   status working
@@ -5136,6 +5158,13 @@ audiocodec ffadpcmear3
   driver ffmpeg
   dll adpcm_ea_r3
 
+audiocodec ffadpcmeaxas
+  info "FFmpeg ADPCM Electronic Arts XAS"
+  status working
+  fourcc EXAS ; internal MPlayer FourCC
+  driver ffmpeg
+  dll adpcm_ea_xas
+
 audiocodec ffadpcmeamaxis
   info "FFmpeg EA MAXIS XA ADPCM audio"
   status working
@@ -5143,6 +5172,13 @@ audiocodec ffadpcmeamaxis
   driver ffmpeg
   dll adpcm_ea_maxis_xa
 
+audiocodec ffadpcmpsx
+  info "FFmpeg FFmpeg ADPCM Playstation"
+  status working
+  fourcc APSX ; internal MPlayer FourCC
+  driver ffmpeg
+  dll adpcm_psx
+
 audiocodec ffadpcmxa
   info "FFmpeg XA ADPCM audio"
   status working
@@ -5421,6 +5457,20 @@ audiocodec ffwmavoice
   driver ffmpeg
   dll "wmavoice"
 
+audiocodec ffxma1
+  info "Xbox Media Audio 1 (FFmpeg)"
+  status working
+  format 0x165
+  driver ffmpeg
+  dll xma1
+
+audiocodec ffxma2
+  info "Xbox Media Audio 2 (FFmpeg)"
+  status working
+  format 0x166
+  driver ffmpeg
+  dll xma2
+
 audiocodec ffmac3
   info "Macintosh Audio Compression and Expansion 3:1"
   status untested
@@ -5748,6 +5798,37 @@ audiocodec musepack
   format 0x2b4d
   driver mpcdec
 
+audiocodec ffdsdlsbf
+  info "FFmpeg DSD (Direct Stream Digital), lsbit first"
+  comment "Does it exist?"
+  status  working
+  fourcc DSDl ; MPlayer internal
+  driver ffmpeg
+  dll dsd_lsbf
+
+audiocodec ffdsdlsbfp
+  info "FFmpeg DSD (Direct Stream Digital), lsbit first, planar"
+  comment "in DSF files"
+  status  working
+  fourcc DSFl ; MPlayer internal
+  driver ffmpeg
+  dll dsd_lsbf_planar
+
+audiocodec ffdsdmsbf
+  info "FFmpeg DSD (Direct Stream Digital), msbit first"
+  status  working
+  fourcc "DSD "
+  driver ffmpeg
+  dll dsd_msbf
+
+audiocodec ffdsdmsbfp
+  info "FFmpeg DSD (Direct Stream Digital), msbit first, planar"
+  comment "in DSF files"
+  status  working
+  fourcc DSFm ; MPlayer internal
+  driver ffmpeg
+  dll dsd_lsbf_planar
+
 audiocodec ffamrnb
   info "AMR Narrowband"
   status working
@@ -5872,6 +5953,27 @@ audiocodec iac25
   driver acm
   dll "iac25_32.ax"
 
+audiocodec ffadpcmsbpro2
+  info "FFmpeg ADPCM Sound Blaster Pro 2-bit"
+  status working
+  format 0x3253 ; 'S2', pseudo id, MPlayer internal
+  driver ffmpeg
+  dll adpcm_sbpro_2
+
+audiocodec ffadpcmsbpro3
+  info "FFmpeg ADPCM Sound Blaster Pro 2.6-bit"
+  status working
+  format 0x3353 ; 'S3', pseudo id, MPlayer internal
+  driver ffmpeg
+  dll adpcm_sbpro_3
+
+audiocodec ffadpcmsbpro4
+  info "FFmpeg ADPCM Sound Blaster Pro 4-bit"
+  status working
+  format 0x3453 ; 'S4', pseudo id, MPlayer internal
+  driver ffmpeg
+  dll adpcm_sbpro_4
+
 audiocodec ffctadp32
   info "FFmpeg Creative ADPCM codec"
   status working
@@ -5894,6 +5996,13 @@ audiocodec ctfs32
   driver acm
   dll "ctfs32.acm"
 
+audiocodec ffdsssp
+  info "FFmpeg Digital Speech Standars - Standard Play  mode (DSS_SP)"
+  status working
+  fourcc DSSs ; MPlayer internal
+  driver ffmpeg
+  dll dss_sp
+
 audiocodec sc4
   info "SC4 : Micronas speech codec (ADPCM, MPman recording)"
   status working

Modified: trunk/libmpdemux/aviheader.c
==============================================================================
--- trunk/libmpdemux/aviheader.c	Tue Dec 29 19:48:48 2015	(r37575)
+++ trunk/libmpdemux/aviheader.c	Wed Dec 30 18:12:29 2015	(r37576)
@@ -341,6 +341,8 @@ while(1){
 	if (sh_audio->format == 1 &&
 	    last_fccHandler == mmioFOURCC('A', 'x', 'a', 'n'))
 	    sh_audio->format = last_fccHandler;
+	if (sh_audio->format == 0x11 && sh_audio->wf->wBitsPerSample == 8)
+	    sh_audio->format = 0x116b727a; // Zork PCM, format conflicts with IMA ADPCM
 	sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
         chunksize=0;
         if( mp_msg_test(MSGT_HEADER,MSGL_V) ) print_wave_header(sh_audio->wf,MSGL_V);

Modified: trunk/libmpdemux/mp_taglists.c
==============================================================================
--- trunk/libmpdemux/mp_taglists.c	Tue Dec 29 19:48:48 2015	(r37575)
+++ trunk/libmpdemux/mp_taglists.c	Wed Dec 30 18:12:29 2015	(r37576)
@@ -34,6 +34,7 @@ struct AVCodecTag {
 static const struct AVCodecTag mp_wav_tags[] = {
     { AV_CODEC_ID_ADPCM_4XM,         MKTAG('4', 'X', 'M', 'A') },
     { AV_CODEC_ID_ADPCM_ADX,         MKTAG('S', 'a', 'd', 'x') },
+    { AV_CODEC_ID_ADPCM_AICA,        MKTAG('A', 'I', 'C', 'A') },
 #if LIBAVUTIL_VERSION_MICRO >= 100
     { AV_CODEC_ID_ADPCM_AFC,         MKTAG('A', 'F', 'C', ' ') },
     { AV_CODEC_ID_ADPCM_DTK,         MKTAG('D', 'T', 'K', ' ') },
@@ -43,10 +44,14 @@ static const struct AVCodecTag mp_wav_ta
     { AV_CODEC_ID_ADPCM_EA_R1,       MKTAG('E', 'A', 'R', '1') },
     { AV_CODEC_ID_ADPCM_EA_R2,       MKTAG('E', 'A', 'R', '2') },
     { AV_CODEC_ID_ADPCM_EA_R3,       MKTAG('E', 'A', 'R', '3') },
+    { AV_CODEC_ID_ADPCM_EA_XAS,      MKTAG('E', 'X', 'A', 'S') },
     { AV_CODEC_ID_ADPCM_EA_MAXIS_XA, MKTAG('A', 'D', 'X', 'A') },
     { AV_CODEC_ID_ADPCM_IMA_EA_EACS, MKTAG('E', 'A', 'C', 'S') },
     { AV_CODEC_ID_ADPCM_IMA_ISS,     MKTAG('A', 'I', 'S', 'S') },
     { AV_CODEC_ID_ADPCM_IMA_WS,      MKTAG('A', 'I', 'W', 'S') },
+    { AV_CODEC_ID_ADPCM_SBPRO_2,     0x3253 },
+    { AV_CODEC_ID_ADPCM_SBPRO_3,     0x3353 },
+    { AV_CODEC_ID_ADPCM_SBPRO_4,     0x3453 },
     { AV_CODEC_ID_ADPCM_THP,         MKTAG('T', 'H', 'P', 'A') },
 #if LIBAVUTIL_VERSION_MICRO >= 100
     { AV_CODEC_ID_ADPCM_THP_LE,      MKTAG('T', 'H', 'P', 'L') },
@@ -58,13 +63,19 @@ static const struct AVCodecTag mp_wav_ta
     { AV_CODEC_ID_BINKAUDIO_RDFT,    MKTAG('B', 'A', 'U', '2') },
     { AV_CODEC_ID_BMV_AUDIO,         MKTAG('B', 'M', 'V', 'A') },
     { AV_CODEC_ID_COOK,              MKTAG('c', 'o', 'o', 'k') },
+    { AV_CODEC_ID_DSD_LSBF,          MKTAG('D', 'S', 'D', 'l') },
+    { AV_CODEC_ID_DSD_LSBF_PLANAR,   MKTAG('D', 'S', 'F', 'l') },
+    { AV_CODEC_ID_DSD_MSBF,          MKTAG('D', 'S', 'D', ' ') },
+    { AV_CODEC_ID_DSD_MSBF_PLANAR,   MKTAG('D', 'S', 'F', 'm') },
     { AV_CODEC_ID_DSICINAUDIO,       MKTAG('D', 'C', 'I', 'A') },
+    { AV_CODEC_ID_DSS_SP,            MKTAG('D', 'S', 'S', 's') },
     { AV_CODEC_ID_EAC3,              MKTAG('E', 'A', 'C', '3') },
 #if LIBAVUTIL_VERSION_MICRO >= 100
     { AV_CODEC_ID_EVRC,              MKTAG('s', 'e', 'v', 'c') },
     { AV_CODEC_ID_FFWAVESYNTH,       MKTAG('F', 'F', 'W', 'S') },
 #endif
     { AV_CODEC_ID_G723_1,            MKTAG('7', '2', '3', '1') },
+    { AV_CODEC_ID_INTERPLAY_ACM,     0x97280301 },
     { AV_CODEC_ID_INTERPLAY_DPCM,    MKTAG('I', 'N', 'P', 'A') },
     { AV_CODEC_ID_ILBC,              MKTAG('i', 'l', 'b', 'c') },
     { AV_CODEC_ID_MLP,               MKTAG('M', 'L', 'P', ' ') },
@@ -140,6 +151,7 @@ static const struct AVCodecTag mp_codeci
     { AV_CODEC_ID_PCM_S32BE,         MKTAG('i', 'n', '3', '2') },
     { AV_CODEC_ID_PCM_S32LE,         1 },
     { AV_CODEC_ID_PCM_F32LE,         MKTAG('2', '3', 'l', 'f') },
+    { AV_CODEC_ID_PCM_ZORK,          MKTAG('z', 'r', 'k', 0x11) },
     { AV_CODEC_ID_MP2,               0x50 },
     { AV_CODEC_ID_MPEG2VIDEO,        MKTAG('M', 'P', 'G', '2') },
     { AV_CODEC_ID_TRUEHD,            MKTAG('T', 'R', 'H', 'D') },


More information about the MPlayer-cvslog mailing list