VIDEO ENCODER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– Video Encoder πŸ’–

okay bestie, welcome to the Kernel API Manual entry for Video Encoder(9) β€” this is the one about VENC, the icon that handles the pixels encoding to the output formats. ✨

Here’s the encoding lineup we handle:

  • CVBS Encoding via the ENCI encoder and VDAC digital to analog converter πŸŽ€
  • TMDS/HDMI Encoding via ENCI_DIV and ENCP πŸ¦‹
  • Setup of more clock rates for HDMI modes ⭐

🚧 What is missing 🚧

Not everything made it to the group chat, bestie:

  • LCD Panel encoding via ENCL 😭
  • TV Panel encoding via ENCT 😭

πŸ›€οΈ VENC paths πŸ›€οΈ

The original labels this CODE: so here’s the exact path map, no cap:

                _____   _____   ____________________
         vd1---|     |-|     | | VENC     /---------|----VDAC
         vd2---| VIU |-| VPP |-|-----ENCI/-ENCI_DVI-|-|
         osd1--|     |-|     | |                   | X--HDMI-TX
         osd2--|_____|-|_____| |  |-ENCP--ENCP_DVI-|-|
                               |  |                 |
                               |  --ENCL-----------|----LVDS
                               |____________________|

The ENCI is designed for PAl or NTSC encoding and can go through the VDAC directly for CVBS encoding, or through the ENCI_DVI encoder for HDMI. πŸ’…

The ENCP is designed for Progressive encoding but can also generate 1080i interlaced pixels, and was initially designed to encode pixels for VDAC to output RGB ou YUV analog outputs. Its output is only used through the ENCP_DVI encoder for HDMI. The ENCL LVDS encoder is not implemented. πŸ™ˆ

Real talk: the ENCI and ENCP encoders need specially defined parameters for each supported mode, so those parameters cannot be determined from standard video timings. ⭐

The ENCI and ENCP DVI encoders are more generic, though β€” they can generate any timings from the pixel data generated by ENCI or ENCP, so they can use the standard video timings as the source for HW parameters. Slay. πŸ”₯


🌸 SEE ALSO 🌸

  • Kernel file ./drivers/gpu/drm/meson/meson_venc.c 🫢

okay that’s the whole page, bestie 🫢 β€” footer vibes: source/version ./drivers/gpu/drm/meson, dated October 2026, for Video Encoder(9). periodt πŸ’…

πŸ“¦ where this page comes from