comparison dsputil.h @ 11231:0fc1cdd984b7 libavcodec

Bink video decoder
author kostya
date Sun, 21 Feb 2010 13:28:46 +0000
parents 4f3503b0dc07
children 3d4f64b8fb10
comparison
equal deleted inserted replaced
11230:9f25ae41c807 11231:0fc1cdd984b7
134 typedef void (*qpel_mc_func)(uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride); 134 typedef void (*qpel_mc_func)(uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);
135 typedef void (*h264_chroma_mc_func)(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y); 135 typedef void (*h264_chroma_mc_func)(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y);
136 typedef void (*h264_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int offset); 136 typedef void (*h264_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int offset);
137 typedef void (*h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offset); 137 typedef void (*h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offset);
138 138
139 typedef void (*op_fill_func)(uint8_t *block/*align width (8 or 16)*/, uint8_t value, int line_size, int h);
140
139 #define DEF_OLD_QPEL(name)\ 141 #define DEF_OLD_QPEL(name)\
140 void ff_put_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\ 142 void ff_put_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\
141 void ff_put_no_rnd_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\ 143 void ff_put_no_rnd_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\
142 void ff_avg_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride); 144 void ff_avg_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);
143 145
195 /* pixel ops : interface with DCT */ 197 /* pixel ops : interface with DCT */
196 void (*get_pixels)(DCTELEM *block/*align 16*/, const uint8_t *pixels/*align 8*/, int line_size); 198 void (*get_pixels)(DCTELEM *block/*align 16*/, const uint8_t *pixels/*align 8*/, int line_size);
197 void (*diff_pixels)(DCTELEM *block/*align 16*/, const uint8_t *s1/*align 8*/, const uint8_t *s2/*align 8*/, int stride); 199 void (*diff_pixels)(DCTELEM *block/*align 16*/, const uint8_t *s1/*align 8*/, const uint8_t *s2/*align 8*/, int stride);
198 void (*put_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size); 200 void (*put_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size);
199 void (*put_signed_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size); 201 void (*put_signed_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size);
202 void (*put_pixels_nonclamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size);
200 void (*add_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size); 203 void (*add_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size);
201 void (*add_pixels8)(uint8_t *pixels, DCTELEM *block, int line_size); 204 void (*add_pixels8)(uint8_t *pixels, DCTELEM *block, int line_size);
202 void (*add_pixels4)(uint8_t *pixels, DCTELEM *block, int line_size); 205 void (*add_pixels4)(uint8_t *pixels, DCTELEM *block, int line_size);
203 int (*sum_abs_dctelem)(DCTELEM *block/*align 16*/); 206 int (*sum_abs_dctelem)(DCTELEM *block/*align 16*/);
204 /** 207 /**
581 /* rv40 functions */ 584 /* rv40 functions */
582 qpel_mc_func put_rv40_qpel_pixels_tab[4][16]; 585 qpel_mc_func put_rv40_qpel_pixels_tab[4][16];
583 qpel_mc_func avg_rv40_qpel_pixels_tab[4][16]; 586 qpel_mc_func avg_rv40_qpel_pixels_tab[4][16];
584 h264_chroma_mc_func put_rv40_chroma_pixels_tab[3]; 587 h264_chroma_mc_func put_rv40_chroma_pixels_tab[3];
585 h264_chroma_mc_func avg_rv40_chroma_pixels_tab[3]; 588 h264_chroma_mc_func avg_rv40_chroma_pixels_tab[3];
589
590 /* bink functions */
591 op_fill_func fill_block_tab[2];
592 void (*scale_block)(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize);
586 } DSPContext; 593 } DSPContext;
587 594
588 void dsputil_static_init(void); 595 void dsputil_static_init(void);
589 void dsputil_init(DSPContext* p, AVCodecContext *avctx); 596 void dsputil_init(DSPContext* p, AVCodecContext *avctx);
590 597