From ee7948cb8d7fc020f41f90f14c885e937f48e409 Mon Sep 17 00:00:00 2001 From: Peter Ross Date: Sat, 23 Aug 2008 22:36:35 +0000 Subject: [PATCH] Add raw muxers/demuxers for F64/F32/S32/S24/U32/U24 PCM audio. Originally committed as revision 14930 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/allformats.c | 12 ++++++++++++ libavformat/raw.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/libavformat/allformats.c b/libavformat/allformats.c index eab3a924f7..bb15212bd8 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -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); diff --git a/libavformat/raw.c b/libavformat/raw.c index df45569239..f8b3f5d57c 100644 --- a/libavformat/raw.c +++ b/libavformat/raw.c @@ -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)