⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 countquant_x264.pl

📁 H.264 source codes
💻 PL
字号:
#!/usr/bin/env perl# countquant_x264.pl: displays statistics from x264 multipass logfiles# by Loren Merritt, 2005-4-5@size{I,P,B} =@n{I,P,B} = (0)x3;sub proc_file {    my $fh = shift;    while(<$fh>) {        /type:(.) q:(\d+\.\d+) itex:(\d+) ptex:(\d+) mv:(\d+) misc:(\d+)/ or next;	$type = uc $1;	$n{$type} ++;	$q[int($2+.5)] ++;	$avgq += $2;	$avgq{$type} += $2;        my $bytes = ($3+$4+$5+$6)/8;	$size{$type} += $bytes;    }    $size = $size{I} + $size{P} + $size{B};    $n = $n{I} + $n{P} + $n{B};    $n or die "unrecognized input\n";}if(@ARGV) {    foreach(@ARGV) {        open $fh, "<", $_ or die "can't open '$_': $!";	proc_file($fh);    }} else {    proc_file(STDIN);}for(0..51) {    $q[$_] or next;    printf "q%2d: %6d  %4.1f%%\n", $_, $q[$_], 100*$q[$_]/$n;}print "\n";$digits = int(log($n+1)/log(10))+2;printf "All: %${digits}d        %s  avgQP:%5.2f  avgBytes:%5d\n",    $n, $n==$n{I}?" ":"", $avgq/$n, $size/$n;foreach(qw(I P B S)) {    $n{$_} or next;    printf "%s:   %${digits}d (%4.1f%%)  avgQP:%5.2f  avgBytes:%5d\n",        $_, $n{$_}, 100*$n{$_}/$n, $avgq{$_}/$n{$_}, $size{$_}/$n{$_};}print "\n";printf "total size: $size B = %.2f KiB = %.2f MiB\n",    $size/2**10, $size/2**20;print "bitrate: ", join("\n       = ",    map sprintf("%.2f kbps @ %s fps", $_*$size*8/1000/$n, $_),    23.976, 25, 29.97), "\n";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -