#!/bin/bash
vid="$1" ; shift
if [ "$1" = "-w" ]; then
	export width="$2"
	shift; shift
fi
if [ "$1" = "-h" ]; then
	export height="$2"
	shift; shift
fi
export scale="${1:-1}"
midentify "$vid" | perl -ne '
	/ID_VIDEO_HEIGHT=(\d+)/ and $height = $1;
	/ID_VIDEO_WIDTH=(\d+)/ and $width = $1;
	END {
		$aspect = $width / $height;
		$scale = $ENV{scale};
		if ($ENV{width} || $ENV{height}) {
			if ($ENV{width}) {
				$scale = $ENV{width} / $width;
			}
			if ($ENV{height}) {
				$scale1 = $ENV{height} / $height;
				if (!$scale || $scale1 < $scale) {
					$scale = $scale1;
				}
			}
		}
		for $x ($width, $height) { $x = int($x*$scale+0.5); }
		print "${width}x${height}\n";
	}
'
