Re: QPEG
Michael Niedermayer <[email protected]> Sun, 7 Nov 2004 13:58:43 +0100
| Newsgroups | gmane.comp.video.xine.codec.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi On Saturday 06 November 2004 18:56, Kostya wrote: > Here is my QPEG decoder (module for ffmpeg). It is complicated RLE with > very unusual coding of delta frames. There is one file from MPlayer > repository which plays OK - qpeg-test.avi. Playing other tested files > (Clock.avi, Space.avi, VWbig6.avi) leaves a lot of garbage on the screen > - it seems to me that codec somehow cleans those areas (maybe using some > previous frame). If you look in code you'll see a piece of code with > comment "much of magic here, skipped for now", in disasm it copied some > dwords from one location to another. > > Can anybody figure this out ? the "much of magic here, skipped for now" code seems to be a motion compensation function the 4 high bits of the code are 0xF to enter it, the low 4bits select the block size, the next code contains the motion vector the high 4bits the x component, the low 4 bits the y component in twos complement encoding it doesnt seem that this affects the dst/filled pointers, so the rle stuff probably always runs over the blocks afterwards note, all just from the disassembly, nothing tested [...] -- Michael "I do not agree with what you have to say, but I'll defend to the death your right to say it." -- Voltaire ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click