Lines Matching refs:dst
59 dst[x + y * BPS] = clip_8b(dst[x + y * BPS] + ((v) >> 3))
65 static void TransformOne(const int16_t* in, uint8_t* dst) {
84 // an input in [-2048, 2047] interval. We then need to add a dst value
100 dst += BPS;
105 static void TransformTwo(const int16_t* in, uint8_t* dst, int do_two) {
106 TransformOne(in, dst);
108 TransformOne(in + 16, dst + 4);
112 static void TransformUV(const int16_t* in, uint8_t* dst) {
113 VP8Transform(in + 0 * 16, dst, 1);
114 VP8Transform(in + 2 * 16, dst + 4 * BPS, 1);
117 static void TransformDC(const int16_t *in, uint8_t* dst) {
127 static void TransformDCUV(const int16_t* in, uint8_t* dst) {
128 if (in[0 * 16]) TransformDC(in + 0 * 16, dst);
129 if (in[1 * 16]) TransformDC(in + 1 * 16, dst + 4);
130 if (in[2 * 16]) TransformDC(in + 2 * 16, dst + 4 * BPS);
131 if (in[3 * 16]) TransformDC(in + 3 * 16, dst + 4 * BPS + 4);
177 #define OUT(x, y) dst[(x) + (y) * BPS]
179 static inline void TrueMotion(uint8_t *dst, int size) {
180 const uint8_t* top = dst - BPS;
184 const uint8_t* const clip = clip0 + dst[-1];
187 dst[x] = clip[top[x]];
189 dst += BPS;
192 static void TM4(uint8_t *dst) { TrueMotion(dst, 4); }
193 static void TM8uv(uint8_t *dst) { TrueMotion(dst, 8); }
194 static void TM16(uint8_t *dst) { TrueMotion(dst, 16); }
199 static void VE16(uint8_t *dst) { // vertical
202 memcpy(dst + j * BPS, dst - BPS, 16);
206 static void HE16(uint8_t *dst) { // horizontal
209 memset(dst, dst[-1], 16);
210 dst += BPS;
214 static inline void Put16(int v, uint8_t* dst) {
217 memset(dst + j * BPS, v, 16);
221 static void DC16(uint8_t *dst) { // DC
225 DC += dst[-1 + j * BPS] + dst[j - BPS];
227 Put16(DC >> 5, dst);
230 static void DC16NoTop(uint8_t *dst) { // DC with top samples not available
234 DC += dst[-1 + j * BPS];
236 Put16(DC >> 4, dst);
239 static void DC16NoLeft(uint8_t *dst) { // DC with left samples not available
243 DC += dst[i - BPS];
245 Put16(DC >> 4, dst);
248 static void DC16NoTopLeft(uint8_t *dst) { // DC with no top and left samples
249 Put16(0x80, dst);
258 static void VE4(uint8_t *dst) { // vertical
259 const uint8_t* top = dst - BPS;
268 memcpy(dst + i * BPS, vals, sizeof(vals));
272 static void HE4(uint8_t *dst) { // horizontal
273 const int A = dst[-1 - BPS];
274 const int B = dst[-1];
275 const int C = dst[-1 + BPS];
276 const int D = dst[-1 + 2 * BPS];
277 const int E = dst[-1 + 3 * BPS];
278 *(uint32_t*)(dst + 0 * BPS) = 0x01010101U * AVG3(A, B, C);
279 *(uint32_t*)(dst + 1 * BPS) = 0x01010101U * AVG3(B, C, D);
280 *(uint32_t*)(dst + 2 * BPS) = 0x01010101U * AVG3(C, D, E);
281 *(uint32_t*)(dst + 3 * BPS) = 0x01010101U * AVG3(D, E, E);
284 static void DC4(uint8_t *dst) { // DC
287 for (i = 0; i < 4; ++i) dc += dst[i - BPS] + dst[-1 + i * BPS];
289 for (i = 0; i < 4; ++i) memset(dst + i * BPS, dc, 4);
292 static void RD4(uint8_t *dst) { // Down-right
293 const int I = dst[-1 + 0 * BPS];
294 const int J = dst[-1 + 1 * BPS];
295 const int K = dst[-1 + 2 * BPS];
296 const int L = dst[-1 + 3 * BPS];
297 const int X = dst[-1 - BPS];
298 const int A = dst[0 - BPS];
299 const int B = dst[1 - BPS];
300 const int C = dst[2 - BPS];
301 const int D = dst[3 - BPS];
311 static void LD4(uint8_t *dst) { // Down-Left
312 const int A = dst[0 - BPS];
313 const int B = dst[1 - BPS];
314 const int C = dst[2 - BPS];
315 const int D = dst[3 - BPS];
316 const int E = dst[4 - BPS];
317 const int F = dst[5 - BPS];
318 const int G = dst[6 - BPS];
319 const int H = dst[7 - BPS];
329 static void VR4(uint8_t *dst) { // Vertical-Right
330 const int I = dst[-1 + 0 * BPS];
331 const int J = dst[-1 + 1 * BPS];
332 const int K = dst[-1 + 2 * BPS];
333 const int X = dst[-1 - BPS];
334 const int A = dst[0 - BPS];
335 const int B = dst[1 - BPS];
336 const int C = dst[2 - BPS];
337 const int D = dst[3 - BPS];
351 static void VL4(uint8_t *dst) { // Vertical-Left
352 const int A = dst[0 - BPS];
353 const int B = dst[1 - BPS];
354 const int C = dst[2 - BPS];
355 const int D = dst[3 - BPS];
356 const int E = dst[4 - BPS];
357 const int F = dst[5 - BPS];
358 const int G = dst[6 - BPS];
359 const int H = dst[7 - BPS];
373 static void HU4(uint8_t *dst) { // Horizontal-Up
374 const int I = dst[-1 + 0 * BPS];
375 const int J = dst[-1 + 1 * BPS];
376 const int K = dst[-1 + 2 * BPS];
377 const int L = dst[-1 + 3 * BPS];
388 static void HD4(uint8_t *dst) { // Horizontal-Down
389 const int I = dst[-1 + 0 * BPS];
390 const int J = dst[-1 + 1 * BPS];
391 const int K = dst[-1 + 2 * BPS];
392 const int L = dst[-1 + 3 * BPS];
393 const int X = dst[-1 - BPS];
394 const int A = dst[0 - BPS];
395 const int B = dst[1 - BPS];
396 const int C = dst[2 - BPS];
417 static void VE8uv(uint8_t *dst) { // vertical
420 memcpy(dst + j * BPS, dst - BPS, 8);
424 static void HE8uv(uint8_t *dst) { // horizontal
427 memset(dst, dst[-1], 8);
428 dst += BPS;
433 static inline void Put8x8uv(uint64_t v, uint8_t* dst) {
436 *(uint64_t*)(dst + j * BPS) = v;
440 static void DC8uv(uint8_t *dst) { // DC
444 dc0 += dst[i - BPS] + dst[-1 + i * BPS];
446 Put8x8uv((uint64_t)((dc0 >> 4) * 0x0101010101010101ULL), dst);
449 static void DC8uvNoLeft(uint8_t *dst) { // DC with no left samples
453 dc0 += dst[i - BPS];
455 Put8x8uv((uint64_t)((dc0 >> 3) * 0x0101010101010101ULL), dst);
458 static void DC8uvNoTop(uint8_t *dst) { // DC with no top samples
462 dc0 += dst[-1 + i * BPS];
464 Put8x8uv((uint64_t)((dc0 >> 3) * 0x0101010101010101ULL), dst);
467 static void DC8uvNoTopLeft(uint8_t *dst) { // DC with nothing
468 Put8x8uv(0x8080808080808080ULL, dst);