Skip to content

RDI-3295 - Add AC4 decoder configuration sample comparison#349

Open
rsanchez87 wants to merge 2 commits intomasterfrom
RDI-3295
Open

RDI-3295 - Add AC4 decoder configuration sample comparison#349
rsanchez87 wants to merge 2 commits intomasterfrom
RDI-3295

Conversation

@rsanchez87
Copy link
Copy Markdown
Contributor

@rsanchez87 rsanchez87 commented Apr 7, 2026

To bring changes from this PR (#321)

Map fluac4dec channel order&config to the reference decoder one.

image (1)

`$ GST_PLUGIN_PATH=/home/rsanchez/Downloads python3 ./fluster.py run -ts AC4_ELEMENTARY_STREAMS -d DolbyPADSReferenceDecoder Fluendo-AC4-SW -s


Running test suite AC4_ELEMENTARY_STREAMS with decoder DolbyPADSReferenceDecoder
Using 16 parallel job(s)


[TEST SUITE ] (DECODER ) TEST VECTOR ... RESULT

[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Audio_ID_2ch_64kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Audio_ID_2ch_64kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Audio_ID_514ch_192kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Audio_ID_6ch_128kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Audio_ID_6ch_128kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Audio_ID_514ch_192kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Holi_fr_6ch_128kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Holi_fr_6ch_128kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Holi_en_6ch_128kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (DolbyPADSReferenceDecoder) Holi_en_6ch_128kbps_2997fps_ac4.ac4 ... Success

Ran 10/10 tests successfully in 5.791 secs


Running test suite AC4_ELEMENTARY_STREAMS with decoder Fluendo-AC4-SW
Using 16 parallel job(s)


[TEST SUITE ] (DECODER ) TEST VECTOR ... RESULT

[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Audio_ID_2ch_64kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Audio_ID_6ch_128kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Audio_ID_2ch_64kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Audio_ID_6ch_128kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Audio_ID_514ch_192kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Audio_ID_514ch_192kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Holi_en_6ch_128kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Holi_fr_6ch_128kbps_25fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Holi_fr_6ch_128kbps_2997fps_ac4.ac4 ... Success
[AC4_ELEMENTARY_STREAMS] (Fluendo-AC4-SW) Holi_en_6ch_128kbps_2997fps_ac4.ac4 ... Success

Ran 10/10 tests successfully in 6.252 secs
Generating summary for test suite AC4_ELEMENTARY_STREAMS and decoders DolbyPADSReferenceDecoder, Fluendo-AC4-SW:

System Information

OS: Linux 6.17.0-20-generic

CPU: AMD Ryzen 7 7745HX with Radeon Graphics

GPU: 00.0 VGA compatible controller: NVIDIA Corporation AD107M, 00.0 VGA compatible controller: Advanced Micro Devices, Inc. [PRIMARY]

RAM: 30.5 GB

Backends:

  • VDPAU: G3DVL VDPAU Driver Shared Library version 1.0
  • NVDEC: Available (NVIDIA Driver 590.48.01)
Test DolbyPADSReferenceDecoder Fluendo-AC4-SW
TOTAL 10/10 10/10
TOTAL TIME 5.791s 6.252s
- - -
Audio_ID_2ch_64kbps_25fps_ac4.ac4 ✔️ ✔️
Audio_ID_2ch_64kbps_2997fps_ac4.ac4 ✔️ ✔️
Audio_ID_514ch_192kbps_25fps_ac4.ac4 ✔️ ✔️
Audio_ID_514ch_192kbps_2997fps_ac4.ac4 ✔️ ✔️
Audio_ID_6ch_128kbps_25fps_ac4.ac4 ✔️ ✔️
Audio_ID_6ch_128kbps_2997fps_ac4.ac4 ✔️ ✔️
Holi_en_6ch_128kbps_25fps_ac4.ac4 ✔️ ✔️
Holi_en_6ch_128kbps_2997fps_ac4.ac4 ✔️ ✔️
Holi_fr_6ch_128kbps_25fps_ac4.ac4 ✔️ ✔️
Holi_fr_6ch_128kbps_2997fps_ac4.ac4 ✔️ ✔️
- - -
Test DolbyPADSReferenceDecoder Fluendo-AC4-SW
TOTAL 10/10 10/10
TOTAL TIME 5.791s 6.252s

GLOBAL SUMMARY

TOTALS DolbyPADSReferenceDecoder Fluendo-AC4-SW
TOTAL 10/10 10/10
TOTAL TIME 5.791s 6.252s
- - -

@rsanchez87 rsanchez87 force-pushed the RDI-3295 branch 2 times, most recently from 11777f6 to eff3e0c Compare April 7, 2026 15:11
@rsanchez87 rsanchez87 changed the title Add AC4 decoder config sample comparison RDI-3295 - Add AC4 decoder config sample comparison Apr 7, 2026
@rsanchez87 rsanchez87 changed the title RDI-3295 - Add AC4 decoder config sample comparison RDI-3295 - Add AC4 decoder configuration sample comparison Apr 7, 2026
@rsanchez87 rsanchez87 force-pushed the RDI-3295 branch 3 times, most recently from 6143619 to c11ddb9 Compare April 9, 2026 08:15
@msabiniok
Copy link
Copy Markdown
Contributor

@rsanchez87 @rgonzalezfluendo aren't there another PR that implements additional changes on top of my PR #321 which waits for Andoni's review?

if self.codec == Codec.AV1 and self.api == "Vulkan":
command.extend(["-export_side_data", "film_grain"])

if optional_params:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note @ylatuya comment here.

The mapping from optional_params into a decoder property must be done in the decoder implementation, not in a generic way in the base class.

Copy link
Copy Markdown
Contributor Author

@rsanchez87 rsanchez87 Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you check again @rubenrua ?

7644658

@rsanchez87 rsanchez87 force-pushed the RDI-3295 branch 2 times, most recently from 7644658 to 9fc701a Compare April 10, 2026 09:03
- `TestVector`: new optional `decoder_config` dict field, serialised
  to/from JSON only when present (same pattern as `profile`).
- `Decoder.decode()`: extended abstract signature with optional
  `decoder_config` parameter (backward-compatible default: None).
- All `Decoder` subclasses updated to accept and forward the parameter.
- `GStreamer`: `FluendoFluAC4DecGst10Decoder` overrides `gen_pipeline`
  to consume `decoder_speaker_config` from `decoder_config`.
- `utils`: `compare_byte_wise_files` extended with WAV-aware comparison
  that filters silent reference channels and compensates for stream lag,
  used by the AC4 byte-wise conformance check.
- `AC4_ELEMENTARY_STREAMS`: test vectors updated with `decoder_config`
  carrying the required `decoder_speaker_config` per stream.
- New sample comparison method for AC4
- Remove IMS test vectors from AC4 test suite
- Decouple reference comparison tests from byte-wise dispatcher (utils)
- The mapping from optional_params into a decoder property must be done in the decoder implementation.
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.

3 participants