changeset 9698:9c9342d1ce14 libavcodec

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 <h.yamagata _a_ nifty com>
author conrad
date Sun, 24 May 2009 03:39:20 +0000
parents 99c39bb5c525
children 19c88aa29bec
files h264.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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];