Improving this situation has been hampered up until now for two main reasons:
- RISC OS hardware has been too slow to play back video at an acceptable rate;
- RISC OS software hasn't supported popular codecs (formats), some of which are proprietary and expensive to license.
The first of these is already well on the way to being fixed. The Beagleboard is modestly powered in comparison to the average desktop PC, but it's perfectly capable of playing video at a decent rate. The diminutive boards have been shown running 720p video (a high-definition format) while running a Linux distribution - have a look here to see this in action.
The RISC OS port can't quite match that yet. All that might be about to change, though, due to the development of something called Theorarm. This is a library of routines to enable the playing of videos in the Ogg Theora format on ARM-based machines. Ogg Theora is a relatively new format, but it has some interesting features. Perhaps most importantly, it's entirely open source, so videos encoded using the technology can be played back by any suitably-written software. Moreover, Theora is one of the contenders for the [video] tag in the new HTML5 specification. That means that it may become a significant rival to the more common MPEG and Flash videos on the web.
Theorarm is interesting, as it's been optimised for newer ARM chips using hand-written assembly code. This makes it very fast. The developer, Robin Watts (of Warm Silence Software fame) has done some development work on the Beagleboard, with promising results: "With post processing disabled, I can play a PAL DVD sized film (720x576x25fps, 48kHz stereo audio track) in realtime with software YUV2RGB. The limited profiling I've done, along with some back-of-an-envelope maths suggests that we should just about be able to do 720p films if the YUV2RGB process is done by hardware." That means, in English, that DVD-quality film can be played back on a Beagleboard with decent audio too. If some of the complex conversions from YUV colour format to RGB could be carried out in hardware, then higher definition films could be played.
This is pretty exciting stuff for Beagleboard owners. If Theorarm is ported to RISC OS (and there's no reason, other than developer time and effort, why it couldn't be), then we'd have the basis of a fast, native video playback system. Some issues would require addressing, of course, since RISC OS can't handle the Beagleboard's YUV facility - see here for Jeffrey Lee's proposals to fix this - but these are all surmountable.
If anyone is interested in getting involved, then the ROOL project is the place to start. In particular, the proposals for working on the GraphicsV vector need attention from developers with the right level of experience, and the draft API on the ROOL site could do with some more exposure.
A few years ago, RISC OS lacked fast hardware, a half-capable browser and a media player capable of showing popular streaming video formats. The first two are being actively addressed - what are the chances that the last one will be as well?