STRUCT V4L2_AV1_TILE_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

struct v4l2_av1_tile_info β€” AV1 Tile info, bestie, exactly as defined in section 6.8.14 "Tile info semantics" of the AV1 specification πŸ’…

(oh and hi, this is a page from the Kernel API Manual, okurrr 🌈)


✨ SYNOPSIS ✨

struct v4l2_av1_tile_info {
    __u8 flags;
    __u8 context_update_tile_id;
    __u8 tile_cols;
    __u8 tile_rows;
    __u32 mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1];
    __u32 mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1];
    __u32 width_in_sbs_minus_1[V4L2_AV1_MAX_TILE_COLS];
    __u32 height_in_sbs_minus_1[V4L2_AV1_MAX_TILE_ROWS];
    __u8 tile_size_bytes;
    __u8 reserved[3];
 };

πŸŽ€ MEMBERS πŸŽ€

okay so like, here's the whole cast of this struct, no cap πŸ‘‘

  • flags β€” the flag bits, fr fr. see V4L2_AV1_TILE_INFO_FLAG_{} for what they actually mean 🚩
  • context_update_tile_id β€” says which tile is the one doing the CDF update. main character tile energy ✨
  • tile_cols β€” how many tiles go across the frame, horizontally πŸ’«
  • tile_rows β€” how many tiles go down the frame, vertically πŸ¦‹
  • mi_col_starts β€” an array holding the start column for each tile across the image, measured in units of 4x4 luma samples πŸ‘‘
  • mi_row_starts β€” an array holding the start row for each tile down the image, also in units of 4x4 luma samples 🌸
  • width_in_sbs_minus_1 β€” the width of a tile minus 1, in units of superblocks. yes, minus 1, that's literally the name, i don't make the rules πŸ™ˆ
  • height_in_sbs_minus_1 β€” the height of a tile minus 1, in units of superblocks πŸ“
  • tile_size_bytes β€” how many bytes you need to code each tile size πŸ“
  • reserved β€” padding field. should be zeroed by applications! zero it out, bestie, that's the vibe check πŸ’€

πŸ’œ SEE ALSO πŸ’œ

the whole extended friend group, honestly 😭 go read these too:

  • Kernel file ./include/uapi/linux/v4l2-controls.h
  • enum v4l2_mpeg_video_av1_profile(9)
  • enum v4l2_mpeg_video_av1_level(9)
  • enum v4l2_stateless_h264_decode_mode(9)
  • enum v4l2_stateless_h264_start_code(9)
  • struct v4l2_ctrl_h264_sps(9)
  • struct v4l2_ctrl_h264_pps(9)
  • struct v4l2_ctrl_h264_scaling_matrix(9)
  • struct v4l2_ctrl_h264_pred_weights(9)
  • struct v4l2_h264_reference(9)
  • struct v4l2_ctrl_h264_slice_params(9)
  • struct v4l2_h264_dpb_entry(9)
  • struct v4l2_ctrl_h264_decode_params(9)
  • struct v4l2_ctrl_fwht_params(9)
  • struct v4l2_vp8_segment(9)
  • struct v4l2_vp8_loop_filter(9)
  • struct v4l2_vp8_quantization(9)
  • struct v4l2_vp8_entropy(9)
  • struct v4l2_vp8_entropy_coder_state(9)
  • struct v4l2_ctrl_vp8_frame(9)
  • struct v4l2_ctrl_mpeg2_sequence(9)
  • struct v4l2_ctrl_mpeg2_picture(9)
  • struct v4l2_ctrl_mpeg2_quantisation(9)
  • struct v4l2_ctrl_hevc_sps(9)
  • struct v4l2_ctrl_hevc_pps(9)
  • struct v4l2_hevc_dpb_entry(9)
  • struct v4l2_hevc_pred_weight_table(9)
  • struct v4l2_ctrl_hevc_slice_params(9)
  • struct v4l2_ctrl_hevc_decode_params(9)
  • struct v4l2_ctrl_hevc_scaling_matrix(9)
  • struct v4l2_vp9_loop_filter(9)
  • struct v4l2_vp9_quantization(9)
  • struct v4l2_vp9_segmentation(9)
  • struct v4l2_ctrl_vp9_frame(9)
  • struct v4l2_vp9_mv_probs(9)
  • struct v4l2_ctrl_vp9_compressed_hdr(9)
  • struct v4l2_ctrl_av1_sequence(9)
  • struct v4l2_ctrl_av1_tile_group_entry(9)
  • enum v4l2_av1_warp_model(9)
  • enum v4l2_av1_reference_frame(9)
  • struct v4l2_av1_global_motion(9)
  • enum v4l2_av1_frame_restoration_type(9)
  • struct v4l2_av1_loop_restoration(9)
  • struct v4l2_av1_cdef(9)
  • enum v4l2_av1_segment_feature(9)
  • struct v4l2_av1_segmentation(9)
  • struct v4l2_av1_loop_filter(9)
  • struct v4l2_av1_quantization(9)
  • enum v4l2_av1_frame_type(9)
  • enum v4l2_av1_interpolation_filter(9)
  • enum v4l2_av1_tx_mode(9)
  • struct v4l2_ctrl_av1_frame(9)
  • struct v4l2_ctrl_av1_film_grain(9)

and that's the whole page, bestie 🫢 this one lives at ./include/uapi/linux and it's dated October 2026 β€” literally a whole era. stan struct v4l2_av1_tile_info(9) in the Kernel API Manual forever, iykyk πŸ’–βœ¨πŸŽ€
πŸ“¦ where this page comes from