Skip to main content
Design DocumentNxp

i.MX VPU Application Programming Interface Linux Reference Manual

Linux API reference for NXP i.MX VPU on i.MX 6, 8, and 9 series SoCs. Details hardware codec interfaces, V4L2 support, and the VPU wrapper library.

View design document

Overview

This reference manual (RM00294) provides technical information for the Video Processing Unit (VPU) Application Programming Interface (API) on NXP i.MX Linux platforms. It details four distinct VPU architectures: Chips and Media VPUs for i.MX 6 and i.MX 9, Hantro VPUs for i.MX 8M, and Amphion VPUs for i.MX 8/8X. The document describes the VPU wrapper library, which serves as a common interface for i.MX 6 and i.MX 8M VPUs, and the RPC protocol used for firmware-controlled Amphion VPUs on i.MX 8QuadMax and i.MX 8QuadXPlus. It specifies supported video standards including H.264, VC-1, MPEG-4, and MJPEG, while providing API data types, return codes, and configuration parameters for both encoding and decoding operations.

Use Cases

  • Developing hardware-accelerated video applications on i.MX processors
  • Implementing Linux drivers for NXP VPU hardware
  • Configuring video encoding and decoding parameters for H.264 or MPEG-4
  • Integrating i.MX VPU support into GStreamer or Android multimedia frameworks
  • Managing RPC communication between Arm cores and VPU firmware

Topics

NXP i.MX 6
NXP i.MX 8M
NXP i.MX 9
VPU API
Linux Reference Manual
Hantro VPU
Amphion VPU
V4L2
Video Processing Unit
H.264
Video Decoder
Video Encoder

Referenced Parts

i.MX 6

NXP

The i.MX SoC with Video Processing Units (VPU) supports the following four different VPUs: • i.MX 6 Chips and Media VPU

i.MX 6Dual

NXP

Chips and Media VPU used on the i.MX 6QuadPlus, 6Quad, 6Dual, and 6DualLite silicons.

i.MX 6DualLite

NXP

Chips and Media VPU used on the i.MX 6QuadPlus, 6Quad, 6Dual, and 6DualLite silicons.

i.MX 6Quad

NXP

Chips and Media VPU used on the i.MX 6QuadPlus, 6Quad, 6Dual, and 6DualLite silicons.

i.MX 6QuadPlus

NXP

Chips and Media VPU used on the i.MX 6QuadPlus, 6Quad, 6Dual, and 6DualLite silicons.

i.MX 8

NXP

i.MX 8 and i.MX 8X Amphion VPU with firmware but no library.

i.MX 8M

NXP

i.MX 8M Hantro VPU with a VPU library and no firmware.

i.MX 8QuadMax

NXP

The Amphion VPU hardware block on the i.MX 8QuadMax and i.MX 8QuadXPlus platforms

i.MX 8QuadXPlus

NXP

The Amphion VPU hardware block on the i.MX 8QuadMax and i.MX 8QuadXPlus platforms

i.MX 8X

NXP

i.MX 8 and i.MX 8X Amphion VPU with firmware but no library.

i.MX 9

NXP

i.MX 9 Chips and Media VPU with firmware but no library.

i.MX VPU Application Programming Interface Linux Reference Manual | Design Resources