#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod error;
pub mod ffi;
pub mod session;
#[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 error::VTError;
pub use encoder_list::{available_video_encoders, VideoEncoder};
pub use hdr_metadata::HdrMetadataSession;
pub use multipass::{FrameSilo, MultiPassStorage};
pub use session::Codec;
pub use transfer::{PixelRotationSession, PixelTransferSession, Rotation};
pub use utilities::{
create_cg_image_from_pixel_buffer, register_professional_workflow_decoders,
register_professional_workflow_encoders,
};
#[cfg(feature = "frame_processor")]
pub use frame_processor::{
frame_processor_capabilities, super_resolution_supported_scale_factors, FrameProcessor,
FrameProcessorCapabilities,
};
#[cfg(feature = "frame_processor")]
pub use motion_estimation::MotionEstimationSession;
#[cfg(feature = "frame_processor")]
pub use raw_processing::{RawProcessingParameter, RawProcessingSession};
#[cfg(feature = "compression")]
pub use compression::{CompressionSession, CompressionSessionBuilder, EncodedFrame};
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};
}