Mercurial > libavcodec.hg
comparison h264_direct.c @ 11090:eda7b4f6db51 libavcodec
Remove FIXMEs for cases that are disallowed by the spec.
author | michael |
---|---|
date | Sun, 07 Feb 2010 15:13:56 +0000 |
parents | 1bfb70c225bb |
children | 74748a220032 |
comparison
equal
deleted
inserted
replaced
11089:68fa9b353337 | 11090:eda7b4f6db51 |
---|---|
170 mb_xy= s->mb_x + (s->mb_y&~1)*s->mb_stride; | 170 mb_xy= s->mb_x + (s->mb_y&~1)*s->mb_stride; |
171 mb_type_col[0] = h->ref_list[1][0].mb_type[mb_xy]; | 171 mb_type_col[0] = h->ref_list[1][0].mb_type[mb_xy]; |
172 mb_type_col[1] = h->ref_list[1][0].mb_type[mb_xy + s->mb_stride]; | 172 mb_type_col[1] = h->ref_list[1][0].mb_type[mb_xy + s->mb_stride]; |
173 b8_stride *= 3; | 173 b8_stride *= 3; |
174 b4_stride *= 6; | 174 b4_stride *= 6; |
175 //FIXME IS_8X8(mb_type_col[0]) && !h->sps.direct_8x8_inference_flag | 175 |
176 if( (mb_type_col[0] & MB_TYPE_16x16_OR_INTRA) | 176 if( (mb_type_col[0] & MB_TYPE_16x16_OR_INTRA) |
177 && (mb_type_col[1] & MB_TYPE_16x16_OR_INTRA) | 177 && (mb_type_col[1] & MB_TYPE_16x16_OR_INTRA) |
178 && !is_b8x8){ | 178 && !is_b8x8){ |
179 sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ | 179 sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */ |
180 *mb_type |= MB_TYPE_16x8 |MB_TYPE_L0L1|MB_TYPE_DIRECT2; /* B_16x8 */ | 180 *mb_type |= MB_TYPE_16x8 |MB_TYPE_L0L1|MB_TYPE_DIRECT2; /* B_16x8 */ |
355 } | 355 } |
356 if(h->ref_list[1][0].mbaff && IS_INTERLACED(mb_type_col[0])) | 356 if(h->ref_list[1][0].mbaff && IS_INTERLACED(mb_type_col[0])) |
357 ref_offset += 16; | 357 ref_offset += 16; |
358 | 358 |
359 if(IS_INTERLACED(*mb_type) != IS_INTERLACED(mb_type_col[0])){ | 359 if(IS_INTERLACED(*mb_type) != IS_INTERLACED(mb_type_col[0])){ |
360 /* FIXME assumes direct_8x8_inference == 1 */ | |
361 int y_shift = 2*!IS_INTERLACED(*mb_type); | 360 int y_shift = 2*!IS_INTERLACED(*mb_type); |
362 assert(h->sps.direct_8x8_inference_flag); | 361 assert(h->sps.direct_8x8_inference_flag); |
363 | 362 |
364 for(i8=0; i8<4; i8++){ | 363 for(i8=0; i8<4; i8++){ |
365 const int x8 = i8&1; | 364 const int x8 = i8&1; |