aboutsummaryrefslogtreecommitdiff
path: root/libvpx/rate_hist.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvpx/rate_hist.c')
-rw-r--r--libvpx/rate_hist.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/libvpx/rate_hist.c b/libvpx/rate_hist.c
index 6cf8ce7bb..947950d48 100644
--- a/libvpx/rate_hist.c
+++ b/libvpx/rate_hist.c
@@ -193,40 +193,42 @@ static int merge_hist_buckets(struct hist_bucket *bucket, int max_buckets,
static void show_histogram(const struct hist_bucket *bucket, int buckets,
int total, int scale) {
- const char *pat1, *pat2;
+ int width1, width2;
int i;
+ if (!buckets) return;
assert(bucket != NULL);
+ assert(buckets > 0);
switch ((int)(log(bucket[buckets - 1].high) / log(10)) + 1) {
case 1:
case 2:
- pat1 = "%4d %2s: ";
- pat2 = "%4d-%2d: ";
+ width1 = 4;
+ width2 = 2;
break;
case 3:
- pat1 = "%5d %3s: ";
- pat2 = "%5d-%3d: ";
+ width1 = 5;
+ width2 = 3;
break;
case 4:
- pat1 = "%6d %4s: ";
- pat2 = "%6d-%4d: ";
+ width1 = 6;
+ width2 = 4;
break;
case 5:
- pat1 = "%7d %5s: ";
- pat2 = "%7d-%5d: ";
+ width1 = 7;
+ width2 = 5;
break;
case 6:
- pat1 = "%8d %6s: ";
- pat2 = "%8d-%6d: ";
+ width1 = 8;
+ width2 = 6;
break;
case 7:
- pat1 = "%9d %7s: ";
- pat2 = "%9d-%7d: ";
+ width1 = 9;
+ width2 = 7;
break;
default:
- pat1 = "%12d %10s: ";
- pat2 = "%12d-%10d: ";
+ width1 = 12;
+ width2 = 10;
break;
}
@@ -241,9 +243,10 @@ static void show_histogram(const struct hist_bucket *bucket, int buckets,
assert(len <= HIST_BAR_MAX);
if (bucket[i].low == bucket[i].high)
- fprintf(stderr, pat1, bucket[i].low, "");
+ fprintf(stderr, "%*d %*s: ", width1, bucket[i].low, width2, "");
else
- fprintf(stderr, pat2, bucket[i].low, bucket[i].high);
+ fprintf(stderr, "%*d-%*d: ", width1, bucket[i].low, width2,
+ bucket[i].high);
for (j = 0; j < HIST_BAR_MAX; j++) fprintf(stderr, j < len ? "=" : " ");
fprintf(stderr, "\t%5d (%6.2f%%)\n", bucket[i].count, pct);