mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-12 08:52:32 +00:00
* craft-video: HEVC decoder from FilmCraft (`hevc-decode` feature) FilmCraft's crates/hevc at 4c0d2ad7 becomes craft_video::hevc::decode. The encoder moves to hevc/encode and is still exported from craft_video::hevc. Feature hevc now turns on hevc-decode and hevc-encode, so either half can be built without the other. craft_video::budget (the picture memory budget from DeckCraft's bitstream crate) is added for the next commit. craft-video is built at opt-level 3 in the dev profile, as FilmCraft built its codecs. * craft-video: HEVC decoder hardening from DeckCraft's copy - The picture store (DPB, current picture, pictures in flight) is checked against a memory budget before a picture is allocated; Decoder::set_memory_budget. - configure_hvcc checks every array before handling any NAL: only VPS, SPS, PPS and SEI arrays, each NAL header agreeing with its array type. A picture slice in the record starts no picture. - init_qp_minus26, slice_qp_delta and delta_chroma_log2_weight_denom are range checked before the additions that overflowed on Exp-Golomb values near the i32 limits. - A picture job sets up its picture state inside the panic guard.
6 lines
73 B
Rust
6 lines
73 B
Rust
mod common;
|
|
mod conformance;
|
|
mod fuzz_hostile;
|
|
mod perf;
|
|
mod robustness;
|