[FFmpeg-devel] [PATCH] Dolby Digital dynamic range compression (drc_scale) is now 0 by default

Wiebe Cazemier wiebe at halfgaar.net
Mon Mar 30 09:38:49 CEST 2015

----- Original Message -----
> From: "Kieran Kunhya" <kierank at obe.tv>
> To: "Wiebe Cazemier" <wiebe at halfgaar.net>
> Sent: Monday, 30 March, 2015 3:43:42 AM
> Subject: Re: [FFmpeg-devel] [PATCH] Dolby Digital dynamic range compression (drc_scale) is now 0 by default
> > It's in the spec as an *option*, to cater to those who have bad sound
> > systems. If ffmpeg already applies DRC, and software using ffmpeg doesn't
> > set 'drc_scale', it's no longer an option, it becomes mandatory. That's
> > the issue.
> It is not an option and I quote ETSI 102 366:
> "Therefore, the AC-3 decoder shall, by default, implement the
> compression characteristic indicated by the dynrng values in the data
> stream. AC-3 decoders may optionally allow listener control over the
> use of the dynrng values, so that the listener may select full or
> partial dynamic range reproduction."
> If an application doesn't want to expose drc settings then that's
> their problem. FFmpeg does the right thing and lets you turn it off if
> you wish.
> Kieran

(can you reply-all, so that your reply goes to the list?)

If you say "it's not an option", that's putting it harder than the spec say. Dolby engineers never meant AC3 audio to be played compressed everywhere, and that's what we're seeing happening. 

Also, I feel that the word 'decoder' in your quote is written in a time where it had a different context and that quote has to be interpreted that way. Open source software libraries weren't available at that point, and a decoder was a piece of hardware, or a chip embedded in something. Sure, you don't have to allow the user to control it when you embed an AC3 decoder in your budget TV so ATSC demanding that you do would be silly here, but all high end receivers I know, do allow you to set the option. Now that we do have a library that people can use, an honest mistake to forget to implement it turns into something that they probably didn't intend. As proven by the Kodi developer denying that they applied DRC.

I think we have to consider user experience, and it's great when they can control it, but we're getting the situation where everybody gets it (yet only for AC3), whether they want to or not. That automatically crosses off Kodi and VLC (for example) for use in high quality sound reproduction. And the bad thing is, they may not even know it...

More information about the ffmpeg-devel mailing list