summaryrefslogtreecommitdiff
path: root/libavcodec/cabac_functions.h
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2014-01-13 01:06:20 +0100
committerJanne Grunau <janne-libav@jannau.net>2014-03-09 00:45:33 +0100
commitdfe224f377be3e45758c69d881ca7874b82d647a (patch)
tree1dc58e82ae81e068777ddf81e045eb42c8e1ceea /libavcodec/cabac_functions.h
parent4506a854a4d846692ba71daeeff661dc214c8fa2 (diff)
aarch64: get_cabac inline asm
Based on the x86 branchless get_cabac asm. get_cabac_noinline() gets approximately 20% faster (no cycle counts available) compared to clang from Xcode 5.1 beta5. More than 6% faster overall. A part of the overall speedup might be explained by additional inlining of get_cabac().
Diffstat (limited to 'libavcodec/cabac_functions.h')
-rw-r--r--libavcodec/cabac_functions.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/cabac_functions.h b/libavcodec/cabac_functions.h
index 11c9646742..39f0afbb36 100644
--- a/libavcodec/cabac_functions.h
+++ b/libavcodec/cabac_functions.h
@@ -32,11 +32,13 @@
#include "cabac.h"
#include "config.h"
+#if ARCH_AARCH64
+# include "aarch64/cabac.h"
+#endif
#if ARCH_X86
# include "x86/cabac.h"
#endif
-extern uint8_t ff_h264_cabac_tables[512 + 4*2*64 + 4*64 + 63];
static uint8_t * const ff_h264_norm_shift = ff_h264_cabac_tables + H264_NORM_SHIFT_OFFSET;
static uint8_t * const ff_h264_lps_range = ff_h264_cabac_tables + H264_LPS_RANGE_OFFSET;
static uint8_t * const ff_h264_mlps_state = ff_h264_cabac_tables + H264_MLPS_STATE_OFFSET;