Wednesday, January 14, 2009

Finally, a dual-cpu HD video player

The new DivX v7 is the first video player (that I know of) to support dual-core CPUs. This is a major development as all previous software was unable to coordinate both halves of a now-typical dual-core. So you had to have a really fast CPU to play high-definition videos especially if they were encoded in the new h.264 format. Now, with DivX 7 you can manage it with a much slower dual-core, i.e., with older machines.

Unfortunately, this is only available on Windows (not Linux).

I've done some quick testing and so far the program lives-up to it's claims! I was able to play a 1080p h.264 clip on a dual-core AMD Turion 1.7 GHz, which is about a 3 year-old model. With all previous programs this processor could only play it at half-speed. Now, it can just barely play it at full-speed, and only if the video is full-screen (not windowed) and without anything else displayed on screen such as the mouse pointer.

One problem, however, is that it does not appear to include any deinterlacing. So even though it's fast enough to play 1080i AVCHD clips they look terrible because of the interlacing artifacts.

Monday, January 5, 2009

Further info on playing AVCHD

I've had a chance to test this on several computers now and can make the following clarifications and improvements to the suggested procedure.

  • You need at least a ~2.4 GHz processor. It doesn't playback correctly on my 1.9 GHz whereas it plays-back with spare cpu cycles on my 2.7 GHz AMD X2, as well as on a 2.7 GHz Intel Core2.
  • The existing 0.9.4 version (in the standard repository) plays AVCHD just as good as the newer "1.0~git" nightly. So there's no need to go through uninstalling, adding the 'nightly' repository etc. But you may still need to reset the configuration files.
  • The UI on the 1.0 version has a lot of bugs, so it's preferable to use 0.9.4 in that regard.
There are 3 changes you should make in the configuration:
  1. in Tools > Preferences, under Instances, enable "Allow only one instance".
  2. Click on Show Settings:All (radio button in bottom-left). Under Input/Codecs > Other > FFmpeg,
    set "Skip loop filter for h.264" = ALL
  3. under Video > Filters, on the right-side screen, scroll down the page to the second listing (for Video Output Filter Modules) and enable "Deinterlacing video filter"
That last change re deinterlacing will cause VLC to default to "Discard" mode which uses the least CPU. If you have CPU cycles to spare, of course, you could then go down into the Filters > Deinterlace settings and select a better mode.