Originally Posted by waterhead
How come I can play MPEG2 files on every other type of computer without having to pay extra?
...because the RPi lacks the CPU horsepower to decode MPEG2 in realtime, at least for 1080i/720p HD video sources (I.e. OTA ATSC or MPEG2 BluRay releases). Don't know if the RPi's 700MHz CPU could decode even DVD (I.e. 480i/480p) MPEG2 smoothly. Even a 10+ year old 800Mhz P3 can decode DVD MPEG2 without issue, using FOSS MPEG2 decoders.
The RPI's GPU is the Broadcom Videocore-
GPU: Broadcom VideoCore IV, OpenGL ES 2.0, MPEG-2 and VC-1 (with license), 1080p30 h.264/MPEG-4 AVC high-profile decoder and encoder
which apparently doesn't have FOSS drivers for the MPEG2/VC1 decoding yet, hence the license needed to get the GPU hardware decoding working.
...which defeats the point of the RPi, at least for HTPC/media playback use.
I've avoided the Rpi for these reasons- the CPU is too low power to decode common video codecs using FOSS MPEG2 decoders, and there's no FOSS driver for the Broadcom GPU used on the board yet, so no hardware decode assist. I assume the RPi in its current form would be useless for playing even SD Flash video:
The RPi team gets a lot of credit for what's been accomplished so far, and applying software FOSS principles to the hardware design has been a worthy goal. But they should have picked a more FOSS friendly GPU for such a high profile project that touts user freedoms.
There are far better alternatives (though more costly) to the RPi, with dual or quad cores and better GPU's.
Still an interesting technical achievement for free-speech-ish hardware, though shortsighted on the GPU selection re: freedom.
IMO, the current RPi is not a good choice as a general purpose media center- maybe a decent music player/server, but not for video playback and fancy frontend GUI's .
Moral of the story- to ensure functionality with FOSS software and drivers, you need multicore ~1.6GHz MINIMUM to cover CPU decoding of common video codecs.
The current RPi is shaping up to be simply an Arduino alternative-
given the RPi's CPU/GPU limitations