[Ffmpeg-cvslog] r6453 - trunk/libavcodec/vorbis_enc.c
ods15
subversion
Mon Oct 2 07:56:40 CEST 2006
Author: ods15
Date: Mon Oct 2 07:56:40 2006
New Revision: 6453
Modified:
trunk/libavcodec/vorbis_enc.c
Log:
Original Commit: r46 | ods15 | 2006-09-23 11:36:32 +0300 (Sat, 23 Sep 2006) | 2 lines
fix normalization, output is (roughly?) same volume as input
Modified: trunk/libavcodec/vorbis_enc.c
==============================================================================
--- trunk/libavcodec/vorbis_enc.c (original)
+++ trunk/libavcodec/vorbis_enc.c Mon Oct 2 07:56:40 2006
@@ -617,6 +617,7 @@
int i, j, channel;
const float * win = venc->win[0];
int window_len = 1 << (venc->blocksize[0] - 1);
+ float n = (float)(1 << venc->blocksize[0]) / 4.;
// FIXME use dsp
if (!venc->have_saved && !samples) return 0;
@@ -636,7 +637,7 @@
float * offset = venc->samples + channel*window_len*2 + window_len;
j = channel;
for (i = 0; i < samples; i++, j += venc->channels)
- offset[i] = audio[j] / 32768. * win[window_len - i];
+ offset[i] = audio[j] / 32768. * win[window_len - i] / n;
}
} else {
for (channel = 0; channel < venc->channels; channel++) {
@@ -653,7 +654,7 @@
float * offset = venc->saved + channel*window_len;
j = channel;
for (i = 0; i < samples; i++, j += venc->channels)
- offset[i] = audio[j] / 32768. * win[i];
+ offset[i] = audio[j] / 32768. * win[i] / n;
}
venc->have_saved = 1;
} else {
@@ -759,7 +760,7 @@
}
for (j = 0; j < samples; j++) {
- venc->floor[i * samples + j] = floor1_inverse_db_table[220];
+ venc->floor[i * samples + j] = floor1_inverse_db_table[113];
}
}
More information about the ffmpeg-cvslog
mailing list