关于x.264视频格式源码

源代码在线查看: countquant_x264.pl.svn-base

软件大小: 883 K
上传用户: jl315
关键词: 264 视频格式 源码
下载地址: 免注册下载 普通下载 VIP

相关代码

				#!/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() {				        /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, "					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";							

相关资源