Check the entire collocated block for zeromv context

Check through all the collcated blocks in the previous frame for
zeromv mode context.

Change-Id: I1a521d49573d3def125e1a09f22b8a34c661cebf
This commit is contained in:
Jingning Han 2016-04-05 10:30:52 -07:00
Родитель 4a1b6d8196
Коммит 604a546255
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -345,6 +345,10 @@ static void setup_ref_mv_list(const AV1_COMMON *cm, const MACROBLOCKD *xd,
for (ref = 0; ref < 2; ++ref) {
if (prev_frame_mvs->ref_frame[ref] == ref_frame) {
if (abs(prev_frame_mvs->mv[ref].as_mv.row) >= 16 ||
abs(prev_frame_mvs->mv[ref].as_mv.col) >= 16)
mode_context[ref_frame] |= (1 << ZEROMV_OFFSET);
for (idx = 0; idx < *refmv_count; ++idx)
if (prev_frame_mvs->mv[ref].as_int ==
ref_mv_stack[idx].this_mv.as_int)
@ -358,10 +362,6 @@ static void setup_ref_mv_list(const AV1_COMMON *cm, const MACROBLOCKD *xd,
ref_mv_stack[idx].this_mv.as_int = prev_frame_mvs->mv[ref].as_int;
ref_mv_stack[idx].weight = 2;
++(*refmv_count);
if (abs(ref_mv_stack[idx].this_mv.as_mv.row) >= 8 ||
abs(ref_mv_stack[idx].this_mv.as_mv.col) >= 8)
mode_context[ref_frame] |= (1 << ZEROMV_OFFSET);
}
++coll_blk_count;