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
This commit is contained in:
@@ -643,6 +643,23 @@ static int get_audio_frame_size(AVCodecContext *enc, int size)
|
||||
/* 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:
|
||||
|
Reference in New Issue
Block a user