Dolby E: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
mNo edit summary
Line 22: Line 22:
Each audio channel, metadata section and the metering section is CRCed using the AV_CRC_16_ANSI in libavutil.
Each audio channel, metadata section and the metering section is CRCed using the AV_CRC_16_ANSI in libavutil.


== Transforms ==
=== Transforms ===
Dolby E uses a slightly edited [[MDCT]]:
Dolby E uses a slightly edited [[MDCT]]:


[[Image:Dolby E Mdct.png]]
[[Image:Dolby E Mdct.png]]


== Quantisation ==
=== Quantisation ===
Dolby E uses gain adaptive quantisation. (TODO: describe further)
Dolby E uses gain adaptive quantisation. (TODO: describe further)


== Sample Rate Conversion ==
=== Sample Rate Conversion ===
The internal sample rate of Dolby E varies depending on the associated video frame-rate. This internal sample rate varies between 42.965kHz and 53.760kHz. This is sample rate converted to 48kHz after decoding.
The internal sample rate of Dolby E varies depending on the associated video frame-rate. This internal sample rate varies between 42.965kHz and 53.760kHz. This is sample rate converted to 48kHz after decoding.


== Decoder/Encoder ==
=== Decoder/Encoder ===
A free trial of a software Dolby E encoder and decoder that supports encoding of 16-bit and 20-bit modes and decoding of 16-bit, 20-bit and possibly 24-bit is available from http://www.neyrinck.com. However it requires Pace iLok to run, which features kernel level anti-debugging.
A free trial of a software Dolby E encoder and decoder that supports encoding of 16-bit and 20-bit modes and decoding of 16-bit, 20-bit and possibly 24-bit is available from http://www.neyrinck.com. However it requires Pace iLok to run, which features kernel level anti-debugging.



Revision as of 16:18, 3 April 2010

Dolby E is a codec from Dolby Laboratories that is used to transport up to 8 channels of audio across AES-3 cabling (AES-3 is the professional version of SPDIF). It is carried in a SMPTE-337M data burst. Dolby E also carries metadata such as downmixing information which is intended to be passed through to the final distribution encoder.

Decoding

Frame Structure

Frame structure.png

Dolby E is designed to match up with video frames to allow for easy cutting. Guard Bands are also present at the beginning and the end of the frame to reduce the risk of bad splicing causing problems.

There are 3 input bit depths of Dolby E: 16-bit, 20-bit and 24-bit. It is unknown whether 24-bit exists in the wild. 16-bit mode has a maximum of 6 channels, 20-bit mode has a maximum of 8 channels and 24-bit has an unknown number of channels.

Startcodes

Dolby E uses the following startcodes:

16-bit: 0x78e 20-bit: 0x788e 24-bit: 0x7888e

The LSB of the startcode signals the presence of a Bitstream Key. The Bitstream Key is mandatory in 16-bit mode. (TODO: find out what a bitstream key does)

CRC

Each audio channel, metadata section and the metering section is CRCed using the AV_CRC_16_ANSI in libavutil.

Transforms

Dolby E uses a slightly edited MDCT:

Dolby E Mdct.png

Quantisation

Dolby E uses gain adaptive quantisation. (TODO: describe further)

Sample Rate Conversion

The internal sample rate of Dolby E varies depending on the associated video frame-rate. This internal sample rate varies between 42.965kHz and 53.760kHz. This is sample rate converted to 48kHz after decoding.

Decoder/Encoder

A free trial of a software Dolby E encoder and decoder that supports encoding of 16-bit and 20-bit modes and decoding of 16-bit, 20-bit and possibly 24-bit is available from http://www.neyrinck.com. However it requires Pace iLok to run, which features kernel level anti-debugging.