aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/vp8.c
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-02-01 22:38:15 +0000
committerMichael Niedermayer <michaelni@gmx.at>2011-02-13 00:52:51 +0100
commit4ae3ee4ae9d1607d772f9c8e6fe9b167e6761ae4 (patch)
treed81edb54dcbdfd65c15f04b73de6b6f2d4bf2e59 /libavcodec/vp8.c
parent5da7494dc5b304bc3cb1114b9dabaf047e316e05 (diff)
downloadffmpeg-4ae3ee4ae9d1607d772f9c8e6fe9b167e6761ae4.tar.gz
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.c8
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],