1#![cfg_attr(not(feature = "std"), no_std)]
26#![forbid(unsafe_code)]
27#![cfg_attr(
32 not(any(feature = "alloc", feature = "std")),
33 allow(dead_code, unused_imports)
34)]
35
36#[cfg(all(feature = "alloc", not(feature = "std")))]
37extern crate alloc;
38
39pub mod model;
41#[cfg(any(feature = "alloc", feature = "std"))]
42pub use model::ExtensionData;
43#[cfg(any(feature = "alloc", feature = "std"))]
44pub use model::ExtensionHandler;
45#[cfg(any(feature = "alloc", feature = "std"))]
46pub use model::ParseWarning;
47pub use model::{
48 AnalogColorType, AnalogSyncLevel, BacklightType, Chromaticity, ChromaticityPoint,
49 ColorBitDepth, ColorManagementData, CustomColorSpaceEotfCombo, CvtAlgorithm, CvtAspectRatio,
50 CvtAspectRatios, CvtScaling, CvtSupportParams, DcmChannel, DigitalColorEncoding,
51 DisplayCapabilities, DisplayFeatureFlags, DisplayGamma, DisplayIdInterface,
52 DisplayIdStereoInterface, DisplayIdStereoInterfaceV2, DisplayIdTiledTopology,
53 DisplayInterfaceFeatures, DisplayInterfaceType, DisplayTechnology, EdidError, EdidSource,
54 EdidVersion, EdidWarning, ExtensionLibrary, ExtensionMetadata, ExtensionTagRegistry,
55 GtfSecondaryParams, InterfaceContentProtection, KnownExtensions, ManufactureDate,
56 ManufacturerId, ModeSink, MonitorString, OperatingMode, ParsedEdid, ParsedEdidRef,
57 PhysicalOrientation, PowerSequencing, RefreshRate, RotationCapability, ScanDirection,
58 ScreenSize, StaticContext, StaticDisplayCapabilities, StaticExtensionHandler, StereoMode,
59 StereoSyncInterface, StereoTimingCode, StereoTimingCodeType, StereoTimingScopeV2,
60 StereoViewingMode, SubpixelLayout, SyncDefinition, TileBezelInfo, TileTopologyBehavior,
61 TimingFormula, TransferPointEncoding, TypeIxStereoMode, VideoInputFlags, VideoInterface,
62 VideoMode, WhitePoint, ZeroPixelLocation,
63};
64#[cfg(any(feature = "alloc", feature = "std"))]
65pub use model::{DisplayIdTransferCharacteristic, TransferCurve};
66
67pub mod parser;
69pub use parser::{parse_edid, parse_edid_owned};
70
71pub mod capabilities;
73pub use capabilities::Cea861Flags;
74#[cfg(any(feature = "alloc", feature = "std"))]
75pub use capabilities::DisplayIdCapabilities;
76pub use capabilities::capabilities_from_edid;
77pub use capabilities::capabilities_from_edid_static;
78#[cfg(any(feature = "alloc", feature = "std"))]
79pub use capabilities::{
80 AudioFormat, AudioFormatInfo, AudioSampleRates, Cea861Capabilities, ColorimetryBlock,
81 ColorimetryFlags, DtcPointEncoding, HdmiAudioBlock, HdmiDscMaxSlices, HdmiForumDsc,
82 HdmiForumFrl, HdmiForumSinkCap, HdmiVsdb, HdmiVsdbFlags, HdrDynamicMetadataDescriptor, HdrEotf,
83 HdrStaticMetadata, InfoFrameDescriptor, RoomConfigurationBlock, ShortAudioDescriptor,
84 SpeakerAllocation, SpeakerAllocationFlags, SpeakerAllocationFlags2, SpeakerAllocationFlags3,
85 SpeakerLocationEntry, T7VtdbBlock, T8VtdbBlock, T10VtdbBlock, T10VtdbEntry,
86 VendorSpecificBlock, VesaDisplayDeviceBlock, VesaTransferCharacteristic, VideoCapability,
87 VideoCapabilityFlags, VtbExtBlock, infoframe_type,
88};
89pub use capabilities::{
90 CEA861_HANDLER, Cea861Handler, DISPLAYID_HANDLER, DisplayIdHandler, STANDARD_HANDLERS,
91};