libavcodec/vc1dec.c:608: error: Uninitialized Value
  The value read from ty was never initialized.

libavcodec/vc1dec.c:608:9: 
606.         }
607.         s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][0] = tx;
608.         s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][1] = ty;
             ^
609.         for (k = 0; k < 4; k++)
610.             v->mv_f[1][s->block_index[k] + v->blocks_off] = f;

static void vc1_mc_4mv_luma(VC1Context *v, int n, int dir)
{
    MpegEncContext *s = &v->s;
    DSPContext *dsp = &v->s.dsp;
    uint8_t *srcY;
    int dxy, mx, my, src_x, src_y;
    int off;
    int fieldmv = (v->fcm == ILACE_FRAME) ? v->blk_mv_type[s->block_index[n]] : 0;
    int v_edge_pos = s->v_edge_pos >> v->field_mode;
    if ((!v->field_mode ||
         (v->ref_field_type[dir] == 1 && v->cur_field_type == 1)) &&
        !v->s.last_picture.f.data[0])
        return;
    mx = s->mv[dir][n][0];
    my = s->mv[dir][n][1];
    if (!dir) {
        if (v->field_mode) {
            if ((v->cur_field_type != v->ref_field_type[dir]) && v->cur_field_type)
                srcY = s->current_picture.f.data[0];
            else
                srcY = s->last_picture.f.data[0];
        } else
            srcY = s->last_picture.f.data[0];
    } else
        srcY = s->next_picture.f.data[0];
    if (v->field_mode) {
        if (v->cur_field_type != v->ref_field_type[dir])
            my = my - 2 + 4 * v->cur_field_type;
    }
    if (s->pict_type == AV_PICTURE_TYPE_P && n == 3 && v->field_mode) {
        int same_count = 0, opp_count = 0, k;
        int chosen_mv[2][4][2], f;
        int tx, ty;
        for (k = 0; k < 4; k++) {
            f = v->mv_f[0][s->block_index[k] + v->blocks_off];
            chosen_mv[f][f ? opp_count : same_count][0] = s->mv[0][k][0];
            chosen_mv[f][f ? opp_count : same_count][1] = s->mv[0][k][1];
            opp_count  += f;
            same_count += 1 - f;
        }
        f = opp_count > same_count;
        switch (f ? opp_count : same_count) {
        case 4:
            tx = median4(chosen_mv[f][0][0], chosen_mv[f][1][0],
                         chosen_mv[f][2][0], chosen_mv[f][3][0]);
            ty = median4(chosen_mv[f][0][1], chosen_mv[f][1][1],
                         chosen_mv[f][2][1], chosen_mv[f][3][1]);
            break;
        case 3:
            tx = mid_pred(chosen_mv[f][0][0], chosen_mv[f][1][0], chosen_mv[f][2][0]);
            ty = mid_pred(chosen_mv[f][0][1], chosen_mv[f][1][1], chosen_mv[f][2][1]);
            break;
        case 2:
            tx = (chosen_mv[f][0][0] + chosen_mv[f][1][0]) / 2;
            ty = (chosen_mv[f][0][1] + chosen_mv[f][1][1]) / 2;
            break;
        }
        s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][0] = tx;
        s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][1] = ty;
        for (k = 0; k < 4; k++)
            v->mv_f[1][s->block_index[k] + v->blocks_off] = f;
    }
    if (v->fcm == ILACE_FRAME) {
        int qx, qy;
        int width  = s->avctx->coded_width;
        int height = s->avctx->coded_height >> 1;
        qx = (s->mb_x * 16) + (mx >> 2);
        qy = (s->mb_y *  8) + (my >> 3);
        if (qx < -17)
            mx -= 4 * (qx + 17);
        else if (qx > width)
            mx -= 4 * (qx - width);
        if (qy < -18)
            my -= 8 * (qy + 18);
        else if (qy > height + 1)
            my -= 8 * (qy - height - 1);
    }
    if ((v->fcm == ILACE_FRAME) && fieldmv)
        off = ((n > 1) ? s->linesize : 0) + (n & 1) * 8;
    else
        off = s->linesize * 4 * (n & 2) + (n & 1) * 8;
    if (v->field_mode && v->cur_field_type)
        off += s->current_picture_ptr->f.linesize[0];
    src_x = s->mb_x * 16 + (n & 1) * 8 + (mx >> 2);
    if (!fieldmv)
        src_y = s->mb_y * 16 + (n & 2) * 4 + (my >> 2);
    else
        src_y = s->mb_y * 16 + ((n > 1) ? 1 : 0) + (my >> 2);
    if (v->profile != PROFILE_ADVANCED) {
        src_x = av_clip(src_x, -16, s->mb_width  * 16);
        src_y = av_clip(src_y, -16, s->mb_height * 16);
    } else {
        src_x = av_clip(src_x, -17, s->avctx->coded_width);
        if (v->fcm == ILACE_FRAME) {
            if (src_y & 1)
                src_y = av_clip(src_y, -17, s->avctx->coded_height + 1);
            else
                src_y = av_clip(src_y, -18, s->avctx->coded_height);
        } else {
            src_y = av_clip(src_y, -18, s->avctx->coded_height + 1);
        }
    }
    srcY += src_y * s->linesize + src_x;
    if (v->field_mode && v->ref_field_type[dir])
        srcY += s->current_picture_ptr->f.linesize[0];
    if (fieldmv && !(src_y & 1))
        v_edge_pos--;
    if (fieldmv && (src_y & 1) && src_y < 4)
        src_y--;
    if (v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)
        || s->h_edge_pos < 13 || v_edge_pos < 23
        || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx & 3) - 8 - s->mspel * 2
        || (unsigned)(src_y - (s->mspel << fieldmv)) > v_edge_pos - (my & 3) - ((8 + s->mspel * 2) << fieldmv)) {
        srcY -= s->mspel * (1 + (s->linesize << fieldmv));
        s->vdsp.emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize,
                                 9 + s->mspel * 2, (9 + s->mspel * 2) << fieldmv,
                                 src_x - s->mspel, src_y - (s->mspel << fieldmv),
                                 s->h_edge_pos, v_edge_pos);
        srcY = s->edge_emu_buffer;
        if (v->rangeredfrm) {
            int i, j;
            uint8_t *src;
            src = srcY;
            for (j = 0; j < 9 + s->mspel * 2; j++) {
                for (i = 0; i < 9 + s->mspel * 2; i++)
                    src[i] = ((src[i] - 128) >> 1) + 128;
                src += s->linesize << fieldmv;
            }
        }
        if (v->mv_mode == MV_PMODE_INTENSITY_COMP) {
            int i, j;
            uint8_t *src;
            src = srcY;
            for (j = 0; j < 9 + s->mspel * 2; j++) {
                for (i = 0; i < 9 + s->mspel * 2; i++)
                    src[i] = v->luty[src[i]];
                src += s->linesize << fieldmv;
            }
        }
        srcY += s->mspel * (1 + (s->linesize << fieldmv));
    }
    if (s->mspel) {
        dxy = ((my & 3) << 2) | (mx & 3);
        v->vc1dsp.put_vc1_mspel_pixels_tab[dxy](s->dest[0] + off, srcY, s->linesize << fieldmv, v->rnd);
    } else {
        dxy = (my & 2) | ((mx & 2) >> 1);
        if (!v->rnd)
            dsp->put_pixels_tab[1][dxy](s->dest[0] + off, srcY, s->linesize, 8);
        else
            dsp->put_no_rnd_pixels_tab[1][dxy](s->dest[0] + off, srcY, s->linesize, 8);
    }
}
['static void vc1_mc_4mv_luma(VC1Context *v, int n, int dir)\n{\n    MpegEncContext *s = &v->s;\n    DSPContext *dsp = &v->s.dsp;\n    uint8_t *srcY;\n    int dxy, mx, my, src_x, src_y;\n    int off;\n    int fieldmv = (v->fcm == ILACE_FRAME) ? v->blk_mv_type[s->block_index[n]] : 0;\n    int v_edge_pos = s->v_edge_pos >> v->field_mode;\n    if ((!v->field_mode ||\n         (v->ref_field_type[dir] == 1 && v->cur_field_type == 1)) &&\n        !v->s.last_picture.f.data[0])\n        return;\n    mx = s->mv[dir][n][0];\n    my = s->mv[dir][n][1];\n    if (!dir) {\n        if (v->field_mode) {\n            if ((v->cur_field_type != v->ref_field_type[dir]) && v->cur_field_type)\n                srcY = s->current_picture.f.data[0];\n            else\n                srcY = s->last_picture.f.data[0];\n        } else\n            srcY = s->last_picture.f.data[0];\n    } else\n        srcY = s->next_picture.f.data[0];\n    if (v->field_mode) {\n        if (v->cur_field_type != v->ref_field_type[dir])\n            my = my - 2 + 4 * v->cur_field_type;\n    }\n    if (s->pict_type == AV_PICTURE_TYPE_P && n == 3 && v->field_mode) {\n        int same_count = 0, opp_count = 0, k;\n        int chosen_mv[2][4][2], f;\n        int tx, ty;\n        for (k = 0; k < 4; k++) {\n            f = v->mv_f[0][s->block_index[k] + v->blocks_off];\n            chosen_mv[f][f ? opp_count : same_count][0] = s->mv[0][k][0];\n            chosen_mv[f][f ? opp_count : same_count][1] = s->mv[0][k][1];\n            opp_count  += f;\n            same_count += 1 - f;\n        }\n        f = opp_count > same_count;\n        switch (f ? opp_count : same_count) {\n        case 4:\n            tx = median4(chosen_mv[f][0][0], chosen_mv[f][1][0],\n                         chosen_mv[f][2][0], chosen_mv[f][3][0]);\n            ty = median4(chosen_mv[f][0][1], chosen_mv[f][1][1],\n                         chosen_mv[f][2][1], chosen_mv[f][3][1]);\n            break;\n        case 3:\n            tx = mid_pred(chosen_mv[f][0][0], chosen_mv[f][1][0], chosen_mv[f][2][0]);\n            ty = mid_pred(chosen_mv[f][0][1], chosen_mv[f][1][1], chosen_mv[f][2][1]);\n            break;\n        case 2:\n            tx = (chosen_mv[f][0][0] + chosen_mv[f][1][0]) / 2;\n            ty = (chosen_mv[f][0][1] + chosen_mv[f][1][1]) / 2;\n            break;\n        }\n        s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][0] = tx;\n        s->current_picture.motion_val[1][s->block_index[0] + v->blocks_off][1] = ty;\n        for (k = 0; k < 4; k++)\n            v->mv_f[1][s->block_index[k] + v->blocks_off] = f;\n    }\n    if (v->fcm == ILACE_FRAME) {\n        int qx, qy;\n        int width  = s->avctx->coded_width;\n        int height = s->avctx->coded_height >> 1;\n        qx = (s->mb_x * 16) + (mx >> 2);\n        qy = (s->mb_y *  8) + (my >> 3);\n        if (qx < -17)\n            mx -= 4 * (qx + 17);\n        else if (qx > width)\n            mx -= 4 * (qx - width);\n        if (qy < -18)\n            my -= 8 * (qy + 18);\n        else if (qy > height + 1)\n            my -= 8 * (qy - height - 1);\n    }\n    if ((v->fcm == ILACE_FRAME) && fieldmv)\n        off = ((n > 1) ? s->linesize : 0) + (n & 1) * 8;\n    else\n        off = s->linesize * 4 * (n & 2) + (n & 1) * 8;\n    if (v->field_mode && v->cur_field_type)\n        off += s->current_picture_ptr->f.linesize[0];\n    src_x = s->mb_x * 16 + (n & 1) * 8 + (mx >> 2);\n    if (!fieldmv)\n        src_y = s->mb_y * 16 + (n & 2) * 4 + (my >> 2);\n    else\n        src_y = s->mb_y * 16 + ((n > 1) ? 1 : 0) + (my >> 2);\n    if (v->profile != PROFILE_ADVANCED) {\n        src_x = av_clip(src_x, -16, s->mb_width  * 16);\n        src_y = av_clip(src_y, -16, s->mb_height * 16);\n    } else {\n        src_x = av_clip(src_x, -17, s->avctx->coded_width);\n        if (v->fcm == ILACE_FRAME) {\n            if (src_y & 1)\n                src_y = av_clip(src_y, -17, s->avctx->coded_height + 1);\n            else\n                src_y = av_clip(src_y, -18, s->avctx->coded_height);\n        } else {\n            src_y = av_clip(src_y, -18, s->avctx->coded_height + 1);\n        }\n    }\n    srcY += src_y * s->linesize + src_x;\n    if (v->field_mode && v->ref_field_type[dir])\n        srcY += s->current_picture_ptr->f.linesize[0];\n    if (fieldmv && !(src_y & 1))\n        v_edge_pos--;\n    if (fieldmv && (src_y & 1) && src_y < 4)\n        src_y--;\n    if (v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)\n        || s->h_edge_pos < 13 || v_edge_pos < 23\n        || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx & 3) - 8 - s->mspel * 2\n        || (unsigned)(src_y - (s->mspel << fieldmv)) > v_edge_pos - (my & 3) - ((8 + s->mspel * 2) << fieldmv)) {\n        srcY -= s->mspel * (1 + (s->linesize << fieldmv));\n        s->vdsp.emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize,\n                                 9 + s->mspel * 2, (9 + s->mspel * 2) << fieldmv,\n                                 src_x - s->mspel, src_y - (s->mspel << fieldmv),\n                                 s->h_edge_pos, v_edge_pos);\n        srcY = s->edge_emu_buffer;\n        if (v->rangeredfrm) {\n            int i, j;\n            uint8_t *src;\n            src = srcY;\n            for (j = 0; j < 9 + s->mspel * 2; j++) {\n                for (i = 0; i < 9 + s->mspel * 2; i++)\n                    src[i] = ((src[i] - 128) >> 1) + 128;\n                src += s->linesize << fieldmv;\n            }\n        }\n        if (v->mv_mode == MV_PMODE_INTENSITY_COMP) {\n            int i, j;\n            uint8_t *src;\n            src = srcY;\n            for (j = 0; j < 9 + s->mspel * 2; j++) {\n                for (i = 0; i < 9 + s->mspel * 2; i++)\n                    src[i] = v->luty[src[i]];\n                src += s->linesize << fieldmv;\n            }\n        }\n        srcY += s->mspel * (1 + (s->linesize << fieldmv));\n    }\n    if (s->mspel) {\n        dxy = ((my & 3) << 2) | (mx & 3);\n        v->vc1dsp.put_vc1_mspel_pixels_tab[dxy](s->dest[0] + off, srcY, s->linesize << fieldmv, v->rnd);\n    } else {\n        dxy = (my & 2) | ((mx & 2) >> 1);\n        if (!v->rnd)\n            dsp->put_pixels_tab[1][dxy](s->dest[0] + off, srcY, s->linesize, 8);\n        else\n            dsp->put_no_rnd_pixels_tab[1][dxy](s->dest[0] + off, srcY, s->linesize, 8);\n    }\n}']