Mercurial > libavformat.hg
diff utils.c @ 846:fd1c2109505e libavformat
Support de-/encoding of 24 and 32 bit PCM (from and to internal 16 bit).
author | reimar |
---|---|
date | Fri, 02 Sep 2005 19:16:48 +0000 |
parents | 43210d766412 |
children | 62e66722e9bb |
line wrap: on
line diff
--- a/utils.c Fri Sep 02 08:30:26 2005 +0000 +++ b/utils.c Fri Sep 02 19:16:48 2005 +0000 @@ -643,6 +643,23 @@ /* specific hack for pcm codecs because no frame size is provided */ switch(enc->codec_id) { + case CODEC_ID_PCM_S32LE: + case CODEC_ID_PCM_S32BE: + case CODEC_ID_PCM_U32LE: + case CODEC_ID_PCM_U32BE: + if (enc->channels == 0) + return -1; + frame_size = size / (4 * enc->channels); + 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: + if (enc->channels == 0) + return -1; + frame_size = size / (3 * enc->channels); + break; case CODEC_ID_PCM_S16LE: case CODEC_ID_PCM_S16BE: case CODEC_ID_PCM_U16LE: