[Ffmpeg-cvslog] r6612 - trunk/libavcodec/cabac.h

michael subversion
Mon Oct 9 23:57:11 CEST 2006


Author: michael
Date: Mon Oct  9 23:57:10 2006
New Revision: 6612

Modified:
   trunk/libavcodec/cabac.h

Log:
reading 8bit mem into a 8bit register needs 2 uops on P4, 8bit->32bit with zero extension needs just 1


Modified: trunk/libavcodec/cabac.h
==============================================================================
--- trunk/libavcodec/cabac.h	(original)
+++ trunk/libavcodec/cabac.h	Mon Oct  9 23:57:10 2006
@@ -393,7 +393,7 @@
         "setb %%cl                              \n\t"
         "shl %%cl, %%edx                        \n\t"
         "shl %%cl, %%ebx                        \n\t"
-        "movb "MPS_STATE"(%2, %%eax), %%cl      \n\t"
+        "movzbl "MPS_STATE"(%2, %%eax), %%ecx   \n\t"
         "movb %%cl, (%1)                        \n\t"
 //eax:state ebx:low, edx:range, esi:RangeLPS
         "test %%bx, %%bx                        \n\t"
@@ -412,10 +412,10 @@
         "subl %%edx, %%ebx                      \n\t"
         "movl %%esi, %%edx                      \n\t"
         "shr $19, %%esi                         \n\t"
-        "movb " MANGLE(ff_h264_norm_shift) "(%%esi), %%cl   \n\t"
+        "movzbl " MANGLE(ff_h264_norm_shift) "(%%esi), %%ecx   \n\t"
         "shll %%cl, %%ebx                       \n\t"
         "shll %%cl, %%edx                       \n\t"
-        "movb "LPS_STATE"(%2, %%eax), %%cl      \n\t"
+        "movzbl "LPS_STATE"(%2, %%eax), %%ecx   \n\t"
         "movb %%cl, (%1)                        \n\t"
         "addl $1, %%eax                         \n\t"
         "test %%bx, %%bx                        \n\t"
@@ -432,7 +432,7 @@
         "leal -1(%%ebx), %%ecx                  \n\t"
         "xorl %%ebx, %%ecx                      \n\t"
         "shrl $17, %%ecx                        \n\t"
-        "movb " MANGLE(ff_h264_norm_shift) "(%%ecx), %%cl   \n\t"
+        "movzbl " MANGLE(ff_h264_norm_shift) "(%%ecx), %%ecx   \n\t"
         "neg %%cl                               \n\t"
         "add $7, %%cl                           \n\t"
 
@@ -470,14 +470,14 @@
 
 //eax:state ebx:low edx:mask esi:range
         "xorl %%edx, %%eax                      \n\t"
-        "movb "MPS_STATE"(%2, %%eax), %%cl      \n\t"
+        "movzbl "MPS_STATE"(%2, %%eax), %%ecx   \n\t"
         "movb %%cl, (%1)                        \n\t"
 
         "movl %%esi, %%edx                      \n\t"
 //eax:bit ebx:low edx:range esi:range
 
         "shr $19, %%esi                         \n\t"
-        "movb " MANGLE(ff_h264_norm_shift) "(%%esi), %%cl   \n\t"
+        "movzbl " MANGLE(ff_h264_norm_shift) "(%%esi), %%ecx   \n\t"
         "shll %%cl, %%ebx                       \n\t"
         "shll %%cl, %%edx                       \n\t"
         "test %%bx, %%bx                        \n\t"
@@ -494,7 +494,7 @@
         "leal -1(%%ebx), %%ecx                  \n\t"
         "xorl %%ebx, %%ecx                      \n\t"
         "shrl $17, %%ecx                        \n\t"
-        "movb " MANGLE(ff_h264_norm_shift) "(%%ecx), %%cl   \n\t"
+        "movzbl " MANGLE(ff_h264_norm_shift) "(%%ecx), %%ecx   \n\t"
         "neg %%cl                               \n\t"
         "add $7, %%cl                           \n\t"
 




More information about the ffmpeg-cvslog mailing list