# HG changeset patch # User michael # Date 1218382786 0 # Node ID ebdac291453ad5b633e2fc424d8411e5e6fbae67 # Parent 3749f13a0d02ed0a3cdf69ab9eb67e6c70f0f1d4 Remove a few more lines of unneeded code in fill_caches() for MBAFF. Also document why the remaining related part is apparently needed. diff -r 3749f13a0d02 -r ebdac291453a h264.c --- a/h264.c Sun Aug 10 02:38:51 2008 +0000 +++ b/h264.c Sun Aug 10 15:39:46 2008 +0000 @@ -182,9 +182,12 @@ left_type[0] = h->slice_table[left_xy[0] ] < 255 ? s->current_picture.mb_type[left_xy[0]] : 0; left_type[1] = h->slice_table[left_xy[1] ] < 255 ? s->current_picture.mb_type[left_xy[1]] : 0; - if(FRAME_MBAFF && !IS_INTRA(mb_type)){ + if(MB_MBAFF && !IS_INTRA(mb_type)){ int list; for(list=0; listlist_count; list++){ + //These values where changed for ease of performing MC, we need to change them back + //FIXME maybe we can make MC and loop filter use the same values or prevent + //the MC code from changing ref_cache and rather use a temporary array. if(USES_LIST(mb_type,list)){ int8_t *ref = &s->current_picture.ref_index[list][h->mb2b8_xy[mb_xy]]; *(uint32_t*)&h->ref_cache[list][scan8[ 0]] = @@ -192,9 +195,6 @@ ref += h->b8_stride; *(uint32_t*)&h->ref_cache[list][scan8[ 8]] = *(uint32_t*)&h->ref_cache[list][scan8[10]] = pack16to32(ref[0],ref[1])*0x0101; - }else{ - fill_rectangle(&h-> mv_cache[list][scan8[ 0]], 4, 4, 8, 0, 4); - fill_rectangle(&h->ref_cache[list][scan8[ 0]], 4, 4, 8, (uint8_t)LIST_NOT_USED, 1); } } }