[XviD-devel] newpred
skal
xvid-devel@xvid.org
07 Nov 2002 11:51:30 +0100
Hi,
On Thu, 2002-11-07 at 09:34, peter ross wrote:
> >From: Christoph Lampert <chl@math.uni-bonn.de>
> >It's up the encoder how many frames to buffer. Only _more_ than last I-VOP
> >shouldn't be used.
>
> actually the *decoder* sends a message to the encoder, and specifies
> the desired reference frame.
>
> any non-realtime/feedback implementation is going to be a hack.
> i say let's put this idea on the shelf. (sorry for brining it up)
For the record, there's a reference bitstream with NEWPRED
stuff turned on in it: vcon-a1er1-4.bits
This one's a real pain, for it also contains RESYNC
markers with different syntax than the usual (since
NEWPRED is turned on). Note also that's there a 'bug'
-or let's say a typo- in the norm: the 'marker bit'
following 'vop-id-for-prediction' (page 41) is not
dependent on the 'vod-id-for-prediction-indication'
flag, unlike what the indent might let thinking.
At least, that's what momusys's pile of code says...
[btw, it's 3/4 times in a row we stumble over, hmm,
let's say 'discrepancies' in the norm/ref-software/
divx/... Maybe a clear policy should be set up
("We Abide to The Norm", or "We Abide To Mighty FDAM",
"etc...")]
attached is the log of NEWPRED Id for current and
reference segments in vcon-a1er1-4. It seems that
references are 2 or 3 P-VOP backward...
bye,
Skal
NEWPRED stuff in vcon-a1er1-4.bits:
VOL Header:
NewPred MSG:Need NP_ACK + Need NP_NACK msg
NewPred Segment type: Packet
The first few frames:
Coding=[I]
NewPred Cur Id:1
Resync NewPred Cur Id:1
Resync NewPred Cur Id:1
Resync NewPred Cur Id:1
Resync NewPred Cur Id:1
Resync NewPred Cur Id:1
Resync NewPred Cur Id:1
Resync NewPred Cur Id:1
Resync NewPred Cur Id:1
Coding=[P]
NewPred Cur Id:2
Resync NewPred Cur Id:2
Resync NewPred Cur Id:2
Resync NewPred Cur Id:2
Resync NewPred Cur Id:2
Resync NewPred Cur Id:2
Resync NewPred Cur Id:2
Resync NewPred Cur Id:2
Resync NewPred Cur Id:2
Coding=[P]
NewPred Cur Id:3
NewPred Ref Id:1
Resync NewPred Cur Id:3
Resync NewPred Ref Id:1
Resync NewPred Cur Id:3
Resync NewPred Cur Id:3
Resync NewPred Ref Id:1
Resync NewPred Cur Id:3
Resync NewPred Ref Id:1
Resync NewPred Cur Id:3
Resync NewPred Cur Id:3
Resync NewPred Ref Id:1
Resync NewPred Cur Id:3
Resync NewPred Ref Id:1
Resync NewPred Cur Id:3
Coding=[P]
NewPred Cur Id:4
NewPred Ref Id:1
Resync NewPred Cur Id:4
Resync NewPred Ref Id:2
Resync NewPred Cur Id:4
Resync NewPred Cur Id:4
Resync NewPred Ref Id:1
Resync NewPred Cur Id:4
Resync NewPred Ref Id:2
Resync NewPred Cur Id:4
Resync NewPred Cur Id:4
Resync NewPred Ref Id:1
Resync NewPred Cur Id:4
Resync NewPred Ref Id:2
Resync NewPred Cur Id:4
Coding=[P]
NewPred Cur Id:5
NewPred Ref Id:2
Resync NewPred Cur Id:5
Resync NewPred Ref Id:3
Resync NewPred Cur Id:5
Resync NewPred Cur Id:5
Resync NewPred Ref Id:2
Resync NewPred Cur Id:5
Resync NewPred Ref Id:3
Resync NewPred Cur Id:5
Resync NewPred Cur Id:5
Resync NewPred Ref Id:2
Resync NewPred Cur Id:5
Resync NewPred Ref Id:3
Resync NewPred Cur Id:5
Coding=[P]
NewPred Cur Id:6
NewPred Ref Id:3
Resync NewPred Cur Id:6
Resync NewPred Ref Id:4
Resync NewPred Cur Id:6
Resync NewPred Cur Id:6
Resync NewPred Ref Id:3
Resync NewPred Cur Id:6
Resync NewPred Ref Id:4
Resync NewPred Cur Id:6
Resync NewPred Cur Id:6
Resync NewPred Ref Id:3
Resync NewPred Cur Id:6
Resync NewPred Ref Id:4
Resync NewPred Cur Id:6