/* SPDX-License-Identifier: GPL-2.0 */ /* Fourier-local override: HEVC controls are upstream since linux-media * 6.6+, so defer to the kernel's linux/v4l2-controls.h instead of * duplicating the struct definitions (duplication causes redefinition * errors on newer linux-api-headers). * * iter2 (ampere-fourier, 2026-05-17): the new EXT_SPS_ST_RPS / _LT_RPS * controls landed in linux-media v8 series (linux-mmind-v7.0 has them) * but linux-api-headers <7.0 doesn't. Ship guarded fallback definitions * so the backend builds on older Arch hosts. Newer headers no-op these. */ #ifndef _LIBVA_V4L2_REQUEST_HEVC_CTRLS_H #define _LIBVA_V4L2_REQUEST_HEVC_CTRLS_H #include #ifndef V4L2_CID_STATELESS_HEVC_EXT_SPS_ST_RPS #define V4L2_CID_STATELESS_HEVC_EXT_SPS_ST_RPS (V4L2_CID_CODEC_STATELESS_BASE + 408) #define V4L2_CID_STATELESS_HEVC_EXT_SPS_LT_RPS (V4L2_CID_CODEC_STATELESS_BASE + 409) #define V4L2_HEVC_EXT_SPS_ST_RPS_FLAG_INTER_REF_PIC_SET_PRED 0x1 #define V4L2_HEVC_EXT_SPS_LT_RPS_FLAG_USED_LT 0x1 struct v4l2_ctrl_hevc_ext_sps_st_rps { __u8 delta_idx_minus1; __u8 delta_rps_sign; __u8 num_negative_pics; __u8 num_positive_pics; __u32 used_by_curr_pic; __u32 use_delta_flag; __u16 abs_delta_rps_minus1; __u16 delta_poc_s0_minus1[16]; __u16 delta_poc_s1_minus1[16]; __u16 flags; }; struct v4l2_ctrl_hevc_ext_sps_lt_rps { __u16 lt_ref_pic_poc_lsb_sps; __u16 flags; }; #endif /* V4L2_CID_STATELESS_HEVC_EXT_SPS_ST_RPS */ #endif