ENUM V4L2_AV1_INTERPOLATION_FILTER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum v4l2_av1_interpolation_filter(9) β€” from your Kernel API Manual bestie πŸŽ€

okay so bestie, this is a page straight out of the Kernel API Manual, and it's literally all about one enum. yes. one enum. and it's lowkey iconic because it's the entire menu of interpolation filters that AV1 can pick from. slay. πŸ’–


✨ NAME ✨

enum v4l2_av1_interpolation_filter β€” the AV1 interpolation filter types, fr fr πŸ¦‹


🌸 SYNOPSIS 🌸

enum v4l2_av1_interpolation_filter {
    V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP ,
    V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH ,
    V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP ,
    V4L2_AV1_INTERPOLATION_FILTER_BILINEAR ,
    V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE

};

(yes the spacing is a little quirky, no we are not fixing it, it's part of the vibe πŸ’…)


🧚 Constants 🧚

so these are the constants, bestie, and each one has main character energy in its own way:

  • V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP β€” the eight tap filter. classic. reliable. the standard-issue icon πŸ‘‘
  • V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH β€” the eight tap smooth filter, aka the soft-focus filter for when you want everything to look a little gentler 🌸
  • V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP β€” the eight tap sharp filter. highkey the crispest one, edges so defined they could cut πŸ”₯
  • V4L2_AV1_INTERPOLATION_FILTER_BILINEAR β€” the bilinear filter. simpler vibe, still valid, we respect her 🫢
  • V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE β€” okay so with this one, the filter selection is signaled at the block level πŸ‘€ like it doesn't commit up front, it chooses per block. very "I'll decide when I get there" energy ✨

πŸ’œ Description πŸ’œ

for the actual receipts, bestie, go read section 6.8.9 "Interpolation filter semantics" of the AV1 specification β€” that's where the real lore lives πŸ“–πŸ’«


🌈 SEE ALSO 🌈

the whole friend group, in 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_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 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_tx_mode(9)
  • struct v4l2_ctrl_av1_frame(9)
  • struct v4l2_ctrl_av1_film_grain(9)

like. that's a whole group chat right there πŸ˜­πŸ’€


and that's the page, bestie!! πŸ’œ this lil gem lives in ./include/uapi/linux and it's dated October 2026 β€” so yeah, mark your calendar, screenshot it, send it to the group chat, periodt. πŸ«Άβœ¨πŸŽ€

πŸ“¦ where this page comes from