libavcodec/atrac3plusdsp.c:453: error: Uninitialized Value
  The value read from pwcsp[_] was never initialized.

libavcodec/atrac3plusdsp.c:453:13: 
451. 
452.         for (i = 0; i < nsp; i++)
453.             dst[i] += pwcsp[i] * qu_lev;
                 ^
454.     }
455. }

void ff_atrac3p_power_compensation(Atrac3pChanUnitCtx *ctx, int ch_index,
                                   float *sp, int rng_index, int sb)
{
    AtracGainInfo *g1, *g2;
    float pwcsp[ATRAC3P_SUBBAND_SAMPLES], *dst, grp_lev, qu_lev;
    int i, gain_lev, gcv = 0, qu, nsp;
    int swap_ch = (ctx->unit_type == CH_UNIT_STEREO && ctx->swap_channels[sb]) ? 1 : 0;
    if (ctx->channels[ch_index ^ swap_ch].power_levs[subband_to_powgrp[sb]] == ATRAC3P_POWER_COMP_OFF)
        return;
    for (i = 0; i < ATRAC3P_SUBBAND_SAMPLES; i++, rng_index++)
        pwcsp[i] = noise_tab[rng_index & 0x3FF];
    g1 = &ctx->channels[ch_index ^ swap_ch].gain_data[sb];
    g2 = &ctx->channels[ch_index ^ swap_ch].gain_data_prev[sb];
    gain_lev = (g1->num_points > 0) ? (6 - g1->lev_code[0]) : 0;
    for (i = 0; i < g2->num_points; i++)
        gcv = FFMAX(gcv, gain_lev - (g2->lev_code[i] - 6));
    for (i = 0; i < g1->num_points; i++)
        gcv = FFMAX(gcv, 6 - g1->lev_code[i]);
    grp_lev = pwc_levs[ctx->channels[ch_index ^ swap_ch].power_levs[subband_to_powgrp[sb]]] / (1 << gcv);
    for (qu = subband_to_qu[sb] + (!sb ? 2 : 0); qu < subband_to_qu[sb + 1]; qu++) {
        if (ctx->channels[ch_index].qu_wordlen[qu] <= 0)
            continue;
        qu_lev = ff_atrac3p_sf_tab[ctx->channels[ch_index].qu_sf_idx[qu]] *
                 ff_atrac3p_mant_tab[ctx->channels[ch_index].qu_wordlen[qu]] /
                 (1 << ctx->channels[ch_index].qu_wordlen[qu]) * grp_lev;
        dst = &sp[ff_atrac3p_qu_to_spec_pos[qu]];
        nsp = ff_atrac3p_qu_to_spec_pos[qu + 1] - ff_atrac3p_qu_to_spec_pos[qu];
        for (i = 0; i < nsp; i++)
            dst[i] += pwcsp[i] * qu_lev;
    }
}
['void ff_atrac3p_power_compensation(Atrac3pChanUnitCtx *ctx, int ch_index,\n                                   float *sp, int rng_index, int sb)\n{\n    AtracGainInfo *g1, *g2;\n    float pwcsp[ATRAC3P_SUBBAND_SAMPLES], *dst, grp_lev, qu_lev;\n    int i, gain_lev, gcv = 0, qu, nsp;\n    int swap_ch = (ctx->unit_type == CH_UNIT_STEREO && ctx->swap_channels[sb]) ? 1 : 0;\n    if (ctx->channels[ch_index ^ swap_ch].power_levs[subband_to_powgrp[sb]] == ATRAC3P_POWER_COMP_OFF)\n        return;\n    for (i = 0; i < ATRAC3P_SUBBAND_SAMPLES; i++, rng_index++)\n        pwcsp[i] = noise_tab[rng_index & 0x3FF];\n    g1 = &ctx->channels[ch_index ^ swap_ch].gain_data[sb];\n    g2 = &ctx->channels[ch_index ^ swap_ch].gain_data_prev[sb];\n    gain_lev = (g1->num_points > 0) ? (6 - g1->lev_code[0]) : 0;\n    for (i = 0; i < g2->num_points; i++)\n        gcv = FFMAX(gcv, gain_lev - (g2->lev_code[i] - 6));\n    for (i = 0; i < g1->num_points; i++)\n        gcv = FFMAX(gcv, 6 - g1->lev_code[i]);\n    grp_lev = pwc_levs[ctx->channels[ch_index ^ swap_ch].power_levs[subband_to_powgrp[sb]]] / (1 << gcv);\n    for (qu = subband_to_qu[sb] + (!sb ? 2 : 0); qu < subband_to_qu[sb + 1]; qu++) {\n        if (ctx->channels[ch_index].qu_wordlen[qu] <= 0)\n            continue;\n        qu_lev = ff_atrac3p_sf_tab[ctx->channels[ch_index].qu_sf_idx[qu]] *\n                 ff_atrac3p_mant_tab[ctx->channels[ch_index].qu_wordlen[qu]] /\n                 (1 << ctx->channels[ch_index].qu_wordlen[qu]) * grp_lev;\n        dst = &sp[ff_atrac3p_qu_to_spec_pos[qu]];\n        nsp = ff_atrac3p_qu_to_spec_pos[qu + 1] - ff_atrac3p_qu_to_spec_pos[qu];\n        for (i = 0; i < nsp; i++)\n            dst[i] += pwcsp[i] * qu_lev;\n    }\n}']