[theora] Theora player for Nokia Series 60

Stuart Fisher stuart.fisher at fig7.com
Sat Apr 17 03:57:24 PDT 2010

>> Big Buck Bunny:
>> Decoded file: E:\Ogv\BBB-320x180.ogv
>> 7349 frames displayed
>> 6775 dropped frames (2)
>> Elephant's Dream:
>> Decoded file: E:\Ogv\ED-320x180.ogv
>> 7956 frames displayed
>> 7328 dropped frames (2)

Those are quite interesting results. I'm quite surprised actually. My N82 
plays both those files almost flawlessly (practically zero dropped frames). 
On paper it's a slower phone (330MHz processor vs. 369 MHz), but in practice 
it's not the clock speed that seems to count. The N82 and older Nokia phones 
use TI OMAP processors. All the newer Nokias use processors made by other 
companies (I don't know the details). The impression I'm getting is that the 
processors they are using now are just not as good as the ones from TI. My 
5800 also seems inferior to the N82, although it's not really a fair 
comparison as it has to draw 4 times as many pixels (the screen size is 
640x360). I could do with having something like an E71 (or another similar 
Nokia) so that I can run a complete analysis of performance. If you're 
willing, maybe I could get you to run a few more tests?

I'm intrigued as to why you're getting so many dropped frames (2) and not a 
single dropped frame (1). The results also look much worse than I was would 
have expected. That's the kind of result I get on my Nokia 5800 but in that 
case the phone is also having to scale the image to the size of the screen. 
The only thing I can think of is that your phone is scaling the image for 
some reason. That shouldn't be necessary though as the screen on the E71 is 
the same size as the video. It doesn't make much sense really.

> I can only assume that 'dropped' here means yuv2rgb and output
> skipped... theora itself desyncs if you skip decoding frames.
> If this is output bound then there may be hope for better performance
> by better use of the display drivers.

No, not in this case. The (2) means dropped at the final output stage. 
"dropped frames (1)" means dropped before yuv conversion. dropped frames (2) 
is effectively saying "yuv conversion and scaling took far too long, so I'm 
dropping the frame". What I don't understand is why the yuv conversion 
appears to be so slow on Nik's E71.

Unfortunately I don't know very much about the display driver (or any other 
parts of the hardware) on the newer Nokias. However, the display driver 
component on Symbian (Series 60) is usually protected by platform security 
and therefore probably won't be accessible to me. I will try to find out a 
bit more about that though, as it would be nice to do yuv conversion in 
hardware if the phones have it (I know that OMAP3 phones do have hardware 
support for that kind of thing, but OMAP3 is only used by the Sony Ericsson 
and Samsung phones I mentioned earlier).

More information about the theora mailing list