#!/usr/bin/perl
use strict;
my $alltime = 0; 
my $files = 0;

while(<>) {
	chomp;
	open (AVI, $_) || next;

	my $data = "";
	my $i;

	# find hdrl
	for (1..200) {
	  read AVI, $data, 4;
	  last if $data eq "hdrl"
	}

	next unless($data eq 'hdrl'); #filter non-avis
	read AVI, $data, 8;

	# ms per frame
	read AVI, $data, 4;
	my $msperframe = converttoint($data);

	read AVI, $data, 12;

	# total frames
	read AVI, $data, 4;
	my $frames = converttoint($data);

	read AVI, $data, 12;

	# width
	read AVI, $data, 4;
	my $width = converttoint($data);

	# height
	read AVI, $data, 4;
	my $height = converttoint($data);
	
	print gettime($frames*$msperframe) . "\t".$height."x".$width."\t$_\n";
	
	$alltime += $frames * $msperframe;
	$files++;
	close(AVI);
}
print gettime($alltime) . " in $files files.\n";

sub gettime
{
  my $ms = shift;
  $ms /= 1000000.0;
  my $hours = int($ms / 3600);
  $ms -= $hours * 3600;
  my $minutes = int($ms / 60);
  $ms -= $minutes * 60;
  $ms = int($ms*10)/10;
  $hours = "0$hours" if($hours < 10);
  $minutes = "0$minutes" if($minutes < 10);
  $ms = "0$ms" if($ms < 10);
  return "$hours:$minutes:$ms" ;
}

sub converttoint {
  my $total=0;
  my $data = shift;
  my $i;
  for ($i = 0; $i < length($data); $i++) {
    my $c = substr($data, $i, 1);
    my $value = 256**$i * ord($c);
    $total += $value;
  }
  return $total;
}
