dirac-1.0.2 =========== This a a minor release complying with the latest Dirac Bytestream Specification 2.2.3. - Improved compression performance for small picture sizes. - Improved compression performance at low bit-rates. - Included macros to check the API version. - Improved motion estimation. - New 422 <-> 420 conversion utilities for interlaced video. - New functionality added to encoder API. The programmer's guide has been modified accordingly. - Fixed bugs in handling DC subband. dirac-1.0.0 =========== This a a major release complying with the latest Dirac Bytestream Specification Dirac 2.2.2. - Adaptive GOP structure. - Improved constant bit-rate coding. - Improved motion estimation. - Improved pre-filtering. - Major code refactor of encoder classes. - Added conversion utility for horizontal 3/4 filtering. - DirectShow Filter released to be able to play back Dirac v2.2.2 files in Windows Media Player. - For more info on Dirac go to http://diracvideo.org dirac_0.10.0 ============ This is a Beta release complying with the latest Dirac Bytestream Specification Dirac 2.2.0. - Code refactor to distinguish between fields and frames. Generic term picture is used instead of frames to indicate either fields or frame. Public API has changed as a result. - Added support for various forms of pre-filtering. - Added support for Ultra High Definition video formats. - New conversion utilities to convert from packed YUV format to planar UIV formats and vice versa. - Improved compression performance in constant bit-rate mode. - Improved GOP structure. - Fixed bug in intialising entropy factors while encoding which caused the encoder to crash when coding losslessly. - Fixed bug where the decoder would go into a permanent loop when processing a truncated packet. - Fixed bug handling end of sequence packets in decoder. These packets are now handled correctly and the decoder library returns an EOS status to the user application. - Fixed encoder bug where not all frames loaded into the encoder were being coded. The API has been modified to ensure that all encoded frames can now be retrieved. - Fixed bug that caused the decoder to go into a loop when processing non-standard GOP structures. - Fixed bug with DC value prediction in motion data coding. - Fixed bug handling edge blocks in motion compensation. - Fixed bug with perceptual weighting when coding losslessly. - Fixed bug with rate control when coding in constant bit-rate mode. - Replaced VS 2005 build environment with Visual Studio 2008 under MS Windows. - Bugs fixed: 1944681, 1906788, 1893223, 1874587 - Released new patches for MPlayer. There is no FFmpeg patch in this release because Dirac encoding and decoding using Dirac and Schroedinger libraries is available directly in FFmpeg. - DirectShow Filter released to be able to play back Dirac v2.2.0 files in Windows Media Player. dirac_0.9.1 =========== Minor release complying with the latest Dirac Bytestream Specification Dirac 2.1.0. - Corrected the motion compensation block weighting matrix. - Fixed bug in constant bit rate module which caused the encoder to crash when using the cbr mode for an i-frame only sequence - Fixed MPlayer and FFmpeg patches to be able to handle display/coding of all streams supported by Dirac. - Fixed Dirac DirectShow filter to be able to display all streams supported by Dirac. - Released new patches for MPlayer and FFmpeg - DirectShow Filter released to be able to play back Dirac v2.1.0 files in Windows Media Player. - Bugs fixed - 1877990 (in ffmpeg patch), 1878017 (in MPlayer patch) dirac_0.9.0 =========== Major release complying with the latest Dirac Bytestream Specification Dirac 2.0.0. - Dirac Bytestream Specification Ver 2.0.0 and 1.0.0 released. (http://dirac.sourceforge.net/specification.html) - Support for entropy coding of wavelet coefficients data using Variable Length Codes. - Improved quantiser selection - Modified motion cpmpensation to fit 16 bits. - Further changes to constant bit-rate coding mode to improve performance. - Fixed bug with calculating bit-rates for individual GOPs in constant bit-rate mode. - Fixed bug with dc value prediction in motion decoding. - Fixed bug in handling concatenated Dirac streams. - API changes to conform with spec revision 2.0.0. Applications using Dirac libraries will need to be recompiled. - Released patches to MPlayer, FFmpeg to comply with this release. Earlier patch to transcode can be used with release. - DirectShow Filter released to be able to play back Dirac v2.0.0 files in Windows Media Player. dirac_0.8.0 =========== Major release complying with the latest Dirac Bytestream Specification. - Support for interlaced coding - Fixed bug with DC weight being set incorrectly - Improved constant bit-rate coding mode so that quality crashes and rate explosions are reduced. - Improved motion estimation - Added support for full-seach block matching. - Fixed bugs reported by valgrind. - API changes to conform with spec revision 1.0.0.pre9_02. Application using Dirac libraries will need to be recompiled. - Added support for larger wavelet-depths in non-MMX mode. - Released patches to MPlayer, FFmpeg to comply with this release. Earlier patch to transcode can be used with release. - DirectShow Filter released to be able to play back Dirac v0.8.x files in Windows Media Player. dirac_0.7.0 =========== Major release complying with Dirac ByteStream Specification 1.0.0_pre4. The specification is available on the Dirac Homepage on Sourceforge. - Added support for Constant Bit Rate Coding. - Improved quality of encoded pictures at low bit-rates and for difficult sequences. - Improved motion vector data partitioning to allow for parallel encoding and decoding of this data especially in hardware. - Added support for integral motion vector precision. - Improved Arithmetic coding. Arithmetic coding is lots faster now. - Minor bug-fixes to ensure compliance with spec. - Solution and Project files for Visual C++ 2005 Express edition. - Encoder and Decoder API header files have changed so applications using the old API will have to be recompiled. - Released patches to MPlayer, FFmpeg to comply with this release. Earlier patch to transcode can be used with release. - DirecShow Filter released to be able to play back Dirac v0.7.0 files in Windows Media Player. - The Dirac programming guide has been updated to reflect changes to the Encoder API headers. - The Algorithm API is OUT OF DATE. Please refer to the Specification document (link http://dirac.sourceforge.net/specification.html) for latest algorithmic changes related to the decoder side. The Algorithm document will be updated shortly. - Bugs fixed: 1362673, 1508532, 1588191 - Patches applied: 1537623 dirac_0.6.0 =========== - Major release complying with Dirac ByteStream Specification. The specification is available on the Dirac Homepage on Sourceforge. - Encoder and Decoder API have changed in this release so applications using the older API will have to be recompiled. - Released patches to MPlayer, FFmpeg to comply with this release. Earlier patch to transcode can be used with release. - DirecShow Filter released to be able to play back Dirac v0.6.0 files in Windows Media Player. - Bugs fixed: 1501636, 1383890 dirac_0.5.4 =========== - Added support for lossless encoding. - Improved Decoder performance by upto 20%. - Improved encoder performance by modifications to motion estimation - Modified encoder CLI so that diagnostics data and locally decoded output is not generated by default. This improved the encoding efficiency. - Patches : 1303281, 1309571 - Bugs: 1291478, 1291481, 1291789, 1328565 dirac_0.5.3 =========== - Fixed encoder CLI. Added rigorous command line input checks . The encoder exits with error message when command line argument is not valid. - Fixed HD block size to improve motion compensation and prediction - Fixed bug with computing MV costs. - MMX opts to wavelet transform, motion compensation and upconversion which improved decoder speed by 25-30%. - Improved chroma fidelity by increasing bits allocated to chroma - Wavelet filter type is part of bitstream. - Fixed bug with the way median is calculated in motion prediction. - Replaced constant quality encoding control mechanism with a mechanism that used constant constant Lagrangian paramemters. - MMX optimisations are automatically used if underlying architecture supports it. - Improved motion estimation. - Modified arithmetic coding to use a look-up table for division. - Patches: 1211899, 1216297 - Bugs: 1209017, 1209053, 1212581, 1245129, 1240709 dirac_0.5.2 =========== - Changed encoder command line interface to accept all encoding parameters. E.g. frame dimensions, chroma format, frame rate, etc. Header files are no longer required. Refer to section 4.3 of README for details. - Applied patch supplied by Mike Ferenduros to make the TwoDArray class more efficient - An overall increase in decoding speed by 20% by speeding up Motion compensation, frame clip, and wavelet transform. - Arithmetic coding speedup - Added support for multiple wavelet filter types - Added support for variable motion vector precision. - Updated bitstream version. Encoder/Decoder apps in this release will not be able to decode bitstreams generated by earlier versions. - Released a source code patch for MPlayer-1.0pre7 to enable Dirac play back support. - Released a source code patch for ffmpeg-0.4.9-pre1 to enable Dirac encode and decode. - Released a source code patch for transcode-0.6.14 to enable Dirac encode and decode using the patched ffmpeg-0.4.9-pre1. - Patches Applied: 1151976 (partial), 1156674 - Bugs fixed : 1159031 dirac_0.5.1 =========== - Significant speedup in the Arithmetic coding and decoding engines - Modified wavelet coefficient coding to code blocks of coeffients with skip flags if all coefficients are zero. This improves compression performance and decoding speed. - Modified block prediction mode coding to improve compression performance. - Fixed bug in assigning costs to lists of vectors in block matching. - MMX optimisation for calculating block differences in Motion Estimation. This resulted in 20-30% improvement in encoding speed. The configure flag --enable-mmx enables compile time MMX optimisation detection. Currently works only on GNU/Linux. - New script create_dirac_testfile.pl to generate input formats compatible with Dirac from rgb files. Step 3, Section 4.2 in README describes how to use the script. - Released a source code patch for MPlayer-1.0pre6a to enable Dirac play back support. - Released DirectShow filter for Dirac to enable playback of Dirac bitstreams using Windows Media Player - Reinstituted bi-directional prediction - Added support for multiple quantisers. - Code restructure and tidying. - Updated bitstream version. Encoder/Decoder apps in this release will not be able to decode bitstreams generated by earlier versions. - Patches applied: 1081736,1081743 dirac_0.5.0 =========== - Added C interface for the encoder application. Refer to the api documentation in dirac_encoder.h or in the Programmer's Guide at http://dirac.sourceforge.net/documentation/code/programmers_guide/index.htm - Updated bitstream version. Encoder/Decoder apps in this release will not be able to decode bitstreams generated by earlier versions. - Improvements to Constant Quality encoding engine to improve stability. - Speed-ups to motion compensation and wavelet transform for faster decoding - Removed rounding errors from motion compensation. - Fixed bugs with clipping and encoding black or white areas. - Fixed bug with overflow in context modelling for arithmetic coding of HD pictures. - Added unit tests for motion compensation classes and wavelet classes. - The number of frames parameter is no longer required. All existing picture header files must be recreated using make_header for this parameter to be omitted. Otherwise, incorrect bit rates will be reported by the encoder application. - Updated algortihm documentation. - Restructured libraries so that only two libraries are generated - an encoder library and a decoder library. 'make install' will now install only the public API libraries and header files, the encoder and decoder apps and the conversion and instrumentation utilities. - Added support for building shared and/or static libraries using libtool under UNIX, GNU/Linux. Shared and static libraries are built by default. - Added support for building shared or static libraries under MS Windows using MSYS and the no cost MSVC++ 2003 toolkit. Shared libraries are built by default. - Added support for building the codec using MS Visual C++ .NET 2003 under MS Windows. Options are available to build Dlls and static libraries. The _declspec mechanism is used to export the Encoder and Decoder public "C" API. - New target 'valgrind-check' added to make under Linux. - Build under MS Windows using nmake no longer supported. - Bug fixes: 1050816, 1055692, 1050757, 1044503, 1044501, 1044499 - Patches Applied: 1055714, 1055707, 1061923, 1071429, 1059342 dirac-0.4.3 =========== - Quality metric has changed from PSNR to one based on 4th powers of errors. This results in pictures with more stable quality and fewer artefacts. - Fixed bug with scaling motion vectors for non 4:4:4 formats. - Fixed bug in encoder in downconverting a picture with odd valued dimensions - Fixed bug in encoder in handling input with 4:1:1 chroma format. - Fixed bug in diagnostics tool in handling input with 4:1:1 chroma format. - Updated algorithm documentation dirac-0.4.2 =========== - Fixed bugs in writing instrumentation data while encoding which caused the diagnostics tool to go into an infinite loop - Fixed bug in diagnostic tool when handling reference 2 and only one reference frame is available - Number of frames in encoded output header is now set correctly to the number of frames encoded. - Fixed bug with bit-rate being miscalculated when only a section of the sequence is encoded. - Fixed bug with setting DC band perceptual weight. dirac-0.4.1 =========== - Added support for build under Microsoft Windows using gnu autotools, MSYS and no-cost MS VC++ 2003 compiler - Fixed bug in building unit tests when older versions of cppunit are installed - Fixed bugs in measurement of PSNR and motion estimation process dirac-0.4.0 =========== - Added constant quality encoding interface using PSNR as the quality measure, and using multi-pass frame coding - Added Intra-frame insertion and cut detection - Added C interface for the decoder application to allow interfacing to player software. Refer to the api documentation in dirac_parser.h. - Implemented unique frame headers to facilitate bit-stream parsing - Added instrumentation output from encoder and an instrumentation display tool for visualising encoder decisions to help with algorithmic development - Cleansed and refactored numerous code files to add comments, improve readability and modularity - Added a unit testing framework based on cppunit for testing classes - Fixed bug with vertical block separation always being set to 8 pixels - Added feature to encode only a section of input video rather than the whole sequence - Tweaked motion estimation parameters to improve performance, mostly for higher-res pictures - Included document describing the syntax of Dirac bitstream v0.1 in the doc directory. - Fixed bug 1008694 (Out-of-tree building fails) - Fixed header and pkconfig installation - Updated algorithm documentation Dirac-0.3.1 =========== - Fixed compiling under Windows - Video conversion utilites now build under Windows - Colour conversion matrix coefficients corrected in conversion utilites Dirac-0.3.0 =========== - Added conversion utilities for going to and from RGB and various YUV formats, plus bitmaps - Fixed serious artifacts when frame dimensions are not multiples of 32 - Performance speed up writing output to disk - Changed .hdr format from binary to text for cross-platform interoperability - Added autotest framework with simple colour-bars test - Added format conversion, MPlayer and ImageMagick examples to README - Added decoder support for arbitrary temporal prediction structures - Added support for I-frame only coding - Added support for coding with a single initial I-frame - Extended code documentation to all major classes Dirac-0.2.0 =========== - Fixed crash when frame dimensions are not multiples of 32 - Removed dependency on XParam library - Removed libtool for faster compiles and ease of debugging - Included doxygen documentation of major classes - Initial "programmer's guide" documentation - doc/dirac_algor.tex Dirac-0.1.0 =========== - Initial Sourceforge release.