qcap: Don't clip intermediate values in YUV to RGB conversion code.
authorLei Zhang <thestig@google.com>
Wed, 10 Dec 2008 00:35:32 +0000 (16:35 -0800)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 11 Dec 2008 10:50:29 +0000 (11:50 +0100)
dlls/qcap/yuv.c

index 358a711ef07a17a28b20daa70799d08a47edc320..5896ee54c9a0d2f65a95f4879f1e47994936efe5 100644 (file)
@@ -68,21 +68,21 @@ void YUV_Init(void) {
    for (y_ = 0; y_ <= 255; y_++)
    {
       y = ((float) 255 / 219) * (y_ - 16);
-      yuv_xy[y_] = ValidRange((int) (y));
+      yuv_xy[y_] = y;
    }
 
    for (cb = 0; cb <= 255; cb++)
    {
       u = ((float) 255 / 224) * (cb - 128);
-      yuv_gu[cb] = - ValidRange((int) (0.344 * u));
-      yuv_bu[cb] =   ValidRange((int) (1.772 * u));
+      yuv_gu[cb] = -0.344 * u;
+      yuv_bu[cb] =  1.772 * u;
    }
 
    for (cr = 0; cr <= 255; cr++)
    {
       v = ((float) 255 / 224) * (cr - 128);
-      yuv_rv[cr] =   ValidRange((int) (1.402 * v));
-      yuv_gv[cr] = - ValidRange((int) (0.714 * v));
+      yuv_rv[cr] =  1.402 * v;
+      yuv_gv[cr] = -0.714 * v;
    }
    TRACE("Filled hash table\n");
 }