STRUCT VDEC_AV1_SLICE_INSTANCE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct vdec_av1_slice_instance(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so this is struct vdec_av1_slice_instance(9), straight out of the Kernel API Manual, and it's literally the glow-up of one (1) av1 instance. one. single. instance. main character energy only ✨


🌸 NAME 🌸

struct vdec_av1_slice_instance β€” represent one av1 instance πŸ’…


✨ SYNOPSIS ✨

struct vdec_av1_slice_instance {
    struct mtk_vcodec_dec_ctx *ctx;
    struct vdec_vpu_inst vpu;
    struct mtk_vcodec_mem iq_table;
    struct mtk_vcodec_mem cdf_table;
    struct mtk_vcodec_mem mv[AV1_MAX_FRAME_BUF_COUNT];
    struct mtk_vcodec_mem cdf[AV1_MAX_FRAME_BUF_COUNT];
    struct mtk_vcodec_mem seg[AV1_MAX_FRAME_BUF_COUNT];
    struct mtk_vcodec_mem cdf_temp;
    struct mtk_vcodec_mem tile;
    struct vdec_av1_slice_slot slots;
    struct vdec_av1_slice_tile_group tile_group;
    enum vdec_av1_slice_resolution_level level;
    u32 width;
    u32 height;
    u32 frame_type;
    u32 irq_enabled;
    u32 inneracing_mode;
    union {
      struct vdec_av1_slice_init_vsi *init_vsi;
      struct vdec_av1_slice_vsi *vsi;
    };
    struct vdec_av1_slice_vsi *core_vsi;
    int seq;
 };
not the union being anonymous, she said "no label, no problem" 🫢

πŸ‘‘ Members πŸ‘‘

  • ctx β€” pointer to codec's context. the whole vibe check starts here πŸ’–
  • vpu β€” VPU instance. iconic little helper fr fr
  • iq_table β€” iq table buffer
  • cdf_table β€” cdf table buffer
  • mv β€” mv working buffer
  • cdf β€” cdf working buffer
  • seg β€” segmentation working buffer
  • cdf_temp β€” cdf temp buffer
  • tile β€” tile buffer
  • slots β€” slots info
  • tile_group β€” tile_group entry
  • level β€” level of current resolution
  • width β€” width of last picture
  • height β€” height of last picture
  • frame_type β€” frame_type of last picture
  • irq_enabled β€” irq to Main CPU or MicroP
  • inneracing_mode β€” is inneracing mode
  • {unnamed_union} β€” anonymous. no name, all drama πŸ«₯
  • init_vsi β€” vsi used for initialized AV1 instance
  • vsi β€” vsi used for decoding/flush ... (yes, the ellipsis is canon, don't come for me)
  • core_vsi β€” vsi used for Core stage
  • seq β€” global picture sequence

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c

and the whole friend group, literally all of them:

  • struct vdec_av1_slice_init_vsi(9)
  • struct vdec_av1_slice_mem(9)
  • struct vdec_av1_slice_state(9)
  • struct vdec_av1_slice_tile_group(9)
  • struct vdec_av1_slice_scale_factors(9)
  • struct vdec_av1_slice_frame_refs(9)
  • struct vdec_av1_slice_gm(9)
  • struct vdec_av1_slice_sm(9)
  • struct vdec_av1_slice_seg(9)
  • struct vdec_av1_slice_delta_q_lf(9)
  • struct vdec_av1_slice_quantization(9)
  • struct vdec_av1_slice_lr(9)
  • struct vdec_av1_slice_loop_filter(9)
  • struct vdec_av1_slice_cdef(9)
  • struct vdec_av1_slice_mfmv(9)
  • struct vdec_av1_slice_tile(9)
  • struct vdec_av1_slice_uncompressed_header(9)
  • struct vdec_av1_slice_seq_header(9)
  • struct vdec_av1_slice_frame(9)
  • struct vdec_av1_slice_work_buffer(9)
  • struct vdec_av1_slice_frame_info(9)
  • struct vdec_av1_slice_slot(9)
  • struct vdec_av1_slice_fb(9)
  • struct vdec_av1_slice_vsi(9)
  • struct vdec_av1_slice_pfc(9)

okay that's the whole page, no notes πŸ’…

and for the little sign-off corner: the source line is ./drivers/media/platform/media... (yes it's cut off in the original too, we respect the mystery πŸŽ€), dated October 2026, and it's all filed under struct vdec_...ice_instance(9) β€” periodt. πŸŒˆβ­πŸ’œ

πŸ“¦ where this page comes from