libavcodec/vc1_parser.c:236: error: Uninitialized Value
  The value read from start_code_found was never initialized.

libavcodec/vc1_parser.c:236:21: 
234.      * inserted at the start of the unescaped buffer. */
235.     vpc->bytes_to_skip = 4;
236.     if (next < 0 && start_code_found)
                         ^
237.         vpc->bytes_to_skip += next;
238. 

static int vc1_parse(AVCodecParserContext *s,
                           AVCodecContext *avctx,
                           const uint8_t **poutbuf, int *poutbuf_size,
                           const uint8_t *buf, int buf_size)
{
    VC1ParseContext *vpc = s->priv_data;
    int pic_found = vpc->pc.frame_start_found;
    uint8_t *unesc_buffer = vpc->unesc_buffer;
    size_t unesc_index = vpc->unesc_index;
    VC1ParseSearchState search_state = vpc->search_state;
    int start_code_found;
    int next = END_NOT_FOUND;
    int i = vpc->bytes_to_skip;
    if (pic_found && buf_size == 0) {
        memset(unesc_buffer + unesc_index, 0, UNESCAPED_THRESHOLD - unesc_index);
        vc1_extract_header(s, avctx, unesc_buffer, unesc_index);
        next = 0;
    }
    while (i < buf_size) {
        uint8_t b;
        start_code_found = 0;
        while (i < buf_size && unesc_index < UNESCAPED_THRESHOLD) {
            b = buf[i++];
            unesc_buffer[unesc_index++] = b;
            if (search_state <= ONE_ZERO)
                search_state = b ? NO_MATCH : search_state + 1;
            else if (search_state == TWO_ZEROS) {
                if (b == 1)
                    search_state = ONE;
                else if (b > 1) {
                    if (b == 3)
                        unesc_index--;
                    search_state = NO_MATCH;
                }
            }
            else {
                search_state = NO_MATCH;
                start_code_found = 1;
                break;
            }
        }
        if ((s->flags & PARSER_FLAG_COMPLETE_FRAMES) &&
                unesc_index >= UNESCAPED_THRESHOLD &&
                vpc->prev_start_code == (VC1_CODE_FRAME & 0xFF))
        {
            vc1_extract_header(s, avctx, unesc_buffer, unesc_index);
            break;
        }
        if (unesc_index >= UNESCAPED_THRESHOLD && !start_code_found) {
            while (i < buf_size) {
                if (search_state == NO_MATCH) {
                    i += vpc->v.vc1dsp.startcode_find_candidate(buf + i, buf_size - i);
                    if (i < buf_size) {
                        search_state = ONE_ZERO;
                    }
                    i++;
                } else {
                    b = buf[i++];
                    if (search_state == ONE_ZERO)
                        search_state = b ? NO_MATCH : TWO_ZEROS;
                    else if (search_state == TWO_ZEROS) {
                        if (b >= 1)
                            search_state = b == 1 ? ONE : NO_MATCH;
                    }
                    else {
                        search_state = NO_MATCH;
                        start_code_found = 1;
                        break;
                    }
                }
            }
        }
        if (start_code_found) {
            vc1_extract_header(s, avctx, unesc_buffer, unesc_index);
            vpc->prev_start_code = b;
            unesc_index = 0;
            if (!(s->flags & PARSER_FLAG_COMPLETE_FRAMES)) {
                if (!pic_found && (b == (VC1_CODE_FRAME & 0xFF) || b == (VC1_CODE_FIELD & 0xFF))) {
                    pic_found = 1;
                }
                else if (pic_found && b != (VC1_CODE_FIELD & 0xFF) && b != (VC1_CODE_SLICE & 0xFF)) {
                    next = i - 4;
                    pic_found = b == (VC1_CODE_FRAME & 0xFF);
                    break;
                }
            }
        }
    }
    vpc->pc.frame_start_found = pic_found;
    vpc->unesc_index = unesc_index;
    vpc->search_state = search_state;
    if (s->flags & PARSER_FLAG_COMPLETE_FRAMES) {
        next = buf_size;
    } else {
        if (ff_combine_frame(&vpc->pc, next, &buf, &buf_size) < 0) {
            vpc->bytes_to_skip = 0;
            *poutbuf = NULL;
            *poutbuf_size = 0;
            return buf_size;
        }
    }
    vpc->bytes_to_skip = 4;
    if (next < 0 && start_code_found)
        vpc->bytes_to_skip += next;
    *poutbuf = buf;
    *poutbuf_size = buf_size;
    return next;
}
['static int vc1_parse(AVCodecParserContext *s,\n                           AVCodecContext *avctx,\n                           const uint8_t **poutbuf, int *poutbuf_size,\n                           const uint8_t *buf, int buf_size)\n{\n    VC1ParseContext *vpc = s->priv_data;\n    int pic_found = vpc->pc.frame_start_found;\n    uint8_t *unesc_buffer = vpc->unesc_buffer;\n    size_t unesc_index = vpc->unesc_index;\n    VC1ParseSearchState search_state = vpc->search_state;\n    int start_code_found;\n    int next = END_NOT_FOUND;\n    int i = vpc->bytes_to_skip;\n    if (pic_found && buf_size == 0) {\n        memset(unesc_buffer + unesc_index, 0, UNESCAPED_THRESHOLD - unesc_index);\n        vc1_extract_header(s, avctx, unesc_buffer, unesc_index);\n        next = 0;\n    }\n    while (i < buf_size) {\n        uint8_t b;\n        start_code_found = 0;\n        while (i < buf_size && unesc_index < UNESCAPED_THRESHOLD) {\n            b = buf[i++];\n            unesc_buffer[unesc_index++] = b;\n            if (search_state <= ONE_ZERO)\n                search_state = b ? NO_MATCH : search_state + 1;\n            else if (search_state == TWO_ZEROS) {\n                if (b == 1)\n                    search_state = ONE;\n                else if (b > 1) {\n                    if (b == 3)\n                        unesc_index--;\n                    search_state = NO_MATCH;\n                }\n            }\n            else {\n                search_state = NO_MATCH;\n                start_code_found = 1;\n                break;\n            }\n        }\n        if ((s->flags & PARSER_FLAG_COMPLETE_FRAMES) &&\n                unesc_index >= UNESCAPED_THRESHOLD &&\n                vpc->prev_start_code == (VC1_CODE_FRAME & 0xFF))\n        {\n            vc1_extract_header(s, avctx, unesc_buffer, unesc_index);\n            break;\n        }\n        if (unesc_index >= UNESCAPED_THRESHOLD && !start_code_found) {\n            while (i < buf_size) {\n                if (search_state == NO_MATCH) {\n                    i += vpc->v.vc1dsp.startcode_find_candidate(buf + i, buf_size - i);\n                    if (i < buf_size) {\n                        search_state = ONE_ZERO;\n                    }\n                    i++;\n                } else {\n                    b = buf[i++];\n                    if (search_state == ONE_ZERO)\n                        search_state = b ? NO_MATCH : TWO_ZEROS;\n                    else if (search_state == TWO_ZEROS) {\n                        if (b >= 1)\n                            search_state = b == 1 ? ONE : NO_MATCH;\n                    }\n                    else {\n                        search_state = NO_MATCH;\n                        start_code_found = 1;\n                        break;\n                    }\n                }\n            }\n        }\n        if (start_code_found) {\n            vc1_extract_header(s, avctx, unesc_buffer, unesc_index);\n            vpc->prev_start_code = b;\n            unesc_index = 0;\n            if (!(s->flags & PARSER_FLAG_COMPLETE_FRAMES)) {\n                if (!pic_found && (b == (VC1_CODE_FRAME & 0xFF) || b == (VC1_CODE_FIELD & 0xFF))) {\n                    pic_found = 1;\n                }\n                else if (pic_found && b != (VC1_CODE_FIELD & 0xFF) && b != (VC1_CODE_SLICE & 0xFF)) {\n                    next = i - 4;\n                    pic_found = b == (VC1_CODE_FRAME & 0xFF);\n                    break;\n                }\n            }\n        }\n    }\n    vpc->pc.frame_start_found = pic_found;\n    vpc->unesc_index = unesc_index;\n    vpc->search_state = search_state;\n    if (s->flags & PARSER_FLAG_COMPLETE_FRAMES) {\n        next = buf_size;\n    } else {\n        if (ff_combine_frame(&vpc->pc, next, &buf, &buf_size) < 0) {\n            vpc->bytes_to_skip = 0;\n            *poutbuf = NULL;\n            *poutbuf_size = 0;\n            return buf_size;\n        }\n    }\n    vpc->bytes_to_skip = 4;\n    if (next < 0 && start_code_found)\n        vpc->bytes_to_skip += next;\n    *poutbuf = buf;\n    *poutbuf_size = buf_size;\n    return next;\n}']