diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2005-09-02 19:16:48 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2005-09-02 19:16:48 +0000 |
commit | b461b3bc4a14fe86aba4ed8e9adf30ab262896a2 (patch) | |
tree | 6ebc879c0917029608f33b2a224cb9a85c7ed3b4 /ffmpeg.c | |
parent | 16beae15f3b610dfaa1d39d1effa25816c4185ae (diff) | |
download | ffmpeg-b461b3bc4a14fe86aba4ed8e9adf30ab262896a2.tar.gz |
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.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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: |