in genweights.py [0:0]
def max_uv_error(yr, yg, zg, br, bg, bb, cr, cg, cb):
yb = -(yr + yg)
zr = yb
zb = -(zr + zg)
shift = (128 << FIX16) + (1 << (FIX16 - 1)) - 1
u_err = 0.0
v_err = 0.0
for red in range(256):
u_tmp = yr * red + shift
v_tmp = zr * red + shift
uf_tmp = br * red + 128
vf_tmp = cr * red + 128
for green in range(256):
u_tmp2 = yg * green + u_tmp
v_tmp2 = zg * green + v_tmp
uf_tmp2 = bg * green + uf_tmp
vf_tmp2 = cg * green + vf_tmp
for blue in range(256):
u = (yb * blue + u_tmp2) >> FIX16
v = (zb * blue + v_tmp2) >> FIX16
uf = bb * blue + uf_tmp2
vf = cb * blue + vf_tmp2
u_err = max(u_err, abs(uf - u))
v_err = max(v_err, abs(vf - v))
return (u_err, v_err)