static void twoxsai_generic_rgb565(unsigned width, unsigned height, int first, int last, uint16_t *src, unsigned src_stride, uint16_t *dst, unsigned dst_stride) { unsigned nextline, finish; nextline = (last) ? 0 : src_stride; for (; height; height--) { uint16_t *in = (uint16_t*)src; uint16_t *out = (uint16_t*)dst; for (finish = width; finish; finish -= 1) { twoxsai_declare_variables(uint16_t, in, nextline); /* * Map of the pixels: I|E F|J * G|A B|K * H|C D|L * M|N O|P */ twoxsai_function(twoxsai_result, twoxsai_interpolate_rgb565, twoxsai_interpolate2_rgb565); } src += src_stride; dst += 2 * dst_stride; } }
static void twoxsai_generic_xrgb8888(unsigned width, unsigned height, int first, int last, uint32_t *src, unsigned src_stride, uint32_t *dst, unsigned dst_stride) { unsigned nextline, finish; nextline = (last) ? 0 : src_stride; for (; height; height--) { uint32_t *in = (uint32_t*)src; uint32_t *out = (uint32_t*)dst; for (finish = width; finish; finish -= 1) { twoxsai_declare_variables(uint32_t, in, nextline); //--------------------------------------- // Map of the pixels: I|E F|J // G|A B|K // H|C D|L // M|N O|P twoxsai_function(twoxsai_result, twoxsai_interpolate_xrgb8888, twoxsai_interpolate2_xrgb8888); } src += src_stride; dst += 2 * dst_stride; } }