OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.

VEBox CCM module - input/output

Puneet_J_
Beginner
485 Views
 
I am trying to run VEBox modules on Intel Core M3 processor, which is supposed to have Skylake HD Graphics.  I have installed latest OpenCL drivers and OpenCL SDK on Ubuntu 16.04.  
The following note on Color Conversion Matrix module is a bit confusing:
Color Correction Matrix stage is available if 
    CL_DEVICE_VE_COLOR_PIPE_VERSION_INTEL is equal or greater than 
    CL_VE_VERSION_VER_2_INTEL and by default accepts only Bayer inputs. 
    If CL_DEVICE_VE_COLOR_PIPE_VERSION_INTEL is equal or greater than 
    CL_VE_VERSION_VER_3_INTEL it accepts also RGBA and NV12 inputs.
On my system 
CL_DEVICE_VE_COLOR_PIPE_VERSION_INTEL == CL_VE_VERSION_VER_2_INTEL
which means CCM accepts Bayer inputs.  My understanding is that the 3x3 matrix of CCM works on RGB pixel.  How does it get applied to Bayer pattern which is has two different Green pixels along with R, and G.
Further, if indeed CCM accepts Bayer, then it would mean disabling upstream Demosaic module in which case how does one do Demosaic-ing after CCM?
 
As for VE_COLOR_PIPE_VERSION  -  which version of VEBox/Driver combination would show up as CL_VE_VERSION_VER_3_INTEL?
 
Thanks,
Puneet
0 Kudos
2 Replies
Michael_C_Intel1
Moderator
485 Views

Hello PuneetJ,

1) Q. My understanding is that the 3x3 matrix of CCM works on RGB pixel.  How does it get applied to Bayer pattern...?

Our OCL contributors feel you've identified a sighting against the OCL spec. They'll look to correct the text. Their comment:

The typo is:

“CL_VE_VERSION_VER_2_INTEL and by default accepts only Bayer inputs”

Should read:

“CL_VE_VERSION_VER_2_INTEL and by default only accepts input from the Demosaic stage”

The CCM is typically used to translate camera RGB pixels (from the Demosaic stage) to a standard RGB color space such as sRGB. The reason for the distinction between CL_VE_VERSION_VER_2_INTEL and CL_VE_VERSION_VER_3_INTEL is because on Skylake the CCM is hard-wired to the Demosaic stage and cannot be decoupled from it, in later hardware the Demosaic stage can be disabled and RGBA/NV12 pixels can be feed directly into the CCM stage.  

2)

Q. which version of VEBox/Driver combination would show up as CL_VE_VERSION_VER_3_INTEL 

A. The CL_VE_VERSION_VER_3_INTEL features are reserved for future HW not yet released. 

 

Does this help?

0 Kudos
Puneet_J_
Beginner
485 Views

Hi Michael,

Thanks for your crisp response addressing all my queries.

Puneet 

0 Kudos
Reply