Notices


Reply
Thread Tools
Posts: 503 | Thanked: 267 times | Joined on Jul 2006 @ Helsinki
#471
Originally Posted by sherifnix View Post
I just had a question about the DSP and motion compensation stuff. Does Nokia have to write drivers to open these up to you, or is it just optimization done on your end.
As far as I know N800 has C55x DSP core clocked at 220Mhz (the same 252MHz core is used in Nokia 770) and also IVA running at 220MHz (1). I did not find much information about IVA, but the following post suggests that it is ARM7 core with some multimedia coprocessors. C55x DSP core can be theoretically good for video and some people have even compiled simple examples for it, but in practice seems like nobody did anything of practical value for it up to this moment. In order to use IVA we would need some documentation and also support for it in dspgateway. Also I don't have any DSP programming experience ... yet
 
Posts: 503 | Thanked: 267 times | Joined on Jul 2006 @ Helsinki
#472
mplayer_1.0rc1-maemo.17 has been released:
* Added YUV420 color format support for framebuffer video output ('-vo nokia770'). It works out of the box for N800, but needs a fixed kernel for Nokia 770 (https://garage.maemo.org/tracker/ind...d=164&atid=683). Nokia 770 requires explicit command line option '-vo nokia770:yuv420=1' for enabling YUV420 video output (using it with the default IT OS 2006 kernel will just crash the device). YUV420 format provides 20-30% speedup for video output (overall improvement is only a few percents though as video decoding usually takes much more time than video output)
* Now '-vo nokia770' is temporarily set as default video output for N800 as it lets to have fast video output performance even without xserver patch https://bugs.maemo.org/show_bug.cgi?id=1278)

This is an experimental version (for the reasons explained above), so if it does not work good for you, you are advised to stay with version .16
 
Posts: 2,152 | Thanked: 1,490 times | Joined on Jan 2006 @ Czech Republic
#473
If anyone really wants that few percent speedup on n770 and wants to flash custom kernel because of this, let me know and I'll provide a link for such kernel image if you cannot compile kernel yourself with that patch. Also if such adventurous soul has relatively new N770 device I would need a tester for tearsync (i.e. tearless playback) feature, see this
http://maemo.org/pipermail/maemo-dev...ay/010156.html
and bottom of this
http://maemo.org/pipermail/maemo-dev...ay/010285.html
you should have higher HW build version in /proc/component_version than me (1602) and are not afraid of flashing kernel. On my device (one of the first ones from November 2005) it simply hangs. It may be that on newer device (newer HW build) those pins inside are connected \and tearsync feature will magically work. But it may also be that my code is buggy and most probably the device will hang when enabling the tearsync feature with mplayer (default is disabled). Otherwise such kernel should work as usual but without any warranty of course :-)

Serge, is the tearsync option for -vo nokia770 in .17 too?
 
Posts: 503 | Thanked: 267 times | Joined on Jul 2006 @ Helsinki
#474
Originally Posted by fanoush View Post
Serge, is the tearsync option for -vo nokia770 in .17 too?
Yes, 'tearsync' option is supported: '-vo nokia770:tearsync=1'.

By the way, it can be also used on N800 to disable tearsync ('-vo nokia770:tearsync=0') for real 'racers' who need the best performance at any cost
 
Posts: 2,152 | Thanked: 1,490 times | Joined on Jan 2006 @ Czech Republic
#475
Originally Posted by fanoush View Post
If anyone really wants that few percent speedup on n770 and wants to flash custom kernel because of this, let me know and I'll provide a link for such kernel image if you cannot compile kernel yourself with that patch.
I guess it is easier to put here a link just in case anyone with N770 is interested
http://fanoush.wz.cz/maemo/zImage-yuv420
1276624 bytes
md5sum is 12434779377540ec1f3c7bfa394e44b5

It is based on kernel source from latest IT2006 FW (.49) with high speed mmc patches, multiblock MMC writes enabled, extended brightness control, yuv420 patch and tearsync backport. I am using it on my device for one week or so but better treat it as experimental kernel :-) You can even use linux flasher to load it temporarily without writing to flash (flasher -l -k zImage-yuv420 -b) and next reboot brings your old kernel back. For those who have different hw-build version than 1602 (see /proc/component_version) I would be interested if tearsync works with latest mplayer and -vo nokia770:tearsync=1. Thanks.
 
Posts: 209 | Thanked: 31 times | Joined on Oct 2006
#476
I have tested tearsync with my 770 without success! After starting playback I got a black screen and after some seconds my device rebooted.

~$ cat /proc/component_version
Code:
product   SU-18
hw-build  1802
nolo      0.9.14
kernel: zImage-yuv420
mplayer: mplayer_1.0rc1-maemo.17

~$ mplayer -vo nokia770:tearsync=1 /home/user/MyDocs/.videos/Discovery.avi
Code:
MPlayer 1.0rc1-maemo.17.n770 (C) 2000-2006 MPlayer Team
CPU: ARM
[MENU] Can't open menu config file: /home/user/.mplayer/menu.conf
Menu inited: /etc/mplayer/menu.conf

Playing /home/user/MyDocs/.videos/Discovery.avi.

Cache fill:  0.00% (0 bytes)   
AVI file format detected.
VIDEO:  [DIVX]  352x208  24bpp  15.000 fps  389.5 kbps (47.5 kbyte/s)
Clip info:
 Software: MEncoder dev-CVS-050626-17:02-3.4.2
[nokia770] Nokia 770 hardware detected
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Trying to force audio codec driver family dspmp3...
Opening audio decoder: [dspmp3] MP3 audio pass-through for Nokia 770/N800 (fake decoder)
AUDIO: 44100 Hz, 2 ch, ??, 64.0 kbit/4.54% (ratio: 8000->176400)
Selected audio codec: [dspmp3] afm: dspmp3 (MP3 audio pass-through for Nokia 770)
==========================================================================
AO: [gst] 44100Hz 2ch ?? (1 bytes per sample)
Starting playback...
VDec: vo config request - 352 x 208 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1,69:1 - prescaling to correct movie aspect.
VO: [nokia770] 352x208 => 352x208 Planar YV12  [fs] [zoom]
[nokia770] Using ARM JIT YUY2 scaler (quality=2) to scale 352x208 => 400x236
 
Posts: 2,152 | Thanked: 1,490 times | Joined on Jan 2006 @ Czech Republic
#477
Originally Posted by N770-Freak View Post
I have tested tearsync with my 770 without success! After starting playback I got a black screen and after some seconds my device rebooted.

~$ cat /proc/component_version
Code:
product   SU-18
hw-build  1802
nolo      0.9.14
Thanks for testing. This means the code really does not work on many (all?) devices. Let's just hope it is my bug and can be fixed. It seems unlikely that someone inside Nokia bothered to write the tearsync code for N770 (which is completely different than code for n800) but the hardware in fact does not support it. Still it never made into official N770 kernel so maybe they found it later, who knows.
 
Posts: 129 | Thanked: 13 times | Joined on Oct 2005
#478
Originally Posted by fanoush View Post
If anyone really wants that few percent speedup on n770 and wants to flash custom kernel because of this, let me know and I'll provide a link for such kernel image if you cannot compile kernel yourself with that patch.
I'm sorry if this is a stupid question, but did you intend to post a patch for n770 tearsync? I didn't find the source code anywhere. I tried the provided binary and it behaved exactly as N770-Freak described. I have the same hw version too.

Last edited by sdrman; 2007-05-30 at 00:52.
 
Posts: 2,152 | Thanked: 1,490 times | Joined on Jan 2006 @ Czech Republic
#479
Originally Posted by sdrman View Post
I'm sorry if this is a stupid question, but did you intend to post a patch for n770 tearsync? I didn't find the source code anywhere. I tried the provided binary and it behaved exactly as N770-Freak described. I have the same hw version too.
Yes, definitely. Only that it currently doesn't work at all so I guessed few people would be interested in such patch. And it also takes some time to clean up kernel sources to produce patch only with specific feature when there are more unrelated changes done. However I am very well aware that kernel is GPLed and my link above means I am distributing binary so I simply have to produce source if someone wants it. And in fact I would be happy if some kernel hacker had a look at the code and found what is missing/wrong in the code. OK I'll do a diff ASAP. It is basically a merge from n800 2.6.18 kernel source tree (which does contain some newer N770 code including tearsync too) as explained in
http://maemo.org/pipermail/maemo-dev...ay/010156.html
But please PM me if you don't really want it after all so I am not doing useless extra work, thanks. Also expect that the patch will be a bit messy.
 
Posts: 503 | Thanked: 267 times | Joined on Jul 2006 @ Helsinki
#480
Hi all. New fanoush's kernel properly supports yuv420 mode which is already an improvement and speeds up video playback in mplayer. It still does not support tearsync (work in progress) which would be a very nice addition and would improve video quality on Nokia 770. I think that he does a great job and deserves all the help we may provide...

On the other hand, judging from the ratio of 770/800 mplayer package downloads, either Nokia did really sell lots of N800 already and the new device is really very popular or many people have already given up on 770 as a multimedia device. Are there many people who would like to see video support improving on 770?
 
Reply


 
Forum Jump


All times are GMT. The time now is 23:17.