Justin Ruggles <[email protected]> added the comment: Some quotes from the AC-3 spec:
"The dialnorm value is not directly used by the AC-3 decoder." "In order for the dialogue normalization system to work, the dialnorm value must be communicated from the AC-3 decoder to the system gain controller so that dialnorm can interact with the listener adjusted volume control." "Adjustment of the system volume control is not an AC-3 function. The AC-3 bit stream simply conveys useful information which allows the system volume control to be implemented in a way which automatically removes undesirable level variations between program sources." So I think a better solution here would be to add a new field to AVCodecContext to allow the decoder to export the source dialogue level to the user. According to the AC-3 spec, it is "an indication of the subjective loudness of normal spoken dialogue compared to digital 100 percent." I think it should be exported as a float, either as 0.0 to 1.0 scale value or a dB value (which would always be negative). A more general issue is that AC-3 has quite a bit of codec-level metadata (and E-AC-3 even more), some of which is meant to be used outside of the decoder. FFmpeg does not have a generic system to allow exporting of such codec-level metadata. ---------- substatus: needs_more_info -> needs_changes _____________________________________________________ FFmpeg issue tracker <[email protected]> <https://roundup.ffmpeg.org/roundup/ffmpeg/issue1153> _____________________________________________________
