From dfe224f377be3e45758c69d881ca7874b82d647a Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Mon, 13 Jan 2014 01:06:20 +0100 Subject: 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(). --- libavcodec/cabac_functions.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libavcodec/cabac_functions.h') 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; -- cgit v1.2.3