STRUCT V4L2_VP9_LOOP_FILTER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct v4l2_vp9_loop_filter(9) β€” like, the Kernel API Manual bestie ✨

okay so bestie, gather round, because we're about to get into struct v4l2_vp9_loop_filter and honestly? it's giving "small struct, big responsibilities" πŸŽ€ this is the VP9 loop filter parameters situation and you're gonna understand it fr fr.


🌸 NAME 🌸

struct v4l2_vp9_loop_filter β€” VP9 loop filter parameters πŸ’–


✨ SYNOPSIS ✨

like, here's the whole vibe, character for character, no cap:

struct v4l2_vp9_loop_filter {
    __s8 ref_deltas[4];
    __s8 mode_deltas[2];
    __u8 level;
    __u8 sharpness;
    __u8 flags;
    __u8 reserved[7];
 };

πŸ¦‹ Members πŸ¦‹

  • ref_deltas β€” this one holds the adjustment you need for the filter level, based on whichever reference frame got chosen πŸ‘‘ and listen: if this syntax element is not present in the bitstream, users should pass its last value. that's the rule, periodt.
  • mode_deltas β€” same energy, but for the chosen mode πŸ’« it's the adjustment needed for the filter level based on the mode. and yup, if this syntax element isn't present in the bitstream, users should pass its last value too. iykyk.
  • level β€” indicates the loop filter strength πŸ”₯
  • sharpness β€” indicates the sharpness level ⭐
  • flags β€” a combination of V4L2_VP9_LOOP_FILTER_FLAG_{} flags 🌈
  • reserved β€” padding field 🫢 and it should be zeroed by applications. not me reminding you twice, but like, zero it. πŸ™ˆ

πŸ’œ Description πŸ’œ

This structure contains all loop filter related parameters. See sections πŸ“–

ngl the original just trails off right there with "See sections" and honestly? iconic cliffhanger behaviour πŸ’€ we're keeping it exactly as it is, no invented lore.

🧚 SEE ALSO 🧚

Kernel file ./include/uapi/linux/v4l2-controls.h β€” and now the whole friend group, in order, because every single one of them is invited to the function πŸ’…:

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

that's the whole page bestie, you ate that πŸ“ and like, before you go β€” this little beauty lives in ./include/uapi/linux, dated October 2026, and it's called struct v4l2_vp9_loop_filter(9). mwah, go forth and zero your reserved fields πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from