Upscaling video

I have an awesome Full-HD projector and I have a lot of non-HD video material, ranging from DVD-rips to speedruns of older consoles and I’m using a Mac Mini running Windows (first Vista RC2, then XP and now Vista again) connected to said projector to access the material.

The question was: How do I get the best picture quality out of this setup.

The answer boils down to the question of what device should do the scaling of the picture:

Without any configuration work, the video is scaled by your graphics card which usually does quite a bad job at it unless it provides some special upscaling support which the intel chip in my Mac Mini seems not to.

Then you could let the projector do the scaling which would require the MCE application to change the screen resolution to the resolution of the file played. It would also mean that the projector has to support the different resolutions the files are stored in which is hardly the case as there are some very strange resolutions here and then (think game boy’s native 140×102 resolution).

The last option is to let your CPU do the scaling – at least to some degree.

This is a very interesting option, especially as my Mac Mini comes with one of these nice dual core CPUs we can try and leverage for this task. Then, there are a lot of algorithms out there that are made exactly for the purpose of scaling video, some of which are very expensive to implement in specialized hardware like GPUs or the firmware of a projector.

So I went around and finally found this post outlining the steps needed to configure ffdshow to do its thing.

I used the basic setting and modified it just a bit to keep the original aspect ratio of the source material and to only do the resizing up to the resolution of 1280×720. If the source is larger than this, there’s no need to shrink the video just to use the graphics chip to upscale it again to the projectors native 1920×1280 resolution (*sigh*).

Also, I didn’t want ffdshow to upscale 1280×720 to the full 1920×1280. At first I tried that, but I failed to see a difference in picture quality, but I had the odd frame drop here and then, so I’m running at the limits of my current setup.

Finally, I compared the picture quality of a Columbo (non-referal link to Amazon – the package arrived last week) DVD rip with and without the resizing enabled.

The difference in quality is immense. The software-enhanced picture looks nearly like a real 720p movie – sure: Some details are washed-up, but the overall quality is worlds better than what I got with plain ffdshow and no scaling.

Sure. The CPU usage is quite a bit higher than before, but that’s what the CPUs are for – to be used.

I highly recommend you taking the 10 minutes needed to set up the ffdshow video decoder to do the scaling. Sure: The UI is awful and I didn’t completely understand many of the settings, but the increased quality more than made up the work it took to configure the thing.

Heck! Even the 240×160 pixel sized Pok√©mon Sapphire run looked much better after going through ffdshow with software scaling enabled.

Highly recommended!

By the way: This only works in MCE for video files as MCE refuses to use ffdshow for MPEG2 decoding which is needed for DVD or TV playback. But 100% of the video I watch are video files anyways, so this doesn’t bother me at all.