On Thu, 11 Jul 2013, Luca Barbato wrote:
On 07/11/2013 03:36 PM, Martin Storsjö wrote:
If the channel mapping map multiple output channels to one
input channel, we should only increment the actual pointer once.
Cc: libav-sta...@libav.org
---
libavcodec/ac3dec.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index abfd380..01da328 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -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;
}
If our samples are fine with the change, looks great.
Yes, this passes fate.
// Martin
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel