Windows Media Audio Pro: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(→‎Channel configuration: Don't spread lies.)
 
(10 intermediate revisions by 2 users not shown)
Line 2: Line 2:
* Company: [[Microsoft]]
* Company: [[Microsoft]]
* Samples: http://samples.mplayerhq.hu/A-codecs/WMA9/
* Samples: http://samples.mplayerhq.hu/A-codecs/WMA9/
 
* Wikipedia info: http://en.wikipedia.org/wiki/Windows_Media_Audio#Windows_Media_Audio_Professional
The next generation of Windows Media audio codecs.
The next generation of Windows Media audio codecs.


Line 8: Line 8:
This is a rough guess of the extra data from the asf container (little endian order).
This is a rough guess of the extra data from the asf container (little endian order).


  byte 1     Size of extradata
  byte 1-2    Bits per sample (wBitsPerSample) (http://msdn2.microsoft.com/en-us/library/ms791274.aspx)
  byte 3-4   Channel mask (http://msdn2.microsoft.com/en-us/library/ms790436.aspx)
  byte 3-6   Channel mask (dwChannelMask) (http://msdn2.microsoft.com/en-us/library/ms790436.aspx)
  byte 5-13   Unknown
  byte 7-14   Not used
  byte 14-15 Mask used for calculating samples per frame
  byte 15-16 Decoding flags, bitfield used for calculating samples per frame amongst others (int16_t)
  byte 16-18  Unknown
  byte 17-18  Probably some flags for low bitrate files.
 
Example extradata dump of a 5.1 file:
 
[[18] [0]] [[3f] [0] [0] [0]] [0] [0] [0] [0] [0] [0] [0] [0] [[e0] [0]] [0] [0]
 
Example extradata dump of a stereo file:
 
[[18] [0]] [[3] [0] [0] [0]] [0] [0] [0] [0] [0] [0] [0] [0] [[e0] [0]] [0] [0]
 
Example extradata dump of a low bitrate stereo file:
 
[[10] [0]] [[3] [0] [0] [0]] [0] [0] [0] [0] [0] [0] [0] [0] [[e0] [0]] [[42] [c0]]
 
== Channel configuration ==
 
Wma pro uses the dwChannelMask for channel configuration.
 
SPEAKER_FRONT_LEFT            0x00001
SPEAKER_FRONT_RIGHT            0x00002
SPEAKER_FRONT_CENTER          0x00004
SPEAKER_LOW_FREQUENCY          0x00008
SPEAKER_BACK_LEFT              0x00010
SPEAKER_BACK_RIGHT            0x00020
SPEAKER_FRONT_LEFT_OF_CENTER  0x00040
SPEAKER_FRONT_RIGHT_OF_CENTER  0x00080
SPEAKER_BACK_CENTER            0x00100
SPEAKER_SIDE_LEFT              0x00200
SPEAKER_SIDE_RIGHT            0x00400
SPEAKER_TOP_CENTER            0x00800
SPEAKER_TOP_FRONT_LEFT        0x01000
SPEAKER_TOP_FRONT_CENTER      0x02000
SPEAKER_TOP_FRONT_RIGHT        0x04000
SPEAKER_TOP_BACK_LEFT          0x08000
SPEAKER_TOP_BACK_CENTER        0x10000
SPEAKER_TOP_BACK_RIGHT        0x20000
 


[[Category:Audio Codecs]]
[[Category:Audio Codecs]]
[[Category:Undiscovered Audio Codecs]]
[[Category: Multichannel Audio Codecs]]

Latest revision as of 13:49, 24 September 2009

The next generation of Windows Media audio codecs.

Extra data layout

This is a rough guess of the extra data from the asf container (little endian order).

byte 1-2    Bits per sample (wBitsPerSample) (http://msdn2.microsoft.com/en-us/library/ms791274.aspx)
byte 3-6    Channel mask (dwChannelMask) (http://msdn2.microsoft.com/en-us/library/ms790436.aspx)
byte 7-14   Not used
byte 15-16  Decoding flags, bitfield used for calculating samples per frame amongst others (int16_t)
byte 17-18  Probably some flags for low bitrate files.

Example extradata dump of a 5.1 file:

[[18] [0]] [[3f] [0] [0] [0]] [0] [0] [0] [0] [0] [0] [0] [0] [[e0] [0]] [0] [0]

Example extradata dump of a stereo file:

[[18] [0]] [[3] [0] [0] [0]] [0] [0] [0] [0] [0] [0] [0] [0] [[e0] [0]] [0] [0]

Example extradata dump of a low bitrate stereo file:

[[10] [0]] [[3] [0] [0] [0]] [0] [0] [0] [0] [0] [0] [0] [0] [[e0] [0]] [[42] [c0]]

Channel configuration

Wma pro uses the dwChannelMask for channel configuration.

SPEAKER_FRONT_LEFT             0x00001
SPEAKER_FRONT_RIGHT            0x00002
SPEAKER_FRONT_CENTER           0x00004
SPEAKER_LOW_FREQUENCY          0x00008
SPEAKER_BACK_LEFT              0x00010
SPEAKER_BACK_RIGHT             0x00020
SPEAKER_FRONT_LEFT_OF_CENTER   0x00040
SPEAKER_FRONT_RIGHT_OF_CENTER  0x00080
SPEAKER_BACK_CENTER            0x00100
SPEAKER_SIDE_LEFT              0x00200
SPEAKER_SIDE_RIGHT             0x00400
SPEAKER_TOP_CENTER             0x00800
SPEAKER_TOP_FRONT_LEFT         0x01000
SPEAKER_TOP_FRONT_CENTER       0x02000
SPEAKER_TOP_FRONT_RIGHT        0x04000
SPEAKER_TOP_BACK_LEFT          0x08000
SPEAKER_TOP_BACK_CENTER        0x10000
SPEAKER_TOP_BACK_RIGHT         0x20000