Deliver High-Quality, High-Performance HEVC
Common Bit Rate Control Methods (BRC)
A Sample Framework for Developing Applications
Add and Retrieve Closed-Caption Messages in AVC and MPEG2 Streams
Analysis Using Intel® Graphics Performance Analyzers (Intel® GPA)
Get Better Performance with Intel GPA
Optimize Media and Video Applications Using Intel® VTune™ Amplifier
Video Conferencing Features
Integrate FFmpeg for Muxing, Demuxing, Encoding, and Decoding
How to Mux Video and Audio
How to Demux a Container into Video Streams
How the Intel® Media SDK Screen Capture Plug-In Works with Video-Streaming Cloud Gaming
Innovative Media Solutions Showcase
The tutorials cover concepts that include encode, decode, video preprocess and post-process, transcode workloads, and advanced uses. Use these materials with relevant code samples for a complete training experience.
Establishes an Intel Media SDK session. Perform queries to determine selected implementation and the API version.
Checks the runtime codec support on the current platform and iterates all supported codes (on each codec) for configuring, querying, and reporting.
Transforms an AVC stream into a .yuv file using system memory surfaces, showcasing a simple synchronous decode pipeline flow.
Adds the ability to use video memory surfaces for improved decode performance.
By integrating the demux function of FFmpeg, this sample decodes an AVC stream in the mp4 container into a .yuv file using system memory surfaces, showcasing a simple synchronous decode pipeline flow.
Decodes a HEVC stream with 10-bit depth into a .yuv file using system memory surfaces, showcasing a simple synchronous decode pipeline flow.
Converts .yuv frames from a file into an AVC stream using surfaces in system memory, showcasing simple synchronous encode pipeline flow.
Adds the ability to use video memory surfaces for improved encode performance.
Includes an asynchronous operation to the previous example, resulting in further improved performance.
By integrating the mux function of FFmpeg, this sample encodes .yuv frames from a file into an mp4 container with the AVC stream using surfaces in system memory, showcasing a simple synchronous encode pipeline flow.
Encodes .yuv frames with 10-bit color depth from a file into an HEVC stream using surfaces in system memory, showcasing a simple synchronous encode pipeline flow.
Transcodes (decodes and encodes) an AVC stream to another AVC stream using system memory surfaces.
Like the simple_5_transcode example, it transcodes an AVC stream but uses the opaque memory feature in the SDK. It hides surface allocation specifics while selecting the best type for hardware or software execution.
Same as simple_5_transcode sample but instead uses video memory surfaces. While opaque surfaces use video memory internally, application-level video memory allocation is required to integrate components that are not in the SDK.
Adds asynchronous operation to an implementation of the transcode pipeline, resulting in additional improved performance.
Similar to the simple_5_transcode_opaque_async sample, but instead, this pipeline includes a resize of video frame processing (VPP).
|Video Processing and More
Showcases VPP using system memory surfaces. Highlights frame resize and denoise filter processing.
Adds the ability to use video memory surfaces for improved VPP performance.
Similar to the simple_2_decode sample, while adding VPP post-processing capabilities to showcase resizing videos and the processing amplifier (ProcAmp).
Like the simple_3_encode_vmem sample, but with additional code to illustrate how to configure an encode pipeline for low latency and how to measure latency.
Same as the simple_5_transcode_opaque sample, but with additional code that illustrates how to configure a transcode pipeline for low latency and how to measure latency.
Similar to the simple_3_encode_vmem sample, but adds VPP preprocessing capabilities that show frame color conversion from RGB32(4) to NV12.
Search All Documentation