Mercurial > mplayer.hg
view TOOLS/calcbpp.pl @ 34847:44210843ba79
Update MimeType key in the desktop file.
This complies with the freedesktop.org shared MIME info database.
The following MIME types not registered with IANA are used:
application/ram
application/vnd.rn-realmedia
audio/flac (in addition to audio/x-flac, see (*) below)
audio/mp2 (see (**) below)
audio/vnd.rn-realaudio
video/vnd.rn-realvideo
video/webm
(*) freedesktop.org changed that from the correct, non-standard type
audio/x-flac in v0.80 "for consistency with other xiph.org types
not yet registered in IANA"
(**) freedesktop.org introduced that in v0.22, not using the correct,
non-standard type audio/x-mp2 which was added in v0.60, but only
as an alias
author | ib |
---|---|
date | Mon, 21 May 2012 09:45:29 +0000 |
parents | 0f1b5b68af32 |
children |
line wrap: on
line source
#!/usr/bin/perl -w use POSIX; sub round { my $v = shift; return floor($v + 0.5); } $raw_aspect = 720/576; if (scalar(@ARGV) < 4) { print("Please provide a) the cropped but unscaled resolution (e.g. " . "716x524), b) the aspect ratio (either 4/3 or 16/9 for most DVDs), " . "c) the video bitrate in kbps (e.g. 800) and d) the movie's fps.\n"); print("If your DVD is not encoded at 720x576 then change the \$raw_aspect" . "variable at the beginning of this script.\n"); exit(1); } ($unscaled_width, $unscaled_height) = split('x', $ARGV[0]); $encoded_at = $ARGV[1]; if ($encoded_at =~ /\//) { my @a = split(/\//, $encoded_at); $encoded_at = $a[0] / $a[1]; } $scaled_width = $unscaled_width * ($encoded_at / ($raw_aspect)); $scaled_height = $unscaled_height; $picture_ar = $scaled_width / $scaled_height; ($bps, $fps) = @ARGV[2, 3]; printf("Prescaled picture: %dx%d, AR %.2f\n", $scaled_width, $scaled_height, $picture_ar); for ($width = 720; $width >= 320; $width -= 16) { $height = 16 * round($width / $picture_ar / 16); $diff = round($width / $picture_ar - $height); $new_ar = $width / $height; $picture_ar_error = abs(100 - $picture_ar / $new_ar * 100); printf("${width}x${height}, diff % 3d, new AR %.2f, AR error %.2f%% " . "scale=%d:%d bpp: %.3f\n", $diff, $new_ar, $picture_ar_error, $width, $height, ($bps * 1000) / ($width * $height * $fps)); }