#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(deprecated)]
#[cfg(feature = "api-11")]
use crate::avbuffer::OH_AVBuffer;
use crate::avbuffer_info::OH_AVCodecBufferAttr;
#[allow(unused_imports)]
use crate::averrors::OH_AVErrCode;
use crate::avformat::OH_AVFormat;
use crate::avmemory::OH_AVMemory;
#[repr(C)]
pub struct OH_AVCodec {
_unused: [u8; 0],
}
pub type OH_AVCodecOnError = ::core::option::Option<
unsafe extern "C" fn(
codec: *mut OH_AVCodec,
errorCode: i32,
userData: *mut ::core::ffi::c_void,
),
>;
pub type OH_AVCodecOnStreamChanged = ::core::option::Option<
unsafe extern "C" fn(
codec: *mut OH_AVCodec,
format: *mut OH_AVFormat,
userData: *mut ::core::ffi::c_void,
),
>;
#[deprecated(since = "11")]
pub type OH_AVCodecOnNeedInputData = ::core::option::Option<
unsafe extern "C" fn(
codec: *mut OH_AVCodec,
index: u32,
data: *mut OH_AVMemory,
userData: *mut ::core::ffi::c_void,
),
>;
#[deprecated(since = "11")]
pub type OH_AVCodecOnNewOutputData = ::core::option::Option<
unsafe extern "C" fn(
codec: *mut OH_AVCodec,
index: u32,
data: *mut OH_AVMemory,
attr: *mut OH_AVCodecBufferAttr,
userData: *mut ::core::ffi::c_void,
),
>;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub type OH_AVCodecOnNeedInputBuffer = ::core::option::Option<
unsafe extern "C" fn(
codec: *mut OH_AVCodec,
index: u32,
buffer: *mut OH_AVBuffer,
userData: *mut ::core::ffi::c_void,
),
>;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub type OH_AVCodecOnNewOutputBuffer = ::core::option::Option<
unsafe extern "C" fn(
codec: *mut OH_AVCodec,
index: u32,
buffer: *mut OH_AVBuffer,
userData: *mut ::core::ffi::c_void,
),
>;
#[deprecated(since = "11")]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_AVCodecAsyncCallback {
pub onError: OH_AVCodecOnError,
pub onStreamChanged: OH_AVCodecOnStreamChanged,
pub onNeedInputData: OH_AVCodecOnNeedInputData,
pub onNeedOutputData: OH_AVCodecOnNewOutputData,
}
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_AVCodecCallback {
pub onError: OH_AVCodecOnError,
pub onStreamChanged: OH_AVCodecOnStreamChanged,
pub onNeedInputBuffer: OH_AVCodecOnNeedInputBuffer,
pub onNewOutputBuffer: OH_AVCodecOnNewOutputBuffer,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub type OH_AVDataSourceReadAt = ::core::option::Option<
unsafe extern "C" fn(data: *mut OH_AVBuffer, length: i32, pos: i64) -> i32,
>;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_AVDataSource {
pub size: i64,
pub readAt: OH_AVDataSourceReadAt,
}
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_AVDataSourceReadAtExt = ::core::option::Option<
unsafe extern "C" fn(
data: *mut OH_AVBuffer,
length: i32,
pos: i64,
userData: *mut ::core::ffi::c_void,
) -> i32,
>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_AVDataSourceExt {
pub size: i64,
pub readAt: OH_AVDataSourceReadAtExt,
}
impl OH_MediaType {
pub const MEDIA_TYPE_AUD: OH_MediaType = OH_MediaType(0);
pub const MEDIA_TYPE_VID: OH_MediaType = OH_MediaType(1);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub const MEDIA_TYPE_SUBTITLE: OH_MediaType = OH_MediaType(2);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const MEDIA_TYPE_TIMED_METADATA: OH_MediaType = OH_MediaType(5);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const MEDIA_TYPE_AUXILIARY: OH_MediaType = OH_MediaType(6);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_MediaType(pub ::core::ffi::c_uint);
impl OH_AACProfile {
pub const AAC_PROFILE_LC: OH_AACProfile = OH_AACProfile(0);
#[cfg(feature = "api-14")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
pub const AAC_PROFILE_HE: OH_AACProfile = OH_AACProfile(3);
#[cfg(feature = "api-14")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
pub const AAC_PROFILE_HE_V2: OH_AACProfile = OH_AACProfile(4);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_AACProfile(pub ::core::ffi::c_uint);
impl OH_AVCProfile {
pub const AVC_PROFILE_BASELINE: OH_AVCProfile = OH_AVCProfile(0);
pub const AVC_PROFILE_HIGH: OH_AVCProfile = OH_AVCProfile(4);
pub const AVC_PROFILE_MAIN: OH_AVCProfile = OH_AVCProfile(8);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_AVCProfile(pub ::core::ffi::c_uint);
impl OH_HEVCProfile {
pub const HEVC_PROFILE_MAIN: OH_HEVCProfile = OH_HEVCProfile(0);
pub const HEVC_PROFILE_MAIN_10: OH_HEVCProfile = OH_HEVCProfile(1);
pub const HEVC_PROFILE_MAIN_STILL: OH_HEVCProfile = OH_HEVCProfile(2);
#[deprecated(since = "14")]
pub const HEVC_PROFILE_MAIN_10_HDR10: OH_HEVCProfile = OH_HEVCProfile(3);
#[deprecated(since = "14")]
pub const HEVC_PROFILE_MAIN_10_HDR10_PLUS: OH_HEVCProfile = OH_HEVCProfile(4);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_HEVCProfile(pub ::core::ffi::c_uint);
#[cfg(feature = "api-15")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
impl OH_VVCProfile {
pub const VVC_PROFILE_MAIN_10: OH_VVCProfile = OH_VVCProfile(1);
pub const VVC_PROFILE_MAIN_12: OH_VVCProfile = OH_VVCProfile(2);
pub const VVC_PROFILE_MAIN_12_INTRA: OH_VVCProfile = OH_VVCProfile(10);
pub const VVC_PROFILE_MULTI_MAIN_10: OH_VVCProfile = OH_VVCProfile(17);
pub const VVC_PROFILE_MAIN_10_444: OH_VVCProfile = OH_VVCProfile(33);
pub const VVC_PROFILE_MAIN_12_444: OH_VVCProfile = OH_VVCProfile(34);
pub const VVC_PROFILE_MAIN_16_444: OH_VVCProfile = OH_VVCProfile(36);
pub const VVC_PROFILE_MAIN_12_444_INTRA: OH_VVCProfile = OH_VVCProfile(42);
pub const VVC_PROFILE_MAIN_16_444_INTRA: OH_VVCProfile = OH_VVCProfile(44);
pub const VVC_PROFILE_MULTI_MAIN_10_444: OH_VVCProfile = OH_VVCProfile(49);
pub const VVC_PROFILE_MAIN_10_STILL: OH_VVCProfile = OH_VVCProfile(65);
pub const VVC_PROFILE_MAIN_12_STILL: OH_VVCProfile = OH_VVCProfile(66);
pub const VVC_PROFILE_MAIN_10_444_STILL: OH_VVCProfile = OH_VVCProfile(97);
pub const VVC_PROFILE_MAIN_12_444_STILL: OH_VVCProfile = OH_VVCProfile(98);
pub const VVC_PROFILE_MAIN_16_444_STILL: OH_VVCProfile = OH_VVCProfile(100);
}
#[repr(transparent)]
#[cfg(feature = "api-15")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_VVCProfile(pub ::core::ffi::c_uint);
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
impl OH_MPEG2Profile {
pub const MPEG2_PROFILE_SIMPLE: OH_MPEG2Profile = OH_MPEG2Profile(0);
pub const MPEG2_PROFILE_MAIN: OH_MPEG2Profile = OH_MPEG2Profile(1);
pub const MPEG2_PROFILE_SNR_SCALABLE: OH_MPEG2Profile = OH_MPEG2Profile(2);
pub const MPEG2_PROFILE_SPATIALLY_SCALABLE: OH_MPEG2Profile = OH_MPEG2Profile(3);
pub const MPEG2_PROFILE_HIGH: OH_MPEG2Profile = OH_MPEG2Profile(4);
pub const MPEG2_PROFILE_422: OH_MPEG2Profile = OH_MPEG2Profile(5);
}
#[repr(transparent)]
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_MPEG2Profile(pub ::core::ffi::c_uint);
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
impl OH_MPEG4Profile {
pub const MPEG4_PROFILE_SIMPLE: OH_MPEG4Profile = OH_MPEG4Profile(0);
pub const MPEG4_PROFILE_SIMPLE_SCALABLE: OH_MPEG4Profile = OH_MPEG4Profile(1);
pub const MPEG4_PROFILE_CORE: OH_MPEG4Profile = OH_MPEG4Profile(2);
pub const MPEG4_PROFILE_MAIN: OH_MPEG4Profile = OH_MPEG4Profile(3);
pub const MPEG4_PROFILE_N_BIT: OH_MPEG4Profile = OH_MPEG4Profile(4);
pub const MPEG4_PROFILE_HYBRID: OH_MPEG4Profile = OH_MPEG4Profile(5);
pub const MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE: OH_MPEG4Profile = OH_MPEG4Profile(6);
pub const MPEG4_PROFILE_SCALABLE_TEXTURE: OH_MPEG4Profile = OH_MPEG4Profile(7);
pub const MPEG4_PROFILE_SIMPLE_FA: OH_MPEG4Profile = OH_MPEG4Profile(8);
pub const MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE: OH_MPEG4Profile = OH_MPEG4Profile(9);
pub const MPEG4_PROFILE_CORE_SCALABLE: OH_MPEG4Profile = OH_MPEG4Profile(10);
pub const MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY: OH_MPEG4Profile = OH_MPEG4Profile(11);
pub const MPEG4_PROFILE_ADVANCED_CORE: OH_MPEG4Profile = OH_MPEG4Profile(12);
pub const MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE: OH_MPEG4Profile = OH_MPEG4Profile(13);
pub const MPEG4_PROFILE_ADVANCED_SIMPLE: OH_MPEG4Profile = OH_MPEG4Profile(17);
}
#[repr(transparent)]
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_MPEG4Profile(pub ::core::ffi::c_uint);
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
impl OH_H263Profile {
pub const H263_PROFILE_BASELINE: OH_H263Profile = OH_H263Profile(0);
pub const H263_PROFILE_VERSION_1_BACKWARD_COMPATIBILITY: OH_H263Profile = OH_H263Profile(2);
}
#[repr(transparent)]
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_H263Profile(pub ::core::ffi::c_uint);
impl OH_AVOutputFormat {
pub const AV_OUTPUT_FORMAT_DEFAULT: OH_AVOutputFormat = OH_AVOutputFormat(0);
pub const AV_OUTPUT_FORMAT_MPEG_4: OH_AVOutputFormat = OH_AVOutputFormat(2);
pub const AV_OUTPUT_FORMAT_M4A: OH_AVOutputFormat = OH_AVOutputFormat(6);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub const AV_OUTPUT_FORMAT_AMR: OH_AVOutputFormat = OH_AVOutputFormat(8);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub const AV_OUTPUT_FORMAT_MP3: OH_AVOutputFormat = OH_AVOutputFormat(9);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub const AV_OUTPUT_FORMAT_WAV: OH_AVOutputFormat = OH_AVOutputFormat(10);
#[cfg(feature = "api-18")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
pub const AV_OUTPUT_FORMAT_AAC: OH_AVOutputFormat = OH_AVOutputFormat(11);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const AV_OUTPUT_FORMAT_FLAC: OH_AVOutputFormat = OH_AVOutputFormat(12);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_AVOutputFormat(pub ::core::ffi::c_uint);
impl OH_AVSeekMode {
pub const SEEK_MODE_NEXT_SYNC: OH_AVSeekMode = OH_AVSeekMode(0);
pub const SEEK_MODE_PREVIOUS_SYNC: OH_AVSeekMode = OH_AVSeekMode(1);
pub const SEEK_MODE_CLOSEST_SYNC: OH_AVSeekMode = OH_AVSeekMode(2);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_AVSeekMode(pub ::core::ffi::c_uint);
impl OH_ScalingMode {
#[deprecated(since = "14")]
pub const SCALING_MODE_SCALE_TO_WINDOW: OH_ScalingMode = OH_ScalingMode(1);
#[deprecated(since = "14")]
pub const SCALING_MODE_SCALE_CROP: OH_ScalingMode = OH_ScalingMode(2);
}
#[repr(transparent)]
#[deprecated(since = "14")]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_ScalingMode(pub ::core::ffi::c_uint);
impl OH_BitsPerSample {
pub const SAMPLE_U8: OH_BitsPerSample = OH_BitsPerSample(0);
pub const SAMPLE_S16LE: OH_BitsPerSample = OH_BitsPerSample(1);
pub const SAMPLE_S24LE: OH_BitsPerSample = OH_BitsPerSample(2);
pub const SAMPLE_S32LE: OH_BitsPerSample = OH_BitsPerSample(3);
pub const SAMPLE_F32LE: OH_BitsPerSample = OH_BitsPerSample(4);
pub const SAMPLE_U8P: OH_BitsPerSample = OH_BitsPerSample(5);
pub const SAMPLE_S16P: OH_BitsPerSample = OH_BitsPerSample(6);
pub const SAMPLE_S24P: OH_BitsPerSample = OH_BitsPerSample(7);
pub const SAMPLE_S32P: OH_BitsPerSample = OH_BitsPerSample(8);
pub const SAMPLE_F32P: OH_BitsPerSample = OH_BitsPerSample(9);
pub const INVALID_WIDTH: OH_BitsPerSample = OH_BitsPerSample(-1);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_BitsPerSample(pub ::core::ffi::c_int);
impl OH_ColorPrimary {
pub const COLOR_PRIMARY_BT709: OH_ColorPrimary = OH_ColorPrimary(1);
pub const COLOR_PRIMARY_UNSPECIFIED: OH_ColorPrimary = OH_ColorPrimary(2);
pub const COLOR_PRIMARY_BT470_M: OH_ColorPrimary = OH_ColorPrimary(4);
pub const COLOR_PRIMARY_BT601_625: OH_ColorPrimary = OH_ColorPrimary(5);
pub const COLOR_PRIMARY_BT601_525: OH_ColorPrimary = OH_ColorPrimary(6);
pub const COLOR_PRIMARY_SMPTE_ST240: OH_ColorPrimary = OH_ColorPrimary(7);
pub const COLOR_PRIMARY_GENERIC_FILM: OH_ColorPrimary = OH_ColorPrimary(8);
pub const COLOR_PRIMARY_BT2020: OH_ColorPrimary = OH_ColorPrimary(9);
pub const COLOR_PRIMARY_SMPTE_ST428: OH_ColorPrimary = OH_ColorPrimary(10);
pub const COLOR_PRIMARY_P3DCI: OH_ColorPrimary = OH_ColorPrimary(11);
pub const COLOR_PRIMARY_P3D65: OH_ColorPrimary = OH_ColorPrimary(12);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_ColorPrimary(pub ::core::ffi::c_uint);
impl OH_TransferCharacteristic {
pub const TRANSFER_CHARACTERISTIC_BT709: OH_TransferCharacteristic =
OH_TransferCharacteristic(1);
pub const TRANSFER_CHARACTERISTIC_UNSPECIFIED: OH_TransferCharacteristic =
OH_TransferCharacteristic(2);
pub const TRANSFER_CHARACTERISTIC_GAMMA_2_2: OH_TransferCharacteristic =
OH_TransferCharacteristic(4);
pub const TRANSFER_CHARACTERISTIC_GAMMA_2_8: OH_TransferCharacteristic =
OH_TransferCharacteristic(5);
pub const TRANSFER_CHARACTERISTIC_BT601: OH_TransferCharacteristic =
OH_TransferCharacteristic(6);
pub const TRANSFER_CHARACTERISTIC_SMPTE_ST240: OH_TransferCharacteristic =
OH_TransferCharacteristic(7);
pub const TRANSFER_CHARACTERISTIC_LINEAR: OH_TransferCharacteristic =
OH_TransferCharacteristic(8);
pub const TRANSFER_CHARACTERISTIC_LOG: OH_TransferCharacteristic = OH_TransferCharacteristic(9);
pub const TRANSFER_CHARACTERISTIC_LOG_SQRT: OH_TransferCharacteristic =
OH_TransferCharacteristic(10);
pub const TRANSFER_CHARACTERISTIC_IEC_61966_2_4: OH_TransferCharacteristic =
OH_TransferCharacteristic(11);
pub const TRANSFER_CHARACTERISTIC_BT1361: OH_TransferCharacteristic =
OH_TransferCharacteristic(12);
pub const TRANSFER_CHARACTERISTIC_IEC_61966_2_1: OH_TransferCharacteristic =
OH_TransferCharacteristic(13);
pub const TRANSFER_CHARACTERISTIC_BT2020_10BIT: OH_TransferCharacteristic =
OH_TransferCharacteristic(14);
pub const TRANSFER_CHARACTERISTIC_BT2020_12BIT: OH_TransferCharacteristic =
OH_TransferCharacteristic(15);
pub const TRANSFER_CHARACTERISTIC_PQ: OH_TransferCharacteristic = OH_TransferCharacteristic(16);
pub const TRANSFER_CHARACTERISTIC_SMPTE_ST428: OH_TransferCharacteristic =
OH_TransferCharacteristic(17);
pub const TRANSFER_CHARACTERISTIC_HLG: OH_TransferCharacteristic =
OH_TransferCharacteristic(18);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_TransferCharacteristic(pub ::core::ffi::c_uint);
impl OH_MatrixCoefficient {
pub const MATRIX_COEFFICIENT_IDENTITY: OH_MatrixCoefficient = OH_MatrixCoefficient(0);
pub const MATRIX_COEFFICIENT_BT709: OH_MatrixCoefficient = OH_MatrixCoefficient(1);
pub const MATRIX_COEFFICIENT_UNSPECIFIED: OH_MatrixCoefficient = OH_MatrixCoefficient(2);
pub const MATRIX_COEFFICIENT_FCC: OH_MatrixCoefficient = OH_MatrixCoefficient(4);
pub const MATRIX_COEFFICIENT_BT601_625: OH_MatrixCoefficient = OH_MatrixCoefficient(5);
pub const MATRIX_COEFFICIENT_BT601_525: OH_MatrixCoefficient = OH_MatrixCoefficient(6);
pub const MATRIX_COEFFICIENT_SMPTE_ST240: OH_MatrixCoefficient = OH_MatrixCoefficient(7);
pub const MATRIX_COEFFICIENT_YCGCO: OH_MatrixCoefficient = OH_MatrixCoefficient(8);
pub const MATRIX_COEFFICIENT_BT2020_NCL: OH_MatrixCoefficient = OH_MatrixCoefficient(9);
pub const MATRIX_COEFFICIENT_BT2020_CL: OH_MatrixCoefficient = OH_MatrixCoefficient(10);
pub const MATRIX_COEFFICIENT_SMPTE_ST2085: OH_MatrixCoefficient = OH_MatrixCoefficient(11);
pub const MATRIX_COEFFICIENT_CHROMATICITY_NCL: OH_MatrixCoefficient = OH_MatrixCoefficient(12);
pub const MATRIX_COEFFICIENT_CHROMATICITY_CL: OH_MatrixCoefficient = OH_MatrixCoefficient(13);
pub const MATRIX_COEFFICIENT_ICTCP: OH_MatrixCoefficient = OH_MatrixCoefficient(14);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_MatrixCoefficient(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl OH_AVCLevel {
pub const AVC_LEVEL_1: OH_AVCLevel = OH_AVCLevel(0);
pub const AVC_LEVEL_1b: OH_AVCLevel = OH_AVCLevel(1);
pub const AVC_LEVEL_11: OH_AVCLevel = OH_AVCLevel(2);
pub const AVC_LEVEL_12: OH_AVCLevel = OH_AVCLevel(3);
pub const AVC_LEVEL_13: OH_AVCLevel = OH_AVCLevel(4);
pub const AVC_LEVEL_2: OH_AVCLevel = OH_AVCLevel(5);
pub const AVC_LEVEL_21: OH_AVCLevel = OH_AVCLevel(6);
pub const AVC_LEVEL_22: OH_AVCLevel = OH_AVCLevel(7);
pub const AVC_LEVEL_3: OH_AVCLevel = OH_AVCLevel(8);
pub const AVC_LEVEL_31: OH_AVCLevel = OH_AVCLevel(9);
pub const AVC_LEVEL_32: OH_AVCLevel = OH_AVCLevel(10);
pub const AVC_LEVEL_4: OH_AVCLevel = OH_AVCLevel(11);
pub const AVC_LEVEL_41: OH_AVCLevel = OH_AVCLevel(12);
pub const AVC_LEVEL_42: OH_AVCLevel = OH_AVCLevel(13);
pub const AVC_LEVEL_5: OH_AVCLevel = OH_AVCLevel(14);
pub const AVC_LEVEL_51: OH_AVCLevel = OH_AVCLevel(15);
pub const AVC_LEVEL_52: OH_AVCLevel = OH_AVCLevel(16);
pub const AVC_LEVEL_6: OH_AVCLevel = OH_AVCLevel(17);
pub const AVC_LEVEL_61: OH_AVCLevel = OH_AVCLevel(18);
pub const AVC_LEVEL_62: OH_AVCLevel = OH_AVCLevel(19);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_AVCLevel(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl OH_HEVCLevel {
pub const HEVC_LEVEL_1: OH_HEVCLevel = OH_HEVCLevel(0);
pub const HEVC_LEVEL_2: OH_HEVCLevel = OH_HEVCLevel(1);
pub const HEVC_LEVEL_21: OH_HEVCLevel = OH_HEVCLevel(2);
pub const HEVC_LEVEL_3: OH_HEVCLevel = OH_HEVCLevel(3);
pub const HEVC_LEVEL_31: OH_HEVCLevel = OH_HEVCLevel(4);
pub const HEVC_LEVEL_4: OH_HEVCLevel = OH_HEVCLevel(5);
pub const HEVC_LEVEL_41: OH_HEVCLevel = OH_HEVCLevel(6);
pub const HEVC_LEVEL_5: OH_HEVCLevel = OH_HEVCLevel(7);
pub const HEVC_LEVEL_51: OH_HEVCLevel = OH_HEVCLevel(8);
pub const HEVC_LEVEL_52: OH_HEVCLevel = OH_HEVCLevel(9);
pub const HEVC_LEVEL_6: OH_HEVCLevel = OH_HEVCLevel(10);
pub const HEVC_LEVEL_61: OH_HEVCLevel = OH_HEVCLevel(11);
pub const HEVC_LEVEL_62: OH_HEVCLevel = OH_HEVCLevel(12);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_HEVCLevel(pub ::core::ffi::c_uint);
#[cfg(feature = "api-15")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
impl OH_VVCLevel {
pub const VVC_LEVEL_1: OH_VVCLevel = OH_VVCLevel(16);
pub const VVC_LEVEL_2: OH_VVCLevel = OH_VVCLevel(32);
pub const VVC_LEVEL_21: OH_VVCLevel = OH_VVCLevel(35);
pub const VVC_LEVEL_3: OH_VVCLevel = OH_VVCLevel(48);
pub const VVC_LEVEL_31: OH_VVCLevel = OH_VVCLevel(51);
pub const VVC_LEVEL_4: OH_VVCLevel = OH_VVCLevel(64);
pub const VVC_LEVEL_41: OH_VVCLevel = OH_VVCLevel(67);
pub const VVC_LEVEL_5: OH_VVCLevel = OH_VVCLevel(80);
pub const VVC_LEVEL_51: OH_VVCLevel = OH_VVCLevel(83);
pub const VVC_LEVEL_52: OH_VVCLevel = OH_VVCLevel(86);
pub const VVC_LEVEL_6: OH_VVCLevel = OH_VVCLevel(96);
pub const VVC_LEVEL_61: OH_VVCLevel = OH_VVCLevel(99);
pub const VVC_LEVEL_62: OH_VVCLevel = OH_VVCLevel(102);
pub const VVC_LEVEL_63: OH_VVCLevel = OH_VVCLevel(105);
pub const VVC_LEVEL_155: OH_VVCLevel = OH_VVCLevel(255);
}
#[repr(transparent)]
#[cfg(feature = "api-15")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_VVCLevel(pub ::core::ffi::c_uint);
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
impl OH_MPEG2Level {
pub const MPEG2_LEVEL_LOW: OH_MPEG2Level = OH_MPEG2Level(0);
pub const MPEG2_LEVEL_MAIN: OH_MPEG2Level = OH_MPEG2Level(1);
pub const MPEG2_LEVEL_HIGH_1440: OH_MPEG2Level = OH_MPEG2Level(2);
pub const MPEG2_LEVEL_HIGH: OH_MPEG2Level = OH_MPEG2Level(3);
}
#[repr(transparent)]
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_MPEG2Level(pub ::core::ffi::c_uint);
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
impl OH_MPEG4Level {
pub const MPEG4_LEVEL_0: OH_MPEG4Level = OH_MPEG4Level(0);
pub const MPEG4_LEVEL_0B: OH_MPEG4Level = OH_MPEG4Level(1);
pub const MPEG4_LEVEL_1: OH_MPEG4Level = OH_MPEG4Level(2);
pub const MPEG4_LEVEL_2: OH_MPEG4Level = OH_MPEG4Level(3);
pub const MPEG4_LEVEL_3: OH_MPEG4Level = OH_MPEG4Level(4);
pub const MPEG4_LEVEL_3B: OH_MPEG4Level = OH_MPEG4Level(5);
pub const MPEG4_LEVEL_4: OH_MPEG4Level = OH_MPEG4Level(6);
pub const MPEG4_LEVEL_4A: OH_MPEG4Level = OH_MPEG4Level(7);
pub const MPEG4_LEVEL_5: OH_MPEG4Level = OH_MPEG4Level(8);
pub const MPEG4_LEVEL_6: OH_MPEG4Level = OH_MPEG4Level(9);
}
#[repr(transparent)]
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_MPEG4Level(pub ::core::ffi::c_uint);
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
impl OH_H263Level {
pub const H263_LEVEL_10: OH_H263Level = OH_H263Level(0);
pub const H263_LEVEL_20: OH_H263Level = OH_H263Level(1);
pub const H263_LEVEL_30: OH_H263Level = OH_H263Level(2);
pub const H263_LEVEL_40: OH_H263Level = OH_H263Level(3);
pub const H263_LEVEL_45: OH_H263Level = OH_H263Level(4);
pub const H263_LEVEL_50: OH_H263Level = OH_H263Level(5);
pub const H263_LEVEL_60: OH_H263Level = OH_H263Level(6);
pub const H263_LEVEL_70: OH_H263Level = OH_H263Level(7);
}
#[repr(transparent)]
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_H263Level(pub ::core::ffi::c_uint);
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl OH_TemporalGopReferenceMode {
pub const ADJACENT_REFERENCE: OH_TemporalGopReferenceMode = OH_TemporalGopReferenceMode(0);
pub const JUMP_REFERENCE: OH_TemporalGopReferenceMode = OH_TemporalGopReferenceMode(1);
pub const UNIFORMLY_SCALED_REFERENCE: OH_TemporalGopReferenceMode =
OH_TemporalGopReferenceMode(2);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_TemporalGopReferenceMode(pub ::core::ffi::c_uint);
impl OH_BitrateMode {
pub const BITRATE_MODE_CBR: OH_BitrateMode = OH_BitrateMode(0);
pub const BITRATE_MODE_VBR: OH_BitrateMode = OH_BitrateMode(1);
pub const BITRATE_MODE_CQ: OH_BitrateMode = OH_BitrateMode(2);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const BITRATE_MODE_SQR: OH_BitrateMode = OH_BitrateMode(3);
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct OH_BitrateMode(pub ::core::ffi::c_uint);
extern "C" {
pub static mut OH_AVCODEC_MIMETYPE_VIDEO_AVC: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_AAC: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_FLAC: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_VORBIS: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_MPEG: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_VIDEO_HEVC: *const ::core::ffi::c_char;
#[deprecated(since = "11")]
pub static mut OH_AVCODEC_MIMETYPE_VIDEO_MPEG4: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_IMAGE_JPG: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_IMAGE_PNG: *const ::core::ffi::c_char;
pub static mut OH_AVCODEC_MIMETYPE_IMAGE_BMP: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_VIVID: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_AMR_NB: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_AMR_WB: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_OPUS: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_G711MU: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_APE: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_AVCODEC_MIMETYPE_VIDEO_VVC: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_AVCODEC_MIMETYPE_SUBTITLE_SRT: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_AVCODEC_MIMETYPE_SUBTITLE_WEBVTT: *const ::core::ffi::c_char;
#[cfg(feature = "api-18")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_RAW: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_AVCODEC_MIMETYPE_AUDIO_G711A: *const ::core::ffi::c_char;
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
pub static mut OH_AVCODEC_MIMETYPE_VIDEO_MPEG2: *const ::core::ffi::c_char;
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
pub static mut OH_AVCODEC_MIMETYPE_VIDEO_MPEG4_PART2: *const ::core::ffi::c_char;
#[cfg(feature = "api-17")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
pub static mut OH_AVCODEC_MIMETYPE_VIDEO_H263: *const ::core::ffi::c_char;
#[deprecated(since = "14")]
pub static mut OH_ED_KEY_TIME_STAMP: *const ::core::ffi::c_char;
#[deprecated(since = "14")]
pub static mut OH_ED_KEY_EOS: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_TRACK_TYPE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_CODEC_MIME: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_DURATION: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_BITRATE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_MAX_INPUT_SIZE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_WIDTH: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_HEIGHT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_PIXEL_FORMAT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_AUDIO_SAMPLE_FORMAT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_FRAME_RATE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_PROFILE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_AUD_CHANNEL_COUNT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_AUD_SAMPLE_RATE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_I_FRAME_INTERVAL: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_ROTATION: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_RANGE_FLAG: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_COLOR_PRIMARIES: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_TRANSFER_CHARACTERISTICS: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_MATRIX_COEFFICIENTS: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_REQUEST_I_FRAME: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_QUALITY: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_CODEC_CONFIG: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_TITLE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_ARTIST: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_ALBUM: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_ALBUM_ARTIST: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_DATE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_COMMENT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_GENRE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_COPYRIGHT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_LANGUAGE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_DESCRIPTION: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_LYRICS: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_TRACK_COUNT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_CHANNEL_LAYOUT: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_BITS_PER_CODED_SAMPLE: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_AAC_IS_ADTS: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_SBR: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_COMPLIANCE_LEVEL: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_IDENTIFICATION_HEADER: *const ::core::ffi::c_char;
pub static mut OH_MD_KEY_SETUP_HEADER: *const ::core::ffi::c_char;
#[deprecated(since = "14")]
pub static mut OH_MD_KEY_SCALING_MODE: *const ::core::ffi::c_char;
pub static mut OH_MD_MAX_INPUT_BUFFER_COUNT: *const ::core::ffi::c_char;
pub static mut OH_MD_MAX_OUTPUT_BUFFER_COUNT: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_MD_KEY_AUDIO_COMPRESSION_LEVEL: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_MD_KEY_VIDEO_IS_HDR_VIVID: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_MD_KEY_AUDIO_OBJECT_NUMBER: *const ::core::ffi::c_char;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub static mut OH_MD_KEY_AUDIO_VIVID_METADATA: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_FEATURE_PROPERTY_KEY_VIDEO_ENCODER_MAX_LTR_FRAME_COUNT:
*const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_ENABLE_TEMPORAL_SCALABILITY: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_SIZE: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_TEMPORAL_GOP_REFERENCE_MODE: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_LTR_FRAME_COUNT: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_MARK_LTR: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_PER_FRAME_USE_LTR: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_PER_FRAME_IS_LTR: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_PER_FRAME_POC: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_CROP_TOP: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_CROP_BOTTOM: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_CROP_LEFT: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_CROP_RIGHT: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_STRIDE: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_SLICE_HEIGHT: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_PIC_WIDTH: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_PIC_HEIGHT: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_QP_MAX: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_QP_MIN: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_MSE: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_DECODING_TIMESTAMP: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_BUFFER_DURATION: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_SAR: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_START_TIME: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_TRACK_START_TIME: *const ::core::ffi::c_char;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub static mut OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE: *const ::core::ffi::c_char;
#[cfg(feature = "api-15")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
pub static mut OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR: *const ::core::ffi::c_char;
#[cfg(feature = "api-14")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
pub static mut OH_MD_KEY_CREATION_TIME: *const ::core::ffi::c_char;
#[cfg(feature = "api-18")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_FRAME_AFTER: *const ::core::ffi::c_char;
#[cfg(feature = "api-18")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_REPEAT_PREVIOUS_MAX_COUNT: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_ENABLE_B_FRAME: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_MAX_B_FRAMES: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_ROI_PARAMS: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_ENABLE_MOOV_FRONT: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_SQR_FACTOR: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_MAX_BITRATE: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_REFERENCE_TRACK_IDS: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_TRACK_REFERENCE_TYPE: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_TRACK_DESCRIPTION: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_VIDEO_ENCODER_ENABLE_PTS_BASED_RATECONTROL: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_ENABLE_SYNC_MODE: *const ::core::ffi::c_char;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub static mut OH_MD_KEY_VIDEO_DECODER_BLANK_FRAME_ON_SHUTDOWN: *const ::core::ffi::c_char;
}