Home | History | Annotate | Download | only in dsp

Lines Matching refs:DST

110   dst[(x) + (y) * BPS] = clip_8b(ref[(x) + (y) * BPS] + ((v) >> 3))
117 uint8_t* dst) {
149 static void ITransform_C(const uint8_t* ref, const int16_t* in, uint8_t* dst,
151 ITransformOne(ref, in, dst);
153 ITransformOne(ref + 4, in + 16, dst + 4);
231 static WEBP_INLINE void Fill(uint8_t* dst, int value, int size) {
234 memset(dst + j * BPS, value, size);
238 static WEBP_INLINE void VerticalPred(uint8_t* dst,
242 for (j = 0; j < size; ++j) memcpy(dst + j * BPS, top, size);
244 Fill(dst, 127, size);
248 static WEBP_INLINE void HorizontalPred(uint8_t* dst,
253 memset(dst + j * BPS, left[j], size);
256 Fill(dst, 129, size);
260 static WEBP_INLINE void TrueMotion(uint8_t* dst, const uint8_t* left,
270 dst[x] = clip_table[top[x]];
272 dst += BPS;
275 HorizontalPred(dst, left, size);
283 VerticalPred(dst, top, size);
285 Fill(dst, 129, size);
290 static WEBP_INLINE void DCMode(uint8_t* dst, const uint8_t* left,
310 Fill(dst, DC, size);
316 static void IntraChromaPreds_C(uint8_t* dst, const uint8_t* left,
319 DCMode(C8DC8 + dst, left, top, 8, 8, 4);
320 VerticalPred(C8VE8 + dst, top, 8);
321 HorizontalPred(C8HE8 + dst, left, 8);
322 TrueMotion(C8TM8 + dst, left, top, 8);
324 dst += 8;
327 DCMode(C8DC8 + dst, left, top, 8, 8, 4);
328 VerticalPred(C8VE8 + dst, top, 8);
329 HorizontalPred(C8HE8 + dst, left, 8);
330 TrueMotion(C8TM8 + dst, left, top, 8);
336 static void Intra16Preds_C(uint8_t* dst,
338 DCMode(I16DC16 + dst, left, top, 16, 16, 5);
339 VerticalPred(I16VE16 + dst, top, 16);
340 HorizontalPred(I16HE16 + dst, left, 16);
341 TrueMotion(I16TM16 + dst, left, top, 16);
347 #define DST(x, y) dst[(x) + (y) * BPS]
351 static void VE4(uint8_t* dst, const uint8_t* top) { // vertical
360 memcpy(dst + i * BPS, vals, 4);
364 static void HE4(uint8_t* dst, const uint8_t* top) { // horizontal
370 WebPUint32ToMem(dst + 0 * BPS, 0x01010101U * AVG3(X, I, J));
371 WebPUint32ToMem(dst + 1 * BPS, 0x01010101U * AVG3(I, J, K));
372 WebPUint32ToMem(dst + 2 * BPS, 0x01010101U * AVG3(J, K, L));
373 WebPUint32ToMem(dst + 3 * BPS, 0x01010101U * AVG3(K, L, L));
376 static void DC4(uint8_t* dst, const uint8_t* top) {
380 Fill(dst, dc >> 3, 4);
383 static void RD4(uint8_t* dst, const uint8_t* top) {
393 DST(0, 3) = AVG3(J, K, L);
394 DST(0, 2) = DST(1, 3) = AVG3(I, J, K);
395 DST(0, 1) = DST(1, 2) = DST(2, 3) = AVG3(X, I, J);
396 DST(0, 0) = DST(1, 1) = DST(2, 2) = DST(3, 3) = AVG3(A, X, I);
397 DST(1, 0) = DST(2, 1) = DST(3, 2) = AVG3(B, A, X);
398 DST(2, 0) = DST(3, 1) = AVG3(C, B, A);
399 DST(3, 0) = AVG3(D, C, B);
402 static void LD4(uint8_t* dst, const uint8_t* top) {
411 DST(0, 0) = AVG3(A, B, C);
412 DST(1, 0) = DST(0, 1) = AVG3(B, C, D);
413 DST(2, 0) = DST(1, 1) = DST(0, 2) = AVG3(C, D, E);
414 DST(3, 0) = DST(2, 1) = DST(1, 2) = DST(0, 3) = AVG3(D, E, F);
415 DST(3, 1) = DST(2, 2) = DST(1, 3) = AVG3(E, F, G);
416 DST(3, 2) = DST(2, 3) = AVG3(F, G, H);
417 DST(3, 3) = AVG3(G, H, H);
420 static void VR4(uint8_t* dst, const uint8_t* top) {
429 DST(0, 0) = DST(1, 2) = AVG2(X, A);
430 DST(1, 0) = DST(2, 2) = AVG2(A, B);
431 DST(2, 0) = DST(3, 2) = AVG2(B, C);
432 DST(3, 0) = AVG2(C, D);
434 DST(0, 3) = AVG3(K, J, I);
435 DST(0, 2) = AVG3(J, I, X);
436 DST(0, 1) = DST(1, 3) = AVG3(I, X, A);
437 DST(1, 1) = DST(2, 3) = AVG3(X, A, B);
438 DST(2, 1) = DST(3, 3) = AVG3(A, B, C);
439 DST(3, 1) = AVG3(B, C, D);
442 static void VL4(uint8_t* dst, const uint8_t* top) {
451 DST(0, 0) = AVG2(A, B);
452 DST(1, 0) = DST(0, 2) = AVG2(B, C);
453 DST(2, 0) = DST(1, 2) = AVG2(C, D);
454 DST(3, 0) = DST(2, 2) = AVG2(D, E);
456 DST(0, 1) = AVG3(A, B, C);
457 DST(1, 1) = DST(0, 3) = AVG3(B, C, D);
458 DST(2, 1) = DST(1, 3) = AVG3(C, D, E);
459 DST(3, 1) = DST(2, 3) = AVG3(D, E, F);
460 DST(3, 2) = AVG3(E, F, G);
461 DST(3, 3) = AVG3(F, G, H);
464 static void HU4(uint8_t* dst, const uint8_t* top) {
469 DST(0, 0) = AVG2(I, J);
470 DST(2, 0) = DST(0, 1) = AVG2(J, K);
471 DST(2, 1) = DST(0, 2) = AVG2(K, L);
472 DST(1, 0) = AVG3(I, J, K);
473 DST(3, 0) = DST(1, 1) = AVG3(J, K, L);
474 DST(3, 1) = DST(1, 2) = AVG3(K, L, L);
475 DST(3, 2) = DST(2, 2) =
476 DST(0, 3) = DST(1, 3) = DST(2, 3) = DST(3, 3) = L;
479 static void HD4(uint8_t* dst, const uint8_t* top) {
489 DST(0, 0) = DST(2, 1) = AVG2(I, X);
490 DST(0, 1) = DST(2, 2) = AVG2(J, I);
491 DST(0, 2) = DST(2, 3) = AVG2(K, J);
492 DST(0, 3) = AVG2(L, K);
494 DST(3, 0) = AVG3(A, B, C);
495 DST(2, 0) = AVG3(X, A, B);
496 DST(1, 0) = DST(3, 1) = AVG3(I, X, A);
497 DST(1, 1) = DST(3, 2) = AVG3(J, I, X);
498 DST(1, 2) = DST(3, 3) = AVG3(K, J, I);
499 DST(1, 3) = AVG3(L, K, J);
502 static void TM4(uint8_t* dst, const uint8_t* top) {
508 dst[x] = clip_table[top[x]];
510 dst += BPS;
514 #undef DST
520 static void Intra4Preds_C(uint8_t* dst, const uint8_t* top) {
521 DC4(I4DC4 + dst, top);
522 TM4(I4TM4 + dst, top);
523 VE4(I4VE4 + dst, top);
524 HE4(I4HE4 + dst, top);
525 RD4(I4RD4 + dst, top);
526 VR4(I4VR4 + dst, top);
527 dst, top);
528 VL4(I4VL4 + dst, top);
529 HD4(I4HD4 + dst, top);
530 HU4(I4HU4 + dst, top);
692 static WEBP_INLINE void Copy(const uint8_t* src, uint8_t* dst, int w, int h) {
695 memcpy(dst, src, w);
697 dst += BPS;
701 static void Copy4x4_C(const uint8_t* src, uint8_t* dst) {
702 Copy(src, dst, 4, 4);
705 static void Copy16x8_C(const uint8_t* src, uint8_t* dst) {
706 Copy(src, dst, 16, 8);