libavcodec/vc1.c:672: error: Uninitialized Value
  The value read from intra[_] was never initialized.

libavcodec/vc1.c:672:35: 
670.         int t1 = 0, t2 = 0;
671.         for(i=0; i<3;i++) if(!intra[i]) {t1 = i; break;}
672.         for(i= t1+1; i<4; i++)if(!intra[i]) {t2 = i; break;}
                                       ^
673.         tx = (mvx[t1] + mvx[t2]) / 2;
674.         ty = (mvy[t1] + mvy[t2]) / 2;

static void vc1_mc_4mv_chroma(VC1Context *v)
{
    MpegEncContext *s = &v->s;
    DSPContext *dsp = &v->s.dsp;
    uint8_t *srcU, *srcV;
    int uvdxy, uvmx, uvmy, uvsrc_x, uvsrc_y;
    int i, idx, tx = 0, ty = 0;
    int mvx[4], mvy[4], intra[4];
    static const int count[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4};
    if(!v->s.last_picture.data[0])return;
    if(s->flags & CODEC_FLAG_GRAY) return;
    for(i = 0; i < 4; i++) {
        mvx[i] = s->mv[0][i][0];
        mvy[i] = s->mv[0][i][1];
        intra[i] = v->mb_type[0][s->block_index[i]];
    }
    idx = (intra[3] << 3) | (intra[2] << 2) | (intra[1] << 1) | intra[0];
    if(!idx) {
        tx = median4(mvx[0], mvx[1], mvx[2], mvx[3]);
        ty = median4(mvy[0], mvy[1], mvy[2], mvy[3]);
    } else if(count[idx] == 1) {
        switch(idx) {
        case 0x1:
            tx = mid_pred(mvx[1], mvx[2], mvx[3]);
            ty = mid_pred(mvy[1], mvy[2], mvy[3]);
            break;
        case 0x2:
            tx = mid_pred(mvx[0], mvx[2], mvx[3]);
            ty = mid_pred(mvy[0], mvy[2], mvy[3]);
            break;
        case 0x4:
            tx = mid_pred(mvx[0], mvx[1], mvx[3]);
            ty = mid_pred(mvy[0], mvy[1], mvy[3]);
            break;
        case 0x8:
            tx = mid_pred(mvx[0], mvx[1], mvx[2]);
            ty = mid_pred(mvy[0], mvy[1], mvy[2]);
            break;
        }
    } else if(count[idx] == 2) {
        int t1 = 0, t2 = 0;
        for(i=0; i<3;i++) if(!intra[i]) {t1 = i; break;}
        for(i= t1+1; i<4; i++)if(!intra[i]) {t2 = i; break;}
        tx = (mvx[t1] + mvx[t2]) / 2;
        ty = (mvy[t1] + mvy[t2]) / 2;
    } else {
        s->current_picture.motion_val[1][s->block_index[0]][0] = 0;
        s->current_picture.motion_val[1][s->block_index[0]][1] = 0;
        return;
    }
    s->current_picture.motion_val[1][s->block_index[0]][0] = tx;
    s->current_picture.motion_val[1][s->block_index[0]][1] = ty;
    uvmx = (tx + ((tx&3) == 3)) >> 1;
    uvmy = (ty + ((ty&3) == 3)) >> 1;
    if(v->fastuvmc) {
        uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1));
        uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1));
    }
    uvsrc_x = s->mb_x * 8 + (uvmx >> 2);
    uvsrc_y = s->mb_y * 8 + (uvmy >> 2);
    if(v->profile != PROFILE_ADVANCED){
        uvsrc_x = av_clip(uvsrc_x,  -8, s->mb_width  *  8);
        uvsrc_y = av_clip(uvsrc_y,  -8, s->mb_height *  8);
    }else{
        uvsrc_x = av_clip(uvsrc_x,  -8, s->avctx->coded_width  >> 1);
        uvsrc_y = av_clip(uvsrc_y,  -8, s->avctx->coded_height >> 1);
    }
    srcU = s->last_picture.data[1] + uvsrc_y * s->uvlinesize + uvsrc_x;
    srcV = s->last_picture.data[2] + uvsrc_y * s->uvlinesize + uvsrc_x;
    if(v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)
       || (unsigned)uvsrc_x > (s->h_edge_pos >> 1) - 9
       || (unsigned)uvsrc_y > (s->v_edge_pos >> 1) - 9){
        ff_emulated_edge_mc(s->edge_emu_buffer     , srcU, s->uvlinesize, 8+1, 8+1,
                            uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, s->v_edge_pos >> 1);
        ff_emulated_edge_mc(s->edge_emu_buffer + 16, srcV, s->uvlinesize, 8+1, 8+1,
                            uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, s->v_edge_pos >> 1);
        srcU = s->edge_emu_buffer;
        srcV = s->edge_emu_buffer + 16;
        if(v->rangeredfrm) {
            int i, j;
            uint8_t *src, *src2;
            src = srcU; src2 = srcV;
            for(j = 0; j < 9; j++) {
                for(i = 0; i < 9; i++) {
                    src[i] = ((src[i] - 128) >> 1) + 128;
                    src2[i] = ((src2[i] - 128) >> 1) + 128;
                }
                src += s->uvlinesize;
                src2 += s->uvlinesize;
            }
        }
        if(v->mv_mode == MV_PMODE_INTENSITY_COMP) {
            int i, j;
            uint8_t *src, *src2;
            src = srcU; src2 = srcV;
            for(j = 0; j < 9; j++) {
                for(i = 0; i < 9; i++) {
                    src[i] = v->lutuv[src[i]];
                    src2[i] = v->lutuv[src2[i]];
                }
                src += s->uvlinesize;
                src2 += s->uvlinesize;
            }
        }
    }
    uvdxy = ((uvmy & 3) << 2) | (uvmx & 3);
    uvmx = (uvmx&3)<<1;
    uvmy = (uvmy&3)<<1;
    if(!v->rnd){
        dsp->put_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);
        dsp->put_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);
    }else{
        dsp->put_no_rnd_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);
        dsp->put_no_rnd_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);
    }
}
['static void vc1_mc_4mv_chroma(VC1Context *v)\n{\n    MpegEncContext *s = &v->s;\n    DSPContext *dsp = &v->s.dsp;\n    uint8_t *srcU, *srcV;\n    int uvdxy, uvmx, uvmy, uvsrc_x, uvsrc_y;\n    int i, idx, tx = 0, ty = 0;\n    int mvx[4], mvy[4], intra[4];\n    static const int count[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4};\n    if(!v->s.last_picture.data[0])return;\n    if(s->flags & CODEC_FLAG_GRAY) return;\n    for(i = 0; i < 4; i++) {\n        mvx[i] = s->mv[0][i][0];\n        mvy[i] = s->mv[0][i][1];\n        intra[i] = v->mb_type[0][s->block_index[i]];\n    }\n    idx = (intra[3] << 3) | (intra[2] << 2) | (intra[1] << 1) | intra[0];\n    if(!idx) {\n        tx = median4(mvx[0], mvx[1], mvx[2], mvx[3]);\n        ty = median4(mvy[0], mvy[1], mvy[2], mvy[3]);\n    } else if(count[idx] == 1) {\n        switch(idx) {\n        case 0x1:\n            tx = mid_pred(mvx[1], mvx[2], mvx[3]);\n            ty = mid_pred(mvy[1], mvy[2], mvy[3]);\n            break;\n        case 0x2:\n            tx = mid_pred(mvx[0], mvx[2], mvx[3]);\n            ty = mid_pred(mvy[0], mvy[2], mvy[3]);\n            break;\n        case 0x4:\n            tx = mid_pred(mvx[0], mvx[1], mvx[3]);\n            ty = mid_pred(mvy[0], mvy[1], mvy[3]);\n            break;\n        case 0x8:\n            tx = mid_pred(mvx[0], mvx[1], mvx[2]);\n            ty = mid_pred(mvy[0], mvy[1], mvy[2]);\n            break;\n        }\n    } else if(count[idx] == 2) {\n        int t1 = 0, t2 = 0;\n        for(i=0; i<3;i++) if(!intra[i]) {t1 = i; break;}\n        for(i= t1+1; i<4; i++)if(!intra[i]) {t2 = i; break;}\n        tx = (mvx[t1] + mvx[t2]) / 2;\n        ty = (mvy[t1] + mvy[t2]) / 2;\n    } else {\n        s->current_picture.motion_val[1][s->block_index[0]][0] = 0;\n        s->current_picture.motion_val[1][s->block_index[0]][1] = 0;\n        return;\n    }\n    s->current_picture.motion_val[1][s->block_index[0]][0] = tx;\n    s->current_picture.motion_val[1][s->block_index[0]][1] = ty;\n    uvmx = (tx + ((tx&3) == 3)) >> 1;\n    uvmy = (ty + ((ty&3) == 3)) >> 1;\n    if(v->fastuvmc) {\n        uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1));\n        uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1));\n    }\n    uvsrc_x = s->mb_x * 8 + (uvmx >> 2);\n    uvsrc_y = s->mb_y * 8 + (uvmy >> 2);\n    if(v->profile != PROFILE_ADVANCED){\n        uvsrc_x = av_clip(uvsrc_x,  -8, s->mb_width  *  8);\n        uvsrc_y = av_clip(uvsrc_y,  -8, s->mb_height *  8);\n    }else{\n        uvsrc_x = av_clip(uvsrc_x,  -8, s->avctx->coded_width  >> 1);\n        uvsrc_y = av_clip(uvsrc_y,  -8, s->avctx->coded_height >> 1);\n    }\n    srcU = s->last_picture.data[1] + uvsrc_y * s->uvlinesize + uvsrc_x;\n    srcV = s->last_picture.data[2] + uvsrc_y * s->uvlinesize + uvsrc_x;\n    if(v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)\n       || (unsigned)uvsrc_x > (s->h_edge_pos >> 1) - 9\n       || (unsigned)uvsrc_y > (s->v_edge_pos >> 1) - 9){\n        ff_emulated_edge_mc(s->edge_emu_buffer     , srcU, s->uvlinesize, 8+1, 8+1,\n                            uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, s->v_edge_pos >> 1);\n        ff_emulated_edge_mc(s->edge_emu_buffer + 16, srcV, s->uvlinesize, 8+1, 8+1,\n                            uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, s->v_edge_pos >> 1);\n        srcU = s->edge_emu_buffer;\n        srcV = s->edge_emu_buffer + 16;\n        if(v->rangeredfrm) {\n            int i, j;\n            uint8_t *src, *src2;\n            src = srcU; src2 = srcV;\n            for(j = 0; j < 9; j++) {\n                for(i = 0; i < 9; i++) {\n                    src[i] = ((src[i] - 128) >> 1) + 128;\n                    src2[i] = ((src2[i] - 128) >> 1) + 128;\n                }\n                src += s->uvlinesize;\n                src2 += s->uvlinesize;\n            }\n        }\n        if(v->mv_mode == MV_PMODE_INTENSITY_COMP) {\n            int i, j;\n            uint8_t *src, *src2;\n            src = srcU; src2 = srcV;\n            for(j = 0; j < 9; j++) {\n                for(i = 0; i < 9; i++) {\n                    src[i] = v->lutuv[src[i]];\n                    src2[i] = v->lutuv[src2[i]];\n                }\n                src += s->uvlinesize;\n                src2 += s->uvlinesize;\n            }\n        }\n    }\n    uvdxy = ((uvmy & 3) << 2) | (uvmx & 3);\n    uvmx = (uvmx&3)<<1;\n    uvmy = (uvmy&3)<<1;\n    if(!v->rnd){\n        dsp->put_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);\n        dsp->put_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);\n    }else{\n        dsp->put_no_rnd_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);\n        dsp->put_no_rnd_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);\n    }\n}']