Lines Matching refs:src

11 #include "src/codec/SkCodecPriv.h"
12 #include "src/codec/SkSwizzler.h"
13 #include "src/core/SkOpts.h"
19 static void copy(void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
25 memcpy(dst, src + offset, width * bpp);
28 static void sample1(void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
30 src += offset;
33 dst8[x] = *src;
34 src += deltaSrc;
38 static void sample2(void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
40 src += offset;
43 dst16[x] = *((const uint16_t*) src);
44 src += deltaSrc;
48 static void sample4(void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
50 src += offset;
53 dst32[x] = *((const uint32_t*) src);
54 src += deltaSrc;
58 static void sample6(void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
60 src += offset;
63 memcpy(dst8, src, 6);
65 src += deltaSrc;
69 static void sample8(void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
71 src += offset;
74 dst64[x] = *((const uint64_t*) src);
75 src += deltaSrc;
88 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
93 // increment src by byte offset and bitIndex by bit offset
94 src += offset / 8;
96 uint8_t currByte = *src;
103 currByte = *(src += bitOffset / 8);
113 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
117 // increment src by byte offset and bitIndex by bit offset
118 src += offset / 8;
120 uint8_t currByte = *src;
127 currByte = *(src += bitOffset / 8);
136 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
140 // increment src by byte offset and bitIndex by bit offset
141 src += offset / 8;
143 uint8_t currByte = *src;
150 currByte = *(src += bitOffset / 8);
159 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
172 // increment src by byte offset and bitIndex by bit offset
173 src += offset / 8;
175 uint8_t currByte = *src;
182 currByte = *(src += bitOffset / 8);
190 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
194 src += offset / 8;
196 uint8_t currByte = *src;
204 currByte = *(src += bitOffset / 8);
211 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
215 src += offset / 8;
217 uint8_t currByte = *src;
225 currByte = *(src += bitOffset / 8);
234 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
237 src += offset;
240 SkPMColor c = ctable[*src];
242 src += deltaSrc;
247 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
250 src += offset;
253 SkPMColor c = ctable[*src];
257 src += deltaSrc;
262 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
264 src += offset;
267 dst[x] = SkPixel32ToPixel16(ctable[*src]);
268 src += deltaSrc;
275 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
278 src += offset;
281 dst[x] = SkPackARGB32NoCheck(0xFF, *src, *src, *src);
282 src += deltaSrc;
287 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
296 SkOpts::gray_to_RGB1((uint32_t*) dst, src + offset, width);
300 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
303 src += offset;
306 dst[x] = SkPack888ToRGB16(src[0], src[0], src[0]);
307 src += deltaSrc;
314 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
317 src += offset;
320 dst32[x] = SkPackARGB32NoCheck(src[1], src[0], src[0], src[0]);
321 src += deltaSrc;
326 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
335 SkOpts::grayA_to_RGBA((uint32_t*) dst, src + offset, width);
339 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
342 src += offset;
345 uint8_t pmgray = SkMulDiv255Round(src[1], src[0]);
346 dst32[x] = SkPackARGB32NoCheck(src[1], pmgray, pmgray, pmgray);
347 src += deltaSrc;
352 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
361 SkOpts::grayA_to_rgbA((uint32_t*) dst, src + offset, width);
364 static void swizzle_grayalpha_to_a8(void* dst, const uint8_t* src, int width, int bpp,
366 src += offset;
369 dst8[x] = src[1]; // src[0] is gray, ignored
370 src += deltaSrc;
377 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
380 src += offset;
383 dst[x] = SkPack888ToRGB16(src[2], src[1], src[0]);
384 src += deltaSrc;
391 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
394 src += offset;
397 dst[x] = SkPackARGB_as_RGBA(0xFF, src[0], src[1], src[2]);
398 src += deltaSrc;
403 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
406 src += offset;
409 dst[x] = SkPackARGB_as_BGRA(0xFF, src[0], src[1], src[2]);
410 src += deltaSrc;
415 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc,
422 SkOpts::RGB_to_RGB1((uint32_t*) dst, src + offset, width);
426 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc,
433 SkOpts::RGB_to_BGR1((uint32_t*) dst, src + offset, width);
437 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
440 src += offset;
443 dst[x] = SkPack888ToRGB16(src[0], src[1], src[2]);
444 src += deltaSrc;
451 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
454 src += offset;
457 dst[x] = premultiply_argb_as_rgba(src[3], src[0], src[1], src[2]);
458 src += deltaSrc;
463 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
466 src += offset;
469 dst[x] = premultiply_argb_as_bgra(src[3], src[0], src[1], src[2]);
470 src += deltaSrc;
475 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc,
482 SkOpts::RGBA_to_rgbA((uint32_t*) dst, (const uint32_t*)(src + offset), width);
486 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc,
493 SkOpts::RGBA_to_bgrA((uint32_t*) dst, (const uint32_t*)(src + offset), width);
497 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
500 src += offset;
503 unsigned alpha = src[3];
504 dst[x] = SkPackARGB_as_BGRA(alpha, src[0], src[1], src[2]);
505 src += deltaSrc;
510 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
517 SkOpts::RGBA_to_BGRA((uint32_t*) dst, (const uint32_t*)(src + offset), width);
523 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
529 src += offset;
532 dst32[x] = strip16to8(src);
533 src += deltaSrc;
538 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
544 src += offset;
547 dst32[x] = strip16to8(src);
548 src += deltaSrc;
553 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
559 src += offset;
562 dst16[x] = strip16to565(src);
563 src += deltaSrc;
568 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
574 src += offset;
577 dst32[x] = strip16to8(src);
578 src += deltaSrc;
583 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
589 src += offset;
592 dst32[x] = stripAndPremul16to8(src);
593 src += deltaSrc;
598 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
604 src += offset;
607 dst32[x] = strip16to8(src);
608 src += deltaSrc;
613 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
619 src += offset;
622 dst32[x] = stripAndPremul16to8(src);
623 src += deltaSrc;
673 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
676 src += offset;
679 const uint8_t r = SkMulDiv255Round(src[0], src[3]);
680 const uint8_t g = SkMulDiv255Round(src[1], src[3]);
681 const uint8_t b = SkMulDiv255Round(src[2], src[3]);
684 src += deltaSrc;
689 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
692 src += offset;
695 const uint8_t r = SkMulDiv255Round(src[0], src[3]);
696 const uint8_t g = SkMulDiv255Round(src[1], src[3]);
697 const uint8_t b = SkMulDiv255Round(src[2], src[3]);
700 src += deltaSrc;
705 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
712 SkOpts::inverted_CMYK_to_RGB1((uint32_t*) dst, (const uint32_t*)(src + offset), width);
716 void* dst, const uint8_t* src, int width, int bpp, int deltaSrc, int offset,
723 SkOpts::inverted_CMYK_to_BGR1((uint32_t*) dst, (const uint32_t*)(src + offset), width);
727 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
730 src += offset;
733 const uint8_t r = SkMulDiv255Round(src[0], src[3]);
734 const uint8_t g = SkMulDiv255Round(src[1], src[3]);
735 const uint8_t b = SkMulDiv255Round(src[2], src[3]);
738 src += deltaSrc;
744 void* dst, const uint8_t* src, int width,
748 const uint16_t* src16 = (const uint16_t*) (src + offset);
752 // e.g. for a src pixel 0x00FF which is not zero but becomes zero after premultiplication.
763 void* SK_RESTRICT dstRow, const uint8_t* SK_RESTRICT src, int dstWidth,
767 auto src32 = (const uint32_t*)(src+offset);
771 // e.g. for a src pixel 0x00FFFFFF which is not zero but becomes zero after premultiplication.
1233 void SkSwizzler::swizzle(void* dst, const uint8_t* SK_RESTRICT src) {
1234 SkASSERT(nullptr != dst && nullptr != src);
1235 fActualProc(SkTAddOffset<void>(dst, fDstOffsetBytes), src, fSwizzleWidth, fSrcBPP,