1#![allow(non_upper_case_globals)]
2#![cfg_attr(target_arch = "arm", feature(stdarch_arm_feature_detection))]
3#![cfg_attr(
4 any(target_arch = "riscv32", target_arch = "riscv64"),
5 feature(stdarch_riscv_feature_detection)
6)]
7#![cfg_attr(
12 not(any(feature = "asm", feature = "c-ffi", feature = "unchecked")),
13 forbid(unsafe_code)
14)]
15#![cfg_attr(any(feature = "asm", feature = "c-ffi"), deny(unsafe_op_in_unsafe_fn))]
16#![allow(clippy::precedence)] #![allow(clippy::too_many_arguments)] #![allow(clippy::unnecessary_cast)] #![allow(clippy::identity_op)] #![allow(clippy::needless_range_loop)] #![allow(clippy::explicit_auto_deref)] #![allow(clippy::erasing_op)] #![allow(clippy::needless_return)] #![allow(clippy::nonminimal_bool)] #![allow(clippy::needless_borrow)] #![allow(clippy::doc_overindented_list_items)] #![allow(clippy::zero_prefixed_literal)] #![allow(clippy::collapsible_if)] #![allow(clippy::needless_late_init)] #![allow(clippy::upper_case_acronyms)] #![allow(clippy::type_complexity)] #![allow(clippy::misrefactored_assign_op)] #![allow(clippy::neg_multiply)] #![allow(clippy::eq_op)] #![allow(clippy::overly_complex_bool_expr)] #![allow(clippy::let_underscore_lock)] #![allow(clippy::module_inception)] #![allow(clippy::large_enum_variant)] #![allow(clippy::duplicated_attributes)] #![allow(clippy::manual_is_multiple_of)] #![allow(clippy::let_and_return)] #![allow(clippy::unnecessary_map_on_constructor)] #![allow(clippy::clone_on_copy)] #![allow(clippy::option_map_unit_fn)] #![allow(clippy::unnecessary_lazy_evaluations)] #![cfg_attr(
59 any(feature = "asm", feature = "c-ffi"),
60 deny(clippy::undocumented_unsafe_blocks)
61)]
62#![cfg_attr(
63 any(feature = "asm", feature = "c-ffi"),
64 deny(clippy::missing_safety_doc)
65)]
66
67#[cfg(not(any(feature = "bitdepth_8", feature = "bitdepth_16")))]
68compile_error!(
69 "No bitdepths enabled. Enable one or more of the following features: `bitdepth_8`, `bitdepth_16`"
70);
71
72pub mod include {
73 pub mod common {
74 pub(crate) mod attributes;
75 pub(crate) mod bitdepth;
76 pub(crate) mod dump;
77 pub(crate) mod intops;
78 pub(crate) mod validate;
79 } #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
81 pub mod dav1d {
82 pub mod common;
83 pub mod data;
84 pub mod dav1d;
85 pub mod headers;
86 pub mod picture;
87 } } pub mod src {
90 pub(crate) mod align;
98 #[cfg(feature = "c-ffi")]
99 pub(crate) mod assume;
100 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
101 pub(crate) mod c_arc;
102 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
103 pub(crate) mod c_box;
104 pub(crate) mod cpu;
105 pub(crate) mod disjoint_mut;
106 mod ffi_safe;
107 mod in_range;
108 pub(super) mod internal;
109 mod intra_edge;
110 #[cfg_attr(not(feature = "c-ffi"), deny(unsafe_code))]
111 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
112 pub(crate) mod log;
113 pub(crate) mod pixels;
114 #[cfg(any(feature = "asm", feature = "c-ffi"))]
115 #[allow(unsafe_code)]
116 pub mod send_sync_non_null;
117 mod tables;
118
119 mod data;
121 #[cfg_attr(not(feature = "c-ffi"), deny(unsafe_code))]
122 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
123 mod picture;
124
125 mod cdef;
127 mod filmgrain;
128 mod ipred;
129 mod itx;
130 mod lf_mask;
131 mod loopfilter;
132 mod looprestoration;
133 mod mc;
134 mod pal;
135 mod recon;
136 #[cfg_attr(feature = "asm", allow(unsafe_code))]
137 mod refmvs;
138
139 #[cfg_attr(feature = "asm", allow(unsafe_code))]
141 mod msac;
142
143 #[cfg(not(feature = "asm"))]
145 pub(crate) mod safe_simd;
146
147 #[cfg_attr(not(feature = "c-ffi"), deny(unsafe_code))]
149 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
150 pub(crate) mod lib;
151
152 #[cfg(feature = "c-ffi")]
154 #[allow(unsafe_code)]
155 pub mod dav1d_api;
156
157 mod cdef_apply;
159 mod cdf;
160 mod const_fn;
161 mod ctx;
162 mod cursor;
163 mod decode;
164 mod dequant_tables;
165 pub(crate) mod enum_map;
166 mod env;
167 pub(crate) mod error;
168 mod extensions;
169 mod fg_apply;
170 mod getbits;
171 mod ipred_prepare;
172 mod iter;
173 mod itx_1d;
174 pub(crate) mod levels;
175 mod lf_apply;
176 mod lr_apply;
177 pub(crate) mod mem;
178 mod obu;
179 pub(crate) mod pic_or_buf;
180 mod qm;
181 pub(crate) mod relaxed_atomic;
182 mod scan;
183 pub(crate) mod strided;
184 mod thread_task;
185 mod warpmv;
186 mod wedge;
187 pub(crate) mod with_offset;
188 pub(crate) mod wrap_fn_ptr;
189
190 #[cfg(test)]
191 mod decode_test;
192
193 pub mod managed;
198} pub use src::managed::{
203 ColorInfo, ColorPrimaries, ColorRange, ContentLightLevel, CpuLevel, DecodeFrameType, Decoder,
204 Error, Frame, InloopFilters, MasteringDisplay, MatrixCoefficients, PixelLayout, PlaneView8,
205 PlaneView16, Planes, Planes8, Planes16, Result, Settings, TransferCharacteristics,
206 enabled_features,
207};