    uint minor = (source[start + 2] >> (4 * offset)) & 0xf;
    half pv = (half)((major + minor)/4);
  
    // normalize
    pv = max(0.0h, pv - black_level);
    pv /= (1024.0f - black_level);
  
    // correct vignetting
    if (CAM_NUM == 1) { // fcamera
      gx = (gx - RGB_WIDTH/2);
 
</s> remove   pv = clamp(0.0h, 1.0h, pv);
 </s> add   pv = clamp((half)0.0, (half)1.0, pv); </s> remove   rgb = clamp(0.0h, 1.0h, rgb);
 </s> add   rgb = clamp(0.0, 1.0, rgb); </s> remove   ret = clamp(0.0h, 255.0h, ret*255.0h);
 </s> add   ret = clamp(0.0, 255.0, ret*255.0); </s> remove   half3 ret = (0,0,0);
 </s> add   half3 ret = (half3)(0.0, 0.0, 0.0); </s> remove   ret += (half)rgb.x * color_correction[0];
  ret += (half)rgb.y * color_correction[1];
  ret += (half)rgb.z * color_correction[2];
 </s> add   ret += (half)rgb.x * color_correction_0;
  ret += (half)rgb.y * color_correction_1;
  ret += (half)rgb.z * color_correction_2;
  pv = max((half)0.0, pv - black_level);
    uint minor = (source[start + 2] >> (4 * offset)) & 0xf;
    half pv = (half)((major + minor)/4);
  
    // normalize
  pv = max((half)0.0, pv - black_level);
    pv /= (1024.0f - black_level);
  
    // correct vignetting
    if (CAM_NUM == 1) { // fcamera
      gx = (gx - RGB_WIDTH/2);
keep keep keep keep replace keep keep keep keep keep
 debayering: typedef half as float to run on pc (#24439)

* debayering: typedef half as float to run on pc

* add casts to literals

* define existing half type

* remove test code 
selfdrive/camerad/cameras/real_debayer.cl