mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-18 13:35:13 +00:00
Port col_parity code from spatial mode to temporal mode,
I also love it if people duplicate code and fix one but not the other. Originally committed as revision 14543 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
301e1057b8
commit
f0538030da
@ -1185,12 +1185,12 @@ static inline void pred_direct_motion(H264Context * const h, int *mb_type){
|
||||
else
|
||||
*mb_type |= MB_TYPE_8x8;
|
||||
}else{
|
||||
/* field to frame scaling */
|
||||
/* col_mb_y = (mb_y&~1) + (topAbsDiffPOC < bottomAbsDiffPOC ? 0 : 1)
|
||||
* but in MBAFF, top and bottom POC are equal */
|
||||
int dy = (s->mb_y&1) ? 1 : 2;
|
||||
int cur_poc = s->current_picture_ptr->poc;
|
||||
int *col_poc = h->ref_list[1]->field_poc;
|
||||
int col_parity = FFABS(col_poc[0] - cur_poc) >= FFABS(col_poc[1] - cur_poc);
|
||||
int dy = 2*col_parity - (s->mb_y&1);
|
||||
mb_types_col[0] =
|
||||
mb_types_col[1] = h->ref_list[1][0].mb_type[pair_xy+s->mb_stride];
|
||||
mb_types_col[1] = h->ref_list[1][0].mb_type[pair_xy + col_parity*s->mb_stride];
|
||||
l1ref0 += dy*h->b8_stride;
|
||||
l1ref1 += dy*h->b8_stride;
|
||||
l1mv0 += 2*dy*h->b_stride;
|
||||
|
Loading…
Reference in New Issue
Block a user