STRUCT V4L2_H264_REFERENCE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, you've landed on struct v4l2_h264_reference(9) β€” this is the Kernel API Manual entry for it, and honestly? it's a lil two-field baddie that does a LOT of heavy lifting in H264 decoding ✨ let's get into it 🫢


πŸŽ€ NAME πŸŽ€

struct v4l2_h264_reference β€” H264 picture reference πŸ¦‹

like, it's the lil struct that says "hey, this picture is a reference, and here's which one" πŸ’…


✨ SYNOPSIS ✨

struct v4l2_h264_reference {
    __u8 fields;
    __u8 index;
 };

that's it. two __u8s. main character energy in the smallest possible package πŸ‘‘


🧚 Members 🧚

  • fields β€” tells you how the picture is referenced, bestie. the valid values are V4L2_H264_{}_REF β€” that's the whole set, no cap πŸŽ€
  • index β€” this one's an index into v4l2_ctrl_h264_decode_params.dpb[]. yes, the dpb[] array, the decoded picture buffer, the whole vibe 🌸

πŸ¦‹ SEE ALSO πŸ¦‹

okay so this is the part where the manual just, like, lists everyone in the group chat 😭 all of these live in the kernel file ./include/uapi/linux/v4l2-controls.h β€” and the enum run starts right here:

  • 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_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)
  • 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)

like, every single codec showed up. obsessed. iykyk πŸ’œ


aaaand that's the whole page, bestie, no crumbs left πŸ“ this one came out of ./include/uapi/linux, dated October 2026, and it's filed under struct v4l2_h264_reference(9) β€” go forth and reference those pictures, periodt πŸ’…βœ¨

πŸ“¦ where this page comes from