summaryrefslogtreecommitdiff
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2005-09-02 19:16:48 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2005-09-02 19:16:48 +0000
commitb461b3bc4a14fe86aba4ed8e9adf30ab262896a2 (patch)
tree6ebc879c0917029608f33b2a224cb9a85c7ed3b4 /ffmpeg.c
parent16beae15f3b610dfaa1d39d1effa25816c4185ae (diff)
Support de-/encoding of 24 and 32 bit PCM (from and to internal 16 bit).
Originally committed as revision 4548 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index d3e59a7be8..4c35671da0 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -599,6 +599,19 @@ static void do_audio_out(AVFormatContext *s,
/* output a pcm frame */
/* XXX: change encoding codec API to avoid this ? */
switch(enc->codec->id) {
+ case CODEC_ID_PCM_S32LE:
+ case CODEC_ID_PCM_S32BE:
+ case CODEC_ID_PCM_U32LE:
+ case CODEC_ID_PCM_U32BE:
+ size_out = size_out << 1;
+ break;
+ case CODEC_ID_PCM_S24LE:
+ case CODEC_ID_PCM_S24BE:
+ case CODEC_ID_PCM_U24LE:
+ case CODEC_ID_PCM_U24BE:
+ case CODEC_ID_PCM_S24DAUD:
+ size_out = size_out / 2 * 3;
+ break;
case CODEC_ID_PCM_S16LE:
case CODEC_ID_PCM_S16BE:
case CODEC_ID_PCM_U16LE: