view TOOLS/menc2pass @ 13316:0d17bef9894d

* Changed malloc and strncpy to strdup. Less code. * More error checking. If malloc or strdup fails, print message and exit. * Free malloc'd memory when uninit is called. * Moved default of jpeg_outdir to preinit, so it is always malloc'd and can easily be freed at uninit.
author ivo
date Sat, 11 Sep 2004 19:59:31 +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"
}