libavcodec/dca_exss.c:335: error: Uninitialized Value
  The value read from asset_size[_] was never initialized.

libavcodec/dca_exss.c:335:13: 
333.             int end_pos;
334.             start_pos = get_bits_count(&s->gb);
335.             end_pos   = start_pos + asset_size[i] * 8;
                 ^
336.             mkr       = get_bits_long(&s->gb, 32);
337. 

void ff_dca_exss_parse_header(DCAContext *s)
{
    int asset_size[8];
    int ss_index;
    int blownup;
    int num_audiop = 1;
    int num_assets = 1;
    int active_ss_mask[8];
    int i, j;
    int start_pos;
    int hdrsize;
    uint32_t mkr;
    if (get_bits_left(&s->gb) < 52)
        return;
    start_pos = get_bits_count(&s->gb) - 32;
    skip_bits(&s->gb, 8);
    ss_index = get_bits(&s->gb, 2);
    blownup = get_bits1(&s->gb);
    hdrsize = get_bits(&s->gb,  8 + 4 * blownup) + 1;
    skip_bits(&s->gb, 16 + 4 * blownup);
    s->static_fields = get_bits1(&s->gb);
    if (s->static_fields) {
        skip_bits(&s->gb, 2);
        skip_bits(&s->gb, 3);
        if (get_bits1(&s->gb))
            skip_bits_long(&s->gb, 36);
        num_audiop = get_bits(&s->gb, 3) + 1;
        if (num_audiop > 1) {
            avpriv_request_sample(s->avctx,
                                  "Multiple DTS-HD audio presentations");
            return;
        }
        num_assets = get_bits(&s->gb, 3) + 1;
        if (num_assets > 1) {
            avpriv_request_sample(s->avctx, "Multiple DTS-HD audio assets");
            return;
        }
        for (i = 0; i < num_audiop; i++)
            active_ss_mask[i] = get_bits(&s->gb, ss_index + 1);
        for (i = 0; i < num_audiop; i++)
            for (j = 0; j <= ss_index; j++)
                if (active_ss_mask[i] & (1 << j))
                    skip_bits(&s->gb, 8);
        s->mix_metadata = get_bits1(&s->gb);
        if (s->mix_metadata) {
            int mix_out_mask_size;
            skip_bits(&s->gb, 2);
            mix_out_mask_size  = (get_bits(&s->gb, 2) + 1) << 2;
            s->num_mix_configs =  get_bits(&s->gb, 2) + 1;
            for (i = 0; i < s->num_mix_configs; i++) {
                int mix_out_mask        = get_bits(&s->gb, mix_out_mask_size);
                s->mix_config_num_ch[i] = dca_exss_mask2count(mix_out_mask);
            }
        }
    }
    for (i = 0; i < num_assets; i++)
        asset_size[i] = get_bits_long(&s->gb, 16 + 4 * blownup) + 1;
    for (i = 0; i < num_assets; i++) {
        if (dca_exss_parse_asset_header(s))
            return;
    }
    if (num_assets > 0) {
        j = get_bits_count(&s->gb);
        if (start_pos + hdrsize * 8 > j)
            skip_bits_long(&s->gb, start_pos + hdrsize * 8 - j);
        for (i = 0; i < num_assets; i++) {
            int end_pos;
            start_pos = get_bits_count(&s->gb);
            end_pos   = start_pos + asset_size[i] * 8;
            mkr       = get_bits_long(&s->gb, 32);
            switch (mkr) {
            case DCA_SYNCWORD_XLL:
                if (s->xll_disable) {
                    av_log(s->avctx, AV_LOG_DEBUG,
                           "DTS-XLL: ignoring XLL extension\n");
                    break;
                }
                av_log(s->avctx, AV_LOG_DEBUG,
                       "DTS-XLL: decoding XLL extension\n");
                if (ff_dca_xll_decode_header(s)        == 0 &&
                    ff_dca_xll_decode_navi(s, end_pos) == 0)
                    s->exss_ext_mask |= DCA_EXT_EXSS_XLL;
                break;
            case DCA_SYNCWORD_XBR:
            case DCA_SYNCWORD_XXCH:
            default:
                av_log(s->avctx, AV_LOG_VERBOSE,
                       "DTS-ExSS: unknown marker = 0x%08"PRIx32"\n", mkr);
            }
            j = get_bits_count(&s->gb);
            if (j > end_pos)
                av_log(s->avctx, AV_LOG_ERROR,
                       "DTS-ExSS: Processed asset too long.\n");
            if (j < end_pos)
                skip_bits_long(&s->gb, end_pos - j);
        }
    }
}
['void ff_dca_exss_parse_header(DCAContext *s)\n{\n    int asset_size[8];\n    int ss_index;\n    int blownup;\n    int num_audiop = 1;\n    int num_assets = 1;\n    int active_ss_mask[8];\n    int i, j;\n    int start_pos;\n    int hdrsize;\n    uint32_t mkr;\n    if (get_bits_left(&s->gb) < 52)\n        return;\n    start_pos = get_bits_count(&s->gb) - 32;\n    skip_bits(&s->gb, 8);\n    ss_index = get_bits(&s->gb, 2);\n    blownup = get_bits1(&s->gb);\n    hdrsize = get_bits(&s->gb,  8 + 4 * blownup) + 1;\n    skip_bits(&s->gb, 16 + 4 * blownup);\n    s->static_fields = get_bits1(&s->gb);\n    if (s->static_fields) {\n        skip_bits(&s->gb, 2);\n        skip_bits(&s->gb, 3);\n        if (get_bits1(&s->gb))\n            skip_bits_long(&s->gb, 36);\n        num_audiop = get_bits(&s->gb, 3) + 1;\n        if (num_audiop > 1) {\n            avpriv_request_sample(s->avctx,\n                                  "Multiple DTS-HD audio presentations");\n            return;\n        }\n        num_assets = get_bits(&s->gb, 3) + 1;\n        if (num_assets > 1) {\n            avpriv_request_sample(s->avctx, "Multiple DTS-HD audio assets");\n            return;\n        }\n        for (i = 0; i < num_audiop; i++)\n            active_ss_mask[i] = get_bits(&s->gb, ss_index + 1);\n        for (i = 0; i < num_audiop; i++)\n            for (j = 0; j <= ss_index; j++)\n                if (active_ss_mask[i] & (1 << j))\n                    skip_bits(&s->gb, 8);\n        s->mix_metadata = get_bits1(&s->gb);\n        if (s->mix_metadata) {\n            int mix_out_mask_size;\n            skip_bits(&s->gb, 2);\n            mix_out_mask_size  = (get_bits(&s->gb, 2) + 1) << 2;\n            s->num_mix_configs =  get_bits(&s->gb, 2) + 1;\n            for (i = 0; i < s->num_mix_configs; i++) {\n                int mix_out_mask        = get_bits(&s->gb, mix_out_mask_size);\n                s->mix_config_num_ch[i] = dca_exss_mask2count(mix_out_mask);\n            }\n        }\n    }\n    for (i = 0; i < num_assets; i++)\n        asset_size[i] = get_bits_long(&s->gb, 16 + 4 * blownup) + 1;\n    for (i = 0; i < num_assets; i++) {\n        if (dca_exss_parse_asset_header(s))\n            return;\n    }\n    if (num_assets > 0) {\n        j = get_bits_count(&s->gb);\n        if (start_pos + hdrsize * 8 > j)\n            skip_bits_long(&s->gb, start_pos + hdrsize * 8 - j);\n        for (i = 0; i < num_assets; i++) {\n            int end_pos;\n            start_pos = get_bits_count(&s->gb);\n            end_pos   = start_pos + asset_size[i] * 8;\n            mkr       = get_bits_long(&s->gb, 32);\n            switch (mkr) {\n            case DCA_SYNCWORD_XLL:\n                if (s->xll_disable) {\n                    av_log(s->avctx, AV_LOG_DEBUG,\n                           "DTS-XLL: ignoring XLL extension\\n");\n                    break;\n                }\n                av_log(s->avctx, AV_LOG_DEBUG,\n                       "DTS-XLL: decoding XLL extension\\n");\n                if (ff_dca_xll_decode_header(s)        == 0 &&\n                    ff_dca_xll_decode_navi(s, end_pos) == 0)\n                    s->exss_ext_mask |= DCA_EXT_EXSS_XLL;\n                break;\n            case DCA_SYNCWORD_XBR:\n            case DCA_SYNCWORD_XXCH:\n            default:\n                av_log(s->avctx, AV_LOG_VERBOSE,\n                       "DTS-ExSS: unknown marker = 0x%08"PRIx32"\\n", mkr);\n            }\n            j = get_bits_count(&s->gb);\n            if (j > end_pos)\n                av_log(s->avctx, AV_LOG_ERROR,\n                       "DTS-ExSS: Processed asset too long.\\n");\n            if (j < end_pos)\n                skip_bits_long(&s->gb, end_pos - j);\n        }\n    }\n}']