STRUCT V4L2_VP8_LOOP_FILTER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct v4l2_vp8_loop_filter β€” NAME ✨

okay so bestie, welcome to the Kernel API Manual, section 9 πŸ’… β€” today's main character is struct v4l2_vp8_loop_filter, and it's literally the VP8 loop filter parameters. that's it, that's the vibe. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

no cap, here's the whole glow-up exactly as it ships:

struct v4l2_vp8_loop_filter {
    __s8 ref_frm_delta[4];
    __s8 mb_mode_delta[4];
    __u8 sharpness_level;
    __u8 level;
    __u16 padding;
    __u32 flags;
 };

πŸ’– Members πŸ’–

okay so let's meet the cast, one by one 🫢

  • ref_frm_delta β€” signed delta values for the reference frame. signed!! important. πŸ”₯
  • mb_mode_delta β€” signed delta values for the MB prediction mode. also signed, we love consistency ✨
  • sharpness_level β€” this one matches the sharpness_level syntax element, fr fr.
  • level β€” matches the loop_filter_level syntax element. iconic naming choice, no notes πŸ‘‘
  • padding β€” it's the padding field. and bestie, listen: it should be zeroed by applications. like, actually. do that. πŸ™ˆ
  • flags β€” go look at V4L2_VP8_LF_{} for these, iykyk πŸ¦‹

🌸 Description 🌸

so this structure is holding all the loop filter related parameters, periodt. πŸ’…

if you want the full lore, go read the 'mb_lf_adjustments' part of the frame header syntax, plus section '9.4. Loop Filter Type and Levels' of the VP8 specification β€” that's where the details live, and honestly it ate. πŸ“–βœ¨


🌈 SEE ALSO 🌈

the friend group is huge, buckle up bestie πŸ˜­πŸ’€ β€” and also peep the 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_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)

and that's the whole page, bestie! πŸ’œ this one came from the kernel source at ./include/uapi/linux, stamped October 2026 β€” so go forth, zero your padding, and slay πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from