[FFmpeg-devel] [PATCH 2/2] avformat/riffdec: follow the MS docs more strictly for setting wav channel layouts
Tobias Rapp
t.rapp at noa-archive.com
Thu Mar 21 10:23:18 EET 2024
On 19/03/2024 20:14, Marton Balint wrote:
>
>
> On Tue, 19 Mar 2024, Michael Niedermayer wrote:
>
>> On Sun, Mar 17, 2024 at 08:57:29PM +0100, Marton Balint wrote:
>>> - Only parse the defined masks in dwChannelMask, unless
>>> strict_std_compliance
>>> is less than normal. This matches with the behaviour of the wav
>>> muxer.
>>> - Ignore additional bits in dwChannelMasks as the MS documentation
>>> suggests [1]
>>> - Assume UNKNOWN channels for missing bits as the MS documentation
>>> suggests [1]
>>>
>>> [1]
>>> https://learn.microsoft.com/en-us/previous-versions/windows/hardware/design/dn653308(v=vs.85)#details-about-dwchannelmask
>>>
>>> Signed-off-by: Marton Balint <cus at passwd.hu>
>>> ---
>>> libavformat/riffdec.c | 28 +++++++++++++++++++++++++---
>>> 1 file changed, 25 insertions(+), 3 deletions(-)
>>
>> breaks:
>> ./ffmpeg -i ~/tickets/2859/5.1plusdownmix.wav -ac 2 -t 100 -bitexact
>> -c:a aac -y /tmp/2859-frenchspeack-nolibfaac.mp4
>
> After the patch this is file will need -strict unofficial to work,
> since the downmix channels are not officially recognized in the
> dwChannelMask.
>
I think downmix channels are part of the RF64 specification, see EBU
Tech 3306 section 3.1:
"""
3.1 Enhancement for a PCM stereo down mix
No PCM stereo signal is included in the basic Wave Format Extensible.
To include a stereo channel the following is added:
#define SPEAKER_STEREO_LEFT 0x20000000
#define SPEAKER_STEREO_RIGHT 0x40000000
"""
Regards, Tobias
More information about the ffmpeg-devel
mailing list