Browse Source

ac3dec: Increment channel pointers only once per channel

If the channel mapping map multiple output channels to one
input channel, we should only increment the actual pointer once.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
tags/n2.1
Martin Storsjö 12 years ago
parent
commit
68e57cde68
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavcodec/ac3dec.c

+ 3
- 3
libavcodec/ac3dec.c View File

@@ -1393,10 +1393,10 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
if (err)
for (ch = 0; ch < s->out_channels; ch++)
memcpy(s->outptr[channel_map[ch]], output[ch], 1024);
for (ch = 0; ch < s->out_channels; ch++) {
for (ch = 0; ch < s->out_channels; ch++)
output[ch] = s->outptr[channel_map[ch]];
s->outptr[channel_map[ch]] += AC3_BLOCK_SIZE;
}
for (ch = 0; ch < s->channels; ch++)
s->outptr[ch] += AC3_BLOCK_SIZE;
}

/* keep last block for error concealment in next frame */


Loading…
Cancel
Save