Commit e84194f0 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'ed2d7d58'

* commit 'ed2d7d58':
  ff_h264_direct_ref_list_init: fix B slice check.
  h264: increase dist_scale_factor for up to 32 references
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents af804dbe ed2d7d58
......@@ -368,7 +368,7 @@ typedef struct H264Context {
int direct_spatial_mv_pred;
int col_parity;
int col_fieldoff;
int dist_scale_factor[16];
int dist_scale_factor[32];
int dist_scale_factor_field[2][32];
int map_col_to_list0[2][16 + 32];
int map_col_to_list0_field[2][2][16 + 32];
......
......@@ -54,14 +54,17 @@ void ff_h264_direct_dist_scale_factor(H264Context * const h){
const int poc = h->s.current_picture_ptr->field_poc[ s->picture_structure == PICT_BOTTOM_FIELD ];
const int poc1 = h->ref_list[1][0].poc;
int i, field;
for(field=0; field<2; field++){
const int poc = h->s.current_picture_ptr->field_poc[field];
const int poc1 = h->ref_list[1][0].field_poc[field];
for(i=0; i < 2*h->ref_count[0]; i++)
h->dist_scale_factor_field[field][i^field] = get_scale_factor(h, poc, poc1, i+16);
}
for(i=0; i<h->ref_count[0]; i++){
if (FRAME_MBAFF)
for (field = 0; field < 2; field++){
const int poc = h->s.current_picture_ptr->field_poc[field];
const int poc1 = h->ref_list[1][0].field_poc[field];
for (i = 0; i < 2 * h->ref_count[0]; i++)
h->dist_scale_factor_field[field][i^field] =
get_scale_factor(h, poc, poc1, i+16);
}
for (i = 0; i < h->ref_count[0]; i++){
h->dist_scale_factor[i] = get_scale_factor(h, poc, poc1, i);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment