+#define CLOSEYUV2RGBFUNC(dst_delta)\
+ ENDYUV2RGBLINE(dst_delta)\
+ ENDYUV2RGBFUNC()
+
+YUV2RGBFUNC(yuv2rgb_c_48, uint8_t, 0)
+ LOADCHROMA(0);
+ PUTRGB48(dst_1,py_1,0);
+ PUTRGB48(dst_2,py_2,0);
+
+ LOADCHROMA(1);
+ PUTRGB48(dst_2,py_2,1);
+ PUTRGB48(dst_1,py_1,1);
+
+ LOADCHROMA(2);
+ PUTRGB48(dst_1,py_1,2);
+ PUTRGB48(dst_2,py_2,2);
+
+ LOADCHROMA(3);
+ PUTRGB48(dst_2,py_2,3);
+ PUTRGB48(dst_1,py_1,3);
+ENDYUV2RGBLINE(48)
+ LOADCHROMA(0);
+ PUTRGB48(dst_1,py_1,0);
+ PUTRGB48(dst_2,py_2,0);
+
+ LOADCHROMA(1);
+ PUTRGB48(dst_2,py_2,1);
+ PUTRGB48(dst_1,py_1,1);
+ENDYUV2RGBFUNC()
+
+YUV2RGBFUNC(yuv2rgb_c_32, uint32_t, 0)
+ LOADCHROMA(0);
+ PUTRGB(dst_1,py_1,0);
+ PUTRGB(dst_2,py_2,0);
+
+ LOADCHROMA(1);
+ PUTRGB(dst_2,py_2,1);
+ PUTRGB(dst_1,py_1,1);
+
+ LOADCHROMA(2);
+ PUTRGB(dst_1,py_1,2);
+ PUTRGB(dst_2,py_2,2);
+
+ LOADCHROMA(3);
+ PUTRGB(dst_2,py_2,3);
+ PUTRGB(dst_1,py_1,3);
+ENDYUV2RGBLINE(8)
+ LOADCHROMA(0);
+ PUTRGB(dst_1,py_1,0);
+ PUTRGB(dst_2,py_2,0);
+
+ LOADCHROMA(1);
+ PUTRGB(dst_2,py_2,1);
+ PUTRGB(dst_1,py_1,1);
+ENDYUV2RGBFUNC()
+
+YUV2RGBFUNC(yuva2rgba_c, uint32_t, 1)
+ LOADCHROMA(0);
+ PUTRGBA(dst_1,py_1,pa_1,0,24);
+ PUTRGBA(dst_2,py_2,pa_2,0,24);
+
+ LOADCHROMA(1);
+ PUTRGBA(dst_2,py_2,pa_1,1,24);
+ PUTRGBA(dst_1,py_1,pa_2,1,24);
+
+ LOADCHROMA(2);
+ PUTRGBA(dst_1,py_1,pa_1,2,24);
+ PUTRGBA(dst_2,py_2,pa_2,2,24);
+
+ LOADCHROMA(3);
+ PUTRGBA(dst_2,py_2,pa_1,3,24);
+ PUTRGBA(dst_1,py_1,pa_2,3,24);
+ pa_1 += 8;\
+ pa_2 += 8;\
+ENDYUV2RGBLINE(8)
+ LOADCHROMA(0);
+ PUTRGBA(dst_1,py_1,pa_1,0,24);
+ PUTRGBA(dst_2,py_2,pa_2,0,24);
+
+ LOADCHROMA(1);
+ PUTRGBA(dst_2,py_2,pa_1,1,24);
+ PUTRGBA(dst_1,py_1,pa_2,1,24);
+ENDYUV2RGBFUNC()
+
+YUV2RGBFUNC(yuva2argb_c, uint32_t, 1)
+ LOADCHROMA(0);
+ PUTRGBA(dst_1,py_1,pa_1,0,0);
+ PUTRGBA(dst_2,py_2,pa_2,0,0);
+
+ LOADCHROMA(1);
+ PUTRGBA(dst_2,py_2,pa_2,1,0);
+ PUTRGBA(dst_1,py_1,pa_1,1,0);
+
+ LOADCHROMA(2);
+ PUTRGBA(dst_1,py_1,pa_1,2,0);
+ PUTRGBA(dst_2,py_2,pa_2,2,0);
+
+ LOADCHROMA(3);
+ PUTRGBA(dst_2,py_2,pa_2,3,0);
+ PUTRGBA(dst_1,py_1,pa_1,3,0);
+ pa_1 += 8;\
+ pa_2 += 8;\
+ENDYUV2RGBLINE(8)
+ LOADCHROMA(0);
+ PUTRGBA(dst_1,py_1,pa_1,0,0);
+ PUTRGBA(dst_2,py_2,pa_2,0,0);
+
+ LOADCHROMA(1);
+ PUTRGBA(dst_2,py_2,pa_2,1,0);
+ PUTRGBA(dst_1,py_1,pa_1,1,0);
+ENDYUV2RGBFUNC()
+
+YUV2RGBFUNC(yuv2rgb_c_24_rgb, uint8_t, 0)
+ LOADCHROMA(0);
+ PUTRGB24(dst_1,py_1,0);
+ PUTRGB24(dst_2,py_2,0);
+
+ LOADCHROMA(1);
+ PUTRGB24(dst_2,py_2,1);
+ PUTRGB24(dst_1,py_1,1);
+
+ LOADCHROMA(2);
+ PUTRGB24(dst_1,py_1,2);
+ PUTRGB24(dst_2,py_2,2);
+
+ LOADCHROMA(3);
+ PUTRGB24(dst_2,py_2,3);
+ PUTRGB24(dst_1,py_1,3);
+ENDYUV2RGBLINE(24)
+ LOADCHROMA(0);
+ PUTRGB24(dst_1,py_1,0);
+ PUTRGB24(dst_2,py_2,0);
+
+ LOADCHROMA(1);
+ PUTRGB24(dst_2,py_2,1);
+ PUTRGB24(dst_1,py_1,1);
+ENDYUV2RGBFUNC()