Mercurial > mplayer.hg
view TOOLS/mp.pl @ 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 | 493cbec56a14 |
children |
line wrap: on
line source
#!/usr/bin/perl -w use strict; # Filename: mp.pl # Date : created 2001-07-24 # Author : Felix Buenemann <atmosfear at users.sourceforge.net> # Idea by : David Chan <prometheus at theendofthetunnel.org> # License : GNU General Public License (GPL) # (refer to: http://www.fsf.org/licenses/gpl.txt) # # Description: # Small Perl helper script that allows to play multiple files with MPlayer. # Wildcards are supported (eg. "mp.pl -vo x11 /data/*.avi"). # # Configuration: # If MPlayer is not in your path, give the full # path to mplayer binary in the line below. # (example: "/usr/local/bin/mplayer") use constant MPLAYER => "mplayer"; my (@parms, @files); die "mp.pl: No parameters given! MPlayer multifile playback helper script 0.9 Copyleft 2001 by Felix Buenemann Syntax: mp.pl <parameters> <files> Where <parameters> are all possible commandline switches for mplayer and <files> can be either a list of files, like file1 file2 file3 and/or a wildcard definition, like *.avi. Example: mp.pl -vo x11 /dvd/VIDEO_TS/VTS_05_*.VOB movie.asf \n" if ($#ARGV < 0) || ($ARGV[0] =~ m/^--*(h|help)/); foreach (@ARGV) { if(m/^-\w+/) { push @parms, $_ } elsif(-f $_ && -r _ && -B _) { push @files, $_ } else { push @parms, $_ } } die "No valid files to process!\n" unless @files; foreach (@files) { print "Invoking MPlayer for '$_'...\n"; system(MPLAYER, @parms, $_) or die "Couldn't execute MPlayer: $!\n"; ($? >> 8) != 1 and die "Couldn't properly execute MPlayer, aborting!\n"; } # EOF