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: