Changes for Version 9.0 to Version 8.7
--------------------------------------
New Features
* Complexity reduced interpolation filer (AH)
* Interpolation outside the picture (AH)

Bug Fixes
* Fix the trace file bug (KS)
* add line breaks for CABAC trace file output (KS)
* Intra frame period fixes (YL)
* Some more bug fixes for the new added EC mode (TO/TSt/DK)
* correct picture numbers for B-frames (TO)


Changes for Version 8.7 to Version 8.6
--------------------------------------

* Code cleanups (KS)
  - removed old Loop filter Code (#if !defined LOOP_FILTER_MB)
  - removed non UMV code (#if !defined UMV)
* Bug fixing (KS)
  - correct SP frame coding for RTP file format
* Intra frame period (YL/KS)
  - known bug: decoder writes frames in wrong order
* Bug fix  (YW)
  - GOB update

Encoder:

* Removed the Interim File Format (TO)
* Bug fixes for Slice Mode 2 in case of small slices (TO)
* Bug fixes for Loop filter and Slice Mode 2 (TS)
* RTP-File Format added (SW)
  - currently only one partition per slice is allowed
  - Support for multiple (3) partitions per slice will follow
* RD Optimization for error prone channels added (DK)
* Minor cleanups (cosmetical work) (TO)
* Added new parameters to the Configfile (DK)
* Added headerbits to the statistics 

Decoder
* Removed the Interim File Format (TO)
* RTP-File Format added (StW)
  - currently only one partition per slice is allowed
  - Support for multiple (3) partitions per slice will follow
* Changes in find_snr for case of slice losses (TO)
* Some Bug fixes for the new added EC mode (TO)
* Modifications to detect slice/frame losses in RTP File Format (TO)
* Some modifications to enhance the robustness to loss of slices (TO)
* Changes in the Configfile for the new RTP File Mode (SW)
  - note that if the RTP File Format was chosen the Entropy coding mode
    that is given in the Configfile is ignored

Known Bugs
Encoder
* If Slice Mode 2 is chosen a tracefile name must be given
* A new parameter was added to the picture header of the 26L Format 
  to deal with packet losses. As no errors or packet losses appear in
  a bitstream environment this is nonsense and should be removed one time 
  (not really a bug)

Decoder
* The equivalent for item two of the known bugs in the encoder

Changes for Version 8.6 relative to Version 8.5
-----------------------------------------------

Decoder:

* the error concealment algorithms (EC) in VCEG-N62 has been supported (WYK, VV)
  - six files (3 .c files and 3 .h files beginning with "erc_") added
  - important modifications in other files are marked with "_ERROR_CONCEALMENT_"
    or "WYK", and EC can be disabled as stated in "defines.h"
  - modifications to make decoder robust and correct to slice/frame losses
  - all picture types (I, P, B, SP) are supported
* some trivial modifications (WYK)
  - some unused codes and bad brace and code indentations cleaned
  - encoded SP-frames displayed as "SP" instead of "P"

Encoder:

* The picture header as slightly changed (WYK)
  - the last parameter are utilized as RefPicID, the ID of non-B frames
  - a variable "int refPicID" added into the structure ImageParameters
* bug fixed for mismatch in SP-frames when RD-optimization enabled (RK)
* some trivial modifications (WYK)
  - some unused codes and bad brace and code indentations cleaned
  - encoded SP-frames displayed as "SP" instead of "P"


Changes for Version 8.5 relative to Version 8.4
-----------------------------------------------

* reformat software to comply with coding style (KS)

* convert comments to documentation comments (KS)

* Bug fix: bit counter (DM,KS)

* Bug fix: qp=0 not accepted (GS)

* Bug fix: mismatch if different frame qp settings (JL,KS)

* memory management cleanups (KS)
  - fix some memory leaks
  - check returned pointer after _every_ malloc/calloc

* use size checking string functions (KS)
  - replace sprintf and strcpy with snprintf and strncpy

* clean up exit calls (KS)
  - use common error() function for all error exits


Changes for Version 8.4 relative to Version 8.0
-----------------------------------------------

* Datapartitioning according to VCEG-M52 supported (TO)

* Output in InterimFileFormat supported (TO)

* Bugfixes for SliceMode 2 (fixed Bytes/MB) (TO)
  - adaptions for RLC of SkipMBs 

* Changed initialisation values for CABAC contexts (TO)

* PictureHeader and SliceHeader at the beginning of every slice (TO)

* RunLength and constrained intra prediction (RS)

* Implementation of delta-QP (IL)

* loopfilter simplification including a macroblock-based approach (PL)

* Removal of RD Quant (IL)

* Chroma coefficient removal (IL)


Changes for Version 8.0 relative to Version 6.1
-----------------------------------------------

* Fast Integer Pixel Motion Estimation (HS)
  - precalculation of SAD for all 4x4 blocks and all vector positions
  - SAD calculation of nxm blocks is based on 4x4 SAD's
  - search range center is the predictor of 16x16 block for all block sizes

* Extended Search range (HS, SW)
  - search range can be 39x39 at maximum
  - search range reductions for older reference frames or older reference frames
    and smaller blocks can be enabled in the configuration file

* Unrestricted Motion Vectors (HS, SW)
  - Unrestricted motion vectors for P- and B-frames
  - no range checking in Direct mode

* Adaption of P-Interval and Single Quantizer Change (primarily for MPEG-test) (HS)
  - the interval P-P can be adapted at the very end of a sequence to hit the last
    frame which then have to be specified in the configuration file
  - the quantization parameters can be changed once per sequence (config file)

* Rate-Distortion Optimization (HS, TW)
  - a rd-optimized mode can be enabled in the configuration file
  - in rd-opt. mode:
    - slightly modified rate-constrained motion estimation
    - rate-constrained macroblock mode decision
    - rate-constrained mode decision for 4x4 intra modes
  - the rd-opt. mode decision need to code (DCT, Q, Q^-1, IDCT, entopy coding)
    each block/macroblock several times

* Increased Frame Buffer (HS, TW)
  - the frame buffer for long term memory prediction is no longer restricted to
    five reference frames
  - the buffer size in the encoder will be adapted according to the number of reference
    frames given (config file) and the config file parameter "AdditionalReferenceFrame"
  - the buffer size in the decoder has to be specified in the config file
  - the parameter "AdditionalReferenceFrame" specifies a reference frame index which is
    considered during motion estimation
  - E.g:  NumberReferenceFrames=5, AdditionalReferenceFrame=19
    -> 20 reference frames are stored at encoder side
    -> the frames with indizes 0,1,2,3,4, and 19 are searched during motion estimation

* NAL/Slices (TO)
  - support of slices in both symbol modes
  - at the decoder UVLC symbols are decoded by the time they are needed, not for the whole 
    slice at one time (to be in line with the encoder)
  

* Added Motion Compensated Prediction with 1/8-pel MV-resolution: (TWe)
  - New Parameter in CFG-file to switch between 1/4- and 1/8-pel
  - New interplation filter for 1/8-pel MV-resolution added.
    a) reference frames are sampled up and stpred by a factor of 4 (1/4-pel resolution)
    b) 1/8-pel postitions are calculated on the fly by bilinear interolation
    c) all chroma values are interpolated with a bilinear filter
    d) items b) and c) lead to a slightly reduced gain compared to implementation
     in M20, but still a gain up to 1.0 dB is obtained comared to TML591. 
  Thus, further improvements are possible.

* General (all / KS)
  - Some clean-ups of data structures
  - removal of superfluous source and include files in the decoder

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
People:
KS      Karsten Sühring         suehring@hhi.de

AH      Antti Hallapuro         antti.hallapuro@nokia.com
DK      Dimitris Kontopodis     dkonto@eikon.tum.de
DM      Detlev Marpe            marpe@hhi.de
GB      Gabi Blättermann        blaetter@hhi.de
GS      Gary Sullivan		garysull@microsoft.com
HS      Heiko Schwarz           hschwarz@hhi.de
IL      Inge Lille-Langoy       Inge.Lille-Langoy@telenor.com
JL      Jani Lainema            Jani.Lainema@nokia.com
PL      Peter List              Peter.List@t-systems.de
RK	Ragip Kurceren 		ragip.kurceren@nokia.com
RS      Rickard Sjöberg         Rickard.Sjoberg@era.ericsson.se
SW      Stephan Wenger          stewe@cs.tu-berlin.de
TO      Tobias Oelbaum          drehvial@gmx.net
TSt	Thomas Stockhammer	stockhammer@lnt.ei.tum.de
TW      Thomas Wiegand          wiegand@hhi.de
TWe     Thomas Wedi             wedi@tnt.uni-hannover.de
VV	Viktor Varsa		viktor.varsa@nokia.com
WYK	Ye-Kui Wang		wangy@cs.tut.fi
YL      Yann Lemaguet		yann.lemaguet@philips.com
