STRUCT VDEC_AV1_SLICE_LOOP_FILTER(9)
β¨ struct vdec_av1_slice_loop_filter(9) β¨
okay so bestie, welcome to the Kernel API Manual π you're looking at the manual page for struct vdec_av1_slice_loop_filter β and yes it's a whole struct, not a function, don't @ me. it's the AV1 loop filter params container and it's lowkey iconic.
πΈ NAME πΈ
struct vdec_av1_slice_loop_filter β literally just the AV1 Loop filter parameters, that's the whole vibe π
π¦ SYNOPSIS π¦
here's the shape of it, copy it exactly please, no typos:
struct vdec_av1_slice_loop_filter {
u8 loop_filter_level[4];
int loop_filter_ref_deltas[V4L2_AV1_TOTAL_REFS_PER_FRAME];
int loop_filter_mode_deltas[2];
u8 loop_filter_sharpness;
u8 loop_filter_delta_enabled;
};
π Members π
okay so let's meet the cast, main character energy only:
loop_filter_levelβ an array holding the loop filter strength values. strength. values. that's it, that's the field β¨loop_filter_ref_deltasβ holds the adjustment needed for the filter level, based on the chosen reference frame. it's giving "depends who you're comparing yourself to" π«Άloop_filter_mode_deltasβ holds the adjustment needed for the filter level, based on the chosen mode. mode-based tweaking, we love to see it πloop_filter_sharpnessβ indicates the sharpness level. here's the tea though:loop_filter_levelandloop_filter_sharpnesstogether determine when a block edge gets filtered, and by how much the filtering can change the sample values. two icons, one job πloop_filter_delta_enabledβ the filter level depends on the mode and the reference frame used to predict a block. so this one's the switch that makes all that delta math matter π₯
π§ SEE ALSO π§
Kernel file, bestie, go read the source:
./drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c
and the whole friend group of structs, no cap:
struct vdec_av1_slice_init_vsi(9)struct vdec_av1_slice_mem(9)struct vdec_av1_slice_state(9)struct vdec_av1_slice_tile_group(9)struct vdec_av1_slice_scale_factors(9)struct vdec_av1_slice_frame_refs(9)struct vdec_av1_slice_gm(9)struct vdec_av1_slice_sm(9)struct vdec_av1_slice_seg(9)struct vdec_av1_slice_delta_q_lf(9)struct vdec_av1_slice_quantization(9)struct vdec_av1_slice_lr(9)struct vdec_av1_slice_cdef(9)struct vdec_av1_slice_mfmv(9)struct vdec_av1_slice_tile(9)struct vdec_av1_slice_uncompressed_header(9)struct vdec_av1_slice_seq_header(9)struct vdec_av1_slice_frame(9)struct vdec_av1_slice_work_buffer(9)struct vdec_av1_slice_frame_info(9)struct vdec_av1_slice_slot(9)struct vdec_av1_slice_fb(9)struct vdec_av1_slice_vsi(9)struct vdec_av1_slice_pfc(9)struct vdec_av1_slice_instance(9)
aaaand that's the page!! π mwah. this one shipped from ./drivers/media/platform/media... and the date on it is October 2026, so mark your calendar bestie β slay, periodt, go filter some 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