/* automatically generated by rust-bindgen 0.72.1 */
pub const SVT_AV1_VERSION_MAJOR: u32 = 4;
pub const SVT_AV1_VERSION_MINOR: u32 = 1;
pub const SVT_AV1_VERSION_PATCHLEVEL: u32 = 0;
pub const EB_MAX_NUM_OPERATING_POINTS: u32 = 32;
pub const EB_MAX_TEMPORAL_LAYERS: u32 = 6;
pub const SVT_AV1_ENC_ABI_VERSION: u32 = 0;
pub const EB_BUFFERFLAG_EOS: u32 = 1;
pub const EB_BUFFERFLAG_SHOW_EXT: u32 = 2;
pub const EB_BUFFERFLAG_HAS_TD: u32 = 4;
pub const EB_BUFFERFLAG_IS_ALT_REF: u32 = 8;
pub const EB_BUFFERFLAG_ERROR_MASK: u32 = 4294967280;
pub mod EbColorPrimaries {
#[doc = "\\brief List of supported color primaries"]
pub type Type = ::std::os::raw::c_uint;
#[doc = "< For future use"]
pub const EB_CICP_CP_RESERVED_0: Type = 0;
#[doc = "< BT.709"]
pub const EB_CICP_CP_BT_709: Type = 1;
#[doc = "< Unspecified"]
pub const EB_CICP_CP_UNSPECIFIED: Type = 2;
#[doc = "< For future use"]
pub const EB_CICP_CP_RESERVED_3: Type = 3;
#[doc = "< BT.470 System M (historical)"]
pub const EB_CICP_CP_BT_470_M: Type = 4;
#[doc = "< BT.470 System B, G (historical)"]
pub const EB_CICP_CP_BT_470_B_G: Type = 5;
#[doc = "< BT.601"]
pub const EB_CICP_CP_BT_601: Type = 6;
#[doc = "< SMPTE 240"]
pub const EB_CICP_CP_SMPTE_240: Type = 7;
#[doc = "< Generic film (color filters using illuminant C)"]
pub const EB_CICP_CP_GENERIC_FILM: Type = 8;
#[doc = "< BT.2020, BT.2100"]
pub const EB_CICP_CP_BT_2020: Type = 9;
#[doc = "< SMPTE 428 (CIE 1921 XYZ)"]
pub const EB_CICP_CP_XYZ: Type = 10;
#[doc = "< SMPTE RP 431-2"]
pub const EB_CICP_CP_SMPTE_431: Type = 11;
#[doc = "< SMPTE EG 432-1"]
pub const EB_CICP_CP_SMPTE_432: Type = 12;
#[doc = "< For future use (values 13 - 21)"]
pub const EB_CICP_CP_RESERVED_13: Type = 13;
#[doc = "< EBU Tech. 3213-E"]
pub const EB_CICP_CP_EBU_3213: Type = 22;
#[doc = "< For future use (values 23 - 255)"]
pub const EB_CICP_CP_RESERVED_23: Type = 23;
#[doc = "< For future use (values 24 - 255)"]
pub const EB_CICP_CP_RESERVED_24: Type = 24;
#[doc = "< For future use (values 25 - 255)"]
pub const EB_CICP_CP_RESERVED_25: Type = 25;
#[doc = "< For future use (values 26 - 255)"]
pub const EB_CICP_CP_RESERVED_26: Type = 26;
}
pub mod EbTransferCharacteristics {
#[doc = "\\brief List of supported transfer functions"]
pub type Type = ::std::os::raw::c_uint;
#[doc = "< For future use"]
pub const EB_CICP_TC_RESERVED_0: Type = 0;
#[doc = "< BT.709"]
pub const EB_CICP_TC_BT_709: Type = 1;
#[doc = "< Unspecified"]
pub const EB_CICP_TC_UNSPECIFIED: Type = 2;
#[doc = "< For future use"]
pub const EB_CICP_TC_RESERVED_3: Type = 3;
#[doc = "< BT.470 System M (historical)"]
pub const EB_CICP_TC_BT_470_M: Type = 4;
#[doc = "< BT.470 System B, G (historical)"]
pub const EB_CICP_TC_BT_470_B_G: Type = 5;
#[doc = "< BT.601"]
pub const EB_CICP_TC_BT_601: Type = 6;
#[doc = "< SMPTE 240 M"]
pub const EB_CICP_TC_SMPTE_240: Type = 7;
#[doc = "< Linear"]
pub const EB_CICP_TC_LINEAR: Type = 8;
#[doc = "< Logarithmic (100 : 1 range)"]
pub const EB_CICP_TC_LOG_100: Type = 9;
#[doc = "< Logarithmic (100 * Sqrt(10) : 1 range)"]
pub const EB_CICP_TC_LOG_100_SQRT10: Type = 10;
#[doc = "< IEC 61966-2-4"]
pub const EB_CICP_TC_IEC_61966: Type = 11;
#[doc = "< BT.1361"]
pub const EB_CICP_TC_BT_1361: Type = 12;
#[doc = "< sRGB or sYCC"]
pub const EB_CICP_TC_SRGB: Type = 13;
#[doc = "< BT.2020 10-bit systems"]
pub const EB_CICP_TC_BT_2020_10_BIT: Type = 14;
#[doc = "< BT.2020 12-bit systems"]
pub const EB_CICP_TC_BT_2020_12_BIT: Type = 15;
#[doc = "< SMPTE ST 2084, ITU BT.2100 PQ"]
pub const EB_CICP_TC_SMPTE_2084: Type = 16;
#[doc = "< SMPTE ST 428"]
pub const EB_CICP_TC_SMPTE_428: Type = 17;
#[doc = "< BT.2100 HLG, ARIB STD-B67"]
pub const EB_CICP_TC_HLG: Type = 18;
#[doc = "< For future use (values 19-255)"]
pub const EB_CICP_TC_RESERVED_19: Type = 19;
#[doc = "< For future use (values 20-255)"]
pub const EB_CICP_TC_RESERVED_20: Type = 20;
#[doc = "< For future use (values 21-255)"]
pub const EB_CICP_TC_RESERVED_21: Type = 21;
#[doc = "< For future use (values 22-255)"]
pub const EB_CICP_TC_RESERVED_22: Type = 22;
#[doc = "< For future use (values 23-255)"]
pub const EB_CICP_TC_RESERVED_23: Type = 23;
}
pub mod EbMatrixCoefficients {
#[doc = "\\brief List of supported matrix coefficients"]
pub type Type = ::std::os::raw::c_uint;
#[doc = "< Identity matrix"]
pub const EB_CICP_MC_IDENTITY: Type = 0;
#[doc = "< BT.709"]
pub const EB_CICP_MC_BT_709: Type = 1;
#[doc = "< Unspecified"]
pub const EB_CICP_MC_UNSPECIFIED: Type = 2;
#[doc = "< For future use"]
pub const EB_CICP_MC_RESERVED_3: Type = 3;
#[doc = "< US FCC 73.628"]
pub const EB_CICP_MC_FCC: Type = 4;
#[doc = "< BT.470 System B, G (historical)"]
pub const EB_CICP_MC_BT_470_B_G: Type = 5;
#[doc = "< BT.601"]
pub const EB_CICP_MC_BT_601: Type = 6;
#[doc = "< SMPTE 240 M"]
pub const EB_CICP_MC_SMPTE_240: Type = 7;
#[doc = "< YCgCo"]
pub const EB_CICP_MC_SMPTE_YCGCO: Type = 8;
#[doc = "< BT.2020 non-constant luminance, BT.2100 YCbCr"]
pub const EB_CICP_MC_BT_2020_NCL: Type = 9;
#[doc = "< BT.2020 constant luminance"]
pub const EB_CICP_MC_BT_2020_CL: Type = 10;
#[doc = "< SMPTE ST 2085 YDzDx"]
pub const EB_CICP_MC_SMPTE_2085: Type = 11;
#[doc = "< Chromaticity-derived non-constant luminance"]
pub const EB_CICP_MC_CHROMAT_NCL: Type = 12;
#[doc = "< Chromaticity-derived constant luminance"]
pub const EB_CICP_MC_CHROMAT_CL: Type = 13;
#[doc = "< BT.2100 ICtCp"]
pub const EB_CICP_MC_ICTCP: Type = 14;
#[doc = "< For future use (values 15-255)"]
pub const EB_CICP_MC_RESERVED_15: Type = 15;
#[doc = "< For future use (values 16-255)"]
pub const EB_CICP_MC_RESERVED_16: Type = 16;
#[doc = "< For future use (values 17-255)"]
pub const EB_CICP_MC_RESERVED_17: Type = 17;
#[doc = "< For future use (values 18-255)"]
pub const EB_CICP_MC_RESERVED_18: Type = 18;
}
pub mod EbColorRange {
#[doc = "\\brief List of supported color range"]
pub type Type = ::std::os::raw::c_uint;
#[doc = "< Y [16..235], UV [16..240]"]
pub const EB_CR_STUDIO_RANGE: Type = 0;
#[doc = "< YUV/RGB [0..255]"]
pub const EB_CR_FULL_RANGE: Type = 1;
}
pub mod EbBitDepth {
pub type Type = ::std::os::raw::c_uint;
pub const EB_EIGHT_BIT: Type = 8;
pub const EB_TEN_BIT: Type = 10;
pub const EB_TWELVE_BIT: Type = 12;
pub const EB_SIXTEEN_BIT: Type = 16;
pub const EB_THIRTYTWO_BIT: Type = 32;
}
pub mod EbColorFormat {
pub type Type = ::std::os::raw::c_uint;
pub const EB_YUV400: Type = 0;
pub const EB_YUV420: Type = 1;
pub const EB_YUV422: Type = 2;
pub const EB_YUV444: Type = 3;
}
pub mod EbChromaSamplePosition {
#[doc = "\\brief List of chroma sample positions"]
pub type Type = ::std::os::raw::c_uint;
#[doc = "< Unknown"]
pub const EB_CSP_UNKNOWN: Type = 0;
#[doc = "< Horizontally co-located with luma(0, 0)*/\n/**< sample, between two vertical samples"]
pub const EB_CSP_VERTICAL: Type = 1;
#[doc = "< Co-located with luma(0, 0) sample"]
pub const EB_CSP_COLOCATED: Type = 2;
#[doc = "< Reserved value"]
pub const EB_CSP_RESERVED: Type = 3;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SvtMetadataArray {
_unused: [u8; 0],
}
pub mod EbAv1PictureType {
pub type Type = ::std::os::raw::c_uint;
pub const EB_AV1_INTER_PICTURE: Type = 0;
pub const EB_AV1_ALT_REF_PICTURE: Type = 1;
pub const EB_AV1_INTRA_ONLY_PICTURE: Type = 2;
pub const EB_AV1_KEY_PICTURE: Type = 3;
pub const EB_AV1_NON_REF_PICTURE: Type = 4;
pub const EB_AV1_SHOW_EXISTING_PICTURE: Type = 6;
pub const EB_AV1_FW_KEY_PICTURE: Type = 5;
pub const EB_AV1_SWITCH_PICTURE: Type = 7;
pub const EB_AV1_INVALID_PICTURE: Type = 255;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EbBufferHeaderType {
pub size: u32,
pub p_buffer: *mut u8,
pub n_filled_len: u32,
pub n_alloc_len: u32,
pub p_app_private: *mut ::std::os::raw::c_void,
pub wrapper_ptr: *mut ::std::os::raw::c_void,
pub n_tick_count: u32,
pub dts: i64,
pub pts: i64,
pub temporal_layer_index: u8,
pub qp: u32,
pub avg_qp: u32,
pub pic_type: EbAv1PictureType::Type,
pub luma_sse: u64,
pub cr_sse: u64,
pub cb_sse: u64,
pub flags: u32,
pub luma_ssim: f64,
pub cr_ssim: f64,
pub cb_ssim: f64,
pub metadata: *mut SvtMetadataArray,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of EbBufferHeaderType"][::std::mem::size_of::<EbBufferHeaderType>() - 144usize];
["Alignment of EbBufferHeaderType"][::std::mem::align_of::<EbBufferHeaderType>() - 8usize];
["Offset of field: EbBufferHeaderType::size"]
[::std::mem::offset_of!(EbBufferHeaderType, size) - 0usize];
["Offset of field: EbBufferHeaderType::p_buffer"]
[::std::mem::offset_of!(EbBufferHeaderType, p_buffer) - 8usize];
["Offset of field: EbBufferHeaderType::n_filled_len"]
[::std::mem::offset_of!(EbBufferHeaderType, n_filled_len) - 16usize];
["Offset of field: EbBufferHeaderType::n_alloc_len"]
[::std::mem::offset_of!(EbBufferHeaderType, n_alloc_len) - 20usize];
["Offset of field: EbBufferHeaderType::p_app_private"]
[::std::mem::offset_of!(EbBufferHeaderType, p_app_private) - 24usize];
["Offset of field: EbBufferHeaderType::wrapper_ptr"]
[::std::mem::offset_of!(EbBufferHeaderType, wrapper_ptr) - 32usize];
["Offset of field: EbBufferHeaderType::n_tick_count"]
[::std::mem::offset_of!(EbBufferHeaderType, n_tick_count) - 40usize];
["Offset of field: EbBufferHeaderType::dts"]
[::std::mem::offset_of!(EbBufferHeaderType, dts) - 48usize];
["Offset of field: EbBufferHeaderType::pts"]
[::std::mem::offset_of!(EbBufferHeaderType, pts) - 56usize];
["Offset of field: EbBufferHeaderType::temporal_layer_index"]
[::std::mem::offset_of!(EbBufferHeaderType, temporal_layer_index) - 64usize];
["Offset of field: EbBufferHeaderType::qp"]
[::std::mem::offset_of!(EbBufferHeaderType, qp) - 68usize];
["Offset of field: EbBufferHeaderType::avg_qp"]
[::std::mem::offset_of!(EbBufferHeaderType, avg_qp) - 72usize];
["Offset of field: EbBufferHeaderType::pic_type"]
[::std::mem::offset_of!(EbBufferHeaderType, pic_type) - 76usize];
["Offset of field: EbBufferHeaderType::luma_sse"]
[::std::mem::offset_of!(EbBufferHeaderType, luma_sse) - 80usize];
["Offset of field: EbBufferHeaderType::cr_sse"]
[::std::mem::offset_of!(EbBufferHeaderType, cr_sse) - 88usize];
["Offset of field: EbBufferHeaderType::cb_sse"]
[::std::mem::offset_of!(EbBufferHeaderType, cb_sse) - 96usize];
["Offset of field: EbBufferHeaderType::flags"]
[::std::mem::offset_of!(EbBufferHeaderType, flags) - 104usize];
["Offset of field: EbBufferHeaderType::luma_ssim"]
[::std::mem::offset_of!(EbBufferHeaderType, luma_ssim) - 112usize];
["Offset of field: EbBufferHeaderType::cr_ssim"]
[::std::mem::offset_of!(EbBufferHeaderType, cr_ssim) - 120usize];
["Offset of field: EbBufferHeaderType::cb_ssim"]
[::std::mem::offset_of!(EbBufferHeaderType, cb_ssim) - 128usize];
["Offset of field: EbBufferHeaderType::metadata"]
[::std::mem::offset_of!(EbBufferHeaderType, metadata) - 136usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EbComponentType {
pub size: u32,
pub p_component_private: *mut ::std::os::raw::c_void,
pub p_application_private: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of EbComponentType"][::std::mem::size_of::<EbComponentType>() - 24usize];
["Alignment of EbComponentType"][::std::mem::align_of::<EbComponentType>() - 8usize];
["Offset of field: EbComponentType::size"]
[::std::mem::offset_of!(EbComponentType, size) - 0usize];
["Offset of field: EbComponentType::p_component_private"]
[::std::mem::offset_of!(EbComponentType, p_component_private) - 8usize];
["Offset of field: EbComponentType::p_application_private"]
[::std::mem::offset_of!(EbComponentType, p_application_private) - 16usize];
};
pub mod EbErrorType {
pub type Type = ::std::os::raw::c_int;
pub const EB_ErrorNone: Type = 0;
pub const EB_DecUnsupportedBitstream: Type = 1073745920;
pub const EB_DecNoOutputPicture: Type = 1073745924;
pub const EB_DecDecodingError: Type = 1073745928;
pub const EB_Corrupt_Frame: Type = 1073745932;
pub const EB_ErrorInsufficientResources: Type = -2147479552;
pub const EB_ErrorUndefined: Type = -2147479551;
pub const EB_ErrorInvalidComponent: Type = -2147479548;
pub const EB_ErrorBadParameter: Type = -2147479547;
pub const EB_ErrorDestroyThreadFailed: Type = -2147475438;
pub const EB_ErrorSemaphoreUnresponsive: Type = -2147475423;
pub const EB_ErrorDestroySemaphoreFailed: Type = -2147475422;
pub const EB_ErrorCreateMutexFailed: Type = -2147475408;
pub const EB_ErrorMutexUnresponsive: Type = -2147475407;
pub const EB_ErrorDestroyMutexFailed: Type = -2147475406;
pub const EB_NoErrorEmptyQueue: Type = -2147475405;
pub const EB_NoErrorFifoShutdown: Type = -2147475404;
pub const EB_ErrorMax: Type = 2147483647;
}
pub mod EbAv1SeqProfile {
pub type Type = ::std::os::raw::c_uint;
pub const MAIN_PROFILE: Type = 0;
pub const HIGH_PROFILE: Type = 1;
pub const PROFESSIONAL_PROFILE: Type = 2;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EbSvtIOFormat {
pub luma: *mut u8,
pub cb: *mut u8,
pub cr: *mut u8,
pub y_stride: u32,
pub cr_stride: u32,
pub cb_stride: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of EbSvtIOFormat"][::std::mem::size_of::<EbSvtIOFormat>() - 40usize];
["Alignment of EbSvtIOFormat"][::std::mem::align_of::<EbSvtIOFormat>() - 8usize];
["Offset of field: EbSvtIOFormat::luma"][::std::mem::offset_of!(EbSvtIOFormat, luma) - 0usize];
["Offset of field: EbSvtIOFormat::cb"][::std::mem::offset_of!(EbSvtIOFormat, cb) - 8usize];
["Offset of field: EbSvtIOFormat::cr"][::std::mem::offset_of!(EbSvtIOFormat, cr) - 16usize];
["Offset of field: EbSvtIOFormat::y_stride"]
[::std::mem::offset_of!(EbSvtIOFormat, y_stride) - 24usize];
["Offset of field: EbSvtIOFormat::cr_stride"]
[::std::mem::offset_of!(EbSvtIOFormat, cr_stride) - 28usize];
["Offset of field: EbSvtIOFormat::cb_stride"]
[::std::mem::offset_of!(EbSvtIOFormat, cb_stride) - 32usize];
};
#[doc = "\\brief Structure containing film grain synthesis parameters for a frame\n\n This structure contains input parameters for film grain synthesis"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AomFilmGrain {
pub apply_grain: i32,
pub update_parameters: i32,
pub scaling_points_y: [[i32; 2usize]; 14usize],
pub num_y_points: i32,
pub scaling_points_cb: [[i32; 2usize]; 10usize],
pub num_cb_points: i32,
pub scaling_points_cr: [[i32; 2usize]; 10usize],
pub num_cr_points: i32,
pub scaling_shift: i32,
pub ar_coeff_lag: i32,
pub ar_coeffs_y: [i32; 24usize],
pub ar_coeffs_cb: [i32; 25usize],
pub ar_coeffs_cr: [i32; 25usize],
pub ar_coeff_shift: i32,
pub cb_mult: i32,
pub cb_luma_mult: i32,
pub cb_offset: i32,
pub cr_mult: i32,
pub cr_luma_mult: i32,
pub cr_offset: i32,
pub overlap_flag: i32,
pub clip_to_restricted_range: i32,
pub bit_depth: i32,
pub chroma_scaling_from_luma: i32,
pub grain_scale_shift: i32,
pub random_seed: u16,
pub ignore_ref: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of AomFilmGrain"][::std::mem::size_of::<AomFilmGrain>() - 652usize];
["Alignment of AomFilmGrain"][::std::mem::align_of::<AomFilmGrain>() - 4usize];
["Offset of field: AomFilmGrain::apply_grain"]
[::std::mem::offset_of!(AomFilmGrain, apply_grain) - 0usize];
["Offset of field: AomFilmGrain::update_parameters"]
[::std::mem::offset_of!(AomFilmGrain, update_parameters) - 4usize];
["Offset of field: AomFilmGrain::scaling_points_y"]
[::std::mem::offset_of!(AomFilmGrain, scaling_points_y) - 8usize];
["Offset of field: AomFilmGrain::num_y_points"]
[::std::mem::offset_of!(AomFilmGrain, num_y_points) - 120usize];
["Offset of field: AomFilmGrain::scaling_points_cb"]
[::std::mem::offset_of!(AomFilmGrain, scaling_points_cb) - 124usize];
["Offset of field: AomFilmGrain::num_cb_points"]
[::std::mem::offset_of!(AomFilmGrain, num_cb_points) - 204usize];
["Offset of field: AomFilmGrain::scaling_points_cr"]
[::std::mem::offset_of!(AomFilmGrain, scaling_points_cr) - 208usize];
["Offset of field: AomFilmGrain::num_cr_points"]
[::std::mem::offset_of!(AomFilmGrain, num_cr_points) - 288usize];
["Offset of field: AomFilmGrain::scaling_shift"]
[::std::mem::offset_of!(AomFilmGrain, scaling_shift) - 292usize];
["Offset of field: AomFilmGrain::ar_coeff_lag"]
[::std::mem::offset_of!(AomFilmGrain, ar_coeff_lag) - 296usize];
["Offset of field: AomFilmGrain::ar_coeffs_y"]
[::std::mem::offset_of!(AomFilmGrain, ar_coeffs_y) - 300usize];
["Offset of field: AomFilmGrain::ar_coeffs_cb"]
[::std::mem::offset_of!(AomFilmGrain, ar_coeffs_cb) - 396usize];
["Offset of field: AomFilmGrain::ar_coeffs_cr"]
[::std::mem::offset_of!(AomFilmGrain, ar_coeffs_cr) - 496usize];
["Offset of field: AomFilmGrain::ar_coeff_shift"]
[::std::mem::offset_of!(AomFilmGrain, ar_coeff_shift) - 596usize];
["Offset of field: AomFilmGrain::cb_mult"]
[::std::mem::offset_of!(AomFilmGrain, cb_mult) - 600usize];
["Offset of field: AomFilmGrain::cb_luma_mult"]
[::std::mem::offset_of!(AomFilmGrain, cb_luma_mult) - 604usize];
["Offset of field: AomFilmGrain::cb_offset"]
[::std::mem::offset_of!(AomFilmGrain, cb_offset) - 608usize];
["Offset of field: AomFilmGrain::cr_mult"]
[::std::mem::offset_of!(AomFilmGrain, cr_mult) - 612usize];
["Offset of field: AomFilmGrain::cr_luma_mult"]
[::std::mem::offset_of!(AomFilmGrain, cr_luma_mult) - 616usize];
["Offset of field: AomFilmGrain::cr_offset"]
[::std::mem::offset_of!(AomFilmGrain, cr_offset) - 620usize];
["Offset of field: AomFilmGrain::overlap_flag"]
[::std::mem::offset_of!(AomFilmGrain, overlap_flag) - 624usize];
["Offset of field: AomFilmGrain::clip_to_restricted_range"]
[::std::mem::offset_of!(AomFilmGrain, clip_to_restricted_range) - 628usize];
["Offset of field: AomFilmGrain::bit_depth"]
[::std::mem::offset_of!(AomFilmGrain, bit_depth) - 632usize];
["Offset of field: AomFilmGrain::chroma_scaling_from_luma"]
[::std::mem::offset_of!(AomFilmGrain, chroma_scaling_from_luma) - 636usize];
["Offset of field: AomFilmGrain::grain_scale_shift"]
[::std::mem::offset_of!(AomFilmGrain, grain_scale_shift) - 640usize];
["Offset of field: AomFilmGrain::random_seed"]
[::std::mem::offset_of!(AomFilmGrain, random_seed) - 644usize];
["Offset of field: AomFilmGrain::ignore_ref"]
[::std::mem::offset_of!(AomFilmGrain, ignore_ref) - 648usize];
};
#[doc = "CPU FLAGS"]
pub type EbCpuFlags = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EbContentLightLevel {
pub max_cll: u16,
pub max_fall: u16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of EbContentLightLevel"][::std::mem::size_of::<EbContentLightLevel>() - 4usize];
["Alignment of EbContentLightLevel"][::std::mem::align_of::<EbContentLightLevel>() - 2usize];
["Offset of field: EbContentLightLevel::max_cll"]
[::std::mem::offset_of!(EbContentLightLevel, max_cll) - 0usize];
["Offset of field: EbContentLightLevel::max_fall"]
[::std::mem::offset_of!(EbContentLightLevel, max_fall) - 2usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EbSvtAv1ChromaPoints {
pub x: u16,
pub y: u16,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of EbSvtAv1ChromaPoints"][::std::mem::size_of::<EbSvtAv1ChromaPoints>() - 4usize];
["Alignment of EbSvtAv1ChromaPoints"][::std::mem::align_of::<EbSvtAv1ChromaPoints>() - 2usize];
["Offset of field: EbSvtAv1ChromaPoints::x"]
[::std::mem::offset_of!(EbSvtAv1ChromaPoints, x) - 0usize];
["Offset of field: EbSvtAv1ChromaPoints::y"]
[::std::mem::offset_of!(EbSvtAv1ChromaPoints, y) - 2usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EbSvtAv1MasteringDisplayInfo {
pub r: EbSvtAv1ChromaPoints,
pub g: EbSvtAv1ChromaPoints,
pub b: EbSvtAv1ChromaPoints,
pub white_point: EbSvtAv1ChromaPoints,
pub max_luma: u32,
pub min_luma: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of EbSvtAv1MasteringDisplayInfo"]
[::std::mem::size_of::<EbSvtAv1MasteringDisplayInfo>() - 24usize];
["Alignment of EbSvtAv1MasteringDisplayInfo"]
[::std::mem::align_of::<EbSvtAv1MasteringDisplayInfo>() - 4usize];
["Offset of field: EbSvtAv1MasteringDisplayInfo::r"]
[::std::mem::offset_of!(EbSvtAv1MasteringDisplayInfo, r) - 0usize];
["Offset of field: EbSvtAv1MasteringDisplayInfo::g"]
[::std::mem::offset_of!(EbSvtAv1MasteringDisplayInfo, g) - 4usize];
["Offset of field: EbSvtAv1MasteringDisplayInfo::b"]
[::std::mem::offset_of!(EbSvtAv1MasteringDisplayInfo, b) - 8usize];
["Offset of field: EbSvtAv1MasteringDisplayInfo::white_point"]
[::std::mem::offset_of!(EbSvtAv1MasteringDisplayInfo, white_point) - 12usize];
["Offset of field: EbSvtAv1MasteringDisplayInfo::max_luma"]
[::std::mem::offset_of!(EbSvtAv1MasteringDisplayInfo, max_luma) - 16usize];
["Offset of field: EbSvtAv1MasteringDisplayInfo::min_luma"]
[::std::mem::offset_of!(EbSvtAv1MasteringDisplayInfo, min_luma) - 20usize];
};
pub mod PredStructure {
pub type Type = ::std::os::raw::c_uint;
pub const ALL_INTRA: Type = 0;
pub const LOW_DELAY: Type = 1;
pub const RANDOM_ACCESS: Type = 2;
pub const PRED_TOTAL_COUNT: Type = 3;
pub const PRED_INVALID: Type = 255;
}
pub mod SvtAv1IntraRefreshType {
#[doc = " The SvtAv1IntraRefreshType is used to describe the intra refresh type."]
pub type Type = ::std::os::raw::c_uint;
pub const SVT_AV1_FWDKF_REFRESH: Type = 1;
pub const SVT_AV1_KF_REFRESH: Type = 2;
}
#[doc = "\\brief Generic fixed size buffer structure\n\n This structure is able to hold a reference to any fixed size buffer."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SvtAv1FixedBuf {
#[doc = "< Pointer to the data. Does NOT own the data!"]
pub buf: *mut ::std::os::raw::c_void,
#[doc = "< Length of the buffer, in chars"]
pub sz: u64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of SvtAv1FixedBuf"][::std::mem::size_of::<SvtAv1FixedBuf>() - 16usize];
["Alignment of SvtAv1FixedBuf"][::std::mem::align_of::<SvtAv1FixedBuf>() - 8usize];
["Offset of field: SvtAv1FixedBuf::buf"][::std::mem::offset_of!(SvtAv1FixedBuf, buf) - 0usize];
["Offset of field: SvtAv1FixedBuf::sz"][::std::mem::offset_of!(SvtAv1FixedBuf, sz) - 8usize];
};
pub mod EbSFrameMode {
#[doc = " Indicates how an S-Frame should be inserted."]
pub type Type = ::std::os::raw::c_uint;
pub const SFRAME_STRICT_BASE: Type = 1;
pub const SFRAME_NEAREST_BASE: Type = 2;
pub const SFRAME_FLEXIBLE_BASE: Type = 3;
pub const SFRAME_DEC_POSI_BASE: Type = 4;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SvtAv1FrameScaleEvts {
pub evt_num: u32,
pub start_frame_nums: *mut u64,
pub resize_kf_denoms: *mut u32,
pub resize_denoms: *mut u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of SvtAv1FrameScaleEvts"][::std::mem::size_of::<SvtAv1FrameScaleEvts>() - 32usize];
["Alignment of SvtAv1FrameScaleEvts"][::std::mem::align_of::<SvtAv1FrameScaleEvts>() - 8usize];
["Offset of field: SvtAv1FrameScaleEvts::evt_num"]
[::std::mem::offset_of!(SvtAv1FrameScaleEvts, evt_num) - 0usize];
["Offset of field: SvtAv1FrameScaleEvts::start_frame_nums"]
[::std::mem::offset_of!(SvtAv1FrameScaleEvts, start_frame_nums) - 8usize];
["Offset of field: SvtAv1FrameScaleEvts::resize_kf_denoms"]
[::std::mem::offset_of!(SvtAv1FrameScaleEvts, resize_kf_denoms) - 16usize];
["Offset of field: SvtAv1FrameScaleEvts::resize_denoms"]
[::std::mem::offset_of!(SvtAv1FrameScaleEvts, resize_denoms) - 24usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SvtAv1SFramePositions {
pub sframe_num: u32,
pub sframe_posis: *mut u64,
pub sframe_qp_num: u32,
pub sframe_qps: *mut u8,
pub sframe_qp_offsets: *mut i8,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of SvtAv1SFramePositions"][::std::mem::size_of::<SvtAv1SFramePositions>() - 40usize];
["Alignment of SvtAv1SFramePositions"]
[::std::mem::align_of::<SvtAv1SFramePositions>() - 8usize];
["Offset of field: SvtAv1SFramePositions::sframe_num"]
[::std::mem::offset_of!(SvtAv1SFramePositions, sframe_num) - 0usize];
["Offset of field: SvtAv1SFramePositions::sframe_posis"]
[::std::mem::offset_of!(SvtAv1SFramePositions, sframe_posis) - 8usize];
["Offset of field: SvtAv1SFramePositions::sframe_qp_num"]
[::std::mem::offset_of!(SvtAv1SFramePositions, sframe_qp_num) - 16usize];
["Offset of field: SvtAv1SFramePositions::sframe_qps"]
[::std::mem::offset_of!(SvtAv1SFramePositions, sframe_qps) - 24usize];
["Offset of field: SvtAv1SFramePositions::sframe_qp_offsets"]
[::std::mem::offset_of!(SvtAv1SFramePositions, sframe_qp_offsets) - 32usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EbSvtAv1EncConfiguration {
#[doc = " @brief Encoder preset used.\n -2 and -1 are for debug purposes and should not be used.\n 0 is the highest quality mode but is the slowest,\n 13 is the fastest mode but is not as high quality.\n\n Min value is -2.\n Max value is 13.\n Default is 12."]
pub enc_mode: i8,
pub intra_period_length: i32,
pub intra_refresh_type: SvtAv1IntraRefreshType::Type,
pub hierarchical_levels: u32,
pub pred_structure: PredStructure::Type,
#[doc = " @brief Frame width in pixels.\n\n Min is 64.\n Max is 16384.\n Default is 0."]
pub source_width: u32,
#[doc = " @brief Frame height in pixels\n\n Min is 64.\n Max is 8704.\n Default is 0."]
pub source_height: u32,
pub forced_max_frame_width: u32,
pub forced_max_frame_height: u32,
pub frame_rate_numerator: u32,
pub frame_rate_denominator: u32,
pub encoder_bit_depth: u32,
#[doc = " @brief Encoder color format.\n Only YUV420 is supported for now.\n\n Min is YUV400.\n Max is YUV444.\n Default is YUV420."]
pub encoder_color_format: EbColorFormat::Type,
#[doc = " @brief Bitstream profile to use.\n 0: main, 1: high, 2: professional.\n\n Min is MAIN_PROFILE.\n Max is PROFESSIONAL_PROFILE.\n Default is MAIN_PROFILE."]
pub profile: EbAv1SeqProfile::Type,
pub tier: u32,
#[doc = " @brief Bitstream level.\n 0: autodetect from bitstream, 20: level 2.0, 63: level 6.3, only levels 2.0-6.3 are properly defined.\n The levels are defined at https://aomediacodec.github.io/av1-spec/av1-spec.pdf\n under \"A.3. Levels\".\n\n Min is 0.\n Max is 73.\n Default is 0."]
pub level: u32,
pub color_primaries: EbColorPrimaries::Type,
pub transfer_characteristics: EbTransferCharacteristics::Type,
pub matrix_coefficients: EbMatrixCoefficients::Type,
pub color_range: EbColorRange::Type,
pub mastering_display: EbSvtAv1MasteringDisplayInfo,
pub content_light_level: EbContentLightLevel,
pub chroma_sample_position: EbChromaSamplePosition::Type,
pub rate_control_mode: u8,
pub qp: u32,
pub use_qp_file: bool,
pub target_bit_rate: u32,
pub max_bit_rate: u32,
pub max_qp_allowed: u32,
pub min_qp_allowed: u32,
#[doc = " @brief Variable Bit Rate Minimum Section Percentage\n\n Indicates the minimum bitrate to be used for a single GOP as a percentage\n of the target bitrate.\n\n Min is 0.\n Max is 100.\n Default is 0."]
pub vbr_min_section_pct: u32,
#[doc = " @brief Variable Bit Rate Maximum Section Percentage\n\n Indicates the maximum bitrate to be used for a single GOP as a percentage\n of the target bitrate.\n\n Min is 0.\n Max is 10000.\n Default is 2000."]
pub vbr_max_section_pct: u32,
#[doc = " @brief UnderShoot Percentage\n\n Only applicable for VBR and CBR.\n\n Indicates the tolerance of the VBR algorithm to undershoot and is used\n as a trigger threshold for more agressive adaptation of Quantization.\n\n Min is 0.\n Max is 100.\n Default is 25 for CBR and 50 for VBR."]
pub under_shoot_pct: u32,
#[doc = " @brief OverShoot Percentage\n\n Only applicable for VBR and CBR\n\n Indicates the tolerance of the VBR algorithm to overshoot and is used as\n a trigger threshold for more agressive adaptation of Quantization.\n\n Min is 0.\n Max is 100.\n Default is 25."]
pub over_shoot_pct: u32,
#[doc = " @brief MaxBitRate OverShoot Percentage\n\n Only applicable for Capped CRF.\n\n Indicates the tolerance of the Capped CRF algorithm to overshoot\n and is used as a trigger threshold for more agressive adaptation of\n Quantization.\n\n Min is 0.\n Max is 100.\n Default is 50."]
pub mbr_over_shoot_pct: u32,
#[doc = " @brief Starting Buffer Level in MilliSeconds\n\n Only applicable for CBR.\n\n Indicates the amount of data that will be buffered by the decoding\n application prior to beginning playback, and is expressed in units of\n time. Must be less than maximum_buffer_size_ms.\n\n Min is 20.\n Max is 10000.\n Default is 600."]
pub starting_buffer_level_ms: i64,
#[doc = " @brief Optimal Buffer Level in MilliSeconds\n\n Only applicable for CBR.\n\n indicates the amount of data that the encoder should try to maintain in the\n decoder's buffer, and is expressed in units of time. Must be less than\n maximum_buffer_size_ms.\n\n Min is 20.\n Max is 10000.\n Default is 600."]
pub optimal_buffer_level_ms: i64,
#[doc = " @brief Maximum Buffer Size in MilliSeconds\n\n Only applicable for CBR.\n\n indicates the maximum amount of data that may be buffered by the\n decoding application, and is expressed in units of time.\n\n Min is 20.\n Max is 10000.\n Default is 1000."]
pub maximum_buffer_size_ms: i64,
pub rc_stats_buffer: SvtAv1FixedBuf,
pub pass: ::std::os::raw::c_int,
pub use_fixed_qindex_offsets: u8,
pub qindex_offsets: [i32; 6usize],
pub key_frame_chroma_qindex_offset: i32,
pub key_frame_qindex_offset: i32,
pub chroma_qindex_offsets: [i32; 6usize],
pub luma_y_dc_qindex_offset: i32,
pub chroma_u_dc_qindex_offset: i32,
pub chroma_u_ac_qindex_offset: i32,
pub chroma_v_dc_qindex_offset: i32,
pub chroma_v_ac_qindex_offset: i32,
#[doc = " @brief Deblocking loop filter control\n\n 0: disabled\n 1: enabled\n 2: more accurate (slower)"]
pub enable_dlf_flag: u8,
pub film_grain_denoise_strength: u32,
#[doc = " @brief Determines how much denoising is used.\n Only applicable when film grain is ON.\n\n 0 is no denoising\n 1 is full denoising\n\n Default is 0."]
pub film_grain_denoise_apply: u8,
pub cdef_level: ::std::os::raw::c_int,
pub enable_restoration_filtering: ::std::os::raw::c_int,
pub enable_mfmv: ::std::os::raw::c_int,
pub scene_change_detection: u32,
pub tile_columns: i32,
pub tile_rows: i32,
pub look_ahead_distance: u32,
pub recode_loop: u32,
pub screen_content_mode: u32,
pub aq_mode: u8,
#[doc = " @brief Enable use of ALT-REF (temporally filtered) frames.\n 0 = off\n 1 = on\n 2 = adaptive\n Default is 1."]
pub enable_tf: u8,
pub enable_overlays: bool,
#[doc = " @brief Tune for a particular metric; 0: VQ, 1: PSNR, 2: SSIM, 3: IQ (Image Quality), 4: MS-SSIM.\n\n Default is 1."]
pub tune: u8,
pub superres_mode: u8,
pub superres_denom: u8,
pub superres_kf_denom: u8,
pub superres_qthres: u8,
pub superres_kf_qthres: u8,
pub superres_auto_search_type: u8,
pub fast_decode: u8,
pub sframe_dist: i32,
pub sframe_mode: EbSFrameMode::Type,
pub level_of_parallelism: u32,
pub use_cpu_flags: EbCpuFlags,
pub stat_report: u32,
#[doc = " @brief API Signal to output reconstructed yuv used for debug purposes.\n Using this will affect the speed of encoder.\n\n Default is false."]
pub recon_enabled: bool,
#[doc = " @brief Signal that force-key-frames is enabled.\n"]
pub force_key_frames: bool,
#[doc = " @brief Signal to the library to treat intra_period_length as seconds and\n multiply by fps_num/fps_den."]
pub multiply_keyint: bool,
#[doc = " @brief Reference scaling mode\n the available modes are defined in RESIZE_MODE"]
pub resize_mode: u8,
#[doc = " @brief Resize denominator\n this value can be from 8 to 16, means downscaling to 8/8-8/16 of original\n resolution in both width and height"]
pub resize_denom: u8,
#[doc = " @brief Resize denominator of key frames\n this value can be from 8 to 16, means downscaling to 8/8-8/16 of original\n resolution in both width and height"]
pub resize_kf_denom: u8,
#[doc = " @brief Signal to the library to enable quantisation matrices\n\n Default is false."]
pub enable_qm: bool,
#[doc = " @brief Min quant matrix flatness. Applicable when enable_qm is true.\n Min value is 0.\n Max value is 15.\n Default is 8."]
pub min_qm_level: u8,
#[doc = " @brief Max quant matrix flatness. Applicable when enable_qm is true.\n Min value is 0.\n Max value is 15.\n Default is 15."]
pub max_qm_level: u8,
#[doc = " @brief gop_constraint_rc\n\n Currently, only applicable for VBR and when GoP size is greater than 119 frames.\n\n When enabled, the rate control matches the target rate for each GoP.\n\n 0: off\n 1: on\n Default is 0."]
pub gop_constraint_rc: bool,
#[doc = " @brief scale factors for lambda value for different frame update types\n factor >> 7 (/ 128) is the actual value in float"]
pub lambda_scale_factors: [i32; 7usize],
pub enable_dg: bool,
#[doc = " @brief startup_mg_size\n\n When enabled, a MG with specified size will be inserted after the key frame.\n The MG size is determined by 2^startup_mg_size.\n\n 0: off\n 2: set hierarchical levels to 2 (MG size 4)\n 3: set hierarchical levels to 3 (MG size 8)\n 4: set hierarchical levels to 4 (MG size 16)\n Default is 0."]
pub startup_mg_size: u8,
#[doc = " @brief startup_qp_offset\n\n When enabled, an offset will be added to the input-qp of the startup GOP prior to the picture-qp derivation\n\n Min value is -63.\n Max value is 63.\n Default is 0."]
pub startup_qp_offset: i8,
pub frame_scale_evts: SvtAv1FrameScaleEvts,
pub enable_roi_map: bool,
pub tf_strength: u8,
pub fgs_table: *mut AomFilmGrain,
pub enable_variance_boost: bool,
pub variance_boost_strength: u8,
pub variance_octile: u8,
pub sharpness: i8,
pub variance_boost_curve: u8,
pub luminance_qp_bias: u8,
pub lossless: bool,
pub avif: bool,
#[doc = " @brief Min chroma quant matrix flatness. Applicable when enable_qm is true.\n Min value is 0.\n Max value is 15.\n Default is 8."]
pub min_chroma_qm_level: u8,
#[doc = " @brief Max chroma quant matrix flatness. Applicable when enable_qm is true.\n Min value is 0.\n Max value is 15.\n Default is 15."]
pub max_chroma_qm_level: u8,
pub rtc: bool,
pub qp_scale_compress_strength: u8,
pub sframe_posi: SvtAv1SFramePositions,
pub sframe_qp: u8,
pub sframe_qp_offset: i8,
#[doc = " @brief Toggle default film grain blocksize behavior\n 0: use default blocksize behavior (32x32)\n 1: use adaptive blocksize based on resolution\n - 8x8 for <4k\n - 16x16 for 4k\n Default is 1"]
pub adaptive_film_grain: bool,
pub max_tx_size: u8,
pub extended_crf_qindex_offset: u8,
#[doc = " @brief Strength of the internal RD metric to bias toward high-frequency error (helps with texture preservation and film grain retention)\n 0.00: disable AC bias\n 1.00: enable AC bias with a strength of 1.00\n Default is 0.00."]
pub ac_bias: f64,
pub padding: [u8; 125usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of EbSvtAv1EncConfiguration"]
[::std::mem::size_of::<EbSvtAv1EncConfiguration>() - 664usize];
["Alignment of EbSvtAv1EncConfiguration"]
[::std::mem::align_of::<EbSvtAv1EncConfiguration>() - 8usize];
["Offset of field: EbSvtAv1EncConfiguration::enc_mode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enc_mode) - 0usize];
["Offset of field: EbSvtAv1EncConfiguration::intra_period_length"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, intra_period_length) - 4usize];
["Offset of field: EbSvtAv1EncConfiguration::intra_refresh_type"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, intra_refresh_type) - 8usize];
["Offset of field: EbSvtAv1EncConfiguration::hierarchical_levels"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, hierarchical_levels) - 12usize];
["Offset of field: EbSvtAv1EncConfiguration::pred_structure"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, pred_structure) - 16usize];
["Offset of field: EbSvtAv1EncConfiguration::source_width"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, source_width) - 20usize];
["Offset of field: EbSvtAv1EncConfiguration::source_height"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, source_height) - 24usize];
["Offset of field: EbSvtAv1EncConfiguration::forced_max_frame_width"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, forced_max_frame_width) - 28usize];
["Offset of field: EbSvtAv1EncConfiguration::forced_max_frame_height"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, forced_max_frame_height) - 32usize];
["Offset of field: EbSvtAv1EncConfiguration::frame_rate_numerator"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, frame_rate_numerator) - 36usize];
["Offset of field: EbSvtAv1EncConfiguration::frame_rate_denominator"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, frame_rate_denominator) - 40usize];
["Offset of field: EbSvtAv1EncConfiguration::encoder_bit_depth"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, encoder_bit_depth) - 44usize];
["Offset of field: EbSvtAv1EncConfiguration::encoder_color_format"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, encoder_color_format) - 48usize];
["Offset of field: EbSvtAv1EncConfiguration::profile"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, profile) - 52usize];
["Offset of field: EbSvtAv1EncConfiguration::tier"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, tier) - 56usize];
["Offset of field: EbSvtAv1EncConfiguration::level"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, level) - 60usize];
["Offset of field: EbSvtAv1EncConfiguration::color_primaries"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, color_primaries) - 64usize];
["Offset of field: EbSvtAv1EncConfiguration::transfer_characteristics"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, transfer_characteristics) - 68usize];
["Offset of field: EbSvtAv1EncConfiguration::matrix_coefficients"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, matrix_coefficients) - 72usize];
["Offset of field: EbSvtAv1EncConfiguration::color_range"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, color_range) - 76usize];
["Offset of field: EbSvtAv1EncConfiguration::mastering_display"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, mastering_display) - 80usize];
["Offset of field: EbSvtAv1EncConfiguration::content_light_level"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, content_light_level) - 104usize];
["Offset of field: EbSvtAv1EncConfiguration::chroma_sample_position"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, chroma_sample_position) - 108usize];
["Offset of field: EbSvtAv1EncConfiguration::rate_control_mode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, rate_control_mode) - 112usize];
["Offset of field: EbSvtAv1EncConfiguration::qp"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, qp) - 116usize];
["Offset of field: EbSvtAv1EncConfiguration::use_qp_file"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, use_qp_file) - 120usize];
["Offset of field: EbSvtAv1EncConfiguration::target_bit_rate"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, target_bit_rate) - 124usize];
["Offset of field: EbSvtAv1EncConfiguration::max_bit_rate"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, max_bit_rate) - 128usize];
["Offset of field: EbSvtAv1EncConfiguration::max_qp_allowed"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, max_qp_allowed) - 132usize];
["Offset of field: EbSvtAv1EncConfiguration::min_qp_allowed"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, min_qp_allowed) - 136usize];
["Offset of field: EbSvtAv1EncConfiguration::vbr_min_section_pct"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, vbr_min_section_pct) - 140usize];
["Offset of field: EbSvtAv1EncConfiguration::vbr_max_section_pct"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, vbr_max_section_pct) - 144usize];
["Offset of field: EbSvtAv1EncConfiguration::under_shoot_pct"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, under_shoot_pct) - 148usize];
["Offset of field: EbSvtAv1EncConfiguration::over_shoot_pct"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, over_shoot_pct) - 152usize];
["Offset of field: EbSvtAv1EncConfiguration::mbr_over_shoot_pct"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, mbr_over_shoot_pct) - 156usize];
["Offset of field: EbSvtAv1EncConfiguration::starting_buffer_level_ms"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, starting_buffer_level_ms) - 160usize];
["Offset of field: EbSvtAv1EncConfiguration::optimal_buffer_level_ms"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, optimal_buffer_level_ms) - 168usize];
["Offset of field: EbSvtAv1EncConfiguration::maximum_buffer_size_ms"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, maximum_buffer_size_ms) - 176usize];
["Offset of field: EbSvtAv1EncConfiguration::rc_stats_buffer"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, rc_stats_buffer) - 184usize];
["Offset of field: EbSvtAv1EncConfiguration::pass"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, pass) - 200usize];
["Offset of field: EbSvtAv1EncConfiguration::use_fixed_qindex_offsets"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, use_fixed_qindex_offsets) - 204usize];
["Offset of field: EbSvtAv1EncConfiguration::qindex_offsets"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, qindex_offsets) - 208usize];
["Offset of field: EbSvtAv1EncConfiguration::key_frame_chroma_qindex_offset"][::std::mem::offset_of!(
EbSvtAv1EncConfiguration,
key_frame_chroma_qindex_offset
) - 232usize];
["Offset of field: EbSvtAv1EncConfiguration::key_frame_qindex_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, key_frame_qindex_offset) - 236usize];
["Offset of field: EbSvtAv1EncConfiguration::chroma_qindex_offsets"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, chroma_qindex_offsets) - 240usize];
["Offset of field: EbSvtAv1EncConfiguration::luma_y_dc_qindex_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, luma_y_dc_qindex_offset) - 264usize];
["Offset of field: EbSvtAv1EncConfiguration::chroma_u_dc_qindex_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, chroma_u_dc_qindex_offset) - 268usize];
["Offset of field: EbSvtAv1EncConfiguration::chroma_u_ac_qindex_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, chroma_u_ac_qindex_offset) - 272usize];
["Offset of field: EbSvtAv1EncConfiguration::chroma_v_dc_qindex_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, chroma_v_dc_qindex_offset) - 276usize];
["Offset of field: EbSvtAv1EncConfiguration::chroma_v_ac_qindex_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, chroma_v_ac_qindex_offset) - 280usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_dlf_flag"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_dlf_flag) - 284usize];
["Offset of field: EbSvtAv1EncConfiguration::film_grain_denoise_strength"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, film_grain_denoise_strength) - 288usize];
["Offset of field: EbSvtAv1EncConfiguration::film_grain_denoise_apply"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, film_grain_denoise_apply) - 292usize];
["Offset of field: EbSvtAv1EncConfiguration::cdef_level"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, cdef_level) - 296usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_restoration_filtering"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_restoration_filtering) - 300usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_mfmv"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_mfmv) - 304usize];
["Offset of field: EbSvtAv1EncConfiguration::scene_change_detection"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, scene_change_detection) - 308usize];
["Offset of field: EbSvtAv1EncConfiguration::tile_columns"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, tile_columns) - 312usize];
["Offset of field: EbSvtAv1EncConfiguration::tile_rows"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, tile_rows) - 316usize];
["Offset of field: EbSvtAv1EncConfiguration::look_ahead_distance"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, look_ahead_distance) - 320usize];
["Offset of field: EbSvtAv1EncConfiguration::recode_loop"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, recode_loop) - 324usize];
["Offset of field: EbSvtAv1EncConfiguration::screen_content_mode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, screen_content_mode) - 328usize];
["Offset of field: EbSvtAv1EncConfiguration::aq_mode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, aq_mode) - 332usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_tf"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_tf) - 333usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_overlays"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_overlays) - 334usize];
["Offset of field: EbSvtAv1EncConfiguration::tune"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, tune) - 335usize];
["Offset of field: EbSvtAv1EncConfiguration::superres_mode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, superres_mode) - 336usize];
["Offset of field: EbSvtAv1EncConfiguration::superres_denom"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, superres_denom) - 337usize];
["Offset of field: EbSvtAv1EncConfiguration::superres_kf_denom"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, superres_kf_denom) - 338usize];
["Offset of field: EbSvtAv1EncConfiguration::superres_qthres"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, superres_qthres) - 339usize];
["Offset of field: EbSvtAv1EncConfiguration::superres_kf_qthres"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, superres_kf_qthres) - 340usize];
["Offset of field: EbSvtAv1EncConfiguration::superres_auto_search_type"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, superres_auto_search_type) - 341usize];
["Offset of field: EbSvtAv1EncConfiguration::fast_decode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, fast_decode) - 342usize];
["Offset of field: EbSvtAv1EncConfiguration::sframe_dist"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, sframe_dist) - 344usize];
["Offset of field: EbSvtAv1EncConfiguration::sframe_mode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, sframe_mode) - 348usize];
["Offset of field: EbSvtAv1EncConfiguration::level_of_parallelism"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, level_of_parallelism) - 352usize];
["Offset of field: EbSvtAv1EncConfiguration::use_cpu_flags"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, use_cpu_flags) - 360usize];
["Offset of field: EbSvtAv1EncConfiguration::stat_report"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, stat_report) - 368usize];
["Offset of field: EbSvtAv1EncConfiguration::recon_enabled"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, recon_enabled) - 372usize];
["Offset of field: EbSvtAv1EncConfiguration::force_key_frames"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, force_key_frames) - 373usize];
["Offset of field: EbSvtAv1EncConfiguration::multiply_keyint"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, multiply_keyint) - 374usize];
["Offset of field: EbSvtAv1EncConfiguration::resize_mode"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, resize_mode) - 375usize];
["Offset of field: EbSvtAv1EncConfiguration::resize_denom"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, resize_denom) - 376usize];
["Offset of field: EbSvtAv1EncConfiguration::resize_kf_denom"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, resize_kf_denom) - 377usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_qm"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_qm) - 378usize];
["Offset of field: EbSvtAv1EncConfiguration::min_qm_level"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, min_qm_level) - 379usize];
["Offset of field: EbSvtAv1EncConfiguration::max_qm_level"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, max_qm_level) - 380usize];
["Offset of field: EbSvtAv1EncConfiguration::gop_constraint_rc"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, gop_constraint_rc) - 381usize];
["Offset of field: EbSvtAv1EncConfiguration::lambda_scale_factors"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, lambda_scale_factors) - 384usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_dg"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_dg) - 412usize];
["Offset of field: EbSvtAv1EncConfiguration::startup_mg_size"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, startup_mg_size) - 413usize];
["Offset of field: EbSvtAv1EncConfiguration::startup_qp_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, startup_qp_offset) - 414usize];
["Offset of field: EbSvtAv1EncConfiguration::frame_scale_evts"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, frame_scale_evts) - 416usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_roi_map"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_roi_map) - 448usize];
["Offset of field: EbSvtAv1EncConfiguration::tf_strength"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, tf_strength) - 449usize];
["Offset of field: EbSvtAv1EncConfiguration::fgs_table"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, fgs_table) - 456usize];
["Offset of field: EbSvtAv1EncConfiguration::enable_variance_boost"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, enable_variance_boost) - 464usize];
["Offset of field: EbSvtAv1EncConfiguration::variance_boost_strength"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, variance_boost_strength) - 465usize];
["Offset of field: EbSvtAv1EncConfiguration::variance_octile"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, variance_octile) - 466usize];
["Offset of field: EbSvtAv1EncConfiguration::sharpness"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, sharpness) - 467usize];
["Offset of field: EbSvtAv1EncConfiguration::variance_boost_curve"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, variance_boost_curve) - 468usize];
["Offset of field: EbSvtAv1EncConfiguration::luminance_qp_bias"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, luminance_qp_bias) - 469usize];
["Offset of field: EbSvtAv1EncConfiguration::lossless"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, lossless) - 470usize];
["Offset of field: EbSvtAv1EncConfiguration::avif"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, avif) - 471usize];
["Offset of field: EbSvtAv1EncConfiguration::min_chroma_qm_level"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, min_chroma_qm_level) - 472usize];
["Offset of field: EbSvtAv1EncConfiguration::max_chroma_qm_level"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, max_chroma_qm_level) - 473usize];
["Offset of field: EbSvtAv1EncConfiguration::rtc"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, rtc) - 474usize];
["Offset of field: EbSvtAv1EncConfiguration::qp_scale_compress_strength"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, qp_scale_compress_strength) - 475usize];
["Offset of field: EbSvtAv1EncConfiguration::sframe_posi"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, sframe_posi) - 480usize];
["Offset of field: EbSvtAv1EncConfiguration::sframe_qp"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, sframe_qp) - 520usize];
["Offset of field: EbSvtAv1EncConfiguration::sframe_qp_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, sframe_qp_offset) - 521usize];
["Offset of field: EbSvtAv1EncConfiguration::adaptive_film_grain"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, adaptive_film_grain) - 522usize];
["Offset of field: EbSvtAv1EncConfiguration::max_tx_size"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, max_tx_size) - 523usize];
["Offset of field: EbSvtAv1EncConfiguration::extended_crf_qindex_offset"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, extended_crf_qindex_offset) - 524usize];
["Offset of field: EbSvtAv1EncConfiguration::ac_bias"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, ac_bias) - 528usize];
["Offset of field: EbSvtAv1EncConfiguration::padding"]
[::std::mem::offset_of!(EbSvtAv1EncConfiguration, padding) - 536usize];
};
unsafe extern "C" {
pub fn svt_av1_enc_init_handle(
p_handle: *mut *mut EbComponentType,
config_ptr: *mut EbSvtAv1EncConfiguration,
) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_set_parameter(
svt_enc_component: *mut EbComponentType,
pComponentParameterStructure: *mut EbSvtAv1EncConfiguration,
) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_parse_parameter(
pComponentParameterStructure: *mut EbSvtAv1EncConfiguration,
name: *const ::std::os::raw::c_char,
value: *const ::std::os::raw::c_char,
) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_init(svt_enc_component: *mut EbComponentType) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_stream_header(
svt_enc_component: *mut EbComponentType,
output_stream_ptr: *mut *mut EbBufferHeaderType,
) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_stream_header_release(
stream_header_ptr: *mut EbBufferHeaderType,
) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_send_picture(
svt_enc_component: *mut EbComponentType,
p_buffer: *mut EbBufferHeaderType,
) -> EbErrorType::Type;
}
unsafe extern "C" {
#[doc = " @brief Step 5: Receive packet.\n This function will become blocking if either pic_send_done is set to 1 or if we are in low-delay (pred-struct=1).\n Otherwise, this function is non-blocking and will return EB_NoErrorEmptyQueue if there are no packets available.\n\n @param svt_enc_component The encoder handler\n @param p_buffer Header pointer to return packet with\n @param pic_send_done Flag to signal that all input pictures have been sent. Should be either 0 or 1.\n @return EB_API Either EB_ErrorMax for an encode error or EB_NoErrorEmptyQueue if there are no available packets."]
pub fn svt_av1_enc_get_packet(
svt_enc_component: *mut EbComponentType,
p_buffer: *mut *mut EbBufferHeaderType,
pic_send_done: u8,
) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_release_out_buffer(p_buffer: *mut *mut EbBufferHeaderType);
}
unsafe extern "C" {
pub fn svt_av1_enc_get_stream_info(
svt_enc_component: *mut EbComponentType,
stream_info_id: u32,
info: *mut ::std::os::raw::c_void,
) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_deinit(svt_enc_component: *mut EbComponentType) -> EbErrorType::Type;
}
unsafe extern "C" {
pub fn svt_av1_enc_deinit_handle(svt_enc_component: *mut EbComponentType) -> EbErrorType::Type;
}