# HG changeset patch # User conrad # Date 1243136360 0 # Node ID 9c9342d1ce1440f86ac49df8689f7046df5dda34 # Parent 99c39bb5c5259852fb90dee0ac5a96ae5239f3d3 H264: Don't deblock if alpha or beta is 0. This ensures that the MMX loop filter is always bitexact with the C version. Patch by Haruhiko Yamagata diff -r 99c39bb5c525 -r 9c9342d1ce14 h264.c --- a/h264.c Sat May 23 23:02:33 2009 +0000 +++ b/h264.c Sun May 24 03:39:20 2009 +0000 @@ -6003,6 +6003,7 @@ const int index_a = qp + h->slice_alpha_c0_offset; const int alpha = (alpha_table+52)[index_a]; const int beta = (beta_table+52)[qp + h->slice_beta_offset]; + if (alpha ==0 || beta == 0) return; if( bS[0] < 4 ) { int8_t tc[4]; @@ -6019,6 +6020,7 @@ const int index_a = qp + h->slice_alpha_c0_offset; const int alpha = (alpha_table+52)[index_a]; const int beta = (beta_table+52)[qp + h->slice_beta_offset]; + if (alpha ==0 || beta == 0) return; if( bS[0] < 4 ) { int8_t tc[4]; @@ -6187,6 +6189,7 @@ const int index_a = qp + h->slice_alpha_c0_offset; const int alpha = (alpha_table+52)[index_a]; const int beta = (beta_table+52)[qp + h->slice_beta_offset]; + if (alpha ==0 || beta == 0) return; if( bS[0] < 4 ) { int8_t tc[4]; @@ -6204,6 +6207,7 @@ const int index_a = qp + h->slice_alpha_c0_offset; const int alpha = (alpha_table+52)[index_a]; const int beta = (beta_table+52)[qp + h->slice_beta_offset]; + if (alpha ==0 || beta == 0) return; if( bS[0] < 4 ) { int8_t tc[4];