summaryrefslogtreecommitdiff
path: root/libavcodec/cabac.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/cabac.h')
-rw-r--r--libavcodec/cabac.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h
index c922126989..afd1ebf37f 100644
--- a/libavcodec/cabac.h
+++ b/libavcodec/cabac.h
@@ -359,7 +359,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
refill(c);
}
-static int get_cabac(CABACContext *c, uint8_t * const state){
+static int always_inline get_cabac_inline(CABACContext *c, uint8_t * const state){
//FIXME gcc generates duplicate load/stores for c->low and c->range
#ifdef ARCH_X86
int bit;
@@ -563,6 +563,14 @@ static int get_cabac(CABACContext *c, uint8_t * const state){
return bit;
}
+static int __attribute((noinline)) get_cabac_noinline(CABACContext *c, uint8_t * const state){
+ return get_cabac_inline(c,state);
+}
+
+static int get_cabac(CABACContext *c, uint8_t * const state){
+ return get_cabac_inline(c,state);
+}
+
static int get_cabac_bypass(CABACContext *c){
c->low += c->low;