#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod error;
pub mod ffi;
pub mod session;
pub mod tagged_buffer_group;
pub(crate) mod utils;
#[cfg(feature = "async")]
#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
pub mod async_api;
#[cfg(feature = "compression")]
#[cfg_attr(docsrs, doc(cfg(feature = "compression")))]
pub mod compression;
pub mod decompression;
pub mod encoder_list;
pub mod hdr_metadata;
pub mod multipass;
pub mod transfer;
pub mod utilities;
#[cfg(feature = "frame_processor")]
#[cfg_attr(docsrs, doc(cfg(feature = "frame_processor")))]
pub mod frame_processor;
#[cfg(feature = "frame_processor")]
#[cfg_attr(docsrs, doc(cfg(feature = "frame_processor")))]
pub mod motion_estimation;
#[cfg(feature = "frame_processor")]
#[cfg_attr(docsrs, doc(cfg(feature = "frame_processor")))]
pub mod raw_processing;
pub use decompression::{DecodedFrame, DecodedMultiImageFrame, DecompressionSession};
pub use encoder_list::{
available_video_encoder_details, available_video_encoder_details_with_options,
available_video_encoders, supported_property_dictionary_for_encoder,
EncoderSupportedProperties, VideoEncoder, VideoEncoderDetails, VideoEncoderListOptions,
};
pub use error::VTError;
pub use hdr_metadata::{HdrMetadataFormat, HdrMetadataSession};
pub use multipass::{FrameSilo, MultiPassStorage};
pub use session::Codec;
pub use tagged_buffer_group::TaggedBufferGroup;
pub use transfer::{
DownsamplingMode, PixelRotationSession, PixelTransferSession, Rotation, ScalingMode,
};
pub use utilities::{
copy_raw_processor_extension_properties, copy_video_decoder_extension_properties,
create_cg_image_from_pixel_buffer, is_hardware_decode_supported,
register_professional_workflow_decoders, register_professional_workflow_encoders,
register_supplemental_video_decoder_if_available,
};
#[cfg(feature = "frame_processor")]
pub use frame_processor::{
download_super_resolution_model, download_super_resolution_model_for_configuration,
frame_processor_capabilities, low_latency_super_resolution_supported_scale_factors,
super_resolution_model_percentage_available,
super_resolution_model_percentage_available_for_configuration, super_resolution_model_status,
super_resolution_model_status_for_configuration, super_resolution_supported_scale_factors,
FrameProcessor, FrameProcessorCapabilities, FrameProcessorFrame, FrameProcessorOpticalFlow,
FrameProcessorSubmissionMode, FrameRateConversionConfiguration,
FrameRateConversionSubmissionMode, MotionBlurConfiguration, OpticalFlowConfiguration,
SuperResolutionConfiguration, SuperResolutionModelStatus,
VTFrameRateConversionConfigurationQualityPrioritization,
VTFrameRateConversionConfigurationRevision, VTMotionBlurConfigurationQualityPrioritization,
VTMotionBlurConfigurationRevision, VTOpticalFlowConfigurationQualityPrioritization,
VTOpticalFlowConfigurationRevision, VTSuperResolutionScalerConfigurationInputType,
VTSuperResolutionScalerConfigurationQualityPrioritization,
VTSuperResolutionScalerConfigurationRevision,
};
#[cfg(feature = "frame_processor")]
pub use motion_estimation::{
MotionEstimationResult, MotionEstimationSession, MotionEstimationSessionOptions,
};
#[cfg(feature = "frame_processor")]
pub use raw_processing::{RawProcessingParameter, RawProcessingSession};
#[cfg(feature = "compression")]
pub use compression::{
CompressionSession, CompressionSessionBuilder, EncodedFrame, EncoderGpu, FrameProperties,
HardwareAcceleration, ProfileLevel,
};
pub mod prelude {
pub use crate::error::VTError;
pub use crate::session::Codec;
pub use crate::transfer::{PixelRotationSession, PixelTransferSession, Rotation};
#[cfg(feature = "compression")]
pub use crate::compression::{
CompressionSession, CompressionSessionBuilder, EncodedFrame, EncoderGpu, FrameProperties,
HardwareAcceleration, ProfileLevel,
};
}