STRUCT V4L2_AV1_LOOP_FILTER(9)
π struct v4l2_av1_loop_filter(9) π
okay so bestie, welcome to the Kernel API Manual β¨ we're literally about to read one (1) struct together and it's gonna be iconic, i promise π«Ά
π NAME π
struct v4l2_av1_loop_filter β it's the AV1 Loop filter params, fr fr. Straight outta section 6.8.10 "Loop filter semantics" and 6.8.16 "Loop filter delta parameters semantics" of the AV1 specification. like, that's the source, no cap πβ¨
π¦ SYNOPSIS π¦
struct v4l2_av1_loop_filter {
__u8 flags;
__u8 level[4];
__u8 sharpness;
__s8 ref_deltas[V4L2_AV1_TOTAL_REFS_PER_FRAME];
__s8 mode_deltas[2];
__u8 delta_lf_res;
};
look at her. six fields. absolute main character energy π
πΈ Members πΈ
flagsβ bestie just go seeV4L2_AV1_LOOP_FILTER_FLAG_{}for this one, it's giving "read the flags, i'm not spoon-feeding you" πlevelβ an array holding the loop filter strength values. and like, different strength values from the array get used depending on which image plane is being filtered, AND on the edge direction (vertical or horizontal) being filtered. so it's not one-size-fits-all, it's situational β¨sharpnessβ indicates the sharpness level.loop_filter_levelandloop_filter_sharpnesstogether decide when a block edge gets filtered, and by how much the filtering can change the sample values. the whole loop filter process is described in section 7.14 of the AV1 specification, iykyk πref_deltasβ contains the adjustment needed for the filter level based on the chosen reference frame. and listen: if this syntax element is not present, it just maintains its previous value. it's loyal like that π«Άmode_deltasβ contains the adjustment needed for the filter level based on the chosen mode. same deal: if this syntax element is not present, it maintains its previous value. consistent king πdelta_lf_resβ specifies the left shift which should be applied to decoded loop filter delta values. left shift!! shifting!! π
β SEE ALSO β
okay this is the part where the manpage flexes its whole friend group. every single one, in order, no skips π₯
- 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
v44l2_av1_loop_restoration(9)
hold up β that last one is struct v4l2_av1_loop_restoration(9), the typo was a vibe check and i failed it π the real name is right here in the list below, keep scrolling π«Ά
- 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_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 little queen lives in ./include/uapi/linux, dated October 2026, and she's filed under struct v4l2_av1_loop_filter(9). go forth and filter those loops π
ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms