ffcine-core 0.4.0

ffcine core types: errors, colour spaces, 3D LUTs, media info, 2D geometry, param tracks and expressions
Documentation
{"ffmpeg": "9.0.2", "vars": {"t": 1.25}, "rows": [
  ["if(1, 2, 3)", "if(1, 2, 3)", 2.0],
  ["if(0, 2, 3)", "if(0, 2, 3)", 3.0],
  ["if(0, 2)", "if(0, 2)", 0.0],
  ["if(5, 2)", "if(5, 2)", 2.0],
  ["ifnot(0, 2, 3)", "ifnot(0, 2, 3)", 2.0],
  ["ifnot(1, 2)", "ifnot(1, 2)", 0.0],
  ["ifnot(0, 2)", "ifnot(0, 2)", 2.0],
  ["lt(1, 2)", "lt(1, 2)", 1.0],
  ["lt(2, 1)", "lt(2, 1)", 0.0],
  ["lt(2, 2)", "lt(2, 2)", 0.0],
  ["lte(2, 2)", "lte(2, 2)", 1.0],
  ["lte(3, 2)", "lte(3, 2)", 0.0],
  ["gt(3, 2)", "gt(3, 2)", 1.0],
  ["gt(2, 2)", "gt(2, 2)", 0.0],
  ["gte(2, 2)", "gte(2, 2)", 1.0],
  ["gte(1, 2)", "gte(1, 2)", 0.0],
  ["eq(2, 2)", "eq(2, 2)", 1.0],
  ["eq(2, 3)", "eq(2, 3)", 0.0],
  ["not(0)", "not(0)", 1.0],
  ["not(2)", "not(2)", 0.0],
  ["between(2, 1, 3)", "between(2, 1, 3)", 1.0],
  ["between(1, 1, 3)", "between(1, 1, 3)", 1.0],
  ["between(3, 1, 3)", "between(3, 1, 3)", 1.0],
  ["between(4, 1, 3)", "between(4, 1, 3)", 0.0],
  ["clip(5, 0, 3)", "clip(5, 0, 3)", 3.0],
  ["clip(-1, 0, 3)", "clip(-1, 0, 3)", 0.0],
  ["clip(1.5, 0, 3)", "clip(1.5, 0, 3)", 1.5],
  ["min(3, -2)", "min(3, -2)", -2.0],
  ["max(3, -2)", "max(3, -2)", 3.0],
  ["abs(-2.5)", "abs(-2.5)", 2.5],
  ["floor(-2.5)", "floor(-2.5)", -3.0],
  ["floor(2.5)", "floor(2.5)", 2.0],
  ["ceil(-2.5)", "ceil(-2.5)", -2.0],
  ["ceil(2.1)", "ceil(2.1)", 3.0],
  ["round(2.5)", "round(2.5)", 3.0],
  ["round(-2.5)", "round(-2.5)", -3.0],
  ["round(2.4)", "round(2.4)", 2.0],
  ["trunc(-2.7)", "trunc(-2.7)", -2.0],
  ["trunc(2.7)", "trunc(2.7)", 2.0],
  ["mod(7, 3)", "mod(7, 3)", 1.0],
  ["mod(-7, 3)", "mod(-7, 3)", 2.0],
  ["mod(7, -3)", "mod(7, -3)", -2.0],
  ["mod(7.5, 2)", "mod(7.5, 2)", 1.5],
  ["mod(-0.5, 1)", "mod(-0.5, 1)", 0.5],
  ["sqrt(2)", "sqrt(2)", 1.4142135623730951],
  ["pow(2, 10)", "pow(2, 10)", 1024.0],
  ["pow(2, 0.5)", "pow(2, 0.5)", 1.4142135623730951],
  ["exp(1)", "exp(1)", 2.718281828459045],
  ["log(10)", "log(10)", 2.302585092994046],
  ["sin(1)", "sin(1)", 0.8414709848078965],
  ["cos(1)", "cos(1)", 0.5403023058681398],
  ["tan(1)", "tan(1)", 1.5574077246549023],
  ["asin(0.5)", "asin(0.5)", 0.5235987755982989],
  ["acos(0.5)", "acos(0.5)", 1.0471975511965979],
  ["atan(1)", "atan(1)", 0.7853981633974483],
  ["atan2(1, 2)", "atan2(1, 2)", 0.4636476090008061],
  ["atan2(-1, -2)", "atan2(-1, -2)", -2.677945044588987],
  ["hypot(3, 4)", "hypot(3, 4)", 5.0],
  ["squish(0.3)", "squish(0.3)", 0.23147521650098238],
  ["squish(-1)", "squish(-1)", 0.9820137900379085],
  ["gauss(0.5)", "gauss(0.5)", 0.3520653267642995],
  ["gauss(0)", "gauss(0)", 0.3989422804014327],
  ["lerp(1, 3, 0.25)", "lerp(1, 3, 0.25)", 1.5],
  ["lerp(2, -2, 1.5)", "lerp(2, -2, 1.5)", -4.0],
  ["PI", "PI", 3.141592653589793],
  ["E", "E", 2.718281828459045],
  ["PHI", "PHI", 1.618033988749895],
  ["1 + 2 * 3", "1 + 2 * 3", 7.0],
  ["(1 + 2) * 3", "(1 + 2) * 3", 9.0],
  ["10 - 4 - 3", "10 - 4 - 3", 3.0],
  ["64 / 4 / 2", "64 / 4 / 2", 8.0],
  ["2 * 3 / 4", "2 * 3 / 4", 1.5],
  ["-2^2", "-2^2", -4.0],
  ["2^-1", "2^-1", 0.5],
  ["-(3 - 5)", "-(3 - 5)", 2.0],
  ["2 ^ 0.5 * 2", "2 ^ 0.5 * 2", 2.8284271247461903],
  ["--3", "--3", 3.0],
  ["+3", "+3", 3.0],
  ["1e3 + 2.5e-1", "1e3 + 2.5e-1", 1000.25],
  ["t * 2", "t * 2", 2.5],
  ["sin(t) + cos(t)^2", "sin(t) + cos(t)^2", 1.0484128115821194],
  ["if(lt(t, 4.7), 0, -1080 * (t - 4.7) / 0.4)", "if(lt(t, 4.7), 0, -1080 * (t - 4.7) / 0.4)", 0.0],
  ["1 - clip((t - 0.6) / 0.4, 0, 1)", "1 - clip((t - 0.6) / 0.4, 0, 1)", 0.0],
  ["7 % 3", "mod(7, 3)", 1.0],
  ["-7 % 3", "mod(-7, 3)", 2.0],
  ["7.5 % 2", "mod(7.5, 2)", 1.5],
  ["1 < 2", "lt(1, 2)", 1.0],
  ["2 <= 2", "lte(2, 2)", 1.0],
  ["3 > 4", "gt(3, 4)", 0.0],
  ["4 >= 4", "gte(4, 4)", 1.0],
  ["2 == 2", "eq(2, 2)", 1.0],
  ["2 != 2", "not(eq(2, 2))", 0.0],
  ["!0", "not(0)", 1.0],
  ["!3", "not(3)", 0.0],
  ["1 && 0", "not(not(1))*not(not(0))", 0.0],
  ["0 || 2", "not(not(0) * not(2))", 1.0],
  ["1 ? 2 : 3", "if(1, 2, 3)", 2.0],
  ["0 ? 2 : 3", "if(0, 2, 3)", 3.0],
  ["sign(-3)", "sgn(-3)", -1.0],
  ["sgn(2)", "sgn(2)", 1.0],
  ["sign(0)", "sgn(0)", 0.0],
  ["1 + 2 < 4", "lt(1 + 2, 4)", 1.0],
  ["t < 2 && t > 1 ? t * 10 : -1", "if(lt(t, 2) * gt(t, 1), t * 10, -1)", 12.5]
]}