What would be a realistic but challenging level for Bryce announced trophy money for video playback on the Neo1973? Re: h.264 format is now open?

Siarhei Siamashka siarhei.siamashka at gmail.com
Fri Feb 2 22:06:43 CET 2007

On Friday 02 February 2007 12:31, Robert Michel wrote:

> Some video information given by Sean in november:
> http://lists.openmoko.org/pipermail/community/2006-November/000340.html

A few technical questions here. Is image data constantly transferred to LCD
from system memory (60 times per second)?

If we compare it to Nokia 770, Nokia 770 has a similar design with framebuffer
stored in the system memory with data getting transferred to graphics chip
using DMA when needed (graphics chip has its own video memory). Anyway, 
screen update requests do not seem to have any visible impact on video
decoding performance (tested with 640x480 24 fps video). So DMA transfers 
are not too expensive and cpu can do some other useful things while DMA
transfer is in process.

If video is really heavy on memory bus, is it possible to reduce refresh rate
somewhat (to 50Hz for example) to improve performance?

By the way, initially some people also considered Nokia770 hardware 
to be too slow for video playback with full fps and more or less acceptable
quality, check built-in video player limitations [1], but now using MPlayer
build for maemo [2], it can handle even some nontranscoded video files 
more or less successfully. For example when using the following video clip
(http://www.divx.com/movies/detail.php?movieID=57&cID=1), it can 
be watched fullscreen with ~30% frames dropped (resulting in jerky 
playback on fast moving scenes).

If we compare Neo 1973 to Nokia 770, it:
* has ~5% faster cpu clock frequency
* does not have enhanced dsp instructions support (these instructions provide
~10-15% decoding performance improvement currently)
* does not have DSP to relay audio decoding to it (mp3 audio takes ~15% cpu
resources if libmad decoder is used on ARM core)
* does not have hardware YUV support (that may result in more cpu resources
needed for video output and a lot frames dropped because of software YUV->RGB

So while Nokia 770 should be faster for video, Neo 1973 is not too far behind.

But one of the most important performance statistics is memory bandwidth, can
anyone benchmark memcpy on copying a large data block? Nokia 770 has memory
copy bandwidth up to 110MB/s, if Neo 1973 has a similar memory performance, 
it should be not so bad for video.

Just for some experiment, I compiled mplayer for arm920t (not using armv5te
instructions), and benchmarked it with sdl video output (software YUV->RGB
conversion, generic nonoptimized scaling 320x240 => 640x480) and libmad 
mp3 audio decoder. This test was run on Nokia 770, but the intention was to
simulate how it can possibly behave on Neo 1973.

# mplayer -endpos 100 -vo sdl -ac mad -framedrop -quiet -benchmark test.avi

VIDEO:  [DIVX]  320x240  24bpp  23.976 fps  401.2 kbps (49.0 kbyte/s)
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)

BENCHMARKs: VC:  46,446s VO:  38,929s A:  13,574s Sys:   2,082s =  101,031s
BENCHMARK%: VC: 45,9718% VO: 38,5312% A: 13,4359% Sys:  2,0611% = 100,0000%
BENCHMARKn: disp: 1368 (13,54 fps)  drop: 1031 (42%)  total: 2399 (23,75 fps)

Actually VO: part in this benchmark can be heavily optimized and video
playback without dropping frames for this resolution and bitrate should be
possible. Also if we badly need to watch some video at any cost and can't
transcode it, video can be watched in grayscale, in this case video decoding
is a bit faster and we don't need resource consuming YUV->RGB conversion 
(conversion to grayscale is cheap).

Anyway, let's wait for the information from the first Neo 1973 owners. I think
that the information about real Neo 1973 multimedia capabilities will be
available really soon :)

[1] https://maemo.org/maemowiki/VideoEncoding
[2] https://garage.maemo.org/projects/mplayer/

More information about the community mailing list