# HG changeset patch # User andoma # Date 1192254611 0 # Node ID fb293531e983add79704660e891c8486201c50b9 # Parent 14a9ceb162d24a2894470f6745d01ba390f983ba Simplify tests for field macroblocks patch by Jeff Downs, heydowns a borg d com diff -r 14a9ceb162d2 -r fb293531e983 h264.c --- a/h264.c Sat Oct 13 01:34:00 2007 +0000 +++ b/h264.c Sat Oct 13 05:50:11 2007 +0000 @@ -1703,7 +1703,7 @@ const int full_mx= mx>>2; const int full_my= my>>2; const int pic_width = 16*s->mb_width; - const int pic_height = 16*s->mb_height >> (MB_MBAFF || FIELD_PICTURE); + const int pic_height = 16*s->mb_height >> MB_FIELD; if(!pic->data[0]) //FIXME this is unacceptable, some senseable error concealment must be done for missing reference frames return; @@ -1727,7 +1727,7 @@ if(ENABLE_GRAY && s->flags&CODEC_FLAG_GRAY) return; - if(MB_MBAFF || FIELD_PICTURE){ + if(MB_FIELD){ // chroma offset when predicting from a field of opposite parity my += 2 * ((s->mb_y & 1) - (h->ref_cache[list][scan8[n]] & 1)); emu |= (my>>3) < 0 || (my>>3) + 8 >= (pic_height>>1); @@ -1762,7 +1762,7 @@ dest_cb += x_offset + y_offset*h->mb_uvlinesize; dest_cr += x_offset + y_offset*h->mb_uvlinesize; x_offset += 8*s->mb_x; - y_offset += 8*(s->mb_y >> (MB_MBAFF || FIELD_PICTURE)); + y_offset += 8*(s->mb_y >> MB_FIELD); if(list0){ Picture *ref= &h->ref_list[0][ h->ref_cache[0][ scan8[n] ] ]; @@ -1795,7 +1795,7 @@ dest_cb += x_offset + y_offset*h->mb_uvlinesize; dest_cr += x_offset + y_offset*h->mb_uvlinesize; x_offset += 8*s->mb_x; - y_offset += 8*(s->mb_y >> (MB_MBAFF || FIELD_PICTURE)); + y_offset += 8*(s->mb_y >> MB_FIELD); if(list0 && list1){ /* don't optimize for luma-only case, since B-frames usually