Mercurial > libavcodec.hg
diff vp56.h @ 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 | 7d04a6cec75f |
line wrap: on
line diff
--- a/vp56.h Wed Apr 28 20:00:23 2010 +0000 +++ b/vp56.h Fri Apr 30 21:30:22 2010 +0000 @@ -28,14 +28,13 @@ #include "dsputil.h" #include "get_bits.h" #include "bytestream.h" - +#include "vp56dsp.h" typedef struct vp56_context VP56Context; typedef struct vp56_mv VP56mv; typedef void (*VP56ParseVectorAdjustment)(VP56Context *s, VP56mv *vect); -typedef int (*VP56Adjust)(int v, int t); typedef void (*VP56Filter)(VP56Context *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, int stride, VP56mv mv, int mask, int select, int luma); @@ -90,6 +89,7 @@ struct vp56_context { AVCodecContext *avctx; DSPContext dsp; + VP56DSPContext vp56dsp; ScanTable scantable; AVFrame frames[4]; AVFrame *framep[6]; @@ -149,7 +149,6 @@ const uint8_t *vp56_coord_div; VP56ParseVectorAdjustment parse_vector_adjustment; - VP56Adjust adjust; VP56Filter filter; VP56ParseCoeff parse_coeff; VP56DefaultModelsInit default_models_init;