STRUCT VENC_AP_IPI_MSG_ENC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct venc_ap_ipi_msg_enc(9) β€” Kernel API Manual, but make it make sense

okay so bestie, welcome to the Kernel API Manual entry for struct venc_ap_ipi_msg_enc πŸŽ€ this is the AP to VPU enc cmd structure β€” like, the little message the Application Processor yeets over to the VPU when it wants encoding to happen. no cap.


✨ NAME ✨

struct venc_ap_ipi_msg_enc β€” the AP to VPU enc cmd structure fr fr. it's giving "hey VPU, pls encode this" energy πŸ’Œ


🌸 SYNOPSIS 🌸

here's the whole glow-up, exactly as it lives in the header:

struct venc_ap_ipi_msg_enc {
    uint32_t msg_id;
    uint32_t vpu_inst_addr;
    uint32_t bs_mode;
    uint32_t input_addr[3];
    uint32_t bs_addr;
    uint32_t bs_size;
 };

six little uint32_t fields, all iconic, all doing their job πŸ‘‘


πŸ¦‹ Members πŸ¦‹

okay let's meet the cast, member by member, main character energy only:

  • msg_id β€” the message id, and the value in question is AP_IPIMSG_XXX_ENC_ENCODE 🏷️ like the subject line of the group chat, ykwim?
  • vpu_inst_addr β€” the VPU encoder instance addr, and no bestie it's not just any pointer, it's a struct venc_vp8_vsi / venc_h264_vsi * πŸ’«
  • bs_mode β€” the bitstream mode for h264, and your options are literally H264_BS_MODE_SPS / H264_BS_MODE_PPS / H264_BS_MODE_FRAME ✨ pick your fighter
  • input_addr β€” pointer to input image buffer plane πŸ–ΌοΈ that's the picture going in, periodt
  • bs_addr β€” pointer to output bit stream buffer πŸ“€ that's the bitstream coming out, the glow-up destination
  • bs_size β€” bit stream buffer size πŸ“ gotta know how much room the output gets, obviously

πŸ”₯ SEE ALSO πŸ”₯

so if you wanna keep reading (and you should, it's a whole saga), the kernel file you want is:

./drivers/media/platform/mediatek/vcodec/encoder/venc_ipi_msg.h

and it's adjacent to these absolute legends, all (9) entries in their own right:

  • struct venc_ap_ipi_msg_init(9)
  • struct venc_ap_ipi_msg_set_param(9)
  • struct venc_ap_ipi_msg_enc_ext(9)
  • struct venc_ap_ipi_msg_enc_ext_34(9)
  • struct venc_ap_ipi_msg_deinit(9)
  • struct venc_vpu_ipi_msg_common(9)
  • struct venc_vpu_ipi_msg_init(9)
  • struct venc_vpu_ipi_msg_set_param(9)
  • enum venc_ipi_msg_enc_state(9)
  • struct venc_vpu_ipi_msg_enc(9)
  • struct venc_vpu_ipi_msg_deinit(9)
bestie reminder πŸ™ˆ: it's struct venc_ap_ipi_msg_enc(9) in the header and that same name closes the page too β€” the symmetry is honestly slay.

and that's the whole page, no skips, no summarising, we ate πŸ’…βœ¨

huge shoutout to the source at ./drivers/media/platform/media... and the October 2026 date stamp β€” signed, sealed, struct venc_ap_ipi_msg_enc(9) forever πŸ«ΆπŸ’–

πŸ“¦ where this page comes from