summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--etc/codecs.conf2
-rw-r--r--libmpcodecs/ad_pcm.c8
3 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4aae2edb44..ccb24df7e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -62,6 +62,7 @@ MPlayer (1.0)
* PNG decoding via libavcodec
* removed native RealAudio codecs (ported to lavc)
* Zip Motion-Block Video (ZMB) decoder via binary DLL
+ * support for QuickTime in24 and in32 PCM audio
Demuxers:
* simultaneous audio capture/playback (-tv immediatemode=0) fixed in v4l2
diff --git a/etc/codecs.conf b/etc/codecs.conf
index 6bfe0dff0d..2feae5473e 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -2363,6 +2363,8 @@ audiocodec pcm
format 0x74776f73 ; "sowt" (MOV files)
format 0x32336c66 ; "fl32" (MOV files)
format 0x454e4f4e ; "NONE" (MOV files from Kodak CX6320)
+ format 0x34326e69 ; "in24" (MOV files)
+ format 0x32336e69 ; "in32" (MOV files)
;;;; these are for hardware support only: (alaw,ulaw,ima-adpcm,mpeg,ac3)
; format 0x6
; format 0x7
diff --git a/libmpcodecs/ad_pcm.c b/libmpcodecs/ad_pcm.c
index 3af366bfb3..ce1ba6245e 100644
--- a/libmpcodecs/ad_pcm.c
+++ b/libmpcodecs/ad_pcm.c
@@ -65,6 +65,14 @@ static int init(sh_audio_t *sh_audio)
sh_audio->sample_format=AF_FORMAT_FLOAT_BE;
sh_audio->samplesize=4;
break;
+ case 0x34326e69: // 'in24', bigendian int24
+ sh_audio->sample_format=AF_FORMAT_S24_BE;
+ sh_audio->samplesize=3;
+ break;
+ case 0x32336e69: // 'in32', bigendian int32
+ sh_audio->sample_format=AF_FORMAT_S32_BE;
+ sh_audio->samplesize=4;
+ break;
default: if(sh_audio->samplesize!=2) sh_audio->sample_format=AF_FORMAT_U8;
}
if (!sh_audio->samplesize) // this would cause MPlayer to hang later