blob: a35fac63f9cb9936b951953697da93752f723171 [file] [log] [blame]
/* automatically generated by rust-bindgen 0.63.0 */
pub const _SYS_TIME_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC2X: u32 = 0;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 31;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 32;
pub const __WORDSIZE32_SIZE_ULONG: u32 = 0;
pub const __WORDSIZE32_PTRDIFF_LONG: u32 = 0;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0;
pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const _BITS_TYPES_H: u32 = 1;
pub const __TIMESIZE: u32 = 32;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 0;
pub const __STATFS_MATCHES_STATFS64: u32 = 0;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __FD_ZERO_STOS: &[u8; 6usize] = b"stosl\0";
pub const __sigset_t_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const _BITS_ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const _BITS_ENDIANNESS_H: u32 = 1;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const FD_SETSIZE: u32 = 1024;
pub const _IOC_NRBITS: u32 = 8;
pub const _IOC_TYPEBITS: u32 = 8;
pub const _IOC_SIZEBITS: u32 = 14;
pub const _IOC_DIRBITS: u32 = 2;
pub const _IOC_NRMASK: u32 = 255;
pub const _IOC_TYPEMASK: u32 = 255;
pub const _IOC_SIZEMASK: u32 = 16383;
pub const _IOC_DIRMASK: u32 = 3;
pub const _IOC_NRSHIFT: u32 = 0;
pub const _IOC_TYPESHIFT: u32 = 8;
pub const _IOC_SIZESHIFT: u32 = 16;
pub const _IOC_DIRSHIFT: u32 = 30;
pub const _IOC_NONE: u32 = 0;
pub const _IOC_WRITE: u32 = 1;
pub const _IOC_READ: u32 = 2;
pub const IOC_IN: u32 = 1073741824;
pub const IOC_OUT: u32 = 2147483648;
pub const IOC_INOUT: u32 = 3221225472;
pub const IOCSIZE_MASK: u32 = 1073676288;
pub const IOCSIZE_SHIFT: u32 = 16;
pub const __BITS_PER_LONG: u32 = 32;
pub const V4L2_SEL_TGT_CROP: u32 = 0;
pub const V4L2_SEL_TGT_CROP_DEFAULT: u32 = 1;
pub const V4L2_SEL_TGT_CROP_BOUNDS: u32 = 2;
pub const V4L2_SEL_TGT_NATIVE_SIZE: u32 = 3;
pub const V4L2_SEL_TGT_COMPOSE: u32 = 256;
pub const V4L2_SEL_TGT_COMPOSE_DEFAULT: u32 = 257;
pub const V4L2_SEL_TGT_COMPOSE_BOUNDS: u32 = 258;
pub const V4L2_SEL_TGT_COMPOSE_PADDED: u32 = 259;
pub const V4L2_SEL_FLAG_GE: u32 = 1;
pub const V4L2_SEL_FLAG_LE: u32 = 2;
pub const V4L2_SEL_FLAG_KEEP_CONFIG: u32 = 4;
pub const V4L2_SEL_TGT_CROP_ACTIVE: u32 = 0;
pub const V4L2_SEL_TGT_COMPOSE_ACTIVE: u32 = 256;
pub const V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL: u32 = 0;
pub const V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL: u32 = 256;
pub const V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS: u32 = 2;
pub const V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS: u32 = 258;
pub const V4L2_SUBDEV_SEL_FLAG_SIZE_GE: u32 = 1;
pub const V4L2_SUBDEV_SEL_FLAG_SIZE_LE: u32 = 2;
pub const V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG: u32 = 4;
pub const V4L2_CTRL_CLASS_USER: u32 = 9961472;
pub const V4L2_CTRL_CLASS_CODEC: u32 = 10027008;
pub const V4L2_CTRL_CLASS_CAMERA: u32 = 10092544;
pub const V4L2_CTRL_CLASS_FM_TX: u32 = 10158080;
pub const V4L2_CTRL_CLASS_FLASH: u32 = 10223616;
pub const V4L2_CTRL_CLASS_JPEG: u32 = 10289152;
pub const V4L2_CTRL_CLASS_IMAGE_SOURCE: u32 = 10354688;
pub const V4L2_CTRL_CLASS_IMAGE_PROC: u32 = 10420224;
pub const V4L2_CTRL_CLASS_DV: u32 = 10485760;
pub const V4L2_CTRL_CLASS_FM_RX: u32 = 10551296;
pub const V4L2_CTRL_CLASS_RF_TUNER: u32 = 10616832;
pub const V4L2_CTRL_CLASS_DETECT: u32 = 10682368;
pub const V4L2_CTRL_CLASS_CODEC_STATELESS: u32 = 10747904;
pub const V4L2_CTRL_CLASS_COLORIMETRY: u32 = 10813440;
pub const V4L2_CID_BASE: u32 = 9963776;
pub const V4L2_CID_USER_BASE: u32 = 9963776;
pub const V4L2_CID_USER_CLASS: u32 = 9961473;
pub const V4L2_CID_BRIGHTNESS: u32 = 9963776;
pub const V4L2_CID_CONTRAST: u32 = 9963777;
pub const V4L2_CID_SATURATION: u32 = 9963778;
pub const V4L2_CID_HUE: u32 = 9963779;
pub const V4L2_CID_AUDIO_VOLUME: u32 = 9963781;
pub const V4L2_CID_AUDIO_BALANCE: u32 = 9963782;
pub const V4L2_CID_AUDIO_BASS: u32 = 9963783;
pub const V4L2_CID_AUDIO_TREBLE: u32 = 9963784;
pub const V4L2_CID_AUDIO_MUTE: u32 = 9963785;
pub const V4L2_CID_AUDIO_LOUDNESS: u32 = 9963786;
pub const V4L2_CID_BLACK_LEVEL: u32 = 9963787;
pub const V4L2_CID_AUTO_WHITE_BALANCE: u32 = 9963788;
pub const V4L2_CID_DO_WHITE_BALANCE: u32 = 9963789;
pub const V4L2_CID_RED_BALANCE: u32 = 9963790;
pub const V4L2_CID_BLUE_BALANCE: u32 = 9963791;
pub const V4L2_CID_GAMMA: u32 = 9963792;
pub const V4L2_CID_WHITENESS: u32 = 9963792;
pub const V4L2_CID_EXPOSURE: u32 = 9963793;
pub const V4L2_CID_AUTOGAIN: u32 = 9963794;
pub const V4L2_CID_GAIN: u32 = 9963795;
pub const V4L2_CID_HFLIP: u32 = 9963796;
pub const V4L2_CID_VFLIP: u32 = 9963797;
pub const V4L2_CID_POWER_LINE_FREQUENCY: u32 = 9963800;
pub const V4L2_CID_HUE_AUTO: u32 = 9963801;
pub const V4L2_CID_WHITE_BALANCE_TEMPERATURE: u32 = 9963802;
pub const V4L2_CID_SHARPNESS: u32 = 9963803;
pub const V4L2_CID_BACKLIGHT_COMPENSATION: u32 = 9963804;
pub const V4L2_CID_CHROMA_AGC: u32 = 9963805;
pub const V4L2_CID_COLOR_KILLER: u32 = 9963806;
pub const V4L2_CID_COLORFX: u32 = 9963807;
pub const V4L2_CID_AUTOBRIGHTNESS: u32 = 9963808;
pub const V4L2_CID_BAND_STOP_FILTER: u32 = 9963809;
pub const V4L2_CID_ROTATE: u32 = 9963810;
pub const V4L2_CID_BG_COLOR: u32 = 9963811;
pub const V4L2_CID_CHROMA_GAIN: u32 = 9963812;
pub const V4L2_CID_ILLUMINATORS_1: u32 = 9963813;
pub const V4L2_CID_ILLUMINATORS_2: u32 = 9963814;
pub const V4L2_CID_MIN_BUFFERS_FOR_CAPTURE: u32 = 9963815;
pub const V4L2_CID_MIN_BUFFERS_FOR_OUTPUT: u32 = 9963816;
pub const V4L2_CID_ALPHA_COMPONENT: u32 = 9963817;
pub const V4L2_CID_COLORFX_CBCR: u32 = 9963818;
pub const V4L2_CID_COLORFX_RGB: u32 = 9963819;
pub const V4L2_CID_LASTP1: u32 = 9963820;
pub const V4L2_CID_USER_MEYE_BASE: u32 = 9967872;
pub const V4L2_CID_USER_BTTV_BASE: u32 = 9967888;
pub const V4L2_CID_USER_S2255_BASE: u32 = 9967920;
pub const V4L2_CID_USER_SI476X_BASE: u32 = 9967936;
pub const V4L2_CID_USER_TI_VPE_BASE: u32 = 9967952;
pub const V4L2_CID_USER_SAA7134_BASE: u32 = 9967968;
pub const V4L2_CID_USER_ADV7180_BASE: u32 = 9967984;
pub const V4L2_CID_USER_TC358743_BASE: u32 = 9968000;
pub const V4L2_CID_USER_MAX217X_BASE: u32 = 9968016;
pub const V4L2_CID_USER_IMX_BASE: u32 = 9968048;
pub const V4L2_CID_USER_ATMEL_ISC_BASE: u32 = 9968064;
pub const V4L2_CID_USER_CODA_BASE: u32 = 9968096;
pub const V4L2_CID_USER_CCS_BASE: u32 = 9968112;
pub const V4L2_CID_USER_ALLEGRO_BASE: u32 = 9968240;
pub const V4L2_CID_USER_ISL7998X_BASE: u32 = 9968256;
pub const V4L2_CID_USER_DW100_BASE: u32 = 9968272;
pub const V4L2_CID_CODEC_BASE: u32 = 10029312;
pub const V4L2_CID_CODEC_CLASS: u32 = 10027009;
pub const V4L2_CID_MPEG_STREAM_TYPE: u32 = 10029312;
pub const V4L2_CID_MPEG_STREAM_PID_PMT: u32 = 10029313;
pub const V4L2_CID_MPEG_STREAM_PID_AUDIO: u32 = 10029314;
pub const V4L2_CID_MPEG_STREAM_PID_VIDEO: u32 = 10029315;
pub const V4L2_CID_MPEG_STREAM_PID_PCR: u32 = 10029316;
pub const V4L2_CID_MPEG_STREAM_PES_ID_AUDIO: u32 = 10029317;
pub const V4L2_CID_MPEG_STREAM_PES_ID_VIDEO: u32 = 10029318;
pub const V4L2_CID_MPEG_STREAM_VBI_FMT: u32 = 10029319;
pub const V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ: u32 = 10029412;
pub const V4L2_CID_MPEG_AUDIO_ENCODING: u32 = 10029413;
pub const V4L2_CID_MPEG_AUDIO_L1_BITRATE: u32 = 10029414;
pub const V4L2_CID_MPEG_AUDIO_L2_BITRATE: u32 = 10029415;
pub const V4L2_CID_MPEG_AUDIO_L3_BITRATE: u32 = 10029416;
pub const V4L2_CID_MPEG_AUDIO_MODE: u32 = 10029417;
pub const V4L2_CID_MPEG_AUDIO_MODE_EXTENSION: u32 = 10029418;
pub const V4L2_CID_MPEG_AUDIO_EMPHASIS: u32 = 10029419;
pub const V4L2_CID_MPEG_AUDIO_CRC: u32 = 10029420;
pub const V4L2_CID_MPEG_AUDIO_MUTE: u32 = 10029421;
pub const V4L2_CID_MPEG_AUDIO_AAC_BITRATE: u32 = 10029422;
pub const V4L2_CID_MPEG_AUDIO_AC3_BITRATE: u32 = 10029423;
pub const V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK: u32 = 10029424;
pub const V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK: u32 = 10029425;
pub const V4L2_CID_MPEG_VIDEO_ENCODING: u32 = 10029512;
pub const V4L2_CID_MPEG_VIDEO_ASPECT: u32 = 10029513;
pub const V4L2_CID_MPEG_VIDEO_B_FRAMES: u32 = 10029514;
pub const V4L2_CID_MPEG_VIDEO_GOP_SIZE: u32 = 10029515;
pub const V4L2_CID_MPEG_VIDEO_GOP_CLOSURE: u32 = 10029516;
pub const V4L2_CID_MPEG_VIDEO_PULLDOWN: u32 = 10029517;
pub const V4L2_CID_MPEG_VIDEO_BITRATE_MODE: u32 = 10029518;
pub const V4L2_CID_MPEG_VIDEO_BITRATE: u32 = 10029519;
pub const V4L2_CID_MPEG_VIDEO_BITRATE_PEAK: u32 = 10029520;
pub const V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION: u32 = 10029521;
pub const V4L2_CID_MPEG_VIDEO_MUTE: u32 = 10029522;
pub const V4L2_CID_MPEG_VIDEO_MUTE_YUV: u32 = 10029523;
pub const V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE: u32 = 10029524;
pub const V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER: u32 = 10029525;
pub const V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB: u32 = 10029526;
pub const V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE: u32 = 10029527;
pub const V4L2_CID_MPEG_VIDEO_HEADER_MODE: u32 = 10029528;
pub const V4L2_CID_MPEG_VIDEO_MAX_REF_PIC: u32 = 10029529;
pub const V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE: u32 = 10029530;
pub const V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES: u32 = 10029531;
pub const V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB: u32 = 10029532;
pub const V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE: u32 = 10029533;
pub const V4L2_CID_MPEG_VIDEO_VBV_SIZE: u32 = 10029534;
pub const V4L2_CID_MPEG_VIDEO_DEC_PTS: u32 = 10029535;
pub const V4L2_CID_MPEG_VIDEO_DEC_FRAME: u32 = 10029536;
pub const V4L2_CID_MPEG_VIDEO_VBV_DELAY: u32 = 10029537;
pub const V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER: u32 = 10029538;
pub const V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE: u32 = 10029539;
pub const V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE: u32 = 10029540;
pub const V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: u32 = 10029541;
pub const V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID: u32 = 10029542;
pub const V4L2_CID_MPEG_VIDEO_AU_DELIMITER: u32 = 10029543;
pub const V4L2_CID_MPEG_VIDEO_LTR_COUNT: u32 = 10029544;
pub const V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX: u32 = 10029545;
pub const V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES: u32 = 10029546;
pub const V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR: u32 = 10029547;
pub const V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD: u32 = 10029548;
pub const V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE: u32 = 10029549;
pub const V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL: u32 = 10029582;
pub const V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE: u32 = 10029583;
pub const V4L2_CID_FWHT_I_FRAME_QP: u32 = 10029602;
pub const V4L2_CID_FWHT_P_FRAME_QP: u32 = 10029603;
pub const V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP: u32 = 10029612;
pub const V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP: u32 = 10029613;
pub const V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP: u32 = 10029614;
pub const V4L2_CID_MPEG_VIDEO_H263_MIN_QP: u32 = 10029615;
pub const V4L2_CID_MPEG_VIDEO_H263_MAX_QP: u32 = 10029616;
pub const V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP: u32 = 10029662;
pub const V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP: u32 = 10029663;
pub const V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP: u32 = 10029664;
pub const V4L2_CID_MPEG_VIDEO_H264_MIN_QP: u32 = 10029665;
pub const V4L2_CID_MPEG_VIDEO_H264_MAX_QP: u32 = 10029666;
pub const V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM: u32 = 10029667;
pub const V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE: u32 = 10029668;
pub const V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE: u32 = 10029669;
pub const V4L2_CID_MPEG_VIDEO_H264_I_PERIOD: u32 = 10029670;
pub const V4L2_CID_MPEG_VIDEO_H264_LEVEL: u32 = 10029671;
pub const V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA: u32 = 10029672;
pub const V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA: u32 = 10029673;
pub const V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE: u32 = 10029674;
pub const V4L2_CID_MPEG_VIDEO_H264_PROFILE: u32 = 10029675;
pub const V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT: u32 = 10029676;
pub const V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH: u32 = 10029677;
pub const V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE: u32 = 10029678;
pub const V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC: u32 = 10029679;
pub const V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING: u32 = 10029680;
pub const V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0: u32 = 10029681;
pub const V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE: u32 = 10029682;
pub const V4L2_CID_MPEG_VIDEO_H264_FMO: u32 = 10029683;
pub const V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE: u32 = 10029684;
pub const V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP: u32 = 10029685;
pub const V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION: u32 = 10029686;
pub const V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE: u32 = 10029687;
pub const V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH: u32 = 10029688;
pub const V4L2_CID_MPEG_VIDEO_H264_ASO: u32 = 10029689;
pub const V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER: u32 = 10029690;
pub const V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING: u32 = 10029691;
pub const V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE: u32 = 10029692;
pub const V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER: u32 = 10029693;
pub const V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP: u32 = 10029694;
pub const V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION: u32 = 10029695;
pub const V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET: u32 = 10029696;
pub const V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP: u32 = 10029697;
pub const V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP: u32 = 10029698;
pub const V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP: u32 = 10029699;
pub const V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP: u32 = 10029700;
pub const V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP: u32 = 10029701;
pub const V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP: u32 = 10029702;
pub const V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR: u32 = 10029703;
pub const V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR: u32 = 10029704;
pub const V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR: u32 = 10029705;
pub const V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR: u32 = 10029706;
pub const V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR: u32 = 10029707;
pub const V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR: u32 = 10029708;
pub const V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR: u32 = 10029709;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP: u32 = 10029712;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP: u32 = 10029713;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP: u32 = 10029714;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP: u32 = 10029715;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP: u32 = 10029716;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL: u32 = 10029717;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE: u32 = 10029718;
pub const V4L2_CID_MPEG_VIDEO_MPEG4_QPEL: u32 = 10029719;
pub const V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS: u32 = 10029812;
pub const V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4: u32 = 10029813;
pub const V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES: u32 = 10029814;
pub const V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL: u32 = 10029815;
pub const V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS: u32 = 10029816;
pub const V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD: u32 = 10029817;
pub const V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL: u32 = 10029818;
pub const V4L2_CID_MPEG_VIDEO_VPX_MIN_QP: u32 = 10029819;
pub const V4L2_CID_MPEG_VIDEO_VPX_MAX_QP: u32 = 10029820;
pub const V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP: u32 = 10029821;
pub const V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP: u32 = 10029822;
pub const V4L2_CID_MPEG_VIDEO_VP8_PROFILE: u32 = 10029823;
pub const V4L2_CID_MPEG_VIDEO_VPX_PROFILE: u32 = 10029823;
pub const V4L2_CID_MPEG_VIDEO_VP9_PROFILE: u32 = 10029824;
pub const V4L2_CID_MPEG_VIDEO_VP9_LEVEL: u32 = 10029825;
pub const V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP: u32 = 10029912;
pub const V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP: u32 = 10029913;
pub const V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP: u32 = 10029914;
pub const V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP: u32 = 10029915;
pub const V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP: u32 = 10029916;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP: u32 = 10029917;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE: u32 = 10029918;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER: u32 = 10029919;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP: u32 = 10029920;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP: u32 = 10029921;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP: u32 = 10029922;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP: u32 = 10029923;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP: u32 = 10029924;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP: u32 = 10029925;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP: u32 = 10029926;
pub const V4L2_CID_MPEG_VIDEO_HEVC_PROFILE: u32 = 10029927;
pub const V4L2_CID_MPEG_VIDEO_HEVC_LEVEL: u32 = 10029928;
pub const V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION: u32 = 10029929;
pub const V4L2_CID_MPEG_VIDEO_HEVC_TIER: u32 = 10029930;
pub const V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH: u32 = 10029931;
pub const V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE: u32 = 10029932;
pub const V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2: u32 = 10029933;
pub const V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2: u32 = 10029934;
pub const V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE: u32 = 10029935;
pub const V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD: u32 = 10029936;
pub const V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU: u32 = 10029937;
pub const V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED: u32 = 10029938;
pub const V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT: u32 = 10029939;
pub const V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB: u32 = 10029940;
pub const V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID: u32 = 10029941;
pub const V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING: u32 = 10029942;
pub const V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1: u32 = 10029943;
pub const V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT: u32 = 10029944;
pub const V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION: u32 = 10029945;
pub const V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE: u32 = 10029946;
pub const V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD: u32 = 10029947;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR: u32 = 10029948;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR: u32 = 10029949;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR: u32 = 10029950;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR: u32 = 10029951;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR: u32 = 10029952;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR: u32 = 10029953;
pub const V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR: u32 = 10029954;
pub const V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES: u32 = 10029955;
pub const V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR: u32 = 10029956;
pub const V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY: u32 = 10029957;
pub const V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE: u32 = 10029958;
pub const V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP: u32 = 10029959;
pub const V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP: u32 = 10029960;
pub const V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP: u32 = 10029961;
pub const V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP: u32 = 10029962;
pub const V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP: u32 = 10029963;
pub const V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP: u32 = 10029964;
pub const V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY: u32 = 10029965;
pub const V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE: u32 = 10029966;
pub const V4L2_CID_CODEC_CX2341X_BASE: u32 = 10031104;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE: u32 = 10031104;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER: u32 = 10031105;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE: u32 = 10031106;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE: u32 = 10031107;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE: u32 = 10031108;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER: u32 = 10031109;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE: u32 = 10031110;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM: u32 = 10031111;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP: u32 = 10031112;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM: u32 = 10031113;
pub const V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP: u32 = 10031114;
pub const V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS: u32 = 10031115;
pub const V4L2_CID_CODEC_MFC51_BASE: u32 = 10031360;
pub const V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY: u32 = 10031360;
pub const V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE: u32 = 10031361;
pub const V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE: u32 = 10031362;
pub const V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE: u32 = 10031363;
pub const V4L2_CID_MPEG_MFC51_VIDEO_PADDING: u32 = 10031364;
pub const V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV: u32 = 10031365;
pub const V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT: u32 = 10031366;
pub const V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF: u32 = 10031367;
pub const V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY: u32 = 10031410;
pub const V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK: u32 = 10031411;
pub const V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH: u32 = 10031412;
pub const V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC: u32 = 10031413;
pub const V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P: u32 = 10031414;
pub const V4L2_CID_CAMERA_CLASS_BASE: u32 = 10094848;
pub const V4L2_CID_CAMERA_CLASS: u32 = 10092545;
pub const V4L2_CID_EXPOSURE_AUTO: u32 = 10094849;
pub const V4L2_CID_EXPOSURE_ABSOLUTE: u32 = 10094850;
pub const V4L2_CID_EXPOSURE_AUTO_PRIORITY: u32 = 10094851;
pub const V4L2_CID_PAN_RELATIVE: u32 = 10094852;
pub const V4L2_CID_TILT_RELATIVE: u32 = 10094853;
pub const V4L2_CID_PAN_RESET: u32 = 10094854;
pub const V4L2_CID_TILT_RESET: u32 = 10094855;
pub const V4L2_CID_PAN_ABSOLUTE: u32 = 10094856;
pub const V4L2_CID_TILT_ABSOLUTE: u32 = 10094857;
pub const V4L2_CID_FOCUS_ABSOLUTE: u32 = 10094858;
pub const V4L2_CID_FOCUS_RELATIVE: u32 = 10094859;
pub const V4L2_CID_FOCUS_AUTO: u32 = 10094860;
pub const V4L2_CID_ZOOM_ABSOLUTE: u32 = 10094861;
pub const V4L2_CID_ZOOM_RELATIVE: u32 = 10094862;
pub const V4L2_CID_ZOOM_CONTINUOUS: u32 = 10094863;
pub const V4L2_CID_PRIVACY: u32 = 10094864;
pub const V4L2_CID_IRIS_ABSOLUTE: u32 = 10094865;
pub const V4L2_CID_IRIS_RELATIVE: u32 = 10094866;
pub const V4L2_CID_AUTO_EXPOSURE_BIAS: u32 = 10094867;
pub const V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE: u32 = 10094868;
pub const V4L2_CID_WIDE_DYNAMIC_RANGE: u32 = 10094869;
pub const V4L2_CID_IMAGE_STABILIZATION: u32 = 10094870;
pub const V4L2_CID_ISO_SENSITIVITY: u32 = 10094871;
pub const V4L2_CID_ISO_SENSITIVITY_AUTO: u32 = 10094872;
pub const V4L2_CID_EXPOSURE_METERING: u32 = 10094873;
pub const V4L2_CID_SCENE_MODE: u32 = 10094874;
pub const V4L2_CID_3A_LOCK: u32 = 10094875;
pub const V4L2_LOCK_EXPOSURE: u32 = 1;
pub const V4L2_LOCK_WHITE_BALANCE: u32 = 2;
pub const V4L2_LOCK_FOCUS: u32 = 4;
pub const V4L2_CID_AUTO_FOCUS_START: u32 = 10094876;
pub const V4L2_CID_AUTO_FOCUS_STOP: u32 = 10094877;
pub const V4L2_CID_AUTO_FOCUS_STATUS: u32 = 10094878;
pub const V4L2_AUTO_FOCUS_STATUS_IDLE: u32 = 0;
pub const V4L2_AUTO_FOCUS_STATUS_BUSY: u32 = 1;
pub const V4L2_AUTO_FOCUS_STATUS_REACHED: u32 = 2;
pub const V4L2_AUTO_FOCUS_STATUS_FAILED: u32 = 4;
pub const V4L2_CID_AUTO_FOCUS_RANGE: u32 = 10094879;
pub const V4L2_CID_PAN_SPEED: u32 = 10094880;
pub const V4L2_CID_TILT_SPEED: u32 = 10094881;
pub const V4L2_CID_CAMERA_ORIENTATION: u32 = 10094882;
pub const V4L2_CAMERA_ORIENTATION_FRONT: u32 = 0;
pub const V4L2_CAMERA_ORIENTATION_BACK: u32 = 1;
pub const V4L2_CAMERA_ORIENTATION_EXTERNAL: u32 = 2;
pub const V4L2_CID_CAMERA_SENSOR_ROTATION: u32 = 10094883;
pub const V4L2_CID_FM_TX_CLASS_BASE: u32 = 10160384;
pub const V4L2_CID_FM_TX_CLASS: u32 = 10158081;
pub const V4L2_CID_RDS_TX_DEVIATION: u32 = 10160385;
pub const V4L2_CID_RDS_TX_PI: u32 = 10160386;
pub const V4L2_CID_RDS_TX_PTY: u32 = 10160387;
pub const V4L2_CID_RDS_TX_PS_NAME: u32 = 10160389;
pub const V4L2_CID_RDS_TX_RADIO_TEXT: u32 = 10160390;
pub const V4L2_CID_RDS_TX_MONO_STEREO: u32 = 10160391;
pub const V4L2_CID_RDS_TX_ARTIFICIAL_HEAD: u32 = 10160392;
pub const V4L2_CID_RDS_TX_COMPRESSED: u32 = 10160393;
pub const V4L2_CID_RDS_TX_DYNAMIC_PTY: u32 = 10160394;
pub const V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT: u32 = 10160395;
pub const V4L2_CID_RDS_TX_TRAFFIC_PROGRAM: u32 = 10160396;
pub const V4L2_CID_RDS_TX_MUSIC_SPEECH: u32 = 10160397;
pub const V4L2_CID_RDS_TX_ALT_FREQS_ENABLE: u32 = 10160398;
pub const V4L2_CID_RDS_TX_ALT_FREQS: u32 = 10160399;
pub const V4L2_CID_AUDIO_LIMITER_ENABLED: u32 = 10160448;
pub const V4L2_CID_AUDIO_LIMITER_RELEASE_TIME: u32 = 10160449;
pub const V4L2_CID_AUDIO_LIMITER_DEVIATION: u32 = 10160450;
pub const V4L2_CID_AUDIO_COMPRESSION_ENABLED: u32 = 10160464;
pub const V4L2_CID_AUDIO_COMPRESSION_GAIN: u32 = 10160465;
pub const V4L2_CID_AUDIO_COMPRESSION_THRESHOLD: u32 = 10160466;
pub const V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME: u32 = 10160467;
pub const V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME: u32 = 10160468;
pub const V4L2_CID_PILOT_TONE_ENABLED: u32 = 10160480;
pub const V4L2_CID_PILOT_TONE_DEVIATION: u32 = 10160481;
pub const V4L2_CID_PILOT_TONE_FREQUENCY: u32 = 10160482;
pub const V4L2_CID_TUNE_PREEMPHASIS: u32 = 10160496;
pub const V4L2_CID_TUNE_POWER_LEVEL: u32 = 10160497;
pub const V4L2_CID_TUNE_ANTENNA_CAPACITOR: u32 = 10160498;
pub const V4L2_CID_FLASH_CLASS_BASE: u32 = 10225920;
pub const V4L2_CID_FLASH_CLASS: u32 = 10223617;
pub const V4L2_CID_FLASH_LED_MODE: u32 = 10225921;
pub const V4L2_CID_FLASH_STROBE_SOURCE: u32 = 10225922;
pub const V4L2_CID_FLASH_STROBE: u32 = 10225923;
pub const V4L2_CID_FLASH_STROBE_STOP: u32 = 10225924;
pub const V4L2_CID_FLASH_STROBE_STATUS: u32 = 10225925;
pub const V4L2_CID_FLASH_TIMEOUT: u32 = 10225926;
pub const V4L2_CID_FLASH_INTENSITY: u32 = 10225927;
pub const V4L2_CID_FLASH_TORCH_INTENSITY: u32 = 10225928;
pub const V4L2_CID_FLASH_INDICATOR_INTENSITY: u32 = 10225929;
pub const V4L2_CID_FLASH_FAULT: u32 = 10225930;
pub const V4L2_FLASH_FAULT_OVER_VOLTAGE: u32 = 1;
pub const V4L2_FLASH_FAULT_TIMEOUT: u32 = 2;
pub const V4L2_FLASH_FAULT_OVER_TEMPERATURE: u32 = 4;
pub const V4L2_FLASH_FAULT_SHORT_CIRCUIT: u32 = 8;
pub const V4L2_FLASH_FAULT_OVER_CURRENT: u32 = 16;
pub const V4L2_FLASH_FAULT_INDICATOR: u32 = 32;
pub const V4L2_FLASH_FAULT_UNDER_VOLTAGE: u32 = 64;
pub const V4L2_FLASH_FAULT_INPUT_VOLTAGE: u32 = 128;
pub const V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE: u32 = 256;
pub const V4L2_CID_FLASH_CHARGE: u32 = 10225931;
pub const V4L2_CID_FLASH_READY: u32 = 10225932;
pub const V4L2_CID_JPEG_CLASS_BASE: u32 = 10291456;
pub const V4L2_CID_JPEG_CLASS: u32 = 10289153;
pub const V4L2_CID_JPEG_CHROMA_SUBSAMPLING: u32 = 10291457;
pub const V4L2_CID_JPEG_RESTART_INTERVAL: u32 = 10291458;
pub const V4L2_CID_JPEG_COMPRESSION_QUALITY: u32 = 10291459;
pub const V4L2_CID_JPEG_ACTIVE_MARKER: u32 = 10291460;
pub const V4L2_JPEG_ACTIVE_MARKER_APP0: u32 = 1;
pub const V4L2_JPEG_ACTIVE_MARKER_APP1: u32 = 2;
pub const V4L2_JPEG_ACTIVE_MARKER_COM: u32 = 65536;
pub const V4L2_JPEG_ACTIVE_MARKER_DQT: u32 = 131072;
pub const V4L2_JPEG_ACTIVE_MARKER_DHT: u32 = 262144;
pub const V4L2_CID_IMAGE_SOURCE_CLASS_BASE: u32 = 10356992;
pub const V4L2_CID_IMAGE_SOURCE_CLASS: u32 = 10354689;
pub const V4L2_CID_VBLANK: u32 = 10356993;
pub const V4L2_CID_HBLANK: u32 = 10356994;
pub const V4L2_CID_ANALOGUE_GAIN: u32 = 10356995;
pub const V4L2_CID_TEST_PATTERN_RED: u32 = 10356996;
pub const V4L2_CID_TEST_PATTERN_GREENR: u32 = 10356997;
pub const V4L2_CID_TEST_PATTERN_BLUE: u32 = 10356998;
pub const V4L2_CID_TEST_PATTERN_GREENB: u32 = 10356999;
pub const V4L2_CID_UNIT_CELL_SIZE: u32 = 10357000;
pub const V4L2_CID_NOTIFY_GAINS: u32 = 10357001;
pub const V4L2_CID_IMAGE_PROC_CLASS_BASE: u32 = 10422528;
pub const V4L2_CID_IMAGE_PROC_CLASS: u32 = 10420225;
pub const V4L2_CID_LINK_FREQ: u32 = 10422529;
pub const V4L2_CID_PIXEL_RATE: u32 = 10422530;
pub const V4L2_CID_TEST_PATTERN: u32 = 10422531;
pub const V4L2_CID_DEINTERLACING_MODE: u32 = 10422532;
pub const V4L2_CID_DIGITAL_GAIN: u32 = 10422533;
pub const V4L2_CID_DV_CLASS_BASE: u32 = 10488064;
pub const V4L2_CID_DV_CLASS: u32 = 10485761;
pub const V4L2_CID_DV_TX_HOTPLUG: u32 = 10488065;
pub const V4L2_CID_DV_TX_RXSENSE: u32 = 10488066;
pub const V4L2_CID_DV_TX_EDID_PRESENT: u32 = 10488067;
pub const V4L2_CID_DV_TX_MODE: u32 = 10488068;
pub const V4L2_CID_DV_TX_RGB_RANGE: u32 = 10488069;
pub const V4L2_CID_DV_TX_IT_CONTENT_TYPE: u32 = 10488070;
pub const V4L2_CID_DV_RX_POWER_PRESENT: u32 = 10488164;
pub const V4L2_CID_DV_RX_RGB_RANGE: u32 = 10488165;
pub const V4L2_CID_DV_RX_IT_CONTENT_TYPE: u32 = 10488166;
pub const V4L2_CID_FM_RX_CLASS_BASE: u32 = 10553600;
pub const V4L2_CID_FM_RX_CLASS: u32 = 10551297;
pub const V4L2_CID_TUNE_DEEMPHASIS: u32 = 10553601;
pub const V4L2_CID_RDS_RECEPTION: u32 = 10553602;
pub const V4L2_CID_RDS_RX_PTY: u32 = 10553603;
pub const V4L2_CID_RDS_RX_PS_NAME: u32 = 10553604;
pub const V4L2_CID_RDS_RX_RADIO_TEXT: u32 = 10553605;
pub const V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT: u32 = 10553606;
pub const V4L2_CID_RDS_RX_TRAFFIC_PROGRAM: u32 = 10553607;
pub const V4L2_CID_RDS_RX_MUSIC_SPEECH: u32 = 10553608;
pub const V4L2_CID_RF_TUNER_CLASS_BASE: u32 = 10619136;
pub const V4L2_CID_RF_TUNER_CLASS: u32 = 10616833;
pub const V4L2_CID_RF_TUNER_BANDWIDTH_AUTO: u32 = 10619147;
pub const V4L2_CID_RF_TUNER_BANDWIDTH: u32 = 10619148;
pub const V4L2_CID_RF_TUNER_RF_GAIN: u32 = 10619168;
pub const V4L2_CID_RF_TUNER_LNA_GAIN_AUTO: u32 = 10619177;
pub const V4L2_CID_RF_TUNER_LNA_GAIN: u32 = 10619178;
pub const V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO: u32 = 10619187;
pub const V4L2_CID_RF_TUNER_MIXER_GAIN: u32 = 10619188;
pub const V4L2_CID_RF_TUNER_IF_GAIN_AUTO: u32 = 10619197;
pub const V4L2_CID_RF_TUNER_IF_GAIN: u32 = 10619198;
pub const V4L2_CID_RF_TUNER_PLL_LOCK: u32 = 10619227;
pub const V4L2_CID_DETECT_CLASS_BASE: u32 = 10684672;
pub const V4L2_CID_DETECT_CLASS: u32 = 10682369;
pub const V4L2_CID_DETECT_MD_MODE: u32 = 10684673;
pub const V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD: u32 = 10684674;
pub const V4L2_CID_DETECT_MD_THRESHOLD_GRID: u32 = 10684675;
pub const V4L2_CID_DETECT_MD_REGION_GRID: u32 = 10684676;
pub const V4L2_CID_CODEC_STATELESS_BASE: u32 = 10750208;
pub const V4L2_CID_CODEC_STATELESS_CLASS: u32 = 10747905;
pub const V4L2_CID_STATELESS_H264_DECODE_MODE: u32 = 10750208;
pub const V4L2_CID_STATELESS_H264_START_CODE: u32 = 10750209;
pub const V4L2_H264_SPS_CONSTRAINT_SET0_FLAG: u32 = 1;
pub const V4L2_H264_SPS_CONSTRAINT_SET1_FLAG: u32 = 2;
pub const V4L2_H264_SPS_CONSTRAINT_SET2_FLAG: u32 = 4;
pub const V4L2_H264_SPS_CONSTRAINT_SET3_FLAG: u32 = 8;
pub const V4L2_H264_SPS_CONSTRAINT_SET4_FLAG: u32 = 16;
pub const V4L2_H264_SPS_CONSTRAINT_SET5_FLAG: u32 = 32;
pub const V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE: u32 = 1;
pub const V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS: u32 = 2;
pub const V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO: u32 = 4;
pub const V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED: u32 = 8;
pub const V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY: u32 = 16;
pub const V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD: u32 = 32;
pub const V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE: u32 = 64;
pub const V4L2_CID_STATELESS_H264_SPS: u32 = 10750210;
pub const V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE: u32 = 1;
pub const V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT: u32 = 2;
pub const V4L2_H264_PPS_FLAG_WEIGHTED_PRED: u32 = 4;
pub const V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT: u32 = 8;
pub const V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED: u32 = 16;
pub const V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT: u32 = 32;
pub const V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE: u32 = 64;
pub const V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT: u32 = 128;
pub const V4L2_CID_STATELESS_H264_PPS: u32 = 10750211;
pub const V4L2_CID_STATELESS_H264_SCALING_MATRIX: u32 = 10750212;
pub const V4L2_CID_STATELESS_H264_PRED_WEIGHTS: u32 = 10750213;
pub const V4L2_H264_SLICE_TYPE_P: u32 = 0;
pub const V4L2_H264_SLICE_TYPE_B: u32 = 1;
pub const V4L2_H264_SLICE_TYPE_I: u32 = 2;
pub const V4L2_H264_SLICE_TYPE_SP: u32 = 3;
pub const V4L2_H264_SLICE_TYPE_SI: u32 = 4;
pub const V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED: u32 = 1;
pub const V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH: u32 = 2;
pub const V4L2_H264_TOP_FIELD_REF: u32 = 1;
pub const V4L2_H264_BOTTOM_FIELD_REF: u32 = 2;
pub const V4L2_H264_FRAME_REF: u32 = 3;
pub const V4L2_H264_NUM_DPB_ENTRIES: u32 = 16;
pub const V4L2_H264_REF_LIST_LEN: u32 = 32;
pub const V4L2_CID_STATELESS_H264_SLICE_PARAMS: u32 = 10750214;
pub const V4L2_H264_DPB_ENTRY_FLAG_VALID: u32 = 1;
pub const V4L2_H264_DPB_ENTRY_FLAG_ACTIVE: u32 = 2;
pub const V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM: u32 = 4;
pub const V4L2_H264_DPB_ENTRY_FLAG_FIELD: u32 = 8;
pub const V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC: u32 = 1;
pub const V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC: u32 = 2;
pub const V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD: u32 = 4;
pub const V4L2_H264_DECODE_PARAM_FLAG_PFRAME: u32 = 8;
pub const V4L2_H264_DECODE_PARAM_FLAG_BFRAME: u32 = 16;
pub const V4L2_CID_STATELESS_H264_DECODE_PARAMS: u32 = 10750215;
pub const V4L2_FWHT_VERSION: u32 = 3;
pub const V4L2_FWHT_FL_COMPONENTS_NUM_OFFSET: u32 = 16;
pub const V4L2_FWHT_FL_PIXENC_OFFSET: u32 = 19;
pub const V4L2_FWHT_FL_PIXENC_YUV: u32 = 524288;
pub const V4L2_FWHT_FL_PIXENC_RGB: u32 = 1048576;
pub const V4L2_FWHT_FL_PIXENC_HSV: u32 = 1572864;
pub const V4L2_CID_STATELESS_FWHT_PARAMS: u32 = 10750308;
pub const V4L2_VP8_SEGMENT_FLAG_ENABLED: u32 = 1;
pub const V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP: u32 = 2;
pub const V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA: u32 = 4;
pub const V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE: u32 = 8;
pub const V4L2_VP8_LF_ADJ_ENABLE: u32 = 1;
pub const V4L2_VP8_LF_DELTA_UPDATE: u32 = 2;
pub const V4L2_VP8_LF_FILTER_TYPE_SIMPLE: u32 = 4;
pub const V4L2_VP8_COEFF_PROB_CNT: u32 = 11;
pub const V4L2_VP8_MV_PROB_CNT: u32 = 19;
pub const V4L2_VP8_FRAME_FLAG_KEY_FRAME: u32 = 1;
pub const V4L2_VP8_FRAME_FLAG_EXPERIMENTAL: u32 = 2;
pub const V4L2_VP8_FRAME_FLAG_SHOW_FRAME: u32 = 4;
pub const V4L2_VP8_FRAME_FLAG_MB_NO_SKIP_COEFF: u32 = 8;
pub const V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN: u32 = 16;
pub const V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT: u32 = 32;
pub const V4L2_CID_STATELESS_VP8_FRAME: u32 = 10750408;
pub const V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE: u32 = 1;
pub const V4L2_CID_STATELESS_MPEG2_SEQUENCE: u32 = 10750428;
pub const V4L2_MPEG2_PIC_CODING_TYPE_I: u32 = 1;
pub const V4L2_MPEG2_PIC_CODING_TYPE_P: u32 = 2;
pub const V4L2_MPEG2_PIC_CODING_TYPE_B: u32 = 3;
pub const V4L2_MPEG2_PIC_CODING_TYPE_D: u32 = 4;
pub const V4L2_MPEG2_PIC_TOP_FIELD: u32 = 1;
pub const V4L2_MPEG2_PIC_BOTTOM_FIELD: u32 = 2;
pub const V4L2_MPEG2_PIC_FRAME: u32 = 3;
pub const V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST: u32 = 1;
pub const V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT: u32 = 2;
pub const V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV: u32 = 4;
pub const V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE: u32 = 8;
pub const V4L2_MPEG2_PIC_FLAG_INTRA_VLC: u32 = 16;
pub const V4L2_MPEG2_PIC_FLAG_ALT_SCAN: u32 = 32;
pub const V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST: u32 = 64;
pub const V4L2_MPEG2_PIC_FLAG_PROGRESSIVE: u32 = 128;
pub const V4L2_CID_STATELESS_MPEG2_PICTURE: u32 = 10750429;
pub const V4L2_CID_STATELESS_MPEG2_QUANTISATION: u32 = 10750430;
pub const V4L2_CID_STATELESS_HEVC_SPS: u32 = 10750608;
pub const V4L2_CID_STATELESS_HEVC_PPS: u32 = 10750609;
pub const V4L2_CID_STATELESS_HEVC_SLICE_PARAMS: u32 = 10750610;
pub const V4L2_CID_STATELESS_HEVC_SCALING_MATRIX: u32 = 10750611;
pub const V4L2_CID_STATELESS_HEVC_DECODE_PARAMS: u32 = 10750612;
pub const V4L2_CID_STATELESS_HEVC_DECODE_MODE: u32 = 10750613;
pub const V4L2_CID_STATELESS_HEVC_START_CODE: u32 = 10750614;
pub const V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS: u32 = 10750615;
pub const V4L2_HEVC_SLICE_TYPE_B: u32 = 0;
pub const V4L2_HEVC_SLICE_TYPE_P: u32 = 1;
pub const V4L2_HEVC_SLICE_TYPE_I: u32 = 2;
pub const V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE: u32 = 1;
pub const V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED: u32 = 2;
pub const V4L2_HEVC_SPS_FLAG_AMP_ENABLED: u32 = 4;
pub const V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET: u32 = 8;
pub const V4L2_HEVC_SPS_FLAG_PCM_ENABLED: u32 = 16;
pub const V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED: u32 = 32;
pub const V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT: u32 = 64;
pub const V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED: u32 = 128;
pub const V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED: u32 = 256;
pub const V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED: u32 = 1;
pub const V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT: u32 = 2;
pub const V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED: u32 = 4;
pub const V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT: u32 = 8;
pub const V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED: u32 = 16;
pub const V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED: u32 = 32;
pub const V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED: u32 = 64;
pub const V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT: u32 = 128;
pub const V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED: u32 = 256;
pub const V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED: u32 = 512;
pub const V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED: u32 = 1024;
pub const V4L2_HEVC_PPS_FLAG_TILES_ENABLED: u32 = 2048;
pub const V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED: u32 = 4096;
pub const V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED: u32 = 8192;
pub const V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED: u32 = 16384;
pub const V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED: u32 = 32768;
pub const V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER: u32 = 65536;
pub const V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT: u32 = 131072;
pub const V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT: u32 = 262144;
pub const V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT: u32 = 524288;
pub const V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING: u32 = 1048576;
pub const V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE: u32 = 1;
pub const V4L2_HEVC_SEI_PIC_STRUCT_FRAME: u32 = 0;
pub const V4L2_HEVC_SEI_PIC_STRUCT_TOP_FIELD: u32 = 1;
pub const V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_FIELD: u32 = 2;
pub const V4L2_HEVC_SEI_PIC_STRUCT_TOP_BOTTOM: u32 = 3;
pub const V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_TOP: u32 = 4;
pub const V4L2_HEVC_SEI_PIC_STRUCT_TOP_BOTTOM_TOP: u32 = 5;
pub const V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM: u32 = 6;
pub const V4L2_HEVC_SEI_PIC_STRUCT_FRAME_DOUBLING: u32 = 7;
pub const V4L2_HEVC_SEI_PIC_STRUCT_FRAME_TRIPLING: u32 = 8;
pub const V4L2_HEVC_SEI_PIC_STRUCT_TOP_PAIRED_PREVIOUS_BOTTOM: u32 = 9;
pub const V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_PAIRED_PREVIOUS_TOP: u32 = 10;
pub const V4L2_HEVC_SEI_PIC_STRUCT_TOP_PAIRED_NEXT_BOTTOM: u32 = 11;
pub const V4L2_HEVC_SEI_PIC_STRUCT_BOTTOM_PAIRED_NEXT_TOP: u32 = 12;
pub const V4L2_HEVC_DPB_ENTRIES_NUM_MAX: u32 = 16;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA: u32 = 1;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA: u32 = 2;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED: u32 = 4;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO: u32 = 8;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT: u32 = 16;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0: u32 = 32;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV: u32 = 64;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED: u32 = 128;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED: u32 = 256;
pub const V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT: u32 = 512;
pub const V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC: u32 = 1;
pub const V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC: u32 = 2;
pub const V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR: u32 = 4;
pub const V4L2_CID_COLORIMETRY_CLASS_BASE: u32 = 10815744;
pub const V4L2_CID_COLORIMETRY_CLASS: u32 = 10813441;
pub const V4L2_CID_COLORIMETRY_HDR10_CLL_INFO: u32 = 10815744;
pub const V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY: u32 = 10815745;
pub const V4L2_HDR10_MASTERING_PRIMARIES_X_LOW: u32 = 5;
pub const V4L2_HDR10_MASTERING_PRIMARIES_X_HIGH: u32 = 37000;
pub const V4L2_HDR10_MASTERING_PRIMARIES_Y_LOW: u32 = 5;
pub const V4L2_HDR10_MASTERING_PRIMARIES_Y_HIGH: u32 = 42000;
pub const V4L2_HDR10_MASTERING_WHITE_POINT_X_LOW: u32 = 5;
pub const V4L2_HDR10_MASTERING_WHITE_POINT_X_HIGH: u32 = 37000;
pub const V4L2_HDR10_MASTERING_WHITE_POINT_Y_LOW: u32 = 5;
pub const V4L2_HDR10_MASTERING_WHITE_POINT_Y_HIGH: u32 = 42000;
pub const V4L2_HDR10_MASTERING_MAX_LUMA_LOW: u32 = 50000;
pub const V4L2_HDR10_MASTERING_MAX_LUMA_HIGH: u32 = 100000000;
pub const V4L2_HDR10_MASTERING_MIN_LUMA_LOW: u32 = 1;
pub const V4L2_HDR10_MASTERING_MIN_LUMA_HIGH: u32 = 50000;
pub const V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED: u32 = 1;
pub const V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE: u32 = 2;
pub const V4L2_VP9_SEGMENTATION_FLAG_ENABLED: u32 = 1;
pub const V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP: u32 = 2;
pub const V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE: u32 = 4;
pub const V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA: u32 = 8;
pub const V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE: u32 = 16;
pub const V4L2_VP9_SEG_LVL_ALT_Q: u32 = 0;
pub const V4L2_VP9_SEG_LVL_ALT_L: u32 = 1;
pub const V4L2_VP9_SEG_LVL_REF_FRAME: u32 = 2;
pub const V4L2_VP9_SEG_LVL_SKIP: u32 = 3;
pub const V4L2_VP9_SEG_LVL_MAX: u32 = 4;
pub const V4L2_VP9_SEGMENT_FEATURE_ENABLED_MASK: u32 = 15;
pub const V4L2_VP9_FRAME_FLAG_KEY_FRAME: u32 = 1;
pub const V4L2_VP9_FRAME_FLAG_SHOW_FRAME: u32 = 2;
pub const V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT: u32 = 4;
pub const V4L2_VP9_FRAME_FLAG_INTRA_ONLY: u32 = 8;
pub const V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV: u32 = 16;
pub const V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX: u32 = 32;
pub const V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE: u32 = 64;
pub const V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING: u32 = 128;
pub const V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING: u32 = 256;
pub const V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING: u32 = 512;
pub const V4L2_VP9_SIGN_BIAS_LAST: u32 = 1;
pub const V4L2_VP9_SIGN_BIAS_GOLDEN: u32 = 2;
pub const V4L2_VP9_SIGN_BIAS_ALT: u32 = 4;
pub const V4L2_VP9_RESET_FRAME_CTX_NONE: u32 = 0;
pub const V4L2_VP9_RESET_FRAME_CTX_SPEC: u32 = 1;
pub const V4L2_VP9_RESET_FRAME_CTX_ALL: u32 = 2;
pub const V4L2_VP9_INTERP_FILTER_EIGHTTAP: u32 = 0;
pub const V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH: u32 = 1;
pub const V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP: u32 = 2;
pub const V4L2_VP9_INTERP_FILTER_BILINEAR: u32 = 3;
pub const V4L2_VP9_INTERP_FILTER_SWITCHABLE: u32 = 4;
pub const V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE: u32 = 0;
pub const V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE: u32 = 1;
pub const V4L2_VP9_REFERENCE_MODE_SELECT: u32 = 2;
pub const V4L2_VP9_PROFILE_MAX: u32 = 3;
pub const V4L2_CID_STATELESS_VP9_FRAME: u32 = 10750508;
pub const V4L2_VP9_NUM_FRAME_CTX: u32 = 4;
pub const V4L2_CID_STATELESS_VP9_COMPRESSED_HDR: u32 = 10750509;
pub const V4L2_VP9_TX_MODE_ONLY_4X4: u32 = 0;
pub const V4L2_VP9_TX_MODE_ALLOW_8X8: u32 = 1;
pub const V4L2_VP9_TX_MODE_ALLOW_16X16: u32 = 2;
pub const V4L2_VP9_TX_MODE_ALLOW_32X32: u32 = 3;
pub const V4L2_VP9_TX_MODE_SELECT: u32 = 4;
pub const V4L2_CTRL_CLASS_MPEG: u32 = 10027008;
pub const V4L2_CID_MPEG_CLASS: u32 = 10027009;
pub const V4L2_CID_MPEG_BASE: u32 = 10029312;
pub const V4L2_CID_MPEG_CX2341X_BASE: u32 = 10031104;
pub const V4L2_CID_MPEG_MFC51_BASE: u32 = 10031360;
pub const VIDEO_MAX_FRAME: u32 = 32;
pub const VIDEO_MAX_PLANES: u32 = 8;
pub const V4L2_CAP_VIDEO_CAPTURE: u32 = 1;
pub const V4L2_CAP_VIDEO_OUTPUT: u32 = 2;
pub const V4L2_CAP_VIDEO_OVERLAY: u32 = 4;
pub const V4L2_CAP_VBI_CAPTURE: u32 = 16;
pub const V4L2_CAP_VBI_OUTPUT: u32 = 32;
pub const V4L2_CAP_SLICED_VBI_CAPTURE: u32 = 64;
pub const V4L2_CAP_SLICED_VBI_OUTPUT: u32 = 128;
pub const V4L2_CAP_RDS_CAPTURE: u32 = 256;
pub const V4L2_CAP_VIDEO_OUTPUT_OVERLAY: u32 = 512;
pub const V4L2_CAP_HW_FREQ_SEEK: u32 = 1024;
pub const V4L2_CAP_RDS_OUTPUT: u32 = 2048;
pub const V4L2_CAP_VIDEO_CAPTURE_MPLANE: u32 = 4096;
pub const V4L2_CAP_VIDEO_OUTPUT_MPLANE: u32 = 8192;
pub const V4L2_CAP_VIDEO_M2M_MPLANE: u32 = 16384;
pub const V4L2_CAP_VIDEO_M2M: u32 = 32768;
pub const V4L2_CAP_TUNER: u32 = 65536;
pub const V4L2_CAP_AUDIO: u32 = 131072;
pub const V4L2_CAP_RADIO: u32 = 262144;
pub const V4L2_CAP_MODULATOR: u32 = 524288;
pub const V4L2_CAP_SDR_CAPTURE: u32 = 1048576;
pub const V4L2_CAP_EXT_PIX_FORMAT: u32 = 2097152;
pub const V4L2_CAP_SDR_OUTPUT: u32 = 4194304;
pub const V4L2_CAP_META_CAPTURE: u32 = 8388608;
pub const V4L2_CAP_READWRITE: u32 = 16777216;
pub const V4L2_CAP_STREAMING: u32 = 67108864;
pub const V4L2_CAP_META_OUTPUT: u32 = 134217728;
pub const V4L2_CAP_TOUCH: u32 = 268435456;
pub const V4L2_CAP_IO_MC: u32 = 536870912;
pub const V4L2_CAP_DEVICE_CAPS: u32 = 2147483648;
pub const V4L2_PIX_FMT_PRIV_MAGIC: u32 = 4276996862;
pub const V4L2_PIX_FMT_FLAG_PREMUL_ALPHA: u32 = 1;
pub const V4L2_PIX_FMT_FLAG_SET_CSC: u32 = 2;
pub const V4L2_FMT_FLAG_COMPRESSED: u32 = 1;
pub const V4L2_FMT_FLAG_EMULATED: u32 = 2;
pub const V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM: u32 = 4;
pub const V4L2_FMT_FLAG_DYN_RESOLUTION: u32 = 8;
pub const V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL: u32 = 16;
pub const V4L2_FMT_FLAG_CSC_COLORSPACE: u32 = 32;
pub const V4L2_FMT_FLAG_CSC_XFER_FUNC: u32 = 64;
pub const V4L2_FMT_FLAG_CSC_YCBCR_ENC: u32 = 128;
pub const V4L2_FMT_FLAG_CSC_HSV_ENC: u32 = 128;
pub const V4L2_FMT_FLAG_CSC_QUANTIZATION: u32 = 256;
pub const V4L2_TC_TYPE_24FPS: u32 = 1;
pub const V4L2_TC_TYPE_25FPS: u32 = 2;
pub const V4L2_TC_TYPE_30FPS: u32 = 3;
pub const V4L2_TC_TYPE_50FPS: u32 = 4;
pub const V4L2_TC_TYPE_60FPS: u32 = 5;
pub const V4L2_TC_FLAG_DROPFRAME: u32 = 1;
pub const V4L2_TC_FLAG_COLORFRAME: u32 = 2;
pub const V4L2_TC_USERBITS_field: u32 = 12;
pub const V4L2_TC_USERBITS_USERDEFINED: u32 = 0;
pub const V4L2_TC_USERBITS_8BITCHARS: u32 = 8;
pub const V4L2_JPEG_MARKER_DHT: u32 = 8;
pub const V4L2_JPEG_MARKER_DQT: u32 = 16;
pub const V4L2_JPEG_MARKER_DRI: u32 = 32;
pub const V4L2_JPEG_MARKER_COM: u32 = 64;
pub const V4L2_JPEG_MARKER_APP: u32 = 128;
pub const V4L2_MEMORY_FLAG_NON_COHERENT: u32 = 1;
pub const V4L2_BUF_CAP_SUPPORTS_MMAP: u32 = 1;
pub const V4L2_BUF_CAP_SUPPORTS_USERPTR: u32 = 2;
pub const V4L2_BUF_CAP_SUPPORTS_DMABUF: u32 = 4;
pub const V4L2_BUF_CAP_SUPPORTS_REQUESTS: u32 = 8;
pub const V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS: u32 = 16;
pub const V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF: u32 = 32;
pub const V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS: u32 = 64;
pub const V4L2_BUF_FLAG_MAPPED: u32 = 1;
pub const V4L2_BUF_FLAG_QUEUED: u32 = 2;
pub const V4L2_BUF_FLAG_DONE: u32 = 4;
pub const V4L2_BUF_FLAG_KEYFRAME: u32 = 8;
pub const V4L2_BUF_FLAG_PFRAME: u32 = 16;
pub const V4L2_BUF_FLAG_BFRAME: u32 = 32;
pub const V4L2_BUF_FLAG_ERROR: u32 = 64;
pub const V4L2_BUF_FLAG_IN_REQUEST: u32 = 128;
pub const V4L2_BUF_FLAG_TIMECODE: u32 = 256;
pub const V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF: u32 = 512;
pub const V4L2_BUF_FLAG_PREPARED: u32 = 1024;
pub const V4L2_BUF_FLAG_NO_CACHE_INVALIDATE: u32 = 2048;
pub const V4L2_BUF_FLAG_NO_CACHE_CLEAN: u32 = 4096;
pub const V4L2_BUF_FLAG_TIMESTAMP_MASK: u32 = 57344;
pub const V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN: u32 = 0;
pub const V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC: u32 = 8192;
pub const V4L2_BUF_FLAG_TIMESTAMP_COPY: u32 = 16384;
pub const V4L2_BUF_FLAG_TSTAMP_SRC_MASK: u32 = 458752;
pub const V4L2_BUF_FLAG_TSTAMP_SRC_EOF: u32 = 0;
pub const V4L2_BUF_FLAG_TSTAMP_SRC_SOE: u32 = 65536;
pub const V4L2_BUF_FLAG_LAST: u32 = 1048576;
pub const V4L2_BUF_FLAG_REQUEST_FD: u32 = 8388608;
pub const V4L2_FBUF_CAP_EXTERNOVERLAY: u32 = 1;
pub const V4L2_FBUF_CAP_CHROMAKEY: u32 = 2;
pub const V4L2_FBUF_CAP_LIST_CLIPPING: u32 = 4;
pub const V4L2_FBUF_CAP_BITMAP_CLIPPING: u32 = 8;
pub const V4L2_FBUF_CAP_LOCAL_ALPHA: u32 = 16;
pub const V4L2_FBUF_CAP_GLOBAL_ALPHA: u32 = 32;
pub const V4L2_FBUF_CAP_LOCAL_INV_ALPHA: u32 = 64;
pub const V4L2_FBUF_CAP_SRC_CHROMAKEY: u32 = 128;
pub const V4L2_FBUF_FLAG_PRIMARY: u32 = 1;
pub const V4L2_FBUF_FLAG_OVERLAY: u32 = 2;
pub const V4L2_FBUF_FLAG_CHROMAKEY: u32 = 4;
pub const V4L2_FBUF_FLAG_LOCAL_ALPHA: u32 = 8;
pub const V4L2_FBUF_FLAG_GLOBAL_ALPHA: u32 = 16;
pub const V4L2_FBUF_FLAG_LOCAL_INV_ALPHA: u32 = 32;
pub const V4L2_FBUF_FLAG_SRC_CHROMAKEY: u32 = 64;
pub const V4L2_MODE_HIGHQUALITY: u32 = 1;
pub const V4L2_CAP_TIMEPERFRAME: u32 = 4096;
pub const V4L2_STD_UNKNOWN: u32 = 0;
pub const V4L2_DV_PROGRESSIVE: u32 = 0;
pub const V4L2_DV_INTERLACED: u32 = 1;
pub const V4L2_DV_VSYNC_POS_POL: u32 = 1;
pub const V4L2_DV_HSYNC_POS_POL: u32 = 2;
pub const V4L2_DV_BT_STD_CEA861: u32 = 1;
pub const V4L2_DV_BT_STD_DMT: u32 = 2;
pub const V4L2_DV_BT_STD_CVT: u32 = 4;
pub const V4L2_DV_BT_STD_GTF: u32 = 8;
pub const V4L2_DV_BT_STD_SDI: u32 = 16;
pub const V4L2_DV_FL_REDUCED_BLANKING: u32 = 1;
pub const V4L2_DV_FL_CAN_REDUCE_FPS: u32 = 2;
pub const V4L2_DV_FL_REDUCED_FPS: u32 = 4;
pub const V4L2_DV_FL_HALF_LINE: u32 = 8;
pub const V4L2_DV_FL_IS_CE_VIDEO: u32 = 16;
pub const V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE: u32 = 32;
pub const V4L2_DV_FL_HAS_PICTURE_ASPECT: u32 = 64;
pub const V4L2_DV_FL_HAS_CEA861_VIC: u32 = 128;
pub const V4L2_DV_FL_HAS_HDMI_VIC: u32 = 256;
pub const V4L2_DV_FL_CAN_DETECT_REDUCED_FPS: u32 = 512;
pub const V4L2_DV_BT_656_1120: u32 = 0;
pub const V4L2_DV_BT_CAP_INTERLACED: u32 = 1;
pub const V4L2_DV_BT_CAP_PROGRESSIVE: u32 = 2;
pub const V4L2_DV_BT_CAP_REDUCED_BLANKING: u32 = 4;
pub const V4L2_DV_BT_CAP_CUSTOM: u32 = 8;
pub const V4L2_INPUT_TYPE_TUNER: u32 = 1;
pub const V4L2_INPUT_TYPE_CAMERA: u32 = 2;
pub const V4L2_INPUT_TYPE_TOUCH: u32 = 3;
pub const V4L2_IN_ST_NO_POWER: u32 = 1;
pub const V4L2_IN_ST_NO_SIGNAL: u32 = 2;
pub const V4L2_IN_ST_NO_COLOR: u32 = 4;
pub const V4L2_IN_ST_HFLIP: u32 = 16;
pub const V4L2_IN_ST_VFLIP: u32 = 32;
pub const V4L2_IN_ST_NO_H_LOCK: u32 = 256;
pub const V4L2_IN_ST_COLOR_KILL: u32 = 512;
pub const V4L2_IN_ST_NO_V_LOCK: u32 = 1024;
pub const V4L2_IN_ST_NO_STD_LOCK: u32 = 2048;
pub const V4L2_IN_ST_NO_SYNC: u32 = 65536;
pub const V4L2_IN_ST_NO_EQU: u32 = 131072;
pub const V4L2_IN_ST_NO_CARRIER: u32 = 262144;
pub const V4L2_IN_ST_MACROVISION: u32 = 16777216;
pub const V4L2_IN_ST_NO_ACCESS: u32 = 33554432;
pub const V4L2_IN_ST_VTR: u32 = 67108864;
pub const V4L2_IN_CAP_DV_TIMINGS: u32 = 2;
pub const V4L2_IN_CAP_CUSTOM_TIMINGS: u32 = 2;
pub const V4L2_IN_CAP_STD: u32 = 4;
pub const V4L2_IN_CAP_NATIVE_SIZE: u32 = 8;
pub const V4L2_OUTPUT_TYPE_MODULATOR: u32 = 1;
pub const V4L2_OUTPUT_TYPE_ANALOG: u32 = 2;
pub const V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY: u32 = 3;
pub const V4L2_OUT_CAP_DV_TIMINGS: u32 = 2;
pub const V4L2_OUT_CAP_CUSTOM_TIMINGS: u32 = 2;
pub const V4L2_OUT_CAP_STD: u32 = 4;
pub const V4L2_OUT_CAP_NATIVE_SIZE: u32 = 8;
pub const V4L2_CTRL_ID_MASK: u32 = 268435455;
pub const V4L2_CTRL_MAX_DIMS: u32 = 4;
pub const V4L2_CTRL_WHICH_CUR_VAL: u32 = 0;
pub const V4L2_CTRL_WHICH_DEF_VAL: u32 = 251658240;
pub const V4L2_CTRL_WHICH_REQUEST_VAL: u32 = 251723776;
pub const V4L2_CTRL_FLAG_DISABLED: u32 = 1;
pub const V4L2_CTRL_FLAG_GRABBED: u32 = 2;
pub const V4L2_CTRL_FLAG_READ_ONLY: u32 = 4;
pub const V4L2_CTRL_FLAG_UPDATE: u32 = 8;
pub const V4L2_CTRL_FLAG_INACTIVE: u32 = 16;
pub const V4L2_CTRL_FLAG_SLIDER: u32 = 32;
pub const V4L2_CTRL_FLAG_WRITE_ONLY: u32 = 64;
pub const V4L2_CTRL_FLAG_VOLATILE: u32 = 128;
pub const V4L2_CTRL_FLAG_HAS_PAYLOAD: u32 = 256;
pub const V4L2_CTRL_FLAG_EXECUTE_ON_WRITE: u32 = 512;
pub const V4L2_CTRL_FLAG_MODIFY_LAYOUT: u32 = 1024;
pub const V4L2_CTRL_FLAG_DYNAMIC_ARRAY: u32 = 2048;
pub const V4L2_CTRL_FLAG_NEXT_CTRL: u32 = 2147483648;
pub const V4L2_CTRL_FLAG_NEXT_COMPOUND: u32 = 1073741824;
pub const V4L2_CID_MAX_CTRLS: u32 = 1024;
pub const V4L2_CID_PRIVATE_BASE: u32 = 134217728;
pub const V4L2_TUNER_CAP_LOW: u32 = 1;
pub const V4L2_TUNER_CAP_NORM: u32 = 2;
pub const V4L2_TUNER_CAP_HWSEEK_BOUNDED: u32 = 4;
pub const V4L2_TUNER_CAP_HWSEEK_WRAP: u32 = 8;
pub const V4L2_TUNER_CAP_STEREO: u32 = 16;
pub const V4L2_TUNER_CAP_LANG2: u32 = 32;
pub const V4L2_TUNER_CAP_SAP: u32 = 32;
pub const V4L2_TUNER_CAP_LANG1: u32 = 64;
pub const V4L2_TUNER_CAP_RDS: u32 = 128;
pub const V4L2_TUNER_CAP_RDS_BLOCK_IO: u32 = 256;
pub const V4L2_TUNER_CAP_RDS_CONTROLS: u32 = 512;
pub const V4L2_TUNER_CAP_FREQ_BANDS: u32 = 1024;
pub const V4L2_TUNER_CAP_HWSEEK_PROG_LIM: u32 = 2048;
pub const V4L2_TUNER_CAP_1HZ: u32 = 4096;
pub const V4L2_TUNER_SUB_MONO: u32 = 1;
pub const V4L2_TUNER_SUB_STEREO: u32 = 2;
pub const V4L2_TUNER_SUB_LANG2: u32 = 4;
pub const V4L2_TUNER_SUB_SAP: u32 = 4;
pub const V4L2_TUNER_SUB_LANG1: u32 = 8;
pub const V4L2_TUNER_SUB_RDS: u32 = 16;
pub const V4L2_TUNER_MODE_MONO: u32 = 0;
pub const V4L2_TUNER_MODE_STEREO: u32 = 1;
pub const V4L2_TUNER_MODE_LANG2: u32 = 2;
pub const V4L2_TUNER_MODE_SAP: u32 = 2;
pub const V4L2_TUNER_MODE_LANG1: u32 = 3;
pub const V4L2_TUNER_MODE_LANG1_LANG2: u32 = 4;
pub const V4L2_BAND_MODULATION_VSB: u32 = 2;
pub const V4L2_BAND_MODULATION_FM: u32 = 4;
pub const V4L2_BAND_MODULATION_AM: u32 = 8;
pub const V4L2_RDS_BLOCK_MSK: u32 = 7;
pub const V4L2_RDS_BLOCK_A: u32 = 0;
pub const V4L2_RDS_BLOCK_B: u32 = 1;
pub const V4L2_RDS_BLOCK_C: u32 = 2;
pub const V4L2_RDS_BLOCK_D: u32 = 3;
pub const V4L2_RDS_BLOCK_C_ALT: u32 = 4;
pub const V4L2_RDS_BLOCK_INVALID: u32 = 7;
pub const V4L2_RDS_BLOCK_CORRECTED: u32 = 64;
pub const V4L2_RDS_BLOCK_ERROR: u32 = 128;
pub const V4L2_AUDCAP_STEREO: u32 = 1;
pub const V4L2_AUDCAP_AVL: u32 = 2;
pub const V4L2_AUDMODE_AVL: u32 = 1;
pub const V4L2_ENC_IDX_FRAME_I: u32 = 0;
pub const V4L2_ENC_IDX_FRAME_P: u32 = 1;
pub const V4L2_ENC_IDX_FRAME_B: u32 = 2;
pub const V4L2_ENC_IDX_FRAME_MASK: u32 = 15;
pub const V4L2_ENC_IDX_ENTRIES: u32 = 64;
pub const V4L2_ENC_CMD_START: u32 = 0;
pub const V4L2_ENC_CMD_STOP: u32 = 1;
pub const V4L2_ENC_CMD_PAUSE: u32 = 2;
pub const V4L2_ENC_CMD_RESUME: u32 = 3;
pub const V4L2_ENC_CMD_STOP_AT_GOP_END: u32 = 1;
pub const V4L2_DEC_CMD_START: u32 = 0;
pub const V4L2_DEC_CMD_STOP: u32 = 1;
pub const V4L2_DEC_CMD_PAUSE: u32 = 2;
pub const V4L2_DEC_CMD_RESUME: u32 = 3;
pub const V4L2_DEC_CMD_FLUSH: u32 = 4;
pub const V4L2_DEC_CMD_START_MUTE_AUDIO: u32 = 1;
pub const V4L2_DEC_CMD_PAUSE_TO_BLACK: u32 = 1;
pub const V4L2_DEC_CMD_STOP_TO_BLACK: u32 = 1;
pub const V4L2_DEC_CMD_STOP_IMMEDIATELY: u32 = 2;
pub const V4L2_DEC_START_FMT_NONE: u32 = 0;
pub const V4L2_DEC_START_FMT_GOP: u32 = 1;
pub const V4L2_VBI_UNSYNC: u32 = 1;
pub const V4L2_VBI_INTERLACED: u32 = 2;
pub const V4L2_VBI_ITU_525_F1_START: u32 = 1;
pub const V4L2_VBI_ITU_525_F2_START: u32 = 264;
pub const V4L2_VBI_ITU_625_F1_START: u32 = 1;
pub const V4L2_VBI_ITU_625_F2_START: u32 = 314;
pub const V4L2_SLICED_TELETEXT_B: u32 = 1;
pub const V4L2_SLICED_VPS: u32 = 1024;
pub const V4L2_SLICED_CAPTION_525: u32 = 4096;
pub const V4L2_SLICED_WSS_625: u32 = 16384;
pub const V4L2_SLICED_VBI_525: u32 = 4096;
pub const V4L2_SLICED_VBI_625: u32 = 17409;
pub const V4L2_MPEG_VBI_IVTV_TELETEXT_B: u32 = 1;
pub const V4L2_MPEG_VBI_IVTV_CAPTION_525: u32 = 4;
pub const V4L2_MPEG_VBI_IVTV_WSS_625: u32 = 5;
pub const V4L2_MPEG_VBI_IVTV_VPS: u32 = 7;
pub const V4L2_MPEG_VBI_IVTV_MAGIC0: &[u8; 5usize] = b"itv0\0";
pub const V4L2_MPEG_VBI_IVTV_MAGIC1: &[u8; 5usize] = b"ITV0\0";
pub const V4L2_EVENT_ALL: u32 = 0;
pub const V4L2_EVENT_VSYNC: u32 = 1;
pub const V4L2_EVENT_EOS: u32 = 2;
pub const V4L2_EVENT_CTRL: u32 = 3;
pub const V4L2_EVENT_FRAME_SYNC: u32 = 4;
pub const V4L2_EVENT_SOURCE_CHANGE: u32 = 5;
pub const V4L2_EVENT_MOTION_DET: u32 = 6;
pub const V4L2_EVENT_PRIVATE_START: u32 = 134217728;
pub const V4L2_EVENT_CTRL_CH_VALUE: u32 = 1;
pub const V4L2_EVENT_CTRL_CH_FLAGS: u32 = 2;
pub const V4L2_EVENT_CTRL_CH_RANGE: u32 = 4;
pub const V4L2_EVENT_CTRL_CH_DIMENSIONS: u32 = 8;
pub const V4L2_EVENT_SRC_CH_RESOLUTION: u32 = 1;
pub const V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ: u32 = 1;
pub const V4L2_EVENT_SUB_FL_SEND_INITIAL: u32 = 1;
pub const V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK: u32 = 2;
pub const V4L2_CHIP_MATCH_BRIDGE: u32 = 0;
pub const V4L2_CHIP_MATCH_SUBDEV: u32 = 4;
pub const V4L2_CHIP_MATCH_HOST: u32 = 0;
pub const V4L2_CHIP_MATCH_I2C_DRIVER: u32 = 1;
pub const V4L2_CHIP_MATCH_I2C_ADDR: u32 = 2;
pub const V4L2_CHIP_MATCH_AC97: u32 = 3;
pub const V4L2_CHIP_FL_READABLE: u32 = 1;
pub const V4L2_CHIP_FL_WRITABLE: u32 = 2;
pub const BASE_VIDIOC_PRIVATE: u32 = 192;
pub const V4L2_CAP_ASYNCIO: u32 = 33554432;
pub const V4L2_FWHT_FL_COMPONENTS_NUM_MSK: u32 = 458752;
pub const V4L2_FWHT_FL_PIXENC_MSK: u32 = 1572864;
pub type __u_char = ::std::os::raw::c_uchar;
pub type __u_short = ::std::os::raw::c_ushort;
pub type __u_int = ::std::os::raw::c_uint;
pub type __u_long = ::std::os::raw::c_ulong;
pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_longlong;
pub type __uint64_t = ::std::os::raw::c_ulonglong;
pub type __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
pub type __quad_t = ::std::os::raw::c_longlong;
pub type __u_quad_t = ::std::os::raw::c_ulonglong;
pub type __intmax_t = ::std::os::raw::c_longlong;
pub type __uintmax_t = ::std::os::raw::c_ulonglong;
pub type __dev_t = __uint64_t;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __ino64_t = __uint64_t;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_uint;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = __int64_t;
pub type __pid_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
pub __val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__fsid_t))
);
assert_eq!(
::std::mem::align_of::<__fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__fsid_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__fsid_t),
"::",
stringify!(__val)
)
);
}
pub type __clock_t = ::std::os::raw::c_long;
pub type __rlim_t = ::std::os::raw::c_ulong;
pub type __rlim64_t = __uint64_t;
pub type __id_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __useconds_t = ::std::os::raw::c_uint;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __daddr_t = ::std::os::raw::c_int;
pub type __key_t = ::std::os::raw::c_int;
pub type __clockid_t = ::std::os::raw::c_int;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __blkcnt64_t = __int64_t;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = __uint64_t;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = __uint64_t;
pub type __fsword_t = ::std::os::raw::c_int;
pub type __ssize_t = ::std::os::raw::c_int;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::std::os::raw::c_char;
pub type __intptr_t = ::std::os::raw::c_int;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
pub type __time64_t = __int64_t;
pub type time_t = __time_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
pub tv_sec: __time_t,
pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<timeval>(),
8usize,
concat!("Size of: ", stringify!(timeval))
);
assert_eq!(
::std::mem::align_of::<timeval>(),
4usize,
concat!("Alignment of ", stringify!(timeval))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_usec)
)
);
}
pub type suseconds_t = __suseconds_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
pub __val: [::std::os::raw::c_ulong; 32usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__sigset_t>(),
128usize,
concat!("Size of: ", stringify!(__sigset_t))
);
assert_eq!(
::std::mem::align_of::<__sigset_t>(),
4usize,
concat!("Alignment of ", stringify!(__sigset_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sigset_t),
"::",
stringify!(__val)
)
);
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<timespec>(),
8usize,
concat!("Size of: ", stringify!(timespec))
);
assert_eq!(
::std::mem::align_of::<timespec>(),
4usize,
concat!("Alignment of ", stringify!(timespec))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_nsec)
)
);
}
pub type __fd_mask = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
pub __fds_bits: [__fd_mask; 32usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<fd_set>(),
128usize,
concat!("Size of: ", stringify!(fd_set))
);
assert_eq!(
::std::mem::align_of::<fd_set>(),
4usize,
concat!("Alignment of ", stringify!(fd_set))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fd_set),
"::",
stringify!(__fds_bits)
)
);
}
pub type fd_mask = __fd_mask;
extern "C" {
pub fn select(
__nfds: ::std::os::raw::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *mut timeval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pselect(
__nfds: ::std::os::raw::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *const timespec,
__sigmask: *const __sigset_t,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timezone {
pub tz_minuteswest: ::std::os::raw::c_int,
pub tz_dsttime: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_timezone() {
const UNINIT: ::std::mem::MaybeUninit<timezone> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<timezone>(),
8usize,
concat!("Size of: ", stringify!(timezone))
);
assert_eq!(
::std::mem::align_of::<timezone>(),
4usize,
concat!("Alignment of ", stringify!(timezone))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tz_minuteswest) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timezone),
"::",
stringify!(tz_minuteswest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tz_dsttime) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(timezone),
"::",
stringify!(tz_dsttime)
)
);
}
extern "C" {
pub fn gettimeofday(
__tv: *mut timeval,
__tz: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn adjtime(__delta: *const timeval, __olddelta: *mut timeval) -> ::std::os::raw::c_int;
}
pub const __itimer_which_ITIMER_REAL: __itimer_which = 0;
pub const __itimer_which_ITIMER_VIRTUAL: __itimer_which = 1;
pub const __itimer_which_ITIMER_PROF: __itimer_which = 2;
pub type __itimer_which = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itimerval {
pub it_interval: timeval,
pub it_value: timeval,
}
#[test]
fn bindgen_test_layout_itimerval() {
const UNINIT: ::std::mem::MaybeUninit<itimerval> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<itimerval>(),
16usize,
concat!("Size of: ", stringify!(itimerval))
);
assert_eq!(
::std::mem::align_of::<itimerval>(),
4usize,
concat!("Alignment of ", stringify!(itimerval))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(itimerval),
"::",
stringify!(it_interval)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(itimerval),
"::",
stringify!(it_value)
)
);
}
pub type __itimer_which_t = ::std::os::raw::c_int;
extern "C" {
pub fn getitimer(__which: __itimer_which_t, __value: *mut itimerval) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setitimer(
__which: __itimer_which_t,
__new: *const itimerval,
__old: *mut itimerval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn utimes(
__file: *const ::std::os::raw::c_char,
__tvp: *const timeval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn lutimes(
__file: *const ::std::os::raw::c_char,
__tvp: *const timeval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn futimes(__fd: ::std::os::raw::c_int, __tvp: *const timeval) -> ::std::os::raw::c_int;
}
pub type __s8 = ::std::os::raw::c_schar;
pub type __u8 = ::std::os::raw::c_uchar;
pub type __s16 = ::std::os::raw::c_short;
pub type __u16 = ::std::os::raw::c_ushort;
pub type __s32 = ::std::os::raw::c_int;
pub type __u32 = ::std::os::raw::c_uint;
pub type __s64 = ::std::os::raw::c_longlong;
pub type __u64 = ::std::os::raw::c_ulonglong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fd_set {
pub fds_bits: [::std::os::raw::c_ulong; 32usize],
}
#[test]
fn bindgen_test_layout___kernel_fd_set() {
const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__kernel_fd_set>(),
128usize,
concat!("Size of: ", stringify!(__kernel_fd_set))
);
assert_eq!(
::std::mem::align_of::<__kernel_fd_set>(),
4usize,
concat!("Alignment of ", stringify!(__kernel_fd_set))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__kernel_fd_set),
"::",
stringify!(fds_bits)
)
);
}
pub type __kernel_sighandler_t =
::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
pub type __kernel_key_t = ::std::os::raw::c_int;
pub type __kernel_mqd_t = ::std::os::raw::c_int;
pub type __kernel_mode_t = ::std::os::raw::c_ushort;
pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
pub type __kernel_uid_t = ::std::os::raw::c_ushort;
pub type __kernel_gid_t = ::std::os::raw::c_ushort;
pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
pub type __kernel_long_t = ::std::os::raw::c_long;
pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
pub type __kernel_ino_t = __kernel_ulong_t;
pub type __kernel_pid_t = ::std::os::raw::c_int;
pub type __kernel_suseconds_t = __kernel_long_t;
pub type __kernel_daddr_t = ::std::os::raw::c_int;
pub type __kernel_uid32_t = ::std::os::raw::c_uint;
pub type __kernel_gid32_t = ::std::os::raw::c_uint;
pub type __kernel_old_uid_t = __kernel_uid_t;
pub type __kernel_old_gid_t = __kernel_gid_t;
pub type __kernel_size_t = ::std::os::raw::c_uint;
pub type __kernel_ssize_t = ::std::os::raw::c_int;
pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fsid_t {
pub val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___kernel_fsid_t() {
const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__kernel_fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__kernel_fsid_t))
);
assert_eq!(
::std::mem::align_of::<__kernel_fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__kernel_fsid_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__kernel_fsid_t),
"::",
stringify!(val)
)
);
}
pub type __kernel_off_t = __kernel_long_t;
pub type __kernel_loff_t = ::std::os::raw::c_longlong;
pub type __kernel_old_time_t = __kernel_long_t;
pub type __kernel_time_t = __kernel_long_t;
pub type __kernel_time64_t = ::std::os::raw::c_longlong;
pub type __kernel_clock_t = __kernel_long_t;
pub type __kernel_timer_t = ::std::os::raw::c_int;
pub type __kernel_clockid_t = ::std::os::raw::c_int;
pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
pub type __le16 = __u16;
pub type __be16 = __u16;
pub type __le32 = __u32;
pub type __be32 = __u32;
pub type __le64 = __u64;
pub type __be64 = __u64;
pub type __sum16 = __u16;
pub type __wsum = __u32;
pub type __poll_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_edid {
pub pad: __u32,
pub start_block: __u32,
pub blocks: __u32,
pub reserved: [__u32; 5usize],
pub edid: *mut __u8,
}
#[test]
fn bindgen_test_layout_v4l2_edid() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_edid> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_edid>(),
36usize,
concat!("Size of: ", stringify!(v4l2_edid))
);
assert_eq!(
::std::mem::align_of::<v4l2_edid>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_edid))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_edid),
"::",
stringify!(pad)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start_block) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_edid),
"::",
stringify!(start_block)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).blocks) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_edid),
"::",
stringify!(blocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_edid),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).edid) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_edid),
"::",
stringify!(edid)
)
);
}
pub const v4l2_power_line_frequency_V4L2_CID_POWER_LINE_FREQUENCY_DISABLED:
v4l2_power_line_frequency = 0;
pub const v4l2_power_line_frequency_V4L2_CID_POWER_LINE_FREQUENCY_50HZ: v4l2_power_line_frequency =
1;
pub const v4l2_power_line_frequency_V4L2_CID_POWER_LINE_FREQUENCY_60HZ: v4l2_power_line_frequency =
2;
pub const v4l2_power_line_frequency_V4L2_CID_POWER_LINE_FREQUENCY_AUTO: v4l2_power_line_frequency =
3;
pub type v4l2_power_line_frequency = ::std::os::raw::c_uint;
pub const v4l2_colorfx_V4L2_COLORFX_NONE: v4l2_colorfx = 0;
pub const v4l2_colorfx_V4L2_COLORFX_BW: v4l2_colorfx = 1;
pub const v4l2_colorfx_V4L2_COLORFX_SEPIA: v4l2_colorfx = 2;
pub const v4l2_colorfx_V4L2_COLORFX_NEGATIVE: v4l2_colorfx = 3;
pub const v4l2_colorfx_V4L2_COLORFX_EMBOSS: v4l2_colorfx = 4;
pub const v4l2_colorfx_V4L2_COLORFX_SKETCH: v4l2_colorfx = 5;
pub const v4l2_colorfx_V4L2_COLORFX_SKY_BLUE: v4l2_colorfx = 6;
pub const v4l2_colorfx_V4L2_COLORFX_GRASS_GREEN: v4l2_colorfx = 7;
pub const v4l2_colorfx_V4L2_COLORFX_SKIN_WHITEN: v4l2_colorfx = 8;
pub const v4l2_colorfx_V4L2_COLORFX_VIVID: v4l2_colorfx = 9;
pub const v4l2_colorfx_V4L2_COLORFX_AQUA: v4l2_colorfx = 10;
pub const v4l2_colorfx_V4L2_COLORFX_ART_FREEZE: v4l2_colorfx = 11;
pub const v4l2_colorfx_V4L2_COLORFX_SILHOUETTE: v4l2_colorfx = 12;
pub const v4l2_colorfx_V4L2_COLORFX_SOLARIZATION: v4l2_colorfx = 13;
pub const v4l2_colorfx_V4L2_COLORFX_ANTIQUE: v4l2_colorfx = 14;
pub const v4l2_colorfx_V4L2_COLORFX_SET_CBCR: v4l2_colorfx = 15;
pub const v4l2_colorfx_V4L2_COLORFX_SET_RGB: v4l2_colorfx = 16;
pub type v4l2_colorfx = ::std::os::raw::c_uint;
pub const v4l2_mpeg_stream_type_V4L2_MPEG_STREAM_TYPE_MPEG2_PS: v4l2_mpeg_stream_type = 0;
pub const v4l2_mpeg_stream_type_V4L2_MPEG_STREAM_TYPE_MPEG2_TS: v4l2_mpeg_stream_type = 1;
pub const v4l2_mpeg_stream_type_V4L2_MPEG_STREAM_TYPE_MPEG1_SS: v4l2_mpeg_stream_type = 2;
pub const v4l2_mpeg_stream_type_V4L2_MPEG_STREAM_TYPE_MPEG2_DVD: v4l2_mpeg_stream_type = 3;
pub const v4l2_mpeg_stream_type_V4L2_MPEG_STREAM_TYPE_MPEG1_VCD: v4l2_mpeg_stream_type = 4;
pub const v4l2_mpeg_stream_type_V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD: v4l2_mpeg_stream_type = 5;
pub type v4l2_mpeg_stream_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_stream_vbi_fmt_V4L2_MPEG_STREAM_VBI_FMT_NONE: v4l2_mpeg_stream_vbi_fmt = 0;
pub const v4l2_mpeg_stream_vbi_fmt_V4L2_MPEG_STREAM_VBI_FMT_IVTV: v4l2_mpeg_stream_vbi_fmt = 1;
pub type v4l2_mpeg_stream_vbi_fmt = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_sampling_freq_V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100:
v4l2_mpeg_audio_sampling_freq = 0;
pub const v4l2_mpeg_audio_sampling_freq_V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000:
v4l2_mpeg_audio_sampling_freq = 1;
pub const v4l2_mpeg_audio_sampling_freq_V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000:
v4l2_mpeg_audio_sampling_freq = 2;
pub type v4l2_mpeg_audio_sampling_freq = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_encoding_V4L2_MPEG_AUDIO_ENCODING_LAYER_1: v4l2_mpeg_audio_encoding = 0;
pub const v4l2_mpeg_audio_encoding_V4L2_MPEG_AUDIO_ENCODING_LAYER_2: v4l2_mpeg_audio_encoding = 1;
pub const v4l2_mpeg_audio_encoding_V4L2_MPEG_AUDIO_ENCODING_LAYER_3: v4l2_mpeg_audio_encoding = 2;
pub const v4l2_mpeg_audio_encoding_V4L2_MPEG_AUDIO_ENCODING_AAC: v4l2_mpeg_audio_encoding = 3;
pub const v4l2_mpeg_audio_encoding_V4L2_MPEG_AUDIO_ENCODING_AC3: v4l2_mpeg_audio_encoding = 4;
pub type v4l2_mpeg_audio_encoding = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_32K: v4l2_mpeg_audio_l1_bitrate = 0;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_64K: v4l2_mpeg_audio_l1_bitrate = 1;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_96K: v4l2_mpeg_audio_l1_bitrate = 2;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_128K: v4l2_mpeg_audio_l1_bitrate =
3;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_160K: v4l2_mpeg_audio_l1_bitrate =
4;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_192K: v4l2_mpeg_audio_l1_bitrate =
5;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_224K: v4l2_mpeg_audio_l1_bitrate =
6;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_256K: v4l2_mpeg_audio_l1_bitrate =
7;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_288K: v4l2_mpeg_audio_l1_bitrate =
8;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_320K: v4l2_mpeg_audio_l1_bitrate =
9;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_352K: v4l2_mpeg_audio_l1_bitrate =
10;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_384K: v4l2_mpeg_audio_l1_bitrate =
11;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_416K: v4l2_mpeg_audio_l1_bitrate =
12;
pub const v4l2_mpeg_audio_l1_bitrate_V4L2_MPEG_AUDIO_L1_BITRATE_448K: v4l2_mpeg_audio_l1_bitrate =
13;
pub type v4l2_mpeg_audio_l1_bitrate = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_32K: v4l2_mpeg_audio_l2_bitrate = 0;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_48K: v4l2_mpeg_audio_l2_bitrate = 1;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_56K: v4l2_mpeg_audio_l2_bitrate = 2;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_64K: v4l2_mpeg_audio_l2_bitrate = 3;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_80K: v4l2_mpeg_audio_l2_bitrate = 4;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_96K: v4l2_mpeg_audio_l2_bitrate = 5;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_112K: v4l2_mpeg_audio_l2_bitrate =
6;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_128K: v4l2_mpeg_audio_l2_bitrate =
7;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_160K: v4l2_mpeg_audio_l2_bitrate =
8;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_192K: v4l2_mpeg_audio_l2_bitrate =
9;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_224K: v4l2_mpeg_audio_l2_bitrate =
10;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_256K: v4l2_mpeg_audio_l2_bitrate =
11;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_320K: v4l2_mpeg_audio_l2_bitrate =
12;
pub const v4l2_mpeg_audio_l2_bitrate_V4L2_MPEG_AUDIO_L2_BITRATE_384K: v4l2_mpeg_audio_l2_bitrate =
13;
pub type v4l2_mpeg_audio_l2_bitrate = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_32K: v4l2_mpeg_audio_l3_bitrate = 0;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_40K: v4l2_mpeg_audio_l3_bitrate = 1;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_48K: v4l2_mpeg_audio_l3_bitrate = 2;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_56K: v4l2_mpeg_audio_l3_bitrate = 3;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_64K: v4l2_mpeg_audio_l3_bitrate = 4;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_80K: v4l2_mpeg_audio_l3_bitrate = 5;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_96K: v4l2_mpeg_audio_l3_bitrate = 6;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_112K: v4l2_mpeg_audio_l3_bitrate =
7;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_128K: v4l2_mpeg_audio_l3_bitrate =
8;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_160K: v4l2_mpeg_audio_l3_bitrate =
9;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_192K: v4l2_mpeg_audio_l3_bitrate =
10;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_224K: v4l2_mpeg_audio_l3_bitrate =
11;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_256K: v4l2_mpeg_audio_l3_bitrate =
12;
pub const v4l2_mpeg_audio_l3_bitrate_V4L2_MPEG_AUDIO_L3_BITRATE_320K: v4l2_mpeg_audio_l3_bitrate =
13;
pub type v4l2_mpeg_audio_l3_bitrate = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_mode_V4L2_MPEG_AUDIO_MODE_STEREO: v4l2_mpeg_audio_mode = 0;
pub const v4l2_mpeg_audio_mode_V4L2_MPEG_AUDIO_MODE_JOINT_STEREO: v4l2_mpeg_audio_mode = 1;
pub const v4l2_mpeg_audio_mode_V4L2_MPEG_AUDIO_MODE_DUAL: v4l2_mpeg_audio_mode = 2;
pub const v4l2_mpeg_audio_mode_V4L2_MPEG_AUDIO_MODE_MONO: v4l2_mpeg_audio_mode = 3;
pub type v4l2_mpeg_audio_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_mode_extension_V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4:
v4l2_mpeg_audio_mode_extension = 0;
pub const v4l2_mpeg_audio_mode_extension_V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8:
v4l2_mpeg_audio_mode_extension = 1;
pub const v4l2_mpeg_audio_mode_extension_V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12:
v4l2_mpeg_audio_mode_extension = 2;
pub const v4l2_mpeg_audio_mode_extension_V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16:
v4l2_mpeg_audio_mode_extension = 3;
pub type v4l2_mpeg_audio_mode_extension = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_emphasis_V4L2_MPEG_AUDIO_EMPHASIS_NONE: v4l2_mpeg_audio_emphasis = 0;
pub const v4l2_mpeg_audio_emphasis_V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS: v4l2_mpeg_audio_emphasis =
1;
pub const v4l2_mpeg_audio_emphasis_V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17: v4l2_mpeg_audio_emphasis = 2;
pub type v4l2_mpeg_audio_emphasis = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_crc_V4L2_MPEG_AUDIO_CRC_NONE: v4l2_mpeg_audio_crc = 0;
pub const v4l2_mpeg_audio_crc_V4L2_MPEG_AUDIO_CRC_CRC16: v4l2_mpeg_audio_crc = 1;
pub type v4l2_mpeg_audio_crc = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_32K: v4l2_mpeg_audio_ac3_bitrate =
0;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_40K: v4l2_mpeg_audio_ac3_bitrate =
1;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_48K: v4l2_mpeg_audio_ac3_bitrate =
2;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_56K: v4l2_mpeg_audio_ac3_bitrate =
3;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_64K: v4l2_mpeg_audio_ac3_bitrate =
4;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_80K: v4l2_mpeg_audio_ac3_bitrate =
5;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_96K: v4l2_mpeg_audio_ac3_bitrate =
6;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_112K:
v4l2_mpeg_audio_ac3_bitrate = 7;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_128K:
v4l2_mpeg_audio_ac3_bitrate = 8;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_160K:
v4l2_mpeg_audio_ac3_bitrate = 9;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_192K:
v4l2_mpeg_audio_ac3_bitrate = 10;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_224K:
v4l2_mpeg_audio_ac3_bitrate = 11;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_256K:
v4l2_mpeg_audio_ac3_bitrate = 12;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_320K:
v4l2_mpeg_audio_ac3_bitrate = 13;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_384K:
v4l2_mpeg_audio_ac3_bitrate = 14;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_448K:
v4l2_mpeg_audio_ac3_bitrate = 15;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_512K:
v4l2_mpeg_audio_ac3_bitrate = 16;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_576K:
v4l2_mpeg_audio_ac3_bitrate = 17;
pub const v4l2_mpeg_audio_ac3_bitrate_V4L2_MPEG_AUDIO_AC3_BITRATE_640K:
v4l2_mpeg_audio_ac3_bitrate = 18;
pub type v4l2_mpeg_audio_ac3_bitrate = ::std::os::raw::c_uint;
pub const v4l2_mpeg_audio_dec_playback_V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO:
v4l2_mpeg_audio_dec_playback = 0;
pub const v4l2_mpeg_audio_dec_playback_V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO:
v4l2_mpeg_audio_dec_playback = 1;
pub const v4l2_mpeg_audio_dec_playback_V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT:
v4l2_mpeg_audio_dec_playback = 2;
pub const v4l2_mpeg_audio_dec_playback_V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT:
v4l2_mpeg_audio_dec_playback = 3;
pub const v4l2_mpeg_audio_dec_playback_V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO:
v4l2_mpeg_audio_dec_playback = 4;
pub const v4l2_mpeg_audio_dec_playback_V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO:
v4l2_mpeg_audio_dec_playback = 5;
pub type v4l2_mpeg_audio_dec_playback = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_encoding_V4L2_MPEG_VIDEO_ENCODING_MPEG_1: v4l2_mpeg_video_encoding = 0;
pub const v4l2_mpeg_video_encoding_V4L2_MPEG_VIDEO_ENCODING_MPEG_2: v4l2_mpeg_video_encoding = 1;
pub const v4l2_mpeg_video_encoding_V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC: v4l2_mpeg_video_encoding =
2;
pub type v4l2_mpeg_video_encoding = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_aspect_V4L2_MPEG_VIDEO_ASPECT_1x1: v4l2_mpeg_video_aspect = 0;
pub const v4l2_mpeg_video_aspect_V4L2_MPEG_VIDEO_ASPECT_4x3: v4l2_mpeg_video_aspect = 1;
pub const v4l2_mpeg_video_aspect_V4L2_MPEG_VIDEO_ASPECT_16x9: v4l2_mpeg_video_aspect = 2;
pub const v4l2_mpeg_video_aspect_V4L2_MPEG_VIDEO_ASPECT_221x100: v4l2_mpeg_video_aspect = 3;
pub type v4l2_mpeg_video_aspect = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_bitrate_mode_V4L2_MPEG_VIDEO_BITRATE_MODE_VBR:
v4l2_mpeg_video_bitrate_mode = 0;
pub const v4l2_mpeg_video_bitrate_mode_V4L2_MPEG_VIDEO_BITRATE_MODE_CBR:
v4l2_mpeg_video_bitrate_mode = 1;
pub const v4l2_mpeg_video_bitrate_mode_V4L2_MPEG_VIDEO_BITRATE_MODE_CQ:
v4l2_mpeg_video_bitrate_mode = 2;
pub type v4l2_mpeg_video_bitrate_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_header_mode_V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE:
v4l2_mpeg_video_header_mode = 0;
pub const v4l2_mpeg_video_header_mode_V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME:
v4l2_mpeg_video_header_mode = 1;
pub type v4l2_mpeg_video_header_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_multi_slice_mode_V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE:
v4l2_mpeg_video_multi_slice_mode = 0;
pub const v4l2_mpeg_video_multi_slice_mode_V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB:
v4l2_mpeg_video_multi_slice_mode = 1;
pub const v4l2_mpeg_video_multi_slice_mode_V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES:
v4l2_mpeg_video_multi_slice_mode = 2;
pub const v4l2_mpeg_video_multi_slice_mode_V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB:
v4l2_mpeg_video_multi_slice_mode = 1;
pub const v4l2_mpeg_video_multi_slice_mode_V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES:
v4l2_mpeg_video_multi_slice_mode = 2;
pub type v4l2_mpeg_video_multi_slice_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_intra_refresh_period_type_V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM : v4l2_mpeg_video_intra_refresh_period_type = 0 ;
pub const v4l2_mpeg_video_intra_refresh_period_type_V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC : v4l2_mpeg_video_intra_refresh_period_type = 1 ;
pub type v4l2_mpeg_video_intra_refresh_period_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_mpeg2_level_V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW: v4l2_mpeg_video_mpeg2_level =
0;
pub const v4l2_mpeg_video_mpeg2_level_V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN:
v4l2_mpeg_video_mpeg2_level = 1;
pub const v4l2_mpeg_video_mpeg2_level_V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440:
v4l2_mpeg_video_mpeg2_level = 2;
pub const v4l2_mpeg_video_mpeg2_level_V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH:
v4l2_mpeg_video_mpeg2_level = 3;
pub type v4l2_mpeg_video_mpeg2_level = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_mpeg2_profile_V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE:
v4l2_mpeg_video_mpeg2_profile = 0;
pub const v4l2_mpeg_video_mpeg2_profile_V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN:
v4l2_mpeg_video_mpeg2_profile = 1;
pub const v4l2_mpeg_video_mpeg2_profile_V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE:
v4l2_mpeg_video_mpeg2_profile = 2;
pub const v4l2_mpeg_video_mpeg2_profile_V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE:
v4l2_mpeg_video_mpeg2_profile = 3;
pub const v4l2_mpeg_video_mpeg2_profile_V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH:
v4l2_mpeg_video_mpeg2_profile = 4;
pub const v4l2_mpeg_video_mpeg2_profile_V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW:
v4l2_mpeg_video_mpeg2_profile = 5;
pub type v4l2_mpeg_video_mpeg2_profile = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_entropy_mode_V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC:
v4l2_mpeg_video_h264_entropy_mode = 0;
pub const v4l2_mpeg_video_h264_entropy_mode_V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC:
v4l2_mpeg_video_h264_entropy_mode = 1;
pub type v4l2_mpeg_video_h264_entropy_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_1_0: v4l2_mpeg_video_h264_level = 0;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_1B: v4l2_mpeg_video_h264_level = 1;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_1_1: v4l2_mpeg_video_h264_level = 2;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_1_2: v4l2_mpeg_video_h264_level = 3;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_1_3: v4l2_mpeg_video_h264_level = 4;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_2_0: v4l2_mpeg_video_h264_level = 5;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_2_1: v4l2_mpeg_video_h264_level = 6;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_2_2: v4l2_mpeg_video_h264_level = 7;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_3_0: v4l2_mpeg_video_h264_level = 8;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_3_1: v4l2_mpeg_video_h264_level = 9;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_3_2: v4l2_mpeg_video_h264_level =
10;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_4_0: v4l2_mpeg_video_h264_level =
11;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_4_1: v4l2_mpeg_video_h264_level =
12;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_4_2: v4l2_mpeg_video_h264_level =
13;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_5_0: v4l2_mpeg_video_h264_level =
14;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_5_1: v4l2_mpeg_video_h264_level =
15;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_5_2: v4l2_mpeg_video_h264_level =
16;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_6_0: v4l2_mpeg_video_h264_level =
17;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_6_1: v4l2_mpeg_video_h264_level =
18;
pub const v4l2_mpeg_video_h264_level_V4L2_MPEG_VIDEO_H264_LEVEL_6_2: v4l2_mpeg_video_h264_level =
19;
pub type v4l2_mpeg_video_h264_level = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_loop_filter_mode_V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED:
v4l2_mpeg_video_h264_loop_filter_mode = 0;
pub const v4l2_mpeg_video_h264_loop_filter_mode_V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED:
v4l2_mpeg_video_h264_loop_filter_mode = 1;
pub const v4l2_mpeg_video_h264_loop_filter_mode_V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY : v4l2_mpeg_video_h264_loop_filter_mode = 2 ;
pub type v4l2_mpeg_video_h264_loop_filter_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE:
v4l2_mpeg_video_h264_profile = 0;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE:
v4l2_mpeg_video_h264_profile = 1;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_MAIN:
v4l2_mpeg_video_h264_profile = 2;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED:
v4l2_mpeg_video_h264_profile = 3;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_HIGH:
v4l2_mpeg_video_h264_profile = 4;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10:
v4l2_mpeg_video_h264_profile = 5;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422:
v4l2_mpeg_video_h264_profile = 6;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE:
v4l2_mpeg_video_h264_profile = 7;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA:
v4l2_mpeg_video_h264_profile = 8;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA:
v4l2_mpeg_video_h264_profile = 9;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA:
v4l2_mpeg_video_h264_profile = 10;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA:
v4l2_mpeg_video_h264_profile = 11;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE:
v4l2_mpeg_video_h264_profile = 12;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH:
v4l2_mpeg_video_h264_profile = 13;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA:
v4l2_mpeg_video_h264_profile = 14;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH:
v4l2_mpeg_video_h264_profile = 15;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH:
v4l2_mpeg_video_h264_profile = 16;
pub const v4l2_mpeg_video_h264_profile_V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH:
v4l2_mpeg_video_h264_profile = 17;
pub type v4l2_mpeg_video_h264_profile = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED:
v4l2_mpeg_video_h264_vui_sar_idc = 0;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1:
v4l2_mpeg_video_h264_vui_sar_idc = 1;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11:
v4l2_mpeg_video_h264_vui_sar_idc = 2;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11:
v4l2_mpeg_video_h264_vui_sar_idc = 3;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11:
v4l2_mpeg_video_h264_vui_sar_idc = 4;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33:
v4l2_mpeg_video_h264_vui_sar_idc = 5;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11:
v4l2_mpeg_video_h264_vui_sar_idc = 6;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11:
v4l2_mpeg_video_h264_vui_sar_idc = 7;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11:
v4l2_mpeg_video_h264_vui_sar_idc = 8;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33:
v4l2_mpeg_video_h264_vui_sar_idc = 9;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11:
v4l2_mpeg_video_h264_vui_sar_idc = 10;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11:
v4l2_mpeg_video_h264_vui_sar_idc = 11;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33:
v4l2_mpeg_video_h264_vui_sar_idc = 12;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99:
v4l2_mpeg_video_h264_vui_sar_idc = 13;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3:
v4l2_mpeg_video_h264_vui_sar_idc = 14;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2:
v4l2_mpeg_video_h264_vui_sar_idc = 15;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1:
v4l2_mpeg_video_h264_vui_sar_idc = 16;
pub const v4l2_mpeg_video_h264_vui_sar_idc_V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED:
v4l2_mpeg_video_h264_vui_sar_idc = 17;
pub type v4l2_mpeg_video_h264_vui_sar_idc = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_sei_fp_arrangement_type_V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD : v4l2_mpeg_video_h264_sei_fp_arrangement_type = 0 ;
pub const v4l2_mpeg_video_h264_sei_fp_arrangement_type_V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN : v4l2_mpeg_video_h264_sei_fp_arrangement_type = 1 ;
pub const v4l2_mpeg_video_h264_sei_fp_arrangement_type_V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW : v4l2_mpeg_video_h264_sei_fp_arrangement_type = 2 ;
pub const v4l2_mpeg_video_h264_sei_fp_arrangement_type_V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE : v4l2_mpeg_video_h264_sei_fp_arrangement_type = 3 ;
pub const v4l2_mpeg_video_h264_sei_fp_arrangement_type_V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM : v4l2_mpeg_video_h264_sei_fp_arrangement_type = 4 ;
pub const v4l2_mpeg_video_h264_sei_fp_arrangement_type_V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL : v4l2_mpeg_video_h264_sei_fp_arrangement_type = 5 ;
pub type v4l2_mpeg_video_h264_sei_fp_arrangement_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_fmo_map_type_V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES:
v4l2_mpeg_video_h264_fmo_map_type = 0;
pub const v4l2_mpeg_video_h264_fmo_map_type_V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES:
v4l2_mpeg_video_h264_fmo_map_type = 1;
pub const v4l2_mpeg_video_h264_fmo_map_type_V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER : v4l2_mpeg_video_h264_fmo_map_type = 2 ;
pub const v4l2_mpeg_video_h264_fmo_map_type_V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT:
v4l2_mpeg_video_h264_fmo_map_type = 3;
pub const v4l2_mpeg_video_h264_fmo_map_type_V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN:
v4l2_mpeg_video_h264_fmo_map_type = 4;
pub const v4l2_mpeg_video_h264_fmo_map_type_V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN:
v4l2_mpeg_video_h264_fmo_map_type = 5;
pub const v4l2_mpeg_video_h264_fmo_map_type_V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT:
v4l2_mpeg_video_h264_fmo_map_type = 6;
pub type v4l2_mpeg_video_h264_fmo_map_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_fmo_change_dir_V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT:
v4l2_mpeg_video_h264_fmo_change_dir = 0;
pub const v4l2_mpeg_video_h264_fmo_change_dir_V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT:
v4l2_mpeg_video_h264_fmo_change_dir = 1;
pub type v4l2_mpeg_video_h264_fmo_change_dir = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_h264_hierarchical_coding_type_V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B : v4l2_mpeg_video_h264_hierarchical_coding_type = 0 ;
pub const v4l2_mpeg_video_h264_hierarchical_coding_type_V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P : v4l2_mpeg_video_h264_hierarchical_coding_type = 1 ;
pub type v4l2_mpeg_video_h264_hierarchical_coding_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_0: v4l2_mpeg_video_mpeg4_level =
0;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B: v4l2_mpeg_video_mpeg4_level =
1;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_1: v4l2_mpeg_video_mpeg4_level =
2;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_2: v4l2_mpeg_video_mpeg4_level =
3;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_3: v4l2_mpeg_video_mpeg4_level =
4;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B: v4l2_mpeg_video_mpeg4_level =
5;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_4: v4l2_mpeg_video_mpeg4_level =
6;
pub const v4l2_mpeg_video_mpeg4_level_V4L2_MPEG_VIDEO_MPEG4_LEVEL_5: v4l2_mpeg_video_mpeg4_level =
7;
pub type v4l2_mpeg_video_mpeg4_level = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_mpeg4_profile_V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE:
v4l2_mpeg_video_mpeg4_profile = 0;
pub const v4l2_mpeg_video_mpeg4_profile_V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE:
v4l2_mpeg_video_mpeg4_profile = 1;
pub const v4l2_mpeg_video_mpeg4_profile_V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE:
v4l2_mpeg_video_mpeg4_profile = 2;
pub const v4l2_mpeg_video_mpeg4_profile_V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE:
v4l2_mpeg_video_mpeg4_profile = 3;
pub const v4l2_mpeg_video_mpeg4_profile_V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY:
v4l2_mpeg_video_mpeg4_profile = 4;
pub type v4l2_mpeg_video_mpeg4_profile = ::std::os::raw::c_uint;
pub const v4l2_vp8_num_partitions_V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION: v4l2_vp8_num_partitions = 0;
pub const v4l2_vp8_num_partitions_V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS: v4l2_vp8_num_partitions = 1;
pub const v4l2_vp8_num_partitions_V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS: v4l2_vp8_num_partitions = 2;
pub const v4l2_vp8_num_partitions_V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS: v4l2_vp8_num_partitions = 3;
pub type v4l2_vp8_num_partitions = ::std::os::raw::c_uint;
pub const v4l2_vp8_num_ref_frames_V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME: v4l2_vp8_num_ref_frames = 0;
pub const v4l2_vp8_num_ref_frames_V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME: v4l2_vp8_num_ref_frames = 1;
pub const v4l2_vp8_num_ref_frames_V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME: v4l2_vp8_num_ref_frames = 2;
pub type v4l2_vp8_num_ref_frames = ::std::os::raw::c_uint;
pub const v4l2_vp8_golden_frame_sel_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV:
v4l2_vp8_golden_frame_sel = 0;
pub const v4l2_vp8_golden_frame_sel_V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD:
v4l2_vp8_golden_frame_sel = 1;
pub type v4l2_vp8_golden_frame_sel = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_vp8_profile_V4L2_MPEG_VIDEO_VP8_PROFILE_0: v4l2_mpeg_video_vp8_profile =
0;
pub const v4l2_mpeg_video_vp8_profile_V4L2_MPEG_VIDEO_VP8_PROFILE_1: v4l2_mpeg_video_vp8_profile =
1;
pub const v4l2_mpeg_video_vp8_profile_V4L2_MPEG_VIDEO_VP8_PROFILE_2: v4l2_mpeg_video_vp8_profile =
2;
pub const v4l2_mpeg_video_vp8_profile_V4L2_MPEG_VIDEO_VP8_PROFILE_3: v4l2_mpeg_video_vp8_profile =
3;
pub type v4l2_mpeg_video_vp8_profile = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_vp9_profile_V4L2_MPEG_VIDEO_VP9_PROFILE_0: v4l2_mpeg_video_vp9_profile =
0;
pub const v4l2_mpeg_video_vp9_profile_V4L2_MPEG_VIDEO_VP9_PROFILE_1: v4l2_mpeg_video_vp9_profile =
1;
pub const v4l2_mpeg_video_vp9_profile_V4L2_MPEG_VIDEO_VP9_PROFILE_2: v4l2_mpeg_video_vp9_profile =
2;
pub const v4l2_mpeg_video_vp9_profile_V4L2_MPEG_VIDEO_VP9_PROFILE_3: v4l2_mpeg_video_vp9_profile =
3;
pub type v4l2_mpeg_video_vp9_profile = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_1_0: v4l2_mpeg_video_vp9_level = 0;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_1_1: v4l2_mpeg_video_vp9_level = 1;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_2_0: v4l2_mpeg_video_vp9_level = 2;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_2_1: v4l2_mpeg_video_vp9_level = 3;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_3_0: v4l2_mpeg_video_vp9_level = 4;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_3_1: v4l2_mpeg_video_vp9_level = 5;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_4_0: v4l2_mpeg_video_vp9_level = 6;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_4_1: v4l2_mpeg_video_vp9_level = 7;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_5_0: v4l2_mpeg_video_vp9_level = 8;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_5_1: v4l2_mpeg_video_vp9_level = 9;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_5_2: v4l2_mpeg_video_vp9_level = 10;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_6_0: v4l2_mpeg_video_vp9_level = 11;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_6_1: v4l2_mpeg_video_vp9_level = 12;
pub const v4l2_mpeg_video_vp9_level_V4L2_MPEG_VIDEO_VP9_LEVEL_6_2: v4l2_mpeg_video_vp9_level = 13;
pub type v4l2_mpeg_video_vp9_level = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_hevc_hier_coding_type_V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B:
v4l2_mpeg_video_hevc_hier_coding_type = 0;
pub const v4l2_mpeg_video_hevc_hier_coding_type_V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P:
v4l2_mpeg_video_hevc_hier_coding_type = 1;
pub type v4l2_mpeg_video_hevc_hier_coding_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_hevc_profile_V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN:
v4l2_mpeg_video_hevc_profile = 0;
pub const v4l2_mpeg_video_hevc_profile_V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE:
v4l2_mpeg_video_hevc_profile = 1;
pub const v4l2_mpeg_video_hevc_profile_V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10:
v4l2_mpeg_video_hevc_profile = 2;
pub type v4l2_mpeg_video_hevc_profile = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_1: v4l2_mpeg_video_hevc_level = 0;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_2: v4l2_mpeg_video_hevc_level = 1;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1: v4l2_mpeg_video_hevc_level = 2;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_3: v4l2_mpeg_video_hevc_level = 3;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1: v4l2_mpeg_video_hevc_level = 4;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_4: v4l2_mpeg_video_hevc_level = 5;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1: v4l2_mpeg_video_hevc_level = 6;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_5: v4l2_mpeg_video_hevc_level = 7;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1: v4l2_mpeg_video_hevc_level = 8;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2: v4l2_mpeg_video_hevc_level = 9;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_6: v4l2_mpeg_video_hevc_level = 10;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1: v4l2_mpeg_video_hevc_level =
11;
pub const v4l2_mpeg_video_hevc_level_V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2: v4l2_mpeg_video_hevc_level =
12;
pub type v4l2_mpeg_video_hevc_level = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_hevc_tier_V4L2_MPEG_VIDEO_HEVC_TIER_MAIN: v4l2_mpeg_video_hevc_tier = 0;
pub const v4l2_mpeg_video_hevc_tier_V4L2_MPEG_VIDEO_HEVC_TIER_HIGH: v4l2_mpeg_video_hevc_tier = 1;
pub type v4l2_mpeg_video_hevc_tier = ::std::os::raw::c_uint;
pub const v4l2_cid_mpeg_video_hevc_loop_filter_mode_V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED : v4l2_cid_mpeg_video_hevc_loop_filter_mode = 0 ;
pub const v4l2_cid_mpeg_video_hevc_loop_filter_mode_V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED : v4l2_cid_mpeg_video_hevc_loop_filter_mode = 1 ;
pub const v4l2_cid_mpeg_video_hevc_loop_filter_mode_V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY : v4l2_cid_mpeg_video_hevc_loop_filter_mode = 2 ;
pub type v4l2_cid_mpeg_video_hevc_loop_filter_mode = ::std::os::raw::c_uint;
pub const v4l2_cid_mpeg_video_hevc_refresh_type_V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE:
v4l2_cid_mpeg_video_hevc_refresh_type = 0;
pub const v4l2_cid_mpeg_video_hevc_refresh_type_V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA:
v4l2_cid_mpeg_video_hevc_refresh_type = 1;
pub const v4l2_cid_mpeg_video_hevc_refresh_type_V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR:
v4l2_cid_mpeg_video_hevc_refresh_type = 2;
pub type v4l2_cid_mpeg_video_hevc_refresh_type = ::std::os::raw::c_uint;
pub const v4l2_cid_mpeg_video_hevc_size_of_length_field_V4L2_MPEG_VIDEO_HEVC_SIZE_0:
v4l2_cid_mpeg_video_hevc_size_of_length_field = 0;
pub const v4l2_cid_mpeg_video_hevc_size_of_length_field_V4L2_MPEG_VIDEO_HEVC_SIZE_1:
v4l2_cid_mpeg_video_hevc_size_of_length_field = 1;
pub const v4l2_cid_mpeg_video_hevc_size_of_length_field_V4L2_MPEG_VIDEO_HEVC_SIZE_2:
v4l2_cid_mpeg_video_hevc_size_of_length_field = 2;
pub const v4l2_cid_mpeg_video_hevc_size_of_length_field_V4L2_MPEG_VIDEO_HEVC_SIZE_4:
v4l2_cid_mpeg_video_hevc_size_of_length_field = 3;
pub type v4l2_cid_mpeg_video_hevc_size_of_length_field = ::std::os::raw::c_uint;
pub const v4l2_mpeg_video_frame_skip_mode_V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED:
v4l2_mpeg_video_frame_skip_mode = 0;
pub const v4l2_mpeg_video_frame_skip_mode_V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT:
v4l2_mpeg_video_frame_skip_mode = 1;
pub const v4l2_mpeg_video_frame_skip_mode_V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT:
v4l2_mpeg_video_frame_skip_mode = 2;
pub type v4l2_mpeg_video_frame_skip_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_cx2341x_video_spatial_filter_mode_V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL : v4l2_mpeg_cx2341x_video_spatial_filter_mode = 0 ;
pub const v4l2_mpeg_cx2341x_video_spatial_filter_mode_V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO : v4l2_mpeg_cx2341x_video_spatial_filter_mode = 1 ;
pub type v4l2_mpeg_cx2341x_video_spatial_filter_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_cx2341x_video_luma_spatial_filter_type_V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF : v4l2_mpeg_cx2341x_video_luma_spatial_filter_type = 0 ;
pub const v4l2_mpeg_cx2341x_video_luma_spatial_filter_type_V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR : v4l2_mpeg_cx2341x_video_luma_spatial_filter_type = 1 ;
pub const v4l2_mpeg_cx2341x_video_luma_spatial_filter_type_V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT : v4l2_mpeg_cx2341x_video_luma_spatial_filter_type = 2 ;
pub const v4l2_mpeg_cx2341x_video_luma_spatial_filter_type_V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE : v4l2_mpeg_cx2341x_video_luma_spatial_filter_type = 3 ;
pub const v4l2_mpeg_cx2341x_video_luma_spatial_filter_type_V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE : v4l2_mpeg_cx2341x_video_luma_spatial_filter_type = 4 ;
pub type v4l2_mpeg_cx2341x_video_luma_spatial_filter_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type_V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF : v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type = 0 ;
pub const v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type_V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR : v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type = 1 ;
pub type v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_cx2341x_video_temporal_filter_mode_V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL : v4l2_mpeg_cx2341x_video_temporal_filter_mode = 0 ;
pub const v4l2_mpeg_cx2341x_video_temporal_filter_mode_V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO : v4l2_mpeg_cx2341x_video_temporal_filter_mode = 1 ;
pub type v4l2_mpeg_cx2341x_video_temporal_filter_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_cx2341x_video_median_filter_type_V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF : v4l2_mpeg_cx2341x_video_median_filter_type = 0 ;
pub const v4l2_mpeg_cx2341x_video_median_filter_type_V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR : v4l2_mpeg_cx2341x_video_median_filter_type = 1 ;
pub const v4l2_mpeg_cx2341x_video_median_filter_type_V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT : v4l2_mpeg_cx2341x_video_median_filter_type = 2 ;
pub const v4l2_mpeg_cx2341x_video_median_filter_type_V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT : v4l2_mpeg_cx2341x_video_median_filter_type = 3 ;
pub const v4l2_mpeg_cx2341x_video_median_filter_type_V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG : v4l2_mpeg_cx2341x_video_median_filter_type = 4 ;
pub type v4l2_mpeg_cx2341x_video_median_filter_type = ::std::os::raw::c_uint;
pub const v4l2_mpeg_mfc51_video_frame_skip_mode_V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED:
v4l2_mpeg_mfc51_video_frame_skip_mode = 0;
pub const v4l2_mpeg_mfc51_video_frame_skip_mode_V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT : v4l2_mpeg_mfc51_video_frame_skip_mode = 1 ;
pub const v4l2_mpeg_mfc51_video_frame_skip_mode_V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT:
v4l2_mpeg_mfc51_video_frame_skip_mode = 2;
pub type v4l2_mpeg_mfc51_video_frame_skip_mode = ::std::os::raw::c_uint;
pub const v4l2_mpeg_mfc51_video_force_frame_type_V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED:
v4l2_mpeg_mfc51_video_force_frame_type = 0;
pub const v4l2_mpeg_mfc51_video_force_frame_type_V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME:
v4l2_mpeg_mfc51_video_force_frame_type = 1;
pub const v4l2_mpeg_mfc51_video_force_frame_type_V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED : v4l2_mpeg_mfc51_video_force_frame_type = 2 ;
pub type v4l2_mpeg_mfc51_video_force_frame_type = ::std::os::raw::c_uint;
pub const v4l2_exposure_auto_type_V4L2_EXPOSURE_AUTO: v4l2_exposure_auto_type = 0;
pub const v4l2_exposure_auto_type_V4L2_EXPOSURE_MANUAL: v4l2_exposure_auto_type = 1;
pub const v4l2_exposure_auto_type_V4L2_EXPOSURE_SHUTTER_PRIORITY: v4l2_exposure_auto_type = 2;
pub const v4l2_exposure_auto_type_V4L2_EXPOSURE_APERTURE_PRIORITY: v4l2_exposure_auto_type = 3;
pub type v4l2_exposure_auto_type = ::std::os::raw::c_uint;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_MANUAL:
v4l2_auto_n_preset_white_balance = 0;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_AUTO:
v4l2_auto_n_preset_white_balance = 1;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_INCANDESCENT:
v4l2_auto_n_preset_white_balance = 2;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_FLUORESCENT:
v4l2_auto_n_preset_white_balance = 3;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_FLUORESCENT_H:
v4l2_auto_n_preset_white_balance = 4;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_HORIZON:
v4l2_auto_n_preset_white_balance = 5;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_DAYLIGHT:
v4l2_auto_n_preset_white_balance = 6;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_FLASH:
v4l2_auto_n_preset_white_balance = 7;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_CLOUDY:
v4l2_auto_n_preset_white_balance = 8;
pub const v4l2_auto_n_preset_white_balance_V4L2_WHITE_BALANCE_SHADE:
v4l2_auto_n_preset_white_balance = 9;
pub type v4l2_auto_n_preset_white_balance = ::std::os::raw::c_uint;
pub const v4l2_iso_sensitivity_auto_type_V4L2_ISO_SENSITIVITY_MANUAL:
v4l2_iso_sensitivity_auto_type = 0;
pub const v4l2_iso_sensitivity_auto_type_V4L2_ISO_SENSITIVITY_AUTO: v4l2_iso_sensitivity_auto_type =
1;
pub type v4l2_iso_sensitivity_auto_type = ::std::os::raw::c_uint;
pub const v4l2_exposure_metering_V4L2_EXPOSURE_METERING_AVERAGE: v4l2_exposure_metering = 0;
pub const v4l2_exposure_metering_V4L2_EXPOSURE_METERING_CENTER_WEIGHTED: v4l2_exposure_metering = 1;
pub const v4l2_exposure_metering_V4L2_EXPOSURE_METERING_SPOT: v4l2_exposure_metering = 2;
pub const v4l2_exposure_metering_V4L2_EXPOSURE_METERING_MATRIX: v4l2_exposure_metering = 3;
pub type v4l2_exposure_metering = ::std::os::raw::c_uint;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_NONE: v4l2_scene_mode = 0;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_BACKLIGHT: v4l2_scene_mode = 1;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_BEACH_SNOW: v4l2_scene_mode = 2;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_CANDLE_LIGHT: v4l2_scene_mode = 3;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_DAWN_DUSK: v4l2_scene_mode = 4;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_FALL_COLORS: v4l2_scene_mode = 5;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_FIREWORKS: v4l2_scene_mode = 6;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_LANDSCAPE: v4l2_scene_mode = 7;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_NIGHT: v4l2_scene_mode = 8;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_PARTY_INDOOR: v4l2_scene_mode = 9;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_PORTRAIT: v4l2_scene_mode = 10;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_SPORTS: v4l2_scene_mode = 11;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_SUNSET: v4l2_scene_mode = 12;
pub const v4l2_scene_mode_V4L2_SCENE_MODE_TEXT: v4l2_scene_mode = 13;
pub type v4l2_scene_mode = ::std::os::raw::c_uint;
pub const v4l2_auto_focus_range_V4L2_AUTO_FOCUS_RANGE_AUTO: v4l2_auto_focus_range = 0;
pub const v4l2_auto_focus_range_V4L2_AUTO_FOCUS_RANGE_NORMAL: v4l2_auto_focus_range = 1;
pub const v4l2_auto_focus_range_V4L2_AUTO_FOCUS_RANGE_MACRO: v4l2_auto_focus_range = 2;
pub const v4l2_auto_focus_range_V4L2_AUTO_FOCUS_RANGE_INFINITY: v4l2_auto_focus_range = 3;
pub type v4l2_auto_focus_range = ::std::os::raw::c_uint;
pub const v4l2_preemphasis_V4L2_PREEMPHASIS_DISABLED: v4l2_preemphasis = 0;
pub const v4l2_preemphasis_V4L2_PREEMPHASIS_50_uS: v4l2_preemphasis = 1;
pub const v4l2_preemphasis_V4L2_PREEMPHASIS_75_uS: v4l2_preemphasis = 2;
pub type v4l2_preemphasis = ::std::os::raw::c_uint;
pub const v4l2_flash_led_mode_V4L2_FLASH_LED_MODE_NONE: v4l2_flash_led_mode = 0;
pub const v4l2_flash_led_mode_V4L2_FLASH_LED_MODE_FLASH: v4l2_flash_led_mode = 1;
pub const v4l2_flash_led_mode_V4L2_FLASH_LED_MODE_TORCH: v4l2_flash_led_mode = 2;
pub type v4l2_flash_led_mode = ::std::os::raw::c_uint;
pub const v4l2_flash_strobe_source_V4L2_FLASH_STROBE_SOURCE_SOFTWARE: v4l2_flash_strobe_source = 0;
pub const v4l2_flash_strobe_source_V4L2_FLASH_STROBE_SOURCE_EXTERNAL: v4l2_flash_strobe_source = 1;
pub type v4l2_flash_strobe_source = ::std::os::raw::c_uint;
pub const v4l2_jpeg_chroma_subsampling_V4L2_JPEG_CHROMA_SUBSAMPLING_444:
v4l2_jpeg_chroma_subsampling = 0;
pub const v4l2_jpeg_chroma_subsampling_V4L2_JPEG_CHROMA_SUBSAMPLING_422:
v4l2_jpeg_chroma_subsampling = 1;
pub const v4l2_jpeg_chroma_subsampling_V4L2_JPEG_CHROMA_SUBSAMPLING_420:
v4l2_jpeg_chroma_subsampling = 2;
pub const v4l2_jpeg_chroma_subsampling_V4L2_JPEG_CHROMA_SUBSAMPLING_411:
v4l2_jpeg_chroma_subsampling = 3;
pub const v4l2_jpeg_chroma_subsampling_V4L2_JPEG_CHROMA_SUBSAMPLING_410:
v4l2_jpeg_chroma_subsampling = 4;
pub const v4l2_jpeg_chroma_subsampling_V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY:
v4l2_jpeg_chroma_subsampling = 5;
pub type v4l2_jpeg_chroma_subsampling = ::std::os::raw::c_uint;
pub const v4l2_dv_tx_mode_V4L2_DV_TX_MODE_DVI_D: v4l2_dv_tx_mode = 0;
pub const v4l2_dv_tx_mode_V4L2_DV_TX_MODE_HDMI: v4l2_dv_tx_mode = 1;
pub type v4l2_dv_tx_mode = ::std::os::raw::c_uint;
pub const v4l2_dv_rgb_range_V4L2_DV_RGB_RANGE_AUTO: v4l2_dv_rgb_range = 0;
pub const v4l2_dv_rgb_range_V4L2_DV_RGB_RANGE_LIMITED: v4l2_dv_rgb_range = 1;
pub const v4l2_dv_rgb_range_V4L2_DV_RGB_RANGE_FULL: v4l2_dv_rgb_range = 2;
pub type v4l2_dv_rgb_range = ::std::os::raw::c_uint;
pub const v4l2_dv_it_content_type_V4L2_DV_IT_CONTENT_TYPE_GRAPHICS: v4l2_dv_it_content_type = 0;
pub const v4l2_dv_it_content_type_V4L2_DV_IT_CONTENT_TYPE_PHOTO: v4l2_dv_it_content_type = 1;
pub const v4l2_dv_it_content_type_V4L2_DV_IT_CONTENT_TYPE_CINEMA: v4l2_dv_it_content_type = 2;
pub const v4l2_dv_it_content_type_V4L2_DV_IT_CONTENT_TYPE_GAME: v4l2_dv_it_content_type = 3;
pub const v4l2_dv_it_content_type_V4L2_DV_IT_CONTENT_TYPE_NO_ITC: v4l2_dv_it_content_type = 4;
pub type v4l2_dv_it_content_type = ::std::os::raw::c_uint;
pub const v4l2_deemphasis_V4L2_DEEMPHASIS_DISABLED: v4l2_deemphasis = 0;
pub const v4l2_deemphasis_V4L2_DEEMPHASIS_50_uS: v4l2_deemphasis = 1;
pub const v4l2_deemphasis_V4L2_DEEMPHASIS_75_uS: v4l2_deemphasis = 2;
pub type v4l2_deemphasis = ::std::os::raw::c_uint;
pub const v4l2_detect_md_mode_V4L2_DETECT_MD_MODE_DISABLED: v4l2_detect_md_mode = 0;
pub const v4l2_detect_md_mode_V4L2_DETECT_MD_MODE_GLOBAL: v4l2_detect_md_mode = 1;
pub const v4l2_detect_md_mode_V4L2_DETECT_MD_MODE_THRESHOLD_GRID: v4l2_detect_md_mode = 2;
pub const v4l2_detect_md_mode_V4L2_DETECT_MD_MODE_REGION_GRID: v4l2_detect_md_mode = 3;
pub type v4l2_detect_md_mode = ::std::os::raw::c_uint;
pub const v4l2_stateless_h264_decode_mode_V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED:
v4l2_stateless_h264_decode_mode = 0;
pub const v4l2_stateless_h264_decode_mode_V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED:
v4l2_stateless_h264_decode_mode = 1;
#[doc = " enum v4l2_stateless_h264_decode_mode - Decoding mode\n\n @V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED: indicates that decoding\n is performed one slice at a time. In this mode,\n V4L2_CID_STATELESS_H264_SLICE_PARAMS must contain the parsed slice\n parameters and the OUTPUT buffer must contain a single slice.\n V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF feature is used\n in order to support multislice frames.\n @V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED: indicates that\n decoding is performed per frame. The OUTPUT buffer must contain\n all slices and also both fields. This mode is typically supported\n by device drivers that are able to parse the slice(s) header(s)\n in hardware. When this mode is selected,\n V4L2_CID_STATELESS_H264_SLICE_PARAMS is not used."]
pub type v4l2_stateless_h264_decode_mode = ::std::os::raw::c_uint;
pub const v4l2_stateless_h264_start_code_V4L2_STATELESS_H264_START_CODE_NONE:
v4l2_stateless_h264_start_code = 0;
pub const v4l2_stateless_h264_start_code_V4L2_STATELESS_H264_START_CODE_ANNEX_B:
v4l2_stateless_h264_start_code = 1;
#[doc = " enum v4l2_stateless_h264_start_code - Start code\n\n @V4L2_STATELESS_H264_START_CODE_NONE: slices are passed\n to the driver without any start code.\n @V4L2_STATELESS_H264_START_CODE_ANNEX_B: slices are passed\n to the driver with an Annex B start code prefix\n (legal start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001).\n This mode is typically supported by device drivers that parse\n the start code in hardware."]
pub type v4l2_stateless_h264_start_code = ::std::os::raw::c_uint;
#[doc = " struct v4l2_ctrl_h264_sps - H264 sequence parameter set\n\n All the members on this sequence parameter set structure match the\n sequence parameter set syntax as specified by the H264 specification.\n\n @profile_idc: see H264 specification.\n @constraint_set_flags: see H264 specification.\n @level_idc: see H264 specification.\n @seq_parameter_set_id: see H264 specification.\n @chroma_format_idc: see H264 specification.\n @bit_depth_luma_minus8: see H264 specification.\n @bit_depth_chroma_minus8: see H264 specification.\n @log2_max_frame_num_minus4: see H264 specification.\n @pic_order_cnt_type: see H264 specification.\n @log2_max_pic_order_cnt_lsb_minus4: see H264 specification.\n @max_num_ref_frames: see H264 specification.\n @num_ref_frames_in_pic_order_cnt_cycle: see H264 specification.\n @offset_for_ref_frame: see H264 specification.\n @offset_for_non_ref_pic: see H264 specification.\n @offset_for_top_to_bottom_field: see H264 specification.\n @pic_width_in_mbs_minus1: see H264 specification.\n @pic_height_in_map_units_minus1: see H264 specification.\n @flags: see V4L2_H264_SPS_FLAG_{}."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_h264_sps {
pub profile_idc: __u8,
pub constraint_set_flags: __u8,
pub level_idc: __u8,
pub seq_parameter_set_id: __u8,
pub chroma_format_idc: __u8,
pub bit_depth_luma_minus8: __u8,
pub bit_depth_chroma_minus8: __u8,
pub log2_max_frame_num_minus4: __u8,
pub pic_order_cnt_type: __u8,
pub log2_max_pic_order_cnt_lsb_minus4: __u8,
pub max_num_ref_frames: __u8,
pub num_ref_frames_in_pic_order_cnt_cycle: __u8,
pub offset_for_ref_frame: [__s32; 255usize],
pub offset_for_non_ref_pic: __s32,
pub offset_for_top_to_bottom_field: __s32,
pub pic_width_in_mbs_minus1: __u16,
pub pic_height_in_map_units_minus1: __u16,
pub flags: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_h264_sps() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_h264_sps> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_h264_sps>(),
1048usize,
concat!("Size of: ", stringify!(v4l2_ctrl_h264_sps))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_h264_sps>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_h264_sps))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).profile_idc) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(profile_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).constraint_set_flags) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(constraint_set_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).level_idc) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(level_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seq_parameter_set_id) as usize - ptr as usize },
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(seq_parameter_set_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_format_idc) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(chroma_format_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_luma_minus8) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(bit_depth_luma_minus8)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_chroma_minus8) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(bit_depth_chroma_minus8)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).log2_max_frame_num_minus4) as usize - ptr as usize },
7usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(log2_max_frame_num_minus4)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_order_cnt_type) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(pic_order_cnt_type)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_max_pic_order_cnt_lsb_minus4) as usize - ptr as usize
},
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(log2_max_pic_order_cnt_lsb_minus4)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_num_ref_frames) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(max_num_ref_frames)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_frames_in_pic_order_cnt_cycle) as usize
- ptr as usize
},
11usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(num_ref_frames_in_pic_order_cnt_cycle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).offset_for_ref_frame) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(offset_for_ref_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).offset_for_non_ref_pic) as usize - ptr as usize },
1032usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(offset_for_non_ref_pic)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).offset_for_top_to_bottom_field) as usize - ptr as usize
},
1036usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(offset_for_top_to_bottom_field)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_width_in_mbs_minus1) as usize - ptr as usize },
1040usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(pic_width_in_mbs_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).pic_height_in_map_units_minus1) as usize - ptr as usize
},
1042usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(pic_height_in_map_units_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1044usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_sps),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_h264_pps - H264 picture parameter set\n\n Except where noted, all the members on this picture parameter set\n structure match the picture parameter set syntax as specified\n by the H264 specification.\n\n In particular, V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT flag\n has a specific meaning. This flag should be set if a non-flat\n scaling matrix applies to the picture. In this case, applications\n are expected to use V4L2_CID_STATELESS_H264_SCALING_MATRIX,\n to pass the values of the non-flat matrices.\n\n @pic_parameter_set_id: see H264 specification.\n @seq_parameter_set_id: see H264 specification.\n @num_slice_groups_minus1: see H264 specification.\n @num_ref_idx_l0_default_active_minus1: see H264 specification.\n @num_ref_idx_l1_default_active_minus1: see H264 specification.\n @weighted_bipred_idc: see H264 specification.\n @pic_init_qp_minus26: see H264 specification.\n @pic_init_qs_minus26: see H264 specification.\n @chroma_qp_index_offset: see H264 specification.\n @second_chroma_qp_index_offset: see H264 specification.\n @flags: see V4L2_H264_PPS_FLAG_{}."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_h264_pps {
pub pic_parameter_set_id: __u8,
pub seq_parameter_set_id: __u8,
pub num_slice_groups_minus1: __u8,
pub num_ref_idx_l0_default_active_minus1: __u8,
pub num_ref_idx_l1_default_active_minus1: __u8,
pub weighted_bipred_idc: __u8,
pub pic_init_qp_minus26: __s8,
pub pic_init_qs_minus26: __s8,
pub chroma_qp_index_offset: __s8,
pub second_chroma_qp_index_offset: __s8,
pub flags: __u16,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_h264_pps() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_h264_pps> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_h264_pps>(),
12usize,
concat!("Size of: ", stringify!(v4l2_ctrl_h264_pps))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_h264_pps>(),
2usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_h264_pps))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_parameter_set_id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(pic_parameter_set_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seq_parameter_set_id) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(seq_parameter_set_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_slice_groups_minus1) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(num_slice_groups_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l0_default_active_minus1) as usize
- ptr as usize
},
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(num_ref_idx_l0_default_active_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l1_default_active_minus1) as usize
- ptr as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(num_ref_idx_l1_default_active_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).weighted_bipred_idc) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(weighted_bipred_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_init_qp_minus26) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(pic_init_qp_minus26)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_init_qs_minus26) as usize - ptr as usize },
7usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(pic_init_qs_minus26)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_qp_index_offset) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(chroma_qp_index_offset)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).second_chroma_qp_index_offset) as usize - ptr as usize
},
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(second_chroma_qp_index_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pps),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_h264_scaling_matrix - H264 scaling matrices\n\n @scaling_list_4x4: scaling matrix after applying the inverse\n scanning process. Expected list order is Intra Y, Intra Cb,\n Intra Cr, Inter Y, Inter Cb, Inter Cr. The values on each\n scaling list are expected in raster scan order.\n @scaling_list_8x8: scaling matrix after applying the inverse\n scanning process. Expected list order is Intra Y, Inter Y,\n Intra Cb, Inter Cb, Intra Cr, Inter Cr. The values on each\n scaling list are expected in raster scan order.\n\n Note that the list order is different for the 4x4 and 8x8\n matrices as per the H264 specification, see table 7-2 \"Assignment\n of mnemonic names to scaling list indices and specification of\n fall-back rule\"."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_h264_scaling_matrix {
pub scaling_list_4x4: [[__u8; 16usize]; 6usize],
pub scaling_list_8x8: [[__u8; 64usize]; 6usize],
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_h264_scaling_matrix() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_h264_scaling_matrix> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_h264_scaling_matrix>(),
480usize,
concat!("Size of: ", stringify!(v4l2_ctrl_h264_scaling_matrix))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_h264_scaling_matrix>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_h264_scaling_matrix))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_4x4) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_scaling_matrix),
"::",
stringify!(scaling_list_4x4)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_8x8) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_scaling_matrix),
"::",
stringify!(scaling_list_8x8)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_h264_weight_factors {
pub luma_weight: [__s16; 32usize],
pub luma_offset: [__s16; 32usize],
pub chroma_weight: [[__s16; 2usize]; 32usize],
pub chroma_offset: [[__s16; 2usize]; 32usize],
}
#[test]
fn bindgen_test_layout_v4l2_h264_weight_factors() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_h264_weight_factors> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_h264_weight_factors>(),
384usize,
concat!("Size of: ", stringify!(v4l2_h264_weight_factors))
);
assert_eq!(
::std::mem::align_of::<v4l2_h264_weight_factors>(),
2usize,
concat!("Alignment of ", stringify!(v4l2_h264_weight_factors))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).luma_weight) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_weight_factors),
"::",
stringify!(luma_weight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).luma_offset) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_weight_factors),
"::",
stringify!(luma_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_weight) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_weight_factors),
"::",
stringify!(chroma_weight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_offset) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_weight_factors),
"::",
stringify!(chroma_offset)
)
);
}
#[doc = " struct v4l2_ctrl_h264_pred_weights - Prediction weight table\n\n Prediction weight table, which matches the syntax specified\n by the H264 specification.\n\n @luma_log2_weight_denom: see H264 specification.\n @chroma_log2_weight_denom: see H264 specification.\n @weight_factors: luma and chroma weight factors."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_h264_pred_weights {
pub luma_log2_weight_denom: __u16,
pub chroma_log2_weight_denom: __u16,
pub weight_factors: [v4l2_h264_weight_factors; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_h264_pred_weights() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_h264_pred_weights> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_h264_pred_weights>(),
772usize,
concat!("Size of: ", stringify!(v4l2_ctrl_h264_pred_weights))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_h264_pred_weights>(),
2usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_h264_pred_weights))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).luma_log2_weight_denom) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pred_weights),
"::",
stringify!(luma_log2_weight_denom)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_log2_weight_denom) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pred_weights),
"::",
stringify!(chroma_log2_weight_denom)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).weight_factors) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_pred_weights),
"::",
stringify!(weight_factors)
)
);
}
#[doc = " struct v4l2_h264_reference - H264 picture reference\n\n @fields: indicates how the picture is referenced.\n Valid values are V4L2_H264_{}_REF.\n @index: index into v4l2_ctrl_h264_decode_params.dpb[]."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_h264_reference {
pub fields: __u8,
pub index: __u8,
}
#[test]
fn bindgen_test_layout_v4l2_h264_reference() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_h264_reference> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_h264_reference>(),
2usize,
concat!("Size of: ", stringify!(v4l2_h264_reference))
);
assert_eq!(
::std::mem::align_of::<v4l2_h264_reference>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_h264_reference))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fields) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_reference),
"::",
stringify!(fields)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_reference),
"::",
stringify!(index)
)
);
}
#[doc = " struct v4l2_ctrl_h264_slice_params - H264 slice parameters\n\n This structure holds the H264 syntax elements that are specified\n as non-invariant for the slices in a given frame.\n\n Slice invariant syntax elements are contained in struct\n v4l2_ctrl_h264_decode_params. This is done to reduce the API surface\n on frame-based decoders, where slice header parsing is done by the\n hardware.\n\n Slice invariant syntax elements are specified in specification section\n \"7.4.3 Slice header semantics\".\n\n Except where noted, the members on this struct match the slice header syntax.\n\n @header_bit_size: offset in bits to slice_data() from the beginning of this slice.\n @first_mb_in_slice: see H264 specification.\n @slice_type: see H264 specification.\n @colour_plane_id: see H264 specification.\n @redundant_pic_cnt: see H264 specification.\n @cabac_init_idc: see H264 specification.\n @slice_qp_delta: see H264 specification.\n @slice_qs_delta: see H264 specification.\n @disable_deblocking_filter_idc: see H264 specification.\n @slice_alpha_c0_offset_div2: see H264 specification.\n @slice_beta_offset_div2: see H264 specification.\n @num_ref_idx_l0_active_minus1: see H264 specification.\n @num_ref_idx_l1_active_minus1: see H264 specification.\n @reserved: padding field. Should be zeroed by applications.\n @ref_pic_list0: reference picture list 0 after applying the per-slice modifications.\n @ref_pic_list1: reference picture list 1 after applying the per-slice modifications.\n @flags: see V4L2_H264_SLICE_FLAG_{}."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_h264_slice_params {
pub header_bit_size: __u32,
pub first_mb_in_slice: __u32,
pub slice_type: __u8,
pub colour_plane_id: __u8,
pub redundant_pic_cnt: __u8,
pub cabac_init_idc: __u8,
pub slice_qp_delta: __s8,
pub slice_qs_delta: __s8,
pub disable_deblocking_filter_idc: __u8,
pub slice_alpha_c0_offset_div2: __s8,
pub slice_beta_offset_div2: __s8,
pub num_ref_idx_l0_active_minus1: __u8,
pub num_ref_idx_l1_active_minus1: __u8,
pub reserved: __u8,
pub ref_pic_list0: [v4l2_h264_reference; 32usize],
pub ref_pic_list1: [v4l2_h264_reference; 32usize],
pub flags: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_h264_slice_params() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_h264_slice_params> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_h264_slice_params>(),
152usize,
concat!("Size of: ", stringify!(v4l2_ctrl_h264_slice_params))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_h264_slice_params>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_h264_slice_params))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).header_bit_size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(header_bit_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).first_mb_in_slice) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(first_mb_in_slice)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_type) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(slice_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colour_plane_id) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(colour_plane_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).redundant_pic_cnt) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(redundant_pic_cnt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cabac_init_idc) as usize - ptr as usize },
11usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(cabac_init_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_qp_delta) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(slice_qp_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_qs_delta) as usize - ptr as usize },
13usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(slice_qs_delta)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).disable_deblocking_filter_idc) as usize - ptr as usize
},
14usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(disable_deblocking_filter_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_alpha_c0_offset_div2) as usize - ptr as usize },
15usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(slice_alpha_c0_offset_div2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_beta_offset_div2) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(slice_beta_offset_div2)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l0_active_minus1) as usize - ptr as usize
},
17usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(num_ref_idx_l0_active_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l1_active_minus1) as usize - ptr as usize
},
18usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(num_ref_idx_l1_active_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
19usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ref_pic_list0) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(ref_pic_list0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ref_pic_list1) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(ref_pic_list1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
148usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_slice_params),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_h264_dpb_entry - H264 decoded picture buffer entry\n\n @reference_ts: timestamp of the V4L2 capture buffer to use as reference.\n The timestamp refers to the timestamp field in struct v4l2_buffer.\n Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.\n @pic_num: matches PicNum variable assigned during the reference\n picture lists construction process.\n @frame_num: frame identifier which matches frame_num syntax element.\n @fields: indicates how the DPB entry is referenced. Valid values are\n V4L2_H264_{}_REF.\n @reserved: padding field. Should be zeroed by applications.\n @top_field_order_cnt: matches TopFieldOrderCnt picture value.\n @bottom_field_order_cnt: matches BottomFieldOrderCnt picture value.\n Note that picture field is indicated by v4l2_buffer.field.\n @flags: see V4L2_H264_DPB_ENTRY_FLAG_{}."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_h264_dpb_entry {
pub reference_ts: __u64,
pub pic_num: __u32,
pub frame_num: __u16,
pub fields: __u8,
pub reserved: [__u8; 5usize],
pub top_field_order_cnt: __s32,
pub bottom_field_order_cnt: __s32,
pub flags: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_h264_dpb_entry() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_h264_dpb_entry> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_h264_dpb_entry>(),
32usize,
concat!("Size of: ", stringify!(v4l2_h264_dpb_entry))
);
assert_eq!(
::std::mem::align_of::<v4l2_h264_dpb_entry>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_h264_dpb_entry))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reference_ts) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(reference_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_num) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(pic_num)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_num) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(frame_num)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fields) as usize - ptr as usize },
14usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(fields)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
15usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).top_field_order_cnt) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(top_field_order_cnt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bottom_field_order_cnt) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(bottom_field_order_cnt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_h264_dpb_entry),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_h264_decode_params - H264 decoding parameters\n\n @dpb: decoded picture buffer.\n @nal_ref_idc: slice header syntax element.\n @frame_num: slice header syntax element.\n @top_field_order_cnt: matches TopFieldOrderCnt picture value.\n @bottom_field_order_cnt: matches BottomFieldOrderCnt picture value.\n Note that picture field is indicated by v4l2_buffer.field.\n @idr_pic_id: slice header syntax element.\n @pic_order_cnt_lsb: slice header syntax element.\n @delta_pic_order_cnt_bottom: slice header syntax element.\n @delta_pic_order_cnt0: slice header syntax element.\n @delta_pic_order_cnt1: slice header syntax element.\n @dec_ref_pic_marking_bit_size: size in bits of dec_ref_pic_marking()\n syntax element.\n @pic_order_cnt_bit_size: size in bits of pic order count syntax.\n @slice_group_change_cycle: slice header syntax element.\n @reserved: padding field. Should be zeroed by applications.\n @flags: see V4L2_H264_DECODE_PARAM_FLAG_{}."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_h264_decode_params {
pub dpb: [v4l2_h264_dpb_entry; 16usize],
pub nal_ref_idc: __u16,
pub frame_num: __u16,
pub top_field_order_cnt: __s32,
pub bottom_field_order_cnt: __s32,
pub idr_pic_id: __u16,
pub pic_order_cnt_lsb: __u16,
pub delta_pic_order_cnt_bottom: __s32,
pub delta_pic_order_cnt0: __s32,
pub delta_pic_order_cnt1: __s32,
pub dec_ref_pic_marking_bit_size: __u32,
pub pic_order_cnt_bit_size: __u32,
pub slice_group_change_cycle: __u32,
pub reserved: __u32,
pub flags: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_h264_decode_params() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_h264_decode_params> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_h264_decode_params>(),
560usize,
concat!("Size of: ", stringify!(v4l2_ctrl_h264_decode_params))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_h264_decode_params>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_h264_decode_params))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dpb) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(dpb)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nal_ref_idc) as usize - ptr as usize },
512usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(nal_ref_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_num) as usize - ptr as usize },
514usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(frame_num)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).top_field_order_cnt) as usize - ptr as usize },
516usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(top_field_order_cnt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bottom_field_order_cnt) as usize - ptr as usize },
520usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(bottom_field_order_cnt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).idr_pic_id) as usize - ptr as usize },
524usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(idr_pic_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_order_cnt_lsb) as usize - ptr as usize },
526usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(pic_order_cnt_lsb)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_pic_order_cnt_bottom) as usize - ptr as usize },
528usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(delta_pic_order_cnt_bottom)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_pic_order_cnt0) as usize - ptr as usize },
532usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(delta_pic_order_cnt0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_pic_order_cnt1) as usize - ptr as usize },
536usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(delta_pic_order_cnt1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).dec_ref_pic_marking_bit_size) as usize - ptr as usize
},
540usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(dec_ref_pic_marking_bit_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_order_cnt_bit_size) as usize - ptr as usize },
544usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(pic_order_cnt_bit_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_group_change_cycle) as usize - ptr as usize },
548usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(slice_group_change_cycle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
552usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
556usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_h264_decode_params),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_fwht_params - FWHT parameters\n\n @backward_ref_ts: timestamp of the V4L2 capture buffer to use as reference.\n The timestamp refers to the timestamp field in struct v4l2_buffer.\n Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.\n @version: must be V4L2_FWHT_VERSION.\n @width: width of frame.\n @height: height of frame.\n @flags: FWHT flags (see V4L2_FWHT_FL_*).\n @colorspace: the colorspace (enum v4l2_colorspace).\n @xfer_func: the transfer function (enum v4l2_xfer_func).\n @ycbcr_enc: the Y'CbCr encoding (enum v4l2_ycbcr_encoding).\n @quantization: the quantization (enum v4l2_quantization)."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_fwht_params {
pub backward_ref_ts: __u64,
pub version: __u32,
pub width: __u32,
pub height: __u32,
pub flags: __u32,
pub colorspace: __u32,
pub xfer_func: __u32,
pub ycbcr_enc: __u32,
pub quantization: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_fwht_params() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_fwht_params> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_fwht_params>(),
40usize,
concat!("Size of: ", stringify!(v4l2_ctrl_fwht_params))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_fwht_params>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_fwht_params))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).backward_ref_ts) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(backward_ref_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(colorspace)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).xfer_func) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(xfer_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ycbcr_enc) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(ycbcr_enc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).quantization) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_fwht_params),
"::",
stringify!(quantization)
)
);
}
#[doc = " struct v4l2_vp8_segment - VP8 segment-based adjustments parameters\n\n @quant_update: update values for the segment quantizer.\n @lf_update: update values for the loop filter level.\n @segment_probs: branch probabilities of the segment_id decoding tree.\n @padding: padding field. Should be zeroed by applications.\n @flags: see V4L2_VP8_SEGMENT_FLAG_{}.\n\n This structure contains segment-based adjustments related parameters.\n See the 'update_segmentation()' part of the frame header syntax,\n and section '9.3. Segment-Based Adjustments' of the VP8 specification\n for more details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp8_segment {
pub quant_update: [__s8; 4usize],
pub lf_update: [__s8; 4usize],
pub segment_probs: [__u8; 3usize],
pub padding: __u8,
pub flags: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_vp8_segment() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp8_segment> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp8_segment>(),
16usize,
concat!("Size of: ", stringify!(v4l2_vp8_segment))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp8_segment>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_vp8_segment))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).quant_update) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_segment),
"::",
stringify!(quant_update)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lf_update) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_segment),
"::",
stringify!(lf_update)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).segment_probs) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_segment),
"::",
stringify!(segment_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
11usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_segment),
"::",
stringify!(padding)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_segment),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_vp8_loop_filter - VP8 loop filter parameters\n\n @ref_frm_delta: Reference frame signed delta values.\n @mb_mode_delta: MB prediction mode signed delta values.\n @sharpness_level: matches sharpness_level syntax element.\n @level: matches loop_filter_level syntax element.\n @padding: padding field. Should be zeroed by applications.\n @flags: see V4L2_VP8_LF_{}.\n\n This structure contains loop filter related parameters.\n See the 'mb_lf_adjustments()' part of the frame header syntax,\n and section '9.4. Loop Filter Type and Levels' of the VP8 specification\n for more details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp8_loop_filter {
pub ref_frm_delta: [__s8; 4usize],
pub mb_mode_delta: [__s8; 4usize],
pub sharpness_level: __u8,
pub level: __u8,
pub padding: __u16,
pub flags: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_vp8_loop_filter() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp8_loop_filter> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp8_loop_filter>(),
16usize,
concat!("Size of: ", stringify!(v4l2_vp8_loop_filter))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp8_loop_filter>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_vp8_loop_filter))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ref_frm_delta) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_loop_filter),
"::",
stringify!(ref_frm_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mb_mode_delta) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_loop_filter),
"::",
stringify!(mb_mode_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sharpness_level) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_loop_filter),
"::",
stringify!(sharpness_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_loop_filter),
"::",
stringify!(level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_loop_filter),
"::",
stringify!(padding)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_loop_filter),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_vp8_quantization - VP8 quantizattion indices\n\n @y_ac_qi: luma AC coefficient table index.\n @y_dc_delta: luma DC delta vaue.\n @y2_dc_delta: y2 block DC delta value.\n @y2_ac_delta: y2 block AC delta value.\n @uv_dc_delta: chroma DC delta value.\n @uv_ac_delta: chroma AC delta value.\n @padding: padding field. Should be zeroed by applications.\n\n This structure contains the quantization indices present\n in 'quant_indices()' part of the frame header syntax.\n See section '9.6. Dequantization Indices' of the VP8 specification\n for more details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp8_quantization {
pub y_ac_qi: __u8,
pub y_dc_delta: __s8,
pub y2_dc_delta: __s8,
pub y2_ac_delta: __s8,
pub uv_dc_delta: __s8,
pub uv_ac_delta: __s8,
pub padding: __u16,
}
#[test]
fn bindgen_test_layout_v4l2_vp8_quantization() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp8_quantization> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp8_quantization>(),
8usize,
concat!("Size of: ", stringify!(v4l2_vp8_quantization))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp8_quantization>(),
2usize,
concat!("Alignment of ", stringify!(v4l2_vp8_quantization))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y_ac_qi) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_quantization),
"::",
stringify!(y_ac_qi)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y_dc_delta) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_quantization),
"::",
stringify!(y_dc_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y2_dc_delta) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_quantization),
"::",
stringify!(y2_dc_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y2_ac_delta) as usize - ptr as usize },
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_quantization),
"::",
stringify!(y2_ac_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).uv_dc_delta) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_quantization),
"::",
stringify!(uv_dc_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).uv_ac_delta) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_quantization),
"::",
stringify!(uv_ac_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_quantization),
"::",
stringify!(padding)
)
);
}
#[doc = " struct v4l2_vp8_entropy - VP8 update probabilities\n\n @coeff_probs: coefficient probability update values.\n @y_mode_probs: luma intra-prediction probabilities.\n @uv_mode_probs: chroma intra-prediction probabilities.\n @mv_probs: mv decoding probability.\n @padding: padding field. Should be zeroed by applications.\n\n This structure contains the update probabilities present in\n 'token_prob_update()' and 'mv_prob_update()' part of the frame header.\n See section '17.2. Probability Updates' of the VP8 specification\n for more details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp8_entropy {
pub coeff_probs: [[[[__u8; 11usize]; 3usize]; 8usize]; 4usize],
pub y_mode_probs: [__u8; 4usize],
pub uv_mode_probs: [__u8; 3usize],
pub mv_probs: [[__u8; 19usize]; 2usize],
pub padding: [__u8; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_vp8_entropy() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp8_entropy> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp8_entropy>(),
1104usize,
concat!("Size of: ", stringify!(v4l2_vp8_entropy))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp8_entropy>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_vp8_entropy))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).coeff_probs) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy),
"::",
stringify!(coeff_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y_mode_probs) as usize - ptr as usize },
1056usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy),
"::",
stringify!(y_mode_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).uv_mode_probs) as usize - ptr as usize },
1060usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy),
"::",
stringify!(uv_mode_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mv_probs) as usize - ptr as usize },
1063usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy),
"::",
stringify!(mv_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
1101usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy),
"::",
stringify!(padding)
)
);
}
#[doc = " struct v4l2_vp8_entropy_coder_state - VP8 boolean coder state\n\n @range: coder state value for \"Range\"\n @value: coder state value for \"Value\"\n @bit_count: number of bits left in range \"Value\".\n @padding: padding field. Should be zeroed by applications.\n\n This structure contains the state for the boolean coder, as\n explained in section '7. Boolean Entropy Decoder' of the VP8 specification."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp8_entropy_coder_state {
pub range: __u8,
pub value: __u8,
pub bit_count: __u8,
pub padding: __u8,
}
#[test]
fn bindgen_test_layout_v4l2_vp8_entropy_coder_state() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp8_entropy_coder_state> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp8_entropy_coder_state>(),
4usize,
concat!("Size of: ", stringify!(v4l2_vp8_entropy_coder_state))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp8_entropy_coder_state>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_vp8_entropy_coder_state))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy_coder_state),
"::",
stringify!(range)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy_coder_state),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bit_count) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy_coder_state),
"::",
stringify!(bit_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp8_entropy_coder_state),
"::",
stringify!(padding)
)
);
}
#[doc = " struct v4l2_ctrl_vp8_frame - VP8 frame parameters\n\n @segment: segmentation parameters. See &v4l2_vp8_segment for more details\n @lf: loop filter parameters. See &v4l2_vp8_loop_filter for more details\n @quant: quantization parameters. See &v4l2_vp8_quantization for more details\n @entropy: update probabilities. See &v4l2_vp8_entropy for more details\n @coder_state: boolean coder state. See &v4l2_vp8_entropy_coder_state for more details\n @width: frame width.\n @height: frame height.\n @horizontal_scale: horizontal scaling factor.\n @vertical_scale: vertical scaling factor.\n @version: bitstream version.\n @prob_skip_false: frame header syntax element.\n @prob_intra: frame header syntax element.\n @prob_last: frame header syntax element.\n @prob_gf: frame header syntax element.\n @num_dct_parts: number of DCT coefficients partitions.\n @first_part_size: size of the first partition, i.e. the control partition.\n @first_part_header_bits: size in bits of the first partition header portion.\n @dct_part_sizes: DCT coefficients sizes.\n @last_frame_ts: \"last\" reference buffer timestamp.\n The timestamp refers to the timestamp field in struct v4l2_buffer.\n Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.\n @golden_frame_ts: \"golden\" reference buffer timestamp.\n @alt_frame_ts: \"alt\" reference buffer timestamp.\n @flags: see V4L2_VP8_FRAME_FLAG_{}."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_vp8_frame {
pub segment: v4l2_vp8_segment,
pub lf: v4l2_vp8_loop_filter,
pub quant: v4l2_vp8_quantization,
pub entropy: v4l2_vp8_entropy,
pub coder_state: v4l2_vp8_entropy_coder_state,
pub width: __u16,
pub height: __u16,
pub horizontal_scale: __u8,
pub vertical_scale: __u8,
pub version: __u8,
pub prob_skip_false: __u8,
pub prob_intra: __u8,
pub prob_last: __u8,
pub prob_gf: __u8,
pub num_dct_parts: __u8,
pub first_part_size: __u32,
pub first_part_header_bits: __u32,
pub dct_part_sizes: [__u32; 8usize],
pub last_frame_ts: __u64,
pub golden_frame_ts: __u64,
pub alt_frame_ts: __u64,
pub flags: __u64,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_vp8_frame() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_vp8_frame> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_vp8_frame>(),
1232usize,
concat!("Size of: ", stringify!(v4l2_ctrl_vp8_frame))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_vp8_frame>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_vp8_frame))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).segment) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(segment)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lf) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(lf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).quant) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(quant)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).entropy) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(entropy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).coder_state) as usize - ptr as usize },
1144usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(coder_state)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
1148usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
1150usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).horizontal_scale) as usize - ptr as usize },
1152usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(horizontal_scale)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vertical_scale) as usize - ptr as usize },
1153usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(vertical_scale)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1154usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).prob_skip_false) as usize - ptr as usize },
1155usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(prob_skip_false)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).prob_intra) as usize - ptr as usize },
1156usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(prob_intra)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).prob_last) as usize - ptr as usize },
1157usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(prob_last)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).prob_gf) as usize - ptr as usize },
1158usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(prob_gf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_dct_parts) as usize - ptr as usize },
1159usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(num_dct_parts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).first_part_size) as usize - ptr as usize },
1160usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(first_part_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).first_part_header_bits) as usize - ptr as usize },
1164usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(first_part_header_bits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dct_part_sizes) as usize - ptr as usize },
1168usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(dct_part_sizes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).last_frame_ts) as usize - ptr as usize },
1200usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(last_frame_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).golden_frame_ts) as usize - ptr as usize },
1208usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(golden_frame_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alt_frame_ts) as usize - ptr as usize },
1216usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(alt_frame_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1224usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp8_frame),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_mpeg2_sequence - MPEG-2 sequence header\n\n All the members on this structure match the sequence header and sequence\n extension syntaxes as specified by the MPEG-2 specification.\n\n Fields horizontal_size, vertical_size and vbv_buffer_size are a\n combination of respective _value and extension syntax elements,\n as described in section 6.3.3 \"Sequence header\".\n\n @horizontal_size: combination of elements horizontal_size_value and\n horizontal_size_extension.\n @vertical_size: combination of elements vertical_size_value and\n vertical_size_extension.\n @vbv_buffer_size: combination of elements vbv_buffer_size_value and\n vbv_buffer_size_extension.\n @profile_and_level_indication: see MPEG-2 specification.\n @chroma_format: see MPEG-2 specification.\n @flags: see V4L2_MPEG2_SEQ_FLAG_{}."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_mpeg2_sequence {
pub horizontal_size: __u16,
pub vertical_size: __u16,
pub vbv_buffer_size: __u32,
pub profile_and_level_indication: __u16,
pub chroma_format: __u8,
pub flags: __u8,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_mpeg2_sequence() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_mpeg2_sequence> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_mpeg2_sequence>(),
12usize,
concat!("Size of: ", stringify!(v4l2_ctrl_mpeg2_sequence))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_mpeg2_sequence>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_mpeg2_sequence))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).horizontal_size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_sequence),
"::",
stringify!(horizontal_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vertical_size) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_sequence),
"::",
stringify!(vertical_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vbv_buffer_size) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_sequence),
"::",
stringify!(vbv_buffer_size)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).profile_and_level_indication) as usize - ptr as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_sequence),
"::",
stringify!(profile_and_level_indication)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_format) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_sequence),
"::",
stringify!(chroma_format)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_sequence),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_mpeg2_picture - MPEG-2 picture header\n\n All the members on this structure match the picture header and picture\n coding extension syntaxes as specified by the MPEG-2 specification.\n\n @backward_ref_ts: timestamp of the V4L2 capture buffer to use as\n reference for backward prediction.\n @forward_ref_ts: timestamp of the V4L2 capture buffer to use as\n reference for forward prediction. These timestamp refers to the\n timestamp field in struct v4l2_buffer. Use v4l2_timeval_to_ns()\n to convert the struct timeval to a __u64.\n @flags: see V4L2_MPEG2_PIC_FLAG_{}.\n @f_code: see MPEG-2 specification.\n @picture_coding_type: see MPEG-2 specification.\n @picture_structure: see V4L2_MPEG2_PIC_{}_FIELD.\n @intra_dc_precision: see MPEG-2 specification.\n @reserved: padding field. Should be zeroed by applications."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_mpeg2_picture {
pub backward_ref_ts: __u64,
pub forward_ref_ts: __u64,
pub flags: __u32,
pub f_code: [[__u8; 2usize]; 2usize],
pub picture_coding_type: __u8,
pub picture_structure: __u8,
pub intra_dc_precision: __u8,
pub reserved: [__u8; 5usize],
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_mpeg2_picture() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_mpeg2_picture> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_mpeg2_picture>(),
32usize,
concat!("Size of: ", stringify!(v4l2_ctrl_mpeg2_picture))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_mpeg2_picture>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_mpeg2_picture))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).backward_ref_ts) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(backward_ref_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).forward_ref_ts) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(forward_ref_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).f_code) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(f_code)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).picture_coding_type) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(picture_coding_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).picture_structure) as usize - ptr as usize },
25usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(picture_structure)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).intra_dc_precision) as usize - ptr as usize },
26usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(intra_dc_precision)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
27usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_picture),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_ctrl_mpeg2_quantisation - MPEG-2 quantisation\n\n Quantisation matrices as specified by section 6.3.7\n \"Quant matrix extension\".\n\n @intra_quantiser_matrix: The quantisation matrix coefficients\n for intra-coded frames, in zigzag scanning order. It is relevant\n for both luma and chroma components, although it can be superseded\n by the chroma-specific matrix for non-4:2:0 YUV formats.\n @non_intra_quantiser_matrix: The quantisation matrix coefficients\n for non-intra-coded frames, in zigzag scanning order. It is relevant\n for both luma and chroma components, although it can be superseded\n by the chroma-specific matrix for non-4:2:0 YUV formats.\n @chroma_intra_quantiser_matrix: The quantisation matrix coefficients\n for the chominance component of intra-coded frames, in zigzag scanning\n order. Only relevant for 4:2:2 and 4:4:4 YUV formats.\n @chroma_non_intra_quantiser_matrix: The quantisation matrix coefficients\n for the chrominance component of non-intra-coded frames, in zigzag scanning\n order. Only relevant for 4:2:2 and 4:4:4 YUV formats."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_mpeg2_quantisation {
pub intra_quantiser_matrix: [__u8; 64usize],
pub non_intra_quantiser_matrix: [__u8; 64usize],
pub chroma_intra_quantiser_matrix: [__u8; 64usize],
pub chroma_non_intra_quantiser_matrix: [__u8; 64usize],
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_mpeg2_quantisation() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_mpeg2_quantisation> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_mpeg2_quantisation>(),
256usize,
concat!("Size of: ", stringify!(v4l2_ctrl_mpeg2_quantisation))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_mpeg2_quantisation>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_mpeg2_quantisation))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).intra_quantiser_matrix) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_quantisation),
"::",
stringify!(intra_quantiser_matrix)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).non_intra_quantiser_matrix) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_quantisation),
"::",
stringify!(non_intra_quantiser_matrix)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).chroma_intra_quantiser_matrix) as usize - ptr as usize
},
128usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_quantisation),
"::",
stringify!(chroma_intra_quantiser_matrix)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).chroma_non_intra_quantiser_matrix) as usize - ptr as usize
},
192usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_mpeg2_quantisation),
"::",
stringify!(chroma_non_intra_quantiser_matrix)
)
);
}
pub const v4l2_stateless_hevc_decode_mode_V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED:
v4l2_stateless_hevc_decode_mode = 0;
pub const v4l2_stateless_hevc_decode_mode_V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED:
v4l2_stateless_hevc_decode_mode = 1;
pub type v4l2_stateless_hevc_decode_mode = ::std::os::raw::c_uint;
pub const v4l2_stateless_hevc_start_code_V4L2_STATELESS_HEVC_START_CODE_NONE:
v4l2_stateless_hevc_start_code = 0;
pub const v4l2_stateless_hevc_start_code_V4L2_STATELESS_HEVC_START_CODE_ANNEX_B:
v4l2_stateless_hevc_start_code = 1;
pub type v4l2_stateless_hevc_start_code = ::std::os::raw::c_uint;
#[doc = " struct v4l2_ctrl_hevc_sps - ITU-T Rec. H.265: Sequence parameter set\n\n @video_parameter_set_id: specifies the value of the\n\t\t\tvps_video_parameter_set_id of the active VPS\n @seq_parameter_set_id: provides an identifier for the SPS for\n\t\t\t reference by other syntax elements\n @pic_width_in_luma_samples:\tspecifies the width of each decoded picture\n\t\t\t\tin units of luma samples\n @pic_height_in_luma_samples: specifies the height of each decoded picture\n\t\t\t\tin units of luma samples\n @bit_depth_luma_minus8: this value plus 8specifies the bit depth of the\n samples of the luma array\n @bit_depth_chroma_minus8: this value plus 8 specifies the bit depth of the\n samples of the chroma arrays\n @log2_max_pic_order_cnt_lsb_minus4: this value plus 4 specifies the value of\n the variable MaxPicOrderCntLsb\n @sps_max_dec_pic_buffering_minus1: this value plus 1 specifies the maximum\n required size of the decoded picture\n buffer for the codec video sequence\n @sps_max_num_reorder_pics: indicates the maximum allowed number of pictures\n @sps_max_latency_increase_plus1: not equal to 0 is used to compute the\n\t\t\t\t value of SpsMaxLatencyPictures array\n @log2_min_luma_coding_block_size_minus3: plus 3 specifies the minimum\n\t\t\t\t\t luma coding block size\n @log2_diff_max_min_luma_coding_block_size: specifies the difference between\n\t\t\t\t\t the maximum and minimum luma\n\t\t\t\t\t coding block size\n @log2_min_luma_transform_block_size_minus2: plus 2 specifies the minimum luma\n\t\t\t\t\t transform block size\n @log2_diff_max_min_luma_transform_block_size: specifies the difference between\n\t\t\t\t\t\t the maximum and minimum luma\n\t\t\t\t\t\t transform block size\n @max_transform_hierarchy_depth_inter: specifies the maximum hierarchy\n\t\t\t\t\t depth for transform units of\n\t\t\t\t\t coding units coded in inter\n\t\t\t\t\t prediction mode\n @max_transform_hierarchy_depth_intra: specifies the maximum hierarchy\n\t\t\t\t\t depth for transform units of\n\t\t\t\t\t coding units coded in intra\n\t\t\t\t\t prediction mode\n @pcm_sample_bit_depth_luma_minus1: this value plus 1 specifies the number of\n bits used to represent each of PCM sample\n values of the luma component\n @pcm_sample_bit_depth_chroma_minus1: this value plus 1 specifies the number\n of bits used to represent each of PCM\n sample values of the chroma components\n @log2_min_pcm_luma_coding_block_size_minus3: this value plus 3 specifies the\n minimum size of coding blocks\n @log2_diff_max_min_pcm_luma_coding_block_size: specifies the difference between\n\t\t\t\t\t\t the maximum and minimum size of\n\t\t\t\t\t\t coding blocks\n @num_short_term_ref_pic_sets: specifies the number of st_ref_pic_set()\n\t\t\t\t syntax structures included in the SPS\n @num_long_term_ref_pics_sps: specifies the number of candidate long-term\n\t\t\t\treference pictures that are specified in the SPS\n @chroma_format_idc: specifies the chroma sampling\n @sps_max_sub_layers_minus1: this value plus 1 specifies the maximum number\n of temporal sub-layers\n @reserved: padding field. Should be zeroed by applications.\n @flags: see V4L2_HEVC_SPS_FLAG_{}"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_hevc_sps {
pub video_parameter_set_id: __u8,
pub seq_parameter_set_id: __u8,
pub pic_width_in_luma_samples: __u16,
pub pic_height_in_luma_samples: __u16,
pub bit_depth_luma_minus8: __u8,
pub bit_depth_chroma_minus8: __u8,
pub log2_max_pic_order_cnt_lsb_minus4: __u8,
pub sps_max_dec_pic_buffering_minus1: __u8,
pub sps_max_num_reorder_pics: __u8,
pub sps_max_latency_increase_plus1: __u8,
pub log2_min_luma_coding_block_size_minus3: __u8,
pub log2_diff_max_min_luma_coding_block_size: __u8,
pub log2_min_luma_transform_block_size_minus2: __u8,
pub log2_diff_max_min_luma_transform_block_size: __u8,
pub max_transform_hierarchy_depth_inter: __u8,
pub max_transform_hierarchy_depth_intra: __u8,
pub pcm_sample_bit_depth_luma_minus1: __u8,
pub pcm_sample_bit_depth_chroma_minus1: __u8,
pub log2_min_pcm_luma_coding_block_size_minus3: __u8,
pub log2_diff_max_min_pcm_luma_coding_block_size: __u8,
pub num_short_term_ref_pic_sets: __u8,
pub num_long_term_ref_pics_sps: __u8,
pub chroma_format_idc: __u8,
pub sps_max_sub_layers_minus1: __u8,
pub reserved: [__u8; 6usize],
pub flags: __u64,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_hevc_sps() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_hevc_sps> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_hevc_sps>(),
40usize,
concat!("Size of: ", stringify!(v4l2_ctrl_hevc_sps))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_hevc_sps>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_hevc_sps))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).video_parameter_set_id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(video_parameter_set_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seq_parameter_set_id) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(seq_parameter_set_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_width_in_luma_samples) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(pic_width_in_luma_samples)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_height_in_luma_samples) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(pic_height_in_luma_samples)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_luma_minus8) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(bit_depth_luma_minus8)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bit_depth_chroma_minus8) as usize - ptr as usize },
7usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(bit_depth_chroma_minus8)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_max_pic_order_cnt_lsb_minus4) as usize - ptr as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(log2_max_pic_order_cnt_lsb_minus4)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).sps_max_dec_pic_buffering_minus1) as usize - ptr as usize
},
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(sps_max_dec_pic_buffering_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sps_max_num_reorder_pics) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(sps_max_num_reorder_pics)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).sps_max_latency_increase_plus1) as usize - ptr as usize
},
11usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(sps_max_latency_increase_plus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_min_luma_coding_block_size_minus3) as usize
- ptr as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(log2_min_luma_coding_block_size_minus3)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_diff_max_min_luma_coding_block_size) as usize
- ptr as usize
},
13usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(log2_diff_max_min_luma_coding_block_size)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_min_luma_transform_block_size_minus2) as usize
- ptr as usize
},
14usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(log2_min_luma_transform_block_size_minus2)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_diff_max_min_luma_transform_block_size) as usize
- ptr as usize
},
15usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(log2_diff_max_min_luma_transform_block_size)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).max_transform_hierarchy_depth_inter) as usize - ptr as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(max_transform_hierarchy_depth_inter)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).max_transform_hierarchy_depth_intra) as usize - ptr as usize
},
17usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(max_transform_hierarchy_depth_intra)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).pcm_sample_bit_depth_luma_minus1) as usize - ptr as usize
},
18usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(pcm_sample_bit_depth_luma_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).pcm_sample_bit_depth_chroma_minus1) as usize - ptr as usize
},
19usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(pcm_sample_bit_depth_chroma_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_min_pcm_luma_coding_block_size_minus3) as usize
- ptr as usize
},
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(log2_min_pcm_luma_coding_block_size_minus3)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_diff_max_min_pcm_luma_coding_block_size) as usize
- ptr as usize
},
21usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(log2_diff_max_min_pcm_luma_coding_block_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_short_term_ref_pic_sets) as usize - ptr as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(num_short_term_ref_pic_sets)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_long_term_ref_pics_sps) as usize - ptr as usize },
23usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(num_long_term_ref_pics_sps)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_format_idc) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(chroma_format_idc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sps_max_sub_layers_minus1) as usize - ptr as usize },
25usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(sps_max_sub_layers_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
26usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_sps),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_hevc_pps - ITU-T Rec. H.265: Picture parameter set\n\n @pic_parameter_set_id: identifies the PPS for reference by other\n\t\t\t syntax elements\n @num_extra_slice_header_bits: specifies the number of extra slice header\n\t\t\t\t bits that are present in the slice header RBSP\n\t\t\t\t for coded pictures referring to the PPS.\n @num_ref_idx_l0_default_active_minus1: this value plus 1 specifies the\n inferred value of num_ref_idx_l0_active_minus1\n @num_ref_idx_l1_default_active_minus1: this value plus 1 specifies the\n inferred value of num_ref_idx_l1_active_minus1\n @init_qp_minus26: this value plus 26 specifies the initial value of SliceQp Y for\n\t\t each slice referring to the PPS\n @diff_cu_qp_delta_depth: specifies the difference between the luma coding\n\t\t\t tree block size and the minimum luma coding block\n\t\t\t size of coding units that convey cu_qp_delta_abs\n\t\t\t and cu_qp_delta_sign_flag\n @pps_cb_qp_offset: specify the offsets to the luma quantization parameter Cb\n @pps_cr_qp_offset: specify the offsets to the luma quantization parameter Cr\n @num_tile_columns_minus1: this value plus 1 specifies the number of tile columns\n\t\t\t partitioning the picture\n @num_tile_rows_minus1: this value plus 1 specifies the number of tile rows partitioning\n\t\t\t the picture\n @column_width_minus1: this value plus 1 specifies the width of the each tile column in\n\t\t\t units of coding tree blocks\n @row_height_minus1: this value plus 1 specifies the height of the each tile row in\n\t\t units of coding tree blocks\n @pps_beta_offset_div2: specify the default deblocking parameter offsets for\n\t\t\t beta divided by 2\n @pps_tc_offset_div2: specify the default deblocking parameter offsets for tC\n\t\t\tdivided by 2\n @log2_parallel_merge_level_minus2: this value plus 2 specifies the value of\n the variable Log2ParMrgLevel\n @reserved: padding field. Should be zeroed by applications.\n @flags: see V4L2_HEVC_PPS_FLAG_{}"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_hevc_pps {
pub pic_parameter_set_id: __u8,
pub num_extra_slice_header_bits: __u8,
pub num_ref_idx_l0_default_active_minus1: __u8,
pub num_ref_idx_l1_default_active_minus1: __u8,
pub init_qp_minus26: __s8,
pub diff_cu_qp_delta_depth: __u8,
pub pps_cb_qp_offset: __s8,
pub pps_cr_qp_offset: __s8,
pub num_tile_columns_minus1: __u8,
pub num_tile_rows_minus1: __u8,
pub column_width_minus1: [__u8; 20usize],
pub row_height_minus1: [__u8; 22usize],
pub pps_beta_offset_div2: __s8,
pub pps_tc_offset_div2: __s8,
pub log2_parallel_merge_level_minus2: __u8,
pub reserved: __u8,
pub flags: __u64,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_hevc_pps() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_hevc_pps> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_hevc_pps>(),
64usize,
concat!("Size of: ", stringify!(v4l2_ctrl_hevc_pps))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_hevc_pps>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_hevc_pps))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_parameter_set_id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(pic_parameter_set_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_extra_slice_header_bits) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(num_extra_slice_header_bits)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l0_default_active_minus1) as usize
- ptr as usize
},
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(num_ref_idx_l0_default_active_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l1_default_active_minus1) as usize
- ptr as usize
},
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(num_ref_idx_l1_default_active_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).init_qp_minus26) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(init_qp_minus26)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).diff_cu_qp_delta_depth) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(diff_cu_qp_delta_depth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pps_cb_qp_offset) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(pps_cb_qp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pps_cr_qp_offset) as usize - ptr as usize },
7usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(pps_cr_qp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_tile_columns_minus1) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(num_tile_columns_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_tile_rows_minus1) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(num_tile_rows_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).column_width_minus1) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(column_width_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).row_height_minus1) as usize - ptr as usize },
30usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(row_height_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pps_beta_offset_div2) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(pps_beta_offset_div2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pps_tc_offset_div2) as usize - ptr as usize },
53usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(pps_tc_offset_div2)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).log2_parallel_merge_level_minus2) as usize - ptr as usize
},
54usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(log2_parallel_merge_level_minus2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
55usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_pps),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_hevc_dpb_entry - HEVC decoded picture buffer entry\n\n @timestamp: timestamp of the V4L2 capture buffer to use as reference.\n @flags: long term flag for the reference frame\n @field_pic: whether the reference is a field picture or a frame.\n @reserved: padding field. Should be zeroed by applications.\n @pic_order_cnt_val: the picture order count of the current picture."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_hevc_dpb_entry {
pub timestamp: __u64,
pub flags: __u8,
pub field_pic: __u8,
pub reserved: __u16,
pub pic_order_cnt_val: __s32,
}
#[test]
fn bindgen_test_layout_v4l2_hevc_dpb_entry() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_hevc_dpb_entry> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_hevc_dpb_entry>(),
16usize,
concat!("Size of: ", stringify!(v4l2_hevc_dpb_entry))
);
assert_eq!(
::std::mem::align_of::<v4l2_hevc_dpb_entry>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_hevc_dpb_entry))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_dpb_entry),
"::",
stringify!(timestamp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_dpb_entry),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field_pic) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_dpb_entry),
"::",
stringify!(field_pic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_dpb_entry),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_order_cnt_val) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_dpb_entry),
"::",
stringify!(pic_order_cnt_val)
)
);
}
#[doc = " struct v4l2_hevc_pred_weight_table - HEVC weighted prediction parameters\n\n @delta_luma_weight_l0: the difference of the weighting factor applied\n\t\t\t to the luma prediction value for list 0\n @luma_offset_l0: the additive offset applied to the luma prediction value\n\t\t for list 0\n @delta_chroma_weight_l0: the difference of the weighting factor applied\n\t\t\t to the chroma prediction values for list 0\n @chroma_offset_l0: the difference of the additive offset applied to\n\t\t the chroma prediction values for list 0\n @delta_luma_weight_l1: the difference of the weighting factor applied\n\t\t\t to the luma prediction value for list 1\n @luma_offset_l1: the additive offset applied to the luma prediction value\n\t\t for list 1\n @delta_chroma_weight_l1: the difference of the weighting factor applied\n\t\t\t to the chroma prediction values for list 1\n @chroma_offset_l1: the difference of the additive offset applied to\n\t\t the chroma prediction values for list 1\n @luma_log2_weight_denom: the base 2 logarithm of the denominator for\n\t\t\t all luma weighting factors\n @delta_chroma_log2_weight_denom: the difference of the base 2 logarithm\n\t\t\t\t of the denominator for all chroma\n\t\t\t\t weighting factors"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_hevc_pred_weight_table {
pub delta_luma_weight_l0: [__s8; 16usize],
pub luma_offset_l0: [__s8; 16usize],
pub delta_chroma_weight_l0: [[__s8; 2usize]; 16usize],
pub chroma_offset_l0: [[__s8; 2usize]; 16usize],
pub delta_luma_weight_l1: [__s8; 16usize],
pub luma_offset_l1: [__s8; 16usize],
pub delta_chroma_weight_l1: [[__s8; 2usize]; 16usize],
pub chroma_offset_l1: [[__s8; 2usize]; 16usize],
pub luma_log2_weight_denom: __u8,
pub delta_chroma_log2_weight_denom: __s8,
}
#[test]
fn bindgen_test_layout_v4l2_hevc_pred_weight_table() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_hevc_pred_weight_table> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_hevc_pred_weight_table>(),
194usize,
concat!("Size of: ", stringify!(v4l2_hevc_pred_weight_table))
);
assert_eq!(
::std::mem::align_of::<v4l2_hevc_pred_weight_table>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_hevc_pred_weight_table))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_luma_weight_l0) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(delta_luma_weight_l0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).luma_offset_l0) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(luma_offset_l0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_chroma_weight_l0) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(delta_chroma_weight_l0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_offset_l0) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(chroma_offset_l0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_luma_weight_l1) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(delta_luma_weight_l1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).luma_offset_l1) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(luma_offset_l1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_chroma_weight_l1) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(delta_chroma_weight_l1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chroma_offset_l1) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(chroma_offset_l1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).luma_log2_weight_denom) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(luma_log2_weight_denom)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).delta_chroma_log2_weight_denom) as usize - ptr as usize
},
193usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hevc_pred_weight_table),
"::",
stringify!(delta_chroma_log2_weight_denom)
)
);
}
#[doc = " struct v4l2_ctrl_hevc_slice_params - HEVC slice parameters\n\n This control is a dynamically sized 1-dimensional array,\n V4L2_CTRL_FLAG_DYNAMIC_ARRAY flag must be set when using it.\n\n @bit_size: size (in bits) of the current slice data\n @data_byte_offset: offset (in bytes) to the video data in the current slice data\n @num_entry_point_offsets: specifies the number of entry point offset syntax\n\t\t\t elements in the slice header.\n @nal_unit_type: specifies the coding type of the slice (B, P or I)\n @nuh_temporal_id_plus1: minus 1 specifies a temporal identifier for the NAL unit\n @slice_type: see V4L2_HEVC_SLICE_TYPE_{}\n @colour_plane_id: specifies the colour plane associated with the current slice\n @slice_pic_order_cnt: specifies the picture order count\n @num_ref_idx_l0_active_minus1: this value plus 1 specifies the maximum\n reference index for reference picture list 0\n that may be used to decode the slice\n @num_ref_idx_l1_active_minus1: this value plus 1 specifies the maximum\n reference index for reference picture list 1\n that may be used to decode the slice\n @collocated_ref_idx: specifies the reference index of the collocated picture used\n\t\t\tfor temporal motion vector prediction\n @five_minus_max_num_merge_cand: specifies the maximum number of merging\n\t\t\t\t motion vector prediction candidates supported in\n\t\t\t\t the slice subtracted from 5\n @slice_qp_delta: specifies the initial value of QpY to be used for the coding\n\t\t blocks in the slice\n @slice_cb_qp_offset: specifies a difference to be added to the value of pps_cb_qp_offset\n @slice_cr_qp_offset: specifies a difference to be added to the value of pps_cr_qp_offset\n @slice_act_y_qp_offset: screen content extension parameters\n @slice_act_cb_qp_offset: screen content extension parameters\n @slice_act_cr_qp_offset: screen content extension parameters\n @slice_beta_offset_div2: specify the deblocking parameter offsets for beta divided by 2\n @slice_tc_offset_div2: specify the deblocking parameter offsets for tC divided by 2\n @pic_struct: indicates whether a picture should be displayed as a frame or as one or\n\t\tmore fields\n @reserved0: padding field. Should be zeroed by applications.\n @slice_segment_addr: specifies the address of the first coding tree block in\n\t\t\tthe slice segment\n @ref_idx_l0: the list of L0 reference elements as indices in the DPB\n @ref_idx_l1: the list of L1 reference elements as indices in the DPB\n @short_term_ref_pic_set_size: specifies the size of short-term reference\n\t\t\t\t pictures set included in the SPS\n @long_term_ref_pic_set_size: specifies the size of long-term reference\n\t\t\t\tpictures set include in the SPS\n @pred_weight_table: the prediction weight coefficients for inter-picture\n\t\t prediction\n @reserved1: padding field. Should be zeroed by applications.\n @flags: see V4L2_HEVC_SLICE_PARAMS_FLAG_{}"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_hevc_slice_params {
pub bit_size: __u32,
pub data_byte_offset: __u32,
pub num_entry_point_offsets: __u32,
pub nal_unit_type: __u8,
pub nuh_temporal_id_plus1: __u8,
pub slice_type: __u8,
pub colour_plane_id: __u8,
pub slice_pic_order_cnt: __s32,
pub num_ref_idx_l0_active_minus1: __u8,
pub num_ref_idx_l1_active_minus1: __u8,
pub collocated_ref_idx: __u8,
pub five_minus_max_num_merge_cand: __u8,
pub slice_qp_delta: __s8,
pub slice_cb_qp_offset: __s8,
pub slice_cr_qp_offset: __s8,
pub slice_act_y_qp_offset: __s8,
pub slice_act_cb_qp_offset: __s8,
pub slice_act_cr_qp_offset: __s8,
pub slice_beta_offset_div2: __s8,
pub slice_tc_offset_div2: __s8,
pub pic_struct: __u8,
pub reserved0: [__u8; 3usize],
pub slice_segment_addr: __u32,
pub ref_idx_l0: [__u8; 16usize],
pub ref_idx_l1: [__u8; 16usize],
pub short_term_ref_pic_set_size: __u16,
pub long_term_ref_pic_set_size: __u16,
pub pred_weight_table: v4l2_hevc_pred_weight_table,
pub reserved1: [__u8; 2usize],
pub flags: __u64,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_hevc_slice_params() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_hevc_slice_params> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_hevc_slice_params>(),
280usize,
concat!("Size of: ", stringify!(v4l2_ctrl_hevc_slice_params))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_hevc_slice_params>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_hevc_slice_params))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bit_size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(bit_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data_byte_offset) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(data_byte_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_entry_point_offsets) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(num_entry_point_offsets)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nal_unit_type) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(nal_unit_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nuh_temporal_id_plus1) as usize - ptr as usize },
13usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(nuh_temporal_id_plus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_type) as usize - ptr as usize },
14usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colour_plane_id) as usize - ptr as usize },
15usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(colour_plane_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_pic_order_cnt) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_pic_order_cnt)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l0_active_minus1) as usize - ptr as usize
},
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(num_ref_idx_l0_active_minus1)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).num_ref_idx_l1_active_minus1) as usize - ptr as usize
},
21usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(num_ref_idx_l1_active_minus1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).collocated_ref_idx) as usize - ptr as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(collocated_ref_idx)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).five_minus_max_num_merge_cand) as usize - ptr as usize
},
23usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(five_minus_max_num_merge_cand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_qp_delta) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_qp_delta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_cb_qp_offset) as usize - ptr as usize },
25usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_cb_qp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_cr_qp_offset) as usize - ptr as usize },
26usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_cr_qp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_act_y_qp_offset) as usize - ptr as usize },
27usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_act_y_qp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_act_cb_qp_offset) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_act_cb_qp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_act_cr_qp_offset) as usize - ptr as usize },
29usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_act_cr_qp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_beta_offset_div2) as usize - ptr as usize },
30usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_beta_offset_div2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_tc_offset_div2) as usize - ptr as usize },
31usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_tc_offset_div2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_struct) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(pic_struct)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize },
33usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(reserved0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).slice_segment_addr) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(slice_segment_addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ref_idx_l0) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(ref_idx_l0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ref_idx_l1) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(ref_idx_l1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).short_term_ref_pic_set_size) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(short_term_ref_pic_set_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).long_term_ref_pic_set_size) as usize - ptr as usize },
74usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(long_term_ref_pic_set_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pred_weight_table) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(pred_weight_table)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
270usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(reserved1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_slice_params),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_hevc_decode_params - HEVC decode parameters\n\n @pic_order_cnt_val: picture order count\n @short_term_ref_pic_set_size: specifies the size of short-term reference\n\t\t\t\t pictures set included in the SPS of the first slice\n @long_term_ref_pic_set_size: specifies the size of long-term reference\n\t\t\t\tpictures set include in the SPS of the first slice\n @num_active_dpb_entries: the number of entries in dpb\n @num_poc_st_curr_before: the number of reference pictures in the short-term\n\t\t\t set that come before the current frame\n @num_poc_st_curr_after: the number of reference pictures in the short-term\n\t\t\t set that come after the current frame\n @num_poc_lt_curr: the number of reference pictures in the long-term set\n @poc_st_curr_before: provides the index of the short term before references\n\t\t\tin DPB array\n @poc_st_curr_after: provides the index of the short term after references\n\t\t in DPB array\n @poc_lt_curr: provides the index of the long term references in DPB array\n @reserved: padding field. Should be zeroed by applications.\n @dpb: the decoded picture buffer, for meta-data about reference frames\n @flags: see V4L2_HEVC_DECODE_PARAM_FLAG_{}"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_hevc_decode_params {
pub pic_order_cnt_val: __s32,
pub short_term_ref_pic_set_size: __u16,
pub long_term_ref_pic_set_size: __u16,
pub num_active_dpb_entries: __u8,
pub num_poc_st_curr_before: __u8,
pub num_poc_st_curr_after: __u8,
pub num_poc_lt_curr: __u8,
pub poc_st_curr_before: [__u8; 16usize],
pub poc_st_curr_after: [__u8; 16usize],
pub poc_lt_curr: [__u8; 16usize],
pub reserved: [__u8; 4usize],
pub dpb: [v4l2_hevc_dpb_entry; 16usize],
pub flags: __u64,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_hevc_decode_params() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_hevc_decode_params> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_hevc_decode_params>(),
328usize,
concat!("Size of: ", stringify!(v4l2_ctrl_hevc_decode_params))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_hevc_decode_params>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_hevc_decode_params))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pic_order_cnt_val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(pic_order_cnt_val)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).short_term_ref_pic_set_size) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(short_term_ref_pic_set_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).long_term_ref_pic_set_size) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(long_term_ref_pic_set_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_active_dpb_entries) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(num_active_dpb_entries)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_poc_st_curr_before) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(num_poc_st_curr_before)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_poc_st_curr_after) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(num_poc_st_curr_after)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_poc_lt_curr) as usize - ptr as usize },
11usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(num_poc_lt_curr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).poc_st_curr_before) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(poc_st_curr_before)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).poc_st_curr_after) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(poc_st_curr_after)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).poc_lt_curr) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(poc_lt_curr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dpb) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(dpb)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
320usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_decode_params),
"::",
stringify!(flags)
)
);
}
#[doc = " struct v4l2_ctrl_hevc_scaling_matrix - HEVC scaling lists parameters\n\n @scaling_list_4x4: scaling list is used for the scaling process for\n\t\t transform coefficients. The values on each scaling\n\t\t list are expected in raster scan order\n @scaling_list_8x8: scaling list is used for the scaling process for\n\t\t transform coefficients. The values on each scaling\n\t\t list are expected in raster scan order\n @scaling_list_16x16:\tscaling list is used for the scaling process for\n\t\t\ttransform coefficients. The values on each scaling\n\t\t\tlist are expected in raster scan order\n @scaling_list_32x32:\tscaling list is used for the scaling process for\n\t\t\ttransform coefficients. The values on each scaling\n\t\t\tlist are expected in raster scan order\n @scaling_list_dc_coef_16x16:\tscaling list is used for the scaling process\n\t\t\t\tfor transform coefficients. The values on each\n\t\t\t\tscaling list are expected in raster scan order.\n @scaling_list_dc_coef_32x32:\tscaling list is used for the scaling process\n\t\t\t\tfor transform coefficients. The values on each\n\t\t\t\tscaling list are expected in raster scan order."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_hevc_scaling_matrix {
pub scaling_list_4x4: [[__u8; 16usize]; 6usize],
pub scaling_list_8x8: [[__u8; 64usize]; 6usize],
pub scaling_list_16x16: [[__u8; 64usize]; 6usize],
pub scaling_list_32x32: [[__u8; 64usize]; 2usize],
pub scaling_list_dc_coef_16x16: [__u8; 6usize],
pub scaling_list_dc_coef_32x32: [__u8; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_hevc_scaling_matrix() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_hevc_scaling_matrix> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_hevc_scaling_matrix>(),
1000usize,
concat!("Size of: ", stringify!(v4l2_ctrl_hevc_scaling_matrix))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_hevc_scaling_matrix>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_hevc_scaling_matrix))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_4x4) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_scaling_matrix),
"::",
stringify!(scaling_list_4x4)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_8x8) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_scaling_matrix),
"::",
stringify!(scaling_list_8x8)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_16x16) as usize - ptr as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_scaling_matrix),
"::",
stringify!(scaling_list_16x16)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_32x32) as usize - ptr as usize },
864usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_scaling_matrix),
"::",
stringify!(scaling_list_32x32)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_dc_coef_16x16) as usize - ptr as usize },
992usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_scaling_matrix),
"::",
stringify!(scaling_list_dc_coef_16x16)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scaling_list_dc_coef_32x32) as usize - ptr as usize },
998usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hevc_scaling_matrix),
"::",
stringify!(scaling_list_dc_coef_32x32)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_hdr10_cll_info {
pub max_content_light_level: __u16,
pub max_pic_average_light_level: __u16,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_hdr10_cll_info() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_hdr10_cll_info> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_hdr10_cll_info>(),
4usize,
concat!("Size of: ", stringify!(v4l2_ctrl_hdr10_cll_info))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_hdr10_cll_info>(),
2usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_hdr10_cll_info))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_content_light_level) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_cll_info),
"::",
stringify!(max_content_light_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_pic_average_light_level) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_cll_info),
"::",
stringify!(max_pic_average_light_level)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_hdr10_mastering_display {
pub display_primaries_x: [__u16; 3usize],
pub display_primaries_y: [__u16; 3usize],
pub white_point_x: __u16,
pub white_point_y: __u16,
pub max_display_mastering_luminance: __u32,
pub min_display_mastering_luminance: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_hdr10_mastering_display() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_hdr10_mastering_display> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_hdr10_mastering_display>(),
24usize,
concat!("Size of: ", stringify!(v4l2_ctrl_hdr10_mastering_display))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_hdr10_mastering_display>(),
4usize,
concat!(
"Alignment of ",
stringify!(v4l2_ctrl_hdr10_mastering_display)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).display_primaries_x) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_mastering_display),
"::",
stringify!(display_primaries_x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).display_primaries_y) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_mastering_display),
"::",
stringify!(display_primaries_y)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).white_point_x) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_mastering_display),
"::",
stringify!(white_point_x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).white_point_y) as usize - ptr as usize },
14usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_mastering_display),
"::",
stringify!(white_point_y)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).max_display_mastering_luminance) as usize - ptr as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_mastering_display),
"::",
stringify!(max_display_mastering_luminance)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).min_display_mastering_luminance) as usize - ptr as usize
},
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_hdr10_mastering_display),
"::",
stringify!(min_display_mastering_luminance)
)
);
}
#[doc = " struct v4l2_vp9_loop_filter - VP9 loop filter parameters\n\n @ref_deltas: contains the adjustment needed for the filter level based on the\n chosen reference frame. If this syntax element is not present in the bitstream,\n users should pass its last value.\n @mode_deltas: contains the adjustment needed for the filter level based on the\n chosen mode.\tIf this syntax element is not present in the bitstream, users should\n pass its last value.\n @level: indicates the loop filter strength.\n @sharpness: indicates the sharpness level.\n @flags: combination of V4L2_VP9_LOOP_FILTER_FLAG_{} flags.\n @reserved: padding field. Should be zeroed by applications.\n\n This structure contains all loop filter related parameters. See sections\n '7.2.8 Loop filter semantics' of the VP9 specification for more details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp9_loop_filter {
pub ref_deltas: [__s8; 4usize],
pub mode_deltas: [__s8; 2usize],
pub level: __u8,
pub sharpness: __u8,
pub flags: __u8,
pub reserved: [__u8; 7usize],
}
#[test]
fn bindgen_test_layout_v4l2_vp9_loop_filter() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp9_loop_filter> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp9_loop_filter>(),
16usize,
concat!("Size of: ", stringify!(v4l2_vp9_loop_filter))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp9_loop_filter>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_vp9_loop_filter))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ref_deltas) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_loop_filter),
"::",
stringify!(ref_deltas)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mode_deltas) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_loop_filter),
"::",
stringify!(mode_deltas)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_loop_filter),
"::",
stringify!(level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sharpness) as usize - ptr as usize },
7usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_loop_filter),
"::",
stringify!(sharpness)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_loop_filter),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_loop_filter),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_vp9_quantization - VP9 quantization parameters\n\n @base_q_idx: indicates the base frame qindex.\n @delta_q_y_dc: indicates the Y DC quantizer relative to base_q_idx.\n @delta_q_uv_dc: indicates the UV DC quantizer relative to base_q_idx.\n @delta_q_uv_ac: indicates the UV AC quantizer relative to base_q_idx.\n @reserved: padding field. Should be zeroed by applications.\n\n Encodes the quantization parameters. See section '7.2.9 Quantization params\n syntax' of the VP9 specification for more details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp9_quantization {
pub base_q_idx: __u8,
pub delta_q_y_dc: __s8,
pub delta_q_uv_dc: __s8,
pub delta_q_uv_ac: __s8,
pub reserved: [__u8; 4usize],
}
#[test]
fn bindgen_test_layout_v4l2_vp9_quantization() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp9_quantization> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp9_quantization>(),
8usize,
concat!("Size of: ", stringify!(v4l2_vp9_quantization))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp9_quantization>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_vp9_quantization))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base_q_idx) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_quantization),
"::",
stringify!(base_q_idx)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_q_y_dc) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_quantization),
"::",
stringify!(delta_q_y_dc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_q_uv_dc) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_quantization),
"::",
stringify!(delta_q_uv_dc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delta_q_uv_ac) as usize - ptr as usize },
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_quantization),
"::",
stringify!(delta_q_uv_ac)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_quantization),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_vp9_segmentation - VP9 segmentation parameters\n\n @feature_data: data attached to each feature. Data entry is only valid if\n the feature is enabled. The array shall be indexed with segment number as\n the first dimension (0..7) and one of V4L2_VP9_SEG_{} as the second dimension.\n @feature_enabled: bitmask defining which features are enabled in each segment.\n The value for each segment is a combination of V4L2_VP9_SEGMENT_FEATURE_ENABLED(id)\n values where id is one of V4L2_VP9_SEG_LVL_{}.\n @tree_probs: specifies the probability values to be used when decoding a\n Segment-ID. See '5.15. Segmentation map' section of the VP9 specification\n for more details.\n @pred_probs: specifies the probability values to be used when decoding a\n Predicted-Segment-ID. See '6.4.14. Get segment id syntax' section of :ref:`vp9`\n for more details.\n @flags: combination of V4L2_VP9_SEGMENTATION_FLAG_{} flags.\n @reserved: padding field. Should be zeroed by applications.\n\n Encodes the quantization parameters. See section '7.2.10 Segmentation params syntax' of\n the VP9 specification for more details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp9_segmentation {
pub feature_data: [[__s16; 4usize]; 8usize],
pub feature_enabled: [__u8; 8usize],
pub tree_probs: [__u8; 7usize],
pub pred_probs: [__u8; 3usize],
pub flags: __u8,
pub reserved: [__u8; 5usize],
}
#[test]
fn bindgen_test_layout_v4l2_vp9_segmentation() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp9_segmentation> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp9_segmentation>(),
88usize,
concat!("Size of: ", stringify!(v4l2_vp9_segmentation))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp9_segmentation>(),
2usize,
concat!("Alignment of ", stringify!(v4l2_vp9_segmentation))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).feature_data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_segmentation),
"::",
stringify!(feature_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).feature_enabled) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_segmentation),
"::",
stringify!(feature_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tree_probs) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_segmentation),
"::",
stringify!(tree_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pred_probs) as usize - ptr as usize },
79usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_segmentation),
"::",
stringify!(pred_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
82usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_segmentation),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
83usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_segmentation),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_ctrl_vp9_frame - VP9 frame decoding control\n\n @lf: loop filter parameters. See &v4l2_vp9_loop_filter for more details.\n @quant: quantization parameters. See &v4l2_vp9_quantization for more details.\n @seg: segmentation parameters. See &v4l2_vp9_segmentation for more details.\n @flags: combination of V4L2_VP9_FRAME_FLAG_{} flags.\n @compressed_header_size: compressed header size in bytes.\n @uncompressed_header_size: uncompressed header size in bytes.\n @frame_width_minus_1: add 1 to it and you'll get the frame width expressed in pixels.\n @frame_height_minus_1: add 1 to it and you'll get the frame height expressed in pixels.\n @render_width_minus_1: add 1 to it and you'll get the expected render width expressed in\n pixels. This is not used during the decoding process but might be used by HW scalers\n to prepare a frame that's ready for scanout.\n @render_height_minus_1: add 1 to it and you'll get the expected render height expressed in\n pixels. This is not used during the decoding process but might be used by HW scalers\n to prepare a frame that's ready for scanout.\n @last_frame_ts: \"last\" reference buffer timestamp.\n The timestamp refers to the timestamp field in struct v4l2_buffer.\n Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.\n @golden_frame_ts: \"golden\" reference buffer timestamp.\n The timestamp refers to the timestamp field in struct v4l2_buffer.\n Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.\n @alt_frame_ts: \"alt\" reference buffer timestamp.\n The timestamp refers to the timestamp field in struct v4l2_buffer.\n Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.\n @ref_frame_sign_bias: a bitfield specifying whether the sign bias is set for a given\n reference frame. Either of V4L2_VP9_SIGN_BIAS_{}.\n @reset_frame_context: specifies whether the frame context should be reset to default values.\n Either of V4L2_VP9_RESET_FRAME_CTX_{}.\n @frame_context_idx: frame context that should be used/updated.\n @profile: VP9 profile. Can be 0, 1, 2 or 3.\n @bit_depth: bits per components. Can be 8, 10 or 12. Note that not all profiles support\n 10 and/or 12 bits depths.\n @interpolation_filter: specifies the filter selection used for performing inter prediction.\n Set to one of V4L2_VP9_INTERP_FILTER_{}.\n @tile_cols_log2: specifies the base 2 logarithm of the width of each tile (where the width\n is measured in units of 8x8 blocks). Shall be less than or equal to 6.\n @tile_rows_log2: specifies the base 2 logarithm of the height of each tile (where the height\n is measured in units of 8x8 blocks).\n @reference_mode: specifies the type of inter prediction to be used.\n Set to one of V4L2_VP9_REFERENCE_MODE_{}.\n @reserved: padding field. Should be zeroed by applications."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_vp9_frame {
pub lf: v4l2_vp9_loop_filter,
pub quant: v4l2_vp9_quantization,
pub seg: v4l2_vp9_segmentation,
pub flags: __u32,
pub compressed_header_size: __u16,
pub uncompressed_header_size: __u16,
pub frame_width_minus_1: __u16,
pub frame_height_minus_1: __u16,
pub render_width_minus_1: __u16,
pub render_height_minus_1: __u16,
pub last_frame_ts: __u64,
pub golden_frame_ts: __u64,
pub alt_frame_ts: __u64,
pub ref_frame_sign_bias: __u8,
pub reset_frame_context: __u8,
pub frame_context_idx: __u8,
pub profile: __u8,
pub bit_depth: __u8,
pub interpolation_filter: __u8,
pub tile_cols_log2: __u8,
pub tile_rows_log2: __u8,
pub reference_mode: __u8,
pub reserved: [__u8; 7usize],
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_vp9_frame() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_vp9_frame> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_vp9_frame>(),
168usize,
concat!("Size of: ", stringify!(v4l2_ctrl_vp9_frame))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_vp9_frame>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_vp9_frame))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lf) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(lf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).quant) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(quant)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seg) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(seg)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).compressed_header_size) as usize - ptr as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(compressed_header_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).uncompressed_header_size) as usize - ptr as usize },
118usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(uncompressed_header_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_width_minus_1) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(frame_width_minus_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_height_minus_1) as usize - ptr as usize },
122usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(frame_height_minus_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).render_width_minus_1) as usize - ptr as usize },
124usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(render_width_minus_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).render_height_minus_1) as usize - ptr as usize },
126usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(render_height_minus_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).last_frame_ts) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(last_frame_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).golden_frame_ts) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(golden_frame_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alt_frame_ts) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(alt_frame_ts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ref_frame_sign_bias) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(ref_frame_sign_bias)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reset_frame_context) as usize - ptr as usize },
153usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(reset_frame_context)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_context_idx) as usize - ptr as usize },
154usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(frame_context_idx)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).profile) as usize - ptr as usize },
155usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(profile)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bit_depth) as usize - ptr as usize },
156usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(bit_depth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).interpolation_filter) as usize - ptr as usize },
157usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(interpolation_filter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tile_cols_log2) as usize - ptr as usize },
158usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(tile_cols_log2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tile_rows_log2) as usize - ptr as usize },
159usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(tile_rows_log2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reference_mode) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(reference_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
161usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_frame),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_vp9_mv_probs - VP9 Motion vector probability updates\n @joint: motion vector joint probability updates.\n @sign: motion vector sign probability updates.\n @classes: motion vector class probability updates.\n @class0_bit: motion vector class0 bit probability updates.\n @bits: motion vector bits probability updates.\n @class0_fr: motion vector class0 fractional bit probability updates.\n @fr: motion vector fractional bit probability updates.\n @class0_hp: motion vector class0 high precision fractional bit probability updates.\n @hp: motion vector high precision fractional bit probability updates.\n\n This structure contains new values of motion vector probabilities.\n A value of zero in an array element means there is no update of the relevant probability.\n See `struct v4l2_vp9_prob_updates` for details."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vp9_mv_probs {
pub joint: [__u8; 3usize],
pub sign: [__u8; 2usize],
pub classes: [[__u8; 10usize]; 2usize],
pub class0_bit: [__u8; 2usize],
pub bits: [[__u8; 10usize]; 2usize],
pub class0_fr: [[[__u8; 3usize]; 2usize]; 2usize],
pub fr: [[__u8; 3usize]; 2usize],
pub class0_hp: [__u8; 2usize],
pub hp: [__u8; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_vp9_mv_probs() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vp9_mv_probs> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vp9_mv_probs>(),
69usize,
concat!("Size of: ", stringify!(v4l2_vp9_mv_probs))
);
assert_eq!(
::std::mem::align_of::<v4l2_vp9_mv_probs>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_vp9_mv_probs))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).joint) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(joint)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(sign)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).classes) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(classes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).class0_bit) as usize - ptr as usize },
25usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(class0_bit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bits) as usize - ptr as usize },
27usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(bits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).class0_fr) as usize - ptr as usize },
47usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(class0_fr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fr) as usize - ptr as usize },
59usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(fr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).class0_hp) as usize - ptr as usize },
65usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(class0_hp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hp) as usize - ptr as usize },
67usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vp9_mv_probs),
"::",
stringify!(hp)
)
);
}
#[doc = " struct v4l2_ctrl_vp9_compressed_hdr - VP9 probability updates control\n @tx_mode: specifies the TX mode. Set to one of V4L2_VP9_TX_MODE_{}.\n @tx8: TX 8x8 probability updates.\n @tx16: TX 16x16 probability updates.\n @tx32: TX 32x32 probability updates.\n @coef: coefficient probability updates.\n @skip: skip probability updates.\n @inter_mode: inter mode probability updates.\n @interp_filter: interpolation filter probability updates.\n @is_inter: is inter-block probability updates.\n @comp_mode: compound prediction mode probability updates.\n @single_ref: single ref probability updates.\n @comp_ref: compound ref probability updates.\n @y_mode: Y prediction mode probability updates.\n @uv_mode: UV prediction mode probability updates.\n @partition: partition probability updates.\n @mv: motion vector probability updates.\n\n This structure holds the probabilities update as parsed in the compressed\n header (Spec 6.3). These values represent the value of probability update after\n being translated with inv_map_table[] (see 6.3.5). A value of zero in an array element\n means that there is no update of the relevant probability.\n\n This control is optional and needs to be used when dealing with the hardware which is\n not capable of parsing the compressed header itself. Only drivers which need it will\n implement it."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_ctrl_vp9_compressed_hdr {
pub tx_mode: __u8,
pub tx8: [[__u8; 1usize]; 2usize],
pub tx16: [[__u8; 2usize]; 2usize],
pub tx32: [[__u8; 3usize]; 2usize],
pub coef: [[[[[[__u8; 3usize]; 6usize]; 6usize]; 2usize]; 2usize]; 4usize],
pub skip: [__u8; 3usize],
pub inter_mode: [[__u8; 3usize]; 7usize],
pub interp_filter: [[__u8; 2usize]; 4usize],
pub is_inter: [__u8; 4usize],
pub comp_mode: [__u8; 5usize],
pub single_ref: [[__u8; 2usize]; 5usize],
pub comp_ref: [__u8; 5usize],
pub y_mode: [[__u8; 9usize]; 4usize],
pub uv_mode: [[__u8; 9usize]; 10usize],
pub partition: [[__u8; 3usize]; 16usize],
pub mv: v4l2_vp9_mv_probs,
}
#[test]
fn bindgen_test_layout_v4l2_ctrl_vp9_compressed_hdr() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ctrl_vp9_compressed_hdr> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ctrl_vp9_compressed_hdr>(),
2040usize,
concat!("Size of: ", stringify!(v4l2_ctrl_vp9_compressed_hdr))
);
assert_eq!(
::std::mem::align_of::<v4l2_ctrl_vp9_compressed_hdr>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_ctrl_vp9_compressed_hdr))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tx_mode) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(tx_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tx8) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(tx8)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tx16) as usize - ptr as usize },
3usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(tx16)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tx32) as usize - ptr as usize },
7usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(tx32)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).coef) as usize - ptr as usize },
13usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(coef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).skip) as usize - ptr as usize },
1741usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(skip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).inter_mode) as usize - ptr as usize },
1744usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(inter_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).interp_filter) as usize - ptr as usize },
1765usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(interp_filter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_inter) as usize - ptr as usize },
1773usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(is_inter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).comp_mode) as usize - ptr as usize },
1777usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(comp_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).single_ref) as usize - ptr as usize },
1782usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(single_ref)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).comp_ref) as usize - ptr as usize },
1792usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(comp_ref)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y_mode) as usize - ptr as usize },
1797usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(y_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).uv_mode) as usize - ptr as usize },
1833usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(uv_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).partition) as usize - ptr as usize },
1923usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(partition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mv) as usize - ptr as usize },
1971usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ctrl_vp9_compressed_hdr),
"::",
stringify!(mv)
)
);
}
pub const v4l2_field_V4L2_FIELD_ANY: v4l2_field = 0;
pub const v4l2_field_V4L2_FIELD_NONE: v4l2_field = 1;
pub const v4l2_field_V4L2_FIELD_TOP: v4l2_field = 2;
pub const v4l2_field_V4L2_FIELD_BOTTOM: v4l2_field = 3;
pub const v4l2_field_V4L2_FIELD_INTERLACED: v4l2_field = 4;
pub const v4l2_field_V4L2_FIELD_SEQ_TB: v4l2_field = 5;
pub const v4l2_field_V4L2_FIELD_SEQ_BT: v4l2_field = 6;
pub const v4l2_field_V4L2_FIELD_ALTERNATE: v4l2_field = 7;
pub const v4l2_field_V4L2_FIELD_INTERLACED_TB: v4l2_field = 8;
pub const v4l2_field_V4L2_FIELD_INTERLACED_BT: v4l2_field = 9;
pub type v4l2_field = ::std::os::raw::c_uint;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VIDEO_CAPTURE: v4l2_buf_type = 1;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VIDEO_OUTPUT: v4l2_buf_type = 2;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VIDEO_OVERLAY: v4l2_buf_type = 3;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VBI_CAPTURE: v4l2_buf_type = 4;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VBI_OUTPUT: v4l2_buf_type = 5;
pub const v4l2_buf_type_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE: v4l2_buf_type = 6;
pub const v4l2_buf_type_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: v4l2_buf_type = 7;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: v4l2_buf_type = 8;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE: v4l2_buf_type = 9;
pub const v4l2_buf_type_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: v4l2_buf_type = 10;
pub const v4l2_buf_type_V4L2_BUF_TYPE_SDR_CAPTURE: v4l2_buf_type = 11;
pub const v4l2_buf_type_V4L2_BUF_TYPE_SDR_OUTPUT: v4l2_buf_type = 12;
pub const v4l2_buf_type_V4L2_BUF_TYPE_META_CAPTURE: v4l2_buf_type = 13;
pub const v4l2_buf_type_V4L2_BUF_TYPE_META_OUTPUT: v4l2_buf_type = 14;
pub const v4l2_buf_type_V4L2_BUF_TYPE_PRIVATE: v4l2_buf_type = 128;
pub type v4l2_buf_type = ::std::os::raw::c_uint;
pub const v4l2_tuner_type_V4L2_TUNER_RADIO: v4l2_tuner_type = 1;
pub const v4l2_tuner_type_V4L2_TUNER_ANALOG_TV: v4l2_tuner_type = 2;
pub const v4l2_tuner_type_V4L2_TUNER_DIGITAL_TV: v4l2_tuner_type = 3;
pub const v4l2_tuner_type_V4L2_TUNER_SDR: v4l2_tuner_type = 4;
pub const v4l2_tuner_type_V4L2_TUNER_RF: v4l2_tuner_type = 5;
pub type v4l2_tuner_type = ::std::os::raw::c_uint;
pub const v4l2_memory_V4L2_MEMORY_MMAP: v4l2_memory = 1;
pub const v4l2_memory_V4L2_MEMORY_USERPTR: v4l2_memory = 2;
pub const v4l2_memory_V4L2_MEMORY_OVERLAY: v4l2_memory = 3;
pub const v4l2_memory_V4L2_MEMORY_DMABUF: v4l2_memory = 4;
pub type v4l2_memory = ::std::os::raw::c_uint;
pub const v4l2_colorspace_V4L2_COLORSPACE_DEFAULT: v4l2_colorspace = 0;
pub const v4l2_colorspace_V4L2_COLORSPACE_SMPTE170M: v4l2_colorspace = 1;
pub const v4l2_colorspace_V4L2_COLORSPACE_SMPTE240M: v4l2_colorspace = 2;
pub const v4l2_colorspace_V4L2_COLORSPACE_REC709: v4l2_colorspace = 3;
pub const v4l2_colorspace_V4L2_COLORSPACE_BT878: v4l2_colorspace = 4;
pub const v4l2_colorspace_V4L2_COLORSPACE_470_SYSTEM_M: v4l2_colorspace = 5;
pub const v4l2_colorspace_V4L2_COLORSPACE_470_SYSTEM_BG: v4l2_colorspace = 6;
pub const v4l2_colorspace_V4L2_COLORSPACE_JPEG: v4l2_colorspace = 7;
pub const v4l2_colorspace_V4L2_COLORSPACE_SRGB: v4l2_colorspace = 8;
pub const v4l2_colorspace_V4L2_COLORSPACE_OPRGB: v4l2_colorspace = 9;
pub const v4l2_colorspace_V4L2_COLORSPACE_BT2020: v4l2_colorspace = 10;
pub const v4l2_colorspace_V4L2_COLORSPACE_RAW: v4l2_colorspace = 11;
pub const v4l2_colorspace_V4L2_COLORSPACE_DCI_P3: v4l2_colorspace = 12;
pub type v4l2_colorspace = ::std::os::raw::c_uint;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_DEFAULT: v4l2_xfer_func = 0;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_709: v4l2_xfer_func = 1;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_SRGB: v4l2_xfer_func = 2;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_OPRGB: v4l2_xfer_func = 3;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_SMPTE240M: v4l2_xfer_func = 4;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_NONE: v4l2_xfer_func = 5;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_DCI_P3: v4l2_xfer_func = 6;
pub const v4l2_xfer_func_V4L2_XFER_FUNC_SMPTE2084: v4l2_xfer_func = 7;
pub type v4l2_xfer_func = ::std::os::raw::c_uint;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_DEFAULT: v4l2_ycbcr_encoding = 0;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_601: v4l2_ycbcr_encoding = 1;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_709: v4l2_ycbcr_encoding = 2;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_XV601: v4l2_ycbcr_encoding = 3;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_XV709: v4l2_ycbcr_encoding = 4;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_SYCC: v4l2_ycbcr_encoding = 5;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_BT2020: v4l2_ycbcr_encoding = 6;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_BT2020_CONST_LUM: v4l2_ycbcr_encoding = 7;
pub const v4l2_ycbcr_encoding_V4L2_YCBCR_ENC_SMPTE240M: v4l2_ycbcr_encoding = 8;
pub type v4l2_ycbcr_encoding = ::std::os::raw::c_uint;
pub const v4l2_hsv_encoding_V4L2_HSV_ENC_180: v4l2_hsv_encoding = 128;
pub const v4l2_hsv_encoding_V4L2_HSV_ENC_256: v4l2_hsv_encoding = 129;
pub type v4l2_hsv_encoding = ::std::os::raw::c_uint;
pub const v4l2_quantization_V4L2_QUANTIZATION_DEFAULT: v4l2_quantization = 0;
pub const v4l2_quantization_V4L2_QUANTIZATION_FULL_RANGE: v4l2_quantization = 1;
pub const v4l2_quantization_V4L2_QUANTIZATION_LIM_RANGE: v4l2_quantization = 2;
pub type v4l2_quantization = ::std::os::raw::c_uint;
pub const v4l2_priority_V4L2_PRIORITY_UNSET: v4l2_priority = 0;
pub const v4l2_priority_V4L2_PRIORITY_BACKGROUND: v4l2_priority = 1;
pub const v4l2_priority_V4L2_PRIORITY_INTERACTIVE: v4l2_priority = 2;
pub const v4l2_priority_V4L2_PRIORITY_RECORD: v4l2_priority = 3;
pub const v4l2_priority_V4L2_PRIORITY_DEFAULT: v4l2_priority = 2;
pub type v4l2_priority = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_rect {
pub left: __s32,
pub top: __s32,
pub width: __u32,
pub height: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_rect() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_rect> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_rect>(),
16usize,
concat!("Size of: ", stringify!(v4l2_rect))
);
assert_eq!(
::std::mem::align_of::<v4l2_rect>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_rect))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_rect),
"::",
stringify!(left)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_rect),
"::",
stringify!(top)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_rect),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_rect),
"::",
stringify!(height)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_fract {
pub numerator: __u32,
pub denominator: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_fract() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_fract> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_fract>(),
8usize,
concat!("Size of: ", stringify!(v4l2_fract))
);
assert_eq!(
::std::mem::align_of::<v4l2_fract>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_fract))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).numerator) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fract),
"::",
stringify!(numerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).denominator) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fract),
"::",
stringify!(denominator)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_area {
pub width: __u32,
pub height: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_area() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_area> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_area>(),
8usize,
concat!("Size of: ", stringify!(v4l2_area))
);
assert_eq!(
::std::mem::align_of::<v4l2_area>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_area))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_area),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_area),
"::",
stringify!(height)
)
);
}
#[doc = " struct v4l2_capability - Describes V4L2 device caps returned by VIDIOC_QUERYCAP\n\n @driver:\t name of the driver module (e.g. \"bttv\")\n @card:\t name of the card (e.g. \"Hauppauge WinTV\")\n @bus_info:\t name of the bus (e.g. \"PCI:\" + pci_name(pci_dev) )\n @version:\t KERNEL_VERSION\n @capabilities: capabilities of the physical device as a whole\n @device_caps: capabilities accessed via this particular device (node)\n @reserved:\t reserved fields for future extensions"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_capability {
pub driver: [__u8; 16usize],
pub card: [__u8; 32usize],
pub bus_info: [__u8; 32usize],
pub version: __u32,
pub capabilities: __u32,
pub device_caps: __u32,
pub reserved: [__u32; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_capability() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_capability> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_capability>(),
104usize,
concat!("Size of: ", stringify!(v4l2_capability))
);
assert_eq!(
::std::mem::align_of::<v4l2_capability>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_capability))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).driver) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_capability),
"::",
stringify!(driver)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).card) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_capability),
"::",
stringify!(card)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bus_info) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_capability),
"::",
stringify!(bus_info)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(v4l2_capability),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(v4l2_capability),
"::",
stringify!(capabilities)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).device_caps) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(v4l2_capability),
"::",
stringify!(device_caps)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(v4l2_capability),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_pix_format {
pub width: __u32,
pub height: __u32,
pub pixelformat: __u32,
pub field: __u32,
pub bytesperline: __u32,
pub sizeimage: __u32,
pub colorspace: __u32,
pub priv_: __u32,
pub flags: __u32,
pub __bindgen_anon_1: v4l2_pix_format__bindgen_ty_1,
pub quantization: __u32,
pub xfer_func: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_pix_format__bindgen_ty_1 {
pub ycbcr_enc: __u32,
pub hsv_enc: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_pix_format__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_pix_format__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_pix_format__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(v4l2_pix_format__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_pix_format__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_pix_format__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ycbcr_enc) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format__bindgen_ty_1),
"::",
stringify!(ycbcr_enc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hsv_enc) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format__bindgen_ty_1),
"::",
stringify!(hsv_enc)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_pix_format() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_pix_format> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_pix_format>(),
48usize,
concat!("Size of: ", stringify!(v4l2_pix_format))
);
assert_eq!(
::std::mem::align_of::<v4l2_pix_format>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_pix_format))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixelformat) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(pixelformat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(field)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bytesperline) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(bytesperline)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sizeimage) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(sizeimage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(colorspace)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(priv_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).quantization) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(quantization)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).xfer_func) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format),
"::",
stringify!(xfer_func)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_fmtdesc {
pub index: __u32,
pub type_: __u32,
pub flags: __u32,
pub description: [__u8; 32usize],
pub pixelformat: __u32,
pub mbus_code: __u32,
pub reserved: [__u32; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_fmtdesc() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_fmtdesc> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_fmtdesc>(),
64usize,
concat!("Size of: ", stringify!(v4l2_fmtdesc))
);
assert_eq!(
::std::mem::align_of::<v4l2_fmtdesc>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_fmtdesc))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fmtdesc),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fmtdesc),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fmtdesc),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fmtdesc),
"::",
stringify!(description)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixelformat) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fmtdesc),
"::",
stringify!(pixelformat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mbus_code) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fmtdesc),
"::",
stringify!(mbus_code)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(v4l2_fmtdesc),
"::",
stringify!(reserved)
)
);
}
pub const v4l2_frmsizetypes_V4L2_FRMSIZE_TYPE_DISCRETE: v4l2_frmsizetypes = 1;
pub const v4l2_frmsizetypes_V4L2_FRMSIZE_TYPE_CONTINUOUS: v4l2_frmsizetypes = 2;
pub const v4l2_frmsizetypes_V4L2_FRMSIZE_TYPE_STEPWISE: v4l2_frmsizetypes = 3;
pub type v4l2_frmsizetypes = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_frmsize_discrete {
pub width: __u32,
pub height: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_frmsize_discrete() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frmsize_discrete> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frmsize_discrete>(),
8usize,
concat!("Size of: ", stringify!(v4l2_frmsize_discrete))
);
assert_eq!(
::std::mem::align_of::<v4l2_frmsize_discrete>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frmsize_discrete))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_discrete),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_discrete),
"::",
stringify!(height)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_frmsize_stepwise {
pub min_width: __u32,
pub max_width: __u32,
pub step_width: __u32,
pub min_height: __u32,
pub max_height: __u32,
pub step_height: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_frmsize_stepwise() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frmsize_stepwise> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frmsize_stepwise>(),
24usize,
concat!("Size of: ", stringify!(v4l2_frmsize_stepwise))
);
assert_eq!(
::std::mem::align_of::<v4l2_frmsize_stepwise>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frmsize_stepwise))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).min_width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_stepwise),
"::",
stringify!(min_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_width) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_stepwise),
"::",
stringify!(max_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step_width) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_stepwise),
"::",
stringify!(step_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).min_height) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_stepwise),
"::",
stringify!(min_height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_height) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_stepwise),
"::",
stringify!(max_height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step_height) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsize_stepwise),
"::",
stringify!(step_height)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_frmsizeenum {
pub index: __u32,
pub pixel_format: __u32,
pub type_: __u32,
pub __bindgen_anon_1: v4l2_frmsizeenum__bindgen_ty_1,
pub reserved: [__u32; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_frmsizeenum__bindgen_ty_1 {
pub discrete: v4l2_frmsize_discrete,
pub stepwise: v4l2_frmsize_stepwise,
}
#[test]
fn bindgen_test_layout_v4l2_frmsizeenum__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frmsizeenum__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frmsizeenum__bindgen_ty_1>(),
24usize,
concat!("Size of: ", stringify!(v4l2_frmsizeenum__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_frmsizeenum__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frmsizeenum__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).discrete) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsizeenum__bindgen_ty_1),
"::",
stringify!(discrete)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).stepwise) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsizeenum__bindgen_ty_1),
"::",
stringify!(stepwise)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_frmsizeenum() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frmsizeenum> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frmsizeenum>(),
44usize,
concat!("Size of: ", stringify!(v4l2_frmsizeenum))
);
assert_eq!(
::std::mem::align_of::<v4l2_frmsizeenum>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frmsizeenum))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsizeenum),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixel_format) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsizeenum),
"::",
stringify!(pixel_format)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsizeenum),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmsizeenum),
"::",
stringify!(reserved)
)
);
}
pub const v4l2_frmivaltypes_V4L2_FRMIVAL_TYPE_DISCRETE: v4l2_frmivaltypes = 1;
pub const v4l2_frmivaltypes_V4L2_FRMIVAL_TYPE_CONTINUOUS: v4l2_frmivaltypes = 2;
pub const v4l2_frmivaltypes_V4L2_FRMIVAL_TYPE_STEPWISE: v4l2_frmivaltypes = 3;
pub type v4l2_frmivaltypes = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_frmival_stepwise {
pub min: v4l2_fract,
pub max: v4l2_fract,
pub step: v4l2_fract,
}
#[test]
fn bindgen_test_layout_v4l2_frmival_stepwise() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frmival_stepwise> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frmival_stepwise>(),
24usize,
concat!("Size of: ", stringify!(v4l2_frmival_stepwise))
);
assert_eq!(
::std::mem::align_of::<v4l2_frmival_stepwise>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frmival_stepwise))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).min) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmival_stepwise),
"::",
stringify!(min)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmival_stepwise),
"::",
stringify!(max)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmival_stepwise),
"::",
stringify!(step)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_frmivalenum {
pub index: __u32,
pub pixel_format: __u32,
pub width: __u32,
pub height: __u32,
pub type_: __u32,
pub __bindgen_anon_1: v4l2_frmivalenum__bindgen_ty_1,
pub reserved: [__u32; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_frmivalenum__bindgen_ty_1 {
pub discrete: v4l2_fract,
pub stepwise: v4l2_frmival_stepwise,
}
#[test]
fn bindgen_test_layout_v4l2_frmivalenum__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frmivalenum__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frmivalenum__bindgen_ty_1>(),
24usize,
concat!("Size of: ", stringify!(v4l2_frmivalenum__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_frmivalenum__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frmivalenum__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).discrete) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum__bindgen_ty_1),
"::",
stringify!(discrete)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).stepwise) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum__bindgen_ty_1),
"::",
stringify!(stepwise)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_frmivalenum() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frmivalenum> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frmivalenum>(),
52usize,
concat!("Size of: ", stringify!(v4l2_frmivalenum))
);
assert_eq!(
::std::mem::align_of::<v4l2_frmivalenum>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frmivalenum))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixel_format) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum),
"::",
stringify!(pixel_format)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frmivalenum),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_timecode {
pub type_: __u32,
pub flags: __u32,
pub frames: __u8,
pub seconds: __u8,
pub minutes: __u8,
pub hours: __u8,
pub userbits: [__u8; 4usize],
}
#[test]
fn bindgen_test_layout_v4l2_timecode() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_timecode> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_timecode>(),
16usize,
concat!("Size of: ", stringify!(v4l2_timecode))
);
assert_eq!(
::std::mem::align_of::<v4l2_timecode>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_timecode))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_timecode),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_timecode),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frames) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_timecode),
"::",
stringify!(frames)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seconds) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(v4l2_timecode),
"::",
stringify!(seconds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minutes) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(v4l2_timecode),
"::",
stringify!(minutes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hours) as usize - ptr as usize },
11usize,
concat!(
"Offset of field: ",
stringify!(v4l2_timecode),
"::",
stringify!(hours)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).userbits) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_timecode),
"::",
stringify!(userbits)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_jpegcompression {
pub quality: ::std::os::raw::c_int,
pub APPn: ::std::os::raw::c_int,
pub APP_len: ::std::os::raw::c_int,
pub APP_data: [::std::os::raw::c_char; 60usize],
pub COM_len: ::std::os::raw::c_int,
pub COM_data: [::std::os::raw::c_char; 60usize],
pub jpeg_markers: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_jpegcompression() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_jpegcompression> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_jpegcompression>(),
140usize,
concat!("Size of: ", stringify!(v4l2_jpegcompression))
);
assert_eq!(
::std::mem::align_of::<v4l2_jpegcompression>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_jpegcompression))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).quality) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_jpegcompression),
"::",
stringify!(quality)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).APPn) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_jpegcompression),
"::",
stringify!(APPn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).APP_len) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_jpegcompression),
"::",
stringify!(APP_len)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).APP_data) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_jpegcompression),
"::",
stringify!(APP_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).COM_len) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(v4l2_jpegcompression),
"::",
stringify!(COM_len)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).COM_data) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(v4l2_jpegcompression),
"::",
stringify!(COM_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).jpeg_markers) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(v4l2_jpegcompression),
"::",
stringify!(jpeg_markers)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_requestbuffers {
pub count: __u32,
pub type_: __u32,
pub memory: __u32,
pub capabilities: __u32,
pub flags: __u8,
pub reserved: [__u8; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_requestbuffers() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_requestbuffers> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_requestbuffers>(),
20usize,
concat!("Size of: ", stringify!(v4l2_requestbuffers))
);
assert_eq!(
::std::mem::align_of::<v4l2_requestbuffers>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_requestbuffers))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_requestbuffers),
"::",
stringify!(count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_requestbuffers),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_requestbuffers),
"::",
stringify!(memory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_requestbuffers),
"::",
stringify!(capabilities)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_requestbuffers),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
17usize,
concat!(
"Offset of field: ",
stringify!(v4l2_requestbuffers),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_plane - plane info for multi-planar buffers\n @bytesused:\t\tnumber of bytes occupied by data in the plane (payload)\n @length:\t\tsize of this plane (NOT the payload) in bytes\n @mem_offset:\t\twhen memory in the associated struct v4l2_buffer is\n\t\t\tV4L2_MEMORY_MMAP, equals the offset from the start of\n\t\t\tthe device memory for this plane (or is a \"cookie\" that\n\t\t\tshould be passed to mmap() called on the video node)\n @userptr:\t\twhen memory is V4L2_MEMORY_USERPTR, a userspace pointer\n\t\t\tpointing to this plane\n @fd:\t\t\twhen memory is V4L2_MEMORY_DMABUF, a userspace file\n\t\t\tdescriptor associated with this plane\n @m:\t\t\tunion of @mem_offset, @userptr and @fd\n @data_offset:\toffset in the plane to the start of data; usually 0,\n\t\t\tunless there is a header in front of the data\n @reserved:\t\tdrivers and applications must zero this array\n\n Multi-planar buffers consist of one or more planes, e.g. an YCbCr buffer\n with two planes can have one plane for Y, and another for interleaved CbCr\n components. Each plane can reside in a separate memory buffer, or even in\n a completely separate memory node (e.g. in embedded devices)."]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_plane {
pub bytesused: __u32,
pub length: __u32,
pub m: v4l2_plane__bindgen_ty_1,
pub data_offset: __u32,
pub reserved: [__u32; 11usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_plane__bindgen_ty_1 {
pub mem_offset: __u32,
pub userptr: ::std::os::raw::c_ulong,
pub fd: __s32,
}
#[test]
fn bindgen_test_layout_v4l2_plane__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_plane__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_plane__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(v4l2_plane__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_plane__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_plane__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mem_offset) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane__bindgen_ty_1),
"::",
stringify!(mem_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).userptr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane__bindgen_ty_1),
"::",
stringify!(userptr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane__bindgen_ty_1),
"::",
stringify!(fd)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_plane() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_plane> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_plane>(),
60usize,
concat!("Size of: ", stringify!(v4l2_plane))
);
assert_eq!(
::std::mem::align_of::<v4l2_plane>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_plane))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bytesused) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane),
"::",
stringify!(bytesused)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane),
"::",
stringify!(m)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data_offset) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane),
"::",
stringify!(data_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_buffer - video buffer info\n @index:\tid number of the buffer\n @type:\tenum v4l2_buf_type; buffer type (type == *_MPLANE for\n\t\tmultiplanar buffers);\n @bytesused:\tnumber of bytes occupied by data in the buffer (payload);\n\t\tunused (set to 0) for multiplanar buffers\n @flags:\tbuffer informational flags\n @field:\tenum v4l2_field; field order of the image in the buffer\n @timestamp:\tframe timestamp\n @timecode:\tframe timecode\n @sequence:\tsequence count of this frame\n @memory:\tenum v4l2_memory; the method, in which the actual video data is\n\t\tpassed\n @offset:\tfor non-multiplanar buffers with memory == V4L2_MEMORY_MMAP;\n\t\toffset from the start of the device memory for this plane,\n\t\t(or a \"cookie\" that should be passed to mmap() as offset)\n @userptr:\tfor non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR;\n\t\ta userspace pointer pointing to this buffer\n @fd:\t\tfor non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF;\n\t\ta userspace file descriptor associated with this buffer\n @planes:\tfor multiplanar buffers; userspace pointer to the array of plane\n\t\tinfo structs for this buffer\n @m:\t\tunion of @offset, @userptr, @planes and @fd\n @length:\tsize in bytes of the buffer (NOT its payload) for single-plane\n\t\tbuffers (when type != *_MPLANE); number of elements in the\n\t\tplanes array for multi-plane buffers\n @reserved2:\tdrivers and applications must zero this field\n @request_fd: fd of the request that this buffer should use\n @reserved:\tfor backwards compatibility with applications that do not know\n\t\tabout @request_fd\n\n Contains data exchanged by application and driver using one of the Streaming\n I/O methods."]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_buffer {
pub index: __u32,
pub type_: __u32,
pub bytesused: __u32,
pub flags: __u32,
pub field: __u32,
pub timestamp: timeval,
pub timecode: v4l2_timecode,
pub sequence: __u32,
pub memory: __u32,
pub m: v4l2_buffer__bindgen_ty_1,
pub length: __u32,
pub reserved2: __u32,
pub __bindgen_anon_1: v4l2_buffer__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_buffer__bindgen_ty_1 {
pub offset: __u32,
pub userptr: ::std::os::raw::c_ulong,
pub planes: *mut v4l2_plane,
pub fd: __s32,
}
#[test]
fn bindgen_test_layout_v4l2_buffer__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_buffer__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_buffer__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(v4l2_buffer__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_buffer__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_buffer__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer__bindgen_ty_1),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).userptr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer__bindgen_ty_1),
"::",
stringify!(userptr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).planes) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer__bindgen_ty_1),
"::",
stringify!(planes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer__bindgen_ty_1),
"::",
stringify!(fd)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_buffer__bindgen_ty_2 {
pub request_fd: __s32,
pub reserved: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_buffer__bindgen_ty_2() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_buffer__bindgen_ty_2> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_buffer__bindgen_ty_2>(),
4usize,
concat!("Size of: ", stringify!(v4l2_buffer__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<v4l2_buffer__bindgen_ty_2>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_buffer__bindgen_ty_2))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).request_fd) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer__bindgen_ty_2),
"::",
stringify!(request_fd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer__bindgen_ty_2),
"::",
stringify!(reserved)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_buffer() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_buffer> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_buffer>(),
68usize,
concat!("Size of: ", stringify!(v4l2_buffer))
);
assert_eq!(
::std::mem::align_of::<v4l2_buffer>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_buffer))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bytesused) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(bytesused)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(field)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(timestamp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timecode) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(timecode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(sequence)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(memory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(m)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(v4l2_buffer),
"::",
stringify!(reserved2)
)
);
}
#[doc = " struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor\n\n @index:\tid number of the buffer\n @type:\tenum v4l2_buf_type; buffer type (type == *_MPLANE for\n\t\tmultiplanar buffers);\n @plane:\tindex of the plane to be exported, 0 for single plane queues\n @flags:\tflags for newly created file, currently only O_CLOEXEC is\n\t\tsupported, refer to manual of open syscall for more details\n @fd:\t\tfile descriptor associated with DMABUF (set by driver)\n @reserved:\tdrivers and applications must zero this array\n\n Contains data used for exporting a video buffer as DMABUF file descriptor.\n The buffer is identified by a 'cookie' returned by VIDIOC_QUERYBUF\n (identical to the cookie used to mmap() the buffer to userspace). All\n reserved fields must be set to zero. The field reserved0 is expected to\n become a structure 'type' allowing an alternative layout of the structure\n content. Therefore this field should not be used for any other extensions."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_exportbuffer {
pub type_: __u32,
pub index: __u32,
pub plane: __u32,
pub flags: __u32,
pub fd: __s32,
pub reserved: [__u32; 11usize],
}
#[test]
fn bindgen_test_layout_v4l2_exportbuffer() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_exportbuffer> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_exportbuffer>(),
64usize,
concat!("Size of: ", stringify!(v4l2_exportbuffer))
);
assert_eq!(
::std::mem::align_of::<v4l2_exportbuffer>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_exportbuffer))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_exportbuffer),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_exportbuffer),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).plane) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_exportbuffer),
"::",
stringify!(plane)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_exportbuffer),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_exportbuffer),
"::",
stringify!(fd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_exportbuffer),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_framebuffer {
pub capability: __u32,
pub flags: __u32,
pub base: *mut ::std::os::raw::c_void,
pub fmt: v4l2_framebuffer__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_framebuffer__bindgen_ty_1 {
pub width: __u32,
pub height: __u32,
pub pixelformat: __u32,
pub field: __u32,
pub bytesperline: __u32,
pub sizeimage: __u32,
pub colorspace: __u32,
pub priv_: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_framebuffer__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_framebuffer__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_framebuffer__bindgen_ty_1>(),
32usize,
concat!("Size of: ", stringify!(v4l2_framebuffer__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_framebuffer__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_framebuffer__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixelformat) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(pixelformat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(field)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bytesperline) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(bytesperline)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sizeimage) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(sizeimage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(colorspace)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer__bindgen_ty_1),
"::",
stringify!(priv_)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_framebuffer() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_framebuffer> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_framebuffer>(),
44usize,
concat!("Size of: ", stringify!(v4l2_framebuffer))
);
assert_eq!(
::std::mem::align_of::<v4l2_framebuffer>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_framebuffer))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fmt) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_framebuffer),
"::",
stringify!(fmt)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_clip {
pub c: v4l2_rect,
pub next: *mut v4l2_clip,
}
#[test]
fn bindgen_test_layout_v4l2_clip() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_clip> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_clip>(),
20usize,
concat!("Size of: ", stringify!(v4l2_clip))
);
assert_eq!(
::std::mem::align_of::<v4l2_clip>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_clip))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_clip),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_clip),
"::",
stringify!(next)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_window {
pub w: v4l2_rect,
pub field: __u32,
pub chromakey: __u32,
pub clips: *mut v4l2_clip,
pub clipcount: __u32,
pub bitmap: *mut ::std::os::raw::c_void,
pub global_alpha: __u8,
}
#[test]
fn bindgen_test_layout_v4l2_window() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_window> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_window>(),
40usize,
concat!("Size of: ", stringify!(v4l2_window))
);
assert_eq!(
::std::mem::align_of::<v4l2_window>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_window))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_window),
"::",
stringify!(w)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_window),
"::",
stringify!(field)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chromakey) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_window),
"::",
stringify!(chromakey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clips) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_window),
"::",
stringify!(clips)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clipcount) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_window),
"::",
stringify!(clipcount)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bitmap) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_window),
"::",
stringify!(bitmap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).global_alpha) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_window),
"::",
stringify!(global_alpha)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_captureparm {
pub capability: __u32,
pub capturemode: __u32,
pub timeperframe: v4l2_fract,
pub extendedmode: __u32,
pub readbuffers: __u32,
pub reserved: [__u32; 4usize],
}
#[test]
fn bindgen_test_layout_v4l2_captureparm() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_captureparm> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_captureparm>(),
40usize,
concat!("Size of: ", stringify!(v4l2_captureparm))
);
assert_eq!(
::std::mem::align_of::<v4l2_captureparm>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_captureparm))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_captureparm),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capturemode) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_captureparm),
"::",
stringify!(capturemode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeperframe) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_captureparm),
"::",
stringify!(timeperframe)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).extendedmode) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_captureparm),
"::",
stringify!(extendedmode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).readbuffers) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_captureparm),
"::",
stringify!(readbuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_captureparm),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_outputparm {
pub capability: __u32,
pub outputmode: __u32,
pub timeperframe: v4l2_fract,
pub extendedmode: __u32,
pub writebuffers: __u32,
pub reserved: [__u32; 4usize],
}
#[test]
fn bindgen_test_layout_v4l2_outputparm() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_outputparm> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_outputparm>(),
40usize,
concat!("Size of: ", stringify!(v4l2_outputparm))
);
assert_eq!(
::std::mem::align_of::<v4l2_outputparm>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_outputparm))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_outputparm),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).outputmode) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_outputparm),
"::",
stringify!(outputmode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeperframe) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_outputparm),
"::",
stringify!(timeperframe)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).extendedmode) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_outputparm),
"::",
stringify!(extendedmode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).writebuffers) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_outputparm),
"::",
stringify!(writebuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_outputparm),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_cropcap {
pub type_: __u32,
pub bounds: v4l2_rect,
pub defrect: v4l2_rect,
pub pixelaspect: v4l2_fract,
}
#[test]
fn bindgen_test_layout_v4l2_cropcap() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_cropcap> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_cropcap>(),
44usize,
concat!("Size of: ", stringify!(v4l2_cropcap))
);
assert_eq!(
::std::mem::align_of::<v4l2_cropcap>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_cropcap))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_cropcap),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bounds) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_cropcap),
"::",
stringify!(bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).defrect) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_cropcap),
"::",
stringify!(defrect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixelaspect) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_cropcap),
"::",
stringify!(pixelaspect)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_crop {
pub type_: __u32,
pub c: v4l2_rect,
}
#[test]
fn bindgen_test_layout_v4l2_crop() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_crop> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_crop>(),
20usize,
concat!("Size of: ", stringify!(v4l2_crop))
);
assert_eq!(
::std::mem::align_of::<v4l2_crop>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_crop))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_crop),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_crop),
"::",
stringify!(c)
)
);
}
#[doc = " struct v4l2_selection - selection info\n @type:\tbuffer type (do not use *_MPLANE types)\n @target:\tSelection target, used to choose one of possible rectangles;\n\t\tdefined in v4l2-common.h; V4L2_SEL_TGT_* .\n @flags:\tconstraints flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.\n @r:\t\tcoordinates of selection window\n @reserved:\tfor future use, rounds structure size to 64 bytes, set to zero\n\n Hardware may use multiple helper windows to process a video stream.\n The structure is used to exchange this selection areas between\n an application and a driver."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_selection {
pub type_: __u32,
pub target: __u32,
pub flags: __u32,
pub r: v4l2_rect,
pub reserved: [__u32; 9usize],
}
#[test]
fn bindgen_test_layout_v4l2_selection() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_selection> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_selection>(),
64usize,
concat!("Size of: ", stringify!(v4l2_selection))
);
assert_eq!(
::std::mem::align_of::<v4l2_selection>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_selection))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_selection),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).target) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_selection),
"::",
stringify!(target)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_selection),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_selection),
"::",
stringify!(r)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_selection),
"::",
stringify!(reserved)
)
);
}
pub type v4l2_std_id = __u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_standard {
pub index: __u32,
pub id: v4l2_std_id,
pub name: [__u8; 24usize],
pub frameperiod: v4l2_fract,
pub framelines: __u32,
pub reserved: [__u32; 4usize],
}
#[test]
fn bindgen_test_layout_v4l2_standard() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_standard> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_standard>(),
64usize,
concat!("Size of: ", stringify!(v4l2_standard))
);
assert_eq!(
::std::mem::align_of::<v4l2_standard>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_standard))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_standard),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_standard),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_standard),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frameperiod) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_standard),
"::",
stringify!(frameperiod)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).framelines) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_standard),
"::",
stringify!(framelines)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_standard),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_bt_timings - BT.656/BT.1120 timing data\n @width:\ttotal width of the active video in pixels\n @height:\ttotal height of the active video in lines\n @interlaced:\tInterlaced or progressive\n @polarities:\tPositive or negative polarities\n @pixelclock:\tPixel clock in HZ. Ex. 74.25MHz->74250000\n @hfrontporch:Horizontal front porch in pixels\n @hsync:\tHorizontal Sync length in pixels\n @hbackporch:\tHorizontal back porch in pixels\n @vfrontporch:Vertical front porch in lines\n @vsync:\tVertical Sync length in lines\n @vbackporch:\tVertical back porch in lines\n @il_vfrontporch:Vertical front porch for the even field\n\t\t(aka field 2) of interlaced field formats\n @il_vsync:\tVertical Sync length for the even field\n\t\t(aka field 2) of interlaced field formats\n @il_vbackporch:Vertical back porch for the even field\n\t\t(aka field 2) of interlaced field formats\n @standards:\tStandards the timing belongs to\n @flags:\tFlags\n @picture_aspect: The picture aspect ratio (hor/vert).\n @cea861_vic:\tVIC code as per the CEA-861 standard.\n @hdmi_vic:\tVIC code as per the HDMI standard.\n @reserved:\tReserved fields, must be zeroed.\n\n A note regarding vertical interlaced timings: height refers to the total\n height of the active video frame (= two fields). The blanking timings refer\n to the blanking of each field. So the height of the total frame is\n calculated as follows:\n\n tot_height = height + vfrontporch + vsync + vbackporch +\n il_vfrontporch + il_vsync + il_vbackporch\n\n The active height of each field is height / 2."]
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_bt_timings {
pub width: __u32,
pub height: __u32,
pub interlaced: __u32,
pub polarities: __u32,
pub pixelclock: __u64,
pub hfrontporch: __u32,
pub hsync: __u32,
pub hbackporch: __u32,
pub vfrontporch: __u32,
pub vsync: __u32,
pub vbackporch: __u32,
pub il_vfrontporch: __u32,
pub il_vsync: __u32,
pub il_vbackporch: __u32,
pub standards: __u32,
pub flags: __u32,
pub picture_aspect: v4l2_fract,
pub cea861_vic: __u8,
pub hdmi_vic: __u8,
pub reserved: [__u8; 46usize],
}
#[test]
fn bindgen_test_layout_v4l2_bt_timings() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_bt_timings> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_bt_timings>(),
124usize,
concat!("Size of: ", stringify!(v4l2_bt_timings))
);
assert_eq!(
::std::mem::align_of::<v4l2_bt_timings>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_bt_timings))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).interlaced) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(interlaced)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).polarities) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(polarities)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixelclock) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(pixelclock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hfrontporch) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(hfrontporch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hsync) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(hsync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hbackporch) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(hbackporch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vfrontporch) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(vfrontporch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vsync) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(vsync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vbackporch) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(vbackporch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).il_vfrontporch) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(il_vfrontporch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).il_vsync) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(il_vsync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).il_vbackporch) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(il_vbackporch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).standards) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(standards)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).picture_aspect) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(picture_aspect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cea861_vic) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(cea861_vic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hdmi_vic) as usize - ptr as usize },
77usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(hdmi_vic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
78usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_dv_timings - DV timings\n @type:\tthe type of the timings\n @bt:\tBT656/1120 timings"]
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_dv_timings {
pub type_: __u32,
pub __bindgen_anon_1: v4l2_dv_timings__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_dv_timings__bindgen_ty_1 {
pub bt: v4l2_bt_timings,
pub reserved: [__u32; 32usize],
}
#[test]
fn bindgen_test_layout_v4l2_dv_timings__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dv_timings__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dv_timings__bindgen_ty_1>(),
128usize,
concat!("Size of: ", stringify!(v4l2_dv_timings__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_dv_timings__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_dv_timings__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bt) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings__bindgen_ty_1),
"::",
stringify!(bt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings__bindgen_ty_1),
"::",
stringify!(reserved)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_dv_timings() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dv_timings> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dv_timings>(),
132usize,
concat!("Size of: ", stringify!(v4l2_dv_timings))
);
assert_eq!(
::std::mem::align_of::<v4l2_dv_timings>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_dv_timings))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings),
"::",
stringify!(type_)
)
);
}
#[doc = " struct v4l2_enum_dv_timings - DV timings enumeration\n @index:\tenumeration index\n @pad:\tthe pad number for which to enumerate timings (used with\n\t\tv4l-subdev nodes only)\n @reserved:\tmust be zeroed\n @timings:\tthe timings for the given index"]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_enum_dv_timings {
pub index: __u32,
pub pad: __u32,
pub reserved: [__u32; 2usize],
pub timings: v4l2_dv_timings,
}
#[test]
fn bindgen_test_layout_v4l2_enum_dv_timings() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_enum_dv_timings> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_enum_dv_timings>(),
148usize,
concat!("Size of: ", stringify!(v4l2_enum_dv_timings))
);
assert_eq!(
::std::mem::align_of::<v4l2_enum_dv_timings>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_enum_dv_timings))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enum_dv_timings),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enum_dv_timings),
"::",
stringify!(pad)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enum_dv_timings),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timings) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enum_dv_timings),
"::",
stringify!(timings)
)
);
}
#[doc = " struct v4l2_bt_timings_cap - BT.656/BT.1120 timing capabilities\n @min_width:\t\twidth in pixels\n @max_width:\t\twidth in pixels\n @min_height:\t\theight in lines\n @max_height:\t\theight in lines\n @min_pixelclock:\tPixel clock in HZ. Ex. 74.25MHz->74250000\n @max_pixelclock:\tPixel clock in HZ. Ex. 74.25MHz->74250000\n @standards:\t\tSupported standards\n @capabilities:\tSupported capabilities\n @reserved:\t\tMust be zeroed"]
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_bt_timings_cap {
pub min_width: __u32,
pub max_width: __u32,
pub min_height: __u32,
pub max_height: __u32,
pub min_pixelclock: __u64,
pub max_pixelclock: __u64,
pub standards: __u32,
pub capabilities: __u32,
pub reserved: [__u32; 16usize],
}
#[test]
fn bindgen_test_layout_v4l2_bt_timings_cap() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_bt_timings_cap> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_bt_timings_cap>(),
104usize,
concat!("Size of: ", stringify!(v4l2_bt_timings_cap))
);
assert_eq!(
::std::mem::align_of::<v4l2_bt_timings_cap>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_bt_timings_cap))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).min_width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(min_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_width) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(max_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).min_height) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(min_height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_height) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(max_height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).min_pixelclock) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(min_pixelclock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).max_pixelclock) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(max_pixelclock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).standards) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(standards)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(capabilities)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_bt_timings_cap),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_dv_timings_cap - DV timings capabilities\n @type:\tthe type of the timings (same as in struct v4l2_dv_timings)\n @pad:\tthe pad number for which to query capabilities (used with\n\t\tv4l-subdev nodes only)\n @bt:\t\tthe BT656/1120 timings capabilities"]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_dv_timings_cap {
pub type_: __u32,
pub pad: __u32,
pub reserved: [__u32; 2usize],
pub __bindgen_anon_1: v4l2_dv_timings_cap__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_dv_timings_cap__bindgen_ty_1 {
pub bt: v4l2_bt_timings_cap,
pub raw_data: [__u32; 32usize],
}
#[test]
fn bindgen_test_layout_v4l2_dv_timings_cap__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dv_timings_cap__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dv_timings_cap__bindgen_ty_1>(),
128usize,
concat!("Size of: ", stringify!(v4l2_dv_timings_cap__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_dv_timings_cap__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(v4l2_dv_timings_cap__bindgen_ty_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bt) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings_cap__bindgen_ty_1),
"::",
stringify!(bt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).raw_data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings_cap__bindgen_ty_1),
"::",
stringify!(raw_data)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_dv_timings_cap() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dv_timings_cap> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dv_timings_cap>(),
144usize,
concat!("Size of: ", stringify!(v4l2_dv_timings_cap))
);
assert_eq!(
::std::mem::align_of::<v4l2_dv_timings_cap>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_dv_timings_cap))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings_cap),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings_cap),
"::",
stringify!(pad)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dv_timings_cap),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_input {
pub index: __u32,
pub name: [__u8; 32usize],
pub type_: __u32,
pub audioset: __u32,
pub tuner: __u32,
pub std: v4l2_std_id,
pub status: __u32,
pub capabilities: __u32,
pub reserved: [__u32; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_input() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_input> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_input>(),
76usize,
concat!("Size of: ", stringify!(v4l2_input))
);
assert_eq!(
::std::mem::align_of::<v4l2_input>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_input))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).audioset) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(audioset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tuner) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(tuner)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).std) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(std)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(capabilities)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_input),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_output {
pub index: __u32,
pub name: [__u8; 32usize],
pub type_: __u32,
pub audioset: __u32,
pub modulator: __u32,
pub std: v4l2_std_id,
pub capabilities: __u32,
pub reserved: [__u32; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_output() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_output> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_output>(),
72usize,
concat!("Size of: ", stringify!(v4l2_output))
);
assert_eq!(
::std::mem::align_of::<v4l2_output>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_output))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).audioset) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(audioset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).modulator) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(modulator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).std) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(std)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(capabilities)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(v4l2_output),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_control {
pub id: __u32,
pub value: __s32,
}
#[test]
fn bindgen_test_layout_v4l2_control() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_control> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_control>(),
8usize,
concat!("Size of: ", stringify!(v4l2_control))
);
assert_eq!(
::std::mem::align_of::<v4l2_control>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_control))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_control),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_control),
"::",
stringify!(value)
)
);
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_ext_control {
pub id: __u32,
pub size: __u32,
pub reserved2: [__u32; 1usize],
pub __bindgen_anon_1: v4l2_ext_control__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_ext_control__bindgen_ty_1 {
pub value: __s32,
pub value64: __s64,
pub string: *mut ::std::os::raw::c_char,
pub p_u8: *mut __u8,
pub p_u16: *mut __u16,
pub p_u32: *mut __u32,
pub p_area: *mut v4l2_area,
pub p_h264_sps: *mut v4l2_ctrl_h264_sps,
pub p_h264_pps: *mut v4l2_ctrl_h264_pps,
pub p_h264_scaling_matrix: *mut v4l2_ctrl_h264_scaling_matrix,
pub p_h264_pred_weights: *mut v4l2_ctrl_h264_pred_weights,
pub p_h264_slice_params: *mut v4l2_ctrl_h264_slice_params,
pub p_h264_decode_params: *mut v4l2_ctrl_h264_decode_params,
pub p_fwht_params: *mut v4l2_ctrl_fwht_params,
pub p_vp8_frame: *mut v4l2_ctrl_vp8_frame,
pub p_mpeg2_sequence: *mut v4l2_ctrl_mpeg2_sequence,
pub p_mpeg2_picture: *mut v4l2_ctrl_mpeg2_picture,
pub p_mpeg2_quantisation: *mut v4l2_ctrl_mpeg2_quantisation,
pub p_vp9_compressed_hdr_probs: *mut v4l2_ctrl_vp9_compressed_hdr,
pub p_vp9_frame: *mut v4l2_ctrl_vp9_frame,
pub p_hevc_sps: *mut v4l2_ctrl_hevc_sps,
pub p_hevc_pps: *mut v4l2_ctrl_hevc_pps,
pub p_hevc_slice_params: *mut v4l2_ctrl_hevc_slice_params,
pub p_hevc_scaling_matrix: *mut v4l2_ctrl_hevc_scaling_matrix,
pub p_hevc_decode_params: *mut v4l2_ctrl_hevc_decode_params,
pub ptr: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_v4l2_ext_control__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ext_control__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ext_control__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(v4l2_ext_control__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_ext_control__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ext_control__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value64) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(value64)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).string) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_u8) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_u8)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_u16) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_u16)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_u32) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_u32)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_area) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_area)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_h264_sps) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_h264_sps)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_h264_pps) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_h264_pps)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_h264_scaling_matrix) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_h264_scaling_matrix)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_h264_pred_weights) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_h264_pred_weights)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_h264_slice_params) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_h264_slice_params)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_h264_decode_params) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_h264_decode_params)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_fwht_params) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_fwht_params)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_vp8_frame) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_vp8_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_mpeg2_sequence) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_mpeg2_sequence)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_mpeg2_picture) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_mpeg2_picture)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_mpeg2_quantisation) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_mpeg2_quantisation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_vp9_compressed_hdr_probs) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_vp9_compressed_hdr_probs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_vp9_frame) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_vp9_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_hevc_sps) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_hevc_sps)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_hevc_pps) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_hevc_pps)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_hevc_slice_params) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_hevc_slice_params)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_hevc_scaling_matrix) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_hevc_scaling_matrix)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).p_hevc_decode_params) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(p_hevc_decode_params)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control__bindgen_ty_1),
"::",
stringify!(ptr)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_ext_control() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ext_control> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ext_control>(),
20usize,
concat!("Size of: ", stringify!(v4l2_ext_control))
);
assert_eq!(
::std::mem::align_of::<v4l2_ext_control>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_ext_control))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_control),
"::",
stringify!(reserved2)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_ext_controls {
pub __bindgen_anon_1: v4l2_ext_controls__bindgen_ty_1,
pub count: __u32,
pub error_idx: __u32,
pub request_fd: __s32,
pub reserved: [__u32; 1usize],
pub controls: *mut v4l2_ext_control,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_ext_controls__bindgen_ty_1 {
pub ctrl_class: __u32,
pub which: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_ext_controls__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ext_controls__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ext_controls__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(v4l2_ext_controls__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_ext_controls__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ext_controls__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ctrl_class) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_controls__bindgen_ty_1),
"::",
stringify!(ctrl_class)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).which) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_controls__bindgen_ty_1),
"::",
stringify!(which)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_ext_controls() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_ext_controls> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_ext_controls>(),
24usize,
concat!("Size of: ", stringify!(v4l2_ext_controls))
);
assert_eq!(
::std::mem::align_of::<v4l2_ext_controls>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_ext_controls))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_controls),
"::",
stringify!(count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).error_idx) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_controls),
"::",
stringify!(error_idx)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).request_fd) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_controls),
"::",
stringify!(request_fd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_controls),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).controls) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_ext_controls),
"::",
stringify!(controls)
)
);
}
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_INTEGER: v4l2_ctrl_type = 1;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_BOOLEAN: v4l2_ctrl_type = 2;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_MENU: v4l2_ctrl_type = 3;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_BUTTON: v4l2_ctrl_type = 4;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_INTEGER64: v4l2_ctrl_type = 5;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_CTRL_CLASS: v4l2_ctrl_type = 6;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_STRING: v4l2_ctrl_type = 7;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_BITMASK: v4l2_ctrl_type = 8;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_INTEGER_MENU: v4l2_ctrl_type = 9;
pub const v4l2_ctrl_type_V4L2_CTRL_COMPOUND_TYPES: v4l2_ctrl_type = 256;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_U8: v4l2_ctrl_type = 256;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_U16: v4l2_ctrl_type = 257;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_U32: v4l2_ctrl_type = 258;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_AREA: v4l2_ctrl_type = 262;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_HDR10_CLL_INFO: v4l2_ctrl_type = 272;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY: v4l2_ctrl_type = 273;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_H264_SPS: v4l2_ctrl_type = 512;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_H264_PPS: v4l2_ctrl_type = 513;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_H264_SCALING_MATRIX: v4l2_ctrl_type = 514;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_H264_SLICE_PARAMS: v4l2_ctrl_type = 515;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_H264_DECODE_PARAMS: v4l2_ctrl_type = 516;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_H264_PRED_WEIGHTS: v4l2_ctrl_type = 517;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_FWHT_PARAMS: v4l2_ctrl_type = 544;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_VP8_FRAME: v4l2_ctrl_type = 576;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_MPEG2_QUANTISATION: v4l2_ctrl_type = 592;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_MPEG2_SEQUENCE: v4l2_ctrl_type = 593;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_MPEG2_PICTURE: v4l2_ctrl_type = 594;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR: v4l2_ctrl_type = 608;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_VP9_FRAME: v4l2_ctrl_type = 609;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_HEVC_SPS: v4l2_ctrl_type = 624;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_HEVC_PPS: v4l2_ctrl_type = 625;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: v4l2_ctrl_type = 626;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX: v4l2_ctrl_type = 627;
pub const v4l2_ctrl_type_V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS: v4l2_ctrl_type = 628;
pub type v4l2_ctrl_type = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_queryctrl {
pub id: __u32,
pub type_: __u32,
pub name: [__u8; 32usize],
pub minimum: __s32,
pub maximum: __s32,
pub step: __s32,
pub default_value: __s32,
pub flags: __u32,
pub reserved: [__u32; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_queryctrl() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_queryctrl> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_queryctrl>(),
68usize,
concat!("Size of: ", stringify!(v4l2_queryctrl))
);
assert_eq!(
::std::mem::align_of::<v4l2_queryctrl>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_queryctrl))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(minimum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(maximum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(step)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(default_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(v4l2_queryctrl),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_query_ext_ctrl {
pub id: __u32,
pub type_: __u32,
pub name: [::std::os::raw::c_char; 32usize],
pub minimum: __s64,
pub maximum: __s64,
pub step: __u64,
pub default_value: __s64,
pub flags: __u32,
pub elem_size: __u32,
pub elems: __u32,
pub nr_of_dims: __u32,
pub dims: [__u32; 4usize],
pub reserved: [__u32; 32usize],
}
#[test]
fn bindgen_test_layout_v4l2_query_ext_ctrl() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_query_ext_ctrl> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_query_ext_ctrl>(),
232usize,
concat!("Size of: ", stringify!(v4l2_query_ext_ctrl))
);
assert_eq!(
::std::mem::align_of::<v4l2_query_ext_ctrl>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_query_ext_ctrl))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(minimum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(maximum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(step)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(default_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).elem_size) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(elem_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).elems) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(elems)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).nr_of_dims) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(nr_of_dims)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dims) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(dims)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(v4l2_query_ext_ctrl),
"::",
stringify!(reserved)
)
);
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_querymenu {
pub id: __u32,
pub index: __u32,
pub __bindgen_anon_1: v4l2_querymenu__bindgen_ty_1,
pub reserved: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_querymenu__bindgen_ty_1 {
pub name: [__u8; 32usize],
pub value: __s64,
}
#[test]
fn bindgen_test_layout_v4l2_querymenu__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_querymenu__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_querymenu__bindgen_ty_1>(),
32usize,
concat!("Size of: ", stringify!(v4l2_querymenu__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_querymenu__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_querymenu__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_querymenu__bindgen_ty_1),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_querymenu__bindgen_ty_1),
"::",
stringify!(value)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_querymenu() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_querymenu> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_querymenu>(),
44usize,
concat!("Size of: ", stringify!(v4l2_querymenu))
);
assert_eq!(
::std::mem::align_of::<v4l2_querymenu>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_querymenu))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_querymenu),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_querymenu),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_querymenu),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_tuner {
pub index: __u32,
pub name: [__u8; 32usize],
pub type_: __u32,
pub capability: __u32,
pub rangelow: __u32,
pub rangehigh: __u32,
pub rxsubchans: __u32,
pub audmode: __u32,
pub signal: __s32,
pub afc: __s32,
pub reserved: [__u32; 4usize],
}
#[test]
fn bindgen_test_layout_v4l2_tuner() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_tuner> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_tuner>(),
84usize,
concat!("Size of: ", stringify!(v4l2_tuner))
);
assert_eq!(
::std::mem::align_of::<v4l2_tuner>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_tuner))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangelow) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(rangelow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangehigh) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(rangehigh)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rxsubchans) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(rxsubchans)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).audmode) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(audmode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).signal) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(signal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).afc) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(afc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(v4l2_tuner),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_modulator {
pub index: __u32,
pub name: [__u8; 32usize],
pub capability: __u32,
pub rangelow: __u32,
pub rangehigh: __u32,
pub txsubchans: __u32,
pub type_: __u32,
pub reserved: [__u32; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_modulator() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_modulator> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_modulator>(),
68usize,
concat!("Size of: ", stringify!(v4l2_modulator))
);
assert_eq!(
::std::mem::align_of::<v4l2_modulator>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_modulator))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangelow) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(rangelow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangehigh) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(rangehigh)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).txsubchans) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(txsubchans)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(v4l2_modulator),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_frequency {
pub tuner: __u32,
pub type_: __u32,
pub frequency: __u32,
pub reserved: [__u32; 8usize],
}
#[test]
fn bindgen_test_layout_v4l2_frequency() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frequency> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frequency>(),
44usize,
concat!("Size of: ", stringify!(v4l2_frequency))
);
assert_eq!(
::std::mem::align_of::<v4l2_frequency>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frequency))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tuner) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency),
"::",
stringify!(tuner)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frequency) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency),
"::",
stringify!(frequency)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_frequency_band {
pub tuner: __u32,
pub type_: __u32,
pub index: __u32,
pub capability: __u32,
pub rangelow: __u32,
pub rangehigh: __u32,
pub modulation: __u32,
pub reserved: [__u32; 9usize],
}
#[test]
fn bindgen_test_layout_v4l2_frequency_band() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_frequency_band> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_frequency_band>(),
64usize,
concat!("Size of: ", stringify!(v4l2_frequency_band))
);
assert_eq!(
::std::mem::align_of::<v4l2_frequency_band>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_frequency_band))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tuner) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(tuner)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangelow) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(rangelow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangehigh) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(rangehigh)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).modulation) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(modulation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_frequency_band),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_hw_freq_seek {
pub tuner: __u32,
pub type_: __u32,
pub seek_upward: __u32,
pub wrap_around: __u32,
pub spacing: __u32,
pub rangelow: __u32,
pub rangehigh: __u32,
pub reserved: [__u32; 5usize],
}
#[test]
fn bindgen_test_layout_v4l2_hw_freq_seek() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_hw_freq_seek> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_hw_freq_seek>(),
48usize,
concat!("Size of: ", stringify!(v4l2_hw_freq_seek))
);
assert_eq!(
::std::mem::align_of::<v4l2_hw_freq_seek>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_hw_freq_seek))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tuner) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(tuner)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seek_upward) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(seek_upward)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).wrap_around) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(wrap_around)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).spacing) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(spacing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangelow) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(rangelow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rangehigh) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(rangehigh)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_hw_freq_seek),
"::",
stringify!(reserved)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_rds_data {
pub lsb: __u8,
pub msb: __u8,
pub block: __u8,
}
#[test]
fn bindgen_test_layout_v4l2_rds_data() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_rds_data> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_rds_data>(),
3usize,
concat!("Size of: ", stringify!(v4l2_rds_data))
);
assert_eq!(
::std::mem::align_of::<v4l2_rds_data>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_rds_data))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lsb) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_rds_data),
"::",
stringify!(lsb)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).msb) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_rds_data),
"::",
stringify!(msb)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_rds_data),
"::",
stringify!(block)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_audio {
pub index: __u32,
pub name: [__u8; 32usize],
pub capability: __u32,
pub mode: __u32,
pub reserved: [__u32; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_audio() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_audio> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_audio>(),
52usize,
concat!("Size of: ", stringify!(v4l2_audio))
);
assert_eq!(
::std::mem::align_of::<v4l2_audio>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_audio))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audio),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audio),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audio),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audio),
"::",
stringify!(mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audio),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_audioout {
pub index: __u32,
pub name: [__u8; 32usize],
pub capability: __u32,
pub mode: __u32,
pub reserved: [__u32; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_audioout() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_audioout> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_audioout>(),
52usize,
concat!("Size of: ", stringify!(v4l2_audioout))
);
assert_eq!(
::std::mem::align_of::<v4l2_audioout>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_audioout))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audioout),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audioout),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audioout),
"::",
stringify!(capability)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audioout),
"::",
stringify!(mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(v4l2_audioout),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_enc_idx_entry {
pub offset: __u64,
pub pts: __u64,
pub length: __u32,
pub flags: __u32,
pub reserved: [__u32; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_enc_idx_entry() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_enc_idx_entry> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_enc_idx_entry>(),
32usize,
concat!("Size of: ", stringify!(v4l2_enc_idx_entry))
);
assert_eq!(
::std::mem::align_of::<v4l2_enc_idx_entry>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_enc_idx_entry))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx_entry),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pts) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx_entry),
"::",
stringify!(pts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx_entry),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx_entry),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx_entry),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_enc_idx {
pub entries: __u32,
pub entries_cap: __u32,
pub reserved: [__u32; 4usize],
pub entry: [v4l2_enc_idx_entry; 64usize],
}
#[test]
fn bindgen_test_layout_v4l2_enc_idx() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_enc_idx> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_enc_idx>(),
2072usize,
concat!("Size of: ", stringify!(v4l2_enc_idx))
);
assert_eq!(
::std::mem::align_of::<v4l2_enc_idx>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_enc_idx))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).entries) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx),
"::",
stringify!(entries)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).entries_cap) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx),
"::",
stringify!(entries_cap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).entry) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_enc_idx),
"::",
stringify!(entry)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_encoder_cmd {
pub cmd: __u32,
pub flags: __u32,
pub __bindgen_anon_1: v4l2_encoder_cmd__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_encoder_cmd__bindgen_ty_1 {
pub raw: v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1 {
pub data: [__u32; 8usize],
}
#[test]
fn bindgen_test_layout_v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1>(),
32usize,
concat!(
"Size of: ",
stringify!(v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_encoder_cmd__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(data)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_encoder_cmd__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_encoder_cmd__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_encoder_cmd__bindgen_ty_1>(),
32usize,
concat!("Size of: ", stringify!(v4l2_encoder_cmd__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_encoder_cmd__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_encoder_cmd__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).raw) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_encoder_cmd__bindgen_ty_1),
"::",
stringify!(raw)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_encoder_cmd() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_encoder_cmd> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_encoder_cmd>(),
40usize,
concat!("Size of: ", stringify!(v4l2_encoder_cmd))
);
assert_eq!(
::std::mem::align_of::<v4l2_encoder_cmd>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_encoder_cmd))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cmd) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_encoder_cmd),
"::",
stringify!(cmd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_encoder_cmd),
"::",
stringify!(flags)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_decoder_cmd {
pub cmd: __u32,
pub flags: __u32,
pub __bindgen_anon_1: v4l2_decoder_cmd__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_decoder_cmd__bindgen_ty_1 {
pub stop: v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1,
pub start: v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2,
pub raw: v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1 {
pub pts: __u64,
}
#[test]
fn bindgen_test_layout_v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pts) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(pts)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2 {
pub speed: __s32,
pub format: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2>(),
8usize,
concat!(
"Size of: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
::std::mem::align_of::<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2>(),
4usize,
concat!(
"Alignment of ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).speed) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(speed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(format)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3 {
pub data: [__u32; 16usize],
}
#[test]
fn bindgen_test_layout_v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3>(),
64usize,
concat!(
"Size of: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3)
)
);
assert_eq!(
::std::mem::align_of::<v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3>(),
4usize,
concat!(
"Alignment of ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1__bindgen_ty_3),
"::",
stringify!(data)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_decoder_cmd__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_decoder_cmd__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_decoder_cmd__bindgen_ty_1>(),
64usize,
concat!("Size of: ", stringify!(v4l2_decoder_cmd__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_decoder_cmd__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_decoder_cmd__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).stop) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1),
"::",
stringify!(stop)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1),
"::",
stringify!(start)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).raw) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd__bindgen_ty_1),
"::",
stringify!(raw)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_decoder_cmd() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_decoder_cmd> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_decoder_cmd>(),
72usize,
concat!("Size of: ", stringify!(v4l2_decoder_cmd))
);
assert_eq!(
::std::mem::align_of::<v4l2_decoder_cmd>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_decoder_cmd))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cmd) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd),
"::",
stringify!(cmd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_decoder_cmd),
"::",
stringify!(flags)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_vbi_format {
pub sampling_rate: __u32,
pub offset: __u32,
pub samples_per_line: __u32,
pub sample_format: __u32,
pub start: [__s32; 2usize],
pub count: [__u32; 2usize],
pub flags: __u32,
pub reserved: [__u32; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_vbi_format() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_vbi_format> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_vbi_format>(),
44usize,
concat!("Size of: ", stringify!(v4l2_vbi_format))
);
assert_eq!(
::std::mem::align_of::<v4l2_vbi_format>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_vbi_format))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sampling_rate) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(sampling_rate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).samples_per_line) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(samples_per_line)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sample_format) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(sample_format)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(start)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_vbi_format),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_sliced_vbi_format {
pub service_set: __u16,
pub service_lines: [[__u16; 24usize]; 2usize],
pub io_size: __u32,
pub reserved: [__u32; 2usize],
}
#[test]
fn bindgen_test_layout_v4l2_sliced_vbi_format() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_sliced_vbi_format> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_sliced_vbi_format>(),
112usize,
concat!("Size of: ", stringify!(v4l2_sliced_vbi_format))
);
assert_eq!(
::std::mem::align_of::<v4l2_sliced_vbi_format>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_sliced_vbi_format))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).service_set) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_format),
"::",
stringify!(service_set)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).service_lines) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_format),
"::",
stringify!(service_lines)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).io_size) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_format),
"::",
stringify!(io_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_format),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_sliced_vbi_cap {
pub service_set: __u16,
pub service_lines: [[__u16; 24usize]; 2usize],
pub type_: __u32,
pub reserved: [__u32; 3usize],
}
#[test]
fn bindgen_test_layout_v4l2_sliced_vbi_cap() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_sliced_vbi_cap> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_sliced_vbi_cap>(),
116usize,
concat!("Size of: ", stringify!(v4l2_sliced_vbi_cap))
);
assert_eq!(
::std::mem::align_of::<v4l2_sliced_vbi_cap>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_sliced_vbi_cap))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).service_set) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_cap),
"::",
stringify!(service_set)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).service_lines) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_cap),
"::",
stringify!(service_lines)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_cap),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_cap),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_sliced_vbi_data {
pub id: __u32,
pub field: __u32,
pub line: __u32,
pub reserved: __u32,
pub data: [__u8; 48usize],
}
#[test]
fn bindgen_test_layout_v4l2_sliced_vbi_data() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_sliced_vbi_data> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_sliced_vbi_data>(),
64usize,
concat!("Size of: ", stringify!(v4l2_sliced_vbi_data))
);
assert_eq!(
::std::mem::align_of::<v4l2_sliced_vbi_data>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_sliced_vbi_data))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_data),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_data),
"::",
stringify!(field)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_data),
"::",
stringify!(line)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_data),
"::",
stringify!(reserved)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sliced_vbi_data),
"::",
stringify!(data)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_mpeg_vbi_itv0_line {
pub id: __u8,
pub data: [__u8; 42usize],
}
#[test]
fn bindgen_test_layout_v4l2_mpeg_vbi_itv0_line() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_mpeg_vbi_itv0_line> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_mpeg_vbi_itv0_line>(),
43usize,
concat!("Size of: ", stringify!(v4l2_mpeg_vbi_itv0_line))
);
assert_eq!(
::std::mem::align_of::<v4l2_mpeg_vbi_itv0_line>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_mpeg_vbi_itv0_line))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_itv0_line),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_itv0_line),
"::",
stringify!(data)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_mpeg_vbi_itv0 {
pub linemask: [__le32; 2usize],
pub line: [v4l2_mpeg_vbi_itv0_line; 35usize],
}
#[test]
fn bindgen_test_layout_v4l2_mpeg_vbi_itv0() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_mpeg_vbi_itv0> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_mpeg_vbi_itv0>(),
1513usize,
concat!("Size of: ", stringify!(v4l2_mpeg_vbi_itv0))
);
assert_eq!(
::std::mem::align_of::<v4l2_mpeg_vbi_itv0>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_mpeg_vbi_itv0))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).linemask) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_itv0),
"::",
stringify!(linemask)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_itv0),
"::",
stringify!(line)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_mpeg_vbi_ITV0 {
pub line: [v4l2_mpeg_vbi_itv0_line; 36usize],
}
#[test]
fn bindgen_test_layout_v4l2_mpeg_vbi_ITV0() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_mpeg_vbi_ITV0> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_mpeg_vbi_ITV0>(),
1548usize,
concat!("Size of: ", stringify!(v4l2_mpeg_vbi_ITV0))
);
assert_eq!(
::std::mem::align_of::<v4l2_mpeg_vbi_ITV0>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_mpeg_vbi_ITV0))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_ITV0),
"::",
stringify!(line)
)
);
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_mpeg_vbi_fmt_ivtv {
pub magic: [__u8; 4usize],
pub __bindgen_anon_1: v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1 {
pub itv0: v4l2_mpeg_vbi_itv0,
pub ITV0: v4l2_mpeg_vbi_ITV0,
}
#[test]
fn bindgen_test_layout_v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1>(),
1548usize,
concat!(
"Size of: ",
stringify!(v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1>(),
1usize,
concat!(
"Alignment of ",
stringify!(v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).itv0) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1),
"::",
stringify!(itv0)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ITV0) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_fmt_ivtv__bindgen_ty_1),
"::",
stringify!(ITV0)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_mpeg_vbi_fmt_ivtv() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_mpeg_vbi_fmt_ivtv> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_mpeg_vbi_fmt_ivtv>(),
1552usize,
concat!("Size of: ", stringify!(v4l2_mpeg_vbi_fmt_ivtv))
);
assert_eq!(
::std::mem::align_of::<v4l2_mpeg_vbi_fmt_ivtv>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_mpeg_vbi_fmt_ivtv))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_mpeg_vbi_fmt_ivtv),
"::",
stringify!(magic)
)
);
}
#[doc = " struct v4l2_plane_pix_format - additional, per-plane format definition\n @sizeimage:\t\tmaximum size in bytes required for data, for which\n\t\t\tthis plane will be used\n @bytesperline:\tdistance in bytes between the leftmost pixels in two\n\t\t\tadjacent lines\n @reserved:\t\tdrivers and applications must zero this array"]
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_plane_pix_format {
pub sizeimage: __u32,
pub bytesperline: __u32,
pub reserved: [__u16; 6usize],
}
#[test]
fn bindgen_test_layout_v4l2_plane_pix_format() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_plane_pix_format> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_plane_pix_format>(),
20usize,
concat!("Size of: ", stringify!(v4l2_plane_pix_format))
);
assert_eq!(
::std::mem::align_of::<v4l2_plane_pix_format>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_plane_pix_format))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sizeimage) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane_pix_format),
"::",
stringify!(sizeimage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bytesperline) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane_pix_format),
"::",
stringify!(bytesperline)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_plane_pix_format),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_pix_format_mplane - multiplanar format definition\n @width:\t\timage width in pixels\n @height:\t\timage height in pixels\n @pixelformat:\tlittle endian four character code (fourcc)\n @field:\t\tenum v4l2_field; field order (for interlaced video)\n @colorspace:\t\tenum v4l2_colorspace; supplemental to pixelformat\n @plane_fmt:\t\tper-plane information\n @num_planes:\t\tnumber of planes for this format\n @flags:\t\tformat flags (V4L2_PIX_FMT_FLAG_*)\n @ycbcr_enc:\t\tenum v4l2_ycbcr_encoding, Y'CbCr encoding\n @hsv_enc:\t\tenum v4l2_hsv_encoding, HSV encoding\n @quantization:\tenum v4l2_quantization, colorspace quantization\n @xfer_func:\t\tenum v4l2_xfer_func, colorspace transfer function\n @reserved:\t\tdrivers and applications must zero this array"]
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_pix_format_mplane {
pub width: __u32,
pub height: __u32,
pub pixelformat: __u32,
pub field: __u32,
pub colorspace: __u32,
pub plane_fmt: [v4l2_plane_pix_format; 8usize],
pub num_planes: __u8,
pub flags: __u8,
pub __bindgen_anon_1: v4l2_pix_format_mplane__bindgen_ty_1,
pub quantization: __u8,
pub xfer_func: __u8,
pub reserved: [__u8; 7usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_pix_format_mplane__bindgen_ty_1 {
pub ycbcr_enc: __u8,
pub hsv_enc: __u8,
}
#[test]
fn bindgen_test_layout_v4l2_pix_format_mplane__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_pix_format_mplane__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_pix_format_mplane__bindgen_ty_1>(),
1usize,
concat!(
"Size of: ",
stringify!(v4l2_pix_format_mplane__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<v4l2_pix_format_mplane__bindgen_ty_1>(),
1usize,
concat!(
"Alignment of ",
stringify!(v4l2_pix_format_mplane__bindgen_ty_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ycbcr_enc) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane__bindgen_ty_1),
"::",
stringify!(ycbcr_enc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hsv_enc) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane__bindgen_ty_1),
"::",
stringify!(hsv_enc)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_pix_format_mplane() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_pix_format_mplane> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_pix_format_mplane>(),
192usize,
concat!("Size of: ", stringify!(v4l2_pix_format_mplane))
);
assert_eq!(
::std::mem::align_of::<v4l2_pix_format_mplane>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_pix_format_mplane))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixelformat) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(pixelformat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(field)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(colorspace)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).plane_fmt) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(plane_fmt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).num_planes) as usize - ptr as usize },
180usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(num_planes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
181usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).quantization) as usize - ptr as usize },
183usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(quantization)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).xfer_func) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(xfer_func)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
185usize,
concat!(
"Offset of field: ",
stringify!(v4l2_pix_format_mplane),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_sdr_format - SDR format definition\n @pixelformat:\tlittle endian four character code (fourcc)\n @buffersize:\t\tmaximum size in bytes required for data\n @reserved:\t\tdrivers and applications must zero this array"]
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_sdr_format {
pub pixelformat: __u32,
pub buffersize: __u32,
pub reserved: [__u8; 24usize],
}
#[test]
fn bindgen_test_layout_v4l2_sdr_format() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_sdr_format> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_sdr_format>(),
32usize,
concat!("Size of: ", stringify!(v4l2_sdr_format))
);
assert_eq!(
::std::mem::align_of::<v4l2_sdr_format>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_sdr_format))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixelformat) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sdr_format),
"::",
stringify!(pixelformat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).buffersize) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sdr_format),
"::",
stringify!(buffersize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_sdr_format),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_meta_format - metadata format definition\n @dataformat:\t\tlittle endian four character code (fourcc)\n @buffersize:\t\tmaximum size in bytes required for data"]
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_meta_format {
pub dataformat: __u32,
pub buffersize: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_meta_format() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_meta_format> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_meta_format>(),
8usize,
concat!("Size of: ", stringify!(v4l2_meta_format))
);
assert_eq!(
::std::mem::align_of::<v4l2_meta_format>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_meta_format))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dataformat) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_meta_format),
"::",
stringify!(dataformat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).buffersize) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_meta_format),
"::",
stringify!(buffersize)
)
);
}
#[doc = " struct v4l2_format - stream data format\n @type:\tenum v4l2_buf_type; type of the data stream\n @pix:\tdefinition of an image format\n @pix_mp:\tdefinition of a multiplanar image format\n @win:\tdefinition of an overlaid image\n @vbi:\traw VBI capture or output parameters\n @sliced:\tsliced VBI capture or output parameters\n @raw_data:\tplaceholder for future extensions and custom formats\n @fmt:\tunion of @pix, @pix_mp, @win, @vbi, @sliced, @sdr, @meta\n\t\tand @raw_data"]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_format {
pub type_: __u32,
pub fmt: v4l2_format__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_format__bindgen_ty_1 {
pub pix: v4l2_pix_format,
pub pix_mp: v4l2_pix_format_mplane,
pub win: v4l2_window,
pub vbi: v4l2_vbi_format,
pub sliced: v4l2_sliced_vbi_format,
pub sdr: v4l2_sdr_format,
pub meta: v4l2_meta_format,
pub raw_data: [__u8; 200usize],
}
#[test]
fn bindgen_test_layout_v4l2_format__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_format__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_format__bindgen_ty_1>(),
200usize,
concat!("Size of: ", stringify!(v4l2_format__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_format__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_format__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pix) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(pix)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pix_mp) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(pix_mp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).win) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(win)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vbi) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(vbi)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sliced) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(sliced)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sdr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(sdr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).meta) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(meta)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).raw_data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format__bindgen_ty_1),
"::",
stringify!(raw_data)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_format() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_format> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_format>(),
204usize,
concat!("Size of: ", stringify!(v4l2_format))
);
assert_eq!(
::std::mem::align_of::<v4l2_format>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_format))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fmt) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_format),
"::",
stringify!(fmt)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_streamparm {
pub type_: __u32,
pub parm: v4l2_streamparm__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_streamparm__bindgen_ty_1 {
pub capture: v4l2_captureparm,
pub output: v4l2_outputparm,
pub raw_data: [__u8; 200usize],
}
#[test]
fn bindgen_test_layout_v4l2_streamparm__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_streamparm__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_streamparm__bindgen_ty_1>(),
200usize,
concat!("Size of: ", stringify!(v4l2_streamparm__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_streamparm__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_streamparm__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capture) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_streamparm__bindgen_ty_1),
"::",
stringify!(capture)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).output) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_streamparm__bindgen_ty_1),
"::",
stringify!(output)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).raw_data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_streamparm__bindgen_ty_1),
"::",
stringify!(raw_data)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_streamparm() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_streamparm> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_streamparm>(),
204usize,
concat!("Size of: ", stringify!(v4l2_streamparm))
);
assert_eq!(
::std::mem::align_of::<v4l2_streamparm>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_streamparm))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_streamparm),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).parm) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_streamparm),
"::",
stringify!(parm)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_event_vsync {
pub field: __u8,
}
#[test]
fn bindgen_test_layout_v4l2_event_vsync() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event_vsync> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event_vsync>(),
1usize,
concat!("Size of: ", stringify!(v4l2_event_vsync))
);
assert_eq!(
::std::mem::align_of::<v4l2_event_vsync>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_event_vsync))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_vsync),
"::",
stringify!(field)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_event_ctrl {
pub changes: __u32,
pub type_: __u32,
pub __bindgen_anon_1: v4l2_event_ctrl__bindgen_ty_1,
pub flags: __u32,
pub minimum: __s32,
pub maximum: __s32,
pub step: __s32,
pub default_value: __s32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_event_ctrl__bindgen_ty_1 {
pub value: __s32,
pub value64: __s64,
}
#[test]
fn bindgen_test_layout_v4l2_event_ctrl__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event_ctrl__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event_ctrl__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(v4l2_event_ctrl__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_event_ctrl__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event_ctrl__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl__bindgen_ty_1),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value64) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl__bindgen_ty_1),
"::",
stringify!(value64)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_event_ctrl() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event_ctrl> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event_ctrl>(),
36usize,
concat!("Size of: ", stringify!(v4l2_event_ctrl))
);
assert_eq!(
::std::mem::align_of::<v4l2_event_ctrl>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event_ctrl))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).changes) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl),
"::",
stringify!(changes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl),
"::",
stringify!(minimum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl),
"::",
stringify!(maximum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl),
"::",
stringify!(step)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).default_value) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_ctrl),
"::",
stringify!(default_value)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_event_frame_sync {
pub frame_sequence: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_event_frame_sync() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event_frame_sync> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event_frame_sync>(),
4usize,
concat!("Size of: ", stringify!(v4l2_event_frame_sync))
);
assert_eq!(
::std::mem::align_of::<v4l2_event_frame_sync>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event_frame_sync))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_sequence) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_frame_sync),
"::",
stringify!(frame_sequence)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_event_src_change {
pub changes: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_event_src_change() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event_src_change> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event_src_change>(),
4usize,
concat!("Size of: ", stringify!(v4l2_event_src_change))
);
assert_eq!(
::std::mem::align_of::<v4l2_event_src_change>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event_src_change))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).changes) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_src_change),
"::",
stringify!(changes)
)
);
}
#[doc = " struct v4l2_event_motion_det - motion detection event\n @flags: if V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ is set, then the\n frame_sequence field is valid.\n @frame_sequence: the frame sequence number associated with this event.\n @region_mask: which regions detected motion."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_event_motion_det {
pub flags: __u32,
pub frame_sequence: __u32,
pub region_mask: __u32,
}
#[test]
fn bindgen_test_layout_v4l2_event_motion_det() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event_motion_det> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event_motion_det>(),
12usize,
concat!("Size of: ", stringify!(v4l2_event_motion_det))
);
assert_eq!(
::std::mem::align_of::<v4l2_event_motion_det>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event_motion_det))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_motion_det),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_sequence) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_motion_det),
"::",
stringify!(frame_sequence)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).region_mask) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_motion_det),
"::",
stringify!(region_mask)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_event {
pub type_: __u32,
pub u: v4l2_event__bindgen_ty_1,
pub pending: __u32,
pub sequence: __u32,
pub timestamp: timespec,
pub id: __u32,
pub reserved: [__u32; 8usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_event__bindgen_ty_1 {
pub vsync: v4l2_event_vsync,
pub ctrl: v4l2_event_ctrl,
pub frame_sync: v4l2_event_frame_sync,
pub src_change: v4l2_event_src_change,
pub motion_det: v4l2_event_motion_det,
pub data: [__u8; 64usize],
}
#[test]
fn bindgen_test_layout_v4l2_event__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event__bindgen_ty_1>(),
64usize,
concat!("Size of: ", stringify!(v4l2_event__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_event__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vsync) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event__bindgen_ty_1),
"::",
stringify!(vsync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event__bindgen_ty_1),
"::",
stringify!(ctrl)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame_sync) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event__bindgen_ty_1),
"::",
stringify!(frame_sync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).src_change) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event__bindgen_ty_1),
"::",
stringify!(src_change)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).motion_det) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event__bindgen_ty_1),
"::",
stringify!(motion_det)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event__bindgen_ty_1),
"::",
stringify!(data)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_event() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event>(),
120usize,
concat!("Size of: ", stringify!(v4l2_event))
);
assert_eq!(
::std::mem::align_of::<v4l2_event>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event),
"::",
stringify!(u)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pending) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event),
"::",
stringify!(pending)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event),
"::",
stringify!(sequence)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event),
"::",
stringify!(timestamp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event),
"::",
stringify!(reserved)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct v4l2_event_subscription {
pub type_: __u32,
pub id: __u32,
pub flags: __u32,
pub reserved: [__u32; 5usize],
}
#[test]
fn bindgen_test_layout_v4l2_event_subscription() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_event_subscription> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_event_subscription>(),
32usize,
concat!("Size of: ", stringify!(v4l2_event_subscription))
);
assert_eq!(
::std::mem::align_of::<v4l2_event_subscription>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_event_subscription))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_subscription),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_subscription),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_subscription),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_event_subscription),
"::",
stringify!(reserved)
)
);
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_dbg_match {
pub type_: __u32,
pub __bindgen_anon_1: v4l2_dbg_match__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union v4l2_dbg_match__bindgen_ty_1 {
pub addr: __u32,
pub name: [::std::os::raw::c_char; 32usize],
}
#[test]
fn bindgen_test_layout_v4l2_dbg_match__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dbg_match__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dbg_match__bindgen_ty_1>(),
32usize,
concat!("Size of: ", stringify!(v4l2_dbg_match__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<v4l2_dbg_match__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_dbg_match__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_match__bindgen_ty_1),
"::",
stringify!(addr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_match__bindgen_ty_1),
"::",
stringify!(name)
)
);
}
#[test]
fn bindgen_test_layout_v4l2_dbg_match() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dbg_match> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dbg_match>(),
36usize,
concat!("Size of: ", stringify!(v4l2_dbg_match))
);
assert_eq!(
::std::mem::align_of::<v4l2_dbg_match>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_dbg_match))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_match),
"::",
stringify!(type_)
)
);
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_dbg_register {
pub match_: v4l2_dbg_match,
pub size: __u32,
pub reg: __u64,
pub val: __u64,
}
#[test]
fn bindgen_test_layout_v4l2_dbg_register() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dbg_register> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dbg_register>(),
56usize,
concat!("Size of: ", stringify!(v4l2_dbg_register))
);
assert_eq!(
::std::mem::align_of::<v4l2_dbg_register>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_dbg_register))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).match_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_register),
"::",
stringify!(match_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_register),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reg) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_register),
"::",
stringify!(reg)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_register),
"::",
stringify!(val)
)
);
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct v4l2_dbg_chip_info {
pub match_: v4l2_dbg_match,
pub name: [::std::os::raw::c_char; 32usize],
pub flags: __u32,
pub reserved: [__u32; 32usize],
}
#[test]
fn bindgen_test_layout_v4l2_dbg_chip_info() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_dbg_chip_info> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_dbg_chip_info>(),
200usize,
concat!("Size of: ", stringify!(v4l2_dbg_chip_info))
);
assert_eq!(
::std::mem::align_of::<v4l2_dbg_chip_info>(),
1usize,
concat!("Alignment of ", stringify!(v4l2_dbg_chip_info))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).match_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_chip_info),
"::",
stringify!(match_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_chip_info),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_chip_info),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(v4l2_dbg_chip_info),
"::",
stringify!(reserved)
)
);
}
#[doc = " struct v4l2_create_buffers - VIDIOC_CREATE_BUFS argument\n @index:\ton return, index of the first created buffer\n @count:\tentry: number of requested buffers,\n\t\treturn: number of created buffers\n @memory:\tenum v4l2_memory; buffer memory type\n @format:\tframe format, for which buffers are requested\n @capabilities: capabilities of this buffer type.\n @flags:\tadditional buffer management attributes (ignored unless the\n\t\tqueue has V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS capability\n\t\tand configured for MMAP streaming I/O).\n @reserved:\tfuture extensions"]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct v4l2_create_buffers {
pub index: __u32,
pub count: __u32,
pub memory: __u32,
pub format: v4l2_format,
pub capabilities: __u32,
pub flags: __u32,
pub reserved: [__u32; 6usize],
}
#[test]
fn bindgen_test_layout_v4l2_create_buffers() {
const UNINIT: ::std::mem::MaybeUninit<v4l2_create_buffers> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<v4l2_create_buffers>(),
248usize,
concat!("Size of: ", stringify!(v4l2_create_buffers))
);
assert_eq!(
::std::mem::align_of::<v4l2_create_buffers>(),
4usize,
concat!("Alignment of ", stringify!(v4l2_create_buffers))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(v4l2_create_buffers),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(v4l2_create_buffers),
"::",
stringify!(count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(v4l2_create_buffers),
"::",
stringify!(memory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(v4l2_create_buffers),
"::",
stringify!(format)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(v4l2_create_buffers),
"::",
stringify!(capabilities)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
220usize,
concat!(
"Offset of field: ",
stringify!(v4l2_create_buffers),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(v4l2_create_buffers),
"::",
stringify!(reserved)
)
);
}
pub const V4L2_FWHT_FL_IS_INTERLACED: ::std::os::raw::c_ulong = 1;
pub const V4L2_FWHT_FL_IS_BOTTOM_FIRST: ::std::os::raw::c_ulong = 2;
pub const V4L2_FWHT_FL_IS_ALTERNATE: ::std::os::raw::c_ulong = 4;
pub const V4L2_FWHT_FL_IS_BOTTOM_FIELD: ::std::os::raw::c_ulong = 8;
pub const V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED: ::std::os::raw::c_ulong = 16;
pub const V4L2_FWHT_FL_CB_IS_UNCOMPRESSED: ::std::os::raw::c_ulong = 32;
pub const V4L2_FWHT_FL_CR_IS_UNCOMPRESSED: ::std::os::raw::c_ulong = 64;
pub const V4L2_FWHT_FL_CHROMA_FULL_HEIGHT: ::std::os::raw::c_ulong = 128;
pub const V4L2_FWHT_FL_CHROMA_FULL_WIDTH: ::std::os::raw::c_ulong = 256;
pub const V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED: ::std::os::raw::c_ulong = 512;
pub const V4L2_FWHT_FL_I_FRAME: ::std::os::raw::c_ulong = 1024;