home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Aplikacje_64-bitowe / Daum_PotPlayer / PotPlayer1.5.29332-x64.EXE / PxShader / BT601BT709.txt next >
Text File  |  2010-05-20  |  692b  |  32 lines

  1. sampler s0 : register(s0);
  2. float4 p0 : register(c0);
  3.  
  4. #define height (p0[1])
  5.  
  6. float4 main(float2 tex : TEXCOORD0) : COLOR
  7. {
  8.     // original pixel
  9.     float4 c0 = tex2D(s0,tex);
  10.  
  11.     // uncomment to activate for HD only
  12.     /*
  13.     if(height > 719)
  14.     {
  15.         return c0;
  16.     }
  17.     */
  18.  
  19.     // r=c0[0], g=c0[1], b=c0[2]
  20.     // RGB [16,235] to YUV: 601 mode (128 is not added to Cb and Cr)
  21.     float y=0.299*c0[0] + 0.587*c0[1] + 0.114*c0[2];
  22.     float Cb=-0.172*c0[0] -0.339*c0[1] +0.511*c0[2];
  23.     float Cr=0.511*c0[0] -0.428*c0[1] -0.083*c0[2];
  24.  
  25.     // YUV to RGB [16,235]: 709 mode (Cb and Cr are 128 less)
  26.     float r=y+1.540*Cr;
  27.     float g=y-0.459*Cr-0.183*Cb;
  28.     float b=y+1.816*Cb;
  29.  
  30.     return float4(r,g,b,0);
  31. }
  32.