"yuyv8888": {
"i8": {
- "r": " int32_t iy = inp[(i&1)<<1], y = iy*0x010101u, u = inp[1], v = inp[3];",
+ "r": " int32_t iy = inp[(j&1)<<1], y = iy*0x010101u, u = inp[1], v = inp[3];",
"w": " if( !(j&1) ) { *out++ = y; *out = u; out[2] = v; }\n" +
" else { *out++ = u; *out++= y; *out++ = v; }",
},
"i16": {
- "r": " int32_t iy = inp[(i&1)<<1], y = iy*0x010101u, u = inp[1]<<8, v = inp[3]<<8;",
+ "r": " int32_t iy = inp[(j&1)<<1], y = iy*0x010101u, u = inp[1]<<8, v = inp[3]<<8;",
"w": " if( !(j&1) ) { *out++ = y>>8; *out = u>>8; out[2] = v>>8; }\n" +
" else { *out++ = u>>8; *out++= y>>8; *out++ = v>>8; }",
},
"uyvy8888": {
"i8": {
- "r": " int32_t u = inp[0], iy = inp[((i&1)<<1)+1], y = iy*0x010101u, v = inp[2];",
+ "r": " int32_t u = inp[0], iy = inp[((j&1)<<1)+1], y = iy*0x010101u, v = inp[2];",
"w": " if( !(j&1) ) { *out++ = u; *out++ = y; *out++ = v; *out = y; }\n" +
" else { *out++= y; }",
},
"i16": {
- "r": " int32_t u = inp[0]<<8, iy = inp[((i&1)<<1)+1], y = iy*0x010101u, v = inp[2]<<8;",
+ "r": " int32_t u = inp[0]<<8, iy = inp[((j&1)<<1)+1], y = iy*0x010101u, v = inp[2]<<8;",
"w": " if( !(j&1) ) { *out++ = u>>8; *out++ = y>>8; *out++ = v>>8; *out = y>>8; }\n" +
" else { *out++= y>>8; }",
},
"w": " yop[j] = y>>8; uop[j/2] = u>>8; vop[j/2] = v>>8;",
},
},
+ "yuv420pi": {
+ "i8": {
+ "r": " int32_t y = *yip*0x010101u, u = *uip, v = *vip;",
+ "w": " yop[j] = y; uop[j/2] = u; vop[j/2] = v;",
+ },
+ "i16": {
+ "r": " int32_t y = *yip*0x010101u, u = *uip<<8, v = *vip<<8;",
+ "w": " yop[j] = y>>8; uop[j/2] = u>>8; vop[j/2] = v>>8;",
+ },
+ },
"yuv422p": {
"i8": {
add_cmodel(14, "bc_yuva8888", "i8", "yuv888", "a8")
add_cmodel(15, "bc_yuv161616", "i16", "yuv161616")
add_cmodel(16, "bc_yuva16161616", "i16", "yuv161616", "a16")
+add_cmodel(35, "bc_ayuv16161616", "i16", "a16", "yuv161616")
-add_cmodel(18, "bc_yuv422", "i8", "yuyv8888")
-add_cmodel(19, "bc_uvy422", "i8", "uyvy8888")
+add_cmodel(18, "bc_uvy422", "i8", "uyvy8888")
+add_cmodel(19, "bc_yuv422", "i8", "yuyv8888")
add_cmodel(22, "bc_a8")
add_cmodel(23, "bc_a16")
add_cmodel(31, "bc_a_float")
add_cmodel(28, "bc_yuv410p", "i8", "yuv410p")
add_cmodel(32, "bc_rgb_floatp", "fp", "rgbfltp")
add_cmodel(33, "bc_rgba_floatp", "fp", "rgbfltp", "afpp")
+add_cmodel(34, "bc_yuv420pi", "i8", "yuv420pi")
specialize("bc_rgba8888", "bc_transparency", "XFER_rgba8888_to_transparency")
def has_alpha(nm):
return nm in ["bc_rgba8888", "bc_argb8888", "bc_abgr8888", \
- "bc_rgba16161616", "bc_yuva8888", "bc_yuva16161616", \
+ "bc_rgba16161616", "bc_yuva8888", "bc_yuva16161616", "bc_ayuv16161616", \
"bc_uyva8888", "bc_rgba_float", "bc_rgba_floatp",]
def has_bgcolor(fr_cmdl,to_cmdl):
def is_yuv(nm):
return nm in [ "bc_yuv888", "bc_yuva8888", "bc_yuv161616", \
- "bc_yuva16161616", "bc_yuv422", "bc_uvy422", "bc_yuv101010", \
- "bc_vyu888", "bc_uyva8888", "bc_yuv420p", "bc_yuv422p", \
+ "bc_yuva16161616", "bc_ayuv16161616", "bc_yuv422", "bc_uvy422", "bc_yuv101010", \
+ "bc_vyu888", "bc_uyva8888", "bc_yuv420p", "bc_yuv420pi", "bc_yuv422p", \
"bc_yuv444p", "bc_yuv411p", "bc_yuv410p", ]
def is_planar(nm):
- return nm in [ "bc_yuv420p", "bc_yuv422p", "bc_yuv444p", \
+ return nm in [ "bc_yuv420p", "bc_yuv420pi", "bc_yuv422p", "bc_yuv444p", \
"bc_yuv411p", "bc_yuv410p", "bc_rgb_floatp", "bc_rgba_floatp", ]
def is_float(nm):