[SCM] libav/experimental: move the &1 out of the asm so gcc can optimize it away in inlined cases (yes this is slightly faster)

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:52:00 UTC 2013


The following commit has been merged in the experimental branch:
commit f1b37db48deec5d0601374a52d5fc721e924b82a
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Tue Oct 10 01:17:39 2006 +0000

    move the &1 out of the asm so gcc can optimize it away in inlined cases (yes this is slightly faster)
    
    Originally committed as revision 6616 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h
index e35f6ea..7bd0e41 100644
--- a/libavcodec/cabac.h
+++ b/libavcodec/cabac.h
@@ -512,11 +512,11 @@ static int get_cabac(CABACContext *c, uint8_t * const state){
         "1:                                     \n\t"
         "movl %%edx, "RANGE    "(%2)            \n\t"
         "movl %%ebx, "LOW      "(%2)            \n\t"
-        "andl $1, %%eax                         \n\t"
         :"=&a"(bit)
         :"r"(state), "r"(c)
         : "%ecx", "%ebx", "%edx", "%esi"
     );
+    bit&=1;
 #endif
 #else
     int s = *state;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list