Mercurial > mplayer.hg
view TOOLS/countquant.pl @ 36328:9af6f39eab61
vo png: Error handling and clean up
Simplify error path; returning 1 is obfuscated and not different
from returning VO_TRUE. We do not want to fatally error out anyway,
so printing a warning should be enough and not different from the
current behaviour.
Use av_free_packet, it is the counter part for av_init_packet .
It could e.g. potentially free side data. The buffer itself
will not be freed as is intended for our custom buffer which
we will try to re-use.
author | al |
---|---|
date | Wed, 14 Aug 2013 10:21:30 +0000 |
parents | 32725ca88fed |
children |
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();