view TOOLS/countquant.pl @ 11376:70b1673fe399

proper fix for 'some chipsets can't handle buffers > 128kB', vo_zr used to ignore information about the _actual_ buffer size returned by the kernel and continued to use the requested buffer size (the old fix was to request smaller buffers, but not ignoring information about the actual buffer size is way better)
author rik
date Mon, 03 Nov 2003 17:38:50 +0000
parents 85ebbeeb913b
children 32725ca88fed
line wrap: on
line source

#!/usr/bin/perl -w

sub display_quants {
  $frames = 0;
  foreach $key (sort(keys(%quants))) {
    $frames += $quants{$key};
  }
  foreach $key (sort({ $a <=> $b } keys(%quants))) {
    printf("q=%d:\t% 6d, % 6.2f%%\n", $key, $quants{$key}, $quants{$key} *
           100 / $frames);
  }
  print("$lines lines processed, $frames frames found\n");
  printf("average quant. is: %f\n", $quant_total/$frames);
}

$lines = 0;
$thislines = 0;
$quant_total = 0;

while (<STDIN>) {
  $lines++;
  $thislines++;
  if (/ q:([0-9]+) /) {
    $quants{$1}++;
  } elsif (/ q:(([0-9]+)\.[0-9]+) /) {
    $quants{$2}++;
    $quant_total += $1;
  }
  if ((scalar(@ARGV) > 0) && ($thislines > $ARGV[0])) {
    display_quants();
    $thislines = 0;
  }
}

display_quants();