STRUCT VDEC_AV1_SLICE_LOOP_FILTER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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_level and loop_filter_sharpness together 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