[maemo-developers] N800 & Video playback
From: Kalle Vahlman kalle.vahlman at gmail.comDate: Tue May 1 17:49:35 EEST 2007
- Previous message: N800 & Video playback
- Next message: N800 & Video playback
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
2007/5/1, Siarhei Siamashka <siarhei.siamashka at gmail.com>: > On Tuesday 01 May 2007 13:36, Kalle Vahlman wrote: > > 2007/5/1, Siarhei Siamashka <siarhei.siamashka at gmail.com>: > > > OK, thanks. It may take some time though. I'm still using old scratchbox > > > with mistral SDK here (did not have enough free time to upgrade yet). > > > Until I clean up my scratchbox mess, I can only provide some patch > > > without testing, if anybody courageous can try to build it :) > > > > Given that I fear not the perils of building a X server with > > nonstandard options[1], I shall be more than happy to conduct such > > adventurous acts :) > > > > And unless Mr. Kulve has objections, the results could be installed > > from a repository as well. > > > > [1] > > > http://syslog.movial.fi/archives/47-Shadows-for-everyone-well,-not-really.html > > OK, here is this untested a patch for xserver to add ARMv6 optimized > YUV420 color format conversion. Theoretically it should compile > (I did not try to build xserver myself though) and work. If it refuses to > compile, fixing the patch should be not too difficult. Applied and build without problems for me. For testing, I fabricated some video with gstreamer: gst-launch-0.10 videotestsrc num-buffers=300 \ ! "video/x-raw-yuv, width=640, height=480" \ ! ffenc_mpeg4 ! avimux \ ! filesink location=640x480.avi which resulted in 640x480 at 30fps and 800x480 at 30fps videos. For some reason 320x240 and 352x288 refused to play with: X11 error: BadValue (integer parameter out of range for operation) MPlayer interrupted by signal 6 in module: flip_page while gstreamer did play them just fine. Also the Nokia_N800.avi and NokiaN93.avi died in the same way. My mplayer is compiled from the svn trunk of the garage project, with some additional cflags I use (so maybe those were the problem...). Anyway, then I shut down af-base-apps and matchbox (to avoid scaling the video) and ran "mplayer -benchmark <file>". > In the worst case only video playback may be broked. But if everything works > as expected, video output performance should become a lot better. > > Video output performance can be tested by mplayer using -benchmark > option, 'VO:' stat shows how much time was used for video output, 'VC:' stat > shows how much time was used for video decoding. There's something fishy in the decoding or something as the color bars in the test video were broken (yellow and cyan to be precise), but that seemed to be the case in a "vanilla" image too so nothing to do with this patch. I could not see any other glitches in the output. But on to the results: VIDEO: [DX50] 640x480 24bpp 30.000 fps 1597.6 kbps (195.0 kbyte/s) Original: V: 10.0 300/300 44% 74% 0.0% 0 0 0% BENCHMARKs: VC: 4.387s VO: 7.436s A: 0.000s Sys: 0.482s = 12.305s BENCHMARK%: VC: 35.6503% VO: 60.4311% A: 0.0000% Sys: 3.9185% = 100.0000% Patched: V: 10.0 300/300 42% 72% 0.0% 0 0 0% BENCHMARKs: VC: 4.213s VO: 7.265s A: 0.000s Sys: 0.381s = 11.859s BENCHMARK%: VC: 35.5296% VO: 61.2604% A: 0.0000% Sys: 3.2100% = 100.0000% --- VIDEO: [DX50] 800x480 24bpp 30.000 fps 1976.5 kbps (241.3 kbyte/s) Original: V: 10.0 300/300 54% 114% 0.0% 0 0 0% BENCHMARKs: VC: 5.466s VO: 11.456s A: 0.000s Sys: 0.366s = 17.287s BENCHMARK%: VC: 31.6179% VO: 66.2677% A: 0.0000% Sys: 2.1144% = 100.0000% Patched: V: 10.0 300/300 53% 70% 0.0% 0 0 0% BENCHMARKs: VC: 5.346s VO: 7.043s A: 0.000s Sys: 0.449s = 12.838s BENCHMARK%: VC: 41.6414% VO: 54.8602% A: 0.0000% Sys: 3.4984% = 100.0000% There is a clear drop in amount of time used to output the videos for 800x480 (the numbers were stable trough multiple runs). So I gather from the >10s benchmark time that we didn't get to real time yet, but close to it? And of course this is just video, audio decoding should be considered for real video playback performance measurement. > If any of you can build xserver package with this patch, please put it for > download somewhere or send directly to me. I put the deb up at: http://iki.fi/zuh/xserver-xomap_1.1.99.3-0.zuh2_armel.deb until I get it to the repository. This version also has the composite extension enabled, but AFAIK it does not depend on the libs or change server behaviour if composite is not specifically used. The server *should* be compiled with '-mcpu=arm1136j-s -mfpu=vfp -mfloat-abi=softfp -O2', but as I had troubles with the SBOX_EXTRA_COMPILER_ARGS env var being honored some time ago I'm not guaranteeing it at the moment ;) -- Kalle Vahlman, zuh at iki.fi Powered by http://movial.fi Interesting stuff at http://syslog.movial.fi
- Previous message: N800 & Video playback
- Next message: N800 & Video playback
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]