Hacker News new | ask | show | jobs
by davidferguson 1537 days ago
TLDR: If you know about audio encoding and/or want to help reverse engineer this format, I'd be very interested in hearing from you!

----

Oh, a topic I know a bit about!

To add a few things onto the stuff mentioned in the article: - A lot of places mention Dolby Digital on film being AC3 encoded. This is sadly not true - ish. Dolby were developing AC3 for film and other applications, but the version that ended up going on film isn't quite AC3 - although I suspect it's very close. To quote someone at Dolby:

> The audio coding used is actually a pre-cursor of what became AC3, and in fact, two different versions of the codec were used during the lifetime of Dolby Digital on film. We referred internally to these as EC9 and EC11. I don’t remember the exact characteristics of these codecs but unfortunately they are not compatible with AC3

- The article mentions Reed-Solomon encoding being used - this is indeed the case, but more specifically a concatenated code meaning that two Reed-Soloman instances are applied one after the other. However because nothing is nice and simple here, some of the bits are only protected by one of the R-S layers and not both, but I'm not sure which at the moment.

- The article questions how the bytes are stored - this is actually mentioned in the patent. The bytes are arranged in 2x4 groups, ie 2 horizontal, 4 vertical, and therefore each block is 38 bytes wide, and 19 bytes high. Interestingly the picture in the article is rotated - you can tell by the Dolby logo being the wrong way round.

- Something not mentioned in the article or the patent - before the Reed-Solomon decoding is applied, all the bits are XORed against a constant in order to break up large black or white areas which would be hard to detect. Because the same value is used during encoding as decoding, the original data is recovered. Sadly, I don't know what this constant value is.

I would love there to be a open source decoder for the Dolby Digital on film, but at the moment I'm at the limit of my knowledge on AC3 and audio signal processing. If anyone knows more, or wants to help, I'd be delighted! You can reach me on email `fergusondavid6@gmail.com` or discord `davidferguson#2018`