View Single Post
Old 19th August 2009, 22:56   #9205  |  Link
jruggle
Registered User
 
Join Date: Jul 2006
Posts: 276
Quote:
Originally Posted by Fiffy View Post
Maybe I'm missing something (haven't looked into the spec in a long time), but as far as I know, an AC3 decoder only uses random noise if dithflag is set in the stream. Apart from that the decoder is deterministic (of course an implementation may still use dithering to reduce the word length for output). I'm sure Dolby takes this into account in the certification process.
Yes, and the dithflag is typically set to true for nearly every block. That is the recommendation for encoders, except for blocks where the short block MDCT is used for transients or in other rare cases.

(E-)AC-3 decoding is not deterministic. Selected parts of it are, but certainly not the format as a whole. The specification hints that 24-bit fixed point would be a typical implementation for AC-3, but it is not explicitly required or even suggested. There are 16-bit fixed point tables, and even some hints at 6-bit fixed point for downmixing. For E-AC-3, some floating point tables and calculations are shown, but again it is not stated what the implementation must be. I'm sure Dolby does have some some certification tests and requirements, but those are not publicly available.
jruggle is offline