# HG changeset patch # User michael # Date 1264707853 0 # Node ID 5f712d7347934abe43cf3063c13f26e40411cc83 # Parent 3f66d1d80e034d331a52bfd8a03c09d098fe6599 factorize first filter call out, this makes the code somewhat smaller without any speed loss. diff -r 3f66d1d80e03 -r 5f712d734793 h264_loopfilter.c --- a/h264_loopfilter.c Thu Jan 28 14:29:53 2010 +0000 +++ b/h264_loopfilter.c Thu Jan 28 19:44:13 2010 +0000 @@ -340,15 +340,13 @@ int16_t bS4[4] = {4,4,4,4}; int16_t bS3[4] = {3,3,3,3}; int16_t *bSH = FIELD_PICTURE ? bS3 : bS4; + if(left_type) + filter_mb_edgev( &img_y[4*0], linesize, bS4, qp0, h); if( IS_8x8DCT(mb_type) ) { - if(left_type) - filter_mb_edgev( &img_y[4*0], linesize, bS4, qp0, h); filter_mb_edgev( &img_y[4*2], linesize, bS3, qp, h); filter_mb_edgeh( &img_y[4*0*linesize], linesize, bSH, qp1, h); filter_mb_edgeh( &img_y[4*2*linesize], linesize, bS3, qp, h); } else { - if(left_type) - filter_mb_edgev( &img_y[4*0], linesize, bS4, qp0, h); filter_mb_edgev( &img_y[4*1], linesize, bS3, qp, h); filter_mb_edgev( &img_y[4*2], linesize, bS3, qp, h); filter_mb_edgev( &img_y[4*3], linesize, bS3, qp, h); @@ -399,19 +397,15 @@ filter_mb_edgec##hv( &img_cr[2*edge*(dir?uvlinesize:1)], uvlinesize, bS[dir][edge], edge ? qpc : qpc##dir, h );\ }\ } + if(left_type) + FILTER(v,0,0); if( edges == 1 ) { - if(left_type) - FILTER(v,0,0); FILTER(h,1,0); } else if( IS_8x8DCT(mb_type) ) { - if(left_type) - FILTER(v,0,0); FILTER(v,0,2); FILTER(h,1,0); FILTER(h,1,2); } else { - if(left_type) - FILTER(v,0,0); FILTER(v,0,1); FILTER(v,0,2); FILTER(v,0,3);