Argh Argh!

OK, the c1000 and c3x000 NATIVE resolution is

480x640 - 480 WIDE by 640 HIGH, NOT 640 wide by 480 high.

So when you encode a video at 640x480, and try to play with -vo pxa, it 
will try to open a framebuffer of size 640x480, which is too big, as 
the biggest supported is 480x640.

I put in some fairly OK rotation support into the mplayer pxa driver, 
but this is software 0 there is no hardware support. I *ONLY* bothered 
with this in 240x320 mode, as the zaurus DOES NOT have the cpu to play 
480x640 movies at a good frame rate - so there is no point.

You should get very good results with video of 320x240 size, encoded 
just about any way, with more or less any audio format, as long as the 
bitrate is 44.1kHz or 48kHz. If the audio is 32kHz it will play really 
badly - check this by putting the -noaudio (might be -nosound, can't 
remember) flag to mplayer. This is fixable by using you .asoundrc to 
software resample from 32kHz to 44.1kHz before giving to the hardware. 
I have tested using .asoundrc to do this and it works. I think you can 
also get mplayer to do this in software too.

To get the pxa driver to do rotation and set the resolution to 240x320 
you need to use the -vm flag.

If you use the -vm flag it will auto rotate the video to match the 
screen. It will also crop the video to the middle of the screen.

So the following should get you good quality video:

mplayer -vo pxa -vm -quiet -double -framedrop -noaspect file

You may also see less "tearing" if you do:
mplayer -vo pxa -vm -quiet -double -framedrop -noaspect -noslice file

(it might be -noslices, can't remember)

Now for the 640x480 video. There are 3 problems:
1 - the video overlay uses uncached memory. The frame buffer driver 
needs to be updated to allow the use of cached memory with double 
buffering and a mechanism to flush the cache.

2 - when using 480x640 resolution, the refresh rate is set to be very 
high. This uses much SDRAM bandwidth. Also the bottom layer screen 
depth is 16bit - again this uses lots of bandwidth - it could be 
reduced whilst playing moves full screen. This needs a new mode added 
to the kernel, and maybe a change to the pxa fb driver to allow the 
depth to be changed without freeing the screen buffer.

3 - the current pxa mplayer driver enables the "text" overlay, used by 
mpalyer to draw the icons and time indications etc all the time. This 
wastes more DMA bandwidth. The driver needs to be updated to only 
enable this overlay (overlay1) when something is on screen.

Cheers,
Tim





_______________________________________________
Angstrom-distro-users mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-users

Reply via email to