aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2008-08-23 22:36:35 +0000
committerPeter Ross <pross@xvid.org>2008-08-23 22:36:35 +0000
commitee7948cb8d7fc020f41f90f14c885e937f48e409 (patch)
tree63eaebbec639f79599d44b8bbf730b3a129e5f02
parent0a3650c9f005d76381464aaf776a7206d5a6ecfc (diff)
downloadffmpeg-ee7948cb8d7fc020f41f90f14c885e937f48e409.tar.gz
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
-rw-r--r--libavformat/allformats.c12
-rw-r--r--libavformat/raw.c35
2 files changed, 47 insertions, 0 deletions
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)