[Ffmpeg-cvslog] r7000 - trunk/libavcodec/vmdav.c

kostya subversion
Mon Nov 13 06:15:55 CET 2006


Author: kostya
Date: Mon Nov 13 06:15:55 2006
New Revision: 7000

Modified:
   trunk/libavcodec/vmdav.c

Log:
Output proper 16-bit sound (fixes decoding on PPC)

Modified: trunk/libavcodec/vmdav.c
==============================================================================
--- trunk/libavcodec/vmdav.c	(original)
+++ trunk/libavcodec/vmdav.c	Mon Nov 13 06:15:55 2006
@@ -484,10 +484,13 @@
         } else {
             if (s->bits == 16)
                 vmdaudio_decode_audio(s, data, buf, 1);
-            else
+            else {
                 /* copy the data but convert it to signed */
-                for (i = 0; i < s->block_align; i++)
-                    data[i * 2 + 1] = buf[i] + 0x80;
+                for (i = 0; i < s->block_align; i++){
+                    *data++ = buf[i] + 0x80;
+                    *data++ = buf[i] + 0x80;
+                }
+            }
         }
     } else {
         bytes_decoded = s->block_align * 2;
@@ -500,8 +503,10 @@
                 vmdaudio_decode_audio(s, data, buf, 0);
             } else {
                 /* copy the data but convert it to signed */
-                for (i = 0; i < s->block_align; i++)
-                    data[i * 2 + 1] = buf[i] + 0x80;
+                for (i = 0; i < s->block_align; i++){
+                    *data++ = buf[i] + 0x80;
+                    *data++ = buf[i] + 0x80;
+                }
             }
         }
     }




More information about the ffmpeg-cvslog mailing list