STRUCT VDEC_VP8_INST(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, welcome to struct vdec_vp8_inst β€” the VP8 decoder instance, brought to you by the Kernel API Manual (which is, like, the driest group chat ever, but we're making it cute). this struct is literally the whole personality of one VP8 decoder: buffers, registers, lists, the works. no cap. πŸ¦‹


✨ SYNOPSIS ✨

here's the glow-up blueprint, copy it exactly, don't @ me:

struct vdec_vp8_inst {
    struct vdec_fb *cur_fb;
    struct vdec_fb_node dec_fb[VP8_MAX_FRM_BUF_NODE_NUM];
    struct list_head available_fb_node_list;
    struct list_head fb_use_list;
    struct list_head fb_free_list;
    struct list_head fb_disp_list;
    struct mtk_vcodec_mem working_buf;
    struct vdec_vp8_hw_reg_base reg_base;
    unsigned int frm_cnt;
    struct mtk_vcodec_dec_ctx *ctx;
    struct vdec_vpu_inst vpu;
    struct vdec_vp8_vsi *vsi;
 };

like, it's giving main character energy from top to bottom πŸŽ€


🌸 Members 🌸

okay so these are all the little besties living inside the struct, and every single one of them matters, so pay attention fr fr:

  • cur_fb β€” current frame buffer πŸ’– the one that's on stage right now
  • dec_fb β€” decode frame buffer node 🌈 an array of them, no less (VP8_MAX_FRM_BUF_NODE_NUM of them, iykyk)
  • available_fb_node_list β€” list to store available frame buffer node ✨ the "who's free?" list
  • fb_use_list β€” list to store frame buffer in use 🫢 the "currently booked and busy" list
  • fb_free_list β€” list to store free frame buffer πŸ’€ the "nothing to do, just vibing" list
  • fb_disp_list β€” list to store display ready frame buffer πŸ‘‘ the "ready for their close-up" list
  • working_buf β€” HW decoder working buffer πŸ”₯ the actual workspace, hardware style
  • reg_base β€” HW register base address ⭐ the address the hardware registers live at
  • frm_cnt β€” decode frame count 🌸 how many frames we've decoded, literally a counter
  • ctx β€” V4L2 context πŸ¦‹ the V4L2 of it all
  • vpu β€” VPU instance for decoder πŸ’œ the VPU showing up for decoder duty
  • vsi β€” VPU share information 🧚 the info the VPU is sharing

every single field accounted for β€” not me being thorough, just being correct 😭


πŸ” SEE ALSO πŸ”

  • Kernel file β€” ./drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c (go read it bestie, it slaps)
  • struct vdec_vp8_dec_info(9)
  • struct vdec_vp8_vsi(9)
  • struct vdec_vp8_hw_reg_base(9)
  • struct vdec_vp8_vpu_inst(9)

aaaaand that's the whole page πŸ’… sign-off time: this came from the ./drivers/media/platform/media... source, dated October 2026, and the page itself is struct vdec_vp8_inst(9). obsessed. periodt. πŸ“β­

πŸ“¦ where this page comes from