# HG changeset patch # User michael # Date 1263951512 0 # Node ID df6bda2aa59a60ef0700286a431651c92968eede # Parent 5a23fa01dec1a7618c1fc534f4e9e6ee27d81d52 Set bS with 64bits at a time. diff -r 5a23fa01dec1 -r df6bda2aa59a h264_loopfilter.c --- a/h264_loopfilter.c Wed Jan 20 01:15:30 2010 +0000 +++ b/h264_loopfilter.c Wed Jan 20 01:38:32 2010 +0000 @@ -459,7 +459,7 @@ for(j=0; j<2; j++, mbn_xy += s->mb_stride){ if( IS_INTRA(mb_type|s->current_picture.mb_type[mbn_xy]) ) { - bS[0] = bS[1] = bS[2] = bS[3] = 3; + *(uint64_t*)bS= 0x0003000300030003ULL; } else { const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy]; for( i = 0; i < 4; i++ ) { @@ -509,11 +509,11 @@ int mv_done; if( edge & mask_edge ) { - bS[0] = bS[1] = bS[2] = bS[3] = 0; + *(uint64_t*)bS= 0; mv_done = 1; } else if( FRAME_MBAFF && IS_INTERLACED(mb_type ^ mbn_type)) { - bS[0] = bS[1] = bS[2] = bS[3] = 1; + *(uint64_t*)bS= 0x0001000100010001ULL; mv_done = 1; } else if( mask_par0 && (edge || (mbn_type & (MB_TYPE_16x16 | (MB_TYPE_8x16 >> dir)))) ) { @@ -641,7 +641,8 @@ first_vertical_edge_done = 1; if( IS_INTRA(mb_type) ) - bS[0] = bS[1] = bS[2] = bS[3] = bS[4] = bS[5] = bS[6] = bS[7] = 4; + *(uint64_t*)&bS[0]= + *(uint64_t*)&bS[4]= 0x0004000400040004ULL; else { for( i = 0; i < 8; i++ ) { int mbn_xy = MB_FIELD ? left_mb_xy[i>>2] : left_mb_xy[i&1];