Home | History | Annotate | Download | only in dsp

Lines Matching refs:DST

175                                       uint8_t* dst) {
234 dst, 0, 1, 2, 3, BPS)
237 : [dst]"r"(dst), [in]"r"(in), [kC1]"r"(kC1), [kC2]"r"(kC2), [ref]"r"(ref)
243 uint8_t* dst, int do_two) {
244 ITransformOne(ref, in, dst);
246 ITransformOne(ref + 4, in + 16, dst + 4);
334 "usw %[value], 0+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \
335 "usw %[value], 4+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \
337 "usw %[value], 8+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \
338 "usw %[value], 12+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \
341 #define FILL_8_OR_16(DST, VALUE, SIZE) do { \
364 : [dst]"r"((DST)) \
369 #define VERTICAL_PRED(DST, TOP, SIZE) \
370 static WEBP_INLINE void VerticalPred##SIZE(uint8_t* (DST), \
374 for (j = 0; j < (SIZE); ++j) memcpy((DST) + j * BPS, (TOP), (SIZE)); \
376 FILL_8_OR_16((DST), 127, (SIZE)); \
380 VERTICAL_PRED(dst, top, 8)
381 VERTICAL_PRED(dst, top, 16)
385 #define HORIZONTAL_PRED(DST, LEFT, SIZE) \
386 static WEBP_INLINE void HorizontalPred##SIZE(uint8_t* (DST), \
391 memset((DST) + j * BPS, (LEFT)[j], (SIZE)); \
394 FILL_8_OR_16((DST), 129, (SIZE)); \
398 HORIZONTAL_PRED(dst, left, 8)
399 HORIZONTAL_PRED(dst, left, 16)
419 #define CLIP_8B_TO_DST(DST, LEFT, TOP, SIZE) do { \
428 "usw %[temp0], 0(%[dst]) \n\t" \
429 "usw %[temp1], 4(%[dst]) \n\t" \
434 "usw %[temp0], 8(%[dst]) \n\t" \
435 "usw %[temp1], 12(%[dst]) \n\t" \
439 : [left_1]"r"(left_1), [top]"r"((TOP)), [dst]"r"((DST)) \
444 #define CLIP_TO_DST(DST, LEFT, TOP, SIZE) do { \
448 CLIP_8B_TO_DST((DST), (LEFT), (TOP), (SIZE)); \
449 (DST) += BPS; \
453 #define TRUE_MOTION(DST, LEFT, TOP, SIZE) \
454 static WEBP_INLINE void TrueMotion##SIZE(uint8_t* (DST), const uint8_t* (LEFT),\
458 CLIP_TO_DST((DST), (LEFT), (TOP), (SIZE)); \
460 HorizontalPred##SIZE((DST), (LEFT)); \
468 VerticalPred##SIZE((DST), (TOP)); \
470 FILL_8_OR_16((DST), 129, (SIZE)); \
475 TRUE_MOTION(dst, left, top, 8)
476 TRUE_MOTION(dst, left, top, 16)
483 static WEBP_INLINE void DCMode16(uint8_t* dst, const uint8_t* left,
543 FILL_8_OR_16(dst, DC, 16);
546 static WEBP_INLINE void DCMode8(uint8_t* dst, const uint8_t* left,
588 FILL_8_OR_16(dst, DC, 8);
591 static void DC4(uint8_t* dst, const uint8_t* top) {
602 "usw %[temp0], 0*" XSTR(BPS) "(%[dst]) \n\t"
603 "usw %[temp0], 1*" XSTR(BPS) "(%[dst]) \n\t"
604 "usw %[temp0], 2*" XSTR(BPS) "(%[dst]) \n\t"
605 "usw %[temp0], 3*" XSTR(BPS) "(%[dst]) \n\t"
607 : [top]"r"(top), [dst]"r"(dst)
612 static void TM4(uint8_t* dst, const uint8_t* top) {
655 "usw %[temp1], 0*" XSTR(BPS) "(%[dst]) \n\t"
656 "usw %[temp0], 1*" XSTR(BPS) "(%[dst]) \n\t"
657 "usw %[temp3], 2*" XSTR(BPS) "(%[dst]) \n\t"
658 "usw %[temp2], 3*" XSTR(BPS) "(%[dst]) \n\t"
662 : [c35]"r"(c35), [top]"r"(top), [dst]"r"(dst)
667 static void VE4(uint8_t* dst, const uint8_t* top) {
686 "usw %[temp4], 0*" XSTR(BPS) "(%[dst]) \n\t"
687 "usw %[temp4], 1*" XSTR(BPS) "(%[dst]) \n\t"
688 "usw %[temp4], 2*" XSTR(BPS) "(%[dst]) \n\t"
689 "usw %[temp4], 3*" XSTR(BPS) "(%[dst]) \n\t"
693 : [top]"r"(top), [dst]"r"(dst)
698 static void HE4(uint8_t* dst, const uint8_t* top) {
722 "usw %[temp3], 0*" XSTR(BPS) "(%[dst]) \n\t"
723 "usw %[temp0], 1*" XSTR(BPS) "(%[dst]) \n\t"
724 "usw %[temp2], 2*" XSTR(BPS) "(%[dst]) \n\t"
725 "usw %[temp1], 3*" XSTR(BPS) "(%[dst]) \n\t"
729 : [top]"r"(top), [dst]"r"(dst)
734 static void RD4(uint8_t* dst, const uint8_t* top) {
768 "usw %[temp9], 3*" XSTR(BPS) "(%[dst]) \n\t"
769 "usw %[temp10], 1*" XSTR(BPS) "(%[dst]) \n\t"
772 "usw %[temp9], 2*" XSTR(BPS) "(%[dst]) \n\t"
773 "usw %[temp10], 0*" XSTR(BPS) "(%[dst]) \n\t"
778 : [top]"r"(top), [dst]"r"(dst)
783 static void VR4(uint8_t* dst, const uint8_t* top) {
817 "usw %[temp8], 0*" XSTR(BPS) "(%[dst]) \n\t"
818 "usw %[temp3], 1*" XSTR(BPS) "(%[dst]) \n\t"
822 "usw %[temp3], 3*" XSTR(BPS) "(%[dst]) \n\t"
823 "usw %[temp8], 2*" XSTR(BPS) "(%[dst]) \n\t"
828 : [top]"r"(top), [dst]"r"(dst)
833 static void LD4(uint8_t* dst, const uint8_t* top) {
865 "usw %[temp9], 0*" XSTR(BPS) "(%[dst]) \n\t"
866 "usw %[temp10], 2*" XSTR(BPS) "(%[dst]) \n\t"
869 "usw %[temp9], 1*" XSTR(BPS) "(%[dst]) \n\t"
870 "usw %[temp10], 3*" XSTR(BPS) "(%[dst]) \n\t"
875 : [top]"r"(top), [dst]"r"(dst)
880 static void VL4(uint8_t* dst, const uint8_t* top) {
913 "usw %[temp8], 0*" XSTR(BPS) "(%[dst]) \n\t"
915 "usw %[temp3], 1*" XSTR(BPS) "(%[dst]) \n\t"
918 "usw %[temp8], 2*" XSTR(BPS) "(%[dst]) \n\t"
919 "usw %[temp3], 3*" XSTR(BPS) "(%[dst]) \n\t"
924 : [top]"r"(top), [dst]"r"(dst)
929 static void HD4(uint8_t* dst, const uint8_t* top) {
960 "usw %[temp7], 0*" XSTR(BPS) "(%[dst]) \n\t"
961 "usw %[temp6], 1*" XSTR(BPS) "(%[dst]) \n\t"
966 "usw %[temp5], 2*" XSTR(BPS) "(%[dst]) \n\t"
967 "usw %[temp4], 3*" XSTR(BPS) "(%[dst]) \n\t"
972 : [top]"r"(top), [dst]"r"(dst)
977 static void HU4(uint8_t* dst, const uint8_t* top) {
999 "usw %[temp3], 0*" XSTR(BPS) "(%[dst]) \n\t"
1001 "usw %[temp7], 3*" XSTR(BPS) "(%[dst]) \n\t"
1003 "usw %[temp1], 2*" XSTR(BPS) "(%[dst]) \n\t"
1004 "usw %[temp2], 1*" XSTR(BPS) "(%[dst]) \n\t"
1008 : [top]"r"(top), [dst]"r"(dst)
1016 static void IntraChromaPreds_MIPSdspR2(uint8_t* dst, const uint8_t* left,
1019 DCMode8(C8DC8 + dst, left, top);
1020 VerticalPred8(C8VE8 + dst, top);
1021 HorizontalPred8(C8HE8 + dst, left);
1022 TrueMotion8(C8TM8 + dst, left, top);
1024 dst += 8;
1027 DCMode8(C8DC8 + dst, left, top);
1028 VerticalPred8(C8VE8 + dst, top);
1029 HorizontalPred8(C8HE8 + dst, left);
1030 TrueMotion8(C8TM8 + dst, left, top);
1036 static void Intra16Preds_MIPSdspR2(uint8_t* dst,
1038 DCMode16(I16DC16 + dst, left, top);
1039 VerticalPred16(I16VE16 + dst, top);
1040 HorizontalPred16(I16HE16 + dst, left);
1041 TrueMotion16(I16TM16 + dst, left, top);
1046 static void Intra4Preds_MIPSdspR2(uint8_t* dst, const uint8_t* top) {
1047 DC4(I4DC4 + dst, top);
1048 TM4(I4TM4 + dst, top);
1049 VE4(I4VE4 + dst, top);
1050 HE4(I4HE4 + dst, top);
1051 RD4(I4RD4 + dst, top);
1052 VR4(I4VR4 + dst, top);
1053 LD4(I4LD4 + dst, top);
1054 VL4(I4VL4 + dst, top);
1055 HD4(I4HD4 + dst, top);
1056 HU4(I4HU4 + dst, top);