Friday, May 13, 2016

Compiled DCRAW.EXE (9.27/1.477, 2016/05/10, 32 & 64 bits)

Dave Coffin's free DCRAW command-line raw converter, ready to use for Windows, compiled with full optimizations in both Intel/AMD 64-bit and 32-bit versions and digitally signed. Portable, zero dependencies (single standalone .exes with no additional dlls). Compiled with the optional libjpeg and lcms2 modules.

(Version 9.27/1.477, 2016/05/10, x86, x64, XP to Windows 10 and beyond)

Wednesday, September 15, 2010

Photoshop PSD Thumbnails in Windows Explorer? Yes!

The FastPictureViewer Codec Pack 2.4 includes a new Photoshop PSD codec enabling support for the PSD image format into Windows Explorer, starting from Windows XP SP3. Additionally, Windows 7 and Vista users can open the images in large size using Windows Photo Viewer or Windows Media Center 7. The codec exposes EXIF and XMP metadata, if present in the files, as well as any embedded ICC profile, enabling color-managed display of Photoshop documents directly in Windows (without having Photoshop or any Adobe application installed.
The codec installs both 32-bit and 64-bit support, enabling Photoshop PSD thumbnails and previewing in 64-bit editions of Windows.

Additonally, codec-enabled applications, like our own FastPictureViewer Professional, are also able to display Photoshop files with good fidelity using the new codec.

Saturday, October 31, 2009

Nikon LS-40 / LS-50 / LS-5000 Scanners on Windows 8.1, Windows 8, Windows 7 and Windows Vista 64-bit!

Nikon apparently missed the 64-bit computing world, in particular their excellent USB slide scanners (LS-40, LS-50 and LS-5000 ED) are totally unsupported under Windows 8.x 64-bit, Windows 7 64-bit, and 64-bit Windows Vista. Fortunately, thanks to Microsoft, all recent editions of Windows, including 64-bit ones, contains a generic USB scanner driver. All it takes is a little persuasion to make it recognize Nikon USB slide scanners and, from there, Nikon own software - namely the 32-bit Nikon Scan 4.03 - will happily talk to your beloved piece of gear... Interested? Read on...

First thing first, you need a small file named, which contains information that will lead Windows to recognize your device as a scanner. Get it there and save it to some place on your hard disk, for example in your Documents folder (the actual location is unimportant, just make sure to know where you put it as you'll need to refer to that location later). Unzip the file: you should end up with a readme.txt file, and NikonUsbScanners64.inf - note that there is no .sys and nothing executable, and that the relevant files are digitally signed.

Next, download the last version of Nikon Scan (4.03 at the time of this writing) from the Nikon website, then proceed as follow:

Plug the scanner in a free USB port, turn it on and let Windows try, and fail, to find a driver for it, then...

1) Open the Device Manager (the quickest way is to click the Start button on Windows' taskbar, type Device Manager in the search box, the start menu should soon display the needed entry, click to open). Windows 8.x users can simply type Device Manager on the start screen, then look under Settings.
2) In the Device Manager window, locate the LS-5000 ED scanner (or LS-40 / LS-50) under Other Devices, then right-click the scanner's name and click Update Driver Software...
3) Click Browse my computer for driver software.
4) Type the name of the folder where you have unzipped the driver files (or use the Browse... button to navigate to that folder) and click the Next button.
5) Click Install on the Windows Security prompt, then click Close after Windows finished installing the driver.

Finally, install Nikon Scan 4.03 normally, but be sure to uncheck both drivers (LS-4000 / 8000 / 9000 and LS-40 / 50 / 5000) on the Select Drivers page.

That's it. The 32-bit Nikon Scan 4 should work fine on Windows 8.1, 8 and 7 64-bit (and Vista) and your scanner should be found and recognized. You can now delete the zip, readme, cat and inf files, they are not needed anymore.

EDIT: Aug 24, 2013 - The driver information file is now signed with Axel's VeriSign Class 3 digital certificate, which should remove the warning that was displayed on Windows 8.x

Brought to you by the makers of FastPictureViewer Professional, a fast 64-bit image viewer designed for photographers, and the FastPictureViewer Codec Pack, a 64-bit image codec collection extending Windows 7, Vista and XP SP3 with raw format support for 460+ digital camera models, Photoshop PSD, and a number of other image file formats such as TGA, SGI, DDS, Open EXR, HDR and more.

Friday, September 18, 2009

Raw Image Formats Support for Windows?

Starting with Windows Vista, Microsoft has introduced an all-new, extensible imaging framework called Windows Imaging Component (WIC) to be used throughout the system, including by Windows Explorer and the built-in Windows Photo Gallery / Photo Viewer. The framework is entirely documented, which makes it possible for 3rd party software vendors to take full advantage of its features.

The WIC framework, also part of Windows XP SP3 and Windows 7, ships with a number of built-in image decoders, called "codecs", to support common image formats such as JPG, TIFF, PNG, GIF, BMP, etc. What is sorely lacking is support for the diverse raw image formats produced by digital cameras, such as Canon CR2, Nikon NEF and NRW, Adobe DNG, Olympus ORF, Panasonic RW2, Sony ARW and SR2 etc.

Microsoft idea was presumably to let camera manufacturer write the codecs Windows needs to support their formats. Excellent idea, in theory, as manufacturers are best placed to process their own proprietary and often secret files.

In practice, however, only a handful of manufacturers actually developed the necessary decoders and the few who did completely ignored the 64-bit world, except one, leaving their users without any support commitment where they need it most.

Apple Mac users, on the other hand, enjoy seamless raw formats support built straight into the operating system. This approach has its disadvantages tough, for example support for new cameras is tied to operating system release cycles, which are typically quite long, and so new camera models might stay unsupported for months. On the other hand, built-in support - even slightly out of date - is way better than no support at all and with the advent of the 64-bit enabled OSX Snow Leopard the Mac platform once again has serious advantages for photographers, offering both raw support and 64-bit abilities, both being obvious benefits for digital photography applications.

Something that Microsoft maybe did not anticipate is how difficult it is to write proper codecs. 64-bit WIC codecs currently exists for formats such as TGA and DjVU, but 3rd party raw codec writers can easily be counted on one's fingers, only one company supplies commercial decoders for Adobe DNG, Canon CR2 and Nikon NEF, a far cry from the dozens raw image formats in use today.

In an attempt to help the photographer's community (and unlock the full potential of a WIC-enabled image viewer that we publish), we produced a free codec pack, dubbed the FastPictureViewer WIC Codec Pack, which brings raw format support to all editions of Windows for 19 raw formats, spanning 12 camera brands and covering about 300 camera models. The WIC codec pack provides thumbnail and previewing support to Windows Explorer, in both 32 and 64-bit flavors, along with full preview and slideshow support in Vista's Photo Gallery. Windows 7 Home Premium and Ultimate users also enjoy raw viewing and slideshow support in Windows Media Center.

Additionally, all application based on .NET 3.x or WPF, and native 32 or 64-bit WIC-Enabled application also benefit from the ability to open raw files just like they were JPEGs once the codec pack in installed.


Platforms supported: Windows 7, Windows Vista, Windows XP SP3, all editions, in both 32 and 64-bit versions.

Wednesday, August 19, 2009

View DjVU files on Windows 7 and Vista

DjVU (pronounced "déjà vu") is a file format originating from AT&T offering better compression than the ubiquitous Adobe PDF format.

Starting with Windows Vista, a new architecture for image decoding has been introduced and the built-in Windows Explorer is able to show thumbnails for image formats for which a suitable decoder has been installed. 3rd-party applications can also take advantage of the new software stack and benefit from installed codecs. Basically, all it takes to open and display DjVU files on Windows is a suitable decoder and a viewer with multi-page abilities.

A company called Caminova has developped the needed decoder, which can be downloaded here in 32 or 64-bit form. This software let Windows open the files, and create reduced-size views for display in Explorer (thumbnails).

FastPictureViewer Professional, an image viewer aimed at digital photographers, can take advantage of the DjVU codec for full-size multipage viewing of .DjVU files, with Direc3D hardware acceleration providing instant zooming and panning, plus advanced pre-loading and caching for near instantaneous navigation within the largest documents. The ability to view multi-page DjVU files is a nice side effect as this photo viewer was not originally designed for this type of viewing.

More information about DjVU can be found on

Friday, January 16, 2009

Left Foot Braking (and Scandinavian Flick)

Left foot braking, or LFB for short, seems to be many different things to many different persons. If you read this you are probably interested to learn about the technique, so let me start right away with a bit of advice: I strongly suggest taking a course with an actual Flying Finn (for example Pentti Airikkala, the men who actually taught World Rally Champions Colin McRae and Richard Burns and many other drivers, including, more recently, Jari-Matti Latvala and Mikko Hirvonen (and, much more modestly, yours truly), or attend Tommi Mäkinen's school for a hard-core tuition on the subject, or Juha Kankkinen's winter school for a more gentle introduction on frozen lakes with studded tires, or hire Jouni Ampuja and fly him over to your location, for a personalized training on gravel or tarmac, no matter what is your current level. The opinions expressed below are mine of course.

In a nutshell, LFB is useful for

1. Slowing down the car, just like "classic" Right Foot Braking, including for tail-braking and everything, but without any lag between throttle and brakes. This let you brake harder, sooner (so you can ultimately brake later) and reduces your overall reaction time, which in turn makes you more confident: if you run a bit to fast already and the corner is tightening a bit, you can quite easily slow down a bit an even throw the car sideways in the middle of the corner if needed, see below. When you first learn the technique (and begin to master it) it actually makes you slower: it's so convenient and reassuring that you tend to brake too much and too often. How does it work? When you lift the throttle abruptly, the car’s nose goes down (the entire car slow down, of course, so there is a "weight transfer" towards the front, but if you look closely, there is a very short and abrupt nose-dive that only lasts an instant).

The idea is to “catch up with the brakes” as the front of the car still goes down, so you benefit from increased load at the front (resulting in more normal force on the road surface = more grip) at the beginning of the braking. As a result you brake harder sooner and you don’t lock the wheels. The crux of the technique is to lift-off as abruptly as possible and slam the brakes quite hard, but only immediately at the moment the throttle is fully closed. You don't actually keep the brake pressure at its peak for any lenght of time, the brake pressure must be gradually released as the car's slows down: this is just basic physics: kinetic energy is 1/2 * m * v2 which means the "speed" enegy to dissipate in the brakes decrease quadratically (in other words: very quickly) as the car loses its velocity. Point to take home: no overlap between throttle and brakes: by all means, never, EVER, apply any brake pressure before the trottle is closed, you will just waste braking distance, as much as a car's lenght or two.

With the right-side foot, it’s too late when you reach the brake pedal and eventually apply significant brake pressure, no matter how quickly you think you "jump on the brakes": the car's nose is already slightly on its way up (the abrupt nose-dive effect is gone in about a tenth of a second, two at most, depending on suspension stiffness) and there is less load on the front wheels already, just when you need it most, as a result the wheels locks easily… Stiff suspensions make everything happen quicker so the stiffer the car, the less time you have to apply the brake pressure if you want to benefit from the free extra front load that immediately follows the abrupt throttle lift. To use LFB as your main (or only) slowing down technique, you need a gearbox that let you downshift without using the clutch at all (aka a "dogbox").
If you have a sychro gear box (like all road cars have, as well as most historic rally cars) then this technique is mostly limited to situations where you don't need to downshift (but I've seen Pentti do a Scandinavian flick in 4th gear, then do 4-2 with the clutch while the car was still sliding totally sideways, just before accelerating out of the hairpin - I was in the car). Now be prepared for a little shock: Flying Finns never use the clutch for downshifting! With a dogbox, they always use the clutch for upshifts, because - in the words of Pentti himself - "when accelerating, you cannot afford to miss a gear", but never for downshifting. Look carefully at what Tommi Mäkinen does on a Group N production car with a H-pattern dogbox.

Now a small tip: always slow down first, a lot, then downshift: simply keep the engine from under-revving, so you are at the beginning of the power band when reapplying the throttle, not already past the red line... it also makes it easier on the gearbox dogs (and the valvetrain, and the valve springs in particular - Super 2000 drivers beware!). In other words: slow down with the brakes exclusivelt (and, sometimes, by throwing the car sideways if you are on gravel), do not slow down the car on the engine. It takes a lot of time and practice to be able to modulate and apply those "20% slip" maximum braking force with the left foot at any speed, including from the rev limiter on the last gear, going downhill towards a tight hairpin, but the benefits are worth the effort.

2. Throwing the car sideways: it starts with an accelerating car with the throttle floored, usually in mid or high gear (3rd, 4th and up), which is the normal situation in rallying: throttle floored and picking up speed all the time is the way to go! Whenever it’s time, start with a smooth steering input in the direction you want the car to turn while getting abruptly off throttle, then immediately apply moderate pressure on the brakes with the left foot, all in a split second and in a smooth overall motion, but in that order (NO amount of simultaneous throttle and brakes). The rear starts to slide because of the steering input and the abrupt weight transfer to the front. You stop it from sliding by easing off the brakes and re-applying some throttle, with a little less steering input or perhaps a little counter-steering of you over-did it, but in any case the steering inputs should be light touches, you steer more with the feets than with the steering wheel!

You increase the sliding (yaw angle) by easing the throttle and applying a little more brakes, and perhaps with a very little more steering input (brakes and throttle controls the amount of load transfers on the front-rear axis, steering sort of controls the yaw angle change rate). The key word here is smoothness. Throttle and brakes always move in antagonist manner, never brakes + throttle at the same time, you trade one for the other (there may be some insignificant overlaps, but the pedals really always move in opposite directions: when one goes up the other goes down and vice-versa, watch Tommi Mäkinen explain his footwork with the hands). The whole setup takes about 1 second and you find yourself sligthly oversteering, with the throttle on, and the front wheels almost straight, pointed at what will soon be your apex.

From there it's a matter of going through the corner while maintaining both the speed and the slight oversteer, by modulating the throttle (you typically apply lots of throttle at this point) and a little brakes as needed, and applying minor steering corrections. The car goes round the corner with very little overall steering input and (again) lots of throttle (listen to Tommi: "wheels completely straight and full throttle in the corner"); this technique allows you to take corners fast when grip is low, as you depend much less on front grip to turn the car, so it's a great technique to help overcome understeering and you are using all 4 wheels through the corner instead of just the outer-front one. While most effective on 4WD cars, the technique works mostly the same for all type of cars with slight variations for FWD cars, see notes below.

Beware that it only works well from a certain speed, say from 60 to 70 km/h (40mph) and up, depending on the grip conditions. In fact, it usually starts working well when starting from a speed quite higher than the speed at which you could ever take the corner "normally", on the given conditions. Bottom line: you'll crash if you don't know what you are doing, and you need true determination to succeed with this technique!

3. Throwing the car sideways in a pendulum motion: The Scandinavian Flick (sometimes used on mud, snow or gravel but probably never on asphalt). It consists in using the above technique to throw the car sideways in the opposite direction while still moving, overall, in a staight line: steer slightly in opposite direction, lift off and appy the brakes in a split second. When the car starts to slide, steer to keep it going straight with a bit of opposite lock, some throttle and less brakes. You are actually driving sideways-in-straight-line here, perhaps for 10-15 meters/yards, sometimes more, with subtle steering inputs and a bit of brake/throttle modulation - this is extremely hard to do right, especially considering that the car is moving at high speed, perhaps 100km/h (60 mph), sometimes much more. Just before the turn-in point is reached, release the brakes and apply some light throttle while steering a bit more in the corner's direction, and wait... The car has slowed down by now and eventually the rear wheels will bite as you loaded them a bit with a little throttle and released the brakes. Just after the car started swinging back, release the throttle and reapply a (smooth) bit of brakes almost the same instant: it will pick up rotational speed quickly in the corner's direction and swing (flick) with some determination. Just before you find yourself oversteering in the proper direction, release the brakes (you can use the clutch to engage the proper gear now, if you need to, you'll do so while the car is still swinging), then apply throttle to seat the rear, and modulate as needed to control the yaw angle, as described above, while keeping the front wheels in the direction you want to go. This is NOT easy to do. The Scandinavian Flick let you slow down the car quite effectively almost regardless of the grip level and the pendulum motion makes sure it will turn, even if the grip is very low. This is the ultimate anti-understeer technique but use with moderation, i.e. only when the grip is so low that the car would not turn otherwise. Note that it's a relatively long operation (NOT a quick steering input in opposite direction right at turn-in!), you have to start the whole manoeuver with a lot of anticipation, depending on the speed and grip, perhaps 30-40 meters/yards (sometimes much more) before the corner's "normal" turn-in point, also note that it only works at speed, say 4, 5 or even 6th gear for best effectiveness...

The most difficult thing to overcome: if you take the corner normally - you know: tail brake then squeeze the throttle on the perfect racing line - you will reach a point where you crash with terminal understeer if your entry speed is too high for the grip level and the given corner. The problem is that you have to go quite substantially faster than that for the above techniques to start working effectively, i.e. to be able to set up the car with the proper level of oversteer and go through the corner safely (and certainly quicker). Needless to say, you need a lot of confidence and training, even more to be able to do it consistently. Keep in mind that this pendulum technique was developped to drive fast on ice, snow and gravel, and that there is no miracles (for example driving fast on ice without studs is hopeless, or if you present yourself way above the "right" speed for a given corner). Pendulum techniques make no sense on asphalt, where (left-foot) tail-brake oversteer and clean, smooth, unspectacular lines are much more effective and quick. The perfect illustration: Mikko Hirvonen on snow. Watch this carefully a few times, then re-read the above.

4. Settling down the car: a bit of brakes helps settle down the car when landing from a high-speed jump with the throttle floored. This is essentially the only case where you'd briefly apply significant throttle and brakes simultaneously, but only for an instant and usually in straight line. It helps stabilize the car when landing, say, above 160km/h (100mph) from a jump. Listen what Marcus Grönholm says about this technique: "..even at full throttle I'm a little bit using the brakes to stabilize the car... not much, just a little bit" (he's driving on gravel near 200km/h (125mph) here).

It's not easy to combine 1 and 2, as 2 is much more effective when starting with the throttle wide open. Still, you can steer somewhat early (before the normal turn-in) and let the car oversteer a bit by the time you reach the theoretical turn-in point. To do that you need to release some brake pressure, slightly before the end of the straight-line braking phase, to gain a bit of directional ability (remember the traction circle: you cannot really turn if already under maximum braking) and the car will get sideways as there is little load (and some remaining braking force) on the rear. The whole point is to create some slight, deliberate oversteer to make sure to be on the safe side, i.e. not understeering. The tires will give you their best with a few degrees of slip angle so a little oversteer actually helps the cornering force and let you go through any corner faster (a little is, say, 5-7 degrees of yaw angle, just to give a number, a bit more as you go slower and/or there is less grip available).

FWD notes: On front wheel drive cars, you can leave a little throttle on (maybe 10%?) during the entire braking phase, this helps avoid locking the front wheels and stalling the engine, which spells your death on slippery roads as even releasing the brakes completely will not cause the engine to restart, you'll end up with both front wheels locked and no power steering, way past the turn in. Needless to say, you will NOT make the next corner. Keeping some throttle conteracts the brakes a little and can actually be useful for FWD brake modulation on very slippery roads as it makes the wheel locking point "softer".

You can also dynamically alters the brake balance if you modulate some slight throttle while braking: a little more brakes with a little more throttle is like biasing the balance to the rear. Impossible to do this when braking with the right-side foot... Raising the idle RPM also helps and acts as a cheap anti-lock system. You don't need the engine brake anyway, today's brakes are very effective so don't fear raising the engine's idle speed some 500-800 RPM above normal if you use your left foot for all braking (with right-foot braking the diminished engine brake is a bit scary). Also on FWD (only!) you can leave some brakes on (again, perhaps 10% or less, just a tad bit) during the entire corner phase, and fade the brakes out up to the very exit. This helps the front diff (= more traction out of the corner) and also removes a bit of rear grip, helping the car to turn.

Do it very lightly, there is absolutely no point in getting heavy on the brakes and the throttle at the same time, on FWD you'll end up locking the rear wheels completely (or the front wheels on a RWD car), losing some control in both cases. On a 4WD you are just burning the brakes. I've seen some RWD drivers brutally slam the brakes with the left foot to lock the front wheels - and understeer - as a last resort to avoid a spin during a stupid (and slow) so-called "power-oversteer". It works, but this is not what LFB is about. On road-going turbo cars you might want to apply some throttle early, while still (tail) braking, to help the turbo pick up some speed and reduce the lag. On proper rally cars with turbocharged engines the anti-lag system does a much better job at keeping the turbo spinning, so no such trick is needed.

Watch a master at work (Colin McRae on YouTube, explaning left foot braking). Scandinavian flick at about 1:30 in this other video. Also don't miss Tommi Mäkinen's footwork on wet asphalt (starts at 13:05). Hopefully you'll appreciate the smoothness. By the way that car does 0-100 km/h in about 3.6s on the wet...)

Finally, a word of caution: by all means, DON’T TRY THIS AT HOME. Don't trust your (and other's) life on information found on the internet! Take a one-to-one course with someone who really know what he’s talking about (usually a Finn...), then practice, practice more, and go back take a second course, maybe a couple of months later, THEN raise your ambitions. Once you have learned it you can never go back, right foot braking is simply far too dangerous :-)

Wednesday, April 16, 2008

24.4 MP Nikon D3X DSLR on the way?

Taking a closer look at the newly released D3 firmware (v1.10) I stumbled upon the following text strings, starting at offset 3'614'640 within the B-firmware file:

6048x4032 24.4 M
4544x3024 13.7 M
3024x2016 6.1 M
5056x4032 20.4 M
3792x3024 11.5 M
2528x2016 5.1 M
3968x2640 10.5 M
2976x1976 5.9 M
1984x1320 2.6 M

A hint at the arrival of a new flaship DSLR from Nikon? Only time will tell...

Saturday, January 26, 2008

I started something...

Mid-december I - rather suddenly - found myself with a few weeks of spare time, as something I had been working on for some time just fell short of its expectations.

The next math exams (I'm working on my BSc in Mathematics at the University of Geneva) were still a good six weeks away so I decided to pull out one of the many software project ideas hanging around in my mind, one of those I never really had the time to consider seriously.

I needed something simple, that could be implement in a matter of weeks and which might turn into a small shareware or commercial product, hopefully a helpful one. It had to be simple because of the time constraint, yet challenging and somehow unique in its own way... the choice was not easy.

While looking at photos from my (now defunct) cat Siłek, an article I read online some time ago came to my mind. It was titled "Sports Illustrated's Digital Workflow", by Eamon Hickey, and described in great details the digital image workflow of a large sports magazine’s team during a huge event. It's just incredible.

I enjoyed that article so much at the time that I remember having read it several times. I was amazed at the amount of work that could hide behind a magazine's cover picture and a few illustrative images, and also horrified at the idea of having to browse through more than 16’000 pictures - sixteen thousands – on a PC over just a few hours.

There came the perfect idea: I could use all the knowledge I gathered during so many years writing imaging software and high-performance, scalable systems of various kinds to put together a small, minimalist image viewer that would focus only on one simple thing: speed. Startup speed, image load speed, display speed, nothing but speed.

From there the ideas started to flow. I could use graphic hardware acceleration, take advantage of multicore processors, write the code in native language for maximum performance and minimal size while using all the tricks in the bag to reach the only goal I set to myself: create the fastest possible image viewer I could imagine.

Six weeks have now elapsed, I think I’ve never worked so hard over such an extended period of time, literally 20 hours a day for a month and a half straight (that’s nearly five months at a normal worker’s pace) but the result is quite satisfying: the one goal was reached. The program is now available for the world to see - This is not an ad so I won’t tell where it is but it’s not hard to find if one know where to look - and now I can go back to my studies until the next holidays.