This tutorial sample is similar to the previous “simple_7_decode_d3d - ocl_postproc” but instead performs OpenCL* frame processing before feeding frames to the encoder.
For optimal performance, stream encode and frame processing are both executed using Intel® HD Graphics, featuring efficient surface sharing via the OpenCL 1.2 Khronos DX9 Media Surface Sharing extensions.
The sample utilizes a generic OpenCL frame processing class, capable of NV12 type surface processing, located in the tutorial "common" samples folder.
This tutorial sample code requires the following components to be installed on the developer system:
1. Microsoft Visual Studio 2010* or later
2. Intel® SDK for OpenCL* Applications 2013
- The SDK be downloaded from here: http://software.intel.com/en-us/vcsource/tools/opencl-sdk
- More details about the SDK can also be found via the above link.
3. Intel® HD Graphics Driver 15.31.3071 or later
- Intel drivers can be downloaded from here: https://downloadcenter.intel.com/default.aspx
- Supports 3rd generation Intel® Core™ Processors and upcoming next generation Intel® Core™ Processors
Note that OpenCL processing using Intel® HD Graphics is only supported on 3rd generation Intel® Core™ Processors and upcoming next generation Intel® Core™ Processors.
This tutorial sample is found in the tutorial samples package under the name "simple_7_encode - d3d - ocl_preproc". The code is extensively documented with inline comments detailing each step required to setup and execute the use case.