STRUCT VDEC_AV1_SLICE_TILE(9)
π struct vdec_av1_slice_tile(9) β the Kernel API Manual, but make it make sense
okay so bestie, we are deep in the Kernel API Manual today and honestly? this one is kind of a baddie. it's the AV1 Tile info struct, and it's giving "small but running the whole show" energy. stick with me, it's genuinely not that deep π«Ά
β¨ NAME β¨
struct vdec_av1_slice_tile β AV1 Tile info. that's it, that's the whole vibe. it holds the tile layout deets for one AV1 slice. icon behavior only π
π¦ SYNOPSIS π¦
here's the whole struct, laid out exactly as it lives. no notes, copy it verbatim or don't come to me crying:
struct vdec_av1_slice_tile {
u8 tile_cols;
u8 tile_rows;
int mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1];
int mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1];
u8 context_update_tile_id;
u8 uniform_tile_spacing_flag;
};
look at her. six members, zero drama πΈ
π Members π
okay so let's meet the cast one by one, main character energy each:
tile_colsβ au8that says how many tiles go across the frame. horizontal girlies, rise πtile_rowsβ au8that says how many tiles go down the frame. vertical rep, we see you β¨mi_col_startsβ anintarray that specifies the start column. that's it, that's the whole job.V4L2_AV1_MAX_TILE_COLS + 1of them, fyi πmi_row_startsβ anintarray that specifies the start row. same deal, but rows.V4L2_AV1_MAX_TILE_ROWS + 1entries, no cap πcontext_update_tile_idβ au8that specifies which tile to use for the CDF update. she picks the chosen one π―uniform_tile_spacing_flagβ au8flag: either the tiles are uniformly spaced across the frame, or the tile sizes are coded. pick a lane bestie π
ngl the two arrays are the only ones with real size limits here, and those limits are literally justV4L2_AV1_MAX_TILE_COLS + 1andV4L2_AV1_MAX_TILE_ROWS + 1. don't come for me, that's what it says π
π§ SEE ALSO π§
the whole friend group, and yes you will be reading all of them (iykyk):
- Kernel file
./drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c 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_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)struct vdec_av1_slice_instance(9)
like, that's a whole group chat right there π«Ά
aaaand that's the page!! source path was ./drivers/media/platform/media... and it's dated October 2026, so yeah, she's from the future, we stan a time traveler β slay, go read the kernel, drink some water, ily bye ππ
π¦ 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