Functions | |
static void | scale3x_8_def_whole (scale3x_uint8 *restrict dst0, scale3x_uint8 *restrict dst1, scale3x_uint8 *restrict dst2, const scale3x_uint8 *restrict src0, const scale3x_uint8 *restrict src1, const scale3x_uint8 *restrict src2, unsigned count) |
Define the macro USE_SCALE_RANDOMWRITE to enable an optimized version which writes memory in random order. | |
static void | scale3x_8_def_border (scale3x_uint8 *restrict dst, const scale3x_uint8 *restrict src0, const scale3x_uint8 *restrict src1, const scale3x_uint8 *restrict src2, unsigned count) |
static void | scale3x_8_def_center (scale3x_uint8 *restrict dst, const scale3x_uint8 *restrict src0, const scale3x_uint8 *restrict src1, const scale3x_uint8 *restrict src2, unsigned count) |
static void | scale3x_16_def_whole (scale3x_uint16 *restrict dst0, scale3x_uint16 *restrict dst1, scale3x_uint16 *restrict dst2, const scale3x_uint16 *restrict src0, const scale3x_uint16 *restrict src1, const scale3x_uint16 *restrict src2, unsigned count) |
static void | scale3x_16_def_border (scale3x_uint16 *restrict dst, const scale3x_uint16 *restrict src0, const scale3x_uint16 *restrict src1, const scale3x_uint16 *restrict src2, unsigned count) |
static void | scale3x_16_def_center (scale3x_uint16 *restrict dst, const scale3x_uint16 *restrict src0, const scale3x_uint16 *restrict src1, const scale3x_uint16 *restrict src2, unsigned count) |
static void | scale3x_32_def_whole (scale3x_uint32 *restrict dst0, scale3x_uint32 *restrict dst1, scale3x_uint32 *restrict dst2, const scale3x_uint32 *restrict src0, const scale3x_uint32 *restrict src1, const scale3x_uint32 *restrict src2, unsigned count) |
static void | scale3x_32_def_border (scale3x_uint32 *restrict dst, const scale3x_uint32 *restrict src0, const scale3x_uint32 *restrict src1, const scale3x_uint32 *restrict src2, unsigned count) |
static void | scale3x_32_def_center (scale3x_uint32 *restrict dst, const scale3x_uint32 *restrict src0, const scale3x_uint32 *restrict src1, const scale3x_uint32 *restrict src2, unsigned count) |
void | scale3x_8_def (scale3x_uint8 *dst0, scale3x_uint8 *dst1, scale3x_uint8 *dst2, const scale3x_uint8 *src0, const scale3x_uint8 *src1, const scale3x_uint8 *src2, unsigned count) |
Scale by a factor of 3 a row of pixels of 8 bits. | |
void | scale3x_16_def (scale3x_uint16 *dst0, scale3x_uint16 *dst1, scale3x_uint16 *dst2, const scale3x_uint16 *src0, const scale3x_uint16 *src1, const scale3x_uint16 *src2, unsigned count) |
Scale by a factor of 3 a row of pixels of 16 bits. | |
void | scale3x_32_def (scale3x_uint32 *dst0, scale3x_uint32 *dst1, scale3x_uint32 *dst2, const scale3x_uint32 *src0, const scale3x_uint32 *src1, const scale3x_uint32 *src2, unsigned count) |
Scale by a factor of 3 a row of pixels of 32 bits. |
void scale3x_16_def | ( | scale3x_uint16 * | dst0, |
scale3x_uint16 * | dst1, | ||
scale3x_uint16 * | dst2, | ||
const scale3x_uint16 * | src0, | ||
const scale3x_uint16 * | src1, | ||
const scale3x_uint16 * | src2, | ||
unsigned | count | ||
) |
Scale by a factor of 3 a row of pixels of 16 bits.
This function operates like scale3x_8_def() but for 16 bits pixels.
src0 | Pointer at the first pixel of the previous row. |
src1 | Pointer at the first pixel of the current row. |
src2 | Pointer at the first pixel of the next row. |
count | Length in pixels of the src0, src1 and src2 rows. It must be at least 2. |
dst0 | First destination row, triple length in pixels. |
dst1 | Second destination row, triple length in pixels. |
dst2 | Third destination row, triple length in pixels. |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void scale3x_32_def | ( | scale3x_uint32 * | dst0, |
scale3x_uint32 * | dst1, | ||
scale3x_uint32 * | dst2, | ||
const scale3x_uint32 * | src0, | ||
const scale3x_uint32 * | src1, | ||
const scale3x_uint32 * | src2, | ||
unsigned | count | ||
) |
Scale by a factor of 3 a row of pixels of 32 bits.
This function operates like scale3x_8_def() but for 32 bits pixels.
src0 | Pointer at the first pixel of the previous row. |
src1 | Pointer at the first pixel of the current row. |
src2 | Pointer at the first pixel of the next row. |
count | Length in pixels of the src0, src1 and src2 rows. It must be at least 2. |
dst0 | First destination row, triple length in pixels. |
dst1 | Second destination row, triple length in pixels. |
dst2 | Third destination row, triple length in pixels. |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void scale3x_8_def | ( | scale3x_uint8 * | dst0, |
scale3x_uint8 * | dst1, | ||
scale3x_uint8 * | dst2, | ||
const scale3x_uint8 * | src0, | ||
const scale3x_uint8 * | src1, | ||
const scale3x_uint8 * | src2, | ||
unsigned | count | ||
) |
Scale by a factor of 3 a row of pixels of 8 bits.
The function is implemented in C. The pixels over the left and right borders are assumed of the same color of the pixels on the border.
src0 | Pointer at the first pixel of the previous row. |
src1 | Pointer at the first pixel of the current row. |
src2 | Pointer at the first pixel of the next row. |
count | Length in pixels of the src0, src1 and src2 rows. It must be at least 2. |
dst0 | First destination row, triple length in pixels. |
dst1 | Second destination row, triple length in pixels. |
dst2 | Third destination row, triple length in pixels. |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Define the macro USE_SCALE_RANDOMWRITE to enable an optimized version which writes memory in random order.
This version is a little faster if you write in system memory. But it's a lot slower if you write in video memory. So, enable it only if you are sure to never write directly in video memory.