Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio.
authorPeter Ross <pross@xvid.org>
Sat, 23 Aug 2008 22:36:35 +0000 (22:36 +0000)
committerPeter Ross <pross@xvid.org>
Sat, 23 Aug 2008 22:36:35 +0000 (22:36 +0000)
Originally committed as revision 14930 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/allformats.c
libavformat/raw.c

index eab3a92..bb15212 100644 (file)
@@ -133,9 +133,21 @@ void av_register_all(void)
     REGISTER_DEMUXER  (OMA, oma);
     REGISTER_MUXDEMUX (PCM_ALAW,  pcm_alaw);
     REGISTER_MUXDEMUX (PCM_MULAW, pcm_mulaw);
+    REGISTER_MUXDEMUX (PCM_F64BE, pcm_f64be);
+    REGISTER_MUXDEMUX (PCM_F64LE, pcm_f64le);
+    REGISTER_MUXDEMUX (PCM_F32BE, pcm_f32be);
+    REGISTER_MUXDEMUX (PCM_F32LE, pcm_f32le);
+    REGISTER_MUXDEMUX (PCM_S32BE, pcm_s32be);
+    REGISTER_MUXDEMUX (PCM_S32LE, pcm_s32le);
+    REGISTER_MUXDEMUX (PCM_S24BE, pcm_s24be);
+    REGISTER_MUXDEMUX (PCM_S24LE, pcm_s24le);
     REGISTER_MUXDEMUX (PCM_S16BE, pcm_s16be);
     REGISTER_MUXDEMUX (PCM_S16LE, pcm_s16le);
     REGISTER_MUXDEMUX (PCM_S8,    pcm_s8);
+    REGISTER_MUXDEMUX (PCM_U32BE, pcm_u32be);
+    REGISTER_MUXDEMUX (PCM_U32LE, pcm_u32le);
+    REGISTER_MUXDEMUX (PCM_U24BE, pcm_u24be);
+    REGISTER_MUXDEMUX (PCM_U24LE, pcm_u24le);
     REGISTER_MUXDEMUX (PCM_U16BE, pcm_u16be);
     REGISTER_MUXDEMUX (PCM_U16LE, pcm_u16le);
     REGISTER_MUXDEMUX (PCM_U8,    pcm_u8);
index df45569..f8b3f5d 100644 (file)
@@ -1036,6 +1036,29 @@ AVOutputFormat pcm_ ## name ## _muxer = {\
 #define LE_DEF(s) s
 #endif
 
+PCMDEF(f64be, "PCM 64 bit floating-point big-endian format",
+       NULL, CODEC_ID_PCM_F64BE)
+
+PCMDEF(f64le, "PCM 64 bit floating-point little-endian format",
+       NULL, CODEC_ID_PCM_F64LE)
+
+PCMDEF(f32be, "PCM 32 bit floating-point big-endian format",
+       NULL, CODEC_ID_PCM_F32BE)
+
+PCMDEF(f32le, "PCM 32 bit floating-point little-endian format",
+       NULL, CODEC_ID_PCM_F32LE)
+
+PCMDEF(s32be, "PCM signed 32 bit big-endian format",
+       NULL, CODEC_ID_PCM_S32BE)
+
+PCMDEF(s32le, "PCM signed 32 bit little-endian format",
+       NULL, CODEC_ID_PCM_S32LE)
+
+PCMDEF(s24be, "PCM signed 24 bit big-endian format",
+       NULL, CODEC_ID_PCM_S24BE)
+
+PCMDEF(s24le, "PCM signed 24 bit little-endian format",
+       NULL, CODEC_ID_PCM_S24LE)
 
 PCMDEF(s16be, "PCM signed 16 bit big-endian format",
        BE_DEF("sw"), CODEC_ID_PCM_S16BE)
@@ -1046,6 +1069,18 @@ PCMDEF(s16le, "PCM signed 16 bit little-endian format",
 PCMDEF(s8, "PCM signed 8 bit format",
        "sb", CODEC_ID_PCM_S8)
 
+PCMDEF(u32be, "PCM unsigned 32 bit big-endian format",
+       NULL, CODEC_ID_PCM_U32BE)
+
+PCMDEF(u32le, "PCM unsigned 32 bit little-endian format",
+       NULL, CODEC_ID_PCM_U32LE)
+
+PCMDEF(u24be, "PCM unsigned 24 bit big-endian format",
+       NULL, CODEC_ID_PCM_U24BE)
+
+PCMDEF(u24le, "PCM unsigned 24 bit little-endian format",
+       NULL, CODEC_ID_PCM_U24LE)
+
 PCMDEF(u16be, "PCM unsigned 16 bit big-endian format",
        BE_DEF("uw"), CODEC_ID_PCM_U16BE)