libavcodec/vp9mvs.c:338: error: Uninitialized Value
  The value read from hp was never initialized.

libavcodec/vp9mvs.c:338:32: 
336.                 s->counts.mv_joint[j]++;
337.                 if (j >= MV_JOINT_V)
338.                     mv[1].y += read_mv_component(s, 0, hp);
                                    ^
339.                 if (j & 1)
340.                     mv[1].x += read_mv_component(s, 1, hp);

void ff_vp9_fill_mv(VP9Context *s, VP56mv *mv, int mode, int sb)
{
    VP9Block *const b = &s->b;
    if (mode == ZEROMV) {
        memset(mv, 0, sizeof(*mv) * 2);
    } else {
        int hp;
        find_ref_mvs(s, &mv[0], b->ref[0], 0, mode == NEARMV,
                     mode == NEWMV ? -1 : sb);
        if ((mode == NEWMV || sb == -1) &&
            !(hp = s->highprecisionmvs &&
              abs(mv[0].x) < 64 && abs(mv[0].y) < 64)) {
            if (mv[0].y & 1) {
                if (mv[0].y < 0)
                    mv[0].y++;
                else
                    mv[0].y--;
            }
            if (mv[0].x & 1) {
                if (mv[0].x < 0)
                    mv[0].x++;
                else
                    mv[0].x--;
            }
        }
        if (mode == NEWMV) {
            enum MVJoint j = vp8_rac_get_tree(&s->c, ff_vp9_mv_joint_tree,
                                              s->prob.p.mv_joint);
            s->counts.mv_joint[j]++;
            if (j >= MV_JOINT_V)
                mv[0].y += read_mv_component(s, 0, hp);
            if (j & 1)
                mv[0].x += read_mv_component(s, 1, hp);
        }
        if (b->comp) {
            find_ref_mvs(s, &mv[1], b->ref[1], 1, mode == NEARMV,
                         mode == NEWMV ? -1 : sb);
            if ((mode == NEWMV || sb == -1) &&
                !(hp = s->highprecisionmvs &&
                  abs(mv[1].x) < 64 && abs(mv[1].y) < 64)) {
                if (mv[1].y & 1) {
                    if (mv[1].y < 0)
                        mv[1].y++;
                    else
                        mv[1].y--;
                }
                if (mv[1].x & 1) {
                    if (mv[1].x < 0)
                        mv[1].x++;
                    else
                        mv[1].x--;
                }
            }
            if (mode == NEWMV) {
                enum MVJoint j = vp8_rac_get_tree(&s->c, ff_vp9_mv_joint_tree,
                                                  s->prob.p.mv_joint);
                s->counts.mv_joint[j]++;
                if (j >= MV_JOINT_V)
                    mv[1].y += read_mv_component(s, 0, hp);
                if (j & 1)
                    mv[1].x += read_mv_component(s, 1, hp);
            }
        }
    }
}
['void ff_vp9_fill_mv(VP9Context *s, VP56mv *mv, int mode, int sb)\n{\n    VP9Block *const b = &s->b;\n    if (mode == ZEROMV) {\n        memset(mv, 0, sizeof(*mv) * 2);\n    } else {\n        int hp;\n        find_ref_mvs(s, &mv[0], b->ref[0], 0, mode == NEARMV,\n                     mode == NEWMV ? -1 : sb);\n        if ((mode == NEWMV || sb == -1) &&\n            !(hp = s->highprecisionmvs &&\n              abs(mv[0].x) < 64 && abs(mv[0].y) < 64)) {\n            if (mv[0].y & 1) {\n                if (mv[0].y < 0)\n                    mv[0].y++;\n                else\n                    mv[0].y--;\n            }\n            if (mv[0].x & 1) {\n                if (mv[0].x < 0)\n                    mv[0].x++;\n                else\n                    mv[0].x--;\n            }\n        }\n        if (mode == NEWMV) {\n            enum MVJoint j = vp8_rac_get_tree(&s->c, ff_vp9_mv_joint_tree,\n                                              s->prob.p.mv_joint);\n            s->counts.mv_joint[j]++;\n            if (j >= MV_JOINT_V)\n                mv[0].y += read_mv_component(s, 0, hp);\n            if (j & 1)\n                mv[0].x += read_mv_component(s, 1, hp);\n        }\n        if (b->comp) {\n            find_ref_mvs(s, &mv[1], b->ref[1], 1, mode == NEARMV,\n                         mode == NEWMV ? -1 : sb);\n            if ((mode == NEWMV || sb == -1) &&\n                !(hp = s->highprecisionmvs &&\n                  abs(mv[1].x) < 64 && abs(mv[1].y) < 64)) {\n                if (mv[1].y & 1) {\n                    if (mv[1].y < 0)\n                        mv[1].y++;\n                    else\n                        mv[1].y--;\n                }\n                if (mv[1].x & 1) {\n                    if (mv[1].x < 0)\n                        mv[1].x++;\n                    else\n                        mv[1].x--;\n                }\n            }\n            if (mode == NEWMV) {\n                enum MVJoint j = vp8_rac_get_tree(&s->c, ff_vp9_mv_joint_tree,\n                                                  s->prob.p.mv_joint);\n                s->counts.mv_joint[j]++;\n                if (j >= MV_JOINT_V)\n                    mv[1].y += read_mv_component(s, 0, hp);\n                if (j & 1)\n                    mv[1].x += read_mv_component(s, 1, hp);\n            }\n        }\n    }\n}']