summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrathann <rathann@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-11 22:43:28 +0000
committerrathann <rathann@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-03-11 22:43:28 +0000
commit7875c2e15021e10a5b3ab116d315c723c8344be8 (patch)
treec0c7a72fed452bededeed67e6f9d7adb636ddc84
parent4e880d80767fc04c42bd5e9080a0dd85dfde82d6 (diff)
downloadmpv-7875c2e15021e10a5b3ab116d315c723c8344be8.tar.bz2
mpv-7875c2e15021e10a5b3ab116d315c723c8344be8.tar.xz
QuickTime in24 and in32 PCM audio support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17814 b3059339-0415-0410-9bf9-f77b7e298cf2
-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