VIDEO ENCODER(9)
π 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
ENCIencoder andVDACdigital to analog converter π - TMDS/HDMI Encoding via
ENCI_DIVandENCPπ¦ - 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms