uniformization (now it uses the same trace functions as h264, defined in common.h)
Originally committed as revision 2010 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
2ca71015ef
commit
f2899fb1ff
@ -25,9 +25,6 @@
|
||||
#include "avcodec.h"
|
||||
#include "dsputil.h"
|
||||
|
||||
//#define DEBUG_PARAMS
|
||||
//#define DEBUG_TRACE
|
||||
|
||||
/* size of blocks */
|
||||
#define BLOCK_MIN_BITS 7
|
||||
#define BLOCK_MAX_BITS 11
|
||||
@ -127,57 +124,20 @@ static void wma_lsp_to_curve_init(WMADecodeContext *s, int frame_len);
|
||||
|
||||
#include "wmadata.h"
|
||||
|
||||
#ifdef DEBUG_TRACE
|
||||
#include <stdarg.h>
|
||||
int frame_count;
|
||||
|
||||
static FILE *flog;
|
||||
|
||||
void trace(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
|
||||
if (!flog) {
|
||||
flog = fopen("/tmp/out.log", "w");
|
||||
setlinebuf(flog);
|
||||
}
|
||||
|
||||
va_start(ap, fmt);
|
||||
vfprintf(flog, fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
#define get_bits(s, n) get_bits_trace(s, n)
|
||||
#define get_vlc(s, vlc) get_vlc_trace(s, vlc)
|
||||
|
||||
unsigned int get_bits_trace(GetBitContext *s, int n)
|
||||
{
|
||||
unsigned int val;
|
||||
val = (get_bits)(s, n);
|
||||
trace("get_bits(%d) : 0x%x\n", n, val);
|
||||
return val;
|
||||
}
|
||||
|
||||
static int get_vlc_trace(GetBitContext *s, VLC *vlc)
|
||||
{
|
||||
int code;
|
||||
code = (get_vlc)(s, vlc);
|
||||
trace("get_vlc() : %d\n", code);
|
||||
return code;
|
||||
}
|
||||
#ifdef TRACE
|
||||
int frame_count = 0;
|
||||
|
||||
static void dump_shorts(const char *name, const short *tab, int n)
|
||||
{
|
||||
int i;
|
||||
|
||||
trace("%s[%d]:\n", name, n);
|
||||
tprintf("%s[%d]:\n", name, n);
|
||||
for(i=0;i<n;i++) {
|
||||
if ((i & 7) == 0)
|
||||
trace("%4d: ", i);
|
||||
trace(" %5d.0", tab[i]);
|
||||
tprintf("%4d: ", i);
|
||||
tprintf(" %5d.0", tab[i]);
|
||||
if ((i & 7) == 7)
|
||||
trace("\n");
|
||||
tprintf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -185,22 +145,17 @@ static void dump_floats(const char *name, int prec, const float *tab, int n)
|
||||
{
|
||||
int i;
|
||||
|
||||
trace("%s[%d]:\n", name, n);
|
||||
tprintf("%s[%d]:\n", name, n);
|
||||
for(i=0;i<n;i++) {
|
||||
if ((i & 7) == 0)
|
||||
trace("%4d: ", i);
|
||||
trace(" %8.*f", prec, tab[i]);
|
||||
tprintf("%4d: ", i);
|
||||
tprintf(" %8.*f", prec, tab[i]);
|
||||
if ((i & 7) == 7)
|
||||
trace("\n");
|
||||
tprintf("\n");
|
||||
}
|
||||
if ((i & 7) != 0)
|
||||
trace("\n");
|
||||
tprintf("\n");
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define trace(fmt, args...)
|
||||
|
||||
#endif
|
||||
|
||||
/* XXX: use same run/length optimization as mpeg decoders */
|
||||
@ -359,16 +314,14 @@ static int wma_decode_init(AVCodecContext * avctx)
|
||||
high_freq = high_freq * 0.5;
|
||||
}
|
||||
}
|
||||
#ifdef DEBUG_PARAMS
|
||||
printf("flags1=0x%x flags2=0x%x\n", flags1, flags2);
|
||||
printf("version=%d channels=%d sample_rate=%d bitrate=%d block_align=%d\n",
|
||||
dprintf("flags1=0x%x flags2=0x%x\n", flags1, flags2);
|
||||
dprintf("version=%d channels=%d sample_rate=%d bitrate=%d block_align=%d\n",
|
||||
s->version, s->nb_channels, s->sample_rate, s->bit_rate,
|
||||
s->block_align);
|
||||
printf("bps=%f bps1=%f high_freq=%f bitoffset=%d\n",
|
||||
dprintf("bps=%f bps1=%f high_freq=%f bitoffset=%d\n",
|
||||
bps, bps1, high_freq, s->byte_offset_bits);
|
||||
printf("use_noise_coding=%d use_exp_vlc=%d nb_block_sizes=%d\n",
|
||||
dprintf("use_noise_coding=%d use_exp_vlc=%d nb_block_sizes=%d\n",
|
||||
s->use_noise_coding, s->use_exp_vlc, s->nb_block_sizes);
|
||||
#endif
|
||||
|
||||
/* compute the scale factor band sizes for each MDCT block size */
|
||||
{
|
||||
@ -458,28 +411,28 @@ static int wma_decode_init(AVCodecContext * avctx)
|
||||
}
|
||||
s->exponent_high_sizes[k] = j;
|
||||
#if 0
|
||||
trace("%5d: coefs_end=%d high_band_start=%d nb_high_bands=%d: ",
|
||||
tprintf("%5d: coefs_end=%d high_band_start=%d nb_high_bands=%d: ",
|
||||
s->frame_len >> k,
|
||||
s->coefs_end[k],
|
||||
s->high_band_start[k],
|
||||
s->exponent_high_sizes[k]);
|
||||
for(j=0;j<s->exponent_high_sizes[k];j++)
|
||||
trace(" %d", s->exponent_high_bands[k][j]);
|
||||
trace("\n");
|
||||
tprintf(" %d", s->exponent_high_bands[k][j]);
|
||||
tprintf("\n");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef DEBUG_TRACE
|
||||
#ifdef TRACE
|
||||
{
|
||||
int i, j;
|
||||
for(i = 0; i < s->nb_block_sizes; i++) {
|
||||
trace("%5d: n=%2d:",
|
||||
tprintf("%5d: n=%2d:",
|
||||
s->frame_len >> i,
|
||||
s->exponent_sizes[i]);
|
||||
for(j=0;j<s->exponent_sizes[i];j++)
|
||||
trace(" %d", s->exponent_bands[i][j]);
|
||||
trace("\n");
|
||||
tprintf(" %d", s->exponent_bands[i][j]);
|
||||
tprintf("\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -511,7 +464,7 @@ static int wma_decode_init(AVCodecContext * avctx)
|
||||
else
|
||||
s->noise_mult = 0.04;
|
||||
|
||||
#if defined(DEBUG_TRACE)
|
||||
#ifdef TRACE
|
||||
for(i=0;i<NOISE_TAB_SIZE;i++)
|
||||
s->noise_table[i] = 1.0 * s->noise_mult;
|
||||
#else
|
||||
@ -741,7 +694,7 @@ static int wma_decode_block(WMADecodeContext *s)
|
||||
int nb_coefs[MAX_CHANNELS];
|
||||
float mdct_norm;
|
||||
|
||||
trace("***decode_block: %d:%d\n", frame_count - 1, s->block_num);
|
||||
tprintf("***decode_block: %d:%d\n", frame_count - 1, s->block_num);
|
||||
|
||||
/* compute current block length */
|
||||
if (s->use_variable_block_len) {
|
||||
@ -987,7 +940,7 @@ static int wma_decode_block(WMADecodeContext *s)
|
||||
}
|
||||
exp_power[j] = e2 / n;
|
||||
last_high_band = j;
|
||||
trace("%d: power=%f (%d)\n", j, exp_power[j], n);
|
||||
tprintf("%d: power=%f (%d)\n", j, exp_power[j], n);
|
||||
}
|
||||
exp_ptr += n;
|
||||
}
|
||||
@ -1045,7 +998,7 @@ static int wma_decode_block(WMADecodeContext *s)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef DEBUG_TRACE
|
||||
#ifdef TRACE
|
||||
for(ch = 0; ch < s->nb_channels; ch++) {
|
||||
if (s->channel_coded[ch]) {
|
||||
dump_floats("exponents", 3, s->exponents[ch], s->block_len);
|
||||
@ -1062,9 +1015,7 @@ static int wma_decode_block(WMADecodeContext *s)
|
||||
/* no need to optimize this case because it should almost
|
||||
never happen */
|
||||
if (!s->channel_coded[0]) {
|
||||
#ifdef DEBUG_TRACE
|
||||
trace("rare ms-stereo case happened\n");
|
||||
#endif
|
||||
tprintf("rare ms-stereo case happened\n");
|
||||
memset(s->coefs[0], 0, sizeof(float) * s->block_len);
|
||||
s->channel_coded[0] = 1;
|
||||
}
|
||||
@ -1176,7 +1127,7 @@ static int wma_decode_frame(WMADecodeContext *s, int16_t *samples)
|
||||
int16_t *ptr;
|
||||
float *iptr;
|
||||
|
||||
trace("***decode_frame: %d size=%d\n", frame_count++, s->frame_len);
|
||||
tprintf("***decode_frame: %d size=%d\n", frame_count++, s->frame_len);
|
||||
|
||||
/* read each block */
|
||||
s->block_num = 0;
|
||||
@ -1213,7 +1164,7 @@ static int wma_decode_frame(WMADecodeContext *s, int16_t *samples)
|
||||
s->frame_len * sizeof(float));
|
||||
}
|
||||
|
||||
#ifdef DEBUG_TRACE
|
||||
#ifdef TRACE
|
||||
dump_shorts("samples", samples, n * s->nb_channels);
|
||||
#endif
|
||||
return 0;
|
||||
@ -1228,7 +1179,7 @@ static int wma_decode_superframe(AVCodecContext *avctx,
|
||||
uint8_t *q;
|
||||
int16_t *samples;
|
||||
|
||||
trace("***decode_superframe:\n");
|
||||
tprintf("***decode_superframe:\n");
|
||||
|
||||
samples = data;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user