Lines Matching refs:cr
445 int y_offset, int *y, int *cb, int *cr) in rgb2ycbcr() argument
449 *cr = ((m[2][0] * r + m[2][1] * g + m[2][2] * b) >> 16) + (128 << 4); in rgb2ycbcr()
453 int *y, int *cb, int *cr) in color_to_ycbcr() argument
495 rgb2ycbcr(full ? bt601_full : bt601, r, g, b, y_offset, y, cb, cr); in color_to_ycbcr()
498 rgb2ycbcr(bt2020, r, g, b, 16, y, cb, cr); in color_to_ycbcr()
511 *cr = (((r - yc) * COEFF(1.0 / 1.7184, 224)) >> 16) + (128 << 4); in color_to_ycbcr()
513 *cr = (((r - yc) * COEFF(1.0 / 0.9936, 224)) >> 16) + (128 << 4); in color_to_ycbcr()
516 rgb2ycbcr(smpte240m, r, g, b, 16, y, cb, cr); in color_to_ycbcr()
521 rgb2ycbcr(full ? rec709_full : rec709, r, g, b, y_offset, y, cb, cr); in color_to_ycbcr()
526 static void ycbcr2rgb(const int m[3][3], int y, int cb, int cr, in ycbcr2rgb() argument
531 cr -= 128 << 4; in ycbcr2rgb()
532 *r = m[0][0] * y + m[0][1] * cb + m[0][2] * cr; in ycbcr2rgb()
533 *g = m[1][0] * y + m[1][1] * cb + m[1][2] * cr; in ycbcr2rgb()
534 *b = m[2][0] * y + m[2][1] * cb + m[2][2] * cr; in ycbcr2rgb()
540 static void ycbcr_to_color(struct tpg_data *tpg, int y, int cb, int cr, in ycbcr_to_color() argument
583 ycbcr2rgb(full ? bt601_full : bt601, y, cb, cr, y_offset, r, g, b); in ycbcr_to_color()
586 ycbcr2rgb(bt2020, y, cb, cr, 16, r, g, b); in ycbcr_to_color()
591 cr -= 128 << 4; in ycbcr_to_color()
598 if (cr <= 0) in ycbcr_to_color()
599 *r = COEFF(1.0, 219) * y + COEFF(1.7184, 224) * cr; in ycbcr_to_color()
601 *r = COEFF(1.0, 219) * y + COEFF(0.9936, 224) * cr; in ycbcr_to_color()
613 ycbcr2rgb(smpte240m, y, cb, cr, 16, r, g, b); in ycbcr_to_color()
618 ycbcr2rgb(full ? rec709_full : rec709, y, cb, cr, y_offset, r, g, b); in ycbcr_to_color()
700 int y, cb, cr; in precalculate_color() local
705 color_to_ycbcr(tpg, r, g, b, &y, &cb, &cr); in precalculate_color()
711 cr -= 128 << 4; in precalculate_color()
712 tmp_cb = (cb * cos(128 + tpg->hue)) / 127 + (cr * sin[128 + tpg->hue]) / 127; in precalculate_color()
713 tmp_cr = (cr * cos(128 + tpg->hue)) / 127 - (cb * sin[128 + tpg->hue]) / 127; in precalculate_color()
716 cr = (128 << 4) + (tmp_cr * tpg->contrast * tpg->saturation) / (128 * 128); in precalculate_color()
720 tpg->colors[k][2] = clamp(cr >> 4, 1, 254); in precalculate_color()
723 ycbcr_to_color(tpg, y, cb, cr, &r, &g, &b); in precalculate_color()
728 int y, cb, cr; in precalculate_color() local
730 color_to_ycbcr(tpg, r, g, b, &y, &cb, &cr); in precalculate_color()
735 cr = clamp(cr, 16 << 4, 240 << 4); in precalculate_color()
739 cr = clamp(cr >> 4, 1, 254); in precalculate_color()
744 cr >>= 4; in precalculate_color()
749 cr >>= 3; in precalculate_color()
754 cr >>= 3; in precalculate_color()
759 tpg->colors[k][2] = cr; in precalculate_color()