Mercurial > libavcodec.hg
diff vp6.c @ 11665:85ee3d14b906 libavcodec
VP56: move vp56_edge_filter to new VP56DSPContext
Using macro templates allows the vp[56]_adjust functions to be
inlined instead of called through function pointers. The new
function pointers enable optimised implementations of the filters.
4% faster VP6 decoding on Cortex-A8.
author | mru |
---|---|
date | Fri, 30 Apr 2010 21:30:22 +0000 |
parents | 7dd2a45249a9 |
children | 3f5b35e5f4de |
line wrap: on
line diff
--- a/vp6.c Wed Apr 28 20:00:23 2010 +0000 +++ b/vp6.c Fri Apr 30 21:30:22 2010 +0000 @@ -481,19 +481,6 @@ } } -static int vp6_adjust(int v, int t) -{ - int V = v, s = v >> 31; - V ^= s; - V -= s; - if (V-t-1 >= (unsigned)(t-1)) - return v; - V = 2*t - V; - V += s; - V ^= s; - return V; -} - static int vp6_block_variance(uint8_t *src, int stride) { int sum = 0, square_sum = 0; @@ -592,7 +579,6 @@ avctx->codec->id == CODEC_ID_VP6A); s->vp56_coord_div = vp6_coord_div; s->parse_vector_adjustment = vp6_parse_vector_adjustment; - s->adjust = vp6_adjust; s->filter = vp6_filter; s->default_models_init = vp6_default_models_init; s->parse_vector_models = vp6_parse_vector_models;