libavcodec/eac3dec.c:143: error: Uninitialized Value
  The value read from rms_energy[_] was never initialized.

libavcodec/eac3dec.c:143:13: 
141.         bin = s->spx_src_start_freq;
142.         for (bnd = 0; bnd < s->num_spx_bands; bnd++) {
143.             float nscale = s->spx_noise_blend[ch][bnd] * rms_energy[bnd] * (1.0f / INT32_MIN);
                 ^
144.             float sscale = s->spx_signal_blend[ch][bnd];
145.             for (i = 0; i < s->spx_band_sizes[bnd]; i++) {

void ff_eac3_apply_spectral_extension(AC3DecodeContext *s)
{
    int bin, bnd, ch, i;
    uint8_t wrapflag[SPX_MAX_BANDS]={1,0,}, num_copy_sections, copy_sizes[SPX_MAX_BANDS];
    float rms_energy[SPX_MAX_BANDS];
    bin = s->spx_dst_start_freq;
    num_copy_sections = 0;
    for (bnd = 0; bnd < s->num_spx_bands; bnd++) {
        int copysize;
        int bandsize = s->spx_band_sizes[bnd];
        if (bin + bandsize > s->spx_src_start_freq) {
            copy_sizes[num_copy_sections++] = bin - s->spx_dst_start_freq;
            bin = s->spx_dst_start_freq;
            wrapflag[bnd] = 1;
        }
        for (i = 0; i < bandsize; i += copysize) {
            if (bin == s->spx_src_start_freq) {
                copy_sizes[num_copy_sections++] = bin - s->spx_dst_start_freq;
                bin = s->spx_dst_start_freq;
            }
            copysize = FFMIN(bandsize - i, s->spx_src_start_freq - bin);
            bin += copysize;
        }
    }
    copy_sizes[num_copy_sections++] = bin - s->spx_dst_start_freq;
    for (ch = 1; ch <= s->fbw_channels; ch++) {
        if (!s->channel_uses_spx[ch])
            continue;
        bin = s->spx_src_start_freq;
        for (i = 0; i < num_copy_sections; i++) {
            memcpy(&s->transform_coeffs[ch][bin],
                   &s->transform_coeffs[ch][s->spx_dst_start_freq],
                   copy_sizes[i]*sizeof(float));
            bin += copy_sizes[i];
        }
        bin = s->spx_src_start_freq;
        for (bnd = 0; bnd < s->num_spx_bands; bnd++) {
            int bandsize = s->spx_band_sizes[bnd];
            float accum = 0.0f;
            for (i = 0; i < bandsize; i++) {
                float coeff = s->transform_coeffs[ch][bin++];
                accum += coeff * coeff;
            }
            rms_energy[bnd] = sqrtf(accum / bandsize);
        }
        if (s->spx_atten_code[ch] >= 0) {
            const float *atten_tab = ff_eac3_spx_atten_tab[s->spx_atten_code[ch]];
            bin = s->spx_src_start_freq - 2;
            for (bnd = 0; bnd < s->num_spx_bands; bnd++) {
                if (wrapflag[bnd]) {
                    float *coeffs = &s->transform_coeffs[ch][bin];
                    coeffs[0] *= atten_tab[0];
                    coeffs[1] *= atten_tab[1];
                    coeffs[2] *= atten_tab[2];
                    coeffs[3] *= atten_tab[1];
                    coeffs[4] *= atten_tab[0];
                }
                bin += s->spx_band_sizes[bnd];
            }
        }
        bin = s->spx_src_start_freq;
        for (bnd = 0; bnd < s->num_spx_bands; bnd++) {
            float nscale = s->spx_noise_blend[ch][bnd] * rms_energy[bnd] * (1.0f / INT32_MIN);
            float sscale = s->spx_signal_blend[ch][bnd];
            for (i = 0; i < s->spx_band_sizes[bnd]; i++) {
                float noise  = nscale * (int32_t)av_lfg_get(&s->dith_state);
                s->transform_coeffs[ch][bin]   *= sscale;
                s->transform_coeffs[ch][bin++] += noise;
            }
        }
    }
}
['void ff_eac3_apply_spectral_extension(AC3DecodeContext *s)\n{\n    int bin, bnd, ch, i;\n    uint8_t wrapflag[SPX_MAX_BANDS]={1,0,}, num_copy_sections, copy_sizes[SPX_MAX_BANDS];\n    float rms_energy[SPX_MAX_BANDS];\n    bin = s->spx_dst_start_freq;\n    num_copy_sections = 0;\n    for (bnd = 0; bnd < s->num_spx_bands; bnd++) {\n        int copysize;\n        int bandsize = s->spx_band_sizes[bnd];\n        if (bin + bandsize > s->spx_src_start_freq) {\n            copy_sizes[num_copy_sections++] = bin - s->spx_dst_start_freq;\n            bin = s->spx_dst_start_freq;\n            wrapflag[bnd] = 1;\n        }\n        for (i = 0; i < bandsize; i += copysize) {\n            if (bin == s->spx_src_start_freq) {\n                copy_sizes[num_copy_sections++] = bin - s->spx_dst_start_freq;\n                bin = s->spx_dst_start_freq;\n            }\n            copysize = FFMIN(bandsize - i, s->spx_src_start_freq - bin);\n            bin += copysize;\n        }\n    }\n    copy_sizes[num_copy_sections++] = bin - s->spx_dst_start_freq;\n    for (ch = 1; ch <= s->fbw_channels; ch++) {\n        if (!s->channel_uses_spx[ch])\n            continue;\n        bin = s->spx_src_start_freq;\n        for (i = 0; i < num_copy_sections; i++) {\n            memcpy(&s->transform_coeffs[ch][bin],\n                   &s->transform_coeffs[ch][s->spx_dst_start_freq],\n                   copy_sizes[i]*sizeof(float));\n            bin += copy_sizes[i];\n        }\n        bin = s->spx_src_start_freq;\n        for (bnd = 0; bnd < s->num_spx_bands; bnd++) {\n            int bandsize = s->spx_band_sizes[bnd];\n            float accum = 0.0f;\n            for (i = 0; i < bandsize; i++) {\n                float coeff = s->transform_coeffs[ch][bin++];\n                accum += coeff * coeff;\n            }\n            rms_energy[bnd] = sqrtf(accum / bandsize);\n        }\n        if (s->spx_atten_code[ch] >= 0) {\n            const float *atten_tab = ff_eac3_spx_atten_tab[s->spx_atten_code[ch]];\n            bin = s->spx_src_start_freq - 2;\n            for (bnd = 0; bnd < s->num_spx_bands; bnd++) {\n                if (wrapflag[bnd]) {\n                    float *coeffs = &s->transform_coeffs[ch][bin];\n                    coeffs[0] *= atten_tab[0];\n                    coeffs[1] *= atten_tab[1];\n                    coeffs[2] *= atten_tab[2];\n                    coeffs[3] *= atten_tab[1];\n                    coeffs[4] *= atten_tab[0];\n                }\n                bin += s->spx_band_sizes[bnd];\n            }\n        }\n        bin = s->spx_src_start_freq;\n        for (bnd = 0; bnd < s->num_spx_bands; bnd++) {\n            float nscale = s->spx_noise_blend[ch][bnd] * rms_energy[bnd] * (1.0f / INT32_MIN);\n            float sscale = s->spx_signal_blend[ch][bnd];\n            for (i = 0; i < s->spx_band_sizes[bnd]; i++) {\n                float noise  = nscale * (int32_t)av_lfg_get(&s->dith_state);\n                s->transform_coeffs[ch][bin]   *= sscale;\n                s->transform_coeffs[ch][bin++] += noise;\n            }\n        }\n    }\n}']