1#![allow(non_upper_case_globals)]
27#![cfg_attr(target_arch = "arm", feature(stdarch_arm_feature_detection))]
28#![cfg_attr(
29 any(target_arch = "riscv32", target_arch = "riscv64"),
30 feature(stdarch_riscv_feature_detection)
31)]
32#![cfg_attr(
37 not(any(feature = "asm", feature = "c-ffi", feature = "unchecked")),
38 forbid(unsafe_code)
39)]
40#![cfg_attr(any(feature = "asm", feature = "c-ffi"), deny(unsafe_op_in_unsafe_fn))]
41#![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(
84 any(feature = "asm", feature = "c-ffi"),
85 deny(clippy::undocumented_unsafe_blocks)
86)]
87#![cfg_attr(
88 any(feature = "asm", feature = "c-ffi"),
89 deny(clippy::missing_safety_doc)
90)]
91
92#[cfg(not(any(feature = "bitdepth_8", feature = "bitdepth_16")))]
93compile_error!(
94 "No bitdepths enabled. Enable one or more of the following features: `bitdepth_8`, `bitdepth_16`"
95);
96
97pub mod include {
98 pub mod common {
99 pub(crate) mod attributes;
100 pub(crate) mod bitdepth;
101 pub(crate) mod dump;
102 pub(crate) mod intops;
103 pub(crate) mod validate;
104 } #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
106 pub mod dav1d {
107 pub mod common;
108 pub mod data;
109 pub mod dav1d;
110 pub mod headers;
111 pub mod picture;
112 } } pub mod src {
115 pub mod ablate;
125
126 pub(crate) mod align;
128 #[cfg(feature = "c-ffi")]
129 pub(crate) mod assume;
130 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
131 pub(crate) mod c_arc;
132 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
133 pub(crate) mod c_box;
134 #[cfg(feature = "__probe_x86tier")]
139 pub mod cpu;
140 #[cfg(not(feature = "__probe_x86tier"))]
141 pub(crate) mod cpu;
142 pub(crate) mod disjoint_mut;
143 mod ffi_safe;
144 mod in_range;
145 pub(super) mod internal;
146 mod intra_edge;
147 #[cfg_attr(not(feature = "c-ffi"), deny(unsafe_code))]
148 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
149 pub(crate) mod log;
150 pub(crate) mod pixels;
151 #[cfg(any(feature = "asm", feature = "c-ffi"))]
152 #[allow(unsafe_code)]
153 pub mod send_sync_non_null;
154 mod tables;
155
156 mod data;
158 #[cfg_attr(not(feature = "c-ffi"), deny(unsafe_code))]
159 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
160 mod picture;
161 #[cfg(feature = "__pad_far")]
163 pub(crate) mod text_pad;
164
165 mod cdef;
167 mod filmgrain;
168 mod ipred;
169 mod itx;
170 mod lf_mask;
171 mod loopfilter;
172 mod looprestoration;
173 mod mc;
174 mod pal;
175 mod recon;
176 #[cfg_attr(feature = "asm", allow(unsafe_code))]
177 mod refmvs;
178
179 #[cfg_attr(feature = "asm", allow(unsafe_code))]
181 mod msac;
182
183 #[cfg(not(feature = "asm"))]
185 pub(crate) mod safe_simd;
186
187 #[cfg_attr(not(feature = "c-ffi"), deny(unsafe_code))]
189 #[cfg_attr(feature = "c-ffi", allow(unsafe_code))]
190 pub(crate) mod lib;
191
192 #[cfg(feature = "c-ffi")]
194 #[allow(unsafe_code)]
195 pub mod dav1d_api;
196
197 #[cfg(all(feature = "asm", any(target_arch = "arm", target_arch = "aarch64")))]
199 mod arm_asm_offsets;
200 mod cdef_apply;
201 mod cdf;
202 mod const_fn;
203 mod ctx;
204 mod cursor;
205 mod decode;
206 mod dequant_tables;
207 pub(crate) mod enum_map;
208 mod env;
209 pub(crate) mod error;
210 mod extensions;
211 mod fg_apply;
212 mod getbits;
213 mod ipred_prepare;
214 mod iter;
215 mod itx_1d;
216 pub(crate) mod levels;
217 mod lf_apply;
218 mod lr_apply;
219 pub(crate) mod mem;
220 mod obu;
221 pub(crate) mod owned_recon;
222 pub(crate) mod pic_or_buf;
223 #[cfg(feature = "__probe_tasktime")]
225 pub mod probe_tasktime;
226 mod qm;
227 pub(crate) mod relaxed_atomic;
228 mod scan;
229 pub(crate) mod strided;
230 #[cfg(feature = "__test_induce_worker_panic")]
233 pub mod thread_task;
234 #[cfg(not(feature = "__test_induce_worker_panic"))]
235 mod thread_task;
236 mod warpmv;
237 mod wedge;
238 pub(crate) mod with_offset;
239 pub(crate) mod wrap_fn_ptr;
240
241 #[cfg(test)]
242 mod decode_test;
243
244 pub mod managed;
249} pub use src::managed::{
254 ColorInfo, ColorPrimaries, ColorRange, ContentLightLevel, CpuLevel, DecodeFrameType, Decoder,
255 Error, Frame, InloopFilters, MasteringDisplay, MatrixCoefficients, PixelLayout, PlaneView8,
256 PlaneView16, Planes, Planes8, Planes16, Result, Settings, Strictness, TransferCharacteristics,
257 enabled_features,
258};