Mercurial > libavcodec.hg
comparison vorbis_data.c @ 11051:5d4991dd23de libavcodec
Add support for vorbis 6.1 and 7.1 channel configurations as per the new spec
http://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-800004.3.9
author | superdump |
---|---|
date | Fri, 29 Jan 2010 13:51:25 +0000 |
parents | 34a65026fa06 |
children | 98970e51365a |
comparison
equal
deleted
inserted
replaced
11050:170c9ce34d14 | 11051:5d4991dd23de |
---|---|
19 */ | 19 */ |
20 | 20 |
21 #include "dsputil.h" | 21 #include "dsputil.h" |
22 #include "vorbis.h" | 22 #include "vorbis.h" |
23 | 23 |
24 const uint8_t ff_vorbis_channel_layout_offsets[6][6] = { | 24 const uint8_t ff_vorbis_channel_layout_offsets[8][8] = { |
25 { 0, }, | 25 { 0, }, |
26 { 0, 1, }, | 26 { 0, 1, }, |
27 { 0, 2, 1, }, | 27 { 0, 2, 1, }, |
28 { 0, 1, 2, 3, }, | 28 { 0, 1, 2, 3, }, |
29 { 0, 2, 1, 3, 4, }, | 29 { 0, 2, 1, 3, 4, }, |
30 { 0, 2, 1, 5, 3, 4, } | 30 { 0, 2, 1, 5, 3, 4, }, |
31 { 0, 2, 1, 6, 5, 3, 4, }, | |
32 { 0, 2, 1, 7, 5, 6, 3, 4}, | |
31 }; | 33 }; |
32 | 34 |
33 const int64_t ff_vorbis_channel_layouts[7] = { | 35 const int64_t ff_vorbis_channel_layouts[9] = { |
34 CH_LAYOUT_MONO, | 36 CH_LAYOUT_MONO, |
35 CH_LAYOUT_STEREO, | 37 CH_LAYOUT_STEREO, |
36 CH_LAYOUT_SURROUND, | 38 CH_LAYOUT_SURROUND, |
37 CH_LAYOUT_QUAD, | 39 CH_LAYOUT_QUAD, |
38 CH_LAYOUT_5POINT0_BACK, | 40 CH_LAYOUT_5POINT0_BACK, |
39 CH_LAYOUT_5POINT1_BACK, | 41 CH_LAYOUT_5POINT1_BACK, |
42 CH_LAYOUT_5POINT1|CH_BACK_CENTER, | |
43 CH_LAYOUT_7POINT1, | |
40 0 | 44 0 |
41 }; | 45 }; |
42 | 46 |
43 DECLARE_ALIGNED_16(static const float, vwin64)[32] = { | 47 DECLARE_ALIGNED_16(static const float, vwin64)[32] = { |
44 0.0009460463F, 0.0085006468F, 0.0235352254F, 0.0458950567F, | 48 0.0009460463F, 0.0085006468F, 0.0235352254F, 0.0458950567F, |