diff h264.c @ 4037:53be304c7f54 libavcodec

x86 asm version of the decode significance loop (not 8x8) of decode_residual() 5% faster decode_residual() on P3
author michael
date Tue, 17 Oct 2006 22:18:29 +0000
parents 29ea06410ce7
children 16697bdf4ac2
line wrap: on
line diff
--- a/h264.c	Tue Oct 17 10:26:37 2006 +0000
+++ b/h264.c	Tue Oct 17 22:18:29 2006 +0000
@@ -6116,14 +6116,18 @@
                     break; \
                 } \
             } \
+        }\
+        if( last == max_coeff -1 ) {\
+            index[coeff_count++] = last;\
         }
         const uint8_t *sig_off = significant_coeff_flag_offset_8x8[MB_FIELD];
         DECODE_SIGNIFICANCE( 63, sig_off[last], last_coeff_flag_offset_8x8[last] );
     } else {
+#ifdef ARCH_X86
+        coeff_count= decode_significance_x86(&h->cabac, max_coeff, significant_coeff_ctx_base, index);
+#else
         DECODE_SIGNIFICANCE( max_coeff - 1, last, last );
-    }
-    if( last == max_coeff -1 ) {
-        index[coeff_count++] = last;
+#endif
     }
     assert(coeff_count > 0);