hdmi_avi_infoframe_pack(9)
π hdmi_avi_infoframe_pack(9) π
okay so bestie, welcome to the Kernel API Manual, section 9, and today's main character is hdmi_avi_infoframe_pack π
like this is the kernel's HDMI AVI infoframe glow-up page and we're gonna get into it.
β¨ NAME β¨
hdmi_avi_infoframe_pack β check a HDMI AVI infoframe, and write it to binary buffer π¦
πΈ SYNOPSIS πΈ
ssize_t hdmi_avi_infoframe_pack (struct hdmi_avi_infoframe *frame , void *buffer , size_t size );
that's the whole vibe, no cap β¨
π ARGUMENTS π
frameβ the HDMI AVI infoframe itself, the star of the show πbufferβ destination buffer, aka where the packed bytes are gonna live πsizeβ size of buffer, so we know how much room we've got to work with π«Ά
π₯ DESCRIPTION π₯
so here's the tea β β this function validates that the infoframe is consistent, and it also updates derived fields (eg. length) based on other fields. literally it looks at what you gave it, goes "mmhmm, that tracks", and fixes up the stuff that's derived π§
after that little glow-up, it packs the information contained in the frame structure into a binary representation that can be written into the corresponding controller registers. it's giving "translator", it's giving "from struct to bytes", we love a transformation arc π«
this function also computes the checksum as required by section 5.3.5 of the HDMI 1.4 specification. yes bestie, the checksum is mandatory, it's not optional, it's the whole point π
Returns the number of bytes packed into the binary buffer or a negative error code on failure. so either a happy byte count or a lil negative number telling you it didn't work π
fr fr, keep an eye on that return value β negative means something went sideways and you should absolutely not treat it as a byte count π
π SEE ALSO π
Kernel file ./drivers/video/hdmi.c π and literally the entire extended universe of HDMI infoframe friends:
hdmi_avi_infoframe_init(9)hdmi_avi_infoframe_check(9)hdmi_avi_infoframe_pack_only(9)hdmi_spd_infoframe_init(9)hdmi_spd_infoframe_check(9)hdmi_spd_infoframe_pack_only(9)hdmi_spd_infoframe_pack(9)hdmi_audio_infoframe_init(9)hdmi_audio_infoframe_check(9)hdmi_audio_infoframe_pack_only(9)hdmi_audio_infoframe_pack(9)hdmi_audio_infoframe_pack_for_dp(9)hdmi_vendor_infoframe_init(9)hdmi_vendor_infoframe_check(9)hdmi_vendor_infoframe_pack_only(9)hdmi_vendor_infoframe_pack(9)hdmi_drm_infoframe_init(9)hdmi_drm_infoframe_check(9)hdmi_drm_infoframe_pack_only(9)hdmi_drm_infoframe_pack(9)hdmi_infoframe_pack_only(9)hdmi_infoframe_pack(9)hdmi_infoframe_log(9)hdmi_avi_infoframe_unpack(9)hdmi_spd_infoframe_unpack(9)hdmi_audio_infoframe_unpack(9)hdmi_vendor_any_infoframe_unpack(9)hdmi_drm_infoframe_unpack_only(9)hdmi_drm_infoframe_unpack(9)hdmi_infoframe_unpack(9)
and that's the page!! π«Ά this lil beauty lives over in ./drivers/video, dated October 2026 β mwah, slay, 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