rusty_h264-decoder 0.17.0

Pure-Rust H.264 decoder (Baseline + B-slices + most of High profile, CAVLC + CABAC) — bit-exact vs Cisco openh264, pixel-exact vs ffmpeg, fuzzed panic-free. forbid(unsafe) core; portable Rust SIMD on by default. BSD-2.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.85"
name = "rusty_h264-decoder"
version = "0.17.0"
authors = ["Mata Network"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure-Rust H.264 decoder (Baseline + B-slices + most of High profile, CAVLC + CABAC) — bit-exact vs Cisco openh264, pixel-exact vs ffmpeg, fuzzed panic-free. forbid(unsafe) core; portable Rust SIMD on by default. BSD-2."
homepage = "https://www.mata.network/"
documentation = "https://docs.rs/rusty_h264-decoder"
readme = "README.md"
keywords = [
    "h264",
    "avc",
    "video",
    "codec",
    "decoder",
]
categories = [
    "multimedia::video",
    "multimedia::encoding",
]
license = "BSD-2-Clause"
repository = "https://github.com/remade-with-rust/rusty_h264"

[features]
asm = ["rusty_h264-common/asm"]
cabac-trace = []
census = ["rusty_h264-common/census"]
default = [
    "std",
    "global-alloc",
    "asm",
]
global-alloc = ["rusty_h264-common/global-alloc"]
knobs = ["rusty_h264-common/knobs"]
libm = ["rusty_h264-common/libm"]
profile = [
    "std",
    "rusty_h264-common/profile",
    "knobs",
]
std = ["rusty_h264-common/std"]

[lib]
name = "rusty_h264_decoder"
path = "src/lib.rs"

[[example]]
name = "corpus"
path = "examples/corpus.rs"
required-features = ["std"]

[[example]]
name = "decode_bench"
path = "examples/decode_bench.rs"
required-features = ["std"]

[[example]]
name = "decode_prof"
path = "examples/decode_prof.rs"
required-features = ["std"]

[[example]]
name = "fmt_census"
path = "examples/fmt_census.rs"
required-features = ["std"]

[[example]]
name = "oracle"
path = "examples/oracle.rs"
required-features = ["std"]

[[example]]
name = "sim_oppy"
path = "examples/sim_oppy.rs"
required-features = [
    "asm",
    "std",
]

[[example]]
name = "sim_sxs"
path = "examples/sim_sxs.rs"
required-features = [
    "asm",
    "std",
]

[[test]]
name = "fake_interlaced"
path = "tests/fake_interlaced.rs"

[[test]]
name = "fuzz_no_panic"
path = "tests/fuzz_no_panic.rs"

[[test]]
name = "ipcm_cabac"
path = "tests/ipcm_cabac.rs"

[[test]]
name = "mslice_idc2"
path = "tests/mslice_idc2.rs"

[[test]]
name = "nodeblock_skip_tail"
path = "tests/nodeblock_skip_tail.rs"

[[test]]
name = "profile_decode"
path = "tests/profile_decode.rs"

[dependencies.rusty_h264-common]
version = "0.17.0"
default-features = false

[dev-dependencies.minifb]
version = "0.28"

[dev-dependencies.rusty_h264-encoder]
version = "0.17.0"
features = ["std"]
default-features = false

[lints.clippy]
borrow_interior_mutable_const = "allow"
box_collection = "allow"
declare_interior_mutable_const = "allow"
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
drop_non_drop = "allow"
empty_line_after_doc_comments = "allow"
empty_line_after_outer_attr = "allow"
expect_used = "deny"
field_reassign_with_default = "allow"
manual_div_ceil = "allow"
manual_is_multiple_of = "allow"
missing_transmute_annotations = "allow"
multiple_unsafe_ops_per_block = "allow"
needless_range_loop = "allow"
panic = "deny"
too_many_arguments = "allow"
type_complexity = "allow"
undocumented_unsafe_blocks = "warn"
unwrap_used = "deny"
vec_box = "allow"

[lints.rust]
unsafe_code = "forbid"
unsafe_op_in_unsafe_fn = "deny"
unused_must_use = "deny"