view TOOLS/menc2pass @ 10578:b9d289fd8a57

10000l, the old code was slow as hell, copying stuff extra times and actually broken -- blanking the whole screen at each 'page flip' with -dr enabled. benchmarks: before: 56% cpu for decode 56% cpu for vo with no -dr 25% cpu for vo with -dr after: 56% cpu for decode 25% cpu for vo without -dr 0% cpu for vo with -dr if vo_fbdev is going to do pageflip, it needs to do it for REAL, using vertical scroll registers (like g2), not copying a temp buffer (which will shear anyway and is super-slow).
author rfelker
date Tue, 12 Aug 2003 08:24:24 +0000
parents 9733351ea3e5
children
line wrap: on
line source

#!/usr/bin/perl -w
# Helper script to ease MEncoder two pass encoding
# Copyleft 2001 by Felix Buenemann <atmosfear@users.sourceforge.net>
# This file comes under GPL, see http://www.gnu.org/copyleft/gpl.html for more
# information on it's licensing.
use strict;
my $mencoder="mencoder"; # Path to MEncoder (including binary name)

die <<"EOF" unless @ARGV;
Menc2Pass: No arguments given!
Please give all usual encoding parameters you would give to mencoder, but leave
away the pass=<n> suboption.
EOF

for(my $i=1; $i<=2; $i++) {
  my $parm="";
  foreach my $val (@ARGV) {
    if($val =~ /-lavcopts/) {
      $parm.="$val vpass=$i:";
    } elsif($val =~ /-(divx4)|(xvid)opts/) {
      $parm.="$val pass=$i:";
    } else {
      $parm.="$val ";
    }
  }
  print "Running $mencoder $parm\n";
  system($mencoder,$parm)
  	and die "MEncoder pass $i failed!\n"
}