hilight color tweak, listbox drag fixes, add 10bit to spec
[goodguy/history.git] / cinelerra-5.1 / guicast / bccmdl.py
index a8d8d0a7af75068938994dc3d52197b65f1e24df..27c3a050fcbe162a1454459ac1ab934ea1511228 100755 (executable)
@@ -181,12 +181,12 @@ base = {
 
   "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; }",
     },
@@ -194,12 +194,12 @@ base = {
 
   "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; }",
     },
@@ -322,6 +322,28 @@ base = {
     },
   },
 
+  "grey8": {
+    "i8": {
+      "r": " int32_t iy = *inp++, y = iy * 0x010101u, u = 0x80, v = 0x80;",
+      "w": " *out++ = y; (void)u; (void)v;",
+    },
+    "i16": {
+      "r": " int32_t iy = *inp++, y = iy * 0x010101u, u = 0x8000, v = 0x8000;",
+      "w": " *out++ = y>>8; (void)u; (void)v;",
+    },
+  },
+
+  "grey16": {
+    "i8": {
+      "r": " int32_t iy = *inp++, y = (iy<<8) | (iy>>8), u = 0x80, v = 0x80;",
+      "w": " *out++ = y<<8; (void)u; (void)v;",
+    },
+    "i16": {
+      "r": " int32_t iy = *inp++, y = (iy<<8) | (iy>>8), u = 0x8000, v = 0x8000;",
+      "w": " *out++ = y; (void)u; (void)v;",
+    },
+  },
+
   # alpha component
   "a8": {
     "i8": {
@@ -439,9 +461,10 @@ add_cmodel(13, "bc_yuv888", "i8", "yuv888")
 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")
@@ -460,6 +483,9 @@ add_cmodel(32, "bc_rgb_floatp", "fp", "rgbfltp")
 add_cmodel(33, "bc_rgba_floatp", "fp", "rgbfltp", "afpp")
 add_cmodel(34, "bc_yuv420pi", "i8", "yuv420pi")
 
+add_cmodel(36, "bc_grey8", "i8", "grey8")
+add_cmodel(37, "bc_grey16", "i16", "grey16")
+
 specialize("bc_rgba8888", "bc_transparency", "XFER_rgba8888_to_transparency")
 
 ctype = {
@@ -476,7 +502,7 @@ adata = {
 
 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):
@@ -497,9 +523,9 @@ def is_rgb(nm):
 
 def is_yuv(nm):
   return nm in [ "bc_yuv888", "bc_yuva8888", "bc_yuv161616", \
-    "bc_yuva16161616", "bc_yuv422", "bc_uvy422", "bc_yuv101010", \
+    "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", ]
+    "bc_yuv444p", "bc_yuv411p", "bc_yuv410p", "bc_grey8", "bc_grey16" ]
 
 def is_planar(nm):
   return nm in [ "bc_yuv420p", "bc_yuv420pi", "bc_yuv422p", "bc_yuv444p", \