libavcodec/alac.c:472: error: Uninitialized Value
  The value read from prediction_quantitization[_] was never initialized.

libavcodec/alac.c:472:13: 
470.                        prediction_type[ch]);
471.             }
472.             predictor_decompress_fir_adapt(alac->predicterror_buffer[ch],
                 ^
473.                                            alac->outputsamples_buffer[ch],
474.                                            outputsamples, readsamplesize,

static int alac_decode_frame(AVCodecContext *avctx, void *data,
                             int *got_frame_ptr, AVPacket *avpkt)
{
    const uint8_t *inbuffer = avpkt->data;
    int input_buffer_size = avpkt->size;
    ALACContext *alac = avctx->priv_data;
    int channels;
    unsigned int outputsamples;
    int hassize;
    unsigned int readsamplesize;
    int isnotcompressed;
    uint8_t interlacing_shift;
    uint8_t interlacing_leftweight;
    int i, ch, ret;
    init_get_bits(&alac->gb, inbuffer, input_buffer_size * 8);
    channels = get_bits(&alac->gb, 3) + 1;
    if (channels != avctx->channels) {
        av_log(avctx, AV_LOG_ERROR, "frame header channel count mismatch\n");
        return AVERROR_INVALIDDATA;
    }
    skip_bits(&alac->gb, 4);
    skip_bits(&alac->gb, 12);
    hassize = get_bits1(&alac->gb);
    alac->extra_bits = get_bits(&alac->gb, 2) << 3;
    isnotcompressed = get_bits1(&alac->gb);
    if (hassize) {
        outputsamples = get_bits_long(&alac->gb, 32);
        if(outputsamples > alac->setinfo_max_samples_per_frame){
            av_log(avctx, AV_LOG_ERROR, "outputsamples %d > %d\n", outputsamples, alac->setinfo_max_samples_per_frame);
            return -1;
        }
    } else
        outputsamples = alac->setinfo_max_samples_per_frame;
    if (outputsamples > INT32_MAX) {
        av_log(avctx, AV_LOG_ERROR, "unsupported block size: %u\n", outputsamples);
        return AVERROR_INVALIDDATA;
    }
    alac->frame.nb_samples = outputsamples;
    if ((ret = avctx->get_buffer(avctx, &alac->frame)) < 0) {
        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
        return ret;
    }
    readsamplesize = alac->setinfo_sample_size - alac->extra_bits + channels - 1;
    if (readsamplesize > MIN_CACHE_BITS) {
        av_log(avctx, AV_LOG_ERROR, "readsamplesize too big (%d)\n", readsamplesize);
        return -1;
    }
    if (!isnotcompressed) {
        int16_t predictor_coef_table[MAX_CHANNELS][32];
        int predictor_coef_num[MAX_CHANNELS];
        int prediction_type[MAX_CHANNELS];
        int prediction_quantitization[MAX_CHANNELS];
        int ricemodifier[MAX_CHANNELS];
        interlacing_shift = get_bits(&alac->gb, 8);
        interlacing_leftweight = get_bits(&alac->gb, 8);
        for (ch = 0; ch < channels; ch++) {
            prediction_type[ch] = get_bits(&alac->gb, 4);
            prediction_quantitization[ch] = get_bits(&alac->gb, 4);
            ricemodifier[ch] = get_bits(&alac->gb, 3);
            predictor_coef_num[ch] = get_bits(&alac->gb, 5);
            for (i = 0; i < predictor_coef_num[ch]; i++)
                predictor_coef_table[ch][i] = (int16_t)get_bits(&alac->gb, 16);
        }
        if (alac->extra_bits) {
            for (i = 0; i < outputsamples; i++) {
                for (ch = 0; ch < channels; ch++)
                    alac->extra_bits_buffer[ch][i] = get_bits(&alac->gb, alac->extra_bits);
            }
        }
        for (ch = 0; ch < channels; ch++) {
            bastardized_rice_decompress(alac,
                                        alac->predicterror_buffer[ch],
                                        outputsamples,
                                        readsamplesize,
                                        alac->setinfo_rice_initialhistory,
                                        alac->setinfo_rice_kmodifier,
                                        ricemodifier[ch] * alac->setinfo_rice_historymult / 4,
                                        (1 << alac->setinfo_rice_kmodifier) - 1);
            if (prediction_type[ch] == 15) {
                predictor_decompress_fir_adapt(alac->predicterror_buffer[ch],
                                               alac->predicterror_buffer[ch],
                                               outputsamples, readsamplesize,
                                               NULL, 31, 0);
            } else if (prediction_type[ch] > 0) {
                av_log(avctx, AV_LOG_WARNING, "unknown prediction type: %i\n",
                       prediction_type[ch]);
            }
            predictor_decompress_fir_adapt(alac->predicterror_buffer[ch],
                                           alac->outputsamples_buffer[ch],
                                           outputsamples, readsamplesize,
                                           predictor_coef_table[ch],
                                           predictor_coef_num[ch],
                                           prediction_quantitization[ch]);
        }
    } else {
        for (i = 0; i < outputsamples; i++) {
            for (ch = 0; ch < channels; ch++) {
                alac->outputsamples_buffer[ch][i] = get_sbits_long(&alac->gb,
                                                                   alac->setinfo_sample_size);
            }
        }
        alac->extra_bits = 0;
        interlacing_shift = 0;
        interlacing_leftweight = 0;
    }
    if (get_bits(&alac->gb, 3) != 7)
        av_log(avctx, AV_LOG_ERROR, "Error : Wrong End Of Frame\n");
    if (channels == 2 && interlacing_leftweight) {
        decorrelate_stereo(alac->outputsamples_buffer, outputsamples,
                           interlacing_shift, interlacing_leftweight);
    }
    if (alac->extra_bits) {
        append_extra_bits(alac->outputsamples_buffer, alac->extra_bits_buffer,
                          alac->extra_bits, alac->numchannels, outputsamples);
    }
    switch(alac->setinfo_sample_size) {
    case 16:
        if (channels == 2) {
            interleave_stereo_16(alac->outputsamples_buffer,
                                 (int16_t *)alac->frame.data[0], outputsamples);
        } else {
            int16_t *outbuffer = (int16_t *)alac->frame.data[0];
            for (i = 0; i < outputsamples; i++) {
                outbuffer[i] = alac->outputsamples_buffer[0][i];
            }
        }
        break;
    case 24:
        if (channels == 2) {
            interleave_stereo_24(alac->outputsamples_buffer,
                                 (int32_t *)alac->frame.data[0], outputsamples);
        } else {
            int32_t *outbuffer = (int32_t *)alac->frame.data[0];
            for (i = 0; i < outputsamples; i++)
                outbuffer[i] = alac->outputsamples_buffer[0][i] << 8;
        }
        break;
    }
    if (input_buffer_size * 8 - get_bits_count(&alac->gb) > 8)
        av_log(avctx, AV_LOG_ERROR, "Error : %d bits left\n", input_buffer_size * 8 - get_bits_count(&alac->gb));
    *got_frame_ptr   = 1;
    *(AVFrame *)data = alac->frame;
    return input_buffer_size;
}
['static int alac_decode_frame(AVCodecContext *avctx, void *data,\n                             int *got_frame_ptr, AVPacket *avpkt)\n{\n    const uint8_t *inbuffer = avpkt->data;\n    int input_buffer_size = avpkt->size;\n    ALACContext *alac = avctx->priv_data;\n    int channels;\n    unsigned int outputsamples;\n    int hassize;\n    unsigned int readsamplesize;\n    int isnotcompressed;\n    uint8_t interlacing_shift;\n    uint8_t interlacing_leftweight;\n    int i, ch, ret;\n    init_get_bits(&alac->gb, inbuffer, input_buffer_size * 8);\n    channels = get_bits(&alac->gb, 3) + 1;\n    if (channels != avctx->channels) {\n        av_log(avctx, AV_LOG_ERROR, "frame header channel count mismatch\\n");\n        return AVERROR_INVALIDDATA;\n    }\n    skip_bits(&alac->gb, 4);\n    skip_bits(&alac->gb, 12);\n    hassize = get_bits1(&alac->gb);\n    alac->extra_bits = get_bits(&alac->gb, 2) << 3;\n    isnotcompressed = get_bits1(&alac->gb);\n    if (hassize) {\n        outputsamples = get_bits_long(&alac->gb, 32);\n        if(outputsamples > alac->setinfo_max_samples_per_frame){\n            av_log(avctx, AV_LOG_ERROR, "outputsamples %d > %d\\n", outputsamples, alac->setinfo_max_samples_per_frame);\n            return -1;\n        }\n    } else\n        outputsamples = alac->setinfo_max_samples_per_frame;\n    if (outputsamples > INT32_MAX) {\n        av_log(avctx, AV_LOG_ERROR, "unsupported block size: %u\\n", outputsamples);\n        return AVERROR_INVALIDDATA;\n    }\n    alac->frame.nb_samples = outputsamples;\n    if ((ret = avctx->get_buffer(avctx, &alac->frame)) < 0) {\n        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\\n");\n        return ret;\n    }\n    readsamplesize = alac->setinfo_sample_size - alac->extra_bits + channels - 1;\n    if (readsamplesize > MIN_CACHE_BITS) {\n        av_log(avctx, AV_LOG_ERROR, "readsamplesize too big (%d)\\n", readsamplesize);\n        return -1;\n    }\n    if (!isnotcompressed) {\n        int16_t predictor_coef_table[MAX_CHANNELS][32];\n        int predictor_coef_num[MAX_CHANNELS];\n        int prediction_type[MAX_CHANNELS];\n        int prediction_quantitization[MAX_CHANNELS];\n        int ricemodifier[MAX_CHANNELS];\n        interlacing_shift = get_bits(&alac->gb, 8);\n        interlacing_leftweight = get_bits(&alac->gb, 8);\n        for (ch = 0; ch < channels; ch++) {\n            prediction_type[ch] = get_bits(&alac->gb, 4);\n            prediction_quantitization[ch] = get_bits(&alac->gb, 4);\n            ricemodifier[ch] = get_bits(&alac->gb, 3);\n            predictor_coef_num[ch] = get_bits(&alac->gb, 5);\n            for (i = 0; i < predictor_coef_num[ch]; i++)\n                predictor_coef_table[ch][i] = (int16_t)get_bits(&alac->gb, 16);\n        }\n        if (alac->extra_bits) {\n            for (i = 0; i < outputsamples; i++) {\n                for (ch = 0; ch < channels; ch++)\n                    alac->extra_bits_buffer[ch][i] = get_bits(&alac->gb, alac->extra_bits);\n            }\n        }\n        for (ch = 0; ch < channels; ch++) {\n            bastardized_rice_decompress(alac,\n                                        alac->predicterror_buffer[ch],\n                                        outputsamples,\n                                        readsamplesize,\n                                        alac->setinfo_rice_initialhistory,\n                                        alac->setinfo_rice_kmodifier,\n                                        ricemodifier[ch] * alac->setinfo_rice_historymult / 4,\n                                        (1 << alac->setinfo_rice_kmodifier) - 1);\n            if (prediction_type[ch] == 15) {\n                predictor_decompress_fir_adapt(alac->predicterror_buffer[ch],\n                                               alac->predicterror_buffer[ch],\n                                               outputsamples, readsamplesize,\n                                               NULL, 31, 0);\n            } else if (prediction_type[ch] > 0) {\n                av_log(avctx, AV_LOG_WARNING, "unknown prediction type: %i\\n",\n                       prediction_type[ch]);\n            }\n            predictor_decompress_fir_adapt(alac->predicterror_buffer[ch],\n                                           alac->outputsamples_buffer[ch],\n                                           outputsamples, readsamplesize,\n                                           predictor_coef_table[ch],\n                                           predictor_coef_num[ch],\n                                           prediction_quantitization[ch]);\n        }\n    } else {\n        for (i = 0; i < outputsamples; i++) {\n            for (ch = 0; ch < channels; ch++) {\n                alac->outputsamples_buffer[ch][i] = get_sbits_long(&alac->gb,\n                                                                   alac->setinfo_sample_size);\n            }\n        }\n        alac->extra_bits = 0;\n        interlacing_shift = 0;\n        interlacing_leftweight = 0;\n    }\n    if (get_bits(&alac->gb, 3) != 7)\n        av_log(avctx, AV_LOG_ERROR, "Error : Wrong End Of Frame\\n");\n    if (channels == 2 && interlacing_leftweight) {\n        decorrelate_stereo(alac->outputsamples_buffer, outputsamples,\n                           interlacing_shift, interlacing_leftweight);\n    }\n    if (alac->extra_bits) {\n        append_extra_bits(alac->outputsamples_buffer, alac->extra_bits_buffer,\n                          alac->extra_bits, alac->numchannels, outputsamples);\n    }\n    switch(alac->setinfo_sample_size) {\n    case 16:\n        if (channels == 2) {\n            interleave_stereo_16(alac->outputsamples_buffer,\n                                 (int16_t *)alac->frame.data[0], outputsamples);\n        } else {\n            int16_t *outbuffer = (int16_t *)alac->frame.data[0];\n            for (i = 0; i < outputsamples; i++) {\n                outbuffer[i] = alac->outputsamples_buffer[0][i];\n            }\n        }\n        break;\n    case 24:\n        if (channels == 2) {\n            interleave_stereo_24(alac->outputsamples_buffer,\n                                 (int32_t *)alac->frame.data[0], outputsamples);\n        } else {\n            int32_t *outbuffer = (int32_t *)alac->frame.data[0];\n            for (i = 0; i < outputsamples; i++)\n                outbuffer[i] = alac->outputsamples_buffer[0][i] << 8;\n        }\n        break;\n    }\n    if (input_buffer_size * 8 - get_bits_count(&alac->gb) > 8)\n        av_log(avctx, AV_LOG_ERROR, "Error : %d bits left\\n", input_buffer_size * 8 - get_bits_count(&alac->gb));\n    *got_frame_ptr   = 1;\n    *(AVFrame *)data = alac->frame;\n    return input_buffer_size;\n}']