mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-30 21:16:52 -06:00
The gains of an AAC source now come from the configuration FilmCraft decodes it with, read from MP4/MOV (esds), Matroska (CodecPrivate) and LATM in MPEG TS/PS (its first StreamMuxConfig). Channel configurations 3 to 6, 11 and 12 arrive reordered to WAVE order, 4 as L R C Cs, 7 in element order. A program config element goes by its element positions, except the six structures in which ffmpeg's encoder fills its own channel order across them (an LFE in a side SCE, a back centre in a side pair), recognised by its "Lavc" comment. ADTS can only signal configurations 1 to 7 that FilmCraft decodes, which the channel count tells apart. A decode of fewer channels than the layout keeps its first ones (7 of configuration 7's 8 in MPEG-TS LATM).
38 lines
1.3 KiB
TOML
38 lines
1.3 KiB
TOML
[package]
|
|
name = "effectcraft-media"
|
|
description = "Footage import: probing, stills, image sequences, video and audio via FilmCraft's pure-Rust codecs, memory-budgeted frame cache"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
craft-docpath = { workspace = true }
|
|
effectcraft-time = { workspace = true }
|
|
effectcraft-project = { workspace = true }
|
|
effectcraft-raster = { workspace = true }
|
|
effectcraft-render = { workspace = true }
|
|
effectcraft-psd = { workspace = true }
|
|
effectcraft-svg = { workspace = true }
|
|
effectcraft-pdf = { workspace = true }
|
|
effectcraft-model = { workspace = true }
|
|
filmcraft-codecs = { workspace = true }
|
|
filmcraft-media = { workspace = true }
|
|
filmcraft-aac = { workspace = true }
|
|
filmcraft-isobmff = { workspace = true }
|
|
filmcraft-matroska = { workspace = true }
|
|
filmcraft-mpegts = { workspace = true }
|
|
filmcraft-frame = { workspace = true }
|
|
filmcraft-color = { workspace = true }
|
|
filmcraft-time = { workspace = true }
|
|
exr = { workspace = true }
|
|
gif = { workspace = true }
|
|
image = { workspace = true, features = ["gif", "webp", "tiff", "bmp", "exr", "tga", "hdr"] }
|
|
rayon = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
log = { workspace = true }
|