[Ffmpeg-cvslog] r6515 - trunk/libavcodec/vorbis_enc.c

ods15 subversion
Mon Oct 2 08:09:46 CEST 2006


Author: ods15
Date: Mon Oct  2 08:09:45 2006
New Revision: 6515

Modified:
   trunk/libavcodec/vorbis_enc.c

Log:
Original Commit: r111 | ods15 | 2006-10-01 19:40:50 +0200 (Sun, 01 Oct 2006) | 2 lines

update to use ff_vorbis_floor1_render_list

Modified: trunk/libavcodec/vorbis_enc.c
==============================================================================
--- trunk/libavcodec/vorbis_enc.c	(original)
+++ trunk/libavcodec/vorbis_enc.c	Mon Oct  2 08:09:45 2006
@@ -1117,7 +1117,7 @@
     return average / (end - begin);
 }
 
-static void floor_fit(venc_context_t * venc, floor_t * fc, float * coeffs, int * posts, int samples) {
+static void floor_fit(venc_context_t * venc, floor_t * fc, float * coeffs, uint_fast16_t * posts, int samples) {
     int range = 255 / fc->multiplier + 1;
     int i;
     float tot_average = 0.;
@@ -1141,11 +1141,10 @@
     return y0 +  (x - x0) * (y1 - y0) / (x1 - x0);
 }
 
-static void floor_encode(venc_context_t * venc, floor_t * fc, PutBitContext * pb, int * posts, float * floor, int samples) {
+static void floor_encode(venc_context_t * venc, floor_t * fc, PutBitContext * pb, uint_fast16_t * posts, float * floor, int samples) {
     int range = 255 / fc->multiplier + 1;
     int coded[fc->values]; // first 2 values are unused
     int i, counter;
-    int lx, ly;
 
     put_bits(pb, 1, 1); // non zero
     put_bits(pb, ilog(range - 1), posts[0]);
@@ -1208,18 +1207,7 @@
         }
     }
 
-    lx = 0;
-    ly = posts[0] * fc->multiplier; // sorted 0 is still 0
-    for (i = 1; i < fc->values; i++) {
-        int pos = fc->list[i].sort;
-        if (coded[pos]) {
-            render_line(lx, ly, fc->list[pos].x, posts[pos] * fc->multiplier, floor, samples);
-            lx = fc->list[pos].x;
-            ly = posts[pos] * fc->multiplier;
-        }
-        if (lx >= samples) break;
-    }
-    if (lx < samples) render_line(lx, ly, samples, ly, floor, samples);
+    ff_vorbis_floor1_render_list(fc->list, fc->values, posts, coded, fc->multiplier, floor, samples);
 }
 
 static float * put_vector(codebook_t * book, PutBitContext * pb, float * num) {
@@ -1419,7 +1407,7 @@
 
     for (i = 0; i < venc->channels; i++) {
         floor_t * fc = &venc->floors[mapping->floor[mapping->mux[i]]];
-        int posts[fc->values];
+        uint_fast16_t posts[fc->values];
         floor_fit(venc, fc, &venc->coeffs[i * samples], posts, samples);
         floor_encode(venc, fc, &pb, posts, &venc->floor[i * samples], samples);
     }




More information about the ffmpeg-cvslog mailing list