One of the FAQs regarding the current Intel Mac Minis is "will it play HD video", or "will it play 1080p video". The answers have been all over the place, from emphatic "yes" and "no" answers to hazy "maybes" with few real details.
It's important to have a good answer to this question because many, many people are interested in the Mac Mini as a HTPC. There is little value, however, in spending time and money on a platform if it isn't powerful enough to run ALL high definition content that one might encounter.
In this post I will discuss how to measure high-definition playback in a useful way, what problems people are currently having with high definition playback, and why the current Mac Mini is probably fast enough to handle all currently available high definition content.
First, it is not useful to ask if a device can play "HD" or "1080p". A high definition clip can be anything from 480p to 1080p. Further, even if one does specify a resolution: "my 1.8ghz mini can play 1080p", it tells us nothing about how difficult decoding the clip really is. There are many, many 1080i files floating around with extremely low (<4 mbps) bitrates. Likewise, there are many 720p files with 10mbps bitrates. Just because your Mac Mini can play a bitrate starved DirecTV rip you got from Usenet does not mean your Mac Mini "can play HD".
Finally, the format used can dramatically affect playback performance. MPEG-2 is not very CPU intensive to play back, whereas h.264 is extremely CPU intensive to play back.
At the very least, when discussing video files, we should specify encoding format, resolution, and bitrate. My favorite way to compare the details of video files is to run the 'midentify' script that is part of the mplayer package. This script outputs details like this:
In this example, we have a MPEG file with a 1920x1080 resolution and a bitrate of 17.5mbps.
If you learn nothing else from this post, I would like you to understand that it is a waste of time to compare playback quality and speed if you don't have at least those three metrics.
With that in mind, how well does the Mac Mini play back high definition content ? The answer is, very, very well. The problem is that, for most of the lifecycle of the Intel Mac Mini, most playback software has NOT been multi-core aware. For instance, until recently, release versions of VLC did not use multiple CPU cores for h.264 playback. Even now, with the 0.8.6e release, a 1920x1080 h.264 file with a (variable) bitrate of 11-30mbps, is rarely using more than 60% of each core of a 2.0ghz core2duo. Most of the time it is below 50% on each core.
The current version (0.1.5) of OSXBMC performs much better. Whereas playing the above clip is impossible with VLC (which could lead a user to conclude the Mac Mini is not powerful enough to play such a clip) it plays quite nicely in OSXBMC.
I am not trying to highlight one player software over another. What I am trying to highlight is that previous failures to play high definition content on the Mac Mini by the many people that have tried are mostly due to inefficient players. The actual hardware itself is most certainly capable of playing the most difficult of video files. This situation is improving daily. VLC, OSXBMC, and the ffmpeg component of OSXBMC are all being constantly updated - further streamlining and optimizing the decoding h.264 and other difficult video files.
Things are not perfect yet. The worst case scenario in the world of difficult video files is probably a 40mbps, 1920x1080 h.264 encoding of the "bird scene" in Planet Earth:
<kozubik> elan_osx : you know those frame drop numbers you have on the .5 relnotes, RE: bird scene ?
<kozubik> elan_osx : any idea what % drop that was ?
<elan_osx> pretty damn high
<elan_osx> it wasn't completely unwatchable, but it was pretty bad
However, only 1.5 of the 2 CPU cores were ever fully utilized during that test. So at the time of this writing, there is (roughly) 30% more decoding performance available, given the right thread optimization. Further, this assumes that no improvements are made in the decoding algorithms themselves - only improvements in their thread handling. I personally do not have any clips as difficult as this one, and thus I am fairly close to 100% success at "1080p HD" playback - even with very high bitrate 1080p h.264 files.
In conclusion, I believe the 2.0ghz core2duo Mac Mini is capable of playing all modern high definition files that one could reasonably encounter, circa 2008. Currently, OSXBMC, with ffmpeg underneath, seems to be the best decoder, but I am sure VLC will catch up eventually. When all is said and done, I feel confident that even the "bird scene" will be made watchable, provided that final 50% of a core can be utilized and some additional optimizations are made by the ffmpeg developers. At that point you will be very hard pressed to find any video files that the 2.0ghz core2duo Mac Mini cannot play.