OSDN Git Service

Original Commit: r90 | ods15 | 2006-09-29 22:14:40 +0300 (Fri, 29 Sep 2006) | 3 lines
authorOded Shimon <ods15@ods15.dyndns.org>
Mon, 2 Oct 2006 06:08:55 +0000 (06:08 +0000)
committerOded Shimon <ods15@ods15.dyndns.org>
Mon, 2 Oct 2006 06:08:55 +0000 (06:08 +0000)
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

index 4e45c7e..581ab41 100644 (file)
@@ -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;
     }