mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
fixed one overflow problem
Originally committed as revision 553 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
754ebe3465
commit
747a67fbab
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* MPEG Audio decoder
|
* MPEG Audio decoder
|
||||||
* Copyright (c) 2001 Gerard Lantau.
|
* Copyright (c) 2001, 2002 Gerard Lantau.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -127,7 +127,7 @@ static VLC huff_quad_vlc[2];
|
|||||||
static UINT16 band_index_long[9][23];
|
static UINT16 band_index_long[9][23];
|
||||||
/* XXX: free when all decoders are closed */
|
/* XXX: free when all decoders are closed */
|
||||||
#define TABLE_4_3_SIZE (8191 + 16)
|
#define TABLE_4_3_SIZE (8191 + 16)
|
||||||
static UINT8 *table_4_3_exp;
|
static INT8 *table_4_3_exp;
|
||||||
#if FRAC_BITS <= 15
|
#if FRAC_BITS <= 15
|
||||||
static UINT16 *table_4_3_value;
|
static UINT16 *table_4_3_value;
|
||||||
#else
|
#else
|
||||||
@ -1955,7 +1955,7 @@ static void compute_imdct(MPADecodeContext *s,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#if defined(DEBUG)
|
||||||
void sample_dump(int fnum, INT32 *tab, int n)
|
void sample_dump(int fnum, INT32 *tab, int n)
|
||||||
{
|
{
|
||||||
static FILE *files[16], *f;
|
static FILE *files[16], *f;
|
||||||
@ -2168,7 +2168,7 @@ static int mp_decode_layer3(MPADecodeContext *s)
|
|||||||
}
|
}
|
||||||
g->scale_factors[j++] = 0;
|
g->scale_factors[j++] = 0;
|
||||||
}
|
}
|
||||||
#ifdef DEBUG
|
#if defined(DEBUG)
|
||||||
{
|
{
|
||||||
printf("scfsi=%x gr=%d ch=%d scale_factors:\n",
|
printf("scfsi=%x gr=%d ch=%d scale_factors:\n",
|
||||||
g->scfsi, gr, ch);
|
g->scfsi, gr, ch);
|
||||||
@ -2225,7 +2225,7 @@ static int mp_decode_layer3(MPADecodeContext *s)
|
|||||||
/* XXX: should compute exact size */
|
/* XXX: should compute exact size */
|
||||||
for(;j<40;j++)
|
for(;j<40;j++)
|
||||||
g->scale_factors[j] = 0;
|
g->scale_factors[j] = 0;
|
||||||
#ifdef DEBUG
|
#if defined(DEBUG)
|
||||||
{
|
{
|
||||||
printf("gr=%d ch=%d scale_factors:\n",
|
printf("gr=%d ch=%d scale_factors:\n",
|
||||||
gr, ch);
|
gr, ch);
|
||||||
@ -2242,8 +2242,8 @@ static int mp_decode_layer3(MPADecodeContext *s)
|
|||||||
if (huffman_decode(s, g, exponents,
|
if (huffman_decode(s, g, exponents,
|
||||||
bits_pos + g->part2_3_length) < 0)
|
bits_pos + g->part2_3_length) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
#if defined(DEBUG) && 0
|
#if defined(DEBUG)
|
||||||
sample_dump(3, g->sb_hybrid, 576);
|
sample_dump(0, g->sb_hybrid, 576);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* skip extension bits */
|
/* skip extension bits */
|
||||||
@ -2267,7 +2267,7 @@ static int mp_decode_layer3(MPADecodeContext *s)
|
|||||||
g = &granules[ch][gr];
|
g = &granules[ch][gr];
|
||||||
|
|
||||||
reorder_block(s, g);
|
reorder_block(s, g);
|
||||||
#ifdef DEBUG
|
#if defined(DEBUG)
|
||||||
sample_dump(0, g->sb_hybrid, 576);
|
sample_dump(0, g->sb_hybrid, 576);
|
||||||
#endif
|
#endif
|
||||||
compute_antialias(s, g);
|
compute_antialias(s, g);
|
||||||
|
Loading…
Reference in New Issue
Block a user