Nevcairiel / LAVFilters

LAV Filters - Open-Source DirectShow Media Splitter and Decoders
GNU General Public License v2.0
7.34k stars 789 forks source link

Add limited support for AAC 22.2 #477

Closed kasper93 closed 2 years ago

kasper93 commented 2 years ago

This changes input decode mask to uint64_t so we can feed that to downmixing. Output is still DWORD as no output > 8 is allowed anyway. Mostly focused on AAC 22.2 files to let them play, even if only downmixed to "saner" output.

Nevcairiel commented 2 years ago

Can you link to such a sample for testing?

kasper93 commented 2 years ago

24ch.zip

ale5000-git commented 2 years ago

@kasper93 Apparently now it support up to 64 channel, is this PR still needed?

kasper93 commented 2 years ago

The sanity check is changed, but still channel mask, will be destroyed when truncating to DWORD.

Nevcairiel commented 2 years ago

Its been a bit slow going because I planned to get rid of the single-integer channel mask internally entirely, and swap to the new AVChannelLayout structure internally in LAV Audio as well. With ffmpeg in LAV finally being updated i'll hopefully manage to re-work this soon.

Nevcairiel commented 2 years ago

Should be implemented in 2461adb9fd63b1c389ceee8ea23e047a39d1eb3. Instead of forcing mixing to be enabled, LAV will now automatically offer a secondary downmixed media type, and use it when needed. This allows audio renderers to also receive the full undownmixed variant, if they support it.