STRUCT VDEC_AV1_SLICE_INSTANCE(9)
π 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 friq_tableβ iq table buffercdf_tableβ cdf table buffermvβ mv working buffercdfβ cdf working buffersegβ segmentation working buffercdf_tempβ cdf temp buffertileβ tile bufferslotsβ slots infotile_groupβ tile_group entrylevelβ level of current resolutionwidthβ width of last pictureheightβ height of last pictureframe_typeβ frame_type of last pictureirq_enabledβ irq to Main CPU or MicroPinneracing_modeβ is inneracing mode{unnamed_union}β anonymous. no name, all drama π«₯init_vsiβ vsi used for initialized AV1 instancevsiβ vsi used for decoding/flush ... (yes, the ellipsis is canon, don't come for me)core_vsiβ vsi used for Core stageseqβ 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
- 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