Today I've got first video clips made by the camera and compressed "on the fly" - 1280x1024x30fps. Image quality is far from perfect - I don't have yet any way to preview images, and a single acquisition still requires a bunch of commands. So I'm really close to have a camera that will be able to serve the Ogg/Theora streams, now but will it be possible to play it on a PC? I could not do that on my :-( OK, so here are the links to 3 nearly identical samples (4.6MB each) - the difference is just in the header so the first one is "slow motion" - 1/5 of the original speed. What kind of hardware/software do I need to be able to view the last one without dropouts? 1/5 speed ( 6fps) http://www.elphel.com/downloads/aaa78_06.ogg 1/2 speed (15fps) http://www.elphel.com/downloads/aaa78_15.ogg full speed (30fps) http://www.elphel.com/downloads/aaa78_30.ogg In each clip the first frame is INTRA, all the rest - INTER_NOMV Andrey
On Tue, Mar 08, 2005 at 06:55:21PM -0700, Andrey Filippov wrote:> Today I've got first video clips made by the camera and compressed "on the > fly" - 1280x1024x30fps.Really impressing! Pity that it turns out being hard to decode them. Once I figured out some approximate number "... 528x320 which my 800 MHz Athlon can play without frame drops." at 25 fps with a good margin. If we assume decoding complexity is proportional to the area, your movie is about 9.3 times more resource-intensive => an about 7 GHz processor would be probably adequate. A test, on a 730 MHz Celeron I can decode your clip with 4 fps, so to come to 30 fps I'd need about 5.5 GHz. I guess viewing in real time can be done by splitting decoding into threads (no idea how hard it would be with [hacking] current libtheora) and running on a dual 3+ GHz machine.> 1/5 speed ( 6fps) http://www.elphel.com/downloads/aaa78_06.oggRegards, -- Ivan
Ivan Popov wrote:> run "time" on the decoder and you will be able to calculate the exact framerate > (the clip is 128 frames I think)(the machine was not completely idling during these tests - so the "real" number is worthless) using fresh trunk/theora checkout in 64bit mode: time ./dump_video ~/aaa78_30.ogg > /dev/null Ogg logical stream 114a36b7 is Theora 1280x1024 30.00 fps video Encoded frame content is 1280x1024 with 0x0 offset Done. real 0m7.116s user 0m6.027s sys 0m0.114s using fresh trunk/theora checkoutin 32bit mode: time ./dump_video ~/aaa78_30.ogg > /dev/null Ogg logical stream 114a36b7 is Theora 1280x1024 30.00 fps video Encoded frame content is 1280x1024 with 0x0 offset Done. real 0m7.359s user 0m7.228s sys 0m0.080s using fresh branch/theora-mmx checkout in 32bit mode: time ./dump_video ~/aaa78_30.ogg > /dev/null Ogg logical stream 114a36b7 is Theora 1280x1024 30.00 fps video Encoded frame content is 1280x1024 with 0x0 offset Done. real 0m7.189s user 0m6.537s sys 0m0.148s "Conclusions": - theora-mmx is faster than theora, however theora-mmx doesn?t work in x86-64 for me (32 bit assembly) - theora loves the 64bit mode. It is faster than 32bit MMX. I assume this is because of the doubled amount of genearl purpose registers. - 20 fps is a realistic guess. Maik.
> Another test, P4 XEON 2.8GHz, mplayer with theora mmx patches > from VP3HoSwiYO (not to be confused with encoder mmx patches).I wonder which patches are in the theora-mmx branch in svn, supposedly the encoder ones - they boost encoding but do not remarkably help decoding.> No video rendering (I am testing remotely), mere decoding your clip > gives 26.3 fps - that is, better than PAL! :)I managed to let mplayer show the clip on the screen (which I can not see, but it looked hopefully fine :) and the best try gave 25.2 fps full resolution. (on that 2.8GHz P4) It means you need at least 3.4 GHz to watch at 30 fps. My best regards, -- Ivan
On Wed, Mar 09, 2005 at 11:55:02AM +0100, Maik Merten wrote:> using fresh trunk/theora checkout in 64bit mode: > user 0m6.027s> using fresh trunk/theora checkoutin 32bit mode: > user 0m7.228s> using fresh branch/theora-mmx checkout in 32bit mode: > user 0m6.537sA good job!> - theora-mmx is faster than theora, however theora-mmx doesn?t work in > x86-64 for me (32 bit assembly) > - theora loves the 64bit mode. It is faster than 32bit MMX. I assume > this is because of the doubled amount of genearl purpose registers.So, if somebody implements low-level optimization for 64 bits, it could be blazingly fast. -- Ivan
On Wed, 2005-03-09 at 12:09 +0100, Ivan Popov wrote:> > Another test, P4 XEON 2.8GHz, mplayer with theora mmx patches > > from VP3HoSwiYO (not to be confused with encoder mmx patches). > > I wonder which patches are in the theora-mmx branch in svn, > supposedly the encoder ones - they boost encoding but do > not remarkably help decoding.its the work wim posted to the list some time ago. the the mmx patches from VP3HoSwiYO boost decoding significantly? if so, how hard would it be to add them to theora-mmx? j
> > I wonder which patches are in the theora-mmx branch in svn, > supposedly the encoder ones - they boost encoding but do > not remarkably help decoding.I have here http://ssh.cz/~ruik/patch_theora Patch to derfs decoder. (11% speedup) It was not yet fixed to what derf wants but it works. I have in plan in future to speedup IDCT. Regards Rudolf