Updating Contact email
[BrunelResearch-dirac.git] / NEWS
blob8bdd46693104a7de1a006e63a14f61a13cea13e9
1 dirac-1.0.0
2 ===========
3 This a a major release complying with the latest Dirac Bytestream Specification
4 Dirac 2.2.2.
6 - Adaptive GOP structure.
7 - Improved constant bit-rate coding.
8 - Improved motion estimation.
9 - Improved pre-filtering.
10 - Major code refactor of encoder classes.
11 - Added conversion utility for horizontal 3/4 filtering.
12 - DirectShow Filter released to be able to play back Dirac v2.2.2 files
13   in Windows Media Player.
14 - For more info on Dirac go to http://diracvideo.org
16 dirac_0.10.0
17 ============
18 This is a Beta release complying with the latest Dirac Bytestream Specification
19 Dirac 2.2.0.
21 - Code refactor to distinguish between fields and frames. Generic term
22   picture is used instead of frames to indicate either fields or frame.
23   Public API has changed as a result.
24 - Added support for various forms of pre-filtering.
25 - Added support for Ultra High Definition video formats.
26 - New conversion utilities to convert from packed YUV format to planar
27   UIV formats and vice versa.
28 - Improved compression performance in constant bit-rate mode.
29 - Improved GOP structure.
30 - Fixed bug in intialising entropy factors while encoding which caused the
31   encoder to crash when coding losslessly.
32 - Fixed bug where the decoder would go into a permanent loop when 
33   processing a truncated packet.
34 - Fixed bug handling end of sequence packets in decoder. These packets
35   are now handled correctly and the decoder library returns an EOS status to 
36   the user application.
37 - Fixed encoder bug where not all frames loaded into the encoder were being
38   coded. The API has been modified to ensure that all encoded frames can
39   now be retrieved.
40 - Fixed bug that caused the decoder to go into a loop when processing
41   non-standard GOP structures.
42 - Fixed bug with DC value prediction in motion data coding.
43 - Fixed bug handling edge blocks in motion compensation.
44 - Fixed bug with perceptual weighting when coding losslessly.
45 - Fixed bug with rate control when coding in constant bit-rate mode.
46 - Replaced VS 2005 build environment with Visual Studio 2008 under MS
47   Windows.
48 - Bugs fixed: 1944681, 1906788, 1893223, 1874587
49 - Released new patches for MPlayer. There is no FFmpeg patch in this 
50   release because Dirac encoding and decoding using Dirac and Schroedinger
51   libraries is available directly in FFmpeg.
52 - DirectShow Filter released to be able to play back Dirac v2.2.0 files
53   in Windows Media Player.
55 dirac_0.9.1
56 ===========
57 Minor release complying with the latest Dirac Bytestream Specification
58 Dirac 2.1.0.
60 - Corrected the motion compensation block weighting matrix.
61 - Fixed bug in constant bit rate module which caused the encoder to
62   crash when using the cbr mode for an i-frame only sequence
63 - Fixed MPlayer and FFmpeg patches to be able to handle display/coding
64   of all streams supported by Dirac.
65 - Fixed Dirac DirectShow filter to be able to display all streams supported 
66   by Dirac.
67 - Released new patches for MPlayer and FFmpeg 
68 - DirectShow Filter released to be able to play back Dirac v2.1.0 files
69   in Windows Media Player.
70 - Bugs fixed - 1877990 (in ffmpeg patch), 1878017 (in MPlayer patch)
72 dirac_0.9.0
73 ===========
74 Major release complying with the latest Dirac Bytestream Specification
75 Dirac 2.0.0.
77 - Dirac Bytestream Specification Ver 2.0.0 and 1.0.0 released.
78   (http://dirac.sourceforge.net/specification.html)
79 - Support for entropy coding of wavelet coefficients data using Variable
80   Length Codes.
81 - Improved quantiser selection
82 - Modified motion cpmpensation to fit 16 bits.
83 - Further changes to constant bit-rate coding mode to improve performance.
84 - Fixed bug with calculating bit-rates for individual GOPs in constant
85   bit-rate mode.
86 - Fixed bug with dc value prediction in motion decoding.
87 - Fixed bug in handling concatenated Dirac streams.
88 - API changes to conform with spec revision 2.0.0. Applications using 
89   Dirac libraries will need to be recompiled.
90 - Released patches to MPlayer, FFmpeg to comply with this release. Earlier
91   patch to transcode can be used with release.
92 - DirectShow Filter released to be able to play back Dirac v2.0.0 files in 
93   Windows Media Player.
95 dirac_0.8.0
96 ===========
97 Major release complying with the latest Dirac Bytestream Specification.
99 - Support for interlaced coding
100 - Fixed bug with DC weight being set incorrectly
101 - Improved constant bit-rate coding mode so that quality crashes and
102   rate explosions are reduced.
103 - Improved motion estimation
104 - Added support for full-seach block matching.
105 - Fixed bugs reported by valgrind.
106 - API changes to conform with spec revision 1.0.0.pre9_02. Application using 
107   Dirac libraries will need to be recompiled.
108 - Added support for larger wavelet-depths in non-MMX mode.
109 - Released patches to MPlayer, FFmpeg to comply with this release. Earlier
110   patch to transcode can be used with release.
111 - DirectShow Filter released to be able to play back Dirac v0.8.x files in 
112   Windows Media Player.
114 dirac_0.7.0
115 ===========
116 Major release complying with Dirac ByteStream Specification 1.0.0_pre4. The
117 specification is available on the Dirac Homepage on Sourceforge.
119 - Added support for Constant Bit Rate Coding.
120 - Improved quality of encoded pictures at low bit-rates and for difficult
121   sequences.
122 - Improved motion vector data partitioning to allow for parallel encoding
123   and decoding of this data especially in hardware.
124 - Added support for integral motion vector precision.
125 - Improved Arithmetic coding. Arithmetic coding is lots faster now.
126 - Minor bug-fixes to ensure compliance with spec.
127 - Solution and Project files for Visual C++ 2005 Express edition.
128 - Encoder and Decoder API header files have changed so applications
129   using the old API will have to be recompiled.
130 - Released patches to MPlayer, FFmpeg to comply with this release. Earlier
131   patch to transcode can be used with release.
132 - DirecShow Filter released to be able to play back Dirac v0.7.0 files in 
133   Windows Media Player.
134 - The Dirac programming guide has been updated to reflect changes to the
135   Encoder API headers.
136 - The Algorithm API is OUT OF DATE. Please refer to the Specification 
137   document (link http://dirac.sourceforge.net/specification.html) for
138   latest algorithmic changes related to the decoder side. The Algorithm 
139   document will be updated shortly.
140 - Bugs fixed: 1362673, 1508532, 1588191
141 - Patches applied: 1537623
143 dirac_0.6.0
144 ===========
145 - Major release complying with Dirac ByteStream Specification. The
146   specification is available on the Dirac Homepage on Sourceforge.
147 - Encoder and Decoder API have changed in this release so applications
148   using the older API will have to be recompiled.
149 - Released patches to MPlayer, FFmpeg to comply with this release. Earlier
150   patch to transcode can be used with release.
151 - DirecShow Filter released to be able to play back Dirac v0.6.0 files in 
152   Windows Media Player.
153 - Bugs fixed: 1501636, 1383890
155 dirac_0.5.4
156 ===========
157 - Added support for lossless encoding. 
158 - Improved Decoder performance by upto 20%.
159 - Improved encoder performance by modifications to motion estimation
160 - Modified encoder CLI so that diagnostics data and locally decoded output
161   is not generated by default. This improved the encoding efficiency.
162 - Patches : 1303281, 1309571
163 - Bugs: 1291478, 1291481, 1291789, 1328565
165 dirac_0.5.3
166 ===========
167 - Fixed encoder CLI. Added rigorous command line input checks . 
168   The encoder exits with error message when command line argument is not 
169   valid.
170 - Fixed HD block size to improve motion compensation and prediction
171 - Fixed bug with computing MV costs.
172 - MMX opts to wavelet transform, motion compensation and upconversion which
173   improved decoder speed by 25-30%.
174 - Improved chroma fidelity by increasing bits allocated to chroma
175 - Wavelet filter type is part of bitstream.
176 - Fixed bug with the way median is calculated in motion prediction.
177 - Replaced constant quality encoding control mechanism with a mechanism
178   that used constant constant Lagrangian paramemters. 
179 - MMX optimisations are automatically used if underlying architecture
180   supports it.
181 - Improved motion estimation.
182 - Modified arithmetic coding to use a look-up table for division.
184 - Patches: 1211899, 1216297
185 - Bugs: 1209017, 1209053, 1212581, 1245129, 1240709
187 dirac_0.5.2
188 ===========
189   - Changed encoder command line interface to accept all encoding parameters.
190     E.g. frame dimensions, chroma format, frame rate, etc. Header files
191     are no longer required. Refer to section 4.3 of README for details.
192   - Applied patch supplied by Mike Ferenduros to make the TwoDArray class
193     more efficient
194   - An overall increase in decoding speed by 20% by speeding up Motion 
195     compensation, frame clip, and wavelet transform.
196   - Arithmetic coding speedup
197   - Added support for multiple wavelet filter types
198   - Added support for variable motion vector precision.
199   - Updated bitstream version. Encoder/Decoder apps in this release will not
200     be able to decode bitstreams generated by earlier versions.
201   - Released a source code patch for MPlayer-1.0pre7 to enable Dirac play
202     back support.
203   - Released a source code patch for ffmpeg-0.4.9-pre1 to enable Dirac encode
204     and decode.
205   - Released a source code patch for transcode-0.6.14 to enable Dirac encode
206     and decode using the patched ffmpeg-0.4.9-pre1.
207   - Patches Applied: 1151976 (partial), 1156674
208   - Bugs fixed : 1159031
210 dirac_0.5.1
211 ===========
212   - Significant speedup in the Arithmetic coding and decoding engines
213   - Modified wavelet coefficient coding to code blocks of coeffients with
214     skip flags if all coefficients are zero. This improves compression
215     performance and decoding speed.
216   - Modified block prediction mode coding to improve compression performance.
217   - Fixed bug in assigning costs to lists of vectors in block matching.
218   - MMX optimisation for calculating block differences in Motion Estimation.
219     This resulted in 20-30% improvement in encoding speed. The configure
220     flag --enable-mmx enables compile time MMX optimisation detection.
221     Currently works only on GNU/Linux.
222   - New script create_dirac_testfile.pl to generate input formats 
223     compatible with Dirac from rgb files. Step 3, Section 4.2 in README 
224     describes how to use the script.
225   - Released a source code patch for MPlayer-1.0pre6a to enable Dirac play
226     back support.
227   - Released DirectShow filter for Dirac to enable playback of Dirac bitstreams
228     using Windows Media Player
229   - Reinstituted bi-directional prediction
230   - Added support for multiple quantisers.
231   - Code restructure and tidying.
232   - Updated bitstream version. Encoder/Decoder apps in this release will not
233     be able to decode bitstreams generated by earlier versions.
234   - Patches applied: 1081736,1081743
236 dirac_0.5.0
237 ===========
238   - Added C interface for the encoder application. Refer to the api 
239     documentation in dirac_encoder.h or in the Programmer's Guide at
240     http://dirac.sourceforge.net/documentation/code/programmers_guide/index.htm
241   - Updated bitstream version. Encoder/Decoder apps in this release will not
242     be able to decode bitstreams generated by earlier versions.
243   - Improvements to Constant Quality encoding engine to improve stability.
244   - Speed-ups to motion compensation and wavelet transform for faster decoding
245   - Removed rounding errors from motion compensation.
246   - Fixed bugs with clipping and encoding black or white areas.
247   - Fixed bug with overflow in context modelling for arithmetic coding of 
248     HD pictures.
249   - Added unit tests for motion compensation classes and wavelet classes.
250   - The number of frames parameter is no longer required. All existing picture
251     header files must be recreated using make_header for this parameter to be
252     omitted. Otherwise, incorrect bit rates will be reported by the encoder
253     application.
254   - Updated algortihm documentation.
255   - Restructured libraries so that only two libraries are generated - an encoder
256     library and a decoder library. 'make install' will now install only the 
257     public API libraries and header files, the encoder and decoder apps and the
258     conversion and instrumentation utilities.
259   - Added support for building shared and/or static libraries using libtool
260     under UNIX, GNU/Linux.  Shared and static libraries are built by default.
261   - Added support for building shared or static libraries under MS Windows
262     using MSYS and the no cost MSVC++ 2003 toolkit. Shared libraries are built
263     by default.
264   - Added support for building the codec using MS Visual C++ .NET 2003 under
265     MS Windows. Options are available to build Dlls and static libraries. 
266     The _declspec mechanism is used to export the Encoder and Decoder public 
267     "C" API.
268   - New target 'valgrind-check' added to make under Linux.
269   - Build under MS Windows using nmake no longer supported.
270   - Bug fixes: 1050816, 1055692, 1050757, 1044503, 1044501, 1044499
271   - Patches Applied: 1055714, 1055707, 1061923, 1071429, 1059342
273 dirac-0.4.3
274 ===========
275   - Quality metric has changed from PSNR to one based on 4th powers of errors.
276     This results in pictures with more stable quality and fewer artefacts.
277   - Fixed bug with scaling motion vectors for non 4:4:4 formats.
278   - Fixed bug in encoder in downconverting a picture with odd valued dimensions
279   - Fixed bug in encoder in handling input with 4:1:1 chroma format.
280   - Fixed bug in diagnostics tool in handling input with 4:1:1 chroma format.
281   - Updated algorithm documentation
283 dirac-0.4.2
284 ===========
285   - Fixed bugs in writing instrumentation data while encoding which
286     caused the diagnostics tool to go into an infinite loop
287   - Fixed bug in diagnostic tool when handling reference 2 and only
288     one reference frame is available
289   - Number of frames in encoded output header is now set correctly to
290     the number of frames encoded.
291   - Fixed bug with bit-rate being miscalculated when only a section of the 
292     sequence is encoded.
293   - Fixed bug with setting DC band perceptual weight.
295 dirac-0.4.1
296 ===========
297   - Added support for build under Microsoft Windows using gnu autotools,
298     MSYS and no-cost MS VC++ 2003 compiler
300   - Fixed bug in building unit tests when older versions of cppunit are 
301     installed
303   - Fixed bugs in measurement of PSNR and motion estimation process
305 dirac-0.4.0
306 ===========
307   - Added constant quality encoding interface using PSNR
308      as the quality measure, and using multi-pass frame
309      coding
310   - Added Intra-frame insertion and cut detection
311   - Added C interface for the decoder application to allow
312      interfacing to player software. Refer to the api documentation
313      in dirac_parser.h.
314   - Implemented unique frame headers to facilitate bit-stream
315      parsing
316   - Added instrumentation output from encoder and an 
317      instrumentation display tool for visualising encoder
318      decisions to help with algorithmic development
319   - Cleansed and refactored numerous code files to add comments,
320      improve readability and modularity
321   - Added a unit testing framework based on cppunit for testing
322      classes 
323   - Fixed bug with vertical block separation always being set
324      to 8 pixels
325   - Added feature to encode only a section of input video rather
326      than the whole sequence
327   - Tweaked motion estimation parameters to improve performance,
328      mostly for higher-res pictures
329   - Included document describing the syntax of Dirac bitstream v0.1
330     in the doc directory.
331   - Fixed bug 1008694 (Out-of-tree building fails)
332   - Fixed header and pkconfig installation
333   - Updated algorithm documentation
335 Dirac-0.3.1
336 ===========
337   - Fixed compiling under Windows
338   - Video conversion utilites now build under Windows
339   - Colour conversion matrix coefficients corrected in conversion utilites
341 Dirac-0.3.0
342 ===========
343   - Added conversion utilities for going to and from RGB and 
344      various YUV formats, plus bitmaps
345   - Fixed serious artifacts when frame dimensions are not multiples of 32
346   - Performance speed up writing output to disk
347   - Changed .hdr format from binary to text for cross-platform interoperability
348   - Added autotest framework with simple colour-bars test
349   - Added format conversion, MPlayer and ImageMagick examples to README
350   - Added decoder support for arbitrary temporal prediction structures
351   - Added support for I-frame only coding
352   - Added support for coding with a single initial I-frame
353   - Extended code documentation to all major classes
355 Dirac-0.2.0
356 ===========
357   - Fixed crash when frame dimensions are not multiples of 32
358   - Removed dependency on XParam library
359   - Removed libtool for faster compiles and ease of debugging
360   - Included doxygen documentation of major classes
361   - Initial "programmer's guide" documentation - doc/dirac_algor.tex
363 Dirac-0.1.0
364 ===========
365   - Initial Sourceforge release.