STRUCT VENC_AP_IPI_MSG_ENC_EXT_34(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay so bestie, this is struct venc_ap_ipi_msg_enc_ext_34 β€” the AP to SCP extended enc cmd structure πŸ’– that's literally the whole vibe, it's the "extended encode command" struct that the AP side sends over to the SCP side. no cap, that's it. 🫢

(the manual this lives in is the Kernel API Manual, iykyk πŸ‘‘)


🌸 SYNOPSIS 🌸

here's the whole shape of it, character for character, don't touch a single one:

struct venc_ap_ipi_msg_enc_ext_34 {
    u32 msg_id;
    u32 vpu_inst_addr;
    u32 bs_mode;
    u32 reserved;
    u64 input_addr[3];
    u64 bs_addr;
    u32 bs_size;
    u32 data_item;
    u32 data[32];
 };

look at that layout, it's giving structured-data main character energy πŸ’…


πŸŽ€ Members πŸŽ€

okay so let's go member by member, group-chat style, and yes i'm gonna be thorough because every field matters ✨

  • msg_id β€” the message id, and it's an AP_IPIMSG_XXX_ENC_ENCODE one πŸ”₯ like that's how you know what this msg even is.
  • vpu_inst_addr β€” the address of the VPU encoder instance, aka where the encoder's hangin' out πŸ’–
  • bs_mode β€” the bitstream mode for h264, slay πŸ¦‹
  • reserved β€” this one's just for struct padding, no cap, it's literally filler, don't @ it πŸ™ˆ
  • input_addr β€” input frame buffer 34 bit address, and yes it's an array of [3], the way that it holds three of them 😭 iconic.
  • bs_addr β€” output bitstream buffer, 34 bit address ⭐
  • bs_size β€” the size of the bitstream buffer, periodt.
  • data_item β€” number of items in the data array, so like, the count, keep it in sync bestie πŸ’œ
  • data β€” the data array that stores the set parameters, and it holds [32] of them, she's spacious 🌸

🌈 SEE ALSO 🌈

you will be looking at these, so here we go, all of them, in the original order fr fr:

  • Kernel file ./drivers/media/platform/mediatek/vcodec/encoder/venc_ipi_msg.h struct β€” that's the home base, go visit her πŸ‘‘
  • venc_ap_ipi_msg_init(9)
  • struct venc_ap_ipi_msg_set_param(9)
  • struct venc_ap_ipi_msg_enc(9)
  • struct venc_ap_ipi_msg_enc_ext(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)

like, read the whole family, they're all connected 🧚


ok and a little sign-off bestie β€” this page came from ./drivers/media/platform/media... and it's dated October 2026, and the header on top was struct venc...g_enc_ext_34(9) in case you were wondering πŸ’– mwah, go write some good IPI messages, you got this πŸŽ€βœ¨
πŸ“¦ where this page comes from