78 int w,
int h,
const int16_t m[3][3][8])
81 int16_t *buf0 = buf[0], *buf1 = buf[1], *buf2 = buf[2];
83 for (y = 0; y <
h; y++) {
84 for (x = 0; x <
w; x++) {
85 int v0 = buf0[x], v1 = buf1[x], v2 = buf2[x];
88 m[0][2][0] * v2 + 8192) >> 14);
90 m[1][2][0] * v2 + 8192) >> 14);
92 m[2][2][0] * v2 + 8192) >> 14);
103 #define init_yuv2rgb_fn(bit) \ 104 dsp->yuv2rgb[BPP_##bit][SS_444] = yuv2rgb_444p##bit##_c; \ 105 dsp->yuv2rgb[BPP_##bit][SS_422] = yuv2rgb_422p##bit##_c; \ 106 dsp->yuv2rgb[BPP_##bit][SS_420] = yuv2rgb_420p##bit##_c 112 #define init_rgb2yuv_fn(bit) \ 113 dsp->rgb2yuv[BPP_##bit][SS_444] = rgb2yuv_444p##bit##_c; \ 114 dsp->rgb2yuv[BPP_##bit][SS_422] = rgb2yuv_422p##bit##_c; \ 115 dsp->rgb2yuv[BPP_##bit][SS_420] = rgb2yuv_420p##bit##_c 121 #define init_rgb2yuv_fsb_fn(bit) \ 122 dsp->rgb2yuv_fsb[BPP_##bit][SS_444] = rgb2yuv_fsb_444p##bit##_c; \ 123 dsp->rgb2yuv_fsb[BPP_##bit][SS_422] = rgb2yuv_fsb_422p##bit##_c; \ 124 dsp->rgb2yuv_fsb[BPP_##bit][SS_420] = rgb2yuv_fsb_420p##bit##_c 130 #define init_yuv2yuv_fn(idx1, bit1, bit2) \ 131 dsp->yuv2yuv[idx1][BPP_##bit2][SS_444] = yuv2yuv_444p##bit1##to##bit2##_c; \ 132 dsp->yuv2yuv[idx1][BPP_##bit2][SS_422] = yuv2yuv_422p##bit1##to##bit2##_c; \ 133 dsp->yuv2yuv[idx1][BPP_##bit2][SS_420] = yuv2yuv_420p##bit1##to##bit2##_c 134 #define init_yuv2yuv_fns(bit1) \ 135 init_yuv2yuv_fn(BPP_##bit1, bit1, 8); \ 136 init_yuv2yuv_fn(BPP_##bit1, bit1, 10); \ 137 init_yuv2yuv_fn(BPP_##bit1, bit1, 12)
static void multiply3x3_c(int16_t *buf[3], ptrdiff_t stride, int w, int h, const int16_t m[3][3][8])
void(* multiply3x3)(int16_t *data[3], ptrdiff_t stride, int w, int h, const int16_t m[3][3][8])
void ff_colorspacedsp_x86_init(ColorSpaceDSPContext *dsp)
#define init_rgb2yuv_fn(bit)
#define init_rgb2yuv_fsb_fn(bit)
#define init_yuv2yuv_fns(bit1)
#define init_yuv2rgb_fn(bit)
GLint GLenum GLboolean GLsizei stride
void ff_colorspacedsp_init(ColorSpaceDSPContext *dsp)