From 68e75e4dec6b5f46a190118eecbba1e95c396e3d Mon Sep 17 00:00:00 2001
From: Oded Shimon <ods15@ods15.dyndns.org>
Date: Mon, 2 Oct 2006 06:08:55 +0000
Subject: [PATCH] Original Commit: r90 | ods15 | 2006-09-29 22:14:40 +0300
 (Fri, 29 Sep 2006) | 3 lines

much better magic for floor, the first psychoacoustic in this encoder!
now creates valid, 175kbps audio, which sounds good! :)

Originally committed as revision 6494 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/vorbis_enc.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c
index 4e45c7e6284..581ab41bb1f 100644
--- a/libavcodec/vorbis_enc.c
+++ b/libavcodec/vorbis_enc.c
@@ -780,13 +780,11 @@ static void floor_fit(venc_context_t * venc, floor_t * fc, float * coeffs, int *
         int end   = fc->list[fc->list[FFMIN(i+1, fc->values - 1)].sort].x;
         int j;
         float average = 0;
-        begin = (position + begin) / 2;
-        end   = (position + end  ) / 2;
 
         assert(end <= samples);
         for (j = begin; j < end; j++) average += fabs(coeffs[j]);
         average /= end - begin;
-        average /= 32; // MAGIC!
+        average /= pow(4, 1 - position/400.); // MAGIC!
         for (j = 0; j < range - 1; j++) if (floor1_inverse_db_table[j * fc->multiplier] > average) break;
         posts[fc->list[i].sort] = j;
     }
-- 
GitLab