Mercurial > libavcodec.hg
comparison h263.c @ 3205:198f8b01424d libavcodec
fixing interlaced direct mode field select values
author | michael |
---|---|
date | Mon, 20 Mar 2006 01:18:56 +0000 |
parents | 01d00733caee |
children | ac7bfc9bf1a4 |
comparison
equal
deleted
inserted
replaced
3204:5fc631919a98 | 3205:198f8b01424d |
---|---|
580 return MB_TYPE_DIRECT2 | MB_TYPE_8x8 | MB_TYPE_L0L1; | 580 return MB_TYPE_DIRECT2 | MB_TYPE_8x8 | MB_TYPE_L0L1; |
581 } else if(IS_INTERLACED(colocated_mb_type)){ | 581 } else if(IS_INTERLACED(colocated_mb_type)){ |
582 s->mv_type = MV_TYPE_FIELD; | 582 s->mv_type = MV_TYPE_FIELD; |
583 for(i=0; i<2; i++){ | 583 for(i=0; i<2; i++){ |
584 int field_select= s->next_picture.ref_index[0][s->block_index[2*i]]; | 584 int field_select= s->next_picture.ref_index[0][s->block_index[2*i]]; |
585 s->field_select[0][i]= field_select; | |
586 s->field_select[1][i]= i; | |
585 if(s->top_field_first){ | 587 if(s->top_field_first){ |
586 time_pp= s->pp_field_time - field_select + i; | 588 time_pp= s->pp_field_time - field_select + i; |
587 time_pb= s->pb_field_time - field_select + i; | 589 time_pb= s->pb_field_time - field_select + i; |
588 }else{ | 590 }else{ |
589 time_pp= s->pp_field_time + field_select - i; | 591 time_pp= s->pp_field_time + field_select - i; |