OSDN Git Service

avcodec/cabac: force get_cabac to be not inlined
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 5 Dec 2013 00:41:10 +0000 (01:41 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 5 Dec 2013 00:49:35 +0000 (01:49 +0100)
works around bug in gccs inline asm register assignment
Fixes Ticket3177

gcc from 4.4 to 4.6 is affected at least, no non affected gccs known
clang seems not affected

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/cabac.c

index 29b188b..dff0a91 100644 (file)
@@ -301,7 +301,7 @@ STOP_TIMER("get_cabac_bypass")
 
     for(i=0; i<SIZE; i++){
 START_TIMER
-        if( (r[i]&1) != get_cabac(&c, state) )
+        if( (r[i]&1) != get_cabac_noinline(&c, state) )
             av_log(NULL, AV_LOG_ERROR, "CABAC failure at %d\n", i);
 STOP_TIMER("get_cabac")
     }