ENUM V4L2_AV1_FRAME_TYPE(9)
π NAME
enum v4l2_av1_frame_type β the AV1 Frame Type enum, bestie. That's the whole vibe. It's a Kernel API Manual situation and we're gonna get through it together π«Ά
β¨ SYNOPSIS β¨
enum v4l2_av1_frame_type {
V4L2_AV1_KEY_FRAME ,
V4L2_AV1_INTER_FRAME ,
V4L2_AV1_INTRA_ONLY_FRAME ,
V4L2_AV1_SWITCH_FRAME
};
okay so there's literally four constants in this enum and honestly? she's serving minimalism π
πΈ Constants πΈ
V4L2_AV1_KEY_FRAMEβ key frame. like, that's the constant, that's the name, iykyk β¨V4L2_AV1_INTER_FRAMEβ inter frame. yes queen, say it with your chest πV4L2_AV1_INTRA_ONLY_FRAMEβ intra-only frame. the only thing this one is, is intra. periodt π¦V4L2_AV1_SWITCH_FRAMEβ switch frame. no cap, that's it π
ngl bestie, the original doc gives these the shortest little one-liners ever β so I'm not gonna sit here and invent lore about them. The names are the names. Four of them. Memorize and slay π₯
π SEE ALSO π
the whole extended friend group shows up here, fr fr. they all live in the kernel file ./include/uapi/linux/v4l2-controls.h β like one big group chat:
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_interpolation_filter(9)enum v4l2_av1_tx_mode(9)struct v4l2_ctrl_av1_frame(9)struct v4l2_ctrl_av1_film_grain(9)
likeβ¦ that's the entire roster. every single one. no skipping, we read the whole README ππ
and that's the page, babe β¨ written down in the source directory ./include/uapi/linux, dated October 2026 β go forth and reference your structs responsibly π§π
π¦ 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