[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