summaryrefslogtreecommitdiffstats
path: root/mp3lib
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-28 00:25:38 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-28 00:25:38 +0000
commit14dbc88482c259e71548d52e964db895e40a5e7c (patch)
tree6c0bbba5f85c7cad41f670fdc78e379a61c48151 /mp3lib
parent0cf1424936ea52a9eee0ad97ebb3c63be7cebd6c (diff)
downloadmpv-14dbc88482c259e71548d52e964db895e40a5e7c.tar.bz2
mpv-14dbc88482c259e71548d52e964db895e40a5e7c.tar.xz
In mp3lib/sr1.c, look at the line 226:
if(fr->sampling_frequency>8) return FALSE; // valid: 0..8 which allows fr->sampling_frequency to go up to 8. Obviously, the code does not bother about what would happen if fr->sampling_frequency lies in the range [3,8]. patch from Nilmoni Deb, Nick?, Rich git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9131 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mp3lib')
-rw-r--r--mp3lib/layer2.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/mp3lib/layer2.c b/mp3lib/layer2.c
index 21722e5533..84383424a6 100644
--- a/mp3lib/layer2.c
+++ b/mp3lib/layer2.c
@@ -235,13 +235,28 @@ static void II_step_two(unsigned int *bit_alloc,real fraction[2][4][SBLIMIT],int
static void II_select_table(struct frame *fr)
{
- static int translate[3][2][16] =
- { { { 0,2,2,2,2,2,2,0,0,0,1,1,1,1,1,0 } ,
- { 0,2,2,0,0,0,1,1,1,1,1,1,1,1,1,0 } } ,
- { { 0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0 } ,
- { 0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0 } } ,
- { { 0,3,3,3,3,3,3,0,0,0,1,1,1,1,1,0 } ,
- { 0,3,3,0,0,0,1,1,1,1,1,1,1,1,1,0 } } };
+ static int translate[8][2][16] =
+ { { { 0,2,2,2,2,2,2,0,0,0,1,1,1,1,1,0 } , /*44.1 stereo*/
+ { 0,2,2,0,0,0,1,1,1,1,1,1,1,1,1,0 } } , /*44.1 mono*/
+ { { 0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0 } , /*48 stereo*/
+ { 0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0 } } , /*48 mono*/
+ { { 0,3,3,3,3,3,3,0,0,0,1,1,1,1,1,0 } , /*32 stereo*/
+ { 0,3,3,0,0,0,1,1,1,1,1,1,1,1,1,0 } } , /*32 mono*/
+ { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*22.05 stereo*/
+ { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*22.05 mono*/
+ { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*24 stereo*/
+ { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*24 mono*/
+ { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*16 stereo*/
+ { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*16 mono*/
+ { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*11.025 stereo*/
+ { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*11.025 mono*/
+ { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*12 stereo*/
+ { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } , /*12 mono*/
+ { { 2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0 } , /*8 stereo*/
+ { 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,0 } } /*8 mono*/
+/* 0 48 64 96 128 192 256 384 */
+/* 32 56 80 112 160 224 320 XX*/
+ };
int table,sblim;
static struct al_table *tables[5] =