[XviD-devel] I have trouble with the B-frame's standard

Michael Niedermayer xvid-devel@xvid.org
Wed, 24 Jul 2002 20:30:55 +0200


Hi

On Wednesday 24 July 2002 20:16, Christoph Lampert wrote:
> Hi,
>
> either I am too stupid or I simply can't read. Maybe one of you
> can help me, if he has a copy of the standard of a draft.
>
> If I encode a B-frame's macroblock and the following P-frame's macroblock
> at the same position ("co-located block") is SKIPed, the B-frame MB is
> automatically encoded as FORWARD with (0,0) motion vector and cbp==0,
> so it's also just a copy of the very first MB. In a sequence PBBP all
> macroblocks at this position would be identical. Am I right?
yes

>
> I don't want this! 
me neither ;) and i doubt anyone except iso-mpeg does like it

> I want to code the B-frames MBs individually, in
> particular they are NOT supposed to be a copy, there is an object at this
> position (only in the B, not in the surroundig P-frames).
> I want to code a motion vector, or at least have cbp!=0
>
> What should I do?
well, there isnt much choice, u have to check if the MBs in the b frames 
between p frames have any significantly different MBs and than force the 
colocated MBs of these in the next P frame to be NOT skiped, see ffmpeg CVS 
h263.c line 398 

[...]

Michael