Skip to content

Support for IAMF boxes and dumping headers#480

Merged
tobbee merged 7 commits into
Eyevinn:masterfrom
Luiz-Monad:master
May 11, 2026
Merged

Support for IAMF boxes and dumping headers#480
tobbee merged 7 commits into
Eyevinn:masterfrom
Luiz-Monad:master

Conversation

@Luiz-Monad
Copy link
Copy Markdown
Contributor

I used the Opus as reference to implement IAMF.

. implemented the missing IACB and IAMF boxes
. implemented the parser for the IAMF headers based on FFMPEG
. implemented the dumper for IAMF structures so we can debug
. test with a real file from the AOMedia foundation samples

@tobbee
Copy link
Copy Markdown
Collaborator

tobbee commented Feb 18, 2026

@Luiz-Monad The change in test coverage parameters and a rebase did not help.
There is way too low to be possible to merge into this repo.

Analysis:

The iamf package (parser and types) is the biggest coverage gap in this PR.
The mp4/iacb_test.go and mp4/iamf_test.go files test the box-level
integration but the IAMF header parsing logic itself has zero coverage.

Luiz-Monad and others added 5 commits May 10, 2026 23:47
- Lowercase error strings for ST1005 (staticcheck)
- Wrap long paramParse signature for lll (140-char limit)
- Fix infinite recursion in ObuReader.Context
- Add TableIndex to expanded() so descriptions resolve correctly
- Drop unused ctx parameter from scalableChannelLayoutConfig
- Fix AacDecoderConfig: SampleRate was set on error path; now set on success
- Remove unused GetCodecString stub
- Add iamf_test.go covering Leb128, Rational, signExtend, codec configs,
  ObuReader, channel layout descriptions, and enum String() methods
tobbee added 2 commits May 11, 2026 09:10
… header

Adds direct tests for codecConfigObu (PCM/FLAC/AAC/unknown/duplicate-ID/
zero-samples), audioElementObu (ambisonics mono and projection,
duplicate ID, missing codec config), parseObuSR trimming/extension
branches, all SoundSystem enum variants and all PCM bit/format
combinations.
Adds direct tests for paramParse: demixing subblocks (verifies DefaultW
extraction), recon gain, variable subblock durations, and parameter
reuse by existing parameterID. Also tests audioElementObu rejection
of unknown audio element types.
@tobbee tobbee merged commit 455eb4b into Eyevinn:master May 11, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants