A median filter implementation serving as a hello world application. Samples in this repository use the Boost Compute API as OpenCL C++ host API wrapper. This example demonstrates its basic use.
To show help message run launcher median_filter -- -h.
launcher median_filter balloons_news.png output.png
These samples demonstrate subgroups. Subgroups are a core feature in OpenCL 2.1, and also may be supported by the Khronos OpenCL cl_khr_subgroups extension or the Intel® OpenCL cl_intel_subgroups extension.
In this tutorial you will visualize how an NDRange is partitioned into subgroups. For more information, see the sample README.
To show help message run launcher subgroups_visualization -- -h.
launcher subgroups_visualization
In this tutorial you will use subgroup block reads and writes to optimize an image copy operation. For more information, see the sample README.
To show help message run launcher subgroups_imagecopy -- -h.
launcher subgroups_imagecopy
The presentation vme_samples_overview provides an overview of the architecture, programming model and interface for the OpenCL VME interfaces used in the VME samples. The programming guide cl_intel_device_side_avc_vme_programmers_manual expounds on the background for VME.
A sample application demonstrating the use of the Intel® OpenCL cl_intel_device_side_avc_motion_estimation extension to accelerating inter-frame motion estimation for video encoding.
There are 3 sub-tests: basic_search, cost_heuristics, and larger_search demonstrating different way of configuring the search parameters for motion estimation to achieve different quality and performance trade-offs.
To show help message run launcher vme_search -- -h.
launcher vme_search -s basic_search
launcher vme_search -s cost_heuristics_search
launcher vme_search -s larger_search
A sample application expanding on the VME Search sample, demonstrating an implementation of 3 tier hierarchical motion estimation to search larger search areas leveraging the Intel® OpenCL cl_intel_device_side_avc_motion_estimation extension to accelerating inter-frame motion estimation for each tier.
To show help message run launcher vme_hme -- -h.
launcher vme_hme
A sample application expanding on the VME HME sample, demonstrating how to performance intra-frame motion estimation using the Intel® OpenCL cl_intel_device_side_avc_motion_estimation extension.
To show help message run launcher vme_intra -- -h.
launcher vme_intra
A sample application expanding on the VME HME sample, demonstrating how to performance motion estimation using the Intel® OpenCL cl_intel_device_side_avc_motion_estimation extension considering macro-block dependencies between macro-blocks. It introduces the concept of software scoreboard to handle dependencies between threads.
To show help message run launcher vme_wpp -- -h.
launcher vme_wpp
A sample application demonstrating the processing of interlaced context using the Intel® OpenCL cl_intel_device_side_avc_motion_estimation extension.
To show help message run launcher vme_interlaced -- -h.
launcher vme_interlaced
A sample application demonstrating the processing of VAAPI created surfaces using the Intel® OpenCL cl_intel_device_side_avc_motion_estimation extension.
This is only supported for Linux platforms for which VAAPI implementations exist. The sample is currently supported on 16.5 (Media Server Studio 2017) driver.
To show help message run launcher vme_interop -- -h.
launcher vme_interop