for (x = h_size >> 3; --x >= 0; ) {
for (x = internal_h_size >> 3; --x >= 0; ) {
static inline void RENAME(yuv420_argb32) (uint8_t * image, uint8_t * py,			       uint8_t * pu, uint8_t * pv,			       int h_size, int v_size,			       int rgb_stride, int y_stride, int uv_stride){    int even = 1;    int x, y;    __asm__ __volatile__ ("pxor %mm4, %mm4;" /* zero mm4 */ );    for (y = v_size; --y >= 0; ) {	uint8_t *_image = image;	uint8_t *_py = py;	uint8_t *_pu = pu;	uint8_t *_pv = pv;	/* load data for start of next scan line */	__asm__ __volatile__ 	    (	     "movd (%1), %%mm0;" /* Load 4 Cb 00 00 00 00 u3 u2 u1 u0 */ 	     "movd (%2), %%mm1;" /* Load 4 Cr 00 00 00 00 v3 v2 v1 v0 */ 	     "movq (%0), %%mm6;" /* Load 8  Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 */ 	     : : "r" (_py), "r" (_pu), "r" (_pv)	     );	for (x = h_size >> 3; --x >= 0; ) {	    /* this mmx assembly code deals with SINGLE scan line at a time, it convert 8	       pixels in each iteration */	    __asm__ __volatile__ (YUV2RGB		     /* convert RGB plane to RGB packed format,			mm0 -> B, mm1 -> R, mm2 -> G, mm3 -> 0,			mm4 -> GB, mm5 -> AR pixel 4-7,			mm6 -> GB, mm7 -> AR pixel 0-3 */		     "pxor %%mm3, %%mm3;" /* zero mm3 */		     "movq %%mm0, %%mm6;" /* B7 B6 B5 B4 B3 B2 B1 B0 */		     "movq %%mm1, %%mm7;" /* R7 R6 R5 R4 R3 R2 R1 R0 */		     "movq %%mm0, %%mm4;" /* B7 B6 B5 B4 B3 B2 B1 B0 */		     "movq %%mm1, %%mm5;" /* R7 R6 R5 R4 R3 R2 R1 R0 */		     "punpcklbw %%mm2, %%mm6;" /* G3 B3 G2 B2 G1 B1 G0 B0 */		     "punpcklbw %%mm3, %%mm7;" /* 00 R3 00 R2 00 R1 00 R0 */		     "punpcklwd %%mm7, %%mm6;" /* 00 R1 B1 G1 00 R0 B0 G0 */		     MOVNTQ " %%mm6, (%3);" /* Store ARGB1 ARGB0 */		     "movq %%mm0, %%mm6;" /* B7 B6 B5 B4 B3 B2 B1 B0 */		     "punpcklbw %%mm2, %%mm6;" /* G3 B3 G2 B2 G1 B1 G0 B0 */		     "punpckhwd %%mm7, %%mm6;" /* 00 R3 G3 B3 00 R2 B3 G2 */		     MOVNTQ " %%mm6, 8 (%3);" /* Store ARGB3 ARGB2 */		     "punpckhbw %%mm2, %%mm4;" /* G7 B7 G6 B6 G5 B5 G4 B4 */		     "punpckhbw %%mm3, %%mm5;" /* 00 R7 00 R6 00 R5 00 R4 */		     "punpcklwd %%mm5, %%mm4;" /* 00 R5 B5 G5 00 R4 B4 G4 */		     MOVNTQ " %%mm4, 16 (%3);" /* Store ARGB5 ARGB4 */		     "movq %%mm0, %%mm4;" /* B7 B6 B5 B4 B3 B2 B1 B0 */		     "punpckhbw %%mm2, %%mm4;" /* G7 B7 G6 B6 G5 B5 G4 B4 */		     "punpckhwd %%mm5, %%mm4;" /* 00 R7 G7 B7 00 R6 B6 G6 */		     MOVNTQ " %%mm4, 24 (%3);" /* Store ARGB7 ARGB6 */		     "movd 4 (%1), %%mm0;" /* Load 4 Cb 00 00 00 00 u3 u2 u1 u0 */		     "movd 4 (%2), %%mm1;" /* Load 4 Cr 00 00 00 00 v3 v2 v1 v0 */		     "pxor %%mm4, %%mm4;" /* zero mm4 */		     "movq 8 (%0), %%mm6;" /* Load 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 */		     : : "r" (_py), "r" (_pu), "r" (_pv), "r" (_image));	    _py += 8;	    _pu += 4;	    _pv += 4;	    _image += 32;	}	if (!even) {	    pu += uv_stride;	    pv += uv_stride;	}	py += y_stride;	image += rgb_stride;	even = (!even);    }    __asm__ __volatile__ (EMMS);}