From b461b3bc4a14fe86aba4ed8e9adf30ab262896a2 Mon Sep 17 00:00:00 2001 From: Reimar Döffinger Date: Fri, 2 Sep 2005 19:16:48 +0000 Subject: 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 --- ffmpeg.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'ffmpeg.c') 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: -- cgit v1.2.3