New OpenCL Extensions
The following new extensions for leveraging the media processing capabilities in Intel Processor Graphics have been add to our 15.46 driver releases:
- cl_intel_device_side_avc_motion_estimation extension to support AVC VME built-in functions callable from OpenCL kernels giving greater flexibility for expert developers and potential performance improvements for simpler VME operations compared to the built-in kernels provided with the cl_intel_motion_estimation and cl_intel_advanced_motion_estimation extensions. The new functions can be used to implement the pre-ENC and ENC stages of an encode pipeline using Intel® GPUs. This extension is supported for 6th Gen Intel® Core™ Processor Graphics and newer..
- cl_intel_media_block_io extension to augment the block read/write functionality available in the Intel® vendor subgroup extensions, cl_intel_subgroups and cl_intel_subgroups_short, by the specification of additional built-in functions to facilitate the reading and writing of flexible 2D regions from images. This API allows for the explicit specification of the width and height of the image regions. The primary use for this extension is to support the reading of edge texels (or image elements) of neighboring macro-blocks as described in the Intel vendor extension cl_intel_device_side_avc_motion_estimation. This extension is supported for 6th Gen Intel® Core™ Processor Graphics .
- cl_intel_planar_yuv extension adds native support for the Planar YUV (YCbCr) image format which can be used with the Device-Side AVC Motion Estimation and Video Enhancement extensions. This extension is supported for 6th Gen Intel® Core™ Processor Graphics .
Preview OpenCL Extensions
This driver release contains optionally accessible preview extensions permitting developers to expose new functionality to OpenCL kernels. Once enabled using windows registry variables the preview extensions will be listed in the device extension list provided by clGetDeviceInfo. The following windows registry keys need to be set in order to enable preview features:
All preview extensions can be identified by the pattern cl_intelx_ in the extension name.
We encourage any developers utilizing the preview extensions to provide feedback and to review future releases for more changes.
- A preview extension is not a final commitment. We may modify the functionality and/or interface or remove it completely. Developers should not depend on the existence of preview extensions in shipping drivers and should not enable these features on end-user platforms as part of any application installation process.
- Preview extensions may not receive the same amount of testing as production features. If you have enabled a preview extension, please only file bug reports for that extension. If you suspect a bug in non-preview functionality, it would be helpful to confirm that issue with and without preview extensions enabled.
- We appreciate and want all feedback! Your feedback enables us to improve the product and provide you with the best product possible. Please use the feedback channels provided elsewhere in this document, or contribute to the following forum: https://software.intel.com/en-us/forums/opencl
The following new preview extensions for leveraging the media processing capabilities in Intel Processor Graphics are introduced:
- cl_intelx_video_enhancement extension exposes a fixed-function pipeline consisting of Denoise, Deinterlace and Hot Pixel Correction stages. It comes together with a number of per-frame and per-block statistics that can be accessed, including global noise estimate statistics, spatial-temporal motion measure, Denoise history, histograms, per command and other statistics that the Video Enhancement pipeline generates. Includes support for NV12 image format. The features are based on built-in kernels infrastructure and the cl_intel_accelerator extension. This extension is supported for 6th Gen Intel® Core™ Processor Graphics .
- cl_intelx_video_enhancement_camera_pipeline extension exposes a fixed-function pipeline of operations working on camera inputs in Bayer formats: Black Level Correction, Vignette, White Balance Correction, Denoise, Hot Pixel Correction and Demosaic. The extension reuses the infrastructure defined in the cl_intelx_video_enhancement extension. This extension is supported for 6th Gen Intel® Core™ Processor Graphics .
- cl_intelx_video_enhancement_color_pipeline extension extends the cl_intelx_video_enhancement and cl_intelx_video_enhancement_camera_pipeline extensions with color processing and enhancement pipeline, consisting of the following stages: Color Correction Matrix, Forward Gamma Correction, FrontEnd Color Space Conversion, Skin-tone Detection and Enhancement, Gamut Compression, Adaptive Contrast Enhancement, Total Color Correction, Process Amplifier, Back-end Color Space Conversion and Gamut Expansion / Color Correction. This extension is supported for 6th Gen Intel® Core™ Processor Graphics and newer.