Carl Eugen Hoyos <[EMAIL PROTECTED]> added the comment:

Following patch against r14965 fixes the artifacts (and probably causes the
original problems to reappear).

Carl Eugen

Index: libavcodec/wmadec.c
===================================================================
--- libavcodec/wmadec.c (Revision 14965)
+++ libavcodec/wmadec.c (Arbeitskopie)
@@ -402,14 +402,13 @@
         s->channel_coded[ch] = a;
         v |= a;
     }
-
-    bsize = s->frame_len_bits - s->block_len_bits;
-
     /* if no channel coded, no need to go further */
     /* XXX: fix potential framing problems */
     if (!v)
         goto next;

+    bsize = s->frame_len_bits - s->block_len_bits;
+
     /* read total gain and extract corresponding number of bits for
        coef escape coding */
     total_gain = 1;
@@ -681,16 +680,13 @@
         }
     }

-next:
     for(ch = 0; ch < s->nb_channels; ch++) {
+        if (s->channel_coded[ch]) {
         int n4, index, n;

         n = s->block_len;
         n4 = s->block_len / 2;
-        if(s->channel_coded[ch]){
             ff_imdct_calc(&s->mdct_ctx[bsize], s->output, s->coefs[ch]);
-        }else
-            memset(s->output, 0, sizeof(s->output));

         /* multiply by the window and add in the frame */
         index = (s->frame_len / 2) + s->block_pos - n4;
@@ -701,8 +697,9 @@
         if (s->ms_stereo && !s->channel_coded[1]) {
             wma_window(s, &s->frame_out[1][index]);
         }
+        }
     }
-
+ next:
     /* update block number */
     s->block_num++;
     s->block_pos += s->block_len;

______________________________________________________
FFmpeg issue tracker <[EMAIL PROTECTED]>
<https://roundup.mplayerhq.hu/roundup/ffmpeg/issue264>
______________________________________________________

Reply via email to