avcodec/hcadec: get intensity from correct channel
authorsummertriangle.dev@gmail.com <summertriangle.dev@gmail.com>
Wed, 17 Jun 2020 21:45:07 +0000 (14:45 -0700)
committerPaul B Mahol <onemda@gmail.com>
Sun, 21 Jun 2020 09:13:29 +0000 (11:13 +0200)
Fixes an issue with one output channel being slightly louder than
the other. The output now matches other public HCA decoders.

Signed-off-by: t <summertriangle.dev@gmail.com>
libavcodec/hcadec.c

index a890e75..28e7d07 100644 (file)
@@ -263,7 +263,7 @@ static void apply_intensity_stereo(HCAContext *s, ChannelContext *ch1, ChannelCo
                                    int index, unsigned band_count, unsigned base_band_count,
                                    unsigned stereo_band_count)
 {
-    float ratio_l = intensity_ratio_table[ch1->intensity[index]];
+    float ratio_l = intensity_ratio_table[ch2->intensity[index]];
     float ratio_r = ratio_l - 2.0f;
     float *c1 = &ch1->imdct_in[base_band_count];
     float *c2 = &ch2->imdct_in[base_band_count];