[XviD-devel] rrv decoding
Marc FD
xvid-devel@xvid.org
Mon, 9 Dec 2002 14:25:25 +0100
> On Sun, 8 Dec 2002 10:14:56 +0100 "Marc FD" <marcfd@free.fr> wrote:
> > damn !! the first time XviD can decode something that he is unable to
encode
> > !!!
>
> we can also decode (but cant encode) resync packets.
i didn't know that ^^
> >
> > > i will now investigate encoding support.
>
> i've just commited rrv i-vop encoding and "incomplete" p-vop encoding.
> to enable RRV mode, you must set
> xparam.global |= XVID_GLOBAL_REDUCED
> during codec creation, and set
> xframe.general |= XVID_REDUCED
> to encode the frame as rrv.
cool, CVS is up again, i'm gonna load it ASAP.
> > cool. lemme know if i can help.
>
> okay, iam having problem implementing p-vop rrv motion compensation.
> the p-vop coeffs are messed up,
not having a problem would have been surprising ^_^
> ie. to compensate rrv MODE_INTER macroblocks, we must:
> a) grab the reference 32x32 pixel block, from the refernce frame
? skal said you have still the same number of blocks in rrvs.
you compensate 4 blocks to one rrv block ??
i don't understand, do you have 4x less blocs ?
how do you do with MVs, ect.. ?
> b) subtract the reference block from the current block
> c) filter/scale-down the remainder of the subtration, from 32x32 ->
> 16x16 pixels. use skal's filter_18x18_to_8x8() function.
> d) transfer scaled down block into FOUR 8x8 16-bit coeffient arrays
four ?? and chroma ??
> i believe its something todo with the scale-down and the 18x18 pixel
> requirement. anyway, to enable the 'buggy' p-vop encoding, goto
> encoder.c/FrameCodeP(), and replace [...]
okay i'll see that. but i'll need to understand how it works first ^^
Cheers,
MarcFD