-----------------------------------------------------------------
January 28th 2000 Version 2 PDAM1-0.9-000128
-----------------------------------------------------------------

INTEGRATORS:

Simon Winder (swinder@microsoft.com), Microsoft.
Eishi Morimatsu [eishi@flab.fujitsu.co.jp], Fujitsu.
Norio Ito [norio@imgsl.mkhar.sharp.co.jp], Sharp.
Mathias Wien [wien@ient.rwth-aachen.de]
Se Hoon Son [shson@sait.samsung.co.kr], Samsung.

-----------------------------------------------------------------
REASON FOR UPDATE:

Merge of release 990112 with the MAC update version "0.9pre". This was a difficult merge because so many files had been changed.
OBSS bug fixes, Se Hoon Son (Samsung)
Still texture updates, Norio Ito (Sharp)
DRC related bug fix, Eishi Morimatsu (Fujitsu)
Interlaced and grayscale bug, Mathias Wien

Note that the new parameter file number is now 903. 901 and 902 will still work. 

-----------------------------------------------------------------
FILES CHANGED:

pretty much all.

-----------------------------------------------------------------
COMMENTS:

Grayscale shape is broken. I will try to work with Sven Bauer to fix this.
Please use the previous release if you need grayscale shape.

I have not received any fixes for C2-6 rate control (nct uni), C2-7 rate control (nct uni), C3-2 mb stuffing (ntt), or C3-3 mb stuffing (ntt).

C1-1 fix (sajw)
Not completed yet.

C1-2 fix (sajw)
There is nothing wrong with the software. This range clipping is already implemented correctly in CVideoObject::inverseQuantizeIntraDCTcoefMPEG and CVideoObject::inverseQuantizeIntraDCTcoefMPEG in block.cpp

C1-3 fix (sajw)
There is nothing wrong with the software. This range clipping is already implemented correctly in
CVideoObjectDecoder::inverseDCACPred in blkdec.cpp

C1-8 fix (sajw)
done

C2-2 check impl (sajw)
The implementation of the MV rounding from luma to chroma vectors is given below:

Int grgiMvRound16 [16] = {
	0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
};
Int grgiMvRound4 [4] ={
	0, 1, 1, 1,
};

given dx in half pel units, the UV mv is given by:
      xRefUV = sign (dx) * (grgiMvRound16 [abs (dx) % 16] + (abs (dx) / 16) * 2);	// 4 MVs
or
      xRefUV = sign (dx) * (grgiMvRound4  [abs (dx) % 4] + (abs (dx) / 4) * 2);	// 1 MV

do you think this is correct? This surely follows H263, since this is very old code.


Simon
