sdl1/clonekeen/scale2x/scale2x.c
/**
 * Scale by a factor of 2 a row of pixels of 16 bits.
 * This function operates like scale2x_8_mmx() but for 16 bits pixels.
 * \param src0 Pointer at the first pixel of the previous row.
 * \param src1 Pointer at the first pixel of the current row.
 * \param src2 Pointer at the first pixel of the next row.
 * \param count Length in pixels of the src0, src1 and src2 rows. It must
 * be at least 8 and a multiple of 4.
 * \param dst0 First destination row, double length in pixels.
 * \param dst1 Second destination row, double length in pixels.
 */
Scale by a factor of 2 a row of pixels of 16 bits.
This function operates like scale2x_8_mmx() but for 16 bits pixels.
\param src0 Pointer at the first pixel of the previous row.
\param src1 Pointer at the first pixel of the current row.
\param src2 Pointer at the first pixel of the next row.
\param count Length in pixels of the src0, src1 and src2 rows. It must
be at least 8 and a multiple of 4.
\param dst0 First destination row, double length in pixels.
\param dst1 Second destination row, double length in pixels.
Scale by a factor of 2 a row of pixels of 16 bits . This function operates like scale2x_8_mmx () but for 16 bits pixels . \ param src0 Pointer at the first pixel of the previous row . \ param src1 Pointer at the first pixel of the current row . \ param src2 Pointer at the first pixel of the next row . \ param count Length in pixels of the src0 src1 and src2 rows . It must be at least 8 and a multiple of 4 . \ param dst0 First destination row double length in pixels . \ param dst1 Second destination row double length in pixels .
void scale2x_16_mmx(scale2x_uint16* dst0, scale2x_uint16* dst1, const scale2x_uint16* src0, const scale2x_uint16* src1, const scale2x_uint16* src2, unsigned count)
{
	if (count % 4 != 0 || count < 8) {
		scale2x_16_def(dst0, dst1, src0, src1, src2, count);
	} else {
		scale2x_16_mmx_border(dst0, src0, src1, src2, count);
		scale2x_16_mmx_border(dst1, src2, src1, src0, count);
	}
}
void scale2x_16_mmx ( scale2x_uint16 * dst0 , scale2x_uint16 * dst1 , const scale2x_uint16 * src0 , const scale2x_uint16 * src1 , const scale2x_uint16 * src2 , unsigned count ) { if ( count % 4 != 0 || count < 8 ) { scale2x_16_def ( dst0 , dst1 , src0 , src1 , src2 , count ) ; } else { scale2x_16_mmx_border ( dst0 , src0 , src1 , src2 , count ) ; scale2x_16_mmx_border ( dst1 , src2 , src1 , src0 , count ) ; } }
Scale by a factor of 2 a row of pixels of 16 bits.
Scale by a factor of 2 a row of pixels of 16 bits .