h264: move map_col_to_list0[_field] into the per-slice context

This commit is contained in:
Anton Khirnov 2015-01-17 22:28:46 +01:00
parent ee0d774dfa
commit 7747726667
2 changed files with 8 additions and 9 deletions

View file

@ -145,10 +145,10 @@ void ff_h264_direct_ref_list_init(H264Context *const h, H264SliceContext *sl)
return;
for (list = 0; list < 2; list++) {
fill_colmap(h, h->map_col_to_list0, list, sidx, ref1sidx, 0);
fill_colmap(h, sl->map_col_to_list0, list, sidx, ref1sidx, 0);
if (FRAME_MBAFF(h))
for (field = 0; field < 2; field++)
fill_colmap(h, h->map_col_to_list0_field[field], list, field,
fill_colmap(h, sl->map_col_to_list0_field[field], list, field,
field, 1);
}
}
@ -554,14 +554,14 @@ single_col:
}
{
const int *map_col_to_list0[2] = { h->map_col_to_list0[0],
h->map_col_to_list0[1] };
const int *map_col_to_list0[2] = { sl->map_col_to_list0[0],
sl->map_col_to_list0[1] };
const int *dist_scale_factor = sl->dist_scale_factor;
int ref_offset;
if (FRAME_MBAFF(h) && IS_INTERLACED(*mb_type)) {
map_col_to_list0[0] = h->map_col_to_list0_field[h->mb_y & 1][0];
map_col_to_list0[1] = h->map_col_to_list0_field[h->mb_y & 1][1];
map_col_to_list0[0] = sl->map_col_to_list0_field[h->mb_y & 1][0];
map_col_to_list0[1] = sl->map_col_to_list0_field[h->mb_y & 1][1];
dist_scale_factor = sl->dist_scale_factor_field[h->mb_y & 1];
}
ref_offset = (h->ref_list[1][0].mbaff << 4) & (mb_type_col[0] >> 3);