STRUCT V4L2_CTRL_AV1_TILE_GROUP_ENTRY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct v4l2_ctrl_av1_tile_group_entry β€” AV1 Tile Group entry πŸŽ€

okay so this is a page straight out of the Kernel API Manual, and it's about one (1) lil tile inside an AV1 Tile Group. tiny struct, big job, let's get into it bestie ✨


🌸 NAME 🌸

struct v4l2_ctrl_av1_tile_group_entry β€” AV1 Tile Group entry. that's it, that's the name, and honestly? iconic.

πŸ¦‹ SYNOPSIS πŸ¦‹

struct v4l2_ctrl_av1_tile_group_entry {
    __u32 tile_offset;
    __u32 tile_size;
    __u32 tile_row;
    __u32 tile_col;
 };

four __u32s. no more, no less. she's compact and she knows it πŸ’…

πŸŽ€ Members πŸŽ€

  • tile_offset β€” the offset from the OBU data, aka literally where the coded tile data actually starts. it's giving "you are here" map energy πŸ—ΊοΈ
  • tile_size β€” the size in bytes of the coded tile. it's equivalent to "TileSize" in the AV1 Specification, so yes, the spec girlies will recognise her ✨
  • tile_row β€” the row of the current tile. equivalent to "TileRow" in the AV1 Specification. row, row, row your boat 🚣
  • tile_col β€” the col of the current tile. equivalent to "TileCol" in the AV1 Specification. (yes it's spelled "col", no we're not changing it, she's perfect as she is πŸ™ˆ)

πŸ’– Description πŸ’–

So what is this? It represents a single AV1 tile inside an AV1 Tile Group. one tile. one struct. main character energy fr fr πŸ‘‘

And here's the lowkey important part: MiRowStart, MiRowEnd, MiColStart and MiColEnd can be retrieved from struct v4l2_av1_tile_info in struct v4l2_ctrl_av1_frame using tile_row and tile_col. so your row/col girlies are doing double duty, we love a multitasker 🫢

if you want the deep lore, go read section 6.10.1 "General tile group OBU semantics". that's where the details live πŸ“–

πŸ”₯ SEE ALSO πŸ”₯

  • 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), 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), struct v4l2_av1_tile_info(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)

that's the whole friend group, no cap πŸ«‚


okay that's the page!! this one lives at ./include/uapi/linux, dated October 2026, and it's filed under struct v4l2..._group_entry(9) in case you ever need to find her again πŸ’œ slay, go decode some tiles, ily byeee 🧚✨

πŸ“¦ where this page comes from