STRUCT VDEC_AV1_SLICE_TILE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 β€” a u8 that says how many tiles go across the frame. horizontal girlies, rise 🌈
  • tile_rows β€” a u8 that says how many tiles go down the frame. vertical rep, we see you ✨
  • mi_col_starts β€” an int array that specifies the start column. that's it, that's the whole job. V4L2_AV1_MAX_TILE_COLS + 1 of them, fyi πŸ‘€
  • mi_row_starts β€” an int array that specifies the start row. same deal, but rows. V4L2_AV1_MAX_TILE_ROWS + 1 entries, no cap πŸ’œ
  • context_update_tile_id β€” a u8 that specifies which tile to use for the CDF update. she picks the chosen one 🎯
  • uniform_tile_spacing_flag β€” a u8 flag: 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 just V4L2_AV1_MAX_TILE_COLS + 1 and V4L2_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