}
my $err;
- # ImageMagick can handle NEF files, but it does it by calling dcraw as a delegate.
- # The delegate support is rather broken and causes very odd stuff to happen when
- # more than one thread does this at the same time. Thus, we simply do it ourselves.
if ($filename =~ /\.(nef|cr2)$/i) {
- # this would suffice if ImageMagick gets to fix their handling
- # $physical_fname = "NEF:$physical_fname";
-
- open DCRAW, "-|", "dcraw", "-w", "-c", $physical_fname
- or error("dcraw: $!");
- $err = $magick->Read(file => \*DCRAW);
- close(DCRAW);
+ $physical_fname = "NEF:$physical_fname";
+ $err = $magick->Read($physical_fname);
} else {
# We always want YCbCr JPEGs. Setting this explicitly here instead of using
# RGB is slightly faster (no colorspace conversion needed) and works equally