just to scale it. Seems to improve overall performance about 10% for
400x600 (800x600 portrait :-) ) images, from 1.1 to 1.0 seconds.
$err = $magick->Read(file => \*DCRAW);
close(DCRAW);
} else {
$err = $magick->Read(file => \*DCRAW);
close(DCRAW);
} else {
+ # We always want YCbCr JPEGs. Setting this explicitly here instead of using
+ # RGB is slightly faster (no colorspace conversion needed) and works equally
+ # well for our uses. (Ideally we'd be able to keep the image subsampled and
+ # planar, but that would probably be difficult for ImageMagick to expose.)
+ $magick->Set(colorspace=>'YCbCr');
$err = $magick->Read($fname);
}
$err = $magick->Read($fname);
}
update_image_info($r, $id, $width, $height);
}
update_image_info($r, $id, $width, $height);
}
- # We always want RGB JPEGs
- if ($img->Get('Colorspace') eq "CMYK") {
- $img->Set(colorspace=>'RGB');
- }
-
while (defined($xres) && defined($yres)) {
my ($nxres, $nyres) = (shift @otherres, shift @otherres);
my $cachename = get_cache_location($r, $id, $xres, $yres, $infobox);
while (defined($xres) && defined($yres)) {
my ($nxres, $nyres) = (shift @otherres, shift @otherres);
my $cachename = get_cache_location($r, $id, $xres, $yres, $infobox);