diff options
author | Mans Rullgard <mans@mansr.com> | 2011-02-02 01:38:15 +0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-02-13 02:52:51 +0300 |
commit | 4ae3ee4ae9d1607d772f9c8e6fe9b167e6761ae4 (patch) | |
tree | d81edb54dcbdfd65c15f04b73de6b6f2d4bf2e59 /libavcodec/vp8.c | |
parent | 5da7494dc5b304bc3cb1114b9dabaf047e316e05 (diff) |
VP8: ARM optimised decode_block_coeffs_internal
Approximately 5% faster on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a7878c9f73c12cfa685bd8af8f3afcca85f56a8b)
Diffstat (limited to 'libavcodec/vp8.c')
-rw-r--r-- | libavcodec/vp8.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 8de8968d6e..3cd76249d0 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -30,6 +30,10 @@ #include "h264pred.h" #include "rectangle.h" +#if ARCH_ARM +# include "arm/vp8.h" +#endif + typedef struct { uint8_t filter_level; uint8_t inner_limit; @@ -801,6 +805,7 @@ void decode_mb_mode(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y, uint8_ } } +#ifndef decode_block_coeffs_internal /** * @param c arithmetic bitstream reader context * @param block destination for block coefficients @@ -854,7 +859,7 @@ skip_eob: int b = vp56_rac_get_prob(c, token_prob[9+a]); int cat = (a<<1) + b; coeff = 3 + (8<<cat); - coeff += vp8_rac_get_coeff(c, vp8_dct_cat_prob[cat]); + coeff += vp8_rac_get_coeff(c, ff_vp8_dct_cat_prob[cat]); } } token_prob = probs[i+1][2]; @@ -864,6 +869,7 @@ skip_eob: return i; } +#endif static av_always_inline int decode_block_coeffs(VP56RangeCoder *c, DCTELEM block[16], |