r3153 - trunk/src/host/splash
werner at sita.openmoko.org
werner at sita.openmoko.org
Fri Oct 12 18:29:47 CEST 2007
Author: werner
Date: 2007-10-12 18:29:41 +0200 (Fri, 12 Oct 2007)
New Revision: 3153
Modified:
trunk/src/host/splash/splashimg.pl
Log:
- new option -32 for 32 bpp mode
- new option -pnm to use PNM instead of PNG files
Modified: trunk/src/host/splash/splashimg.pl
===================================================================
--- trunk/src/host/splash/splashimg.pl 2007-10-12 16:21:32 UTC (rev 3152)
+++ trunk/src/host/splash/splashimg.pl 2007-10-12 16:29:41 UTC (rev 3153)
@@ -21,13 +21,31 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
+
+%bpp = 16;
+
+
sub usage
{
- print STDERR "usage: $0 [System_boot.png]\n";
+ print STDERR "usage: $0 [-32] [-pnm] [System_boot.png]\n";
exit(1);
}
+while ($ARGV[0] =~ /^-[^-]/) {
+ if ($ARGV[0] eq "-32") {
+ $bpp = 32;
+ shift @ARGV;
+ }
+ elsif ($ARGV[0] eq "-pnm") {
+ $pnm = 1;
+ shift @ARGV;
+ }
+ else {
+ die "unrecognized option: \"$ARGV[0]\"";
+ }
+}
+
&usage unless $#ARGV < 2;
if ($ARGV[0] eq "") {
$file = "System_boot.png";
@@ -36,7 +54,12 @@
$file = @ARGV[0];
}
-$cmd = "pngtopnm '$file' | ppmtorgb3";
+if ($pnm) {
+ $cmd = "cat '$file' | ppmtorgb3";
+}
+else {
+ $cmd = "pngtopnm '$file' | ppmtorgb3";
+}
system($cmd) && die "system \"$cmd\": $?";
@@ -56,6 +79,12 @@
$r = unpack("C",substr($p{"red"},$i,1));
$g = unpack("C",substr($p{"grn"},$i,1));
$b = unpack("C",substr($p{"blu"},$i,1));
- $v = ($r >> 3) << 11 | ($g >> 2) << 5 | ($b >> 3);
- print pack("v",$v) || die "print: $!";
+ if ($bpp == 16) {
+ $v = ($r >> 3) << 11 | ($g >> 2) << 5 | ($b >> 3);
+ print pack("v",$v) || die "print: $!";
+ }
+ else {
+ $v = ($r) << 16 | ($g) << 8 | $b;
+ print pack("V",$v) || die "print: $!";
+ }
}
More information about the commitlog
mailing list