comparison vp8dsp.h @ 11950:56aba5a9761c libavcodec

Make VP8 DSP functions take two strides This isn't useful for the C functions, but will allow re-using H and V functions for HV functions without adding separate H and V wrappers.
author darkshikari
date Fri, 25 Jun 2010 18:14:07 +0000
parents f2007d7c3f1d
children 356b20a6566d
comparison
equal deleted inserted replaced
11949:778bdafd5496 11950:56aba5a9761c
25 #ifndef AVCODEC_VP8DSP_H 25 #ifndef AVCODEC_VP8DSP_H
26 #define AVCODEC_VP8DSP_H 26 #define AVCODEC_VP8DSP_H
27 27
28 #include "dsputil.h" 28 #include "dsputil.h"
29 29
30 typedef void (*vp8_mc_func)(uint8_t *dst/*align 8*/, int dstStride, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y);
31
30 typedef struct VP8DSPContext { 32 typedef struct VP8DSPContext {
31 void (*vp8_luma_dc_wht)(DCTELEM block[4][4][16], DCTELEM dc[16]); 33 void (*vp8_luma_dc_wht)(DCTELEM block[4][4][16], DCTELEM dc[16]);
32 void (*vp8_idct_add)(uint8_t *dst, DCTELEM block[16], int stride); 34 void (*vp8_idct_add)(uint8_t *dst, DCTELEM block[16], int stride);
33 void (*vp8_idct_dc_add)(uint8_t *dst, DCTELEM block[16], int stride); 35 void (*vp8_idct_dc_add)(uint8_t *dst, DCTELEM block[16], int stride);
34 36
53 * 1 4-tap vertical interpolation filter (my & 1) 55 * 1 4-tap vertical interpolation filter (my & 1)
54 * 2 6-tap vertical interpolation filter (!(my & 1)) 56 * 2 6-tap vertical interpolation filter (!(my & 1))
55 * third dimension: same as second dimention, for horizontal interpolation 57 * third dimension: same as second dimention, for horizontal interpolation
56 * so something like put_vp8_epel_pixels_tab[width>>3][2*!!my-(my&1)][2*!!mx-(mx&1)](..., mx, my) 58 * so something like put_vp8_epel_pixels_tab[width>>3][2*!!my-(my&1)][2*!!mx-(mx&1)](..., mx, my)
57 */ 59 */
58 h264_chroma_mc_func put_vp8_epel_pixels_tab[3][3][3]; 60 vp8_mc_func put_vp8_epel_pixels_tab[3][3][3];
59 } VP8DSPContext; 61 } VP8DSPContext;
60 62
61 void ff_put_vp8_pixels16_c(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y); 63 void ff_put_vp8_pixels16_c(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y);
62 void ff_put_vp8_pixels8_c(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y); 64 void ff_put_vp8_pixels8_c(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y);
63 void ff_put_vp8_pixels4_c(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y); 65 void ff_put_vp8_pixels4_c(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y);