[package]
edition = "2024"
name = "mousiki"
version = "0.2.1"
authors = ["nemurubaka <cijiugechu@gmail.com>"]
build = false
exclude = [
".claude",
".github",
".DS_Store",
"AGENTS.md",
"BENCHMARK_COMPARE.md",
"CLAUDE.md",
"Dockerfile.opus-fuzz",
"FIXED_POINT_ALIGN_PLAN.md",
"ctests",
"opus-c",
"opus-go",
"opus_decode_fuzzer",
"scripts",
"testdata",
"*.opuspkt",
"*.pcm",
"*.wav",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure Rust Opus codec."
homepage = "https://github.com/cijiugechu/mousiki"
readme = "README.md"
keywords = [
"audio",
"codec",
"decoder",
"opus",
]
categories = [
"multimedia",
"multimedia::audio",
"multimedia::encoding",
]
license = "MIT"
repository = "https://github.com/cijiugechu/mousiki"
[features]
custom_modes = []
deep_plc = ["dred"]
deep_plc_weights = [
"deep_plc",
"mousiki-deep-plc-weights",
]
deep_plc_weights_fetch = [
"deep_plc_weights",
"mousiki-deep-plc-weights/fetch",
]
default = []
dhat_alloc = ["dep:dhat"]
dred = ["mousiki-dred-weights"]
dred_fetch = [
"dred",
"mousiki-dred-weights/fetch",
]
enable_res24 = ["fixed_point"]
fixed_point = []
force-scalar = []
silk_debug = ["dep:spin"]
silk_strict_asserts = []
silk_tic_toc = ["dep:spin"]
[lib]
name = "mousiki"
path = "src/lib.rs"
[[bin]]
name = "codec_bench"
path = "src/bin/codec_bench.rs"
[[bin]]
name = "dred_vectors"
path = "src/bin/dred_vectors.rs"
[[example]]
name = "decode"
path = "examples/decode.rs"
[[example]]
name = "opus_packet_tool"
path = "examples/opus_packet_tool.rs"
[[example]]
name = "trivial_example"
path = "examples/trivial_example.rs"
[[test]]
name = "codec_api"
path = "tests/codec_api.rs"
[[test]]
name = "dred_vectors"
path = "tests/dred_vectors.rs"
[[test]]
name = "extensions"
path = "tests/extensions.rs"
[[test]]
name = "fuzz_decoder"
path = "tests/fuzz_decoder.rs"
[[test]]
name = "hybrid_decode"
path = "tests/hybrid_decode.rs"
[[test]]
name = "hybrid_encode"
path = "tests/hybrid_encode.rs"
[[test]]
name = "lpc_inv_pred_gain"
path = "tests/lpc_inv_pred_gain.rs"
[[test]]
name = "opus_encode_regressions"
path = "tests/opus_encode_regressions.rs"
[[test]]
name = "opus_encode_regressions_data"
path = "tests/opus_encode_regressions_data.rs"
[[test]]
name = "opus_padding"
path = "tests/opus_padding.rs"
[[test]]
name = "packet_helpers"
path = "tests/packet_helpers.rs"
[[test]]
name = "repacketizer"
path = "tests/repacketizer.rs"
[[test]]
name = "silk_schur"
path = "tests/silk_schur.rs"
[[test]]
name = "test_opus_decode"
path = "tests/test_opus_decode.rs"
[[test]]
name = "test_opus_encode"
path = "tests/test_opus_encode.rs"
[[test]]
name = "test_opus_projection"
path = "tests/test_opus_projection.rs"
[[test]]
name = "trivial_example"
path = "tests/trivial_example.rs"
[dependencies.bitflags]
version = "2"
[dependencies.cfg-if]
version = "1.0"
[dependencies.dhat]
version = "0.3"
optional = true
[dependencies.libm]
version = "0.2"
[dependencies.log]
version = "0.4"
default-features = false
[dependencies.mousiki-deep-plc-weights]
version = "0.1.0"
optional = true
[dependencies.mousiki-dred-weights]
version = "0.1.0"
optional = true
[dependencies.spin]
version = "0.9"
features = [
"mutex",
"spin_mutex",
]
optional = true
default-features = false
[dev-dependencies.sha2]
version = "0.10"
[lints.clippy]
comparison_chain = "warn"
default_trait_access = "warn"
excessive_precision = "allow"
explicit_deref_methods = "warn"
if_not_else = "warn"
index_refutable_slice = "warn"
manual_assert = "warn"
manual_let_else = "warn"
manual_midpoint = "warn"
needless_pass_by_value = "warn"
redundant_else = "warn"