This Intel® Media SDK sample again utilizes “simple_5_transcode_opaque – async - vppresize”. However, this sample shows execution of several concurrent transcode sessions via the use of OpenMP* (http://openmp.org/wp/).
This tutorial sample is found in the tutorial samples package under the name "simple_6_multisession_omp". The code is extensively documented with inline comments detailing each step required to setup and execute the use case.
Intel® Media SDK and 2nd (or higher) generation Intel® CoreTM platforms do not only support single HW accelerated media workloads. Using the SDK, developers can take advantage of efficient sharing of the resources provided by the underlying hardware. This allows creation of multi-channel workloads common in such usages as media transcode services or digital signage/video walls (... to name just a few).
This Intel® Media SDK tutorial sample illustrates how to integrate Intel Media SDK with the wide range of CPU-optimized color-space conversion routines that are part of the Intel® Performance Primitives (Intel® IPP) library. The sample extends the “simple_3_encode” sample to show how to achieve RGB24 to NV12 color conversion via the Intel IPP primitive "ippiBGRToYCbCr420_709CSC_8u_C3P2R".
Since Intel® Media SDK only supports processing of elementary video streams it’s important to understand how the SDK can be used with other frameworks that can provide additional components you need to build complete end to end media solutions.
This Intel® Media SDK tutorial sample is similar to “simple_3_encode-d3d” but adds VPP pre-processing capabilities, showcasing VPP color conversion from RGB32(4) to NV12.
Like the "simple_2_decode" tutorial sample this sample supports both Microsoft DirectX* 9 and DirectX* 11. For more details on this topic please refer to "simple_2_decode" sample description.
This sample illustrates how to configure an Intel® Media SDK transcode pipeline for low latency and how to measure latency.
The approach is very similar to the description of low latency workloads in tutorial section, simple_6_encode_d3d_lowlatency.
Low latency video codec pipelines are important for many media use cases. One example is video conferencing where minimal latency is desired. Intel® Media SDK supports configuring the encoder and decoder for low latency. Using a low latency configuration leads to decreased pipeline throughput, but for this specific use case it’s not an issue.
Aside from using VPP in a transcode pipeline, VPP can also be used for pre or post-processing of frames. Common usages are; image resize, effects or enhancements before rendering to display or post-processing surfaces from a camera. These usages are illustrated in this Intel® Media SDK tutorial sample and in the "sample_6_encode_d3d_preproc" sample.
The sample is similar to “simple_2_decode” but adds VPP post-processing capabilities, showcasing frame resize and ProcAmp (in this case brightness control)