2007-05-09 14:47 asuraparaju * extras/patches/: MPlayer-1.0rc1_dirac-0.7.x.patch, README_MPlayer-1.0rc1_dirac-0.7.x_patch, README_ffmpegsvn_trunk_revision_8950-dirac-0.7.x_patch, ffmpegsvn_trunk_revision_8950-dirac-0.7.x.patch: MPlayer and FFmpeg patches for Dirac 0.7.0 2007-05-08 17:17 asuraparaju * NEWS, doc/documentation/algorithm/algorithm/index.htm: Included note that Algorithm document is out of date. 2007-05-08 13:48 asuraparaju * doc/documentation/code/programmers_guide/: decoder_api_functions.htm, intro.htm, overview.htm: Changed software version to 0.7.0 2007-05-07 13:38 asuraparaju * libdirac_common/arith_codec.cpp: Convert DOS-style line breaks to Unix-style line breaks. 2007-05-04 14:59 asuraparaju * NEWS: Included notes on Release 0.7.0. 2007-05-04 14:12 asuraparaju * doc/documentation/code/programmers_guide/: encoder_api_functions.htm, encoder_data_structs.htm: Specify the link to the Dirac Bytestream Specification and the section that defines video format defaults for each preset. 2007-05-04 12:14 asuraparaju * doc/specification.html: Updated the specification document link to point to the latest spec release. 2007-05-04 11:53 asuraparaju * AUTHORS, README, configure.ac: Updated for release 0.7.0 2007-05-03 16:24 tjdwave * doc/latex_spec/: dataenc.tex, low-delay.tex: Minor bug-fixes. 2007-05-03 15:42 asuraparaju * libdirac_encoder/dirac_encoder.cpp: Replace tabs with spaces. Print GOP bit-rate statistics to standard output only in verbose mode. 2007-05-03 15:39 asuraparaju * doc/documentation/code/programmers_guide/: common_data_structs.htm, encoder_data_structs.htm, software.htm: Document changes to the Encoder API data structures and building under the MS Windows Platform. 2007-05-02 17:30 asuraparaju * win32/: VS2003/libdirac_byteio/libdirac_byteio.vcproj, VisualStudio/libdirac_byteio/libdirac_byteio.vcproj: Include mydataelement_byteip.cpp{.h} to source list. 2007-05-02 17:29 asuraparaju * libdirac_common/common.cpp: Include inttypes.h to fix g++ 3.3.x and icc warnings regrading uint64_t. 2007-05-02 14:10 asuraparaju * libdirac_byteio/parseunit_byteio.cpp, libdirac_byteio/parseunit_byteio.h, libdirac_decoder/dirac_cppparser.cpp: Handle auxiliary/paddaing data parse units and low-delay frames. Auxiliary/ padding data parse units are ignored by the decoder. When the decoder encounters a low-delay frame it exits with an error message. 2007-05-02 09:52 tjdwave * libdirac_encoder/comp_compress.cpp: Fixed bug with using -multi_quants -lossless : multiquants were being signalled, but quantisers for each code block weren't being coded. 2007-05-01 15:51 asuraparaju * libdirac_common/band_codec.h, libdirac_encoder/comp_compress.h: Fix warnings reported by doxygen when not all parameters to a function are documented. 2007-05-01 10:56 tjdwave * libdirac_common/wavelet_utils.cpp: Fixed bug in calculating subband weighting coefficients: values for compensating filter gains were incorrect. 2007-04-30 14:13 tjdwave * doc/latex_spec/dataenc.tex: Fixed table warning 2007-04-26 14:56 asuraparaju * libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/seq_decompress.cpp: Added new function to FrameBuffer to check if frame is available before using it. This is to prevent from trying to dereference a non-existent first frame from the buffer. This function is a temporary fix. FrameBuffer might need to be re-written to return pointer to a frame in the buffer rather than a reference so that the return value can be checked for NULL before using it. 2007-04-25 11:49 tjdwave * doc/latex_spec/profilelevel.tex: Revised text on levels and profiles. 2007-04-24 16:42 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, layout-fullsize.tex, low-delay.tex, sourcepresets.tex, spec-conventions.tex, wlt-dec.tex: Removed superfluous parse codes and added a parse code for padding data. Removed reference to using_ac and using_mc flags/functions: low-delay syntax is now vlc-only, and without motion compensation; core syntax supports both motion compensation and arithmetic coding. 2007-04-24 10:35 tjdwave * doc/latex_spec/: sourcepresets.tex, state-macros.tex, vidsys.tex: Refactored the source parameter appendix to get rid of remaining conversion artefacts. 2007-04-23 15:52 tjdwave * doc/latex_spec/: bs-spec.tex, dataenc.tex, low-delay.tex, sourcepresets.tex, state-macros.tex, vidsys.tex: Fixed reference bugs and some typos. 2007-04-23 15:21 tjdwave * doc/latex_spec/parsediagrams.tex: Added low delay parse diagrams. 2007-04-23 13:55 tjdwave * doc/latex_spec/arith.tex: Fixed bug with flushing arithmetic encoder. 2007-04-23 12:52 tjdwave * doc/latex_spec/parsediagrams.tex: Corrected motion vector coding parse diagrams. 2007-04-19 16:02 asuraparaju * configure.ac: Fix bug in setting additional flags in CXXFLAGS to flag extra warnings. 2007-04-18 13:28 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, idwt.tex, layout-fullsize.tex, low-delay.tex, motion-dec.tex, picture-dec.tex, spec-conventions.tex, vidsys.tex, wlt-dec.tex: Incorporated Dave Schleef's comments and bugfixes. 2007-04-17 16:50 tjdwave * doc/latex_spec/: layout-fullsize.tex, vidsys.tex: Further update to video systems model, covering YCoCg coding and colour matrixing etc. YCoCg has been changed to give an additional bit to Y so that luma and chroma have the same resolution, to avoid confusion. 2007-04-16 17:17 tjdwave * doc/latex_spec/: vidsys-colourmatrix.tex, vidsys.tex: Initial mods to video systems model to bring it up to date: mostly done colour. 2007-04-16 16:42 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, idwt.tex, intro.tex, layout-fullsize.tex, low-delay.tex, motion-dec.tex, picture-dec.tex, spec-conventions.tex, state-macros.tex, wlt-dec.tex: Removed mention of Y,U and V - instead use Y, C1 and C2. Fixed bug with biased rounding in IDWT, and fixed bug with ref2 motion vector decoding. 2007-04-16 12:17 tjdwave * doc/latex_spec/arith.tex: Finalised informative text on arithmetic encoding. Minor bug fixes. 2007-04-11 17:26 asuraparaju * libdirac_encoder/comp_compress.cpp: Initialise the multi-quants flag and estimated bits for DC band to fix bug where decoder output was not matching locally decoded output. 2007-04-11 17:23 asuraparaju * libdirac_common/video_format_defaults.cpp, libdirac_encoder/seq_compress.cpp: Fix initialisation errors reported by valgrind. 2007-04-11 16:28 tjdwave * doc/latex_spec/: arith-encoder.tex, arith.tex, bs-spec.tex, dataenc.tex, idwt.tex, layout-fullsize.tex, low-delay.tex, mc.tex, motion-dec.tex, parsediagrams.tex, ref-default-videoparams.tex, sourcepresets.tex, spec-structure.tex, state-macros.tex, stream-access.tex, wlt-dec.tex: Modified arithmetic coding sections to place the arithmetic coding engine in an annex. The AC system now agrees with the code, using the LUT update implementation. Various compile warnings also fixed. 2007-04-11 15:36 tjdwave * libdirac_common/arith_codec.h: Minor cosmetic change to simplify symbol decoding and agree with AC theory. 2007-04-11 15:18 tjdwave * libdirac_encoder/frame_compress.cpp, libdirac_common/mv_codec.cpp: Fixed bug with motion vector coding on long sequences. 2007-04-11 09:08 tjdwave * decoder/decmain.cpp, encoder/encmain.cpp, libdirac_byteio/Makefile.am, libdirac_byteio/mvdata_byteio.cpp, libdirac_byteio/mvdata_byteio.h, libdirac_byteio/mvdataelement_byteio.cpp, libdirac_byteio/mvdataelement_byteio.h, libdirac_common/common.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/quality_monitor.cpp: Motion vector data is now split into a number of different parts which are coded as separate units: - Superblock/macroblock splitting mode - Block prediction mode - Motion vectors, reference 1, horizontal component - Motion vectors, reference 1, vertical component - Motion vectors, reference 2, horizontal component - Motion vectors, reference 2, vertical component - DC values, Y - DC values, U - DC values, V Each is a separate, byte-aligned element with a prefixing length code. This allows parallel encoding and decoding of these elements, especially beneficial in hardware. Still TO DO: gather statistics on each of these elements separately. 2007-04-11 08:52 tjdwave * libdirac_encoder/: comp_compress.cpp, quant_chooser.cpp: Fix to stop drift on sequences of still frames: at high rate, DC bands were being erroneously skipped, causing a build-up of dc error. This fix means that DC bands are always coded losslessly and never skipped. Further experiments may be required to see if this condition can be relaxed. 2007-04-04 17:00 tjdwave * doc/latex_spec/: arith.tex, mc.tex, motion-dec.tex, spec-conventions.tex, state-macros.tex: Changed motion data coding specification to allow for parallel decoding of motion data elements. Fixed bugs in arithmetic coding spec - this will be refactored to reflect recent code changes soon. 2007-04-04 09:11 tjdwave * doc/latex_spec/bs-spec.tex: Fixed the next parse offset and previous parse offset to be 4 bytes instead of 3. This is now in line with the code. 2007-04-04 09:08 tjdwave * doc/latex_spec/wlt-dec.tex: Updated quantisation factors so that they represent an integer approximation of 2^{(q/4)+2)} up to q=128. Now agrees with code. 2007-04-03 16:29 tjdwave * doc/latex_spec/: arith.tex, motion-dec.tex, state-macros.tex, wlt-dec.tex: Minor bug-fixes. 2007-04-03 14:06 asuraparaju * extras/dirac_dshow/src/diracsplitter/DiracSplitterFile.cpp: Size of the parse unit header has increased to 13. 2007-04-03 14:04 asuraparaju * tests/samples.at: Define a variable mv_prec to set the motion vector precision on the encoder command line. Values is currently hardcoded to quarter pixel. Change the value of variable mv_prec to run the tests with a different value. 2007-04-03 14:02 asuraparaju * libdirac_motionest/motion_estimate.cpp, libdirac_common/common.h: Hack to support pixel accurate motion estimation. The pixel accurate motion vectors are multipled by 2 and then half-pel accurate motion estimation is performed. After ME, he motion vectors are divided by 2 to convert them back to pixel accurate motion vectors. 2007-04-02 08:58 asuraparaju * libdirac_common/arith_codec.cpp: Fix g++ warnings regarding order of initialisation of member variables in ArithCodecBase constructor. 2007-03-30 18:22 timborer * libdirac_common/: arith_codec.cpp, arith_codec.h: Simplified probability estimation for arithmetic coding to speed up encoding and decoding. Now the total symbol count is ASSUMED to be a function of the current probability. The update is implemented in a lookup table for speed. The total symbol count is assumed to be 16 when probabilit of 0 is 0.5, and assumed to be 256 when prob 0 is 1. 2007-03-29 17:43 asuraparaju * libdirac_byteio/: dirac_byte_stream.cpp, endofsequence_byteio.cpp, endofsequence_byteio.h: Fix the bug which reported "total bits for sequence" in verbose mode to be less than the actual the size (in bits) of the bitstream file written to disk. This was because the number of bytes in the end of sequence header was not being included in the total bits for the sequence. 2007-03-29 17:07 asuraparaju * configure.ac: Include VisualStudio in list of directories to generate Makefile in. 2007-03-29 15:08 asuraparaju * decoder/Makefile.am, encoder/Makefile.am: Fix for bug# 588191. Include libdirac_byteio.a in the libraries to be linked with for encoder and decoder utilities. 2007-03-28 15:33 asuraparaju * win32/Makefile.am: Added VisualStudion to lis of sub directories 2007-03-28 15:31 asuraparaju * win32/VisualStudio/: Makefile.am, dirac.sln, ConversionUtils/ConversionUtils.vcproj, ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj, ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj, ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj, ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj, ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj, ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj, ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj, ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj, ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj, ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj, ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj, ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj, ConversionUtils/libconv_common/libconv_common.vcproj, DecodeDirac/DecodeDirac.vcproj, DiracDecoder/DiracDecoder.vcproj, DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, DiracEncoder/DiracEncoder.vcproj, DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, EncodeDirac/EncodeDirac.vcproj, Everything/Everything.vcproj, InstrumentDirac/InstrumentDirac.vcproj, InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj, MakeHeader/MakeHeader.vcproj, libdirac_byteio/libdirac_byteio.vcproj, libdirac_common/libdirac_common.vcproj, libdirac_motionest/libdirac_motionest.vcproj: New directory for supporting latest MS Visual Studio Env. 2007-03-28 12:05 tjdwave * libdirac_encoder/rate_control.cpp: Temporarily disabled buffer model conformance. 2007-03-27 17:31 asuraparaju * win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj: Included rate_control.cpp and rate_control.h in sources list. 2007-03-27 17:29 asuraparaju * libdirac_common/: band_codec.cpp, common.cpp, common.h: Fix compile warnings and errors in MS Windows build. The max numbe of quantisers supported is now 120. Modified code to calculate quantisation factor to be compliant with latest version of spec. 2007-03-27 17:26 asuraparaju * libdirac_byteio/parseunit_byteio.cpp: [Spec Compliance] The next and previous parse unit offsets in the bytestream are now 4 bytes each. 2007-03-27 16:20 tjdwave * libdirac_common/common.h, libdirac_encoder/rate_control.cpp, libdirac_encoder/rate_control.h, libdirac_encoder/seq_compress.cpp: Major refactor of rate control algorithm. The original algorithm aimed for constant bit rate over a single GOP. This tended to be unstable when content changed and could cause quality to degrade significantly at the end of GOPs in order to attempt to correct for high bit rate at the beginning. The algorithm has been revised so that a target buffer occupancy is aimed for, with the target bit rate set as equal to the mean bit rate plus an adjustment factor to steer back to target. Bit rate is computed for a subgroup (PBB or IBB) in a very similar way, but on a rolling basis rather than a target for a single GOP. For the moment, a buffer size of 4xbit rate has been selected. Fixed buffer sizes may be implemented when levels are specified. Buffer overflows (too little bit rate - this is a _decoder_ buffer model) or underflows (too much bit rate) are indicated by warnings in verbose mode. The buffer occupancy is then limited, so that these events are not corrected for at present. 2007-03-26 16:28 tjdwave * libdirac_encoder/dirac_encoder.cpp: Fixed computation of GOP statistics to maintain coded order. GOP is counted as up to just before the next scheduled access point (intra frame). 2007-03-26 12:20 asuraparaju * libdirac_common/mot_comp.cpp: Weights are now being correctly set for edge blocks. Fixed bug where data outside the picture in the block in the bottom right corner was not being ignored. 2007-03-26 11:24 davidf_ * libdirac_encoder/quant_chooser.cpp: Stop quantizing DC subband at all, otherwise chroma error is appearing. Also includes fix from thomasd to look at the whole of the DC subband instead of ignoring the first (most important value) 2007-03-23 15:32 asuraparaju * libdirac_common/pic_io.cpp, tests/Makefile.am, tests/colourbars.at, tests/samples.at, util/instrumentation/instrmain.cpp: Changes to keep test scripts and instrumentation utility in sync with the altered command lines for the encoder, decoder. 2007-03-22 18:27 davidf_ * ChangeLog, README, decoder/decmain.cpp, encoder/encmain.cpp: Altered command line file handling. a) now support taking input from stdin (input specified as '-' or '/dev/stdin'). b) removed strange filename extension stripping/appending for primary input and output files (locally decoded video and instrumentation are outputfilename.{local-dec.yuv,imt}. 2007-03-22 14:48 davidf_ * libdirac_common/common.h: Temporary fix to stop RateControll setting silly QF 2007-03-22 14:45 davidf_ * libdirac_encoder/frame_compress.cpp: Add some basic diagnostics 2007-03-22 13:12 tjdwave * libdirac_encoder/rate_control.cpp: Fixed typo in previous bug fix. 2007-03-22 13:04 davidf_ * libdirac_encoder/rate_control.cpp: Fix overlyeager typecasting. 2007-03-21 11:32 tjdwave * libdirac_encoder/: rate_control.cpp, rate_control.h: Adding rate control classes. 2007-03-21 11:12 tjdwave * README: Added instructions on using CBR encoding. 2007-03-21 11:05 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_encoder/Makefile.am, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h: Added support for CBR encoding. This equalises bitrate over a GOP (I frame to I frame). It does not enforce bit rate, nor does it operate according to a buffer model. To apply CBR coding, add -targetrate N, where N is the target bit rate in Kb/s. Precedence: 1) if a quality factor is also set with -qf Q, then the value of Q is used as the initial value for the system, but CBR is still applied. 2) if -lossless is also set, then lossless coding is applied and CBR constraints are ignored. 2007-03-19 16:18 asuraparaju * decoder/decmain.cpp, libdirac_byteio/byteio.h, libdirac_common/arith_codec.cpp, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/dirac_exception.cpp, libdirac_common/dirac_exception.h, libdirac_common/frame_buffer.cpp, libdirac_common/mot_comp_mmx.cpp, libdirac_common/pic_io.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/dirac_cppparser.cpp, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/downconvert_mmx.cpp, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_utils_mmx.cpp, libdirac_motionest/pixel_match.cpp, libdirac_motionest/pixel_match.h, util/instrumentation/libdirac_instrument/draw_overlay.cpp: Fix warnings reported by gcc 4.1.2 2007-03-19 16:18 asuraparaju * configure.ac: When compiling using g++, enable warnings in debug mode and in optimised mode. All warnings are flagged as errors in both modes of compiling. 2007-03-19 16:16 asuraparaju * libdirac_common/: frame.cpp, upconvert_mmx.cpp: Fixed upconvert (MMX version) to clip after each filtering operation as per spec 0.10.4 and to be in sync with the non-MMX version 2007-03-19 15:39 asuraparaju * libdirac_decoder/seq_decompress.cpp: Print info to standard output only in Verbose mode. 2007-03-19 15:22 davidf_ * libdirac_common/upconvert_mmx.cpp: Looks like i forgot to commit this ages ago. Correctly round upconverted pixel values 2007-03-19 15:21 davidf_ * libdirac_common/mot_comp.cpp: Fix old naming of superblocks+family in comments 2007-03-19 15:19 davidf_ * libdirac_common/wavelet_utils.cpp: Useful comment thats been sitting in my local copy for ages 2007-03-01 15:32 tjdwave * libdirac_decoder/comp_decompress.cpp: Removed reference to InitContexts. 2007-03-01 10:38 tjdwave * doc/latex_spec/: arith.tex, motion-dec.tex, state-macros.tex, wlt-dec.tex: Incorporated changes to arithmetic coding. This is a quick hack that may not compile yet. TBC. 2007-03-01 09:24 tjdwave * libdirac_common/: arith_codec.h, band_codec.cpp, band_codec.h, mv_codec.cpp, mv_codec.h: Changed arithmetic coding again slighly. Restored count initialisation to (1,1) and reordered probability/count rescaling parts to get a little more compact code and greater speed. Tidied band codec and mv codec stuff. 2007-02-28 16:22 tjdwave * libdirac_common/: arith_codec.cpp, arith_codec.h, band_codec.cpp, band_codec.h, mv_codec.cpp: Modified arithmetic coding for speed, incorporating periodic calculation of probabilities. Also removed periodic context rescaling, which wasn't really helping compression performance, and added to complexity. 2007-02-20 14:06 tjdwave * libdirac_common/: arith_codec.cpp, arith_codec.h: Code tidy, removing a preponderence of inline functions. Also improved renormalisation. 2007-02-20 09:55 tjdwave * libdirac_common/: arith_codec.cpp, arith_codec.h: Modified renormalisation condition and simplified renormalisation process. Renormalisation is now only invoked if the interval is <=1/4 of the range. This means that either the most significant bits of low and high are the same, or we have low=0x01... and high = 0x10.. i.e. a classic straddle. This reduces the 3-way branch condition to a 2-way one. It also means that we can eliminate use of the high variable altogether and just use low and range. 2007-02-20 09:39 tjdwave * libdirac_common/: arith_codec.cpp, arith_codec.h: Changed structure of renormalisation loop to enable optimisation. 2007-02-20 09:24 tjdwave * libdirac_common/: arith_codec.h, arith_codec.cpp: Now updating range variable on the fly rather than calculating from low and high. 2007-02-20 09:21 tjdwave * libdirac_common/: arith_codec.cpp, arith_codec.h: Refacactored arithmetic coding so that renormalisation is only performed if the interval size is <=1/2 (represented by 0x8000 in 16 bits). This condition may be further restricted in future, and other changes and optimisations will follow. This change makes coding/decoding faster and allows for the high code to be eliminated. Watch this space. 2007-02-15 16:44 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, layout-fullsize.tex, mc.tex, picture-dec.tex, ref-default-videoparams.tex, spec-conventions.tex, state-macros.tex: Various bug-fixes and readabilty improvements. 2007-02-15 16:41 tjdwave * doc/latex_spec/low-delay.tex: Fixed quantiser and length sizes in slice header. 2007-02-07 12:03 davidf_ * libdirac_common/: frame.cpp, upconvert.cpp, upconvert.h: Fixed upconvert (non MMX) to: - perform unbiased rounding as per spec 0.10.4 - clip after each filtering operation as per spec 0.10.4 2007-02-01 15:28 tjdwave * libdirac_common/common.cpp: D'oh! Correct commit. 2007-02-01 15:15 tjdwave * libdirac_common/common.cpp: Fixed calculation of quantisation factors so that intermediate values don't run out of precision. 2007-01-23 14:18 davidf_ * libdirac_common/band_codec.cpp: Fixed nhood_zero selection as per spec-0.10.4 2007-01-22 15:53 tjdwave * doc/latex_spec/mc.tex: Reorganised the text concerning chroma scaling for clarity. Chroma scaling for global motion vectors is now achieved by scaling the generated luma field rather than scaling the generating matrix and vectors. This will change the bitstream. 2007-01-22 14:58 tjdwave * doc/latex_spec/: bs-spec.tex, mc.tex, ref-default-videoparams.tex, state-macros.tex, wlt-dec.tex: Some more of Johannes Reinhardt's corrections 2007-01-22 14:20 tjdwave * libdirac_common/band_codec.cpp: Changed zero neighbourhood context selection so as to comply with specification. 2007-01-22 12:33 tjdwave * doc/latex_spec/wlt-dec.tex, libdirac_common/wavelet_utils.cpp: Correction to spec so that subband order is raster order for each level. 2007-01-22 12:22 tjdwave * libdirac_common/wavelet_utils.cpp: Fixed subband order so that it is as in the specification. 2007-01-16 12:03 tjdwave * doc/latex_spec/wlt-dec.tex: Oops. Undoing last commit. 2007-01-16 11:12 tjdwave * doc/latex_spec/wlt-dec.tex: Changed subband decoding order to agree with the Dirac software. 2007-01-11 09:42 tjdwave * doc/latex_spec/: bs-spec.tex, picture-dec.tex, state-macros.tex: Changed spec so that the size of the reference picture buffer is determined from the level and profile information rather than fixed as 5 pictures. 2007-01-09 14:21 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, idwt.tex, layout-fullsize.tex, mc.tex, spec-conventions.tex, wlt-dec.tex: Minor edits and typos. sign() function added amongst other mods. 2007-01-04 13:20 tjdwave * doc/latex_spec/: layout-fullsize.tex, motion-dec.tex, ref-default-videoparams.tex, state-macros.tex, wlt-dec.tex: Fixed JR bugs. 2007-01-03 16:03 tjdwave * libdirac_common/wavelet_utils.cpp: Fixed bug with rounding offset in non-mmx code. 2007-01-03 10:18 tjdwave * doc/latex_spec/mc.tex: Fixed typos. 2007-01-03 08:32 tjdwave * doc/latex_spec/idwt.tex: Changed the specification of how wavelet filters are adapted at the array edges to match what the Dirac code does, which is to use edge extension of the even and odd coefficients separately. 2006-12-13 09:10 tjdwave * libdirac_encoder/frame_compress.cpp: Fixed bug with unitialised cut flag. Changed intra insertion criterion so that a frame is made intra if just a third of blocks are intra - this is a better bit rate trade-off. 2006-12-05 14:36 tjdwave * libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/seq_compress.cpp: Fixed memory leak bug, which resulted from the encoder not signalling the discarded reference frames correctly. The reference management and FrameBuffer class code still need some work to rationalise. The decoder still does not support the spec requirement for discarding old reference frames if the reference frame buffer gets too big. This would prevent memory leaks (at the risk of incorrect decoding) if the encoder were to signal reference discarding incorrectly in this manner. 2006-12-04 12:00 davidf_ * doc/faq.html: Fixed markup faults spotted by Peter Shelswell: - Fixed errant tag - Added identifier 2006-11-23 16:22 tjdwave * encoder/encmain.cpp, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, util/instrumentation/process_sequence.cpp: Fix for broken intrumentation data: obsolete "common" MB mode removed. Verbose commentary switched to cout. 2006-11-23 11:00 tjdwave * libdirac_decoder/comp_decompress.cpp: Fixed bug with codeblock numbers being incorrectly calculated in the decoder. 2006-11-22 14:06 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, idwt.tex, layout-fullsize.tex, low-delay.tex, mc.tex, motion-dec.tex, picture-dec.tex, profilelevel.tex, ref-default-videoparams.tex, state-macros.tex, stream-access.tex, wlt-dec.tex: Nearly complete version of low-delay syntax, at least for intra frames. Data encoding section revised to incorporate "bounded" inputs for vlcs as well as for arithmetic encoding, unifying the description. More detail on buffering and profiles/levels. 2006-11-22 11:00 tjdwave * README, libdirac_common/band_codec.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/mv_codec.cpp, libdirac_common/video_format_defaults.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/seq_compress.cpp: Inserted intra frames are now given lower quality than other intra frames so as to match P and B frames more closely. Various other minor bug-fixes to remove -pedantic compile errors and valgrind error. 2006-11-14 10:59 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h: Added in option for encoder to denoise input. Note that PSNR values reported will be for denoised values. Denoiser uses a centre-weighted median filter. Also applied Johannes Reinhardt's cosmetic patch to the encoder to tidy it up. 2006-11-13 14:20 tjdwave * doc/latex_spec/wlt-dec.tex: Changed inverse quantisation offset so that a value of 0.5*quantisation is used. 2006-11-13 12:28 tjdwave * ChangeLog: [no log message] 2006-11-13 09:41 tjdwave * libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/quant_chooser.cpp: Changed quantiser offsets to be different for Intra and Inter frames, as per the latest draft of the spec. Having an offset of 0.5*quantiser for intra frames improves performance at high rate, especially iterated coding with Dirac Pro apps. 2006-11-09 12:11 tjdwave * doc/latex_spec/: arith-encoder.tex, arith.tex, layout-fullsize.tex, low-delay.tex, mc.tex, motion-dec.tex, profilelevel.tex, spec-conventions.tex, spec-structure.tex, wlt-dec.tex: Added more text on the low-delay syntax and decoded picture buffer model. Clarified arithmetic decoding process and conventions. 2006-11-09 11:30 tjdwave * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame_buffer.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_encoder/quant_chooser.cpp, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: Overall improvements to encoding framework to improve quality for difficult pictures and at low bit rates. Changes to the RDO parameters are experimental and they may change again. - Added test for whether a frame is a B frame or not - Identified Layer 1 frames with P frames and Layer 2 with B frames, rather than with Inter Ref and Inter Non-ref respectively. This is more efficient with the new GOP structure - Modified RDO framework to provide correction where there has been ME failure i.e. lots of Intra blocks - Slightly increased ME search areas - Corrected the frame type parameter for the final B frame in a sequence - Changed confusing terminology for costs/errors in quantisation factor selection - Added overall PSNR stats for a sequence for performance comparisons 2006-10-30 15:17 tjdwave * doc/latex_spec/: arith.tex, dataenc.tex, motion-dec.tex, wlt-dec.tex: Fixed bug in specification of inverse quantisation. Changed default arithmetic decoding padding value to 1 from 0, so after reading in LENGTH bytes, a value of 1 is used from that point. This should support early termination i.e. encode only the first few values in a subband and then the decoder will correctly decode the remainder as 0, but this is as yet untested. 2006-10-30 14:57 tjdwave * libdirac_common/arith_codec.cpp: Fixed bug so that the decoder can now append any data to the end of the arithmetically encoded block and still decode correctly. Default padding data is all 1s - this should make a null or terminated subband decode with zeroes. 2006-10-30 13:42 tjdwave * libdirac_common/band_codec.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_decoder/comp_decompress.cpp: Fixed definitions of mean/median so that unbiased mean values are used. Likewise changed the prediction for DC values to take account of the fact that they may be negative. These changes change the bitstream. 2006-10-30 13:38 tjdwave * doc/latex_spec/: motion-dec.tex, spec-conventions.tex, wlt-dec.tex: Changed specification of division so that it agrees with C/C++ standards. Traced through these changes to specification of split mode, block dc value and intra dc band prediction. 2006-10-26 16:22 tjdwave * libdirac_encoder/dirac_encoder.cpp: Moved to using cout instead of cerr for reporting. 2006-10-26 16:07 tjdwave * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_encoder/seq_compress.cpp: Made operation of retired picture list comply with specification: only reference pictures are signalled to be retired and non-reference pictures are retired by the decoder once they are displayed. Clarified frame type parameters so as to be sure they always agree. This will need further refactoring. Reference frames are now cleaned from the buffer _after_ being the current frame has been decoded, as per the spec. This allows slightly more flexible GOP structures. 2006-10-25 14:01 tjdwave * libdirac_common/common.cpp: Fixed bug with wrong quantiser offset being used: now complies with spec again. 2006-10-24 09:09 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, dirac-overview.tex, layout-fullsize.tex, picture-dec.tex, profilelevel.tex, spec-conventions.tex, spec-structure.tex, state-macros.tex, vidsys-sigrange.tex, vidsys.tex: First stab at including the low-delay syntax used for Dirac Pro profiles, together with profile and level text. Work in progress! 2006-10-19 16:01 tjdwave * doc/latex_spec/picture-dec.tex: Changed order of reference buffer management so that a reference picture is not removed until after the current picture has been decoded, 2006-10-19 14:53 tjdwave * libdirac_common/band_codec.cpp: Put in Dave Schleef's patch for making the computation of parent coefficient coordinates correct and spec compliant. 2006-10-10 15:04 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/dirac_types.h, libdirac_encoder/dirac_encoder.cpp: Fixed bug with aspect ratio being set to 0/0. Now it should be set to the correct value from the video format defaults. 2006-10-09 16:24 tjdwave * libdirac_common/wavelet_utils_mmx.cpp: Renamed functions with consistent filter names. 2006-10-05 16:22 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common_types.h, libdirac_common/video_format_defaults.cpp, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h: Given wavelet filters correct names and numbers as per spec. Added support for HAAR1 and HAAR2 filters. FIDELITY filter will be forthcoming. 2006-09-28 18:20 davidf_ * doc/: browser_compatibility.html, licences.html, licenses.html, template.html, template2.html, todo.html: fix license spelling mistake correction typos/misses/references 2006-09-28 18:13 davidf_ * doc/: contact.html, documentation.html, faq.html, getting_involved.html, index.html, overview.html, soc2006.html, soc2006_ideas.html, specification.html, styles.css, todo.html, documentation/publications/diracoverview-ibc2006.pdf: merge shas' website fixes added ibc2006 publication 2006-09-28 14:59 tjdwave * libdirac_common/: common.cpp, mot_comp.cpp: Fixed the block parameter testing so as to be compliant with the specification. Non-overlapped blocks are now allowed and supported. The raised cosine macro has now been removed and only linear weights are supported. 2006-09-28 10:17 tjdwave * doc/latex_spec/low-delay.tex: Added file to cover low delay syntax. 2006-09-28 10:08 tjdwave * doc/latex_spec/: abstract.tex, arith-contexts.tex, arith-datainput.tex, arith-decoder-ba.tex, arith-decoder-impl.tex, arith-decoder-sint.tex, arith-decoder-sua.tex, arith-decoder-tua.tex, arith-decoder-uua.tex, arith-decoder.tex, arith-encoder.tex, arith-engine.tex, arith-init.tex, arith-intro.tex, arith-update.tex, arith.tex, begin-bs.tex, begin-compmethods.tex, begin-dwt-fwd.tex, begin-dwt-parentchild.tex, begin-dwt.tex, begin-ec-dwt.tex, begin-ec-mc.tex, begin-ec.tex, begin-mc-accuracy.tex, begin-mc-blocks.tex, begin-mc-global.tex, begin-mc-intra.tex, begin-mc.tex, begin-more.tex, begin-pictypes.tex, begin-videocoding.tex, bs-intro.tex, bs-semantics.tex, bs-spec.tex, bs-syntax.tex, conv-bs-bytealign.tex, conv-bs-defaults.tex, conv-bs-reading.tex, conv-intro.tex, conv-parse-diagnums.tex, conv-parse-diagrams.tex, conv-pseudocode-syntax.tex, conv-pseudocode.tex, dataenc-bool.tex, dataenc-input.tex, dataenc-intro.tex, dataenc-nbitlit.tex, dataenc-nbytelit.tex, dataenc-vlc-segol.tex, dataenc-vlc-su.tex, dataenc-vlc-uegol.tex, dataenc-vlc-ut.tex, dataenc-vlc-uu.tex, dataenc-vlc.tex, dirac-concepts.tex, dirac-overview.tex, gendec.tex, idwt-1dsynthesis.tex, idwt-filters.tex, idwt-interleaving.tex, idwt-intro.tex, idwt-lifting.tex, idwt-padremoval.tex, idwt-synthesis.tex, idwt-vhsynthesis.tex, idwt.tex, intro-docstruct.tex, intro-purpose.tex, intro-scope.tex, layout-fullsize.tex, logicalstruct-accessunit.tex, logicalstruct-arithcoding.tex, logicalstruct-blocks.tex, logicalstruct-coordinates.tex, logicalstruct-dwt.tex, logicalstruct-frameordering.tex, logicalstruct-frames.tex, logicalstruct-globalmc.tex, logicalstruct-intro.tex, logicalstruct-localmc.tex, logicalstruct-parseunit.tex, logicalstruct-sequence.tex, logicalstruct-subbands.tex, logicalstruct-superblocks.tex, logicalstructs.tex, mc-alg.tex, mc-blockcoverage.tex, mc-chomascaling.tex, mc-impl.tex, mc-intro.tex, mc-obmc-matrix.tex, mc-precision.tex, mc-pred.tex, mc-upconvert.tex, motion-dec.tex, parsediagrams.tex, prep-idwt-codeblk-dim.tex, prep-idwt-codeblk-process.tex, prep-idwt-coef-process.tex, prep-idwt-conventions.tex, prep-idwt-ctxt-init.tex, prep-idwt-ctxt-magnitude.tex, prep-idwt-ctxt-quantindex.tex, prep-idwt-ctxt-sign.tex, prep-idwt-ctxt-skip.tex, prep-idwt-pred-dc.tex, prep-idwt-process.tex, prep-idwt.tex, prep-mc-ctxt-init.tex, prep-mc-decode-blkmotion.tex, prep-mc-decode-dc.tex, prep-mc-decode-mv.tex, prep-mc-decode-predictionmode.tex, prep-mc-decoding.tex, prep-mc-mbdata.tex, prep-mc-predapeature.tex, prep-mc-predictionmodes.tex, prep-mc-predmbcommon.tex, prep-mc-predmbglobal.tex, prep-mc-predmbsplit.tex, ref-default-videoparams.tex, ref-quantization-lut.tex, semantics-auh.tex, semantics-dwt.tex, semantics-intro.tex, semantics-mv.tex, semantics.tex, spec-conventions.tex, spec-structure.tex, state-macros.tex, wlt-dec.tex: Removing a whole load of cruft files. Bug fixes. 2006-09-12 12:18 tjdwave * doc/latex_spec/state-macros.tex: [no log message] 2006-09-12 10:00 tjdwave * doc/latex_spec/ref-default-videoparams.tex: Completed tables - added various decoding presets too. 2006-09-12 09:59 tjdwave * doc/latex_spec/sourcepresets.tex: This contains the presets for the source parameters. This needs to be merged with the video systems model section. 2006-09-12 09:58 tjdwave * doc/latex_spec/vidsys.tex: Slightly revised - to be merged with source parameters presets. 2006-09-12 09:56 tjdwave * doc/latex_spec/: idwt.tex, mc.tex, picture-dec.tex: Finished first draft of overall picture decoding process. Added stuff on global motion compensation (_probably_ works now). 2006-09-12 09:54 tjdwave * doc/latex_spec/: bs-spec.tex, motion-dec.tex, wlt-dec.tex: Created unified chapter files for parsing elements. Completed overall stream syntax chapter. 2006-09-12 09:52 tjdwave * doc/latex_spec/: arith.tex, dataenc.tex: Unified data access files into chapter files. 2006-09-12 09:51 tjdwave * doc/latex_spec/: dirac-concepts.tex, parsing.tex: Restructured part structure files. 2006-09-12 09:48 tjdwave * doc/latex_spec/spec-conventions.tex: Updated/added material on the way the pseudocode works and the mathematical notation. This section still needs work and reordering. 2006-09-12 09:45 tjdwave * doc/latex_spec/intro.tex: Revised and unified the general introduction. 2006-09-12 09:44 tjdwave * doc/latex_spec/spec-structure.tex: Revised overall document structure. 2006-09-12 09:42 tjdwave * doc/latex_spec/parsediagrams.tex: Added parse diagrams as an appendix. 2006-08-24 10:32 tjdwave * doc/latex_spec/: decoding-ops.tex, idwt.tex, state-macros.tex: Updated inverse wavelet transform section. Introduced Haar variants and added a fidelity filter. 2006-08-21 13:33 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, decoding-ops.tex, layout-fullsize.tex, mc.tex, motion-dec.tex, parsing.tex, spec-structure.tex, state-macros.tex, wlt-dec.tex: Done motion data decoding and motion compensation. Amalgamated file contents to simplify structure. 2006-08-11 15:51 tjdwave * libdirac_common/: golomb.cpp, golomb.h: Functionality is now provided in the Byte IO library. ---------------------------------------------------------------------- 2006-07-28 14:33 tjdwave * libdirac_common/common.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_encoder/dirac_encoder.cpp, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h: Removed the Macroblock "Common" mode. This means that each prediction unit within a macroblock will have to code a mode. Motion data coding has also been changed so that instead of coding all the prediction modes first and then all the motion data, prediction modes are included in the motion data as per the spec. An updated version of the latex spec in which the Common mode is omitted is in preparation and will be committed in the next couple of weeks. 2006-07-19 12:29 tjdwave * doc/latex_spec/prep-idwt-process.tex: Added initialisation of the coefficient_reset variable. 2006-07-19 12:19 tjdwave * doc/latex_spec/: arith-contexts.tex, arith-decoder-sint.tex, dataenc-vlc-segol.tex, decoding-ops.tex, intro-docstruct.tex, parsing.tex, prep-idwt-coef-process.tex, state-macros.tex, figs/block-coverage.eps, figs/obmc-profile.eps: Mods to interface with arithmetic coding changes. 2006-07-19 11:48 tjdwave * doc/latex_spec/: arith-contexts.tex, arith-datainput.tex, arith-decoder-sint.tex, arith-decoder.tex, arith-engine.tex, arith-init.tex, arith-intro.tex, arith-update.tex, arith.tex: Refactored to take account of exp-Golomb binarisation and the use of global context indices being passed to arithmetic decoding operations. 2006-07-18 11:36 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h: Changed nhood sum calculation so that it only takes account of whether the neighbour is zero or not. 2006-07-07 15:07 tjdwave * encoder/encmain.cpp: Fixed bug with framerate denominator being incorrectly set if omitted. 2006-07-07 12:14 tjdwave * doc/latex_spec/: intro-docstruct.tex, mc-intro.tex, mc-upconvert.tex, mc.tex: Debugging commit. 2006-07-07 12:07 tjdwave * doc/latex_spec/: arith-contexts.tex, arith.tex, bs-spec.tex, bs-syntax.tex, decoding-ops.tex, idwt.tex, prep-idwt-coef-process.tex, prep-idwt-conventions.tex, prep-idwt-ctxt-quantindex.tex, prep-idwt-process.tex, prep-idwt.tex, spec-structure.tex, state-macros.tex, wlt-dec.tex, figs/block-coverage.eps, figs/block-offset.eps, figs/block.eps, figs/dwt.eps, figs/frame-ordering.eps, figs/obmc-profile.eps, figs/sequence.eps, figs/superblock-16pu.eps, figs/superblock-1pu.eps, figs/superblock-4pu.eps: Updated and refactored data access and coefficient decoding sections. Spec should be up to date and accurate for coefficient decoding, but fine-tuning and checking is required. Diagrams also needed. Major change is in the way arithmetic decoding operations are called. Just specify sets of contexts to be used for follow bits, data bits and the sign by passing indices into the state variable, which maintains the contexts. This simplifies the code in the stream syntax, avoiding local copies etc. Explanation will be required for the context indices. The arithmetic decoding section needs updating to reflect this change and use of interleaved exp- Golomb coding. 2006-07-07 08:56 tjdwave * doc/latex_spec/layout-fullsize.tex: Added temporary environment pseudo* for documenting _part_ of a function's pseudocode (no function header). Fixed bug where \bsRET reduces indent by 1 - this broke indentation when there were a number of returns in a function. 2006-07-06 12:29 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h: Changed coding of codeblock quantiser indices to be differential codeblock to codeblock, as per Tim's stream syntax, rather than differential with respect to the subband quantiser index. N.B. this now does not agree with version 0.9. 2006-07-03 14:57 tjdwave * doc/latex_spec/: arith-contexts.tex, arith-datainput.tex, arith-decoder-ba.tex, arith-decoder-sint.tex, arith-intro.tex: Initial update to take account of exp-Golomb binarisation. 2006-07-03 14:00 tjdwave * doc/latex_spec/arith-decoder-sint.tex: Adding to update to exp-Golomb binarisation. 2006-07-03 13:15 tjdwave * doc/latex_spec/: dataenc-bool.tex, dataenc-input.tex, dataenc-intro.tex, dataenc-nbitlit.tex, dataenc-nbytelit.tex, dataenc-vlc-segol.tex, dataenc-vlc-su.tex, dataenc-vlc-uegol.tex, dataenc-vlc-ut.tex, dataenc-vlc.tex, dataenc.tex: Brought up-to-date to do interleaved exp-Golomb coding. Included a section on bit-packing and reading conventions. To Do: Need to align with arithmetic decoding section. 2006-07-03 10:08 tjdwave * doc/latex_spec/: layout-fullsize.tex, state-macros.tex: Adding shortcuts for decoder state values/variables. This means we can change format, or introduce new paramater classes by (mostly) modding modding only state-macros.tex. 2006-06-29 15:11 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils.h, common.cpp: Defined new Wavelet Filter class VHFilterHaar to include HAAR filter support in Dirac. 2006-06-27 18:26 asuraparaju * README: Include explanation for new encoder command line variables iwlt_filter and rwlt_filter. 2006-06-27 18:17 asuraparaju * doc/documentation/code/programmers_guide/encoder_data_structs.htm: Reflect changes to dirac_encparams_t struct to which two fields have been added. These fields specify the wavelet filters to use for intra frames and inter frames. 2006-06-26 17:44 asuraparaju * encoder/encmain.cpp: [Spec Compliance] Include command line arguments to process non-default transform filters for intra and inter frames. 2006-06-26 17:43 asuraparaju * unit_tests/motion_comp_test.cpp: Ensure that the number of reference frames is specified when creating a CodecParams object. 2006-06-26 17:43 asuraparaju * libdirac_encoder/: dirac_encoder.cpp, dirac_encoder.h, frame_compress.cpp: [Spec Compliance] Use transform filters supplied in the command line arguments to encoder utility to set the transform filter in CodecParams while encoding based on frame type. Set up the default frame weight and precision parameters correctly based on frame type and number of references. 2006-06-26 17:40 asuraparaju * libdirac_common/: video_format_defaults.cpp, video_format_defaults.h: [Spec Compliance] Added functions to return the default transform filter based on frame type. The default frame weight and frame precision parametes are correctly set based on the frame type and number of references. 2006-06-26 17:39 asuraparaju * libdirac_common/: common.cpp, common.h: [Spec Compliance] Handle non-default frame weights. Include member variables in EncoderParams to store the transform filters for inter frame and intra frames supplied so that they can be used while encoding. 2006-06-26 17:38 asuraparaju * libdirac_byteio/mvdata_byteio.cpp, libdirac_byteio/transform_byteio.cpp, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h: [Spec Compliance] Handle non-default frame weights. 2006-06-23 15:17 tjdwave * doc/latex_spec/layout-fullsize.tex: Created unified style for syntax and semantics called pseudo. No longer uses typewriter font - Roman instead. 2006-06-23 10:41 tjdwave * doc/latex_spec/: arith-intro.tex, arith.tex, bs-spec.tex, dataenc-intro.tex, dataenc.tex, decoding-ops.tex, dirac-concepts.tex, dirac-overview.tex, idwt-intro.tex, idwt.tex, logicalstructs.tex, mc-intro.tex, mc.tex, motion-dec.tex, parsing.tex, picture-dec.tex, semantics.tex, spec-conventions.tex, spec-structure.tex, stream-access.tex, wlt-dec.tex: Reorganised so that file input is hierarchical, to make simultaneous working easier. 2006-06-23 08:48 tjdwave * doc/latex_spec/: bs-syntax.tex, layout-fullsize.tex: Moved streamsyntax environment definition into layout-fullsize.tex so that it's available to all input files. 2006-06-22 12:42 asuraparaju * doc/specification.html: Included links to latest Stream Syntax Document and Specification Document. 2006-06-22 10:13 tjdwave * doc/latex_spec/: intro-docstruct.tex, spec-structure.tex: Tentative revision of the specification structure. A rationale is contained in intro-docstruct.tex. 2006-06-22 09:02 tjdwave * doc/latex_spec/figs/: block-coverage.eps, block-coverage.fig, block.eps, block.fig, Makefile, block-offset.eps, block-offset.fig, dwt.eps, dwt.fig, frame-ordering.eps, frame-ordering.fig, obmc-profile.eps, obmc-profile.fig, sequence.eps, sequence.fig, stream.fig, superblock-16pu.eps, superblock-16pu.fig, superblock-1pu.eps, superblock-1pu.fig, superblock-4pu.eps, superblock-4pu.fig, wavelet-transform-process.fig: Adding in diagrams. 2006-06-22 08:57 tjdwave * doc/latex_spec/tools/: framed.sty, listings.zip, mkdep.pl: Additional latex spec commits. 2006-06-22 08:54 tjdwave * doc/latex_spec/: Makefile, abstract.tex, arith-contexts.tex, arith-datainput.tex, arith-decoder-ba.tex, arith-decoder-impl.tex, arith-decoder-sua.tex, arith-decoder-tua.tex, arith-decoder-uua.tex, arith-decoder.tex, arith-encoder.tex, arith-engine.tex, arith-init.tex, arith.tex, begin-bs.tex, begin-compmethods.tex, begin-dwt-fwd.tex, begin-dwt-parentchild.tex, begin-dwt.tex, begin-ec-dwt.tex, begin-ec-mc.tex, begin-ec.tex, begin-mc-accuracy.tex, begin-mc-blocks.tex, begin-mc-global.tex, begin-mc-intra.tex, begin-mc.tex, begin-more.tex, begin-pictypes.tex, begin-videocoding.tex, bs-intro.tex, bs-semantics.tex, bs-syntax.tex, coder-intro.tex, conv-bs-bytealign.tex, conv-bs-defaults.tex, conv-bs-reading.tex, conv-intro.tex, conv-parse-diagnums.tex, conv-parse-diagrams.tex, conv-pseudocode-syntax.tex, conv-pseudocode.tex, dataenc-bool.tex, dataenc-nbitlit.tex, dataenc-nbytelit.tex, dataenc-vlc-segol.tex, dataenc-vlc-su.tex, dataenc-vlc-uegol.tex, dataenc-vlc-ut.tex, dataenc-vlc-uu.tex, dataenc-vlc.tex, dataenc.tex, gendec.tex, idwt-1dsynthesis.tex, idwt-filters.tex, idwt-interleaving.tex, idwt-lifting.tex, idwt-padremoval.tex, idwt-synthesis.tex, idwt-vhsynthesis.tex, idwt.tex, intro-docstruct.tex, intro-purpose.tex, intro-scope.tex, layout-fullsize.tex, logicalstruct-accessunit.tex, logicalstruct-arithcoding.tex, logicalstruct-blocks.tex, logicalstruct-coordinates.tex, logicalstruct-dwt.tex, logicalstruct-frameordering.tex, logicalstruct-frames.tex, logicalstruct-globalmc.tex, logicalstruct-intro.tex, logicalstruct-localmc.tex, logicalstruct-parseunit.tex, logicalstruct-sequence.tex, logicalstruct-subbands.tex, logicalstruct-superblocks.tex, mc-alg.tex, mc-blockcoverage.tex, mc-chomascaling.tex, mc-impl.tex, mc-obmc-matrix.tex, mc-precision.tex, mc-pred.tex, mc-upconvert.tex, mc.tex, prep-idwt-codeblk-dim.tex, prep-idwt-codeblk-process.tex, prep-idwt-coef-process.tex, prep-idwt-conventions.tex, prep-idwt-ctxt-init.tex, prep-idwt-ctxt-magnitude.tex, prep-idwt-ctxt-quantindex.tex, prep-idwt-ctxt-sign.tex, prep-idwt-ctxt-skip.tex, prep-idwt-pred-dc.tex, prep-idwt-process.tex, prep-idwt.tex, prep-mc-ctxt-init.tex, prep-mc-decode-blkmotion.tex, prep-mc-decode-dc.tex, prep-mc-decode-mv.tex, prep-mc-decode-predictionmode.tex, prep-mc-decoding.tex, prep-mc-mbdata.tex, prep-mc-predapeature.tex, prep-mc-predictionmodes.tex, prep-mc-predmbcommon.tex, prep-mc-predmbglobal.tex, prep-mc-predmbsplit.tex, ref-default-videoparams.tex, ref-quantization-lut.tex, semantics-auh.tex, semantics-dwt.tex, semantics-intro.tex, semantics-mv.tex, spec-structure.tex, vidsys-aspect.tex, vidsys-colour.tex, vidsys-colourmatrix.tex, vidsys-colourprimaries.tex, vidsys-framerate.tex, vidsys-sigrange.tex, vidsys-transfer.tex, vidsys.tex: Initial commit of Latex port of draft specification. 2006-06-19 18:35 asuraparaju * libdirac_common/: common.cpp, mot_comp.cpp, mot_comp.h, mot_comp_mmx.cpp, mot_comp_mmx.h: [Spec Compliance] Ensure that block overlaps in x and y direction are integral powers of 2. Make the OBMC weights calculation truly linear. 2006-06-19 18:34 asuraparaju * libdirac_decoder/frame_decompress.cpp, libdirac_encoder/seq_compress.cpp: Replace std::pow operation with left bit-shift operator 2006-06-19 12:27 asuraparaju * libdirac_byteio/: byteio.h, mvdata_byteio.cpp: Fix for bug#1508532. Ensure that m_current_byte is re-initialised to 0 in the ouput byte alignment function ByteIO::OutputCurrentByte. 2006-06-16 12:07 asuraparaju * doc/: contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, soc2006.html, soc2006_ideas.html, specification.html, template2.html, todo.html, documentation/algorithm/algorithm/intro.htm: Ensure that links to Browse CVS on Sourceforge work correctly. 2006-06-16 11:38 asuraparaju * doc/documentation.html: Ensuring that named anchors work properly. 2006-06-16 11:37 asuraparaju * doc/documentation/code/programmers_guide/: common_data_structs.htm, decoder_api_example.htm, decoder_api_functions.htm, decoder_api_overview.htm, decoder_api_reference.htm, decoder_data_structs.htm, encoder_api_example.htm, encoder_api_functions.htm, encoder_api_overview.htm, encoder_api_reference.htm, encoder_data_structs.htm, encoding.htm, index.htm, input_formats.htm, intro.htm, overview.htm, software.htm: Updated data structs and functionality description for Dirac Codec V0.6.0 2006-06-13 12:58 asuraparaju * ChangeLog: [no log message] 2006-06-13 12:56 asuraparaju * NEWS: Updated with 0.6.0 release notes. 2006-06-13 12:35 asuraparaju * extras/patches/: README_ffmpegsvn_trunk_revision_5470-dirac-0.6.x_patch, ffmpegsvn_trunk_revision_5470-dirac-0.6.x.patch: Dirac 0.6.0 patch and install notes for ffmpeg svn revision 5470. 2006-06-13 12:34 asuraparaju * extras/patches/: MPlayer-1.0pre7try2_dirac-0.6.x.patch, README_MPlayer-1.0pre7try2_dirac-0.6.x_patch: Dirac 0.6.0 patch and install notes for MPlayer release MPlayer-1.0pre7try2. 2006-06-13 10:07 timborer * libdirac_common/: arith_codec.h, mv_codec.cpp, mv_codec.h: Added En/DecodeUInt and En/DecodeSInt functions to the arithmetic codec class. These functions read and write signed and unsigned integers in a unified way. They are used to replace the acres of duplicated code in mv_codec.cpp. This change also had the happy side effect of removing the need for a whole slew of chooseXXX functions used for selecting the arithmetic coding context. 2006-06-12 16:24 stuart_hc * libdirac_decoder/frame_decompress.cpp: whitespace cleanup (corrected stray CRLF line-ending to LF) 2006-06-12 13:11 asuraparaju * libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp: Use enumerated values for number of motion vector contexts and coefficient contexts instead of hardcoded constants. This helps in not having to change multiple files when the number of contexts changes. 2006-06-12 13:11 asuraparaju * libdirac_common/mv_codec.cpp: [Spec Compliance] Super block Split residual is no longer coded bit-wise but is now coded using truncated unary arithmetic coding. 2006-06-12 13:10 asuraparaju * libdirac_common/common.cpp, libdirac_common/video_format_defaults.cpp, libdirac_decoder/dirac_parser.cpp: [Spec Compliance] Ensure that Video format defaults are set as per spec 2006-06-12 10:06 tjdwave * libdirac_common/wavelet_utils.cpp: Fixed bug with setting weights for bands by depth - removed duplicate correction factor. 2006-06-08 17:55 asuraparaju * libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: [Spec compliance] Number of contexts in Bin 1 for a Non-zero parent reduced to two from three. 2006-06-08 16:19 asuraparaju * README, encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common_types.h, libdirac_common/video_format_defaults.cpp: Renamed SD_PAL and SD_NTSC video format names to 4CIF and 4SIF to avoid confusing them with the SD Digital video format names. 2006-06-08 16:14 asuraparaju * extras/dirac_dshow/src/: basesplitter/basesplitter.vcproj, diracsplitter/DiracSplitter.vcproj, diracsplitter/DiracSplitterFile.cpp: Fix path to header and libraries in project files. Modify code to handle chages to Dirac decoder logic. 2006-06-06 17:11 asuraparaju * win32/VS2003/: DiracDecoder/DiracDecoder.vcproj, DiracEncoder/DiracEncoder.vcproj, libdirac_byteio/libdirac_byteio.vcproj: Fix link errors. 2006-06-06 17:11 asuraparaju * util/instrumentation/libdirac_instrument/: draw_overlay.cpp, motion_arrows.cpp, sad.cpp: Fix for bug #1501636. Ensuring that we are not going past array boundaries. 2006-06-06 17:08 asuraparaju * unit_tests/motion_comp_test.cpp: Remove tests for frame equality after motion estimation because rounding errors can mean that the frames are not equal. However the frame equality is still tested after zero motion compensation. 2006-06-06 17:08 asuraparaju * libdirac_byteio/mvdata_byteio.cpp, libdirac_common/common.h: [Spec Compliance] Reference frame weights are now unsigned. 2006-06-06 17:08 asuraparaju * README: Updated the encoder command line argument list 2006-06-05 16:00 asuraparaju * configure.ac: Update release id to 0.6.0 2006-06-05 15:57 asuraparaju * util/instrumentation/libdirac_instrument/: draw_overlay.cpp, motion_arrows.cpp, motion_colour.cpp, motion_colour_arrows.cpp, overlay.cpp, pred_mode.cpp, sad.cpp, split_mode.cpp: [Spec compliance] Ensure that the instrumentation utility works for true 8 bit data. Note that there is no support at present for non-8bit data. 2006-06-05 15:56 asuraparaju * util/instrumentation/instrmain.cpp: Read video depth from diagnostics input file. 2006-06-05 15:55 asuraparaju * libdirac_encoder/quality_monitor.cpp: [Spec compliance] Adjust lambda values to make them bit-depth agnostic. Tested only on 8 bit input data. Need to test and maybe adjust for other bit-depths. 2006-06-05 15:55 asuraparaju * libdirac_encoder/dirac_encoder.cpp: [Spec compliance] Default Video depth is 8 bits. 2006-06-05 15:55 asuraparaju * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h, seq_decompress.cpp: [Spec compliance] Include Variable bit-depth support in FrameDecompressor class. 2006-06-05 15:54 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils.h, wavelet_utils_mmx.cpp: [Spec compliance] Accuracy bits are required in the wavelet analysis stage. The number of bits required depends on the transform depth. Shift the input data up 1 bit to the right to increase accuracy in the Analyis stage. Round the input data down by 1 bit in the Synthesis stage to counter the shift in the analysis stage. All rounding is unbiased irrespective of the number of bit it is rounded to. The perceptual weights are adjusted for each subband depending on the level of the subband. 2006-06-05 15:54 asuraparaju * libdirac_common/mot_comp.cpp, libdirac_common/pic_io.cpp, libdirac_decoder/dirac_parser.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils_mmx.cpp: [Spec Compliance] The input/output is always true bit depth specified by video-depth and not converted to 10 bit data internally. So no need to shift 8 bit data by two to convert it to 10 bits. 2006-06-05 15:53 asuraparaju * libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_encoder/seq_compress.cpp, unit_tests/frames_test.cpp, unit_tests/motion_comp_test.cpp: [Spec Compliance] Set Variable bit-depth in FrameBuffer classe to set up FrameParams class with variable bit-depth. 2006-06-05 15:53 asuraparaju * libdirac_common/: frame.cpp, frame.h: [Spec Compliance] Support for multiple video depths. Included functionality to clip upconverted data. 2006-06-05 15:53 asuraparaju * libdirac_common/: common_types.h, video_format_defaults.cpp: [Spec Compliance] Ensure that default parameters are correctly set for all video formats. Add enumerated types for D-Cinema video formats' parameters. Default motion vector precision has reverted to quarter pixel from half pixel. 2006-06-05 15:52 asuraparaju * libdirac_common/: common.cpp, common.h: [Spec Compliance] Add support for D-Cinema video formats. Include Variable bit-depth support in Frame Params. Used for clipping. Fix bug in calculating number of code blocks for different transform depths. 2006-06-05 15:52 asuraparaju * libdirac_common/arrays.h: [Spec Compliance] PIXEL_VALUE_MIN and PIXEL_VALUE_MAX no longer required as the min and max values are calculated based on the bit-depth of the input video. Fix indentation by replacing tabs with white space. 2006-06-05 15:51 asuraparaju * libdirac_byteio/transform_byteio.cpp: Fixed bug where the non-default wavelet filter flag was not being written to the bitstream when a non-default filter is used. 2006-06-05 15:51 asuraparaju * libdirac_byteio/seqparams_byteio.cpp: [Spec compliance] Throw an error if a video depth other than the default value of 8 is specified. 2006-06-05 15:51 asuraparaju * libdirac_byteio/frame_byteio.cpp: [Spec compliance] Actual picture number is stored in the picture header and not the offset from the Access unit picture number. Reference frame offsets and retired frame offsets are calculated from current picture number and not access unit header picture number. 2006-06-05 15:50 asuraparaju * libdirac_byteio/byteio.h: Fix warnings in doxygen documentation. 2006-06-05 15:50 asuraparaju * encoder/encmain.cpp: Write video depth to diagnostics output file. 2006-05-23 14:09 tjdwave * libdirac_encoder/quant_chooser.cpp: Changed initial index to 0 from 4, so that 8 bit video will be properly coded. 2006-05-22 10:56 tjdwave * libdirac_encoder/quality_monitor.cpp: Modified PSNR log to output a table for greater clarity. 2006-05-17 18:33 asuraparaju * unit_tests/: motion_comp_test.cpp, motion_comp_test.h: Change precision type in test prototype from int to MVPrecisionType. 2006-05-16 14:53 asuraparaju * libdirac_common/wavelet_utils_mmx.cpp: Changed the wavelet transform so that unbiased rounding is not used with a shift of 1 in the lifting stage to keep in line with the non-MMX optimised code. 2006-05-16 12:25 asuraparaju * libdirac_encoder/seq_compress.cpp: Fix g++ warnings 2006-05-16 12:24 asuraparaju * libdirac_encoder/quant_chooser.cpp: Minor mods to speed up error calculation. Overall improvement in encoding speed is about 4-5% for long gop Changed quantisation as per draft spec so that extra 2 bits accuracy apply to the quantisation offset. This helps at low quantisation factors particularly. 2006-05-16 12:24 asuraparaju * libdirac_encoder/: quality_monitor.cpp, quality_monitor.h: - Removed superfluous filtering function. - Computes PSNR instead of weighted 4th power metric; chroma PSNRs are also computed. 2006-05-16 12:24 asuraparaju * libdirac_encoder/frame_compress.cpp: Spec Compliance: - Setup default code blocks depending on whether frame type is intra or inter. 2006-05-16 12:23 asuraparaju * libdirac_encoder/dirac_encoder.h: Change type of mv_precision in dirac_encparams_t function to MVPrecisionType 2006-05-16 12:23 asuraparaju * libdirac_encoder/dirac_encoder.cpp: Spec Compliance: - Handle CodeBlockMode which replaces the multi-quantisers flag. - Set default spatial partition flag to false if wavelet depth is not set to the default value. 2006-05-16 12:23 asuraparaju * libdirac_decoder/frame_decompress.cpp: Spec Compliance - Throw error if Zero transform flag is set for Intra frames. - Handle Zero transform condition for inter frames. 2006-05-16 12:22 asuraparaju * libdirac_decoder/dirac_parser.h: The parser no longer returns STATE_PICTURE_START state. Modify the example in the doxygen documentation to reflect this. 2006-05-16 12:22 asuraparaju * libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h: Spec Compliance - multiple quantisers are used when code block mode is set to QUANT_MULTIPLE - All values are set to 0 if a block is skipped irrespective of whether is is a DC block or not. - Modified SetupCodeBlocks functions to use the default code blocks if default partitioning is enabled or values of from the bitstream for custom paritioning (only for decoder) 2006-05-16 12:21 asuraparaju * libdirac_common/: wavelet_utils.h, wavelet_utils_mmx.cpp: Implement unbiased rounding for the lifting stages in all wavelet filters. 2006-05-16 12:21 asuraparaju * libdirac_common/video_format_defaults.cpp: Spec compliance - Set up default Codec parameters to comply with spec. - Default motion vector precision is now Half Pixel. 2006-05-16 12:20 asuraparaju * libdirac_common/mv_codec.cpp: Spec compliance - Common Mode prediction function returns false for top left corner of block. - Block mode prediction function return INTRA instead of REF1_ONLY for the top left corner of a block - The sign flag is encoded/decoded as true if the value is negative. 2006-05-16 12:20 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp_mmx.cpp: Define MMX optimised version of Half Pixel block compensation function MotionCompensator_HalfPixel::CompensateBlock 2006-05-16 12:19 asuraparaju * libdirac_common/band_codec.cpp: Spec Compliance: - Code block skip flag encoded/decoded only if there is more than one code block in a subband - The sign flag is encoded/decoded as true if the value is negative. - Max number of quantisers increased to 97 (0..96). Throw an error if quantisation index exceeds this value while decoding. - Changed quantisation as per draft spec so that extra 2 bits accuracy apply to the quantisation offset. This helps at low quantisation factors particularly. 2006-05-16 12:19 asuraparaju * encoder/encmain.cpp: Print extra-information regarding encoder params used to encoding. E.g. motion vector precision, transform depth etc. 2006-05-16 12:18 asuraparaju * libdirac_byteio/transform_byteio.cpp: Spec compliance: - Zero transform flag applies only to Intra frames. - Read/write code blocks from/to bitstream if Default spatial partitioning is disabled. Throw error when non-default transform depth is specified but default spatial partitioning is set. - Replace Multiple quantisers flag with Code block mode enumerated type. 2006-05-16 12:18 asuraparaju * libdirac_common/common_types.h: New enumerated type to handle CodeBlockMode which replaces the binary Multiple quantisers flag. 2006-05-16 12:17 asuraparaju * libdirac_common/: common.cpp, common.h: Spec Compliance: New class CodeBlocks for handling code blocks. In CodecParams class - change type of m_mv_precision to MVPrecisionType - change type of m_wlt_depth to unsigned - replace m_multi_quants flag with CodeBlockMode enumerated type. - New member variable and member functions to handle CodeBlocks In QuantisersLists class - Add a new member variable m_max_qindex to set the max val of quantiser index that can be handled by the decoder. 2006-05-15 12:45 asuraparaju * libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Fix bug in specifying number of contexts. The number should be 23 and not 22 as previously specified. 2006-05-15 12:43 asuraparaju * libdirac_common/: mv_codec.cpp, mv_codec.h: [Thomas's changes] Changed coding of MB split so that it's bitwise, with bitwise prediction. This is more efficient and is consistent with coding prediction modes. 2006-05-15 12:43 asuraparaju * libdirac_common/common.h: [Thomas's changes] Changed coding of MB split so that it's bitwise, with bitwise prediction. This is more efficient and is consistent with coding prediction modes. Changed quantisation to give 2 bits of accuracy to quantisation factors. This improves performance in high-quality applications, and reduces large steps in quality. 2006-05-15 12:42 asuraparaju * libdirac_common/common.cpp, libdirac_encoder/quant_chooser.cpp: [Thomas's changes] Changed quantisation to give 2 bits of accuracy to quantisation factors. This improves performance in high-quality applications, and reduces large steps in quality. 2006-05-15 12:42 asuraparaju * libdirac_common/: band_codec.cpp, band_codec.h: [Thomas's changes] Changed quantisation to give 2 bits of accuracy to quantisation factors. This improves performance in high-quality applications, and reduces large steps in quality. Fixed bug with multiple code blocks changing m_cutoff_point repeatedly. 2006-05-04 09:45 tjdwave * libdirac_common/band_codec.cpp, libdirac_common/common.h, libdirac_common/mv_codec.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Rationalised arithmetic coding contexts and tidied code. Coefficient coding now covers bins 1-4 individually for "follow/continue bits". There are also separate info contexts for the case where the parent is zero/non-zero. 2006-05-03 17:05 asuraparaju * doc/: browser_compatibility.html, contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, soc2006.html, soc2006_ideas.html, specification.html, todo.html: Include links and details of Dirac participation in Google's Summer of Code 2006 program. 2006-04-26 16:06 asuraparaju * doc/faq.html: Fixed a typo. 2006-04-26 15:59 asuraparaju * tests/samples.at: Set luma block size values depending on the preset value. 2006-04-21 14:59 dirac_dev * encoder/encmain.cpp: Prevents user from specifying more than 5 wavlet transforms 2006-04-21 14:20 dirac_dev * encoder/encmain.cpp, libdirac_byteio/mvdata_byteio.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/common_types.h, libdirac_common/dirac_exception.h, libdirac_common/mot_comp.cpp, libdirac_common/video_format_defaults.cpp, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/frame_compress.cpp, libdirac_motionest/me_mode_decn.cpp: Added in variable motion-vector precision. Can now be controlled from the command-line. Default is quarter pixel. 2006-04-21 10:23 asuraparaju * libdirac_common/band_codec.cpp, libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Differential quantiser index is now coded using arithmetic signed multiplexed exp Golomb binarisation to conform with spec. Added contexts to list of contexts to support this in common.h. 2006-04-20 16:39 asuraparaju * libdirac_byteio/: byteio.cpp, byteio.h, displayparams_byteio.cpp, frame_byteio.cpp, mvdata_byteio.cpp, parseparams_byteio.cpp, parseunit_byteio.cpp, seqparams_byteio.cpp, subband_byteio.cpp, transform_byteio.cpp: Replaced exp-Golomb coding with interleaved exp-Golomb coding to conform with spec. Fixed-length values (like access unit picture number, parser offset) are now written out in Big-Endian order to conform with spec. Renamed coding functions to reflect whether they are coding fixed length values or variable length values. 2006-04-20 11:45 asuraparaju * libdirac_byteio/Makefile.am: Missed this file in the previous commit. It is part of the major restructure to Dirac bytestream I/O. 2006-04-20 11:41 asuraparaju * Makefile.am, README, configure.ac, decoder/decmain.cpp, doc/documentation/code/api/dirac_api.doxygen, encoder/encmain.cpp, extras/dirac_dshow/src/diracsplitter/DiracSplitter.cpp, extras/dirac_dshow/src/diracsplitter/DiracSplitter.vcproj, extras/dirac_dshow/src/diracsplitter/DiracSplitterFile.cpp, extras/dirac_dshow/src/diracsplitter/stdafx.h, libdirac_byteio/accessunit_byteio.cpp, libdirac_byteio/accessunit_byteio.h, libdirac_byteio/byteio.cpp, libdirac_byteio/byteio.h, libdirac_byteio/component_byteio.cpp, libdirac_byteio/component_byteio.h, libdirac_byteio/dirac_byte_stats.cpp, libdirac_byteio/dirac_byte_stats.h, libdirac_byteio/dirac_byte_stream.cpp, libdirac_byteio/dirac_byte_stream.h, libdirac_byteio/displayparams_byteio.cpp, libdirac_byteio/displayparams_byteio.h, libdirac_byteio/endofsequence_byteio.cpp, libdirac_byteio/endofsequence_byteio.h, libdirac_byteio/frame_byteio.cpp, libdirac_byteio/frame_byteio.h, libdirac_byteio/mvdata_byteio.cpp, libdirac_byteio/mvdata_byteio.h, libdirac_byteio/parseparams_byteio.cpp, libdirac_byteio/parseparams_byteio.h, libdirac_byteio/parseunit_byteio.cpp, libdirac_byteio/parseunit_byteio.h, libdirac_byteio/seqparams_byteio.cpp, libdirac_byteio/seqparams_byteio.h, libdirac_byteio/subband_byteio.cpp, libdirac_byteio/subband_byteio.h, libdirac_byteio/transform_byteio.cpp, libdirac_byteio/transform_byteio.h, libdirac_common/Makefile.am, libdirac_common/arith_codec.cpp, libdirac_common/arith_codec.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/common_types.h, libdirac_common/dirac_exception.cpp, libdirac_common/dirac_exception.h, libdirac_common/dirac_types.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/mot_comp.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/video_format_defaults.cpp, libdirac_common/video_format_defaults.h, libdirac_common/wavelet_utils.cpp, libdirac_decoder/Makefile.am, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/dirac_cppparser.cpp, libdirac_decoder/dirac_cppparser.h, libdirac_decoder/dirac_parser.cpp, libdirac_decoder/dirac_parser.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quant_chooser.cpp, libdirac_encoder/quant_chooser.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp, tests/samples.at, unit_tests/frames_test.cpp, unit_tests/motion_comp_test.cpp, util/instrumentation/instrmain.cpp, util/instrumentation/process_sequence.cpp, util/instrumentation/libdirac_instrument/overlay.cpp, win32/VS2003/Makefile.am, win32/VS2003/dirac.sln, win32/VS2003/ConversionUtils/libconv_common/libconv_common.vcproj, win32/VS2003/DiracDecoder/DiracDecoder.vcproj, win32/VS2003/DiracEncoder/DiracEncoder.vcproj, win32/VS2003/EncodeDirac/EncodeDirac.vcproj, win32/VS2003/libdirac_byteio/libdirac_byteio.vcproj, win32/VS2003/libdirac_common/libdirac_common.vcproj: Major restructure of Input/Output classes in Dirac internals. New directory, libdirac_byteio contains classes to input from/output to a Dirac bistream. Dirac external API (both encoder and decoder) has changed. So the patches for MPlayer, FFmpeg, and the Dirac Directshow filter will no longer work with the CVS source. The external API is likely to change over the next few weeks. Updated versions of the patches and Direcshow filter will be available with the next release of Dirac. NOTE: the bytestream has changed to largely conform to the latest Dirac spec. More work needs to be done to conform fully to the Dirac definition document. So expect the CVS source and resulting bitstream to change frequently over the next few weeks. 2006-04-18 11:18 tjdwave * libdirac_common/arith_codec.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp: Changing binarisation for arithmetic coding, and associated contexts. The specification will be modified accordingly. Binarisation for the magnitude values of wavelet coefficients, motion vector prediction residues and DC values has been changed from unary to interleaved exp-Golomb so that the number of symbols to be decoded in order to reconstruct a coefficient is reduced. Exp-Golomb binarisation takes a number N>=0 and codes it via the binary representation of N+1, 1bbbbbb. If there are K bits following the leading 1, the representation is K zeroes followed by the binary representation: 00...01bbbbb Interleaved exp-Golomb is the same, except that the K lsbs are interleaved with the zeroes: 0b0b 0b1 so that a single decoding loop can be used. The zeroes here act as "follow bits" indicating that another bit is to be sent, with 1 as the terminator. Contexts for coding these symbols are selected for the follow bits and other bits ("information bits") separately. Compression performance is hardly affected, nor is speed performance in software, but hardware performance is greatly facilitated. 2006-04-12 16:06 tjdwave * libdirac_common/arith_codec.h: Changed while loops for decoding and encoding into fixed-size for-loops with break conditions. Although ugly, this provides safer code as loops will terminate if there's an error. 2006-04-11 12:23 asuraparaju * unit_tests/motion_comp_test.cpp: Set number of references in MvData constructor to fix compilation errors. 2006-04-10 11:13 tjdwave * libdirac_common/band_codec.cpp: Changed lookup table-based division to a straight division. This is slightly slower, but will scale to higher levels of wavelet decomposition. Also eliminates bug with occasional wrap-around for lossless coding on some pictures. Making abs_val 64 bits would also work but could be equally slow on 32 bit architectures. 2006-03-20 12:54 asuraparaju * encoder/encmain.cpp, libdirac_encoder/dirac_encoder.cpp: Fixed bug in writing instrumentation data to output which always assumed that data for two references were available. 2006-03-17 18:04 timborer * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/pixel_match.cpp, util/instrumentation/process_sequence.cpp: Changed block mode coding so that residues for reference 2 are not generated when we are only using one reference. THIS CHANGES THE BYTESTREAM This reduces the bit rate by a few bits, but the reason for doing it is becuase it makes the codec more logical. Also modified BlockModePrediction so that it doesn't do a prediction for reference 2 when we are only using one reference. Removed some unnecessary memory allocation in MvData constructor. Removed a few warning messages and tidied up a bit. 2006-03-01 18:19 asuraparaju * libdirac_common/: arith_codec.cpp, arith_codec.h: Rationalised types used i.e. replaced all code_t, calc_t etc with unsigned int. Simplified the code by removing one addition and shift from DecodeSymbol. 2006-02-28 15:53 asuraparaju * libdirac_common/arith_codec.cpp: Fixed g++ warning when compiled in debug mode 2006-02-28 15:29 asuraparaju * libdirac_common/Makefile.am, win32/VS2003/libdirac_common/libdirac_common.vcproj: Added arith_codec.cpp to list of .cpp files 2006-02-28 15:25 asuraparaju * libdirac_common/: arith_codec.cpp, arith_codec.h: Refactored code to make implementation easier to understand. The code restructure modified the bitstream but older version of arith_codec can decode this new version and vice-versa. 2006-02-21 13:32 tjdwave * libdirac_common/arith_codec.h: Modified arithmetic coding engine for speed and spec conformance. 1. Changed context statistics so that maximum weight is 256 2. Changed look-up table so that inverse of weight is calculated to 16 instead of 31 bits. 3. Changed scaled count of zero m_prob0 so that it's 16 bits instead of 10 Changes 1-3 mean that m_prob0 can be worked out using only 16 bit multiplies and no bitshift. This is more hardware friendly. 4. Modified do .. while loop for encoding and decoding so that a more efficient test for MSB equality can be used, resulting in a speed-up 5. Changed the order of decoding so that bits are shifted in first and then the symbol is determined. This reduces unnecessary bit inputs and moves to a 'lazy' input mode 6. Changed the statistics update function so that m_prob0 is calculated for every update rather than every other. This speeds up the code and gives better compression performance. 2006-02-15 14:27 asuraparaju * tests/samples.at: Included block variables so that tests can be run for different block sizes. Note that the block sizes must be changed manually before running the tests. 2006-02-15 14:26 asuraparaju * libdirac_motionest/: me_utils.cpp, me_utils_mmx.cpp, pixel_match.cpp: Padding related changes. Since there may no longer be an integer number of whole macroblocks and blocks in a paddied picture, made changes to ensure that we do not fall off the boundaries of the padded pictured during motion estimation. WARNING : This changes the bitstream 2006-02-15 14:24 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h, mot_comp_mmx.cpp, mot_comp_mmx.h: A linear function is used to calculate the OBMC weights instead of a raised cosine function to make it compliant with spec. Also motion compensation is performed only on true picture dimensions and not padded picture dimensions, WARNING : This changes the bitstream 2006-02-15 14:23 asuraparaju * libdirac_common/common.cpp: Modified CodecParams.SetBlockSizes function to be compliant with spec. WARNING : This changes the bitstream 2006-02-15 14:21 asuraparaju * libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/seq_compress.cpp, unit_tests/frames_test.cpp, unit_tests/motion_comp_test.cpp: Currently a frame is padded so that it has an integer number of whole macro blocks and is also a multiple of 2^(wavelet transform depth). This has changed in the Dirac specification where a frame is padded so that its dimensions are a multiple of 2^(wavelet transform depth) only. Also the luma and the chroma components can be padded differently. E.g. the luma dimensions may be a perfect multiple of 2^(wavelet transform depth) so the luma component is not padded but the chroma component may need to be padded depending on the chroma format of the input. To take care of this, FrameParams class has been modified to accept both padded chroma and padded luma dimensions. WARNING! This modifies the bitstream. 2006-02-14 12:48 tjdwave * libdirac_common/arith_codec.h: Changed count rescaling so that it occurs every time a bit is encoded/decoded. This is to make compliant with spec, and also because doing it every other bit was giving no speed advantage. WARNING! This changes the bitstream. 2006-02-10 09:49 tjdwave * libdirac_common/common.cpp: Modified calculation of quantisation, inverse quantisation and offset values so as to conform to specification. WARNING: this modifies the bitstream. 2006-02-09 13:58 tjdwave * libdirac_common/: motion.h, mv_codec.cpp: Removed the function for computing a mean of a vector of ints. Instead all means are of unsigned int values, and are calculated using unbiased arithmetic ie with an offset of N/2 for N values to ensure even rounding. This changes the mean used for predicting DC values in motion vector coding. As a result, the bitstream is also changed. 2006-01-06 15:56 tjdwave * libdirac_common/mv_codec.cpp: Changed refresh so that statistics are refreshed after m_reset_num macroblocks as intended, rather than m_reset_num+1. WARNING! This changes the bitstream. 2006-01-06 15:22 asuraparaju * libdirac_motionest/me_utils.cpp: Fixed bug#1383890. Applied patch supplied in bug report. 2005-12-07 12:50 asuraparaju * doc/specification.html: Link to Dirac specification document 2005-12-07 11:34 asuraparaju * doc/: contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, template2.html, todo.html: Included a link to the Dirac Specification document. 2005-12-07 11:33 asuraparaju * doc/documentation/algorithm/algorithm/wlt_transform.xht: Fixed filter coefficients for 13,5 filter. 2005-12-05 12:44 asuraparaju * ChangeLog: [no log message] 2005-12-05 12:38 asuraparaju * NEWS: Updated with 0.5.4 release notes 2005-12-05 12:33 asuraparaju * extras/patches/: FFMpeg-20051205-dirac-0.5.x.patch, README_FFMpeg-20051205-dirac-0.5.x_patch: FFMpeg patch for cvs version dated 05-Dec-2005. 2005-12-05 12:32 asuraparaju * extras/patches/: README_FFMpeg-20050806-dirac-0.5.x_patch, README_ffmpeg-0.4.9-pre1-dirac-0.5.x_patch: Updated instruction for latest Dirac release 2005-12-05 12:26 asuraparaju * extras/patches/README_MPlayer-1.0pre7_dirac-0.5.x_patch: Updated instructions to use latest release of Dirac and MPlayer 2005-12-02 16:25 asuraparaju * libdirac_common/mot_comp_mmx.cpp: Fix bug with uninitialised memory reads when compiling in msys-g++ environment. 2005-12-02 10:16 asuraparaju * libdirac_common/: band_codec.cpp, band_codec.h: Added Steve Bearcroft to list of contributors. 2005-12-01 14:34 asuraparaju * README: Changes to reflect the new/modified options of the command line encoder dirac_encoder. 2005-12-01 14:30 asuraparaju * AUTHORS: Updated contributor list. 2005-12-01 14:30 asuraparaju * configure.ac: Updated release id to 0.5.4 2005-12-01 14:29 asuraparaju * tests/: colourbars.at, samples.at: Changes due to modified dirac_encoder command line. Include the -local option to generate diagnostics and locally decoded data to use in comparison and instrumentation tests. 2005-12-01 14:27 asuraparaju * encoder/encmain.cpp: Generation of Diagnostics data and locally decoded output is now disabled by default. To enable this use the commandline option -local. 2005-12-01 14:26 asuraparaju * libdirac_common/upconvert_mmx.cpp: Mods to make Upconverter::DoUpconverter function more efficient 2005-12-01 14:25 asuraparaju * libdirac_common/wavelet_utils.h: New function VHFilter5_3::HorizSynth which is used only when MMX opts are enabled. This function is used to interleave horizontal synthesis with vertical synthesis to make the wavelet syntheis function slightly more efficient. 2005-12-01 14:22 asuraparaju * libdirac_common/: band_codec.cpp, band_codec.h: New function ClearBlock to set all values in block to 0 more efficiently. Applied BandCodec optimisation part of patch 1303281 which make DecodeVal function more efficient. 2005-12-01 14:12 asuraparaju * libdirac_common/wavelet_utils_mmx.cpp: Minor mods to optimise VHFilter5_3::Split further. 2005-12-01 14:10 asuraparaju * libdirac_common/mot_comp_mmx.cpp: Minor changes to ensure that uninitialised memory reads do not cause crashes when compiled using MS VC++. Note that the data read from unitialised memory is not being used but still causes problems on some platforms. 2005-12-01 14:06 asuraparaju * libdirac_common/mot_comp.cpp: Using calculated values of blocks per macro block row and blocks per sub-block row instead of hardcoded values. 2005-12-01 14:02 asuraparaju * util/encoder_gui/: README, diracdata.h, diracgui.cpp, diracgui.h, encodebox.cpp, encoder_gui.pro, filesbox.cpp, repthread.cpp, tables.h: Included option in GUI to disable the creation of diagnostics data file and locally decoded output. dirac_encoder need no longer be in the current working directory but in any directory in the PATH variable. 2005-11-15 15:35 asuraparaju * libdirac_common/arith_codec.h: Minor cosmetic difference as to how CODE_MSB and CODE_2ND_MSB are initialised to make their usage more obvious. 2005-11-15 15:33 asuraparaju * doc/Makefile.am: Fix problem with install target 2005-11-08 11:45 asuraparaju * libdirac_common/band_codec.cpp: Minor changes in DoWorkCode, DoWorkDecode and DecodeCoeffBlock functions in the way 2-D arrays are accessed which resulted in a slight decoding speed improvement. 2005-11-08 11:43 asuraparaju * libdirac_common/upconvert_mmx.cpp: Minor changes to DoUpConverter routine to give slight improvement in uoconversion speed. 2005-11-08 11:41 asuraparaju * libdirac_common/arrays.h: In Resize function in OneDArray class, dealloc and realloc data only if the new and old array sizes are different. 2005-11-08 11:40 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils_mmx.cpp: Optimised WaveletTransform::VHFilter5_3::Split using MMX instructions. Minor mods to WaveletTransform::VHFilter5_3::Synth function improve speed slightly. 2005-11-08 11:37 asuraparaju * libdirac_motionest/Makefile.am, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert_mmx.cpp, win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj: Optimised DoDownConverter routine using MMX instructions 2005-11-08 11:34 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h, mot_comp_mmx.cpp: Modified motion compensation so that it take Macro-Block splitting mode into consideration when compensating a row of blocks. Depending on the macroblock split mode, 1,2 or 4 blocks of reference data are used to calculate the motion compensated data. This sped up the default quarter pixel block motion compensation routine by an average of 20-23% for a 2Mbps Dirac bitstream. 2005-11-08 11:26 asuraparaju * libdirac_common/: frame.cpp, frame.h, frame_buffer.cpp, frame_buffer.h: Changes to FrameBuffer handling. Deleting old frames and allocating new frames is quite expensive. So instead of deleting frames no longer required in the frame buffer, they are flagged "not in use". So the next time a new reference frame has to be inserted in the Frame buffer, the first frame "not in use" is used to store the new frame. An overall improvement of 6-7 percent in decoding speed for a 2Mbps bitstream resulted. 2005-10-17 12:06 asuraparaju * libdirac_encoder/dirac_encoder.cpp: Fixed bug #1328565. Now ensuring that all locally decoded frames are available for output. 2005-10-11 14:02 tjdwave * libdirac_common/arith_codec.h: Incorporated Steve Bearcroft's speed-up patch, with some minor typographical changes for clarity. 2005-10-11 10:00 tjdwave * libdirac_motionest/block_match.cpp: Added patch 1309571 which fixes the quality degradation introduced in the motion estimation speed-ups. 2005-10-07 11:17 asuraparaju * libdirac_motionest/: me_utils.cpp, me_utils_mmx.cpp, me_utils_mmx.h: Applied MMX optimisations to modified ME routines. This is an initial version that improves Motion Estimation speed by 30% resulting in a 20% improvement in encoding speed overall. This is work in progress. 2005-09-27 14:44 dirac_dev * libdirac_encoder/dirac_encoder.h: Replaced boolean with int. C-compilers (eg. ffmpeg) complain about C++ constructs. 2005-09-27 14:08 tjdwave * libdirac_encoder/quality_monitor.cpp: Set the motion estimation factor to compensate for the default search precision being at 1/4 pel (as this is the default precision) rather than 1/8th pel. 2005-09-27 14:07 tjdwave * libdirac_motionest/: motion_estimate.cpp, motion_estimate.h: Removed cut detection, which is now in the FrameCompressor class. Removed the kludge which scaled the motion vector precisions. All motion estimation is now at the selected precision. 2005-09-27 14:01 tjdwave * libdirac_motionest/: me_mode_decn.cpp, me_mode_decn.h: Use specific matching classes for different pixel accuracies. Reduced search ranges for increased speed. 2005-09-27 13:59 tjdwave * libdirac_motionest/me_subpel.cpp: Removed calculation of lambda map. Simplified class by using the specific subpixel refinement matching function. 2005-09-27 13:55 tjdwave * libdirac_motionest/: pixel_match.cpp, pixel_match.h: Search ranges restricted to improve motion estimation speed. 2005-09-27 13:52 tjdwave * libdirac_motionest/: block_match.cpp, block_match.h: Refactored the BlockMatcher class. There are now three functions for finding a best match - finding the pixel-accurate best match, refining this to sub-pixel accuracy, and also finding a best match from a list at sub-pixel level. These matching functions contain shortcuts to speed up matching as follows. FindBestMatchPel: - The predictors are each searched first, and if their SAD values are small then the search ends. - bailout functions are used for calculating matching costs for the remaining candidates RefineMatchSubpel: - The predictor from neighbouring (previously refined) vectors is tested first. If there's a small SAD, then the search ends - Pixel-accurate vectors are refined to half-pel vectors by searching the 4 closest half-pel positions (shown as X) first: X XOX X If one of these is better than the pixel-accurate value, then the two nearest values in the immediate neighbourhood of the pixel-accurate value are also searched, eg the Y values below: YXY XOX X This two-stage procedure is followed again in refining to quarter- and eighth-pel. - At each stage of refinement, if we're 10% worse than the value derived for the predictor, we end the search. FindBestMatchSubpel: - bailout functions are used 2005-09-27 13:40 tjdwave * libdirac_motionest/: me_utils.cpp, me_utils.h: Reorganised classes for doing SAD calculations at pixel and sub-pixel accuracy. Distinct classes for half-, quarter- and eighth-pixel matching have been created. These are present also in 'bailout' form so that you can leave the calculation as soon as you know that you're not going to beat the best match so far. These mods support speeding up motion estimation, and hence the encoder generally. 2005-09-27 12:25 asuraparaju * libdirac_encoder/dirac_encoder.cpp: Fixed bug# 1291478. Now ensuring that dirac_encoder_output returns ENC_STATE_BUFFER when data is not loaded into the encoder. 2005-09-27 12:21 asuraparaju * doc/documentation/code/programmers_guide/decoder_api_functions.htm: Bug fix: 1291481. Corrected return value in dirac_parse function prototype. 2005-09-27 10:21 tjdwave * libdirac_encoder/seq_compress.cpp: The quality measurement model can only be calculated correctly if reconstructed compressed video is available, which isn't the case if we're not doing local decoding. In this case, calculating and outputting these values is disabled. 2005-09-27 10:16 tjdwave * libdirac_encoder/: frame_compress.cpp, frame_compress.h: Moved the analysis of whether or not we have a cut into FrameCompressor class and out of motion estimation classes. Also, only do motion compensation on L2 frames if local decoding is required. This is because, by definition, L2 frames can't be references and so can be left in a partially reconstructed state if local decoding isn't required, which improves encoding speed. 2005-09-27 10:12 tjdwave * libdirac_encoder/dirac_encoder.cpp: Added support for local decoding flag, so that local decoding can be avoided for speed. 2005-09-27 10:09 tjdwave * libdirac_encoder/comp_compress.cpp: Removed commented-out code. 2005-09-27 10:09 tjdwave * libdirac_encoder/comp_compress.cpp: Inverse wavelet transform is now only done for L2 frames if local decoding is required. This is because L2 frames are (by definition) not used for reference and can be left in a partially reconstructed state if local decoding isn't needed. 2005-09-27 09:54 tjdwave * libdirac_common/mot_comp.cpp: Introduced unbiased rounding into calculation of weighting matrices. This allows the subsequent rationalisation of the values to be avoided. Also, chroma scale factors applied to motion vectors have been replaced by shift factors, so that bitshifts can be used instead of divisions for greater efficiency. 2005-09-27 09:50 tjdwave * libdirac_common/: common.cpp, common.h: Added support for an encode params flag indicating whether we're doing local decoding. Local decoding can then be omitted for greater efficiency. 2005-09-27 09:44 tjdwave * decoder/decmain.cpp: Made timing info only output in verbose mode. 2005-09-27 09:43 tjdwave * encoder/encmain.cpp: Added timing data for encoding. 2005-09-27 09:40 tjdwave * libdirac_common/arith_codec.h: Simplified ArithCodec class so that probality intervals aren't used. 2005-09-07 15:29 tjdwave * util/encoder_gui/: COPYING, README, diracdata.h, diracgui.cpp, diracgui.h, encodebox.cpp, encoder_gui.pro, filesbox.cpp, main.cpp, presetbox.cpp, qualitybox.cpp, reportbox.cpp, repthread.cpp, repthread.h, tables.cpp, tables.h, videobox.cpp: Adding files for Dirac encoder GUI. 2005-09-07 10:41 tjdwave * doc/DiracSpecV0.1.doc: Version 0.1 superceded by version 0.9 now in CVS. 2005-09-07 10:39 tjdwave * doc/DiracSpec0.9.pdf: Added decoder semantics and revised bitstream structure. 2005-08-31 14:42 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/quality_monitor.cpp: Added support for lossless I-frame and long-GOP coding, with CLI option. 2005-08-23 11:52 asuraparaju * ChangeLog: [no log message] 2005-08-23 11:46 asuraparaju * NEWS: Added 0.5.3 release notes 2005-08-23 11:14 asuraparaju * doc/documentation.html: Having trouble creating a pdf document in which MathML is rendered correctly. Hence a pdf version of the Algorithm document cannot be generated at the moment. Removed broken link to Algorithm pdf until this problem can be fixed. 2005-08-22 13:51 asuraparaju * configure.ac: Update the help string for enable-mmx configure argument to make it clear that MMX opts are enabled by default. The user will have to explcitly specify --enable-mmmx=no or --disable-mmx to disable MMX opts. 2005-08-19 13:41 asuraparaju * extras/patches/: README_transcode-1.0.0_dirac-0.5.x_patch, transcode-1.0.0-dirac-0.5.x.patch: Dirac patch for transcode-1.0.0. This patch is not a standalone patch and will be effective only if the ffmpeg library it uses is built with the dirac patch applied. 2005-08-19 13:38 asuraparaju * extras/patches/README_MPlayer-1.0pre7_dirac-0.5.x_patch: Updated notes for dirac v0.5.3 2005-08-19 13:36 asuraparaju * extras/patches/: FFMpeg-20050806-dirac-0.5.x.patch, README_FFMpeg-20050806-dirac-0.5.x_patch: Dirac patch for ffmpeg cvs snapshot dated 06-Aug-2005. Note that this has been tested with CVS versions as late at 16-Aug-2006 but the CVS snapshots past 06-Aug-2005 are not available for download on the FFmpeg server. 2005-08-19 13:34 asuraparaju * extras/patches/README_transcode-0.6.14_dirac-0.5.x_patch: Updated for dirac v0.5.3 2005-08-19 13:33 asuraparaju * extras/patches/: README_ffmpeg-0.4.9-pre1-dirac-0.5.x_patch, ffmpeg-0.4.9-pre1-dirac-0.5.x.patch: Updated patch for dirac-0.5.3. Changed license to LGPL. Fixed bug in setting the quality factor where the quality factor lookup table was uint8_t instead of float which was causing the qf to be truncated to uint8_t. dirac_decode_frame now correctly returns the number of bytes it consumed. This is a fix for bug 1246767. 2005-08-18 09:30 tjdwave * encoder/encmain.cpp: Clarified CLI error message. 2005-08-18 09:27 tjdwave * README: Refactored the encoding instructions so that they're much clearer. 2005-08-16 15:37 asuraparaju * libdirac_common/arith_codec.h: Removed DOS line-breaks. 2005-08-16 10:37 asuraparaju * doc/Makefile.am: Fix problem with install targer in main doc directory 2005-08-15 18:21 asuraparaju * doc/Makefile.am: Fixed bug where make was failing when built in a distribtion 2005-08-15 17:48 asuraparaju * doc/: Makefile.am, documentation/code/programmers_guide/Makefile.am: Ensured that all required files are installed correctly when using the install target of make. 2005-08-15 17:18 asuraparaju * doc/documentation/: Makefile.am, tools/diagnostics/Makefile.am: Changes related to documents directory restructure 2005-08-15 17:11 asuraparaju * configure.ac, doc/Makefile.am, doc/documentation/algorithm/Makefile.am, doc/documentation/algorithm/enhancements/Makefile.am, doc/documentation/algorithm/global_motion/Makefile.am, doc/documentation/algorithm/upconversion/Makefile.am, doc/documentation/tools/Makefile.am: Changes related to documentation tree restructure 2005-08-15 16:09 asuraparaju * doc/: Makefile.am, documentation/algorithm/Makefile.am, documentation/algorithm/algorithm/Makefile.am, documentation/code/Makefile.am, documentation/code/api/Makefile.am, documentation/code/api/dirac_api.doxygen, documentation/code/api/dirac_api.doxygen.in, documentation/code/api/dirac_api_foot.html, documentation/code/api/dirac_api_head.html, documentation/code/programmers_guide/Makefile.am: Changes related to documentation tree restructure. 2005-08-15 16:03 asuraparaju * doc/api/: Makefile.am, dirac_api.doxygen, dirac_api.doxygen.in, dirac_api_foot.html, dirac_api_head.html, libdirac_encoder_api.doxygen, libdirac_encoder_api_foot.html, libdirac_encoder_api_head.html: Removing old files as part of Documentation directory restructure. API docs are now generated in doc/documentation/code/api/html 2005-08-15 15:56 asuraparaju * doc/algorithm/: Makefile.am, algorithm.htm, block_data.htm, const_qual.htm, intro.htm, mb_structs.htm, mot_est.htm, mot_est_and_comp.htm, mv_coding_arch.htm, mv_data_coding.htm, mv_entropy_code.htm, olb_mc.htm, overall_arch.htm, quantisation.htm, rdo.htm, rdo_mot_est.htm, subband_rdo.htm, temporal_prediction_structures.htm, transform_coding.htm, transform_coding_arch.htm, var_size.htm, wlt_transform.htm, figs/DC.jpg, figs/DCSAD.jpg, figs/braces.jpg, figs/d.jpg, figs/eqA.jpg, figs/eqB.jpg, figs/eqC.jpg, figs/eqD.jpg, figs/eqE.jpg, figs/eqF.jpg, figs/eqG.jpg, figs/eqH.jpg, figs/eqI.jpg, figs/eqJ.jpg, figs/fig1.jpg, figs/fig10.jpg, figs/fig12.jpg, figs/fig13.jpg, figs/fig14.jpg, figs/fig15.jpg, figs/fig16.jpg, figs/fig17.jpg, figs/fig18.jpg, figs/fig19.jpg, figs/fig2.jpg, figs/fig20.jpg, figs/fig21.jpg, figs/fig22.jpg, figs/fig23.jpg, figs/fig24.jpg, figs/fig26.jpg, figs/fig27.jpg, figs/fig3.jpg, figs/fig4.jpg, figs/fig5.jpg, figs/fig6.jpg, figs/fig7.bmp, figs/fig7.jpg, figs/fig8.jpg, figs/fig9.jpg, figs/fp.jpg, figs/m.jpg, figs/nhood.jpg, figs/nhoodresidue.jpg, figs/p.jpg, figs/p2.jpg, figs/t.jpg, figs/two.jpg, figs/var.jpg, figs/vtilda.jpg, figs/vw.jpg, mv_data_pred.htm, parent_child.htm, toc.htm, wlt_coeff_coding.htm: Removing old files as part of Documentation directory restructure. Algorithm documentation can now be found in doc/documentation/algorithm/algorithm 2005-08-15 15:52 asuraparaju * doc/programmers/: Makefile.am, programmers_guide.aux, programmers_guide.tex: Removed old files as part of document directory restructure 2005-08-15 12:26 asuraparaju * doc/documentation/algorithm/enhancements/: 050var_wlt.htm, 130alt_bin.htm: Checking in missed doc files missed out in earlier website docs check in. 2005-08-15 12:22 asuraparaju * doc/: browser_compatibility.html, contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, styles.css, template.html, template2.html, todo.html, documentation/algorithm/algorithm/block_data.htm, documentation/algorithm/algorithm/index.htm, documentation/algorithm/algorithm/intra_pred.htm, documentation/algorithm/algorithm/intro.htm, documentation/algorithm/algorithm/mb_structs.htm, documentation/algorithm/algorithm/mot_est.htm, documentation/algorithm/algorithm/mot_est_and_comp.htm, documentation/algorithm/algorithm/mv_coding_arch.htm, documentation/algorithm/algorithm/mv_data_coding.htm, documentation/algorithm/algorithm/mv_data_pred.htm, documentation/algorithm/algorithm/mv_entropy_code.htm, documentation/algorithm/algorithm/olb_mc.xht, documentation/algorithm/algorithm/overall_arch.htm, documentation/algorithm/algorithm/overall_arch_svg.htm, documentation/algorithm/algorithm/parent_child.htm, documentation/algorithm/algorithm/quantisation.xht, documentation/algorithm/algorithm/rdo.htm, documentation/algorithm/algorithm/rdo_mot_est.xht, documentation/algorithm/algorithm/subband_rdo.xht, documentation/algorithm/algorithm/temporal_prediction_structures.htm, documentation/algorithm/algorithm/toc.htm, documentation/algorithm/algorithm/transform_coding.htm, documentation/algorithm/algorithm/transform_coding_arch.htm, documentation/algorithm/algorithm/var_size.htm, documentation/algorithm/algorithm/wlt_coeff_coding.xht, documentation/algorithm/algorithm/wlt_transform.xht, documentation/algorithm/algorithm/figs/fig1.dia, documentation/algorithm/algorithm/figs/fig1.gif, documentation/algorithm/algorithm/figs/fig1.jpg, documentation/algorithm/algorithm/figs/fig1.png, documentation/algorithm/algorithm/figs/fig1.svg, documentation/algorithm/algorithm/figs/fig10.dia, documentation/algorithm/algorithm/figs/fig10.gif, documentation/algorithm/algorithm/figs/fig10.jpg, documentation/algorithm/algorithm/figs/fig10.png, documentation/algorithm/algorithm/figs/fig10.svg, documentation/algorithm/algorithm/figs/fig12.dia, documentation/algorithm/algorithm/figs/fig12.gif, documentation/algorithm/algorithm/figs/fig12.jpg, documentation/algorithm/algorithm/figs/fig12.png, documentation/algorithm/algorithm/figs/fig12.svg, documentation/algorithm/algorithm/figs/fig15.dia, documentation/algorithm/algorithm/figs/fig15.gif, documentation/algorithm/algorithm/figs/fig15.jpg, documentation/algorithm/algorithm/figs/fig15.png, documentation/algorithm/algorithm/figs/fig15.svg, documentation/algorithm/algorithm/figs/fig16.dia, documentation/algorithm/algorithm/figs/fig16.gif, documentation/algorithm/algorithm/figs/fig16.jpg, documentation/algorithm/algorithm/figs/fig16.png, documentation/algorithm/algorithm/figs/fig16.svg, documentation/algorithm/algorithm/figs/fig17.dia, documentation/algorithm/algorithm/figs/fig17.gif, documentation/algorithm/algorithm/figs/fig17.jpg, documentation/algorithm/algorithm/figs/fig17.png, documentation/algorithm/algorithm/figs/fig17.svg, documentation/algorithm/algorithm/figs/fig18.dia, documentation/algorithm/algorithm/figs/fig18.gif, documentation/algorithm/algorithm/figs/fig18.jpg, documentation/algorithm/algorithm/figs/fig18.png, documentation/algorithm/algorithm/figs/fig18.svg, documentation/algorithm/algorithm/figs/fig19.cgm, documentation/algorithm/algorithm/figs/fig19.dia, documentation/algorithm/algorithm/figs/fig19.gif, documentation/algorithm/algorithm/figs/fig19.jpg, documentation/algorithm/algorithm/figs/fig19.png, documentation/algorithm/algorithm/figs/fig19.svg, documentation/algorithm/algorithm/figs/fig19.wmf, documentation/algorithm/algorithm/figs/fig1_100.svg, documentation/algorithm/algorithm/figs/fig1_10000.dia, documentation/algorithm/algorithm/figs/fig1_10000.svg, documentation/algorithm/algorithm/figs/fig1_mod.svg, documentation/algorithm/algorithm/figs/fig1_px.svg, documentation/algorithm/algorithm/figs/fig2.dia, documentation/algorithm/algorithm/figs/fig2.gif, documentation/algorithm/algorithm/figs/fig2.jpg, documentation/algorithm/algorithm/figs/fig2.png, documentation/algorithm/algorithm/figs/fig2.svg, documentation/algorithm/algorithm/figs/fig20.dia, documentation/algorithm/algorithm/figs/fig20.gif, documentation/algorithm/algorithm/figs/fig20.jpg, documentation/algorithm/algorithm/figs/fig20.png, documentation/algorithm/algorithm/figs/fig20.svg, documentation/algorithm/algorithm/figs/fig21.dia, documentation/algorithm/algorithm/figs/fig21.gif, documentation/algorithm/algorithm/figs/fig21.jpg, documentation/algorithm/algorithm/figs/fig21.png, documentation/algorithm/algorithm/figs/fig21.svg, documentation/algorithm/algorithm/figs/fig22.dia, documentation/algorithm/algorithm/figs/fig22.gif, documentation/algorithm/algorithm/figs/fig22.jpg, documentation/algorithm/algorithm/figs/fig22.png, documentation/algorithm/algorithm/figs/fig22.svg, documentation/algorithm/algorithm/figs/fig23.dia, documentation/algorithm/algorithm/figs/fig23.gif, documentation/algorithm/algorithm/figs/fig23.jpg, documentation/algorithm/algorithm/figs/fig23.png, documentation/algorithm/algorithm/figs/fig23.svg, documentation/algorithm/algorithm/figs/fig2_webdraw.svg, documentation/algorithm/algorithm/figs/fig3.bmp, documentation/algorithm/algorithm/figs/fig3.dia, documentation/algorithm/algorithm/figs/fig3.gif, documentation/algorithm/algorithm/figs/fig3.jpg, documentation/algorithm/algorithm/figs/fig3.png, documentation/algorithm/algorithm/figs/fig3.svg, documentation/algorithm/algorithm/figs/fig3_a.svg, documentation/algorithm/algorithm/figs/fig4.dia, documentation/algorithm/algorithm/figs/fig4.gif, documentation/algorithm/algorithm/figs/fig4.jpg, documentation/algorithm/algorithm/figs/fig4.png, documentation/algorithm/algorithm/figs/fig4.svg, documentation/algorithm/algorithm/figs/fig4_dia.svg, documentation/algorithm/algorithm/figs/fig5.dia, documentation/algorithm/algorithm/figs/fig5.gif, documentation/algorithm/algorithm/figs/fig5.jpg, documentation/algorithm/algorithm/figs/fig5.png, documentation/algorithm/algorithm/figs/fig5.svg, documentation/algorithm/algorithm/figs/fig6.dia, documentation/algorithm/algorithm/figs/fig6.gif, documentation/algorithm/algorithm/figs/fig6.jpg, documentation/algorithm/algorithm/figs/fig6.png, documentation/algorithm/algorithm/figs/fig6.svg, documentation/algorithm/algorithm/figs/fig7.jpg, documentation/algorithm/algorithm/figs/fig8.dia, documentation/algorithm/algorithm/figs/fig8.gif, documentation/algorithm/algorithm/figs/fig8.jpg, documentation/algorithm/algorithm/figs/fig8.png, documentation/algorithm/algorithm/figs/fig8.svg, documentation/algorithm/algorithm/figs/fig9.dia, documentation/algorithm/algorithm/figs/fig9.gif, documentation/algorithm/algorithm/figs/fig9.jpg, documentation/algorithm/algorithm/figs/fig9.png, documentation/algorithm/algorithm/figs/fig9.svg, documentation/algorithm/enhancements/010version_num.htm, documentation/algorithm/enhancements/020precision.htm, documentation/algorithm/enhancements/030index_tables.htm, documentation/algorithm/enhancements/040bit_stream.htm, documentation/algorithm/enhancements/060var_blocks.htm, documentation/algorithm/enhancements/070var_mv_precn.htm, documentation/algorithm/enhancements/080multi_ref.htm, documentation/algorithm/enhancements/090nl_quant.htm, documentation/algorithm/enhancements/100multi_quant.htm, documentation/algorithm/enhancements/110spatially_var_quant.htm, documentation/algorithm/enhancements/120wt_ref.htm, documentation/algorithm/enhancements/140pred_ctx.htm, documentation/algorithm/enhancements/150ctx_update.htm, documentation/algorithm/enhancements/160intra_ctxs.htm, documentation/algorithm/enhancements/170global_motion.htm, documentation/algorithm/enhancements/180skipped.htm, documentation/algorithm/enhancements/190mv_trace.htm, documentation/algorithm/enhancements/200interlace.htm, documentation/algorithm/enhancements/index.htm, documentation/algorithm/enhancements/toc.htm, documentation/algorithm/global_motion/affine.htm, documentation/algorithm/global_motion/code.htm, documentation/algorithm/global_motion/index.htm, documentation/algorithm/global_motion/intro.htm, documentation/algorithm/global_motion/optimising.htm, documentation/algorithm/global_motion/projective.htm, documentation/algorithm/global_motion/projective_2.htm, documentation/algorithm/global_motion/toc.htm, documentation/algorithm/global_motion/images/abc.jpg, documentation/algorithm/global_motion/images/affine_1.jpg, documentation/algorithm/global_motion/images/affine_2.jpg, documentation/algorithm/global_motion/images/affine_3.jpg, documentation/algorithm/global_motion/images/affine_4.jpg, documentation/algorithm/global_motion/images/affine_5.jpg, documentation/algorithm/global_motion/images/affine_v_error.jpg, documentation/algorithm/global_motion/images/arrow_up.gif, documentation/algorithm/global_motion/images/code_1.jpg, documentation/algorithm/global_motion/images/code_2.jpg, documentation/algorithm/global_motion/images/code_3.jpg, documentation/algorithm/global_motion/images/code_4.jpg, documentation/algorithm/global_motion/images/next.gif, documentation/algorithm/global_motion/images/optimising_1.jpg, documentation/algorithm/global_motion/images/optimising_2.jpg, documentation/algorithm/global_motion/images/optimising_3.jpg, documentation/algorithm/global_motion/images/optimising_4.jpg, documentation/algorithm/global_motion/images/optimising_5.jpg, documentation/algorithm/global_motion/images/optimising_fi.jpg, documentation/algorithm/global_motion/images/prev.gif, documentation/algorithm/global_motion/images/projective_1.jpg, documentation/algorithm/global_motion/images/projective_10.jpg, documentation/algorithm/global_motion/images/projective_11.jpg, documentation/algorithm/global_motion/images/projective_2.jpg, documentation/algorithm/global_motion/images/projective_3.jpg, documentation/algorithm/global_motion/images/projective_4.jpg, documentation/algorithm/global_motion/images/projective_5.jpg, documentation/algorithm/global_motion/images/projective_6.jpg, documentation/algorithm/global_motion/images/projective_7.jpg, documentation/algorithm/global_motion/images/projective_8.jpg, documentation/algorithm/global_motion/images/projective_9.jpg, documentation/algorithm/global_motion/images/projective_e.jpg, documentation/algorithm/global_motion/images/projective_e_2.jpg, documentation/algorithm/global_motion/images/projective_ec.jpg, documentation/algorithm/global_motion/images/projective_m_1.jpg, documentation/algorithm/global_motion/images/projective_w.jpg, documentation/algorithm/global_motion/images/toc.gif, documentation/algorithm/upconversion/downconv.htm, documentation/algorithm/upconversion/downconv_code.htm, documentation/algorithm/upconversion/downconv_filt.htm, documentation/algorithm/upconversion/index.htm, documentation/algorithm/upconversion/intro.htm, documentation/algorithm/upconversion/results.htm, documentation/algorithm/upconversion/results_down.htm, documentation/algorithm/upconversion/results_up.htm, documentation/algorithm/upconversion/toc.htm, documentation/algorithm/upconversion/upconv.htm, documentation/algorithm/upconversion/upconv_basic.htm, documentation/algorithm/upconversion/upconv_filt.htm, documentation/algorithm/upconversion/upconv_opt.htm, documentation/algorithm/upconversion/upconv_opt_arith.htm, documentation/algorithm/upconversion/upconv_opt_io.htm, documentation/algorithm/upconversion/upconv_opt_other.htm, documentation/algorithm/upconversion/images/image1.jpg, documentation/algorithm/upconversion/images/image2.jpg, documentation/algorithm/upconversion/images/image3.jpg, documentation/algorithm/upconversion/images/image4.jpg, documentation/algorithm/upconversion/images/image5.jpg, documentation/algorithm/upconversion/images/image6.jpg, documentation/algorithm/upconversion/images/next.gif, documentation/algorithm/upconversion/images/prev.gif, documentation/algorithm/upconversion/images/toc.gif, documentation/code/programmers_guide/common_data_structs.htm, documentation/code/programmers_guide/decoder_api.htm, documentation/code/programmers_guide/decoder_api_example.htm, documentation/code/programmers_guide/decoder_api_functions.htm, documentation/code/programmers_guide/decoder_api_overview.htm, documentation/code/programmers_guide/decoder_api_reference.htm, documentation/code/programmers_guide/decoder_data_structs.htm, documentation/code/programmers_guide/decoding.htm, documentation/code/programmers_guide/encoder_api.htm, documentation/code/programmers_guide/encoder_api_example.htm, documentation/code/programmers_guide/encoder_api_functions.htm, documentation/code/programmers_guide/encoder_api_overview.htm, documentation/code/programmers_guide/encoder_api_reference.htm, documentation/code/programmers_guide/encoder_data_structs.htm, documentation/code/programmers_guide/encoding.htm, documentation/code/programmers_guide/index.htm, documentation/code/programmers_guide/input_formats.htm, documentation/code/programmers_guide/intro.htm, documentation/code/programmers_guide/key.htm, documentation/code/programmers_guide/overview.htm, documentation/code/programmers_guide/software.htm, documentation/code/programmers_guide/toc.htm, documentation/code/programmers_guide/images/arrow_right.gif, documentation/code/programmers_guide/images/arrow_up.gif, documentation/code/programmers_guide/images/image1.jpg, documentation/code/programmers_guide/images/image2.jpg, documentation/code/programmers_guide/images/image3.jpg, documentation/code/programmers_guide/images/next.gif, documentation/code/programmers_guide/images/prev.gif, documentation/code/programmers_guide/images/toc.gif, documentation/publications/dirac-handout-lude-04-2004.pdf, documentation/support/test.html, documentation/tools/diagnostics/index.htm, documentation/tools/diagnostics/intro.htm, documentation/tools/diagnostics/operation.htm, documentation/tools/diagnostics/operation_buffer.htm, documentation/tools/diagnostics/operation_code.htm, documentation/tools/diagnostics/operation_des.htm, documentation/tools/diagnostics/operation_trans.htm, documentation/tools/diagnostics/over.htm, documentation/tools/diagnostics/over_diag.htm, documentation/tools/diagnostics/over_intr.htm, documentation/tools/diagnostics/over_oper.htm, documentation/tools/diagnostics/overlay.htm, documentation/tools/diagnostics/overlay_gmv.htm, documentation/tools/diagnostics/overlay_mv.htm, documentation/tools/diagnostics/overlay_mv_arr.htm, documentation/tools/diagnostics/overlay_mv_clr.htm, documentation/tools/diagnostics/overlay_pred.htm, documentation/tools/diagnostics/overlay_sad.htm, documentation/tools/diagnostics/overlay_split.htm, documentation/tools/diagnostics/toc.htm, documentation/tools/diagnostics/images/image1.jpg, documentation/tools/diagnostics/images/image2.jpg, documentation/tools/diagnostics/images/image3.jpg, documentation/tools/diagnostics/images/image4.jpg, documentation/tools/diagnostics/images/image5.jpg, documentation/tools/diagnostics/images/image6.jpg, documentation/tools/diagnostics/images/image7.jpg, documentation/tools/diagnostics/images/image8.jpg, documentation/tools/diagnostics/images/next.gif, documentation/tools/diagnostics/images/prev.gif, documentation/tools/diagnostics/images/toc.gif, images/arrow_right.gif, images/arrow_right_indent.gif, images/arrow_up.gif, images/black_pixel.jpg, images/dirac_banner.jpg, images/icon_html.gif, images/icon_pdf.gif, images/icon_txt.gif, images/icon_zip.gif: Committing website documentation to CVS 2005-08-15 11:24 asuraparaju * doc/faq.htm: Removing unwanted files in doc restructure 2005-08-15 08:34 tjdwave * libdirac_common/arith_codec.h: Added comment explaining look-up table operation. 2005-08-12 11:58 asuraparaju * configure.ac: Include an extra flag to suppress warnings when compiling in debug mode using icc. 2005-08-12 11:57 asuraparaju * README, README.developers: MMX optimisations are enabled by default. Provided instructions as to how to disable it. 2005-08-12 10:26 tjdwave * libdirac_common/motion.cpp: Reinstated transition detection code. This means that mode decision is kinder when a transition in the motion vector field is detected, giving better quality in motion transition areas. 2005-08-11 11:44 tjdwave * libdirac_common/arith_codec.h: Added Pete Bleackley's code to use a look-up table for division. 2005-08-11 08:21 tjdwave * libdirac_common/common.cpp: Added a warning when impossible block parameters are being used, and the encoder changes them. 2005-08-10 17:50 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils_mmx.cpp: Optimised 5_3 wavelet synthesis function, VHFilter5_3::Synth, using MMX instructions resulting in 6 percent speed improvement in decoding SD. 2005-08-10 17:48 asuraparaju * libdirac_encoder/seq_compress.cpp: Fix g++ warning about unused variable recode. 2005-08-10 17:47 asuraparaju * encoder/encmain.cpp: Print error message and exit if input and output file names are the same. Changed back cif preset option to uppercase. Sequence and encoder params currently being used are displayed on standard out before actual coding starts. 2005-08-10 17:45 asuraparaju * configure.ac: MMX optimisations are enabled by default. Use --disable-mmx to explicitly disable them. 2005-08-10 09:13 tjdwave * README: Added modified instructions for -qf and advice about -width and -height. 2005-08-10 09:06 tjdwave * libdirac_motionest/block_match.cpp: Changed motion vector bitrate measure so that transitions from foreground to background and vice-versa are not penalised. 2005-08-10 09:04 tjdwave * libdirac_encoder/seq_compress.cpp: Removed recoding: superfluous now there is no CQ coding. 2005-08-10 09:02 tjdwave * libdirac_encoder/: quality_monitor.cpp, quality_monitor.h: Removed constant quality encoding control mechanism, because it worked too poorly for varied sequences. Instead, QualityMonitor just monitors quality and encoder control reverts to constant Lagrangian parameters. The magic numbers chosen may not work for all sequences or all video standards but will do for the moment. 2005-08-10 08:57 tjdwave * libdirac_decoder/comp_decompress.cpp, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp: Changed default wavelet filters to fast filters APPROX97 and FIVETHREE. Wavelet filter type is now signalled in the frame header so that changing these filters just changes the encoder. (This is now consistent with the spec). 2005-08-10 08:50 tjdwave * libdirac_common/: motion.cpp, motion.h: Fixed bug with way median is calculated. Removed large inline functions from .h and placed in .cpp for clarity. 2005-08-10 08:48 tjdwave * libdirac_common/mot_comp.cpp: Minor tidy of the way that weighting matrices are computed. 2005-08-10 08:44 tjdwave * libdirac_common/: common.cpp, common.h: Removed recode parameter. Added a CodecParams parameter for the wavelet filter being used, to support signalling this in the bitstream, rather than selecting by frame type. (This is in the spec). 2005-08-10 08:42 tjdwave * libdirac_common/: bit_manager.cpp, bit_manager.h: Added support for finding out the current size of bit buffers. This will support future CBR implementations and calculations of bit rate on the fly. 2005-08-10 08:40 tjdwave * libdirac_encoder/: dirac_encoder.cpp, dirac_encoder.h: Removed recode option. Set block parameters for HD720 the same as for SD to get around bug 1245129. Need to fix padding and edge issues to fully resolve this bug. 2005-08-10 08:27 tjdwave * encoder/encmain.cpp: Added feature to print out help if there's an unrecognised/unparsed option. Removed recode feature. 2005-08-01 17:14 asuraparaju * libdirac_decoder/dirac_parser.cpp: Speed up set_component function using MMX optimisation. 2005-08-01 17:14 asuraparaju * libdirac_common/arrays.h: In TwoDArray::Resize, free and reallocate data only if the new dimensions differ from the old one. 2005-08-01 17:12 asuraparaju * win32/VS2003/: DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, libdirac_common/libdirac_common.vcproj: Define HAVE_MMX macro for mmx enabled targets. 2005-08-01 17:11 asuraparaju * util/instrumentation/process_sequence.cpp: Fix uninitialised memory read bug reported by Valgrind on reaching end of sequence. 2005-08-01 17:10 asuraparaju * unit_tests/: motion_comp_test.cpp, motion_comp_test.h: Test all MV precision values - from pixel to an eighth of a pixel. 2005-08-01 17:10 asuraparaju * libdirac_common/wavelet_utils_mmx.cpp: Reimplement VHFilterApprox9_7::Synth and VHFilter13_5::Synth using MMX optimisation. 2005-08-01 17:09 asuraparaju * libdirac_common/upconvert_mmx.cpp: Reimplemented UpConverter::DoUpConverter function using MMX optimisation. 2005-08-01 17:07 asuraparaju * libdirac_common/: mot_comp_mmx.cpp, mot_comp_mmx.h: Implementation of QuarterPixel::CompensateBlock function using MMX optimisation. 2005-08-01 17:06 asuraparaju * libdirac_common/wavelet_utils.cpp: MMX version of Wavelet sythesis functions are used if MMX is enabled. 2005-08-01 17:05 asuraparaju * libdirac_common/upconvert.cpp: MMX version of DoUpConverter is used if MMX is enabled. 2005-08-01 17:04 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h: Modified the block weights to be of type short to make efficient use of MMX instructions. Modified CompensateComponente to make more efficient use of data in cache. MMX versions of CompensateBlock are used if MMX is enabled. 2005-08-01 17:04 asuraparaju * libdirac_common/Makefile.am: Include new mmx optimisation source files and headers. 2005-07-26 10:39 tjdwave * libdirac_encoder/dirac_encoder.cpp: Reduced chroma weighting factors in order to increase chroma fidelity - chroma bit rates should increase from about 5% of total for 420 to 7.5% of total. Changed default block separation for HD720 preset to remove block edge overlaps at the top of the screen. This may be returned to the old settings when we know why they caused the problem. 2005-07-25 18:01 mservais * libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_motionest/global_motion.cpp, libdirac_motionest/global_motion.h, libdirac_motionest/me_motion_type_decn.cpp, libdirac_motionest/me_motion_type_decn.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: Minor bug fixes and added some extra comments 2005-07-22 18:09 asuraparaju * configure.ac: updated revision to 0.5.3 2005-07-22 18:09 asuraparaju * libdirac_common/bit_manager.h: Updated bitstream version to 0.5 since the bitstream is no longer compatible with dirac-0.5.2 2005-07-22 12:59 asuraparaju * configure.ac: Include macro AC_SYS_LARGEFILE to overcome the 2GB i/o file limit. Fix for bug #1212581. 2005-07-21 09:11 tjdwave * encoder/encmain.cpp: Made presets non-case-sensitive. 2005-07-20 10:29 tjdwave * libdirac_encoder/dirac_encoder.cpp: Fixed bug where block parameters were being set incorrectly. 2005-07-20 09:43 tjdwave * README: Added text about recode CLI option. 2005-07-19 16:39 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/seq_compress.cpp: Added -recode parameter. If -recode [n] is present, then the encoder will recode up to n times (ie will encoder up to n+1 times). 2005-07-19 15:17 tjdwave * libdirac_common/mv_codec.cpp, libdirac_motionest/me_mode_decn.cpp: Fixed bug 1240709. Common mode is now used to reduce encoding of prediction modes. Common mode was also being set incorrectly in the motion estimation process, which caused divergence between the encoder and decoder values. Since common mode wasn't used, this bug was masked before. Both now fixed. 2005-07-08 10:26 tjdwave * libdirac_common/: upconvert.cpp, upconvert.h: Incorporated patch 1211899. This tidies up the code and makes it confirm to dirac coding conventions, and also uses a smaller filter. This commit differs from the patch in that the filter is not reduced to 6 taps but is reducted to 10 taps instead. In the future, variable filter coefficients may be supported via templated polymorphism. 2005-06-22 17:52 mservais * libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_motionest/filter_weighted_local.cpp, libdirac_motionest/global_motion.cpp, libdirac_motionest/global_motion.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_motion_type_decn.cpp, libdirac_motionest/me_motion_type_decn.h, libdirac_motionest/model_affine.cpp, libdirac_motionest/model_affine.h, libdirac_motionest/model_projective.cpp, libdirac_motionest/model_projective.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: When using global motion (but not exclusively global motion), the global motion decisions can now be flagged either per Prediction Unit or per Macro-Block. Also, the use of a Common Mode for each Macro-Block is now possible. (This had not been fully implemented before.) 2005-06-10 15:15 tjdwave * libdirac_encoder/quality_monitor.cpp, libdirac_motionest/block_match.cpp: Fixed bug with computing MV costs. Incorporated patch 1216297 for quality measurement. 2005-06-10 11:52 tjdwave * libdirac_encoder/dirac_encoder.cpp: Changed default block height and width for motion compensation to 24 by 24 pixels from 20 by 20. Separation remains 16 by 16. The result is reduced blockiness in areas of poor motion prediction. Downside is slower encoder, but the block parameters are merely scaled-up versions of the SD parameters. 2005-05-26 19:48 asuraparaju * extras/patches/ffmpeg-0.4.9-pre1-dirac-0.5.x.patch: Fixed bug 1209053. Frame size parameters are now fetched from the AV context before setting frame size. Also fixed a bug where quality factor was not being set correctly. 2005-05-26 16:20 stuart_hc * tests/samples.at: Fix bug 1209017: use -width/-height instead of -x/-y 2005-05-26 16:01 stuart_hc * encoder/encmain.cpp: Fix bug 1209017: use -width/-height instead of -x/-y Also fix SEGV when incorrect -cformat parameter is passed. 2005-05-26 15:59 stuart_hc * README: Fix bug 1209017: use -width/-height instead of -x/-y 2005-05-25 14:30 asuraparaju * ChangeLog: [no log message] 2005-05-25 13:51 asuraparaju * README.release: Add ffmpeg patch to checklist 2005-05-25 13:43 asuraparaju * NEWS: Included dirac-0.5.2 release notes 2005-05-25 13:40 asuraparaju * AUTHORS: Updated contibutor list 2005-05-25 13:06 asuraparaju * extras/patches/: MPlayer-1.0pre7_dirac-0.5.x.patch, README_MPlayer-1.0pre7_dirac-0.5.x_patch, README_ffmpeg-0.4.9-pre1-dirac-0.5.x_patch, README_transcode-0.6.14_dirac-0.5.x_patch, ffmpeg-0.4.9-pre1-dirac-0.5.x.patch, transcode-0.6.14-dirac-0.5.x.patch: Patches to MPlayer, ffmped and transcode to add Dirac support to these tools. 2005-05-24 08:28 tjdwave * libdirac_encoder/seq_compress.cpp: Fixed bug with count increment so that fast adaption takes place on first recoding rather than second. 2005-05-20 15:30 asuraparaju * README: Modified this file to remove all references to image header files which are no longer required. 2005-05-20 15:25 asuraparaju * libdirac_encoder/seq_compress.cpp: Fix minor glitches in verbose output 2005-05-20 15:02 asuraparaju * win32/VS2003/dirac.sln: Remove MakeHeader from list of targets as contents of header files have been replaced with command line arguments. 2005-05-20 15:01 asuraparaju * encoder/encmain.cpp, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/seq_compress.cpp: Fix bugs in bit rate reporting 2005-05-20 14:05 asuraparaju * Makefile.am, configure.ac: make_header utility is no longer required. So removing picheader directory from list of targets. 2005-05-20 13:44 asuraparaju * tests/: colourbars.at, create_dirac_testfile.pl, samples.at: Remove all references to make_header. Sequence header information is now passed to encoder on the command line. 2005-05-20 13:43 asuraparaju * util/instrumentation/instrmain.cpp: The encoder now writes sequence header information to the instrumentation output file. So read sequence info from instrumentation file. 2005-05-20 13:42 asuraparaju * encoder/encmain.cpp: Fix g++ errors. Write the sequence header information to the instrumentation file. 2005-05-20 13:41 asuraparaju * libdirac_common/: pic_io.cpp, pic_io.h: Delete all code relating to header file creation/reading. All sequence parameters are now supplied to encoder via the command line. 2005-05-19 12:23 dirac_dev * decoder/decmain.cpp: Removed any references to header files. 2005-05-19 12:15 dirac_dev * encoder/encmain.cpp: Removed requirement of a header file. All parameters are handled through command-line options. Most options will still be set by the pre-set option, although they can be overriden. 2005-05-19 12:03 asuraparaju * unit_tests/motion_comp_test.cpp: Update motion compensation tests to use the helper function in MotionCompensator to instantiate the MotionCompensator sub-class for the mv precision value selected. 2005-05-19 11:56 asuraparaju * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h: Now reads the MV precision in the frame header. 2005-05-19 11:35 asuraparaju * libdirac_encoder/frame_compress.cpp: Writing the motion vector precision value as part of frame header. Default mv precision is set to 2 i.e. quarter pixel. 2005-05-19 11:25 asuraparaju * libdirac_motionest/me_utils_mmx.cpp: Fixed C/C++ aliasing violations that caused a performance slow down when compiled with gcc 4.0.0 2005-05-19 11:24 asuraparaju * libdirac_motionest/me_utils.h: Fixed gcc 4.0.0 warnings 2005-05-19 11:23 asuraparaju * libdirac_common/bit_manager.h: Updated bitstream version to 0.4 2005-05-19 11:21 asuraparaju * libdirac_common/: common.cpp, common.h: Added a field to CodecParams class for motion vector precision. A value of 'n' implies a precision of (2**-n)i pixel. i.e. a value of 2 implies an mv precision of 1/4 i.e. quarter pixel. 2005-05-19 11:16 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h: Added support for multiple levels of motion vector precision - pixel, half pixel, quarter pixel and multiple pixel. The main MotionCompensator class is an abstract class. Each of its sub-classes define the CompensateBlock function to a particular level of motion precision. 2005-05-19 11:12 asuraparaju * libdirac_motionest/: me_mode_decn.cpp, me_subpel.cpp, motion_estimate.cpp: Motion estimation modified to support variable motion vector precision. The implementation is preliminary, and should be modified later: vectors are scaled by a factor 8 to give a maximum of eighth-pel accuracy. Generic block matching functions are used at this accuracy even though true accuracy will be less - the subpixel search is merely truncated. In the future, half-pixel and quarter-pixel block matching functions should be written, just as for motion compensation as these will be faster. 2005-05-13 09:40 mservais * libdirac_common/mot_comp.cpp, libdirac_common/motion.cpp, libdirac_common/mv_codec.cpp, libdirac_motionest/me_motion_type_decn.cpp, libdirac_motionest/me_motion_type_decn.h, libdirac_motionest/motion_estimate.cpp, win32/VS2003/ConversionUtils/BMPtoRGB/Debug/BuildLog.htm, win32/VS2003/ConversionUtils/BMPtoRGB/Debug/vc70.idb, win32/VS2003/ConversionUtils/BMPtoRGB/Debug/vc70.pdb: Prediction units can now use either global or block motion. (Decision based on similarity of global and block motion vectors.) 2005-05-11 10:13 tjdwave * libdirac_common/wavelet_utils.cpp: Fixed -pedantic errors on unused variables. Replaced dynamic built-in array (which violates ISO C++) with array class. 2005-05-05 15:10 tjdwave * unit_tests/wavelet_utils_test.cpp: Added support for testing all different wavelet transforms for invertibility. 2005-05-04 14:35 tjdwave * libdirac_common/common.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_common/band_codec.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Modifications to support different wavelet filter types. wavelet_utils.{cpp,h} Added three new filter types with lifting implementations, all much faster than Daubechies (9,7). Refactored the code to support filter selection in constructor of WaveletTransform class. Added method to correctly output DC band expected values. Separated off coefficient interleaving and deinterleaving. Setting of subband weights is now a WaveletTransform function, as noise weighting factors depend on the filter choice. band_codec.cpp Removed literal constant and used 0 instead for top-left DC value prediction. comp_compress.cpp, comp_decompress.cpp Changed default filters from Daubechies (9,7) to faster filters which perform almost as well. This is a temporary mod. It is intended to be able to select fast filters via the CLI and for wavelet filter choices to be signalled in frame headers. This will be done in later refactoring to converge with the bitstream syntax in terms of frame types and header information. 2005-05-04 12:13 mservais * libdirac_motionest/: me_motion_type_decn.cpp, me_motion_type_decn.h: Introduces decision as to whether individual prediction units should use Global Motion or not. (Not complete yet!) 2005-05-04 12:06 mservais * libdirac_common/common.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_motionest/motion_estimate.cpp, win32/VS2003/libdirac_common/libdirac_common.vcproj, win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj: Introduces decision as to whether individual prediction units should use Global Motion or not. (Not complete yet!) 2005-04-13 16:36 asuraparaju * libdirac_common/arrays.h: New constants PIXEL_VALUE_MIN and PIXEL_VALUE_MAX to define the upper and lower limits on pixel values. 2005-04-13 16:28 asuraparaju * libdirac_common/frame.cpp: Included an MMX implementation of Frame::ClipComponent to achieve a decoding speedup in conjuction with mot_comp.cpp changes. Also using pointer arithmetic insted of index operator when accessing TwoDArray objects. 2005-04-13 16:25 asuraparaju * libdirac_motionest/me_utils_mmx.cpp: Using pointer arithmetic instead of the index operator when using TwoDArray objects to get an overall slight improvement in encoding speed. 2005-04-13 16:16 asuraparaju * libdirac_common/mot_comp.cpp: Partially applied patch 1151976. Using pointer arithmetic instead of index operator to access TwoDArray objects. A few other tweaks to improve cache locality. 2005-04-13 16:09 asuraparaju * libdirac_encoder/quant_chooser.cpp: Fix errors reported by MIPSPro C++ compiler regarding not specifiying the namespace for math functions like floor and log. 2005-04-13 16:06 asuraparaju * libdirac_common/arith_codec.h: Fix g++ warning re unused variables. 2005-04-13 16:06 asuraparaju * configure.ac: Included icc compile time flag -wr964 to treat warning 964 as a remark when mmx is enabled. 2005-04-12 11:56 timborer * doc/DiracSpecV0.1.doc: Modifed default Motion Vector precision (now 1/4 pel), added note that max MV precision should be included in Level. Corrected typos. 2005-04-06 15:31 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h, mv_codec.cpp, mv_codec.h: Oops. Correct files now uploaded. 2005-04-06 15:28 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h, mv_codec.cpp, mv_codec.h: Changes to reflect mods to arith_codec.h: in particular, Update is removed as this is no longer a virtual function. Instead the base class function is called directly in the encoding/decoding engines. 2005-04-06 15:07 tjdwave * libdirac_common/arith_codec.h: Speed-up to arithmetic coding and decoding, using probability range renormalisation to avoid unnecessary divides. 2005-04-05 14:56 timborer * doc/DiracSpecV0.1.doc: Initial draft of Dirac spec. This is not a specification of what we have but a proposed spec for what we want. At the moment it focuses on syntax rather than semantics. It is inkorect and incomplet. 2005-03-17 11:21 mservais * libdirac_motionest/motion_estimate.cpp: Example with "Global Motion Only" set to 1. 2005-03-17 11:01 mservais * libdirac_motionest/: filter_weighted_local.cpp, global_motion.cpp, me_mode_decn.cpp, model_affine.cpp, model_affine.h, model_global_motion.h, model_projective.h, motion_estimate.cpp, reject_intensity.cpp, reject_sad.cpp: Initial implementation of Global Motion. Allows for Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-17 10:57 mservais * libdirac_common/common.h, libdirac_common/mot_comp.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h: Initial implementation of Global Motion. Allows for Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-17 10:43 mservais * libdirac_motionest/reject_local.cpp: Initial implementation of Global Motion. Allows for Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-17 10:34 mservais * libdirac_motionest/global_motion.h: Initial Implementation for Global Motion. Allows a Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-11 13:43 asuraparaju * libdirac_common/: common.cpp, common.h: Fixed bug 1159031. dirac_quantiser_lists is not an extern anymore and is limited to file scope. 2005-03-04 14:55 tjdwave * libdirac_common/arrays.h, AUTHORS: Added Mike Ferenduros' mods to arrays, so that memory allocation is always contiguous. Also added him to list of contributors. 2005-02-17 14:07 asuraparaju * ChangeLog: [no log message] 2005-02-17 13:05 asuraparaju * NEWS: Included Dirac 0.5.1 release notes 2005-02-17 13:05 asuraparaju * README.release: Included Dirac Directshow filter and Mplayer patch to checklist 2005-02-17 13:03 asuraparaju * README.developers: Modified MMX optimisation implementation guidelines to use Intrinsics. Included notes on conducting end-to-end test using 'make check' and create_dirac_testfile.pl 2005-02-17 13:02 asuraparaju * README: Included notes on how to enable MMX optimisations and how to use the data generation script create_dirac_testfile.pl 2005-02-17 12:23 asuraparaju * picheader/headmain.cpp: Not returning an exit code when usage info is displayed. 2005-02-17 12:22 asuraparaju * tests/create_dirac_testfile.pl: Fix compilation errors. 2005-02-17 12:21 asuraparaju * tests/Makefile.am: Include scrip create_dirac_testfile.pl in install list to bin directory 2005-02-16 17:52 asuraparaju * libdirac_common/bit_manager.h: the bitstream has changed. So updated bitstream version so that an error is reported if attempting to decode older versions of Dirac files. 2005-02-16 17:48 asuraparaju * extras/patches/: MPlayer-1.0pre6a_dirac-0.5.x.patch, README_MPlayer-1.0pre6a_dirac-0.5.x_patch: Mplayer 1.0pre6a patch to enable Dirac support in MPlayer 2005-02-16 17:42 asuraparaju * extras/dirac_dshow/src/diracsplitter/: DiracSplitter.cpp, DiracSplitter.def: Dirac direct show filter files 2005-02-16 17:40 asuraparaju * extras/dirac_dshow/src/basesplitter/: BaseSplitterFileEx.cpp, BaseSplitterFileEx.h: Direct show filter files 2005-02-16 17:19 asuraparaju * extras/dirac_dshow/: DiracSplitter.sln, INSTALL, README.developers, include/IChapterInfo.h, include/IKeyFrameInfo.h, include/moreuuids.h, include/matroska/matroska.h, include/winddk/devioctl.h, include/winddk/ntddcdrm.h, include/winddk/ntddstor.h, src/basesplitter/AsyncReader.cpp, src/basesplitter/AsyncReader.h, src/basesplitter/BaseSplitter.cpp, src/basesplitter/BaseSplitter.h, src/basesplitter/BaseSplitterFile.cpp, src/basesplitter/BaseSplitterFile.h, src/basesplitter/basesplitter.vcproj, src/basesplitter/stdafx.cpp, src/basesplitter/stdafx.h, src/diracsplitter/DiracSplitter.h, src/diracsplitter/DiracSplitter.rc, src/diracsplitter/DiracSplitter.vcproj, src/diracsplitter/DiracSplitterFile.cpp, src/diracsplitter/DiracSplitterFile.h, src/diracsplitter/resource.h, src/diracsplitter/stdafx.cpp, src/diracsplitter/stdafx.h, src/dsutil/DSUtil.cpp, src/dsutil/DSUtil.h, src/dsutil/MediaTypes.cpp, src/dsutil/MediaTypes.h, src/dsutil/NullRenderers.cpp, src/dsutil/NullRenderers.h, src/dsutil/a_yuv2rgb.asm, src/dsutil/a_yuvtable.asm, src/dsutil/convert_a.asm, src/dsutil/dsutil.vcproj, src/dsutil/stdafx.cpp, src/dsutil/stdafx.h, src/dsutil/text.cpp, src/dsutil/text.h, src/dsutil/vd.cpp, src/dsutil/vd.h, src/switcher/AudioSwitcher.h, src/switcher/StreamSwitcher.h: Patches and DirectShow filter related files 2005-02-15 11:39 asuraparaju * win32/VS2003/: dirac.sln, ConversionUtils/ConversionUtils.vcproj, ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj, ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj, ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj, ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj, ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj, ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj, ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj, ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj, ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj, ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj, ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj, ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj, ConversionUtils/libconv_common/libconv_common.vcproj, DecodeDirac/DecodeDirac.vcproj, DiracDecoder/DiracDecoder.vcproj, DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, DiracEncoder/DiracEncoder.vcproj, DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, EncodeDirac/EncodeDirac.vcproj, Everything/Everything.vcproj, InstrumentDirac/InstrumentDirac.vcproj, InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj, MakeHeader/MakeHeader.vcproj, libdirac_common/libdirac_common.vcproj, libdirac_motionest/libdirac_motionest.vcproj: Added new targets for building with MMX optimisation enabled. 2005-02-15 11:38 asuraparaju * configure.ac: Update release id to 0.5.1. Added flag to enable MMX optimisation and test for checking if MMX optimising is available. Default opt level changed to -O3 for g++ and icc. Added extra optimisation flags when compiling with g++. Fixed cppunit availability check to report linker errors so that shared library mismatches are trapped. 2005-02-15 11:33 asuraparaju * encoder/encmain.cpp: Modified error messages to output more information. 2005-02-15 11:31 asuraparaju * tests/: Makefile.am, create_dirac_testfile.pl, samples.at, testsuite.at: A new script to generate dirac test data of different chroma formats from source RGB format input data. A new testcase, samples.at, which looks for Dirac test data in the directory specified by the env variable DIRAC_INPUT_DATA_DIR. The script and testcase are useful to run end-to-end tests using all input formats supported by Dirac. 2005-02-15 11:21 asuraparaju * libdirac_motionest/: Makefile.am, me_utils.cpp, me_utils_mmx.cpp, me_utils_mmx.h: Using MMX to compute block differences. Applied a modified version of patch 1081743. 2005-02-15 11:15 asuraparaju * libdirac_common/: band_codec.h, wavelet_utils.h: Fixed doxygen warnings 2005-02-15 11:13 asuraparaju * acinclude.m4: File containing user defined autoconf macro functions specific to Dirac project 2005-02-08 14:02 tjdwave * libdirac_common/arith_codec.h: Replaced delete with delete[] in destructor. Added clean-up in data reading so that the class can be re-used without causing a memory leak. 2005-02-07 12:12 tjdwave * libdirac_encoder/comp_compress.cpp, libdirac_decoder/comp_decompress.cpp: Fixed bug where blocks of coefficients with zero dimensions were being generated. There's now a minimum size of 4x4 coefficients for a code block. 2005-02-02 15:29 asuraparaju * libdirac_common/arith_codec.h, libdirac_common/band_codec.cpp, libdirac_common/mv_codec.cpp, libdirac_decoder/comp_decompress.cpp: Fixed g++ warnings when compiled in debug mode (i.e. configure with flag --enable-debug) 2005-02-02 15:24 dirac_dev * win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj: Added quant_chooser.cpp/h 2005-02-02 14:50 tjdwave * libdirac_decoder/: comp_decompress.cpp, comp_decompress.h: Added support for multiple code blocks/quantisers. Added separate function for reading header. 2005-02-02 14:49 tjdwave * libdirac_encoder/Makefile.am: Modded to add quant_chooser.{cpp,h} 2005-02-02 14:47 tjdwave * libdirac_encoder/: comp_compress.cpp, comp_compress.h, quality_monitor.cpp, quality_monitor.h: Removed quantiser selection from comp_compress to another class. 2005-02-02 14:46 tjdwave * libdirac_encoder/: quant_chooser.cpp, quant_chooser.h: Modified author details. 2005-02-02 14:44 tjdwave * libdirac_encoder/: quant_chooser.cpp, quant_chooser.h: Added classes to handle selecting quantisers. These allow a single quantiser per subband to be chosen, or alternatively one for each code block. 2005-02-02 14:42 tjdwave * libdirac_common/: band_codec.cpp, common.cpp, mv_codec.cpp, wavelet_utils.cpp, arith_codec.h, band_codec.h, common.h, mv_codec.h, wavelet_utils.h: Modified wavelet coeff coding to code blocks of coefficients. with skip flags if all coefficients are zero. Wavelet coefficient coding has reduced use of class member variables for clarity. The arithmetic coding and decoding engines have been modified to improve speed and code organisation. The decoder now reads in all the data before beginning decoding. Coding of motion vector data has been tidied, and modified to accommodate changes in the arithmetic coding engine. Block prediction modes are now coded slightly differently, which improves compression performance. 2005-01-24 16:58 tjdwave * libdirac_common/common.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_motionest/me_mode_decn.cpp: Changed prediction of block modes to be bitwise - bit 0 indicates the presence of a Ref1 MV, and bit 1 indicated the presence of a Ref2 MV. This is also reflected in selecting modes in motion estimation. 2005-01-24 16:06 tjdwave * libdirac_motionest/me_mode_decn.cpp: Re-instituted bi-directional prediction, inadvertently commented out. 2005-01-24 14:43 tjdwave * libdirac_motionest/: block_match.cpp, block_match.h, me_subpel.cpp: Made local motion vector variance a member function of the block matcher, and made the cut-off limits depend on the picture size. This improves performance at HD by 4% or so. 2005-01-18 19:13 mservais * libdirac_motionest/global_motion.h: Testing CVS (Marc) 2005-01-18 18:20 mservais * libdirac_motionest/global_motion.h: Testing CVS (Marc) 2005-01-18 17:42 mservais * libdirac_motionest/global_motion.cpp: Marc: Testing that CVS works OK 2005-01-12 17:50 asuraparaju * libdirac_motionest/global_motion.h: Forgot to add this file with the earlier lot of global motion files 2005-01-12 16:18 asuraparaju * win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj: Added global motion related files to the project 2005-01-12 15:30 asuraparaju * libdirac_motionest/: Makefile.am, filter_weighted_local.cpp, filter_weighted_local.h, global_motion.cpp, model_affine.cpp, model_affine.h, model_global_motion.cpp, model_global_motion.h, model_projective.cpp, model_projective.h, motion_estimate.cpp, refine_motion_vector_field.cpp, refine_motion_vector_field.h, reject_edge.cpp, reject_edge.h, reject_intensity.cpp, reject_intensity.h, reject_local.cpp, reject_local.h, reject_motion_vector_outliers.cpp, reject_motion_vector_outliers.h, reject_outlier.cpp, reject_outlier.h, reject_sad.cpp, reject_sad.h, reject_value.cpp, reject_value.h, test_global_motion_model.cpp, test_global_motion_model.h, test_mv_sad.cpp, test_mv_sad.h: Global motion estimation related new files and mods to existing files 2004-12-22 11:59 tjdwave * libdirac_motionest/block_match.cpp: Fixed bug with assigning costs to lists of vectors, reported by Eric Rannaud. 2004-12-10 15:28 asuraparaju * libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Fixed bug 1081435. 2004-12-10 15:21 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, picheader/Makefile.am, util/instrumentation/Makefile.am: Link in math library, libm, if required. 2004-12-10 15:20 asuraparaju * tests/colourbars.at: Not ignoring standard error so that errors are trapped when running the test suite. 2004-12-10 15:18 asuraparaju * encoder/encmain.cpp: Print the bitrate to standard output even when not in verbose mode. 2004-12-10 15:16 asuraparaju * libdirac_encoder/comp_compress.cpp: Included Peter Meerwald in list of contributors 2004-12-10 15:13 asuraparaju * libdirac_encoder/comp_compress.cpp: Fixed errors reported by MIPSpro 7.4 C++ compiler. Applied patch 1081664 which improves encoding speed by 10-15%. 2004-12-10 15:04 asuraparaju * configure.ac: Added check to see if math library, libm, needs to be linked. Added test to check for C++ header files that are not included in old versions of C++ compilers. Applied patch 1081730. 2004-12-10 14:59 asuraparaju * bootstrap: Exit with a failure message if automake fails. 2004-12-01 16:21 asuraparaju * win32/VS2003/MakeHeader/MakeHeader.vcproj: MakeHeader.exe now is correctly being created in win32/VS2003/bin/ directory. 2004-12-01 14:45 asuraparaju * ChangeLog: [no log message] 2004-12-01 14:40 asuraparaju * NEWS: Included 0.5.0 release notes 2004-12-01 14:39 asuraparaju * README: Updated Section 3 (Building and installing) to reflect changes to building the codec under UNIX-like envoroments and MS Windows. Added sub-section on how to build Dirac coder on MS Windows platform using MS VC++ .NET 2003. Updated make_header usage in the File Formats suc-section. Update encoder app usage information. 2004-12-01 14:35 asuraparaju * README.developers: New sub-section on namespaces to be used in Dirac. Added note on new test target 'valgrind-check' 2004-12-01 14:32 asuraparaju * TODO: Replaced contents with link to the TODO list on Dirac homepage 2004-12-01 14:13 timborer * util/conversion/YUV420toRGB.cpp: Fixed bug 1050816. 2004-11-29 12:54 asuraparaju * libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.h, libdirac_common/bit_manager.h, libdirac_common/common.h, libdirac_common/mot_comp.h, libdirac_common/mv_codec.h, libdirac_common/pic_io.h, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.h, libdirac_decoder/seq_decompress.h, libdirac_encoder/seq_compress.h, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.h: Fix warnings reported by doxygen 2004-11-26 13:47 asuraparaju * misc/xparam-1.22-gcc-3.4.0.patch: xparam package not used hence removed this file from repository 2004-11-26 13:43 asuraparaju * windows/dirac/: dirac.dsw, libdirac_common/libdirac_common.dsp, libdirac_decoder/libdirac_decoder.dsp, libdirac_encoder/libdirac_encoder.dsp, libdirac_motionest/libdirac_motionest.dsp: Removing older VS files that are no longer supported 2004-11-26 13:36 asuraparaju * unit_tests/: frames_test.cpp, frames_test.h, motion_comp_test.cpp, motion_comp_test.h: Unit test for Motion Compensation 2004-11-26 13:36 asuraparaju * unit_tests/Makefile.am: Added Motion compensation unit test related files to list of targets 2004-11-26 13:28 asuraparaju * configure.ac: Modified check for cppunit test framework to ensure that it can run without errors. This was required because unit tests fail when built with icc. This is a temporary measure until it is determined why unit tests fail when built with icc on linux. 2004-11-26 13:23 asuraparaju * AUTHORS: Updated list of contributors 2004-11-26 13:22 asuraparaju * Makefile.am: Removed win directory from distribution list as build with nmake is no longer supported. Added win32 to list of target subdirectories 2004-11-26 13:13 asuraparaju * win32/: Makefile.am, VS2003/Makefile.am, VS2003/dirac.sln, VS2003/ConversionUtils/ConversionUtils.vcproj, VS2003/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj, VS2003/ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj, VS2003/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj, VS2003/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj, VS2003/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj, VS2003/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj, VS2003/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj, VS2003/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj, VS2003/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj, VS2003/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj, VS2003/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj, VS2003/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj, VS2003/ConversionUtils/libconv_common/libconv_common.vcproj, VS2003/DecodeDirac/DecodeDirac.vcproj, VS2003/DiracDecoder/DiracDecoder.vcproj, VS2003/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, VS2003/DiracEncoder/DiracEncoder.vcproj, VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, VS2003/EncodeDirac/EncodeDirac.vcproj, VS2003/Everything/Everything.vcproj, VS2003/InstrumentDirac/InstrumentDirac.vcproj, VS2003/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj, VS2003/MakeHeader/MakeHeader.vcproj, VS2003/libdirac_common/libdirac_common.vcproj, VS2003/libdirac_motionest/libdirac_motionest.vcproj: Solution and Project files for building Dirac using MS Visual Studio 2003 2004-11-25 13:42 asuraparaju * decoder/decmain.cpp, encoder/encmain.cpp: Modified to use only public API and none of the C++ classes 2004-11-25 13:41 asuraparaju * libdirac_common/dirac_types.h: Turn off _declspec for non-windows builds and windows static builds 2004-11-24 11:41 tjdwave * doc/algorithm/rdo_mot_est.htm: Remaining mods to algorithmic docs. 2004-11-24 11:27 tjdwave * doc/algorithm/: algorithm.htm, const_qual.htm, intra_pred.htm, intro.htm, quantisation.htm, subband_rdo.htm: Mods to algorithm docs; intra_pred.htm removed. 2004-11-22 14:23 asuraparaju * ChangeLog: [no log message] 2004-11-22 14:15 asuraparaju * AUTHORS: Updated list of contributors. 2004-11-22 14:05 asuraparaju * libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_common/common_types.h, libdirac_common/dirac_assertions.h, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/wavelet_utils.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/dirac_cppparser.cpp, libdirac_decoder/dirac_cppparser.h, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.h, libdirac_encoder/comp_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, libdirac_motionest/pixel_match.cpp, libdirac_motionest/pixel_match.h: Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:58 asuraparaju * bootstrap: Added libtool support 2004-11-22 13:57 asuraparaju * dirac.pc.in: After the library restructuring, only two libraries are required - the encoder and decoder libraries. 2004-11-22 13:57 asuraparaju * configure.ac: Added libtool support to build libraries. 2004-11-22 13:56 asuraparaju * INSTALL: Minor changes related to the main configure file and the flags to use 2004-11-22 13:56 asuraparaju * README: Added descrition of additional flags available at configure time 2004-11-22 13:54 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, util/conversion/common/Makefile.am, util/instrumentation/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Instead of 4 libraries only two libraries are now built and installed - libdirac_encoder and libdirac_decoder. Only the public "C" API headers and libraries are copied to the installation directories when 'make install' is used. Now using libtool to build libraries. On GNU/Linux and UNIX-like platforms, shared and static versions of the exported libraries are built. On MS Windows platforms, only shared libraries or static libraries can be built but not both. 2004-11-22 13:51 asuraparaju * tests/: Makefile.am, colourbars.at, unittests.at: Added valgrind support while running tests. The 'make valgrind-check' command now runs valgrind memory checks on all the tests. Note that the tests take a very long time to run in this mode 2004-11-22 13:50 asuraparaju * util/: Makefile.am, conversion/Makefile.am: Include Id tag to track revisions. 2004-11-22 13:48 asuraparaju * doc/: Makefile.am, algorithm/Makefile.am, api/Makefile.am, programmers/Makefile.am: Included the Id tag to track revisions. 2004-11-22 13:46 asuraparaju * Makefile.am: Added support for 'valgrind-check' argument to make. 2004-11-22 13:42 asuraparaju * util/instrumentation/libdirac_instrument/: draw_overlay.cpp, draw_overlay.h, gm_inliers.cpp, gm_inliers.h, motion_arrows.cpp, motion_arrows.h, motion_colour.cpp, motion_colour.h, motion_colour_arrows.cpp, motion_colour_arrows.h, overlay.cpp, overlay.h, overlay_symbols.cpp, overlay_symbols.h, pred_mode.cpp, pred_mode.h, sad.cpp, sad.h, split_mode.cpp, split_mode.h: Fixed "invalid read" and "memory leak" errors reported by valgrind. Added namespace support. All instrumentation library functionality is in the namespace dirac_instr. 2004-11-22 13:39 asuraparaju * util/instrumentation/: process_sequence.cpp, process_sequence.h: Replace all refrences to PicInput and PicOutput classes with FileStreamInput and FileStreamOutput classes. m_zl (number of frames in sequence) is no longer part of the Sequence header. Changed function ProcessSequence::DoSequence to work around this. 2004-11-22 13:39 asuraparaju * util/instrumentation/instrmain.cpp: Replaces all references to PicInput and PicOutput classes with FileStreamInput and FileStreamOutput classes. 2004-11-22 13:37 asuraparaju * picheader/: Makefile.am, headmain.cpp: Number of frames in a sequence is no longer required in encode/decode operations. 2004-11-22 13:36 asuraparaju * libdirac_encoder/: seq_compress.cpp, seq_compress.h: Restructured SequenceCompressor class to separate frame loading and frame compression functionality into two different functions. This was necessary to implement the "C" interface to the encoder. Added new access functions, GetFrameEncoded and GetMEData(), to return the latest frame encoded and the motion estimation data associated with it. Added function EndSequence that writes end of sequence information the the output bitstream. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:35 asuraparaju * libdirac_encoder/: frame_compress.cpp, frame_compress.h: Motion Estimation data is no longer written to a file. Instead, added new functions, IsMEDataAvail and GetMEdata, to enable class user to access the Motion Estimation data. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:34 asuraparaju * libdirac_encoder/comp_compress.cpp: Allowed a full range of quantisers, so that lossless coding is possible. Replaced tabs with spaces. Fixed MSVC++ compiler warnings. Added namespace support. 2004-11-22 13:33 asuraparaju * libdirac_decoder/seq_decompress.cpp: Removed all depedency on the m_zl (number of frames in sequence) parameter in the sequence parameters which no longer exists. 2004-11-22 13:32 asuraparaju * decoder/decmain.cpp, libdirac_decoder/dirac_parser.cpp, libdirac_decoder/dirac_parser.h: Moved structures common to the encoder and decoder "C" interfaces into librac_common/dirac_types.h 2004-11-22 13:30 asuraparaju * libdirac_common/bit_manager.h: Updated the bit stream version since the the bitstream in release 0.5.0 differs from the bitstream in version 0.4.x. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:29 asuraparaju * libdirac_common/: frame_buffer.cpp, frame_buffer.h: FrameBuffer functions now support all io classes derived from the abstract pic io classes StreamPicInput and StreamPicOutput Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:29 asuraparaju * libdirac_common/: pic_io.cpp, pic_io.h: Restructured the PicIO classes so that in addition to file io streams, memory based io streams are also supported. Replaced PicInput and PicOutput classes with FileStreamInput and FileStreamOutput classes. 2004-11-22 13:28 asuraparaju * libdirac_common/dirac_assertions.cpp: Modified dirac_assert function always dump core irrespetive of whether the code was built in debug mode or release mode. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:26 asuraparaju * unit_tests/: core_suite.h, cppunit_testsuite.cpp, utmain.cpp: Added licence declaration. 2004-11-22 13:25 asuraparaju * unit_tests/Makefile.am: Added wavelet transform test. 2004-11-22 13:24 asuraparaju * unit_tests/: arrays_test.cpp, arrays_test.h: Added unit test for TwoDArray value constructor. 2004-11-22 13:22 asuraparaju * README.developers: Added text on bootstrapping to create the configure script from the CVS repository. Also added text on how to profile the code. 2004-11-22 13:21 asuraparaju * libdirac_common/frame.cpp: Modified clipping so that overshoots are allowed wrt Rec 601 ranges. This is because the original data may have overshoots too. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:20 asuraparaju * libdirac_motionest/: me_mode_decn.cpp, me_utils.cpp: Minor code tidy. Assignment = changed to copy construction for a number of declarations. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:19 asuraparaju * libdirac_decoder/frame_decompress.cpp: Changes related to MotionCompensator constructor changes. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:16 asuraparaju * libdirac_common/: arith_codec.h, arrays.h, bit_manager.cpp, mot_comp.cpp, mot_comp.h, motion.cpp, motion.h, wavelet_utils.h: Added constant-value constructor to arrays.h. Removed motion compensation-specific functions from motion.h. Refactored mot_comp.h for speed and to remove rounding errors, incorporating patch supplied by Stephen Bearcroft. Also changed function for computing overlapped block weights to remove potential rounding errors here. Changed constructor to configure motion compensation for addition or subtraction. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:13 asuraparaju * encoder/encmain.cpp: Modified the encoder to use the new Encoder Public API. 2004-11-22 13:11 asuraparaju * libdirac_common/: common.cpp, common.h: Enforced a maximum of 100% overlap in setting block sizes. Removed m_zl (number of frames) parameter from SeqParams class. The user need no longer to specify the number of frames in the input sequence. Added new functions ChromaWidth and ChromaHeight to SeqParams class which return the width and height of the chroma component. Changed m_output_path in EncParams to var type std::string to prevent buffer overflow errors. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:09 asuraparaju * libdirac_common/: upconvert.cpp, upconvert.h: Fixed bug in interpolating at the edge of the picture. Also clarified variable names. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:07 asuraparaju * unit_tests/: wavelet_utils_test.cpp, wavelet_utils_test.h: Unit test to test the Wavelet utilities 2004-11-22 13:06 asuraparaju * tests/at_wrap.in: Wrapper script around tests to use valgrind for memory checks 2004-11-22 13:05 asuraparaju * libdirac_encoder/: dirac_encoder.cpp, dirac_encoder.h: Encoder "C" Public API implementation files 2004-11-22 13:04 asuraparaju * libdirac_common/dirac_types.h: New header file to hold structures common to the Dirac Encoder and Decoder public "C" API 2004-11-04 12:54 asuraparaju * encoder/encmain.cpp: Setting original frame dimensions to codec_params for global motion 2004-11-04 12:54 asuraparaju * libdirac_common/arrays.h: Applied patch 1055707 and extended it to use memcpy for assigment = and copy constructor in both One-D and Two-D arrays. 2004-11-04 12:53 asuraparaju * libdirac_common/common.h: Including original frame dimensions in codec_params for use in global motion 2004-11-04 12:53 asuraparaju * libdirac_common/: motion.cpp, motion.h: Including arrays to hold global motion data in MvData and MEData 2004-11-04 12:52 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils.h: Refactored wavelet transform (again). Code now does re-ordering separately so that all the wavelet lifting stages can be done with in-place calculation. All loops traverse contiguous data in memory to facilitate future vectorisation. 2004-11-04 12:52 asuraparaju * libdirac_encoder/comp_compress.cpp: Fixed bug 1055692 which was caused by integer overflow when calculating the quality based on 4th powers of error. The integer overflow resulted in attempting to determine the square root of a negative number which caused the encoder to go into a permanent loop when using gcc 3.4.2. Modified the Mean Square Error calculation to use double instead of int type to fix this bug. 2004-11-04 12:52 asuraparaju * libdirac_motionest/me_utils.cpp: Applied patch 1055714. Now the Difference calculator uses a CalcValueType accumulator rather than float. 2004-11-04 12:50 asuraparaju * util/instrumentation/: instrmain.cpp, libdirac_instrument/Makefile.am, libdirac_instrument/gm_inliers.cpp, libdirac_instrument/gm_inliers.h, libdirac_instrument/overlay.cpp, libdirac_instrument/overlay.h: Update instrumentation with changes related to handling global motion 2004-10-21 15:27 asuraparaju * libdirac_common/motion.cpp: Fix "invalid write error" reported by valgrind in function MEData::FindTransitions. This was causing the encoder to seg fault when using video of size 352x576. (Bug# 1050757) 2004-10-21 15:26 asuraparaju * libdirac_motionest/motion_estimate.cpp: Fix the error reported by valgrind in SetChromaDC where an unitialised variable was being used to initialise dcarray. 2004-10-20 18:27 asuraparaju * libdirac_motionest/block_match.cpp: Code tidy 2004-10-20 18:26 asuraparaju * libdirac_encoder/quality_monitor.h: Broke up extremely long function prototype into multiple lines 2004-10-20 18:24 asuraparaju * libdirac_encoder/quality_monitor.cpp: Introduced clipping of the feedback control signal to reduce overshoots due to inaccuracies in the model. 2004-10-20 18:23 asuraparaju * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h: Fixed memory leak (Bug# 1044503) 2004-10-20 18:21 asuraparaju * libdirac_decoder/dirac_parser.cpp: Fixed memory leak (Bug# 1044501) 2004-10-20 18:20 asuraparaju * libdirac_common/mot_comp.cpp: Fixed memory leak (Bug #1044499) 2004-10-20 18:18 asuraparaju * libdirac_common/band_codec.cpp: Added max value for the number of symbols to be accumulated between resets. Prevents overflow in the arithmetic coder. 2004-10-20 18:17 asuraparaju * encoder/encmain.cpp: Changed GOP structure for 720p to be 24,3 not 24,6 2004-10-20 18:16 asuraparaju * decoder/decmain.cpp: Fixed memory leak caused by not freeing up frame buffer that was dynamically allocated 2004-09-21 14:02 asuraparaju * ChangeLog: Included details of checkins for 0.4.3 release 2004-09-21 13:58 asuraparaju * NEWS: Included 0.4.3 release notes 2004-09-21 13:45 asuraparaju * configure.ac: Updated release id to 0.4.3 2004-09-21 11:56 asuraparaju * encoder/encmain.cpp: Removed ambiguity between -HD720 and HD720p options. 2004-09-21 11:16 asuraparaju * util/instrumentation/libdirac_instrument/overlay.cpp: Fixed bug in setting x chroma factor for 4:1:1 input which caused the diagnostics tool to crash. 2004-09-21 11:15 asuraparaju * libdirac_motionest/: downconvert.cpp, downconvert.h: Fixed bug where downconverting a picture with odd valued dimensions. 2004-09-21 11:14 asuraparaju * libdirac_encoder/: quality_monitor.cpp, quality_monitor.h: Tidied and changed terminology to refer to quality rather than PSNR. 2004-09-21 11:14 asuraparaju * libdirac_common/: common.cpp, common.h: Fixed bug with block sizes for 411 coding. 2004-09-21 11:14 asuraparaju * doc/algorithm/: algorithm.htm, const_qual.htm, subband_rdo.htm: Added detail of the constant quality coding revisions. Updated version number. 2004-09-17 16:46 asuraparaju * libdirac_motionest/: block_match.cpp, me_mode_decn.cpp, me_subpel.cpp, me_subpel.h, motion_estimate.cpp: Changed structure to use a map for the different lambdas, which is encpasulated in the MEData structure. Limited size of motion vector costs to allow us to cope with motion transitions better. 2004-09-17 16:44 asuraparaju * libdirac_encoder/: comp_compress.cpp, frame_compress.cpp, quality_monitor.cpp, quality_monitor.h: Changed quality metric from PSNR to one based on 4th powers of errors, to give bigger weighting to large errors. 2004-09-17 16:43 asuraparaju * libdirac_common/: common.h, frame.cpp, frame_buffer.cpp, mot_comp.cpp, mot_comp.h, motion.cpp, motion.h, wavelet_utils.cpp: Fixed bug with scaling motion vectors for non-444 formats. Rationalised frame buffer functions. Added comments to common.h. General tidying up of code. 2004-09-10 14:13 asuraparaju * ChangeLog: Included details of recent checkins 2004-09-10 14:05 asuraparaju * NEWS: Included 0.4.2 release notes 2004-09-10 14:04 asuraparaju * configure.ac: Updated release id to 0.4.2 2004-09-10 12:34 asuraparaju * libdirac_common/pic_io.h, encoder/encmain.cpp: Ensure that the number of frame in the output pic header is set to the number of frames written to the file. 2004-09-10 11:06 asuraparaju * Makefile.am: Only Makefile and README from win directory are now included in distribution 2004-09-09 15:48 asuraparaju * util/instrumentation/: process_sequence.cpp, libdirac_instrument/draw_overlay.cpp, libdirac_instrument/draw_overlay.h, libdirac_instrument/overlay.cpp, libdirac_instrument/overlay.h: Fixed bug with handling reference 2 when only one reference frame is available 2004-09-09 15:43 asuraparaju * util/instrumentation/libdirac_instrument/split_mode.cpp: Fix writng beyond end of array bug which caused the diagnostics tool to crash when using split_mode. 2004-09-09 15:42 asuraparaju * util/instrumentation/README: Correct pathname to diagnostic tool 2004-09-09 15:41 asuraparaju * libdirac_encoder/seq_compress.cpp: Fixed bug with bit-rate being miscalculated when only a section of the sequence is encoded. 2004-09-09 15:40 asuraparaju * libdirac_encoder/frame_compress.cpp: Restored mod which outputs array dimensions for instrumentation output. 2004-09-09 15:39 asuraparaju * libdirac_common/wavelet_utils.cpp: Fixed bug with setting DC band perceptual weight. 2004-09-09 15:39 asuraparaju * encoder/encmain.cpp: Fixed bug with setting length of output sequence when coding a section of picture. 2004-09-09 15:38 asuraparaju * decoder/decmain.cpp: Print average frame decode time to stdout instead of stderr so that stderr can be monitored for errors in tests 2004-09-09 15:37 asuraparaju * configure.ac: Add diagnostic tool to test path 2004-09-09 15:36 asuraparaju * README.release: Add testing diagnostic tool to release checklist 2004-08-26 12:08 asuraparaju * ChangeLog: Updated with details of recent checkins 2004-08-26 12:05 asuraparaju * NEWS: Included 0.4.1 release notes 2004-08-26 12:02 asuraparaju * configure.ac: Updated release id to 0.4.1 2004-08-25 18:09 asuraparaju * ChangeLog: Updated this doc with details of recent checkins 2004-08-25 17:58 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, picheader/Makefile.am, unit_tests/Makefile.am, util/conversion/Makefile.am, util/conversion/common/Makefile.am, util/instrumentation/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Build under windows using gnu autotools, MSys as a shell and the no-cost MS VC++ 2003 compiler now supported. 2004-08-25 17:56 asuraparaju * configure.ac: Fixed bug in configure where configure passed but make unit_tests failed when a version of cppunit older that 1.10.2 is installed. Build under windows using gnu autotools, MSys as a shell and MS C++ compiler 7.1 (free version) now supported. 2004-08-25 17:55 asuraparaju * tests/Makefile.am: Set up CLEANFILES to the files created by encoder and decoder so that they are deleted during 'make clean' instead of manually deleting them. 2004-08-25 17:54 asuraparaju * README.release: Added compile and test under windows using MSYS and cl to checklist Included updating project page on www.freshmeat.net in check list. Corrected line numbering and added note to send email to dirac-announce mailing list. 2004-08-25 17:52 asuraparaju * README: Added a section on compiling using MSYS shell and VC++ 2003 compiler under windows. Replaced all tabas with spaces. Reformatted text to not exceed 80 chars per line. 2004-08-25 17:51 asuraparaju * doc/dirac_bitstream.txt: Fixed error concerning prefix codes. 2004-08-25 17:51 asuraparaju * encoder/encmain.cpp: Removed duplicate text output. Fixed char buffer overflow bug which causes encoder to fail when file name paths exceed 80 chars. 2004-08-25 17:50 asuraparaju * libdirac_common/common.h: Fixed bug where SeqParams.Interlace() was returning the chroma format instead of interlace. 2004-08-25 17:48 asuraparaju * libdirac_common/pic_io.cpp: Removed text output if we've run out of input. 2004-08-25 17:47 asuraparaju * libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/motion.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/block_match.cpp, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: Modified motion estimation so that it's done on the uncompressed data. Changed the ME utilities so that they compute SAD only. Modified mode decisions to restore weights applied to different levels of decomposition. Changed QualityMonitor class so that the internal model of rate versus distortion is effectively reset if we have to recode a frame. Fixed bug with measurement of PSNR. 2004-08-20 16:05 asuraparaju * tests/colourbars.at: Fix paths for out-of-tree builds 2004-08-19 15:27 asuraparaju * doc/api/dirac_api.doxygen: Include utilities in documentation 2004-08-19 14:55 asuraparaju * configure.ac: Update release id to 0.4.0 2004-08-19 13:32 asuraparaju * ChangeLog: Updated with details of recent checkins 2004-08-19 13:23 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, picheader/Makefile.am, tests/Makefile.am, unit_tests/Makefile.am, util/conversion/Makefile.am, util/conversion/common/Makefile.am, util/instrumentation/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Fixed build errors when compiling out of source tree. Out-of-source-tree builds are now successful. 2004-08-19 13:21 asuraparaju * NEWS: Included Alpha 0.4.0 release notes 2004-08-19 13:20 asuraparaju * decoder/decmain.cpp: Handling STATE_INVALID returned by parser. 2004-08-19 13:20 asuraparaju * encoder/encmain.cpp: Fixed bug with setting block sizes. 2004-08-19 13:19 asuraparaju * picheader/headmain.cpp: Replace tabs with spaces. Fixed a character array overrun error. 2004-08-19 13:17 asuraparaju * util/instrumentation/README: Updated this document 2004-08-19 13:16 asuraparaju * win/Makefile: Updated Makefile to build correctly 2004-08-19 13:14 asuraparaju * TODO: Update todo list 2004-08-19 13:13 asuraparaju * README.release: Include tagging of files with release id in the checklist 2004-08-19 13:13 asuraparaju * README: Updated for 0.4.0 release 2004-08-19 13:12 asuraparaju * AUTHORS: Updated list of contributors 2004-08-19 13:11 asuraparaju * dirac.pc.in: Setting include and libs vars to correct values so that pkg-config shows the correct dependencies for Dirac. 2004-08-19 13:10 asuraparaju * configure.ac: Included additional condtional vars to check if documentation can be built successfully. Included -Wno-long-double flag on platforms where it is supported to prevent compile time warnings. 2004-08-19 13:08 asuraparaju * doc/: Makefile.am, api/Makefile.am, api/dirac_api.doxygen, api/dirac_api_foot.html, programmers/Makefile.am: Included additional condtional vars to check if documentation can be built successfully. Included dirac_bitstream.txt in distribution. 2004-08-19 13:06 asuraparaju * doc/algorithm/: algorithm.htm, rdo.htm, toc.htm, transform_coding.htm: Added links to constant quality encoding pages. 2004-08-19 13:04 asuraparaju * doc/algorithm/const_qual.htm: Added documentation on constant quality encoding. 2004-08-19 13:03 asuraparaju * doc/faq.htm: Added details on patent position. Fixed broken links. Minor text changes 2004-08-19 13:02 asuraparaju * doc/dirac_bitstream.txt: Initial bitstream syntax document for Dirac bitstream v0.1 2004-08-19 12:55 asuraparaju * util/instrumentation/: instrmain.cpp, process_sequence.cpp, process_sequence.h, libdirac_instrument/draw_overlay.cpp, libdirac_instrument/draw_overlay.h, libdirac_instrument/motion_arrows.cpp, libdirac_instrument/motion_arrows.h, libdirac_instrument/motion_colour.cpp, libdirac_instrument/motion_colour_arrows.cpp, libdirac_instrument/overlay.cpp, libdirac_instrument/pred_mode.cpp, libdirac_instrument/sad.cpp, libdirac_instrument/split_mode.cpp: Output all MEData members and cope with monochrome sequences Fixed block dimensions bug. Fixed padded pictures bug. 2004-08-19 12:50 asuraparaju * libdirac_common/bit_manager.h, libdirac_common/common.h, libdirac_decoder/dirac_cppparser.cpp, libdirac_decoder/dirac_cppparser.h, libdirac_decoder/dirac_parser.cpp, libdirac_decoder/dirac_parser.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/seq_decompress.cpp: Bitstream v0.1 related changes - Handling new start codes and bitstream version 2004-08-19 12:46 asuraparaju * libdirac_motionest/: me_mode_decn.cpp, me_utils.cpp, motion_estimate.cpp, pixel_match.cpp: Tiffled motion estimation parameters to improve performance. 2004-08-19 12:45 asuraparaju * libdirac_common/arith_codec.h: Minor mods to fix compile time errors 2004-08-19 12:45 asuraparaju * libdirac_common/dirac_assertions.h: New debug test macros TEST, TESTM, REPORT and REPORTM 2004-08-19 12:44 asuraparaju * libdirac_common/: motion.cpp, motion.h: Instrumentation update: outputs all MEData members and copes with monochrome sequences 2004-08-19 12:43 asuraparaju * libdirac_common/: mot_comp.cpp, pic_io.cpp, wavelet_utils.cpp: Cleansed code 2004-08-19 12:40 asuraparaju * libdirac_encoder/: frame_compress.cpp, quality_monitor.cpp, quality_monitor.h, seq_compress.cpp: Handling new start codes and bitstream version. Fixed bug in quality monitor code where padding area was taken into account in calculating PSNR. Removed unused code for calculating weighted PSNR. Removed commented output from quality monitor. Instrumentation update: outputs all MEData members and copes with monochrome sequences. 2004-08-11 16:30 asuraparaju * ChangeLog: Update this log with details recent checkins 2004-08-11 16:23 asuraparaju * tests/Makefile.am: Deleting data files created by encode and decode operation durng cleanup. 2004-08-11 15:53 asuraparaju * decoder/decmain.cpp: Decoder modified to use the "C" interface. 2004-08-11 15:53 asuraparaju * encoder/encmain.cpp: Added support for cut-detection and intra frame insertion. Changed output structure to output frame by frame, and added recoding to exploit this. Recoding takes place if quality is not within a range of the target quality. Replaced tabs with spaces. Updated data file extension 2004-08-11 15:48 asuraparaju * libdirac_encoder/: Makefile.am, frame_compress.cpp, frame_compress.h, quality_monitor.cpp, quality_monitor.h, seq_compress.cpp, seq_compress.h: Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/ directory. Added support for cut-detection and intra frame insertion. Changed output structure to output frame by frame, and added recoding to exploit this. Recoding takes place if quality is not within a range of the target quality. Writing frame start, sequence start and sequence end codes to bitstream. Modifications to build under WIN32 2004-08-11 15:44 asuraparaju * libdirac_decoder/: Makefile.am, frame_decompress.cpp, frame_decompress.h, seq_decompress.cpp, seq_decompress.h: Handling new "C" interface files. Handling bitstream changes in frame and sequence decompress routines. Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/libdirac_decoder 2004-08-11 15:40 asuraparaju * libdirac_common/: Makefile.am, arith_codec.h, arrays.h, band_codec.cpp, band_codec.h, bit_manager.cpp, bit_manager.h, common.cpp, common.h, frame.cpp, frame.h, frame_buffer.cpp, mot_comp.cpp, motion.cpp, mv_codec.cpp, mv_codec.h, pic_io.cpp, pic_io.h: Renamed BitOutputManager to UnitOutputManager in bit_manager.* Modified bit_manager.* to handle modifications to bitstream. Moved enumerated types common to the encoder, decoder and codec interfaces from common.h into common_types.h to avoid duplication of declarations. Added support for cut-detection and intra frame insertion. Changed output structure to output frame by frame, and added recoding to exploit this. Recoding takes place if quality is not within a range of the target quality. Modifications to build under WIN32 Fixed icc compiler warning 522 Fixed VC++ 2003 compiler warnings Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/libdirac_common directory. 2004-08-11 15:30 asuraparaju * libdirac_motionest/: Makefile.am, me_mode_decn.cpp, me_subpel.cpp, motion_estimate.cpp, motion_estimate.h: Minor mods to improve motion estimation: no lambda-smoothing on pixel-accurate ME. Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/libdirac_motionest directory.. 2004-08-11 15:27 asuraparaju * util/instrumentation/: Makefile.am, instrmain.cpp, process_sequence.cpp, process_sequence.h, libdirac_instrument/overlay.h: Restructured the code. Corrected header file path in instrmain.cpp. Added a ProcessSequence class. File extension of motion vector instrumentation file changed from _mvdata to .imt 2004-08-11 15:24 asuraparaju * tests/: Makefile.am, colourbars.at: Deleting instrumentation files during clean up. Ignoring stdout and stderr when running decoder. 2004-08-11 15:23 asuraparaju * win/Makefile: Fixed VC++ 2003 compile and link errors 2004-08-11 15:21 asuraparaju * libdirac_common/: dirac_assertions.cpp, dirac_assertions.h: Added functions for runtime testing in debug mode. Two new macros are defined. ASSERT( exp ) - if exp resolves to false, the program prints the line number and file where the assertion failure occured. In debug mode the program exits immediately dumping core. ASSERT( exp, mesg ) - if exp resolves to false, the program prints the line number, file name where the assertion failure occured and mesg. In debug mode the program exits immediately 2004-08-11 15:20 asuraparaju * libdirac_common/common_types.h: Moved enumerated types common to the encoder, decoder and codec interfaces from common.h into this file to avoid duplication of declarations. 2004-08-11 15:16 asuraparaju * libdirac_decoder/: decoder_types.h, dirac_cppparser.cpp, dirac_cppparser.h, dirac_parser.cpp, dirac_parser.h: These new files define the "C" interface to the decoder. The bitstream has been modified to be able to parse it for decoding. BitStream Changes: The new dirac bit stream is as follows . . . Sequence start code: Each sequence begins with a 5 bytes start code 0x01 0x02 0x03 0x04 0xB3 Frame start code: Each frame begins with a 5 bytes frame start code 0x01 0x02 0x03 0x04 0xB4 Sequence End code: Each sequence ends with a 5 bytes sequence end code 0x01 0x02 0x03 0x04 0xB7 Not a start code flag: If the arithmetic codec ouputs the start code prefix 0x01 0x02 0x03 0x04, 0xFF is inserted into the bitstream to flag that this is the output of the Arithmetic codec and not a start code. 2004-08-11 14:27 asuraparaju * configure.ac: Added a new option --enable-profile to include the profiling option -pg to them compile line. Setting up CXXFLAGS correctly for Intel compiler when the --enable-debug option is used. 2004-08-11 14:26 asuraparaju * README.release: A checklist for producing a new release 2004-08-03 10:32 asuraparaju * ChangeLog: Updated this log with details of recent checkins 2004-08-03 10:22 asuraparaju * Makefile.am, configure.ac, dirac.pc.in, decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arrays.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/Makefile.am, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, libdirac_motionest/pixel_match.cpp, libdirac_motionest/pixel_match.h: libdirac_common, libdirac_encoder, encoder: Incorporated diagnostic tool libdirac_common, libdirac_encoder, libdirac_motionest: Added lifting classes for wavelet transform. Refactored motion estimation to make logic clearer, and added separate pixel-accurate matching classes. Put in a longer temporal filter in QualityMonitor class to reduce oscillation and changed motion estimation Lagrangian parameter to improve performance. TO DO: tune ME parameter for each picture size/block size combination. libdirac_common: Corrected bug with lifting functions not returning a value. Modified MvData class to make member variables private. libdirac_encoder: Modified ME lambda value to improve performance. libdirac_decode, libdirac_encoder, libdirac_motionest, libdirac_common: Modified MvData class to make member variables private. Created MEData class as a subclass of MvData for use in motion estimation. libdirac_commonm libdirac_encoder: Refactored output classes to create classes for unit, frame and sequence output, where a unit is a subband or MV data, and consists of a header and subsequent data. Output can only be effected at the sequence level and occurs only after a whole frame of data has been accumulated. This will allow for frames to be re-coded before being output if their quality is not satisfactory. 2004-08-03 10:07 asuraparaju * util/: Makefile.am, instrumentation/Makefile.am, instrumentation/README, instrumentation/instrmain.cpp, instrumentation/libdirac_instrument/Makefile.am, instrumentation/libdirac_instrument/draw_overlay.cpp, instrumentation/libdirac_instrument/draw_overlay.h, instrumentation/libdirac_instrument/motion_arrows.cpp, instrumentation/libdirac_instrument/motion_arrows.h, instrumentation/libdirac_instrument/motion_colour.cpp, instrumentation/libdirac_instrument/motion_colour.h, instrumentation/libdirac_instrument/motion_colour_arrows.cpp, instrumentation/libdirac_instrument/motion_colour_arrows.h, instrumentation/libdirac_instrument/overlay.cpp, instrumentation/libdirac_instrument/overlay.h, instrumentation/libdirac_instrument/overlay_symbols.cpp, instrumentation/libdirac_instrument/overlay_symbols.h, instrumentation/libdirac_instrument/pred_mode.cpp, instrumentation/libdirac_instrument/pred_mode.h, instrumentation/libdirac_instrument/sad.cpp, instrumentation/libdirac_instrument/sad.h, instrumentation/libdirac_instrument/split_mode.cpp, instrumentation/libdirac_instrument/split_mode.h: Adding instrumentation tool 2004-07-16 17:05 asuraparaju * ChangeLog: Updated thislog with details of recent checkins 2004-07-16 16:29 asuraparaju * libdirac_encoder/quality_monitor.cpp: Fixed bug with model updating - limits of slope of linear model were inaccurate. Fixed bug with numerical stability of lambda re-calculation. Performance with cuts or shot-changes is still poor, however. 2004-07-16 16:23 asuraparaju * DCO.developers, README.developers: Added contents section. Added text about licensing and contribution. Modified licensing requirements so that contributors contribute under Mozilla too. Added Developers Certificate of Origin, which developers are to sign before their work is included. 2004-07-12 12:23 asuraparaju * ChangeLog: Updated this log with details of most recent checkins 2004-07-12 11:59 asuraparaju * libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h: Changed order of initialisation parameters for TwoDArray template class and subclass PicArray. Tidied TwoDArray and OneDArray classes. Removed all use of allocators. Replaced tabs with spaces in libdirac_common. Fixed minor bug in quality_monitor PSNR measurement. Made other typographical changes. 2004-07-12 11:53 asuraparaju * Makefile.am, configure.ac, tests/Makefile.am, tests/testsuite.at, tests/unittests.at, unit_tests/Makefile.am, unit_tests/arrays_test.cpp, unit_tests/arrays_test.h, unit_tests/core_suite.h, unit_tests/cppunit_testsuite.cpp, unit_tests/utmain.cpp: Added a unit test framework based on Cppunit. The unit tests will reside in the directory unit_tests. 'make check' command will now run the unit tests as well. Currently unit test exists only for the TwoDArrays class. More tests will be added in future. 2004-07-06 12:51 asuraparaju * ChangeLog: Update this log with details of mostrecent checkins 2004-07-06 12:26 asuraparaju * Makefile.am, README, encoder/encmain.cpp, libdirac_common/arith_codec.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/mot_comp.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/pic_io.cpp, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/motion_estimate.cpp, tests/colourbars.at: README: Removed discussion of Iqf, L1qf and L2qf. Added text explaining constant- quality encoding using -qf. Makefile.am: Changed order of make, so that utilities can use the common (and other) libraries. libdirac_common: Changed EncoderParams to include a quality parameter for constant-quality encoding. Changed perceptual weighting to use an extension of CCIR 959 weights, with extra weight for DC band, and lower weights for chroma bands. Modified enumerated type CompSort to avoid name clashes by using longer names. Refactored OLBParams class to have private member variables and access functions. libdirac_encoder: Added QualityMonitor class to do constant-quality encoding. Class looks at difference between locally decoded and original frames and adjusts Lagrangian parameters appropriately. Simplified interface for encoding results, where a single quality parameter is specified. libdirac_decoder FrameDecompressor::Decompress now returns true upon success and false upon failure. encoder/encmain.cpp: Simplified interface for encoding results, where a single quality parameter is specified. 2004-07-02 14:46 asuraparaju * ChangeLog: Updated this log with details about recent checkins 2004-06-30 17:53 asuraparaju * README.developers: Removed dollar signs around CVS tags which cause them to be expanded 2004-06-30 17:44 asuraparaju * AUTHORS, README, README.developers, configure.ac, decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, picheader/headmain.cpp, util/conversion/BMPtoRGB.cpp, util/conversion/RGBtoBMP.cpp, util/conversion/RGBtoUYVY.cpp, util/conversion/RGBtoYUV411.cpp, util/conversion/RGBtoYUV420.cpp, util/conversion/RGBtoYUV422.cpp, util/conversion/RGBtoYUV444.cpp, util/conversion/UYVYtoRGB.cpp, util/conversion/YUV411toRGB.cpp, util/conversion/YUV420toRGB.cpp, util/conversion/YUV422toRGB.cpp, util/conversion/YUV444toRGB.cpp, util/conversion/common/bitmap.cpp, util/conversion/common/bitmap.h, util/conversion/common/setstdiomode.cpp, util/conversion/common/setstdiomode.h: - Included a coding style guidelines sub-section (Coding Style) in README.developers under the section 'Software Practices'. This sub-section describes the coding guidelines for developers and is to be used as a reference by developers while writing code and while peer-reviewing code. - Removed the following CVS tags from all files $Author: asuraparaju $ $Log: ChangeLog,v $ Revision 1.23 2007/05/09 14:06:51 asuraparaju *** empty log message *** $Revision: 1.23 $ - Included the following CVS tags in all source and header files $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ $Name: Dirac_0_7_0 $ - Included a new configuration option, --enable-debug, in configure.ac. This option turns on the flags '-Wall -pedantic -Werror' to trap warnings. - Modified parameter classes in common.{h,cpp} to make member variables private and accessible through class methods. Traced through codec. - Deleted context.h. The classes that were originally in this file have been integrated as nested classes into ArithCodec class in arith_codec.h - Fixed bug on QCIF coding. The number of downconversions during hierarchical motion estimation is now limited based on the size of the picture - Changed decoder and encoder params to be references throughout frame and component (de)compression rather than being copied. - Code cleansed to follow coding standards specified in README.developers. - Changed names of member variables to use m_ convention - Used spaces to improve readability of code - Accessing class member variables through accessor/mutator function rather than directly - Non-trivial member functions moved from headers to .cpp files Changes mainly in the following directories: libdirac_common libdirac_decoder libdirac_encoder - Fixed g++ compiler warnings 2004-06-22 11:10 asuraparaju * libdirac_common/wavelet_utils.h: Modified doxygen comments to match the declaration of member function SetBandWeights in class WaveletTransform. 2004-06-22 11:08 asuraparaju * encoder/encmain.cpp: Fixed compilation errors caused by trying to access non-existent cformat data member in class EncoderParams. 2004-06-18 16:58 tjdwave * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_encoder/seq_compress.cpp, libdirac_motionest/motion_estimate.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h: Removed chroma format parameter cformat from CodecParams and derived classes to avoid duplication. Made consequential minor mods to seq_{de}compress and frame_{de}compress code. Revised motion compensation to use built-in arrays for weighting matrices and to enforce their const-ness. Removed unnecessary memory (de)allocations from Frame class copy constructor and assignment operator. 2004-06-16 17:06 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, util/conversion/Makefile.am, util/conversion/common/Makefile.am: Enable dependency tracking by removing the macro AUTOMAKE_OPTIONS = no-dependencies from Makefile.am 2004-06-16 09:25 tjdwave * doc/algorithm/: algorithm.htm, toc.htm: Corrected link in TOC. Put correct date in main page. 2004-06-08 17:18 timborer * NEWS: Updated release notes for version 0.3.1 2004-06-08 17:03 timborer * configure.ac, libdirac_common/golomb.cpp, libdirac_common/mv_codec.h, libdirac_motionest/block_match.cpp, util/conversion/BMPtoRGB.cpp, util/conversion/RGBtoBMP.cpp, util/conversion/RGBtoUYVY.cpp, util/conversion/RGBtoYUV411.cpp, util/conversion/RGBtoYUV420.cpp, util/conversion/RGBtoYUV422.cpp, util/conversion/RGBtoYUV444.cpp, util/conversion/UYVYtoRGB.cpp, util/conversion/YUV411toRGB.cpp, util/conversion/YUV420toRGB.cpp, util/conversion/YUV422toRGB.cpp, util/conversion/YUV444toRGB.cpp, util/conversion/common/bitmap.cpp, util/conversion/common/bitmap.h, util/conversion/common/setstdiomode.cpp, util/conversion/common/setstdiomode.h, win/Makefile: Files updated so that code compiles under Windows (previously broken under Windows). Colour matrix coefficients corrected in video conversion utilities Video conversion utilites now build with the rest of the code. 2004-06-03 14:07 stuart_hc * README.developers: Added Profiling & optimisation section. 2004-05-28 16:05 tjdwave * NEWS, TODO: Added information about picture format conversion utilities. Removed frame padding from the TODO list. 2004-05-28 15:58 tjdwave * README: Added text on how to use the conversion utilities to provide test material for Dirac. 2004-05-28 15:27 tjdwave * util/conversion/: BMPtoRGB.cpp, Makefile.am, RGBtoBMP.cpp, RGBtoUYVY.cpp, RGBtoYUV411.cpp, RGBtoYUV420.cpp, RGBtoYUV422.cpp, RGBtoYUV444.cpp, UYVYtoRGB.cpp, YUV411toRGB.cpp, YUV420toRGB.cpp, YUV422toRGB.cpp, YUV444toRGB.cpp: Initial commit of command-line tools for converting between uncompressed picture formats. All conversions use uncompressed RGB as an intermediate format. There is a known bug with the colour matrixing which applies a gain when going from YUV to RGB and back again. This will be fixed in a subsequent release. 2004-05-28 15:18 tjdwave * util/conversion/common/: bitmap.cpp, bitmap.h, setstdiomode.cpp, setstdiomode.h: Initial commit. Common tools for handling BMP headers and stdio handling for Windows. 2004-05-28 15:15 tjdwave * util/conversion/common/Makefile.am: Initial commit. Builds common library for use by all the conversion routines. 2004-05-28 15:14 tjdwave * util/conversion/Makefile.am: Initial commit. Builds file conversion utilities. 2004-05-28 15:12 tjdwave * util/Makefile.am: Added Makefile to build utility subdirectories. 2004-05-28 15:10 tjdwave * Makefile.am, configure.ac: Updated to add utilities directory. 2004-05-27 14:58 asuraparaju * configure.ac, doc/Makefile.am, doc/algorithm/Makefile.am, doc/api/Makefile.am, doc/programmers/Makefile.am: Corrected API and programmer doc build and installation. Added algorithm doc install (from CVS only - not distribution). 2004-05-27 13:21 stuart_hc * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and $Log: ChangeLog,v $ * README.developers: Prevent unintended expansion of $Id$ and Revision 1.23 2007/05/09 14:06:51 asuraparaju * README.developers: Prevent unintended expansion of $Id$ and *** empty log message *** * README.developers: Prevent unintended expansion of $Id$ and in description of keywords. 2004-05-27 13:14 stuart_hc * README.developers: Added section on the testsuite and on binary files. 2004-05-27 09:02 tjdwave * doc/programmers/: programmers_guide.dvi, programmers_guide.log: Removed LaTeX-generated .dvi and .log files from CVS control. 2004-05-27 09:00 tjdwave * doc/: algorithm/algorithm.htm, algorithm/var_size.htm, algorithm/wlt_transform.htm, programmers/programmers_guide.dvi, programmers/programmers_guide.log: Updated docs to take into account that Dirac does edge-padding, not padding with black, in order to avoid significant artefacts at low bit-rate. 2004-05-26 17:01 tjdwave * configure.ac, doc/Makefile.am, doc/faq.htm, doc/algorithm/algorithm.htm, doc/algorithm/block_data.htm, doc/algorithm/intra_pred.htm, doc/algorithm/intro.htm, doc/algorithm/mb_structs.htm, doc/algorithm/mot_est.htm, doc/algorithm/mot_est_and_comp.htm, doc/algorithm/mv_coding_arch.htm, doc/algorithm/mv_data_coding.htm, doc/algorithm/mv_data_pred.htm, doc/algorithm/mv_entropy_code.htm, doc/algorithm/olb_mc.htm, doc/algorithm/overall_arch.htm, doc/algorithm/parent_child.htm, doc/algorithm/quantisation.htm, doc/algorithm/rdo.htm, doc/algorithm/rdo_mot_est.htm, doc/algorithm/subband_rdo.htm, doc/algorithm/temporal_prediction_structures.htm, doc/algorithm/toc.htm, doc/algorithm/transform_coding.htm, doc/algorithm/transform_coding_arch.htm, doc/algorithm/var_size.htm, doc/algorithm/wlt_coeff_coding.htm, doc/algorithm/wlt_transform.htm, doc/algorithm/figs/DC.jpg, doc/algorithm/figs/DCSAD.jpg, doc/algorithm/figs/braces.jpg, doc/algorithm/figs/d.jpg, doc/algorithm/figs/eqA.jpg, doc/algorithm/figs/eqB.jpg, doc/algorithm/figs/eqC.jpg, doc/algorithm/figs/eqD.jpg, doc/algorithm/figs/eqE.jpg, doc/algorithm/figs/eqF.jpg, doc/algorithm/figs/eqG.jpg, doc/algorithm/figs/eqH.jpg, doc/algorithm/figs/eqI.jpg, doc/algorithm/figs/eqJ.jpg, doc/algorithm/figs/fig1.jpg, doc/algorithm/figs/fig10.jpg, doc/algorithm/figs/fig12.jpg, doc/algorithm/figs/fig13.jpg, doc/algorithm/figs/fig14.jpg, doc/algorithm/figs/fig15.jpg, doc/algorithm/figs/fig16.jpg, doc/algorithm/figs/fig17.jpg, doc/algorithm/figs/fig18.jpg, doc/algorithm/figs/fig19.jpg, doc/algorithm/figs/fig2.jpg, doc/algorithm/figs/fig20.jpg, doc/algorithm/figs/fig21.jpg, doc/algorithm/figs/fig22.jpg, doc/algorithm/figs/fig23.jpg, doc/algorithm/figs/fig24.jpg, doc/algorithm/figs/fig26.jpg, doc/algorithm/figs/fig27.jpg, doc/algorithm/figs/fig3.jpg, doc/algorithm/figs/fig4.jpg, doc/algorithm/figs/fig5.jpg, doc/algorithm/figs/fig6.jpg, doc/algorithm/figs/fig7.bmp, doc/algorithm/figs/fig7.jpg, doc/algorithm/figs/fig8.jpg, doc/algorithm/figs/fig9.jpg, doc/algorithm/figs/fp.jpg, doc/algorithm/figs/m.jpg, doc/algorithm/figs/nhood.jpg, doc/algorithm/figs/nhoodresidue.jpg, doc/algorithm/figs/p.jpg, doc/algorithm/figs/p2.jpg, doc/algorithm/figs/t.jpg, doc/algorithm/figs/two.jpg, doc/algorithm/figs/var.jpg, doc/algorithm/figs/vtilda.jpg, doc/algorithm/figs/vw.jpg, doc/api/Makefile.am, doc/api/dirac_api.doxygen, doc/api/dirac_api.doxygen.in, doc/api/dirac_api_foot.html, doc/api/dirac_api_head.html, doc/api/libdirac_encoder_api.doxygen, doc/api/libdirac_encoder_api_foot.html, doc/api/libdirac_encoder_api_head.html, doc/programmers/Makefile.am, doc/programmers/programmers_guide.aux, doc/programmers/programmers_guide.dvi, doc/programmers/programmers_guide.log, doc/programmers/programmers_guide.tex: Added algorithm documentation and FAQ. Changed name of Scott Ladd's programmers guide to programmers_guide.tex from dirac_algor.tex to clarify purpose. Created individual subdirectories for algorithm, api and programmers guide docs. Modified make files and configure.ac appropriately. 2004-05-26 16:44 tjdwave * doc/: dirac_algor.tex, dirac_api.doxygen, dirac_api.doxygen.in, dirac_api_foot.html, dirac_api_head.html, libdirac_encoder_api.doxygen, libdirac_encoder_api_foot.html, libdirac_encoder_api_head.html: Removed old documentation structure. New doc structure to be put in place. 2004-05-26 16:18 tjdwave * libdirac_decoder/seq_decompress.cpp: Corrected behaviour at end of stream, so that decoder freezes on the last frame. 2004-05-26 15:33 tjdwave * libdirac_encoder/comp_compress.cpp, libdirac_common/band_codec.cpp, libdirac_decoder/comp_decompress.cpp: Updated default DC prediction value to take into account the removal of scaling from the wavelet transform. 2004-05-26 15:31 tjdwave * libdirac_common/wavelet_utils.h: Added doxygen comments to describe how perceptual weighting now incorporates scaling factors from the scaling. 2004-05-25 16:30 tjdwave * libdirac_common/wavelet_utils.cpp: Removed scaling from the wavelet transform. Scaling is now incorporated into perceptual weighting; the wavelet transform is now exactly invertible. 2004-05-25 10:49 tjdwave * libdirac_common/pic_io.cpp: Fixed bug where coder segfaulted on reading. 2004-05-25 03:39 chaoticcoyote * ChangeLog, libdirac_common/frame.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_encoder/seq_compress.h, libdirac_motionest/me_utils.cpp: Unnecessary qualification of some class members in frame.h and pic_io.h. ISO C++ forbids variable-size automatic arrays; fixed in pic_io.cpp Removed spurious semi-colons in me_utils.cpp Fixed out-of-order member constructors in seq_compress.h 2004-05-24 17:03 tjdwave * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h, seq_decompress.cpp: Support for IO error handling. Decoder freezes on last frame if out of data. 2004-05-24 16:57 tjdwave * picheader/headmain.cpp, encoder/encmain.cpp, decoder/decmain.cpp: Changed CLI names and functions to house style. 2004-05-24 16:55 tjdwave * libdirac_common/: cmd_line.cpp, cmd_line.h: Modified class name to fit house style: ClassName, not class_name. 2004-05-24 16:53 tjdwave * libdirac_common/: pic_io.cpp, pic_io.h: Added error handling: IO functions now return boolean values. 2004-05-24 16:52 tjdwave * tests/colourbars.at: Fixed test so that header file has correct zlength=1. 2004-05-24 16:51 tjdwave * Makefile.am: Switched order so that docs are builts last. 2004-05-24 13:38 tjdwave * libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h: Replaced spagetti code for linear interpolation in motion compensation and motion estimation routines with simple loops. Code is much clearer, although possibly slightly slower. 2004-05-21 18:46 asuraparaju * Makefile.am, configure.ac, tests/Makefile.am, tests/colourbars.at, tests/colourbars_420.yuv, tests/testsuite.at: Initial support for autotest testsuite (run "make check"). 2004-05-21 17:27 stuart_hc * README.developers: Initial revision of software practice guidelines for CVS developers. 2004-05-21 15:17 tjdwave * libdirac_common/mot_comp.cpp: Fixed bug with erroneous linear interpolation for sub-pixel values. 2004-05-20 13:44 tjdwave * README: Minor edit of example of making a header, to reflect the new CLI. 2004-05-20 13:39 tjdwave * picheader/headmain.cpp: Fixed help message for CLI. 2004-05-20 13:38 tjdwave * decoder/decmain.cpp: Fixed minor bug with -verbose option to make it true boolean. 2004-05-20 13:37 tjdwave * encoder/encmain.cpp: Corrected help text for CLI. 2004-05-20 11:50 stuart_hc * doc/dirac_api.doxygen, doc/dirac_api_foot.html, doc/dirac_api_head.html, doc/libdirac_encoder_api_foot.html, doc/libdirac_encoder_api_head.html, libdirac_common/band_codec.cpp: Corrected CRLF line-endings to LF for consistency. 2004-05-20 11:35 stuart_hc * NEWS: Added mention of libtool removal, slight rearrangement for clarity. Corrected CRLF line-endings to LF. 2004-05-20 11:31 stuart_hc * README: Fixed incorrect interlace argument in DV transcode example. Minor grammatical errors fixed. 2004-05-19 23:08 chaoticcoyote * README: Updated for changes in command-line parser 2004-05-19 23:00 chaoticcoyote * AUTHORS: Added my middle name to credits Corrected company name 2004-05-19 18:39 chaoticcoyote * decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, picheader/headmain.cpp: Modified command line parser to correctly handle boolean options 2004-05-19 17:27 stuart_hc * README: Added example usage for MPlayer, display (ImageMagick), and transcode. Reformatted all example commands to be indented for clarity. 2004-05-19 16:51 tjdwave * NEWS: More details for 0.3.0 release 2004-05-19 15:29 tjdwave * NEWS: Include release notes for 0.2.0 & 0.3.0 2004-05-19 15:19 tjdwave * TODO: Removed mention of frame buffer class, since now complete. 2004-05-19 15:14 tjdwave * AUTHORS: Added contributers. 2004-05-19 15:04 tjdwave * libdirac_common/pic_io.cpp: Changed YUV output to output lines instead of bytes, according to patch provided by Malcolm Parsons 2004-05-19 10:16 tjdwave * libdirac_common/: mot_comp.cpp, pic_io.cpp: Replaced zero-padding with edge-padding to eliminate colour-fringeing at low bitrates. Mod to set padded values to 0 when compensating frames. 2004-05-18 08:46 tjdwave * README, encoder/encmain.cpp, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/pic_io.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/seq_compress.cpp: Added support for I-frame only coding by setting num_L1 equal 0; num_L1 negative gives a single initial I-frame ('infinitely' many L1 frames). Revised quantiser selection to cope with rounding error noise. 2004-05-14 18:27 stuart_hc * decoder/decmain.cpp: Added better error checking. 2004-05-14 18:25 stuart_hc * libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, picheader/headmain.cpp: Replaced binary header files with ASCII text format to achieve cross-platform interoperability. Rearranged PicOutput constructor to permit code reuse from picheader/headmain.cpp 2004-05-14 18:20 stuart_hc * decoder/Makefile.am, encoder/Makefile.am, picheader/Makefile.am: Use LDADD to ensure files which depend on libraries are rebuilt when necessary. 2004-05-14 15:21 tjdwave * README: Build information now incorporated. 2004-05-14 11:48 stuart_hc * bootstrap: Avoid errors when mixing versions of autotools. 2004-05-14 11:47 stuart_hc * make_debug.sh: Rearranged to use "make" to be more maintainable. 2004-05-12 17:04 tjdwave * decoder/decmain.cpp, picheader/headmain.cpp, libdirac_encoder/seq_compress.cpp: Done general code tidy, implementing copy constructors, assignment= and const correctness for most classes. Replaced Gop class by FrameBuffer class throughout. Added support for frame padding so that arbitrary block sizes and frame dimensions can be supported. 2004-05-12 17:03 tjdwave * encoder/encmain.cpp: Done general code tidy, implementing copy constructors, assignment= and const correctness for most classes. Replaced Gop class by FrameBuffer class throughout. Added support for frame padding so that arbitrary block sizes and frame dimensions can be supported. 2004-05-12 10:23 tjdwave * reconf: Removed since it duplicated the job of ./bootstrap. 2004-05-12 10:20 tjdwave * dirac_build_howto.txt: All build instructions are now in the README file. Information on creating a distribution removed since it is not indended for the target audience. 2004-05-12 09:46 tjdwave * win/xparam/README: XParam library is no longer needed to build Dirac. 2004-05-12 09:35 tjdwave * libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h: Done general code tidy, implementing copy constructors, assignment= and const correctness for most classes. Replaced Gop class by FrameBuffer class throughout. Added support for frame padding so that arbitrary block sizes and frame dimensions can be supported. 2004-05-12 09:21 stuart_hc * libdirac_common/: gop.cpp, gop.h, Makefile.am: FrameBuffer classes (frame_buffer.{cpp,h}) now replace Gop classes (gop.{cpp,h}). 2004-05-12 09:14 tjdwave * libdirac_common/: frame_buffer.cpp, frame_buffer.h: Initial commit of FrameBuffer classes to handle free-style temporal reference structures. Replaces Gop class (gop.{cpp,h}). 2004-05-11 17:11 stuart_hc * Makefile.am, bootstrap, configure.ac, decoder/Makefile.am, doc/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, picheader/Makefile.am: Removed use of libtool - all libraries and binaries are now static for ease of development & debugging. Added tests for documentation tools and added documentation to default make target 'all'. 2004-05-11 15:17 tjdwave * Makefile.am, README, configure.ac, dirac_build_howto.txt, decoder/Makefile.am, decoder/decmain.cpp, encoder/Makefile.am, encoder/encmain.cpp, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_encoder/seq_compress.cpp, picheader/Makefile.am, picheader/headmain.cpp, win/Makefile, win/README, win/xparam/README: Removed dependency on XParam CLI library for both encoder and decoder. 2004-05-11 15:15 tjdwave * doc/dirac_algor.tex: Removed inline comments and notes. Added text describing frame types (I, L1 and L2) and relation to MPEG types. 2004-05-10 05:44 chaoticcoyote * doc/dirac_algor.tex: Newest version of "programmer's guide" 2004-05-10 05:43 chaoticcoyote * libdirac_common/: cmd_line.cpp, cmd_line.h: Simple, portable command-line parser (eliminates Xparam dependency) 2004-05-10 05:41 chaoticcoyote * doc/dirac_algor.tex, encoder/encmain.cpp, libdirac_common/Makefile.am: Updated dirac algorithm document Modified encoder to use simple, portable command-line parser 2004-05-10 02:04 chaoticcoyote * encoder/decmain.cpp: Removed spurious file 2004-04-25 23:27 chaoticcoyote * win/: README, xparam/README: Read Me files to explain the context of this directory and Makefile 2004-04-25 23:16 chaoticcoyote * win/Makefile: Added nmake makefile for Microsoft Visual C++ 2004-04-22 23:14 chaoticcoyote * make_debug.sh: Enhanced the debug build script to support different architectures 2004-04-22 22:11 chaoticcoyote * misc/xparam-1.22-gcc-3.4.0.patch: A patch for xparam 1.22 to work around a GCC 3.4.0 internal compiler error 2004-04-22 22:08 chaoticcoyote * make_debug.sh, libdirac_encoder/comp_compress.cpp: Fixed warning generated by some versions of GCC for libdirac_encoder/comp_compress.cpp Added make_debug.sh script to build debuggable, profilable versions of encoder and decoder 2004-04-16 04:12 chaoticcoyote * doc/Makefile.in: Removed spurious file 2004-04-16 04:11 chaoticcoyote * doc/: Makefile.in, dirac_api.doxygen.in: Added additional documentation build files 2004-04-16 04:10 chaoticcoyote * Makefile.am, doc/Makefile.am, doc/dirac_api.doxygen: Addiitonal work on generating docs for distribution 2004-04-16 02:41 chaoticcoyote * doc/: dirac_algor.tex, dirac_algorithm2.tex: Renamed algorithm document 2004-04-16 02:28 chaoticcoyote * Makefile.am, doc/Makefile.am: Added documentation targets to makefiles 2004-04-15 14:59 chaoticcoyote * configure.ac: Added doc/Makefile 2004-04-15 14:57 chaoticcoyote * doc/Makefile.am: Added makefile boilerplate to generate docusment via "docs" target 2004-04-15 14:54 chaoticcoyote * configure.ac: Added program checks for Doxygen and LaTeX 2004-04-15 13:31 chaoticcoyote * configure.ac: Updated to version 0.2.0 2004-04-15 13:30 chaoticcoyote * doc/dirac_algorithm2.tex: Dirac algorithm document added 2004-04-12 02:57 chaoticcoyote * Makefile.am, decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/pic_io.cpp: Fixed problem Intel C++ had in finding xparam headers on Linux Solved Segmentation Fault bug in pic_io.cpp 2004-04-11 23:54 chaoticcoyote * libdirac_common/: arith_codec.h, bit_manager.h, context.h: Additional comments 2004-04-11 23:50 chaoticcoyote * libdirac_common/arrays.h, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/golomb.cpp, libdirac_common/gop.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/pic_io.cpp, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/seq_compress.cpp, libdirac_motionest/block_match.cpp, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/motion_estimate.cpp: Modifications to allow compilation by Visual C++ 6.0 Changed local for loop declarations into function-wide definitions Replaced variable array declarations with new/delete of dynamic array Added second argument to allocator::alloc calls, since MS has no default Fixed missing and namespace problems with min, max, cos, and abs Added typedef unsigned int uint (MS does not have this) Added a few missing std:: qualifiers that GCC didn't require 2004-04-11 17:25 chaoticcoyote * windows/dirac/: dirac.dsw, libdirac_common/libdirac_common.dsp, libdirac_decoder/libdirac_decoder.dsp, libdirac_encoder/libdirac_encoder.dsp, libdirac_motionest/libdirac_motionest.dsp: Added initial Windows Visual Studio C++ 6.0 project files 2004-04-06 19:06 chaoticcoyote * libdirac_common/: arith_codec.h, arrays.h, band_codec.h, bit_manager.h, common.h, context.h, frame.h, gop.h, mot_comp.h, motion.h, mv_codec.h, pic_io.h, upconvert.h, wavelet_utils.h: Boilerplate for Doxygen comments; testing ability to commit into SF CVS 2004-04-05 04:05 chaoticcoyote * libdirac_motionest/: downconvert.h, me_mode_decn.h, me_subpel.h, me_utils.h, motion_estimate.h: Updated Doxygen API documentation comments Test to see if Scott's CVS is now working correctly 2004-03-30 16:52 chaoticcoyote * doc/dirac_api.doxygen, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.h: New Doxygen comments 2004-03-29 02:52 chaoticcoyote * libdirac_decoder/: comp_decompress.h, frame_decompress.h, seq_decompress.h: Added Doxygen comments 2004-03-22 01:33 chaoticcoyote * doc/dirac_doc_howto.txt: Added more description of HTML and LATEX document generation 2004-03-22 01:04 chaoticcoyote * libdirac_encoder/: comp_compress.cpp, comp_compress.h, frame_compress.h, seq_compress.cpp, seq_compress.h: Added API documentation to encoder library Moved large constructors so they are no longer inlined 2004-03-21 21:01 chaoticcoyote * doc/: libdirac_encoder_api_foot.html, libdirac_encoder_api_head.html: Adding custome header and footer for HTML libdirac_encoder docs 2004-03-21 21:00 chaoticcoyote * doc/: libdirac_encoder_api.doxygen, libdirac_encoder_foot.html, libdirac_encoder_head.html: Adjusting file names 2004-03-21 20:51 chaoticcoyote * doc/: libdirac_encoder_api.doxygen, libdirac_encoder_foot.html, libdirac_encoder_head.html: Added files to generate socumentation specific to libdirac_encoder 2004-03-21 19:26 chaoticcoyote * doc/dirac_api.doxygen: Change graphic configuration 2004-03-21 14:05 chaoticcoyote * dirac_build_howto.txt, doc/dirac_api.doxygen, doc/dirac_api_foot.html, doc/dirac_api_head.html, doc/dirac_doc_howto.txt: Updated documentation files 2004-03-21 13:06 chaoticcoyote * ltmain.sh, reconf: Updated autoconf to use libtoolize Removed spurious ltmain.sh 2004-03-19 07:43 chaoticcoyote * doc/dirac_algorithm.doc: Removed Word doc because the conversion didn't work 2004-03-19 07:35 chaoticcoyote * doc/: dirac_algorithm.doc, dirac_api.doxygen: Created document diractory Populated doc directory with preliminary texts 2004-03-13 17:34 chaoticcoyote * decoder/Makefile.am, encoder/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am: Disabled auto-dependency checking in newer versions of AutoMake 2004-03-13 17:11 chaoticcoyote * ltmain.sh, reconf, libdirac_common/Makefile.am: Required files for for autoconf 2004-03-12 17:09 chaoticcoyote * NEWS: Minor change to test commit ability 2004-03-11 17:45 timborer * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, TODO, bootstrap, configure.ac, dirac.pc.in, decoder/Makefile.am, decoder/decmain.cpp, encoder/Makefile.am, encoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/gop.cpp, libdirac_common/gop.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/Makefile.am, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/Makefile.am, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, picheader/Makefile.am, picheader/headmain.cpp: Initial import (well nearly!) 2004-03-11 17:45 timborer * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, TODO, bootstrap, configure.ac, dirac.pc.in, decoder/Makefile.am, decoder/decmain.cpp, encoder/Makefile.am, encoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/gop.cpp, libdirac_common/gop.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/Makefile.am, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/Makefile.am, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, picheader/Makefile.am, picheader/headmain.cpp: Initial revision 2006-11-13 09:41 tjdwave * libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/quant_chooser.cpp: Changed quantiser offsets to be different for Intra and Inter frames, as per the latest draft of the spec. Having an offset of 0.5*quantiser for intra frames improves performance at high rate, especially iterated coding with Dirac Pro apps. 2006-11-09 12:11 tjdwave * doc/latex_spec/: arith-encoder.tex, arith.tex, layout-fullsize.tex, low-delay.tex, mc.tex, motion-dec.tex, profilelevel.tex, spec-conventions.tex, spec-structure.tex, wlt-dec.tex: Added more text on the low-delay syntax and decoded picture buffer model. Clarified arithmetic decoding process and conventions. 2006-11-09 11:30 tjdwave * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame_buffer.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_encoder/quant_chooser.cpp, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: Overall improvements to encoding framework to improve quality for difficult pictures and at low bit rates. Changes to the RDO parameters are experimental and they may change again. - Added test for whether a frame is a B frame or not - Identified Layer 1 frames with P frames and Layer 2 with B frames, rather than with Inter Ref and Inter Non-ref respectively. This is more efficient with the new GOP structure - Modified RDO framework to provide correction where there has been ME failure i.e. lots of Intra blocks - Slightly increased ME search areas - Corrected the frame type parameter for the final B frame in a sequence - Changed confusing terminology for costs/errors in quantisation factor selection - Added overall PSNR stats for a sequence for performance comparisons 2006-10-30 15:17 tjdwave * doc/latex_spec/: arith.tex, dataenc.tex, motion-dec.tex, wlt-dec.tex: Fixed bug in specification of inverse quantisation. Changed default arithmetic decoding padding value to 1 from 0, so after reading in LENGTH bytes, a value of 1 is used from that point. This should support early termination i.e. encode only the first few values in a subband and then the decoder will correctly decode the remainder as 0, but this is as yet untested. 2006-10-30 14:57 tjdwave * libdirac_common/arith_codec.cpp: Fixed bug so that the decoder can now append any data to the end of the arithmetically encoded block and still decode correctly. Default padding data is all 1s - this should make a null or terminated subband decode with zeroes. 2006-10-30 13:42 tjdwave * libdirac_common/band_codec.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_decoder/comp_decompress.cpp: Fixed definitions of mean/median so that unbiased mean values are used. Likewise changed the prediction for DC values to take account of the fact that they may be negative. These changes change the bitstream. 2006-10-30 13:38 tjdwave * doc/latex_spec/: motion-dec.tex, spec-conventions.tex, wlt-dec.tex: Changed specification of division so that it agrees with C/C++ standards. Traced through these changes to specification of split mode, block dc value and intra dc band prediction. 2006-10-26 16:22 tjdwave * libdirac_encoder/dirac_encoder.cpp: Moved to using cout instead of cerr for reporting. 2006-10-26 16:07 tjdwave * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_encoder/seq_compress.cpp: Made operation of retired picture list comply with specification: only reference pictures are signalled to be retired and non-reference pictures are retired by the decoder once they are displayed. Clarified frame type parameters so as to be sure they always agree. This will need further refactoring. Reference frames are now cleaned from the buffer _after_ being the current frame has been decoded, as per the spec. This allows slightly more flexible GOP structures. 2006-10-25 14:01 tjdwave * libdirac_common/common.cpp: Fixed bug with wrong quantiser offset being used: now complies with spec again. 2006-10-24 09:09 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, dirac-overview.tex, layout-fullsize.tex, picture-dec.tex, profilelevel.tex, spec-conventions.tex, spec-structure.tex, state-macros.tex, vidsys-sigrange.tex, vidsys.tex: First stab at including the low-delay syntax used for Dirac Pro profiles, together with profile and level text. Work in progress! 2006-10-19 16:01 tjdwave * doc/latex_spec/picture-dec.tex: Changed order of reference buffer management so that a reference picture is not removed until after the current picture has been decoded, 2006-10-19 14:53 tjdwave * libdirac_common/band_codec.cpp: Put in Dave Schleef's patch for making the computation of parent coefficient coordinates correct and spec compliant. 2006-10-10 15:04 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/dirac_types.h, libdirac_encoder/dirac_encoder.cpp: Fixed bug with aspect ratio being set to 0/0. Now it should be set to the correct value from the video format defaults. 2006-10-09 16:24 tjdwave * libdirac_common/wavelet_utils_mmx.cpp: Renamed functions with consistent filter names. 2006-10-05 16:22 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common_types.h, libdirac_common/video_format_defaults.cpp, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h: Given wavelet filters correct names and numbers as per spec. Added support for HAAR1 and HAAR2 filters. FIDELITY filter will be forthcoming. 2006-09-28 18:20 davidf_ * doc/: browser_compatibility.html, licences.html, licenses.html, template.html, template2.html, todo.html: fix license spelling mistake correction typos/misses/references 2006-09-28 18:13 davidf_ * doc/: contact.html, documentation.html, faq.html, getting_involved.html, index.html, overview.html, soc2006.html, soc2006_ideas.html, specification.html, styles.css, todo.html, documentation/publications/diracoverview-ibc2006.pdf: merge shas' website fixes added ibc2006 publication 2006-09-28 14:59 tjdwave * libdirac_common/: common.cpp, mot_comp.cpp: Fixed the block parameter testing so as to be compliant with the specification. Non-overlapped blocks are now allowed and supported. The raised cosine macro has now been removed and only linear weights are supported. 2006-09-28 10:17 tjdwave * doc/latex_spec/low-delay.tex: Added file to cover low delay syntax. 2006-09-28 10:08 tjdwave * doc/latex_spec/: abstract.tex, arith-contexts.tex, arith-datainput.tex, arith-decoder-ba.tex, arith-decoder-impl.tex, arith-decoder-sint.tex, arith-decoder-sua.tex, arith-decoder-tua.tex, arith-decoder-uua.tex, arith-decoder.tex, arith-encoder.tex, arith-engine.tex, arith-init.tex, arith-intro.tex, arith-update.tex, arith.tex, begin-bs.tex, begin-compmethods.tex, begin-dwt-fwd.tex, begin-dwt-parentchild.tex, begin-dwt.tex, begin-ec-dwt.tex, begin-ec-mc.tex, begin-ec.tex, begin-mc-accuracy.tex, begin-mc-blocks.tex, begin-mc-global.tex, begin-mc-intra.tex, begin-mc.tex, begin-more.tex, begin-pictypes.tex, begin-videocoding.tex, bs-intro.tex, bs-semantics.tex, bs-spec.tex, bs-syntax.tex, conv-bs-bytealign.tex, conv-bs-defaults.tex, conv-bs-reading.tex, conv-intro.tex, conv-parse-diagnums.tex, conv-parse-diagrams.tex, conv-pseudocode-syntax.tex, conv-pseudocode.tex, dataenc-bool.tex, dataenc-input.tex, dataenc-intro.tex, dataenc-nbitlit.tex, dataenc-nbytelit.tex, dataenc-vlc-segol.tex, dataenc-vlc-su.tex, dataenc-vlc-uegol.tex, dataenc-vlc-ut.tex, dataenc-vlc-uu.tex, dataenc-vlc.tex, dirac-concepts.tex, dirac-overview.tex, gendec.tex, idwt-1dsynthesis.tex, idwt-filters.tex, idwt-interleaving.tex, idwt-intro.tex, idwt-lifting.tex, idwt-padremoval.tex, idwt-synthesis.tex, idwt-vhsynthesis.tex, idwt.tex, intro-docstruct.tex, intro-purpose.tex, intro-scope.tex, layout-fullsize.tex, logicalstruct-accessunit.tex, logicalstruct-arithcoding.tex, logicalstruct-blocks.tex, logicalstruct-coordinates.tex, logicalstruct-dwt.tex, logicalstruct-frameordering.tex, logicalstruct-frames.tex, logicalstruct-globalmc.tex, logicalstruct-intro.tex, logicalstruct-localmc.tex, logicalstruct-parseunit.tex, logicalstruct-sequence.tex, logicalstruct-subbands.tex, logicalstruct-superblocks.tex, logicalstructs.tex, mc-alg.tex, mc-blockcoverage.tex, mc-chomascaling.tex, mc-impl.tex, mc-intro.tex, mc-obmc-matrix.tex, mc-precision.tex, mc-pred.tex, mc-upconvert.tex, motion-dec.tex, parsediagrams.tex, prep-idwt-codeblk-dim.tex, prep-idwt-codeblk-process.tex, prep-idwt-coef-process.tex, prep-idwt-conventions.tex, prep-idwt-ctxt-init.tex, prep-idwt-ctxt-magnitude.tex, prep-idwt-ctxt-quantindex.tex, prep-idwt-ctxt-sign.tex, prep-idwt-ctxt-skip.tex, prep-idwt-pred-dc.tex, prep-idwt-process.tex, prep-idwt.tex, prep-mc-ctxt-init.tex, prep-mc-decode-blkmotion.tex, prep-mc-decode-dc.tex, prep-mc-decode-mv.tex, prep-mc-decode-predictionmode.tex, prep-mc-decoding.tex, prep-mc-mbdata.tex, prep-mc-predapeature.tex, prep-mc-predictionmodes.tex, prep-mc-predmbcommon.tex, prep-mc-predmbglobal.tex, prep-mc-predmbsplit.tex, ref-default-videoparams.tex, ref-quantization-lut.tex, semantics-auh.tex, semantics-dwt.tex, semantics-intro.tex, semantics-mv.tex, semantics.tex, spec-conventions.tex, spec-structure.tex, state-macros.tex, wlt-dec.tex: Removing a whole load of cruft files. Bug fixes. 2006-09-12 12:18 tjdwave * doc/latex_spec/state-macros.tex: [no log message] 2006-09-12 10:00 tjdwave * doc/latex_spec/ref-default-videoparams.tex: Completed tables - added various decoding presets too. 2006-09-12 09:59 tjdwave * doc/latex_spec/sourcepresets.tex: This contains the presets for the source parameters. This needs to be merged with the video systems model section. 2006-09-12 09:58 tjdwave * doc/latex_spec/vidsys.tex: Slightly revised - to be merged with source parameters presets. 2006-09-12 09:56 tjdwave * doc/latex_spec/: idwt.tex, mc.tex, picture-dec.tex: Finished first draft of overall picture decoding process. Added stuff on global motion compensation (_probably_ works now). 2006-09-12 09:54 tjdwave * doc/latex_spec/: bs-spec.tex, motion-dec.tex, wlt-dec.tex: Created unified chapter files for parsing elements. Completed overall stream syntax chapter. 2006-09-12 09:52 tjdwave * doc/latex_spec/: arith.tex, dataenc.tex: Unified data access files into chapter files. 2006-09-12 09:51 tjdwave * doc/latex_spec/: dirac-concepts.tex, parsing.tex: Restructured part structure files. 2006-09-12 09:48 tjdwave * doc/latex_spec/spec-conventions.tex: Updated/added material on the way the pseudocode works and the mathematical notation. This section still needs work and reordering. 2006-09-12 09:45 tjdwave * doc/latex_spec/intro.tex: Revised and unified the general introduction. 2006-09-12 09:44 tjdwave * doc/latex_spec/spec-structure.tex: Revised overall document structure. 2006-09-12 09:42 tjdwave * doc/latex_spec/parsediagrams.tex: Added parse diagrams as an appendix. 2006-08-24 10:32 tjdwave * doc/latex_spec/: decoding-ops.tex, idwt.tex, state-macros.tex: Updated inverse wavelet transform section. Introduced Haar variants and added a fidelity filter. 2006-08-21 13:33 tjdwave * doc/latex_spec/: arith.tex, bs-spec.tex, dataenc.tex, decoding-ops.tex, layout-fullsize.tex, mc.tex, motion-dec.tex, parsing.tex, spec-structure.tex, state-macros.tex, wlt-dec.tex: Done motion data decoding and motion compensation. Amalgamated file contents to simplify structure. 2006-08-11 15:51 tjdwave * libdirac_common/: golomb.cpp, golomb.h: Functionality is now provided in the Byte IO library. ---------------------------------------------------------------------- 2006-07-28 14:33 tjdwave * libdirac_common/common.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_encoder/dirac_encoder.cpp, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h: Removed the Macroblock "Common" mode. This means that each prediction unit within a macroblock will have to code a mode. Motion data coding has also been changed so that instead of coding all the prediction modes first and then all the motion data, prediction modes are included in the motion data as per the spec. An updated version of the latex spec in which the Common mode is omitted is in preparation and will be committed in the next couple of weeks. 2006-07-19 12:29 tjdwave * doc/latex_spec/prep-idwt-process.tex: Added initialisation of the coefficient_reset variable. 2006-07-19 12:19 tjdwave * doc/latex_spec/: arith-contexts.tex, arith-decoder-sint.tex, dataenc-vlc-segol.tex, decoding-ops.tex, intro-docstruct.tex, parsing.tex, prep-idwt-coef-process.tex, state-macros.tex, figs/block-coverage.eps, figs/obmc-profile.eps: Mods to interface with arithmetic coding changes. 2006-07-19 11:48 tjdwave * doc/latex_spec/: arith-contexts.tex, arith-datainput.tex, arith-decoder-sint.tex, arith-decoder.tex, arith-engine.tex, arith-init.tex, arith-intro.tex, arith-update.tex, arith.tex: Refactored to take account of exp-Golomb binarisation and the use of global context indices being passed to arithmetic decoding operations. 2006-07-18 11:36 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h: Changed nhood sum calculation so that it only takes account of whether the neighbour is zero or not. 2006-07-07 15:07 tjdwave * encoder/encmain.cpp: Fixed bug with framerate denominator being incorrectly set if omitted. 2006-07-07 12:14 tjdwave * doc/latex_spec/: intro-docstruct.tex, mc-intro.tex, mc-upconvert.tex, mc.tex: Debugging commit. 2006-07-07 12:07 tjdwave * doc/latex_spec/: arith-contexts.tex, arith.tex, bs-spec.tex, bs-syntax.tex, decoding-ops.tex, idwt.tex, prep-idwt-coef-process.tex, prep-idwt-conventions.tex, prep-idwt-ctxt-quantindex.tex, prep-idwt-process.tex, prep-idwt.tex, spec-structure.tex, state-macros.tex, wlt-dec.tex, figs/block-coverage.eps, figs/block-offset.eps, figs/block.eps, figs/dwt.eps, figs/frame-ordering.eps, figs/obmc-profile.eps, figs/sequence.eps, figs/superblock-16pu.eps, figs/superblock-1pu.eps, figs/superblock-4pu.eps: Updated and refactored data access and coefficient decoding sections. Spec should be up to date and accurate for coefficient decoding, but fine-tuning and checking is required. Diagrams also needed. Major change is in the way arithmetic decoding operations are called. Just specify sets of contexts to be used for follow bits, data bits and the sign by passing indices into the state variable, which maintains the contexts. This simplifies the code in the stream syntax, avoiding local copies etc. Explanation will be required for the context indices. The arithmetic decoding section needs updating to reflect this change and use of interleaved exp- Golomb coding. 2006-07-07 08:56 tjdwave * doc/latex_spec/layout-fullsize.tex: Added temporary environment pseudo* for documenting _part_ of a function's pseudocode (no function header). Fixed bug where \bsRET reduces indent by 1 - this broke indentation when there were a number of returns in a function. 2006-07-06 12:29 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h: Changed coding of codeblock quantiser indices to be differential codeblock to codeblock, as per Tim's stream syntax, rather than differential with respect to the subband quantiser index. N.B. this now does not agree with version 0.9. 2006-07-03 14:57 tjdwave * doc/latex_spec/: arith-contexts.tex, arith-datainput.tex, arith-decoder-ba.tex, arith-decoder-sint.tex, arith-intro.tex: Initial update to take account of exp-Golomb binarisation. 2006-07-03 14:00 tjdwave * doc/latex_spec/arith-decoder-sint.tex: Adding to update to exp-Golomb binarisation. 2006-07-03 13:15 tjdwave * doc/latex_spec/: dataenc-bool.tex, dataenc-input.tex, dataenc-intro.tex, dataenc-nbitlit.tex, dataenc-nbytelit.tex, dataenc-vlc-segol.tex, dataenc-vlc-su.tex, dataenc-vlc-uegol.tex, dataenc-vlc-ut.tex, dataenc-vlc.tex, dataenc.tex: Brought up-to-date to do interleaved exp-Golomb coding. Included a section on bit-packing and reading conventions. To Do: Need to align with arithmetic decoding section. 2006-07-03 10:08 tjdwave * doc/latex_spec/: layout-fullsize.tex, state-macros.tex: Adding shortcuts for decoder state values/variables. This means we can change format, or introduce new paramater classes by (mostly) modding modding only state-macros.tex. 2006-06-29 15:11 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils.h, common.cpp: Defined new Wavelet Filter class VHFilterHaar to include HAAR filter support in Dirac. 2006-06-27 18:26 asuraparaju * README: Include explanation for new encoder command line variables iwlt_filter and rwlt_filter. 2006-06-27 18:17 asuraparaju * doc/documentation/code/programmers_guide/encoder_data_structs.htm: Reflect changes to dirac_encparams_t struct to which two fields have been added. These fields specify the wavelet filters to use for intra frames and inter frames. 2006-06-26 17:44 asuraparaju * encoder/encmain.cpp: [Spec Compliance] Include command line arguments to process non-default transform filters for intra and inter frames. 2006-06-26 17:43 asuraparaju * unit_tests/motion_comp_test.cpp: Ensure that the number of reference frames is specified when creating a CodecParams object. 2006-06-26 17:43 asuraparaju * libdirac_encoder/: dirac_encoder.cpp, dirac_encoder.h, frame_compress.cpp: [Spec Compliance] Use transform filters supplied in the command line arguments to encoder utility to set the transform filter in CodecParams while encoding based on frame type. Set up the default frame weight and precision parameters correctly based on frame type and number of references. 2006-06-26 17:40 asuraparaju * libdirac_common/: video_format_defaults.cpp, video_format_defaults.h: [Spec Compliance] Added functions to return the default transform filter based on frame type. The default frame weight and frame precision parametes are correctly set based on the frame type and number of references. 2006-06-26 17:39 asuraparaju * libdirac_common/: common.cpp, common.h: [Spec Compliance] Handle non-default frame weights. Include member variables in EncoderParams to store the transform filters for inter frame and intra frames supplied so that they can be used while encoding. 2006-06-26 17:38 asuraparaju * libdirac_byteio/mvdata_byteio.cpp, libdirac_byteio/transform_byteio.cpp, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h: [Spec Compliance] Handle non-default frame weights. 2006-06-23 15:17 tjdwave * doc/latex_spec/layout-fullsize.tex: Created unified style for syntax and semantics called pseudo. No longer uses typewriter font - Roman instead. 2006-06-23 10:41 tjdwave * doc/latex_spec/: arith-intro.tex, arith.tex, bs-spec.tex, dataenc-intro.tex, dataenc.tex, decoding-ops.tex, dirac-concepts.tex, dirac-overview.tex, idwt-intro.tex, idwt.tex, logicalstructs.tex, mc-intro.tex, mc.tex, motion-dec.tex, parsing.tex, picture-dec.tex, semantics.tex, spec-conventions.tex, spec-structure.tex, stream-access.tex, wlt-dec.tex: Reorganised so that file input is hierarchical, to make simultaneous working easier. 2006-06-23 08:48 tjdwave * doc/latex_spec/: bs-syntax.tex, layout-fullsize.tex: Moved streamsyntax environment definition into layout-fullsize.tex so that it's available to all input files. 2006-06-22 12:42 asuraparaju * doc/specification.html: Included links to latest Stream Syntax Document and Specification Document. 2006-06-22 10:13 tjdwave * doc/latex_spec/: intro-docstruct.tex, spec-structure.tex: Tentative revision of the specification structure. A rationale is contained in intro-docstruct.tex. 2006-06-22 09:02 tjdwave * doc/latex_spec/figs/: block-coverage.eps, block-coverage.fig, block.eps, block.fig, Makefile, block-offset.eps, block-offset.fig, dwt.eps, dwt.fig, frame-ordering.eps, frame-ordering.fig, obmc-profile.eps, obmc-profile.fig, sequence.eps, sequence.fig, stream.fig, superblock-16pu.eps, superblock-16pu.fig, superblock-1pu.eps, superblock-1pu.fig, superblock-4pu.eps, superblock-4pu.fig, wavelet-transform-process.fig: Adding in diagrams. 2006-06-22 08:57 tjdwave * doc/latex_spec/tools/: framed.sty, listings.zip, mkdep.pl: Additional latex spec commits. 2006-06-22 08:54 tjdwave * doc/latex_spec/: Makefile, abstract.tex, arith-contexts.tex, arith-datainput.tex, arith-decoder-ba.tex, arith-decoder-impl.tex, arith-decoder-sua.tex, arith-decoder-tua.tex, arith-decoder-uua.tex, arith-decoder.tex, arith-encoder.tex, arith-engine.tex, arith-init.tex, arith.tex, begin-bs.tex, begin-compmethods.tex, begin-dwt-fwd.tex, begin-dwt-parentchild.tex, begin-dwt.tex, begin-ec-dwt.tex, begin-ec-mc.tex, begin-ec.tex, begin-mc-accuracy.tex, begin-mc-blocks.tex, begin-mc-global.tex, begin-mc-intra.tex, begin-mc.tex, begin-more.tex, begin-pictypes.tex, begin-videocoding.tex, bs-intro.tex, bs-semantics.tex, bs-syntax.tex, coder-intro.tex, conv-bs-bytealign.tex, conv-bs-defaults.tex, conv-bs-reading.tex, conv-intro.tex, conv-parse-diagnums.tex, conv-parse-diagrams.tex, conv-pseudocode-syntax.tex, conv-pseudocode.tex, dataenc-bool.tex, dataenc-nbitlit.tex, dataenc-nbytelit.tex, dataenc-vlc-segol.tex, dataenc-vlc-su.tex, dataenc-vlc-uegol.tex, dataenc-vlc-ut.tex, dataenc-vlc-uu.tex, dataenc-vlc.tex, dataenc.tex, gendec.tex, idwt-1dsynthesis.tex, idwt-filters.tex, idwt-interleaving.tex, idwt-lifting.tex, idwt-padremoval.tex, idwt-synthesis.tex, idwt-vhsynthesis.tex, idwt.tex, intro-docstruct.tex, intro-purpose.tex, intro-scope.tex, layout-fullsize.tex, logicalstruct-accessunit.tex, logicalstruct-arithcoding.tex, logicalstruct-blocks.tex, logicalstruct-coordinates.tex, logicalstruct-dwt.tex, logicalstruct-frameordering.tex, logicalstruct-frames.tex, logicalstruct-globalmc.tex, logicalstruct-intro.tex, logicalstruct-localmc.tex, logicalstruct-parseunit.tex, logicalstruct-sequence.tex, logicalstruct-subbands.tex, logicalstruct-superblocks.tex, mc-alg.tex, mc-blockcoverage.tex, mc-chomascaling.tex, mc-impl.tex, mc-obmc-matrix.tex, mc-precision.tex, mc-pred.tex, mc-upconvert.tex, mc.tex, prep-idwt-codeblk-dim.tex, prep-idwt-codeblk-process.tex, prep-idwt-coef-process.tex, prep-idwt-conventions.tex, prep-idwt-ctxt-init.tex, prep-idwt-ctxt-magnitude.tex, prep-idwt-ctxt-quantindex.tex, prep-idwt-ctxt-sign.tex, prep-idwt-ctxt-skip.tex, prep-idwt-pred-dc.tex, prep-idwt-process.tex, prep-idwt.tex, prep-mc-ctxt-init.tex, prep-mc-decode-blkmotion.tex, prep-mc-decode-dc.tex, prep-mc-decode-mv.tex, prep-mc-decode-predictionmode.tex, prep-mc-decoding.tex, prep-mc-mbdata.tex, prep-mc-predapeature.tex, prep-mc-predictionmodes.tex, prep-mc-predmbcommon.tex, prep-mc-predmbglobal.tex, prep-mc-predmbsplit.tex, ref-default-videoparams.tex, ref-quantization-lut.tex, semantics-auh.tex, semantics-dwt.tex, semantics-intro.tex, semantics-mv.tex, spec-structure.tex, vidsys-aspect.tex, vidsys-colour.tex, vidsys-colourmatrix.tex, vidsys-colourprimaries.tex, vidsys-framerate.tex, vidsys-sigrange.tex, vidsys-transfer.tex, vidsys.tex: Initial commit of Latex port of draft specification. 2006-06-19 18:35 asuraparaju * libdirac_common/: common.cpp, mot_comp.cpp, mot_comp.h, mot_comp_mmx.cpp, mot_comp_mmx.h: [Spec Compliance] Ensure that block overlaps in x and y direction are integral powers of 2. Make the OBMC weights calculation truly linear. 2006-06-19 18:34 asuraparaju * libdirac_decoder/frame_decompress.cpp, libdirac_encoder/seq_compress.cpp: Replace std::pow operation with left bit-shift operator 2006-06-19 12:27 asuraparaju * libdirac_byteio/: byteio.h, mvdata_byteio.cpp: Fix for bug#1508532. Ensure that m_current_byte is re-initialised to 0 in the ouput byte alignment function ByteIO::OutputCurrentByte. 2006-06-16 12:07 asuraparaju * doc/: contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, soc2006.html, soc2006_ideas.html, specification.html, template2.html, todo.html, documentation/algorithm/algorithm/intro.htm: Ensure that links to Browse CVS on Sourceforge work correctly. 2006-06-16 11:38 asuraparaju * doc/documentation.html: Ensuring that named anchors work properly. 2006-06-16 11:37 asuraparaju * doc/documentation/code/programmers_guide/: common_data_structs.htm, decoder_api_example.htm, decoder_api_functions.htm, decoder_api_overview.htm, decoder_api_reference.htm, decoder_data_structs.htm, encoder_api_example.htm, encoder_api_functions.htm, encoder_api_overview.htm, encoder_api_reference.htm, encoder_data_structs.htm, encoding.htm, index.htm, input_formats.htm, intro.htm, overview.htm, software.htm: Updated data structs and functionality description for Dirac Codec V0.6.0 2006-06-13 12:58 asuraparaju * ChangeLog: [no log message] 2006-06-13 12:56 asuraparaju * NEWS: Updated with 0.6.0 release notes. 2006-06-13 12:35 asuraparaju * extras/patches/: README_ffmpegsvn_trunk_revision_5470-dirac-0.6.x_patch, ffmpegsvn_trunk_revision_5470-dirac-0.6.x.patch: Dirac 0.6.0 patch and install notes for ffmpeg svn revision 5470. 2006-06-13 12:34 asuraparaju * extras/patches/: MPlayer-1.0pre7try2_dirac-0.6.x.patch, README_MPlayer-1.0pre7try2_dirac-0.6.x_patch: Dirac 0.6.0 patch and install notes for MPlayer release MPlayer-1.0pre7try2. 2006-06-13 10:07 timborer * libdirac_common/: arith_codec.h, mv_codec.cpp, mv_codec.h: Added En/DecodeUInt and En/DecodeSInt functions to the arithmetic codec class. These functions read and write signed and unsigned integers in a unified way. They are used to replace the acres of duplicated code in mv_codec.cpp. This change also had the happy side effect of removing the need for a whole slew of chooseXXX functions used for selecting the arithmetic coding context. 2006-06-12 16:24 stuart_hc * libdirac_decoder/frame_decompress.cpp: whitespace cleanup (corrected stray CRLF line-ending to LF) 2006-06-12 13:11 asuraparaju * libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp: Use enumerated values for number of motion vector contexts and coefficient contexts instead of hardcoded constants. This helps in not having to change multiple files when the number of contexts changes. 2006-06-12 13:11 asuraparaju * libdirac_common/mv_codec.cpp: [Spec Compliance] Super block Split residual is no longer coded bit-wise but is now coded using truncated unary arithmetic coding. 2006-06-12 13:10 asuraparaju * libdirac_common/common.cpp, libdirac_common/video_format_defaults.cpp, libdirac_decoder/dirac_parser.cpp: [Spec Compliance] Ensure that Video format defaults are set as per spec 2006-06-12 10:06 tjdwave * libdirac_common/wavelet_utils.cpp: Fixed bug with setting weights for bands by depth - removed duplicate correction factor. 2006-06-08 17:55 asuraparaju * libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: [Spec compliance] Number of contexts in Bin 1 for a Non-zero parent reduced to two from three. 2006-06-08 16:19 asuraparaju * README, encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common_types.h, libdirac_common/video_format_defaults.cpp: Renamed SD_PAL and SD_NTSC video format names to 4CIF and 4SIF to avoid confusing them with the SD Digital video format names. 2006-06-08 16:14 asuraparaju * extras/dirac_dshow/src/: basesplitter/basesplitter.vcproj, diracsplitter/DiracSplitter.vcproj, diracsplitter/DiracSplitterFile.cpp: Fix path to header and libraries in project files. Modify code to handle chages to Dirac decoder logic. 2006-06-06 17:11 asuraparaju * win32/VS2003/: DiracDecoder/DiracDecoder.vcproj, DiracEncoder/DiracEncoder.vcproj, libdirac_byteio/libdirac_byteio.vcproj: Fix link errors. 2006-06-06 17:11 asuraparaju * util/instrumentation/libdirac_instrument/: draw_overlay.cpp, motion_arrows.cpp, sad.cpp: Fix for bug #1501636. Ensuring that we are not going past array boundaries. 2006-06-06 17:08 asuraparaju * unit_tests/motion_comp_test.cpp: Remove tests for frame equality after motion estimation because rounding errors can mean that the frames are not equal. However the frame equality is still tested after zero motion compensation. 2006-06-06 17:08 asuraparaju * libdirac_byteio/mvdata_byteio.cpp, libdirac_common/common.h: [Spec Compliance] Reference frame weights are now unsigned. 2006-06-06 17:08 asuraparaju * README: Updated the encoder command line argument list 2006-06-05 16:00 asuraparaju * configure.ac: Update release id to 0.6.0 2006-06-05 15:57 asuraparaju * util/instrumentation/libdirac_instrument/: draw_overlay.cpp, motion_arrows.cpp, motion_colour.cpp, motion_colour_arrows.cpp, overlay.cpp, pred_mode.cpp, sad.cpp, split_mode.cpp: [Spec compliance] Ensure that the instrumentation utility works for true 8 bit data. Note that there is no support at present for non-8bit data. 2006-06-05 15:56 asuraparaju * util/instrumentation/instrmain.cpp: Read video depth from diagnostics input file. 2006-06-05 15:55 asuraparaju * libdirac_encoder/quality_monitor.cpp: [Spec compliance] Adjust lambda values to make them bit-depth agnostic. Tested only on 8 bit input data. Need to test and maybe adjust for other bit-depths. 2006-06-05 15:55 asuraparaju * libdirac_encoder/dirac_encoder.cpp: [Spec compliance] Default Video depth is 8 bits. 2006-06-05 15:55 asuraparaju * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h, seq_decompress.cpp: [Spec compliance] Include Variable bit-depth support in FrameDecompressor class. 2006-06-05 15:54 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils.h, wavelet_utils_mmx.cpp: [Spec compliance] Accuracy bits are required in the wavelet analysis stage. The number of bits required depends on the transform depth. Shift the input data up 1 bit to the right to increase accuracy in the Analyis stage. Round the input data down by 1 bit in the Synthesis stage to counter the shift in the analysis stage. All rounding is unbiased irrespective of the number of bit it is rounded to. The perceptual weights are adjusted for each subband depending on the level of the subband. 2006-06-05 15:54 asuraparaju * libdirac_common/mot_comp.cpp, libdirac_common/pic_io.cpp, libdirac_decoder/dirac_parser.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils_mmx.cpp: [Spec Compliance] The input/output is always true bit depth specified by video-depth and not converted to 10 bit data internally. So no need to shift 8 bit data by two to convert it to 10 bits. 2006-06-05 15:53 asuraparaju * libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_encoder/seq_compress.cpp, unit_tests/frames_test.cpp, unit_tests/motion_comp_test.cpp: [Spec Compliance] Set Variable bit-depth in FrameBuffer classe to set up FrameParams class with variable bit-depth. 2006-06-05 15:53 asuraparaju * libdirac_common/: frame.cpp, frame.h: [Spec Compliance] Support for multiple video depths. Included functionality to clip upconverted data. 2006-06-05 15:53 asuraparaju * libdirac_common/: common_types.h, video_format_defaults.cpp: [Spec Compliance] Ensure that default parameters are correctly set for all video formats. Add enumerated types for D-Cinema video formats' parameters. Default motion vector precision has reverted to quarter pixel from half pixel. 2006-06-05 15:52 asuraparaju * libdirac_common/: common.cpp, common.h: [Spec Compliance] Add support for D-Cinema video formats. Include Variable bit-depth support in Frame Params. Used for clipping. Fix bug in calculating number of code blocks for different transform depths. 2006-06-05 15:52 asuraparaju * libdirac_common/arrays.h: [Spec Compliance] PIXEL_VALUE_MIN and PIXEL_VALUE_MAX no longer required as the min and max values are calculated based on the bit-depth of the input video. Fix indentation by replacing tabs with white space. 2006-06-05 15:51 asuraparaju * libdirac_byteio/transform_byteio.cpp: Fixed bug where the non-default wavelet filter flag was not being written to the bitstream when a non-default filter is used. 2006-06-05 15:51 asuraparaju * libdirac_byteio/seqparams_byteio.cpp: [Spec compliance] Throw an error if a video depth other than the default value of 8 is specified. 2006-06-05 15:51 asuraparaju * libdirac_byteio/frame_byteio.cpp: [Spec compliance] Actual picture number is stored in the picture header and not the offset from the Access unit picture number. Reference frame offsets and retired frame offsets are calculated from current picture number and not access unit header picture number. 2006-06-05 15:50 asuraparaju * libdirac_byteio/byteio.h: Fix warnings in doxygen documentation. 2006-06-05 15:50 asuraparaju * encoder/encmain.cpp: Write video depth to diagnostics output file. 2006-05-23 14:09 tjdwave * libdirac_encoder/quant_chooser.cpp: Changed initial index to 0 from 4, so that 8 bit video will be properly coded. 2006-05-22 10:56 tjdwave * libdirac_encoder/quality_monitor.cpp: Modified PSNR log to output a table for greater clarity. 2006-05-17 18:33 asuraparaju * unit_tests/: motion_comp_test.cpp, motion_comp_test.h: Change precision type in test prototype from int to MVPrecisionType. 2006-05-16 14:53 asuraparaju * libdirac_common/wavelet_utils_mmx.cpp: Changed the wavelet transform so that unbiased rounding is not used with a shift of 1 in the lifting stage to keep in line with the non-MMX optimised code. 2006-05-16 12:25 asuraparaju * libdirac_encoder/seq_compress.cpp: Fix g++ warnings 2006-05-16 12:24 asuraparaju * libdirac_encoder/quant_chooser.cpp: Minor mods to speed up error calculation. Overall improvement in encoding speed is about 4-5% for long gop Changed quantisation as per draft spec so that extra 2 bits accuracy apply to the quantisation offset. This helps at low quantisation factors particularly. 2006-05-16 12:24 asuraparaju * libdirac_encoder/: quality_monitor.cpp, quality_monitor.h: - Removed superfluous filtering function. - Computes PSNR instead of weighted 4th power metric; chroma PSNRs are also computed. 2006-05-16 12:24 asuraparaju * libdirac_encoder/frame_compress.cpp: Spec Compliance: - Setup default code blocks depending on whether frame type is intra or inter. 2006-05-16 12:23 asuraparaju * libdirac_encoder/dirac_encoder.h: Change type of mv_precision in dirac_encparams_t function to MVPrecisionType 2006-05-16 12:23 asuraparaju * libdirac_encoder/dirac_encoder.cpp: Spec Compliance: - Handle CodeBlockMode which replaces the multi-quantisers flag. - Set default spatial partition flag to false if wavelet depth is not set to the default value. 2006-05-16 12:23 asuraparaju * libdirac_decoder/frame_decompress.cpp: Spec Compliance - Throw error if Zero transform flag is set for Intra frames. - Handle Zero transform condition for inter frames. 2006-05-16 12:22 asuraparaju * libdirac_decoder/dirac_parser.h: The parser no longer returns STATE_PICTURE_START state. Modify the example in the doxygen documentation to reflect this. 2006-05-16 12:22 asuraparaju * libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h: Spec Compliance - multiple quantisers are used when code block mode is set to QUANT_MULTIPLE - All values are set to 0 if a block is skipped irrespective of whether is is a DC block or not. - Modified SetupCodeBlocks functions to use the default code blocks if default partitioning is enabled or values of from the bitstream for custom paritioning (only for decoder) 2006-05-16 12:21 asuraparaju * libdirac_common/: wavelet_utils.h, wavelet_utils_mmx.cpp: Implement unbiased rounding for the lifting stages in all wavelet filters. 2006-05-16 12:21 asuraparaju * libdirac_common/video_format_defaults.cpp: Spec compliance - Set up default Codec parameters to comply with spec. - Default motion vector precision is now Half Pixel. 2006-05-16 12:20 asuraparaju * libdirac_common/mv_codec.cpp: Spec compliance - Common Mode prediction function returns false for top left corner of block. - Block mode prediction function return INTRA instead of REF1_ONLY for the top left corner of a block - The sign flag is encoded/decoded as true if the value is negative. 2006-05-16 12:20 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp_mmx.cpp: Define MMX optimised version of Half Pixel block compensation function MotionCompensator_HalfPixel::CompensateBlock 2006-05-16 12:19 asuraparaju * libdirac_common/band_codec.cpp: Spec Compliance: - Code block skip flag encoded/decoded only if there is more than one code block in a subband - The sign flag is encoded/decoded as true if the value is negative. - Max number of quantisers increased to 97 (0..96). Throw an error if quantisation index exceeds this value while decoding. - Changed quantisation as per draft spec so that extra 2 bits accuracy apply to the quantisation offset. This helps at low quantisation factors particularly. 2006-05-16 12:19 asuraparaju * encoder/encmain.cpp: Print extra-information regarding encoder params used to encoding. E.g. motion vector precision, transform depth etc. 2006-05-16 12:18 asuraparaju * libdirac_byteio/transform_byteio.cpp: Spec compliance: - Zero transform flag applies only to Intra frames. - Read/write code blocks from/to bitstream if Default spatial partitioning is disabled. Throw error when non-default transform depth is specified but default spatial partitioning is set. - Replace Multiple quantisers flag with Code block mode enumerated type. 2006-05-16 12:18 asuraparaju * libdirac_common/common_types.h: New enumerated type to handle CodeBlockMode which replaces the binary Multiple quantisers flag. 2006-05-16 12:17 asuraparaju * libdirac_common/: common.cpp, common.h: Spec Compliance: New class CodeBlocks for handling code blocks. In CodecParams class - change type of m_mv_precision to MVPrecisionType - change type of m_wlt_depth to unsigned - replace m_multi_quants flag with CodeBlockMode enumerated type. - New member variable and member functions to handle CodeBlocks In QuantisersLists class - Add a new member variable m_max_qindex to set the max val of quantiser index that can be handled by the decoder. 2006-05-15 12:45 asuraparaju * libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Fix bug in specifying number of contexts. The number should be 23 and not 22 as previously specified. 2006-05-15 12:43 asuraparaju * libdirac_common/: mv_codec.cpp, mv_codec.h: [Thomas's changes] Changed coding of MB split so that it's bitwise, with bitwise prediction. This is more efficient and is consistent with coding prediction modes. 2006-05-15 12:43 asuraparaju * libdirac_common/common.h: [Thomas's changes] Changed coding of MB split so that it's bitwise, with bitwise prediction. This is more efficient and is consistent with coding prediction modes. Changed quantisation to give 2 bits of accuracy to quantisation factors. This improves performance in high-quality applications, and reduces large steps in quality. 2006-05-15 12:42 asuraparaju * libdirac_common/common.cpp, libdirac_encoder/quant_chooser.cpp: [Thomas's changes] Changed quantisation to give 2 bits of accuracy to quantisation factors. This improves performance in high-quality applications, and reduces large steps in quality. 2006-05-15 12:42 asuraparaju * libdirac_common/: band_codec.cpp, band_codec.h: [Thomas's changes] Changed quantisation to give 2 bits of accuracy to quantisation factors. This improves performance in high-quality applications, and reduces large steps in quality. Fixed bug with multiple code blocks changing m_cutoff_point repeatedly. 2006-05-04 09:45 tjdwave * libdirac_common/band_codec.cpp, libdirac_common/common.h, libdirac_common/mv_codec.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Rationalised arithmetic coding contexts and tidied code. Coefficient coding now covers bins 1-4 individually for "follow/continue bits". There are also separate info contexts for the case where the parent is zero/non-zero. 2006-05-03 17:05 asuraparaju * doc/: browser_compatibility.html, contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, soc2006.html, soc2006_ideas.html, specification.html, todo.html: Include links and details of Dirac participation in Google's Summer of Code 2006 program. 2006-04-26 16:06 asuraparaju * doc/faq.html: Fixed a typo. 2006-04-26 15:59 asuraparaju * tests/samples.at: Set luma block size values depending on the preset value. 2006-04-21 14:59 dirac_dev * encoder/encmain.cpp: Prevents user from specifying more than 5 wavlet transforms 2006-04-21 14:20 dirac_dev * encoder/encmain.cpp, libdirac_byteio/mvdata_byteio.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/common_types.h, libdirac_common/dirac_exception.h, libdirac_common/mot_comp.cpp, libdirac_common/video_format_defaults.cpp, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/frame_compress.cpp, libdirac_motionest/me_mode_decn.cpp: Added in variable motion-vector precision. Can now be controlled from the command-line. Default is quarter pixel. 2006-04-21 10:23 asuraparaju * libdirac_common/band_codec.cpp, libdirac_common/common.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Differential quantiser index is now coded using arithmetic signed multiplexed exp Golomb binarisation to conform with spec. Added contexts to list of contexts to support this in common.h. 2006-04-20 16:39 asuraparaju * libdirac_byteio/: byteio.cpp, byteio.h, displayparams_byteio.cpp, frame_byteio.cpp, mvdata_byteio.cpp, parseparams_byteio.cpp, parseunit_byteio.cpp, seqparams_byteio.cpp, subband_byteio.cpp, transform_byteio.cpp: Replaced exp-Golomb coding with interleaved exp-Golomb coding to conform with spec. Fixed-length values (like access unit picture number, parser offset) are now written out in Big-Endian order to conform with spec. Renamed coding functions to reflect whether they are coding fixed length values or variable length values. 2006-04-20 11:45 asuraparaju * libdirac_byteio/Makefile.am: Missed this file in the previous commit. It is part of the major restructure to Dirac bytestream I/O. 2006-04-20 11:41 asuraparaju * Makefile.am, README, configure.ac, decoder/decmain.cpp, doc/documentation/code/api/dirac_api.doxygen, encoder/encmain.cpp, extras/dirac_dshow/src/diracsplitter/DiracSplitter.cpp, extras/dirac_dshow/src/diracsplitter/DiracSplitter.vcproj, extras/dirac_dshow/src/diracsplitter/DiracSplitterFile.cpp, extras/dirac_dshow/src/diracsplitter/stdafx.h, libdirac_byteio/accessunit_byteio.cpp, libdirac_byteio/accessunit_byteio.h, libdirac_byteio/byteio.cpp, libdirac_byteio/byteio.h, libdirac_byteio/component_byteio.cpp, libdirac_byteio/component_byteio.h, libdirac_byteio/dirac_byte_stats.cpp, libdirac_byteio/dirac_byte_stats.h, libdirac_byteio/dirac_byte_stream.cpp, libdirac_byteio/dirac_byte_stream.h, libdirac_byteio/displayparams_byteio.cpp, libdirac_byteio/displayparams_byteio.h, libdirac_byteio/endofsequence_byteio.cpp, libdirac_byteio/endofsequence_byteio.h, libdirac_byteio/frame_byteio.cpp, libdirac_byteio/frame_byteio.h, libdirac_byteio/mvdata_byteio.cpp, libdirac_byteio/mvdata_byteio.h, libdirac_byteio/parseparams_byteio.cpp, libdirac_byteio/parseparams_byteio.h, libdirac_byteio/parseunit_byteio.cpp, libdirac_byteio/parseunit_byteio.h, libdirac_byteio/seqparams_byteio.cpp, libdirac_byteio/seqparams_byteio.h, libdirac_byteio/subband_byteio.cpp, libdirac_byteio/subband_byteio.h, libdirac_byteio/transform_byteio.cpp, libdirac_byteio/transform_byteio.h, libdirac_common/Makefile.am, libdirac_common/arith_codec.cpp, libdirac_common/arith_codec.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/common_types.h, libdirac_common/dirac_exception.cpp, libdirac_common/dirac_exception.h, libdirac_common/dirac_types.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/mot_comp.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/video_format_defaults.cpp, libdirac_common/video_format_defaults.h, libdirac_common/wavelet_utils.cpp, libdirac_decoder/Makefile.am, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/dirac_cppparser.cpp, libdirac_decoder/dirac_cppparser.h, libdirac_decoder/dirac_parser.cpp, libdirac_decoder/dirac_parser.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quant_chooser.cpp, libdirac_encoder/quant_chooser.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp, tests/samples.at, unit_tests/frames_test.cpp, unit_tests/motion_comp_test.cpp, util/instrumentation/instrmain.cpp, util/instrumentation/process_sequence.cpp, util/instrumentation/libdirac_instrument/overlay.cpp, win32/VS2003/Makefile.am, win32/VS2003/dirac.sln, win32/VS2003/ConversionUtils/libconv_common/libconv_common.vcproj, win32/VS2003/DiracDecoder/DiracDecoder.vcproj, win32/VS2003/DiracEncoder/DiracEncoder.vcproj, win32/VS2003/EncodeDirac/EncodeDirac.vcproj, win32/VS2003/libdirac_byteio/libdirac_byteio.vcproj, win32/VS2003/libdirac_common/libdirac_common.vcproj: Major restructure of Input/Output classes in Dirac internals. New directory, libdirac_byteio contains classes to input from/output to a Dirac bistream. Dirac external API (both encoder and decoder) has changed. So the patches for MPlayer, FFmpeg, and the Dirac Directshow filter will no longer work with the CVS source. The external API is likely to change over the next few weeks. Updated versions of the patches and Direcshow filter will be available with the next release of Dirac. NOTE: the bytestream has changed to largely conform to the latest Dirac spec. More work needs to be done to conform fully to the Dirac definition document. So expect the CVS source and resulting bitstream to change frequently over the next few weeks. 2006-04-18 11:18 tjdwave * libdirac_common/arith_codec.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/common.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp: Changing binarisation for arithmetic coding, and associated contexts. The specification will be modified accordingly. Binarisation for the magnitude values of wavelet coefficients, motion vector prediction residues and DC values has been changed from unary to interleaved exp-Golomb so that the number of symbols to be decoded in order to reconstruct a coefficient is reduced. Exp-Golomb binarisation takes a number N>=0 and codes it via the binary representation of N+1, 1bbbbbb. If there are K bits following the leading 1, the representation is K zeroes followed by the binary representation: 00...01bbbbb Interleaved exp-Golomb is the same, except that the K lsbs are interleaved with the zeroes: 0b0b 0b1 so that a single decoding loop can be used. The zeroes here act as "follow bits" indicating that another bit is to be sent, with 1 as the terminator. Contexts for coding these symbols are selected for the follow bits and other bits ("information bits") separately. Compression performance is hardly affected, nor is speed performance in software, but hardware performance is greatly facilitated. 2006-04-12 16:06 tjdwave * libdirac_common/arith_codec.h: Changed while loops for decoding and encoding into fixed-size for-loops with break conditions. Although ugly, this provides safer code as loops will terminate if there's an error. 2006-04-11 12:23 asuraparaju * unit_tests/motion_comp_test.cpp: Set number of references in MvData constructor to fix compilation errors. 2006-04-10 11:13 tjdwave * libdirac_common/band_codec.cpp: Changed lookup table-based division to a straight division. This is slightly slower, but will scale to higher levels of wavelet decomposition. Also eliminates bug with occasional wrap-around for lossless coding on some pictures. Making abs_val 64 bits would also work but could be equally slow on 32 bit architectures. 2006-03-20 12:54 asuraparaju * encoder/encmain.cpp, libdirac_encoder/dirac_encoder.cpp: Fixed bug in writing instrumentation data to output which always assumed that data for two references were available. 2006-03-17 18:04 timborer * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/pixel_match.cpp, util/instrumentation/process_sequence.cpp: Changed block mode coding so that residues for reference 2 are not generated when we are only using one reference. THIS CHANGES THE BYTESTREAM This reduces the bit rate by a few bits, but the reason for doing it is becuase it makes the codec more logical. Also modified BlockModePrediction so that it doesn't do a prediction for reference 2 when we are only using one reference. Removed some unnecessary memory allocation in MvData constructor. Removed a few warning messages and tidied up a bit. 2006-03-01 18:19 asuraparaju * libdirac_common/: arith_codec.cpp, arith_codec.h: Rationalised types used i.e. replaced all code_t, calc_t etc with unsigned int. Simplified the code by removing one addition and shift from DecodeSymbol. 2006-02-28 15:53 asuraparaju * libdirac_common/arith_codec.cpp: Fixed g++ warning when compiled in debug mode 2006-02-28 15:29 asuraparaju * libdirac_common/Makefile.am, win32/VS2003/libdirac_common/libdirac_common.vcproj: Added arith_codec.cpp to list of .cpp files 2006-02-28 15:25 asuraparaju * libdirac_common/: arith_codec.cpp, arith_codec.h: Refactored code to make implementation easier to understand. The code restructure modified the bitstream but older version of arith_codec can decode this new version and vice-versa. 2006-02-21 13:32 tjdwave * libdirac_common/arith_codec.h: Modified arithmetic coding engine for speed and spec conformance. 1. Changed context statistics so that maximum weight is 256 2. Changed look-up table so that inverse of weight is calculated to 16 instead of 31 bits. 3. Changed scaled count of zero m_prob0 so that it's 16 bits instead of 10 Changes 1-3 mean that m_prob0 can be worked out using only 16 bit multiplies and no bitshift. This is more hardware friendly. 4. Modified do .. while loop for encoding and decoding so that a more efficient test for MSB equality can be used, resulting in a speed-up 5. Changed the order of decoding so that bits are shifted in first and then the symbol is determined. This reduces unnecessary bit inputs and moves to a 'lazy' input mode 6. Changed the statistics update function so that m_prob0 is calculated for every update rather than every other. This speeds up the code and gives better compression performance. 2006-02-15 14:27 asuraparaju * tests/samples.at: Included block variables so that tests can be run for different block sizes. Note that the block sizes must be changed manually before running the tests. 2006-02-15 14:26 asuraparaju * libdirac_motionest/: me_utils.cpp, me_utils_mmx.cpp, pixel_match.cpp: Padding related changes. Since there may no longer be an integer number of whole macroblocks and blocks in a paddied picture, made changes to ensure that we do not fall off the boundaries of the padded pictured during motion estimation. WARNING : This changes the bitstream 2006-02-15 14:24 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h, mot_comp_mmx.cpp, mot_comp_mmx.h: A linear function is used to calculate the OBMC weights instead of a raised cosine function to make it compliant with spec. Also motion compensation is performed only on true picture dimensions and not padded picture dimensions, WARNING : This changes the bitstream 2006-02-15 14:23 asuraparaju * libdirac_common/common.cpp: Modified CodecParams.SetBlockSizes function to be compliant with spec. WARNING : This changes the bitstream 2006-02-15 14:21 asuraparaju * libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/seq_compress.cpp, unit_tests/frames_test.cpp, unit_tests/motion_comp_test.cpp: Currently a frame is padded so that it has an integer number of whole macro blocks and is also a multiple of 2^(wavelet transform depth). This has changed in the Dirac specification where a frame is padded so that its dimensions are a multiple of 2^(wavelet transform depth) only. Also the luma and the chroma components can be padded differently. E.g. the luma dimensions may be a perfect multiple of 2^(wavelet transform depth) so the luma component is not padded but the chroma component may need to be padded depending on the chroma format of the input. To take care of this, FrameParams class has been modified to accept both padded chroma and padded luma dimensions. WARNING! This modifies the bitstream. 2006-02-14 12:48 tjdwave * libdirac_common/arith_codec.h: Changed count rescaling so that it occurs every time a bit is encoded/decoded. This is to make compliant with spec, and also because doing it every other bit was giving no speed advantage. WARNING! This changes the bitstream. 2006-02-10 09:49 tjdwave * libdirac_common/common.cpp: Modified calculation of quantisation, inverse quantisation and offset values so as to conform to specification. WARNING: this modifies the bitstream. 2006-02-09 13:58 tjdwave * libdirac_common/: motion.h, mv_codec.cpp: Removed the function for computing a mean of a vector of ints. Instead all means are of unsigned int values, and are calculated using unbiased arithmetic ie with an offset of N/2 for N values to ensure even rounding. This changes the mean used for predicting DC values in motion vector coding. As a result, the bitstream is also changed. 2006-01-06 15:56 tjdwave * libdirac_common/mv_codec.cpp: Changed refresh so that statistics are refreshed after m_reset_num macroblocks as intended, rather than m_reset_num+1. WARNING! This changes the bitstream. 2006-01-06 15:22 asuraparaju * libdirac_motionest/me_utils.cpp: Fixed bug#1383890. Applied patch supplied in bug report. 2005-12-07 12:50 asuraparaju * doc/specification.html: Link to Dirac specification document 2005-12-07 11:34 asuraparaju * doc/: contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, template2.html, todo.html: Included a link to the Dirac Specification document. 2005-12-07 11:33 asuraparaju * doc/documentation/algorithm/algorithm/wlt_transform.xht: Fixed filter coefficients for 13,5 filter. 2005-12-05 12:44 asuraparaju * ChangeLog: [no log message] 2005-12-05 12:38 asuraparaju * NEWS: Updated with 0.5.4 release notes 2005-12-05 12:33 asuraparaju * extras/patches/: FFMpeg-20051205-dirac-0.5.x.patch, README_FFMpeg-20051205-dirac-0.5.x_patch: FFMpeg patch for cvs version dated 05-Dec-2005. 2005-12-05 12:32 asuraparaju * extras/patches/: README_FFMpeg-20050806-dirac-0.5.x_patch, README_ffmpeg-0.4.9-pre1-dirac-0.5.x_patch: Updated instruction for latest Dirac release 2005-12-05 12:26 asuraparaju * extras/patches/README_MPlayer-1.0pre7_dirac-0.5.x_patch: Updated instructions to use latest release of Dirac and MPlayer 2005-12-02 16:25 asuraparaju * libdirac_common/mot_comp_mmx.cpp: Fix bug with uninitialised memory reads when compiling in msys-g++ environment. 2005-12-02 10:16 asuraparaju * libdirac_common/: band_codec.cpp, band_codec.h: Added Steve Bearcroft to list of contributors. 2005-12-01 14:34 asuraparaju * README: Changes to reflect the new/modified options of the command line encoder dirac_encoder. 2005-12-01 14:30 asuraparaju * AUTHORS: Updated contributor list. 2005-12-01 14:30 asuraparaju * configure.ac: Updated release id to 0.5.4 2005-12-01 14:29 asuraparaju * tests/: colourbars.at, samples.at: Changes due to modified dirac_encoder command line. Include the -local option to generate diagnostics and locally decoded data to use in comparison and instrumentation tests. 2005-12-01 14:27 asuraparaju * encoder/encmain.cpp: Generation of Diagnostics data and locally decoded output is now disabled by default. To enable this use the commandline option -local. 2005-12-01 14:26 asuraparaju * libdirac_common/upconvert_mmx.cpp: Mods to make Upconverter::DoUpconverter function more efficient 2005-12-01 14:25 asuraparaju * libdirac_common/wavelet_utils.h: New function VHFilter5_3::HorizSynth which is used only when MMX opts are enabled. This function is used to interleave horizontal synthesis with vertical synthesis to make the wavelet syntheis function slightly more efficient. 2005-12-01 14:22 asuraparaju * libdirac_common/: band_codec.cpp, band_codec.h: New function ClearBlock to set all values in block to 0 more efficiently. Applied BandCodec optimisation part of patch 1303281 which make DecodeVal function more efficient. 2005-12-01 14:12 asuraparaju * libdirac_common/wavelet_utils_mmx.cpp: Minor mods to optimise VHFilter5_3::Split further. 2005-12-01 14:10 asuraparaju * libdirac_common/mot_comp_mmx.cpp: Minor changes to ensure that uninitialised memory reads do not cause crashes when compiled using MS VC++. Note that the data read from unitialised memory is not being used but still causes problems on some platforms. 2005-12-01 14:06 asuraparaju * libdirac_common/mot_comp.cpp: Using calculated values of blocks per macro block row and blocks per sub-block row instead of hardcoded values. 2005-12-01 14:02 asuraparaju * util/encoder_gui/: README, diracdata.h, diracgui.cpp, diracgui.h, encodebox.cpp, encoder_gui.pro, filesbox.cpp, repthread.cpp, tables.h: Included option in GUI to disable the creation of diagnostics data file and locally decoded output. dirac_encoder need no longer be in the current working directory but in any directory in the PATH variable. 2005-11-15 15:35 asuraparaju * libdirac_common/arith_codec.h: Minor cosmetic difference as to how CODE_MSB and CODE_2ND_MSB are initialised to make their usage more obvious. 2005-11-15 15:33 asuraparaju * doc/Makefile.am: Fix problem with install target 2005-11-08 11:45 asuraparaju * libdirac_common/band_codec.cpp: Minor changes in DoWorkCode, DoWorkDecode and DecodeCoeffBlock functions in the way 2-D arrays are accessed which resulted in a slight decoding speed improvement. 2005-11-08 11:43 asuraparaju * libdirac_common/upconvert_mmx.cpp: Minor changes to DoUpConverter routine to give slight improvement in uoconversion speed. 2005-11-08 11:41 asuraparaju * libdirac_common/arrays.h: In Resize function in OneDArray class, dealloc and realloc data only if the new and old array sizes are different. 2005-11-08 11:40 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils_mmx.cpp: Optimised WaveletTransform::VHFilter5_3::Split using MMX instructions. Minor mods to WaveletTransform::VHFilter5_3::Synth function improve speed slightly. 2005-11-08 11:37 asuraparaju * libdirac_motionest/Makefile.am, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert_mmx.cpp, win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj: Optimised DoDownConverter routine using MMX instructions 2005-11-08 11:34 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h, mot_comp_mmx.cpp: Modified motion compensation so that it take Macro-Block splitting mode into consideration when compensating a row of blocks. Depending on the macroblock split mode, 1,2 or 4 blocks of reference data are used to calculate the motion compensated data. This sped up the default quarter pixel block motion compensation routine by an average of 20-23% for a 2Mbps Dirac bitstream. 2005-11-08 11:26 asuraparaju * libdirac_common/: frame.cpp, frame.h, frame_buffer.cpp, frame_buffer.h: Changes to FrameBuffer handling. Deleting old frames and allocating new frames is quite expensive. So instead of deleting frames no longer required in the frame buffer, they are flagged "not in use". So the next time a new reference frame has to be inserted in the Frame buffer, the first frame "not in use" is used to store the new frame. An overall improvement of 6-7 percent in decoding speed for a 2Mbps bitstream resulted. 2005-10-17 12:06 asuraparaju * libdirac_encoder/dirac_encoder.cpp: Fixed bug #1328565. Now ensuring that all locally decoded frames are available for output. 2005-10-11 14:02 tjdwave * libdirac_common/arith_codec.h: Incorporated Steve Bearcroft's speed-up patch, with some minor typographical changes for clarity. 2005-10-11 10:00 tjdwave * libdirac_motionest/block_match.cpp: Added patch 1309571 which fixes the quality degradation introduced in the motion estimation speed-ups. 2005-10-07 11:17 asuraparaju * libdirac_motionest/: me_utils.cpp, me_utils_mmx.cpp, me_utils_mmx.h: Applied MMX optimisations to modified ME routines. This is an initial version that improves Motion Estimation speed by 30% resulting in a 20% improvement in encoding speed overall. This is work in progress. 2005-09-27 14:44 dirac_dev * libdirac_encoder/dirac_encoder.h: Replaced boolean with int. C-compilers (eg. ffmpeg) complain about C++ constructs. 2005-09-27 14:08 tjdwave * libdirac_encoder/quality_monitor.cpp: Set the motion estimation factor to compensate for the default search precision being at 1/4 pel (as this is the default precision) rather than 1/8th pel. 2005-09-27 14:07 tjdwave * libdirac_motionest/: motion_estimate.cpp, motion_estimate.h: Removed cut detection, which is now in the FrameCompressor class. Removed the kludge which scaled the motion vector precisions. All motion estimation is now at the selected precision. 2005-09-27 14:01 tjdwave * libdirac_motionest/: me_mode_decn.cpp, me_mode_decn.h: Use specific matching classes for different pixel accuracies. Reduced search ranges for increased speed. 2005-09-27 13:59 tjdwave * libdirac_motionest/me_subpel.cpp: Removed calculation of lambda map. Simplified class by using the specific subpixel refinement matching function. 2005-09-27 13:55 tjdwave * libdirac_motionest/: pixel_match.cpp, pixel_match.h: Search ranges restricted to improve motion estimation speed. 2005-09-27 13:52 tjdwave * libdirac_motionest/: block_match.cpp, block_match.h: Refactored the BlockMatcher class. There are now three functions for finding a best match - finding the pixel-accurate best match, refining this to sub-pixel accuracy, and also finding a best match from a list at sub-pixel level. These matching functions contain shortcuts to speed up matching as follows. FindBestMatchPel: - The predictors are each searched first, and if their SAD values are small then the search ends. - bailout functions are used for calculating matching costs for the remaining candidates RefineMatchSubpel: - The predictor from neighbouring (previously refined) vectors is tested first. If there's a small SAD, then the search ends - Pixel-accurate vectors are refined to half-pel vectors by searching the 4 closest half-pel positions (shown as X) first: X XOX X If one of these is better than the pixel-accurate value, then the two nearest values in the immediate neighbourhood of the pixel-accurate value are also searched, eg the Y values below: YXY XOX X This two-stage procedure is followed again in refining to quarter- and eighth-pel. - At each stage of refinement, if we're 10% worse than the value derived for the predictor, we end the search. FindBestMatchSubpel: - bailout functions are used 2005-09-27 13:40 tjdwave * libdirac_motionest/: me_utils.cpp, me_utils.h: Reorganised classes for doing SAD calculations at pixel and sub-pixel accuracy. Distinct classes for half-, quarter- and eighth-pixel matching have been created. These are present also in 'bailout' form so that you can leave the calculation as soon as you know that you're not going to beat the best match so far. These mods support speeding up motion estimation, and hence the encoder generally. 2005-09-27 12:25 asuraparaju * libdirac_encoder/dirac_encoder.cpp: Fixed bug# 1291478. Now ensuring that dirac_encoder_output returns ENC_STATE_BUFFER when data is not loaded into the encoder. 2005-09-27 12:21 asuraparaju * doc/documentation/code/programmers_guide/decoder_api_functions.htm: Bug fix: 1291481. Corrected return value in dirac_parse function prototype. 2005-09-27 10:21 tjdwave * libdirac_encoder/seq_compress.cpp: The quality measurement model can only be calculated correctly if reconstructed compressed video is available, which isn't the case if we're not doing local decoding. In this case, calculating and outputting these values is disabled. 2005-09-27 10:16 tjdwave * libdirac_encoder/: frame_compress.cpp, frame_compress.h: Moved the analysis of whether or not we have a cut into FrameCompressor class and out of motion estimation classes. Also, only do motion compensation on L2 frames if local decoding is required. This is because, by definition, L2 frames can't be references and so can be left in a partially reconstructed state if local decoding isn't required, which improves encoding speed. 2005-09-27 10:12 tjdwave * libdirac_encoder/dirac_encoder.cpp: Added support for local decoding flag, so that local decoding can be avoided for speed. 2005-09-27 10:09 tjdwave * libdirac_encoder/comp_compress.cpp: Removed commented-out code. 2005-09-27 10:09 tjdwave * libdirac_encoder/comp_compress.cpp: Inverse wavelet transform is now only done for L2 frames if local decoding is required. This is because L2 frames are (by definition) not used for reference and can be left in a partially reconstructed state if local decoding isn't needed. 2005-09-27 09:54 tjdwave * libdirac_common/mot_comp.cpp: Introduced unbiased rounding into calculation of weighting matrices. This allows the subsequent rationalisation of the values to be avoided. Also, chroma scale factors applied to motion vectors have been replaced by shift factors, so that bitshifts can be used instead of divisions for greater efficiency. 2005-09-27 09:50 tjdwave * libdirac_common/: common.cpp, common.h: Added support for an encode params flag indicating whether we're doing local decoding. Local decoding can then be omitted for greater efficiency. 2005-09-27 09:44 tjdwave * decoder/decmain.cpp: Made timing info only output in verbose mode. 2005-09-27 09:43 tjdwave * encoder/encmain.cpp: Added timing data for encoding. 2005-09-27 09:40 tjdwave * libdirac_common/arith_codec.h: Simplified ArithCodec class so that probality intervals aren't used. 2005-09-07 15:29 tjdwave * util/encoder_gui/: COPYING, README, diracdata.h, diracgui.cpp, diracgui.h, encodebox.cpp, encoder_gui.pro, filesbox.cpp, main.cpp, presetbox.cpp, qualitybox.cpp, reportbox.cpp, repthread.cpp, repthread.h, tables.cpp, tables.h, videobox.cpp: Adding files for Dirac encoder GUI. 2005-09-07 10:41 tjdwave * doc/DiracSpecV0.1.doc: Version 0.1 superceded by version 0.9 now in CVS. 2005-09-07 10:39 tjdwave * doc/DiracSpec0.9.pdf: Added decoder semantics and revised bitstream structure. 2005-08-31 14:42 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/quality_monitor.cpp: Added support for lossless I-frame and long-GOP coding, with CLI option. 2005-08-23 11:52 asuraparaju * ChangeLog: [no log message] 2005-08-23 11:46 asuraparaju * NEWS: Added 0.5.3 release notes 2005-08-23 11:14 asuraparaju * doc/documentation.html: Having trouble creating a pdf document in which MathML is rendered correctly. Hence a pdf version of the Algorithm document cannot be generated at the moment. Removed broken link to Algorithm pdf until this problem can be fixed. 2005-08-22 13:51 asuraparaju * configure.ac: Update the help string for enable-mmx configure argument to make it clear that MMX opts are enabled by default. The user will have to explcitly specify --enable-mmmx=no or --disable-mmx to disable MMX opts. 2005-08-19 13:41 asuraparaju * extras/patches/: README_transcode-1.0.0_dirac-0.5.x_patch, transcode-1.0.0-dirac-0.5.x.patch: Dirac patch for transcode-1.0.0. This patch is not a standalone patch and will be effective only if the ffmpeg library it uses is built with the dirac patch applied. 2005-08-19 13:38 asuraparaju * extras/patches/README_MPlayer-1.0pre7_dirac-0.5.x_patch: Updated notes for dirac v0.5.3 2005-08-19 13:36 asuraparaju * extras/patches/: FFMpeg-20050806-dirac-0.5.x.patch, README_FFMpeg-20050806-dirac-0.5.x_patch: Dirac patch for ffmpeg cvs snapshot dated 06-Aug-2005. Note that this has been tested with CVS versions as late at 16-Aug-2006 but the CVS snapshots past 06-Aug-2005 are not available for download on the FFmpeg server. 2005-08-19 13:34 asuraparaju * extras/patches/README_transcode-0.6.14_dirac-0.5.x_patch: Updated for dirac v0.5.3 2005-08-19 13:33 asuraparaju * extras/patches/: README_ffmpeg-0.4.9-pre1-dirac-0.5.x_patch, ffmpeg-0.4.9-pre1-dirac-0.5.x.patch: Updated patch for dirac-0.5.3. Changed license to LGPL. Fixed bug in setting the quality factor where the quality factor lookup table was uint8_t instead of float which was causing the qf to be truncated to uint8_t. dirac_decode_frame now correctly returns the number of bytes it consumed. This is a fix for bug 1246767. 2005-08-18 09:30 tjdwave * encoder/encmain.cpp: Clarified CLI error message. 2005-08-18 09:27 tjdwave * README: Refactored the encoding instructions so that they're much clearer. 2005-08-16 15:37 asuraparaju * libdirac_common/arith_codec.h: Removed DOS line-breaks. 2005-08-16 10:37 asuraparaju * doc/Makefile.am: Fix problem with install targer in main doc directory 2005-08-15 18:21 asuraparaju * doc/Makefile.am: Fixed bug where make was failing when built in a distribtion 2005-08-15 17:48 asuraparaju * doc/: Makefile.am, documentation/code/programmers_guide/Makefile.am: Ensured that all required files are installed correctly when using the install target of make. 2005-08-15 17:18 asuraparaju * doc/documentation/: Makefile.am, tools/diagnostics/Makefile.am: Changes related to documents directory restructure 2005-08-15 17:11 asuraparaju * configure.ac, doc/Makefile.am, doc/documentation/algorithm/Makefile.am, doc/documentation/algorithm/enhancements/Makefile.am, doc/documentation/algorithm/global_motion/Makefile.am, doc/documentation/algorithm/upconversion/Makefile.am, doc/documentation/tools/Makefile.am: Changes related to documentation tree restructure 2005-08-15 16:09 asuraparaju * doc/: Makefile.am, documentation/algorithm/Makefile.am, documentation/algorithm/algorithm/Makefile.am, documentation/code/Makefile.am, documentation/code/api/Makefile.am, documentation/code/api/dirac_api.doxygen, documentation/code/api/dirac_api.doxygen.in, documentation/code/api/dirac_api_foot.html, documentation/code/api/dirac_api_head.html, documentation/code/programmers_guide/Makefile.am: Changes related to documentation tree restructure. 2005-08-15 16:03 asuraparaju * doc/api/: Makefile.am, dirac_api.doxygen, dirac_api.doxygen.in, dirac_api_foot.html, dirac_api_head.html, libdirac_encoder_api.doxygen, libdirac_encoder_api_foot.html, libdirac_encoder_api_head.html: Removing old files as part of Documentation directory restructure. API docs are now generated in doc/documentation/code/api/html 2005-08-15 15:56 asuraparaju * doc/algorithm/: Makefile.am, algorithm.htm, block_data.htm, const_qual.htm, intro.htm, mb_structs.htm, mot_est.htm, mot_est_and_comp.htm, mv_coding_arch.htm, mv_data_coding.htm, mv_entropy_code.htm, olb_mc.htm, overall_arch.htm, quantisation.htm, rdo.htm, rdo_mot_est.htm, subband_rdo.htm, temporal_prediction_structures.htm, transform_coding.htm, transform_coding_arch.htm, var_size.htm, wlt_transform.htm, figs/DC.jpg, figs/DCSAD.jpg, figs/braces.jpg, figs/d.jpg, figs/eqA.jpg, figs/eqB.jpg, figs/eqC.jpg, figs/eqD.jpg, figs/eqE.jpg, figs/eqF.jpg, figs/eqG.jpg, figs/eqH.jpg, figs/eqI.jpg, figs/eqJ.jpg, figs/fig1.jpg, figs/fig10.jpg, figs/fig12.jpg, figs/fig13.jpg, figs/fig14.jpg, figs/fig15.jpg, figs/fig16.jpg, figs/fig17.jpg, figs/fig18.jpg, figs/fig19.jpg, figs/fig2.jpg, figs/fig20.jpg, figs/fig21.jpg, figs/fig22.jpg, figs/fig23.jpg, figs/fig24.jpg, figs/fig26.jpg, figs/fig27.jpg, figs/fig3.jpg, figs/fig4.jpg, figs/fig5.jpg, figs/fig6.jpg, figs/fig7.bmp, figs/fig7.jpg, figs/fig8.jpg, figs/fig9.jpg, figs/fp.jpg, figs/m.jpg, figs/nhood.jpg, figs/nhoodresidue.jpg, figs/p.jpg, figs/p2.jpg, figs/t.jpg, figs/two.jpg, figs/var.jpg, figs/vtilda.jpg, figs/vw.jpg, mv_data_pred.htm, parent_child.htm, toc.htm, wlt_coeff_coding.htm: Removing old files as part of Documentation directory restructure. Algorithm documentation can now be found in doc/documentation/algorithm/algorithm 2005-08-15 15:52 asuraparaju * doc/programmers/: Makefile.am, programmers_guide.aux, programmers_guide.tex: Removed old files as part of document directory restructure 2005-08-15 12:26 asuraparaju * doc/documentation/algorithm/enhancements/: 050var_wlt.htm, 130alt_bin.htm: Checking in missed doc files missed out in earlier website docs check in. 2005-08-15 12:22 asuraparaju * doc/: browser_compatibility.html, contact.html, documentation.html, faq.html, getting_involved.html, index.html, licenses.html, overview.html, styles.css, template.html, template2.html, todo.html, documentation/algorithm/algorithm/block_data.htm, documentation/algorithm/algorithm/index.htm, documentation/algorithm/algorithm/intra_pred.htm, documentation/algorithm/algorithm/intro.htm, documentation/algorithm/algorithm/mb_structs.htm, documentation/algorithm/algorithm/mot_est.htm, documentation/algorithm/algorithm/mot_est_and_comp.htm, documentation/algorithm/algorithm/mv_coding_arch.htm, documentation/algorithm/algorithm/mv_data_coding.htm, documentation/algorithm/algorithm/mv_data_pred.htm, documentation/algorithm/algorithm/mv_entropy_code.htm, documentation/algorithm/algorithm/olb_mc.xht, documentation/algorithm/algorithm/overall_arch.htm, documentation/algorithm/algorithm/overall_arch_svg.htm, documentation/algorithm/algorithm/parent_child.htm, documentation/algorithm/algorithm/quantisation.xht, documentation/algorithm/algorithm/rdo.htm, documentation/algorithm/algorithm/rdo_mot_est.xht, documentation/algorithm/algorithm/subband_rdo.xht, documentation/algorithm/algorithm/temporal_prediction_structures.htm, documentation/algorithm/algorithm/toc.htm, documentation/algorithm/algorithm/transform_coding.htm, documentation/algorithm/algorithm/transform_coding_arch.htm, documentation/algorithm/algorithm/var_size.htm, documentation/algorithm/algorithm/wlt_coeff_coding.xht, documentation/algorithm/algorithm/wlt_transform.xht, documentation/algorithm/algorithm/figs/fig1.dia, documentation/algorithm/algorithm/figs/fig1.gif, documentation/algorithm/algorithm/figs/fig1.jpg, documentation/algorithm/algorithm/figs/fig1.png, documentation/algorithm/algorithm/figs/fig1.svg, documentation/algorithm/algorithm/figs/fig10.dia, documentation/algorithm/algorithm/figs/fig10.gif, documentation/algorithm/algorithm/figs/fig10.jpg, documentation/algorithm/algorithm/figs/fig10.png, documentation/algorithm/algorithm/figs/fig10.svg, documentation/algorithm/algorithm/figs/fig12.dia, documentation/algorithm/algorithm/figs/fig12.gif, documentation/algorithm/algorithm/figs/fig12.jpg, documentation/algorithm/algorithm/figs/fig12.png, documentation/algorithm/algorithm/figs/fig12.svg, documentation/algorithm/algorithm/figs/fig15.dia, documentation/algorithm/algorithm/figs/fig15.gif, documentation/algorithm/algorithm/figs/fig15.jpg, documentation/algorithm/algorithm/figs/fig15.png, documentation/algorithm/algorithm/figs/fig15.svg, documentation/algorithm/algorithm/figs/fig16.dia, documentation/algorithm/algorithm/figs/fig16.gif, documentation/algorithm/algorithm/figs/fig16.jpg, documentation/algorithm/algorithm/figs/fig16.png, documentation/algorithm/algorithm/figs/fig16.svg, documentation/algorithm/algorithm/figs/fig17.dia, documentation/algorithm/algorithm/figs/fig17.gif, documentation/algorithm/algorithm/figs/fig17.jpg, documentation/algorithm/algorithm/figs/fig17.png, documentation/algorithm/algorithm/figs/fig17.svg, documentation/algorithm/algorithm/figs/fig18.dia, documentation/algorithm/algorithm/figs/fig18.gif, documentation/algorithm/algorithm/figs/fig18.jpg, documentation/algorithm/algorithm/figs/fig18.png, documentation/algorithm/algorithm/figs/fig18.svg, documentation/algorithm/algorithm/figs/fig19.cgm, documentation/algorithm/algorithm/figs/fig19.dia, documentation/algorithm/algorithm/figs/fig19.gif, documentation/algorithm/algorithm/figs/fig19.jpg, documentation/algorithm/algorithm/figs/fig19.png, documentation/algorithm/algorithm/figs/fig19.svg, documentation/algorithm/algorithm/figs/fig19.wmf, documentation/algorithm/algorithm/figs/fig1_100.svg, documentation/algorithm/algorithm/figs/fig1_10000.dia, documentation/algorithm/algorithm/figs/fig1_10000.svg, documentation/algorithm/algorithm/figs/fig1_mod.svg, documentation/algorithm/algorithm/figs/fig1_px.svg, documentation/algorithm/algorithm/figs/fig2.dia, documentation/algorithm/algorithm/figs/fig2.gif, documentation/algorithm/algorithm/figs/fig2.jpg, documentation/algorithm/algorithm/figs/fig2.png, documentation/algorithm/algorithm/figs/fig2.svg, documentation/algorithm/algorithm/figs/fig20.dia, documentation/algorithm/algorithm/figs/fig20.gif, documentation/algorithm/algorithm/figs/fig20.jpg, documentation/algorithm/algorithm/figs/fig20.png, documentation/algorithm/algorithm/figs/fig20.svg, documentation/algorithm/algorithm/figs/fig21.dia, documentation/algorithm/algorithm/figs/fig21.gif, documentation/algorithm/algorithm/figs/fig21.jpg, documentation/algorithm/algorithm/figs/fig21.png, documentation/algorithm/algorithm/figs/fig21.svg, documentation/algorithm/algorithm/figs/fig22.dia, documentation/algorithm/algorithm/figs/fig22.gif, documentation/algorithm/algorithm/figs/fig22.jpg, documentation/algorithm/algorithm/figs/fig22.png, documentation/algorithm/algorithm/figs/fig22.svg, documentation/algorithm/algorithm/figs/fig23.dia, documentation/algorithm/algorithm/figs/fig23.gif, documentation/algorithm/algorithm/figs/fig23.jpg, documentation/algorithm/algorithm/figs/fig23.png, documentation/algorithm/algorithm/figs/fig23.svg, documentation/algorithm/algorithm/figs/fig2_webdraw.svg, documentation/algorithm/algorithm/figs/fig3.bmp, documentation/algorithm/algorithm/figs/fig3.dia, documentation/algorithm/algorithm/figs/fig3.gif, documentation/algorithm/algorithm/figs/fig3.jpg, documentation/algorithm/algorithm/figs/fig3.png, documentation/algorithm/algorithm/figs/fig3.svg, documentation/algorithm/algorithm/figs/fig3_a.svg, documentation/algorithm/algorithm/figs/fig4.dia, documentation/algorithm/algorithm/figs/fig4.gif, documentation/algorithm/algorithm/figs/fig4.jpg, documentation/algorithm/algorithm/figs/fig4.png, documentation/algorithm/algorithm/figs/fig4.svg, documentation/algorithm/algorithm/figs/fig4_dia.svg, documentation/algorithm/algorithm/figs/fig5.dia, documentation/algorithm/algorithm/figs/fig5.gif, documentation/algorithm/algorithm/figs/fig5.jpg, documentation/algorithm/algorithm/figs/fig5.png, documentation/algorithm/algorithm/figs/fig5.svg, documentation/algorithm/algorithm/figs/fig6.dia, documentation/algorithm/algorithm/figs/fig6.gif, documentation/algorithm/algorithm/figs/fig6.jpg, documentation/algorithm/algorithm/figs/fig6.png, documentation/algorithm/algorithm/figs/fig6.svg, documentation/algorithm/algorithm/figs/fig7.jpg, documentation/algorithm/algorithm/figs/fig8.dia, documentation/algorithm/algorithm/figs/fig8.gif, documentation/algorithm/algorithm/figs/fig8.jpg, documentation/algorithm/algorithm/figs/fig8.png, documentation/algorithm/algorithm/figs/fig8.svg, documentation/algorithm/algorithm/figs/fig9.dia, documentation/algorithm/algorithm/figs/fig9.gif, documentation/algorithm/algorithm/figs/fig9.jpg, documentation/algorithm/algorithm/figs/fig9.png, documentation/algorithm/algorithm/figs/fig9.svg, documentation/algorithm/enhancements/010version_num.htm, documentation/algorithm/enhancements/020precision.htm, documentation/algorithm/enhancements/030index_tables.htm, documentation/algorithm/enhancements/040bit_stream.htm, documentation/algorithm/enhancements/060var_blocks.htm, documentation/algorithm/enhancements/070var_mv_precn.htm, documentation/algorithm/enhancements/080multi_ref.htm, documentation/algorithm/enhancements/090nl_quant.htm, documentation/algorithm/enhancements/100multi_quant.htm, documentation/algorithm/enhancements/110spatially_var_quant.htm, documentation/algorithm/enhancements/120wt_ref.htm, documentation/algorithm/enhancements/140pred_ctx.htm, documentation/algorithm/enhancements/150ctx_update.htm, documentation/algorithm/enhancements/160intra_ctxs.htm, documentation/algorithm/enhancements/170global_motion.htm, documentation/algorithm/enhancements/180skipped.htm, documentation/algorithm/enhancements/190mv_trace.htm, documentation/algorithm/enhancements/200interlace.htm, documentation/algorithm/enhancements/index.htm, documentation/algorithm/enhancements/toc.htm, documentation/algorithm/global_motion/affine.htm, documentation/algorithm/global_motion/code.htm, documentation/algorithm/global_motion/index.htm, documentation/algorithm/global_motion/intro.htm, documentation/algorithm/global_motion/optimising.htm, documentation/algorithm/global_motion/projective.htm, documentation/algorithm/global_motion/projective_2.htm, documentation/algorithm/global_motion/toc.htm, documentation/algorithm/global_motion/images/abc.jpg, documentation/algorithm/global_motion/images/affine_1.jpg, documentation/algorithm/global_motion/images/affine_2.jpg, documentation/algorithm/global_motion/images/affine_3.jpg, documentation/algorithm/global_motion/images/affine_4.jpg, documentation/algorithm/global_motion/images/affine_5.jpg, documentation/algorithm/global_motion/images/affine_v_error.jpg, documentation/algorithm/global_motion/images/arrow_up.gif, documentation/algorithm/global_motion/images/code_1.jpg, documentation/algorithm/global_motion/images/code_2.jpg, documentation/algorithm/global_motion/images/code_3.jpg, documentation/algorithm/global_motion/images/code_4.jpg, documentation/algorithm/global_motion/images/next.gif, documentation/algorithm/global_motion/images/optimising_1.jpg, documentation/algorithm/global_motion/images/optimising_2.jpg, documentation/algorithm/global_motion/images/optimising_3.jpg, documentation/algorithm/global_motion/images/optimising_4.jpg, documentation/algorithm/global_motion/images/optimising_5.jpg, documentation/algorithm/global_motion/images/optimising_fi.jpg, documentation/algorithm/global_motion/images/prev.gif, documentation/algorithm/global_motion/images/projective_1.jpg, documentation/algorithm/global_motion/images/projective_10.jpg, documentation/algorithm/global_motion/images/projective_11.jpg, documentation/algorithm/global_motion/images/projective_2.jpg, documentation/algorithm/global_motion/images/projective_3.jpg, documentation/algorithm/global_motion/images/projective_4.jpg, documentation/algorithm/global_motion/images/projective_5.jpg, documentation/algorithm/global_motion/images/projective_6.jpg, documentation/algorithm/global_motion/images/projective_7.jpg, documentation/algorithm/global_motion/images/projective_8.jpg, documentation/algorithm/global_motion/images/projective_9.jpg, documentation/algorithm/global_motion/images/projective_e.jpg, documentation/algorithm/global_motion/images/projective_e_2.jpg, documentation/algorithm/global_motion/images/projective_ec.jpg, documentation/algorithm/global_motion/images/projective_m_1.jpg, documentation/algorithm/global_motion/images/projective_w.jpg, documentation/algorithm/global_motion/images/toc.gif, documentation/algorithm/upconversion/downconv.htm, documentation/algorithm/upconversion/downconv_code.htm, documentation/algorithm/upconversion/downconv_filt.htm, documentation/algorithm/upconversion/index.htm, documentation/algorithm/upconversion/intro.htm, documentation/algorithm/upconversion/results.htm, documentation/algorithm/upconversion/results_down.htm, documentation/algorithm/upconversion/results_up.htm, documentation/algorithm/upconversion/toc.htm, documentation/algorithm/upconversion/upconv.htm, documentation/algorithm/upconversion/upconv_basic.htm, documentation/algorithm/upconversion/upconv_filt.htm, documentation/algorithm/upconversion/upconv_opt.htm, documentation/algorithm/upconversion/upconv_opt_arith.htm, documentation/algorithm/upconversion/upconv_opt_io.htm, documentation/algorithm/upconversion/upconv_opt_other.htm, documentation/algorithm/upconversion/images/image1.jpg, documentation/algorithm/upconversion/images/image2.jpg, documentation/algorithm/upconversion/images/image3.jpg, documentation/algorithm/upconversion/images/image4.jpg, documentation/algorithm/upconversion/images/image5.jpg, documentation/algorithm/upconversion/images/image6.jpg, documentation/algorithm/upconversion/images/next.gif, documentation/algorithm/upconversion/images/prev.gif, documentation/algorithm/upconversion/images/toc.gif, documentation/code/programmers_guide/common_data_structs.htm, documentation/code/programmers_guide/decoder_api.htm, documentation/code/programmers_guide/decoder_api_example.htm, documentation/code/programmers_guide/decoder_api_functions.htm, documentation/code/programmers_guide/decoder_api_overview.htm, documentation/code/programmers_guide/decoder_api_reference.htm, documentation/code/programmers_guide/decoder_data_structs.htm, documentation/code/programmers_guide/decoding.htm, documentation/code/programmers_guide/encoder_api.htm, documentation/code/programmers_guide/encoder_api_example.htm, documentation/code/programmers_guide/encoder_api_functions.htm, documentation/code/programmers_guide/encoder_api_overview.htm, documentation/code/programmers_guide/encoder_api_reference.htm, documentation/code/programmers_guide/encoder_data_structs.htm, documentation/code/programmers_guide/encoding.htm, documentation/code/programmers_guide/index.htm, documentation/code/programmers_guide/input_formats.htm, documentation/code/programmers_guide/intro.htm, documentation/code/programmers_guide/key.htm, documentation/code/programmers_guide/overview.htm, documentation/code/programmers_guide/software.htm, documentation/code/programmers_guide/toc.htm, documentation/code/programmers_guide/images/arrow_right.gif, documentation/code/programmers_guide/images/arrow_up.gif, documentation/code/programmers_guide/images/image1.jpg, documentation/code/programmers_guide/images/image2.jpg, documentation/code/programmers_guide/images/image3.jpg, documentation/code/programmers_guide/images/next.gif, documentation/code/programmers_guide/images/prev.gif, documentation/code/programmers_guide/images/toc.gif, documentation/publications/dirac-handout-lude-04-2004.pdf, documentation/support/test.html, documentation/tools/diagnostics/index.htm, documentation/tools/diagnostics/intro.htm, documentation/tools/diagnostics/operation.htm, documentation/tools/diagnostics/operation_buffer.htm, documentation/tools/diagnostics/operation_code.htm, documentation/tools/diagnostics/operation_des.htm, documentation/tools/diagnostics/operation_trans.htm, documentation/tools/diagnostics/over.htm, documentation/tools/diagnostics/over_diag.htm, documentation/tools/diagnostics/over_intr.htm, documentation/tools/diagnostics/over_oper.htm, documentation/tools/diagnostics/overlay.htm, documentation/tools/diagnostics/overlay_gmv.htm, documentation/tools/diagnostics/overlay_mv.htm, documentation/tools/diagnostics/overlay_mv_arr.htm, documentation/tools/diagnostics/overlay_mv_clr.htm, documentation/tools/diagnostics/overlay_pred.htm, documentation/tools/diagnostics/overlay_sad.htm, documentation/tools/diagnostics/overlay_split.htm, documentation/tools/diagnostics/toc.htm, documentation/tools/diagnostics/images/image1.jpg, documentation/tools/diagnostics/images/image2.jpg, documentation/tools/diagnostics/images/image3.jpg, documentation/tools/diagnostics/images/image4.jpg, documentation/tools/diagnostics/images/image5.jpg, documentation/tools/diagnostics/images/image6.jpg, documentation/tools/diagnostics/images/image7.jpg, documentation/tools/diagnostics/images/image8.jpg, documentation/tools/diagnostics/images/next.gif, documentation/tools/diagnostics/images/prev.gif, documentation/tools/diagnostics/images/toc.gif, images/arrow_right.gif, images/arrow_right_indent.gif, images/arrow_up.gif, images/black_pixel.jpg, images/dirac_banner.jpg, images/icon_html.gif, images/icon_pdf.gif, images/icon_txt.gif, images/icon_zip.gif: Committing website documentation to CVS 2005-08-15 11:24 asuraparaju * doc/faq.htm: Removing unwanted files in doc restructure 2005-08-15 08:34 tjdwave * libdirac_common/arith_codec.h: Added comment explaining look-up table operation. 2005-08-12 11:58 asuraparaju * configure.ac: Include an extra flag to suppress warnings when compiling in debug mode using icc. 2005-08-12 11:57 asuraparaju * README, README.developers: MMX optimisations are enabled by default. Provided instructions as to how to disable it. 2005-08-12 10:26 tjdwave * libdirac_common/motion.cpp: Reinstated transition detection code. This means that mode decision is kinder when a transition in the motion vector field is detected, giving better quality in motion transition areas. 2005-08-11 11:44 tjdwave * libdirac_common/arith_codec.h: Added Pete Bleackley's code to use a look-up table for division. 2005-08-11 08:21 tjdwave * libdirac_common/common.cpp: Added a warning when impossible block parameters are being used, and the encoder changes them. 2005-08-10 17:50 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils_mmx.cpp: Optimised 5_3 wavelet synthesis function, VHFilter5_3::Synth, using MMX instructions resulting in 6 percent speed improvement in decoding SD. 2005-08-10 17:48 asuraparaju * libdirac_encoder/seq_compress.cpp: Fix g++ warning about unused variable recode. 2005-08-10 17:47 asuraparaju * encoder/encmain.cpp: Print error message and exit if input and output file names are the same. Changed back cif preset option to uppercase. Sequence and encoder params currently being used are displayed on standard out before actual coding starts. 2005-08-10 17:45 asuraparaju * configure.ac: MMX optimisations are enabled by default. Use --disable-mmx to explicitly disable them. 2005-08-10 09:13 tjdwave * README: Added modified instructions for -qf and advice about -width and -height. 2005-08-10 09:06 tjdwave * libdirac_motionest/block_match.cpp: Changed motion vector bitrate measure so that transitions from foreground to background and vice-versa are not penalised. 2005-08-10 09:04 tjdwave * libdirac_encoder/seq_compress.cpp: Removed recoding: superfluous now there is no CQ coding. 2005-08-10 09:02 tjdwave * libdirac_encoder/: quality_monitor.cpp, quality_monitor.h: Removed constant quality encoding control mechanism, because it worked too poorly for varied sequences. Instead, QualityMonitor just monitors quality and encoder control reverts to constant Lagrangian parameters. The magic numbers chosen may not work for all sequences or all video standards but will do for the moment. 2005-08-10 08:57 tjdwave * libdirac_decoder/comp_decompress.cpp, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp: Changed default wavelet filters to fast filters APPROX97 and FIVETHREE. Wavelet filter type is now signalled in the frame header so that changing these filters just changes the encoder. (This is now consistent with the spec). 2005-08-10 08:50 tjdwave * libdirac_common/: motion.cpp, motion.h: Fixed bug with way median is calculated. Removed large inline functions from .h and placed in .cpp for clarity. 2005-08-10 08:48 tjdwave * libdirac_common/mot_comp.cpp: Minor tidy of the way that weighting matrices are computed. 2005-08-10 08:44 tjdwave * libdirac_common/: common.cpp, common.h: Removed recode parameter. Added a CodecParams parameter for the wavelet filter being used, to support signalling this in the bitstream, rather than selecting by frame type. (This is in the spec). 2005-08-10 08:42 tjdwave * libdirac_common/: bit_manager.cpp, bit_manager.h: Added support for finding out the current size of bit buffers. This will support future CBR implementations and calculations of bit rate on the fly. 2005-08-10 08:40 tjdwave * libdirac_encoder/: dirac_encoder.cpp, dirac_encoder.h: Removed recode option. Set block parameters for HD720 the same as for SD to get around bug 1245129. Need to fix padding and edge issues to fully resolve this bug. 2005-08-10 08:27 tjdwave * encoder/encmain.cpp: Added feature to print out help if there's an unrecognised/unparsed option. Removed recode feature. 2005-08-01 17:14 asuraparaju * libdirac_decoder/dirac_parser.cpp: Speed up set_component function using MMX optimisation. 2005-08-01 17:14 asuraparaju * libdirac_common/arrays.h: In TwoDArray::Resize, free and reallocate data only if the new dimensions differ from the old one. 2005-08-01 17:12 asuraparaju * win32/VS2003/: DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, libdirac_common/libdirac_common.vcproj: Define HAVE_MMX macro for mmx enabled targets. 2005-08-01 17:11 asuraparaju * util/instrumentation/process_sequence.cpp: Fix uninitialised memory read bug reported by Valgrind on reaching end of sequence. 2005-08-01 17:10 asuraparaju * unit_tests/: motion_comp_test.cpp, motion_comp_test.h: Test all MV precision values - from pixel to an eighth of a pixel. 2005-08-01 17:10 asuraparaju * libdirac_common/wavelet_utils_mmx.cpp: Reimplement VHFilterApprox9_7::Synth and VHFilter13_5::Synth using MMX optimisation. 2005-08-01 17:09 asuraparaju * libdirac_common/upconvert_mmx.cpp: Reimplemented UpConverter::DoUpConverter function using MMX optimisation. 2005-08-01 17:07 asuraparaju * libdirac_common/: mot_comp_mmx.cpp, mot_comp_mmx.h: Implementation of QuarterPixel::CompensateBlock function using MMX optimisation. 2005-08-01 17:06 asuraparaju * libdirac_common/wavelet_utils.cpp: MMX version of Wavelet sythesis functions are used if MMX is enabled. 2005-08-01 17:05 asuraparaju * libdirac_common/upconvert.cpp: MMX version of DoUpConverter is used if MMX is enabled. 2005-08-01 17:04 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h: Modified the block weights to be of type short to make efficient use of MMX instructions. Modified CompensateComponente to make more efficient use of data in cache. MMX versions of CompensateBlock are used if MMX is enabled. 2005-08-01 17:04 asuraparaju * libdirac_common/Makefile.am: Include new mmx optimisation source files and headers. 2005-07-26 10:39 tjdwave * libdirac_encoder/dirac_encoder.cpp: Reduced chroma weighting factors in order to increase chroma fidelity - chroma bit rates should increase from about 5% of total for 420 to 7.5% of total. Changed default block separation for HD720 preset to remove block edge overlaps at the top of the screen. This may be returned to the old settings when we know why they caused the problem. 2005-07-25 18:01 mservais * libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_motionest/global_motion.cpp, libdirac_motionest/global_motion.h, libdirac_motionest/me_motion_type_decn.cpp, libdirac_motionest/me_motion_type_decn.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: Minor bug fixes and added some extra comments 2005-07-22 18:09 asuraparaju * configure.ac: updated revision to 0.5.3 2005-07-22 18:09 asuraparaju * libdirac_common/bit_manager.h: Updated bitstream version to 0.5 since the bitstream is no longer compatible with dirac-0.5.2 2005-07-22 12:59 asuraparaju * configure.ac: Include macro AC_SYS_LARGEFILE to overcome the 2GB i/o file limit. Fix for bug #1212581. 2005-07-21 09:11 tjdwave * encoder/encmain.cpp: Made presets non-case-sensitive. 2005-07-20 10:29 tjdwave * libdirac_encoder/dirac_encoder.cpp: Fixed bug where block parameters were being set incorrectly. 2005-07-20 09:43 tjdwave * README: Added text about recode CLI option. 2005-07-19 16:39 tjdwave * encoder/encmain.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/dirac_encoder.h, libdirac_encoder/seq_compress.cpp: Added -recode parameter. If -recode [n] is present, then the encoder will recode up to n times (ie will encoder up to n+1 times). 2005-07-19 15:17 tjdwave * libdirac_common/mv_codec.cpp, libdirac_motionest/me_mode_decn.cpp: Fixed bug 1240709. Common mode is now used to reduce encoding of prediction modes. Common mode was also being set incorrectly in the motion estimation process, which caused divergence between the encoder and decoder values. Since common mode wasn't used, this bug was masked before. Both now fixed. 2005-07-08 10:26 tjdwave * libdirac_common/: upconvert.cpp, upconvert.h: Incorporated patch 1211899. This tidies up the code and makes it confirm to dirac coding conventions, and also uses a smaller filter. This commit differs from the patch in that the filter is not reduced to 6 taps but is reducted to 10 taps instead. In the future, variable filter coefficients may be supported via templated polymorphism. 2005-06-22 17:52 mservais * libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_motionest/filter_weighted_local.cpp, libdirac_motionest/global_motion.cpp, libdirac_motionest/global_motion.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_motion_type_decn.cpp, libdirac_motionest/me_motion_type_decn.h, libdirac_motionest/model_affine.cpp, libdirac_motionest/model_affine.h, libdirac_motionest/model_projective.cpp, libdirac_motionest/model_projective.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: When using global motion (but not exclusively global motion), the global motion decisions can now be flagged either per Prediction Unit or per Macro-Block. Also, the use of a Common Mode for each Macro-Block is now possible. (This had not been fully implemented before.) 2005-06-10 15:15 tjdwave * libdirac_encoder/quality_monitor.cpp, libdirac_motionest/block_match.cpp: Fixed bug with computing MV costs. Incorporated patch 1216297 for quality measurement. 2005-06-10 11:52 tjdwave * libdirac_encoder/dirac_encoder.cpp: Changed default block height and width for motion compensation to 24 by 24 pixels from 20 by 20. Separation remains 16 by 16. The result is reduced blockiness in areas of poor motion prediction. Downside is slower encoder, but the block parameters are merely scaled-up versions of the SD parameters. 2005-05-26 19:48 asuraparaju * extras/patches/ffmpeg-0.4.9-pre1-dirac-0.5.x.patch: Fixed bug 1209053. Frame size parameters are now fetched from the AV context before setting frame size. Also fixed a bug where quality factor was not being set correctly. 2005-05-26 16:20 stuart_hc * tests/samples.at: Fix bug 1209017: use -width/-height instead of -x/-y 2005-05-26 16:01 stuart_hc * encoder/encmain.cpp: Fix bug 1209017: use -width/-height instead of -x/-y Also fix SEGV when incorrect -cformat parameter is passed. 2005-05-26 15:59 stuart_hc * README: Fix bug 1209017: use -width/-height instead of -x/-y 2005-05-25 14:30 asuraparaju * ChangeLog: [no log message] 2005-05-25 13:51 asuraparaju * README.release: Add ffmpeg patch to checklist 2005-05-25 13:43 asuraparaju * NEWS: Included dirac-0.5.2 release notes 2005-05-25 13:40 asuraparaju * AUTHORS: Updated contibutor list 2005-05-25 13:06 asuraparaju * extras/patches/: MPlayer-1.0pre7_dirac-0.5.x.patch, README_MPlayer-1.0pre7_dirac-0.5.x_patch, README_ffmpeg-0.4.9-pre1-dirac-0.5.x_patch, README_transcode-0.6.14_dirac-0.5.x_patch, ffmpeg-0.4.9-pre1-dirac-0.5.x.patch, transcode-0.6.14-dirac-0.5.x.patch: Patches to MPlayer, ffmped and transcode to add Dirac support to these tools. 2005-05-24 08:28 tjdwave * libdirac_encoder/seq_compress.cpp: Fixed bug with count increment so that fast adaption takes place on first recoding rather than second. 2005-05-20 15:30 asuraparaju * README: Modified this file to remove all references to image header files which are no longer required. 2005-05-20 15:25 asuraparaju * libdirac_encoder/seq_compress.cpp: Fix minor glitches in verbose output 2005-05-20 15:02 asuraparaju * win32/VS2003/dirac.sln: Remove MakeHeader from list of targets as contents of header files have been replaced with command line arguments. 2005-05-20 15:01 asuraparaju * encoder/encmain.cpp, libdirac_encoder/dirac_encoder.cpp, libdirac_encoder/seq_compress.cpp: Fix bugs in bit rate reporting 2005-05-20 14:05 asuraparaju * Makefile.am, configure.ac: make_header utility is no longer required. So removing picheader directory from list of targets. 2005-05-20 13:44 asuraparaju * tests/: colourbars.at, create_dirac_testfile.pl, samples.at: Remove all references to make_header. Sequence header information is now passed to encoder on the command line. 2005-05-20 13:43 asuraparaju * util/instrumentation/instrmain.cpp: The encoder now writes sequence header information to the instrumentation output file. So read sequence info from instrumentation file. 2005-05-20 13:42 asuraparaju * encoder/encmain.cpp: Fix g++ errors. Write the sequence header information to the instrumentation file. 2005-05-20 13:41 asuraparaju * libdirac_common/: pic_io.cpp, pic_io.h: Delete all code relating to header file creation/reading. All sequence parameters are now supplied to encoder via the command line. 2005-05-19 12:23 dirac_dev * decoder/decmain.cpp: Removed any references to header files. 2005-05-19 12:15 dirac_dev * encoder/encmain.cpp: Removed requirement of a header file. All parameters are handled through command-line options. Most options will still be set by the pre-set option, although they can be overriden. 2005-05-19 12:03 asuraparaju * unit_tests/motion_comp_test.cpp: Update motion compensation tests to use the helper function in MotionCompensator to instantiate the MotionCompensator sub-class for the mv precision value selected. 2005-05-19 11:56 asuraparaju * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h: Now reads the MV precision in the frame header. 2005-05-19 11:35 asuraparaju * libdirac_encoder/frame_compress.cpp: Writing the motion vector precision value as part of frame header. Default mv precision is set to 2 i.e. quarter pixel. 2005-05-19 11:25 asuraparaju * libdirac_motionest/me_utils_mmx.cpp: Fixed C/C++ aliasing violations that caused a performance slow down when compiled with gcc 4.0.0 2005-05-19 11:24 asuraparaju * libdirac_motionest/me_utils.h: Fixed gcc 4.0.0 warnings 2005-05-19 11:23 asuraparaju * libdirac_common/bit_manager.h: Updated bitstream version to 0.4 2005-05-19 11:21 asuraparaju * libdirac_common/: common.cpp, common.h: Added a field to CodecParams class for motion vector precision. A value of 'n' implies a precision of (2**-n)i pixel. i.e. a value of 2 implies an mv precision of 1/4 i.e. quarter pixel. 2005-05-19 11:16 asuraparaju * libdirac_common/: mot_comp.cpp, mot_comp.h: Added support for multiple levels of motion vector precision - pixel, half pixel, quarter pixel and multiple pixel. The main MotionCompensator class is an abstract class. Each of its sub-classes define the CompensateBlock function to a particular level of motion precision. 2005-05-19 11:12 asuraparaju * libdirac_motionest/: me_mode_decn.cpp, me_subpel.cpp, motion_estimate.cpp: Motion estimation modified to support variable motion vector precision. The implementation is preliminary, and should be modified later: vectors are scaled by a factor 8 to give a maximum of eighth-pel accuracy. Generic block matching functions are used at this accuracy even though true accuracy will be less - the subpixel search is merely truncated. In the future, half-pixel and quarter-pixel block matching functions should be written, just as for motion compensation as these will be faster. 2005-05-13 09:40 mservais * libdirac_common/mot_comp.cpp, libdirac_common/motion.cpp, libdirac_common/mv_codec.cpp, libdirac_motionest/me_motion_type_decn.cpp, libdirac_motionest/me_motion_type_decn.h, libdirac_motionest/motion_estimate.cpp, win32/VS2003/ConversionUtils/BMPtoRGB/Debug/BuildLog.htm, win32/VS2003/ConversionUtils/BMPtoRGB/Debug/vc70.idb, win32/VS2003/ConversionUtils/BMPtoRGB/Debug/vc70.pdb: Prediction units can now use either global or block motion. (Decision based on similarity of global and block motion vectors.) 2005-05-11 10:13 tjdwave * libdirac_common/wavelet_utils.cpp: Fixed -pedantic errors on unused variables. Replaced dynamic built-in array (which violates ISO C++) with array class. 2005-05-05 15:10 tjdwave * unit_tests/wavelet_utils_test.cpp: Added support for testing all different wavelet transforms for invertibility. 2005-05-04 14:35 tjdwave * libdirac_common/common.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_common/band_codec.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp: Modifications to support different wavelet filter types. wavelet_utils.{cpp,h} Added three new filter types with lifting implementations, all much faster than Daubechies (9,7). Refactored the code to support filter selection in constructor of WaveletTransform class. Added method to correctly output DC band expected values. Separated off coefficient interleaving and deinterleaving. Setting of subband weights is now a WaveletTransform function, as noise weighting factors depend on the filter choice. band_codec.cpp Removed literal constant and used 0 instead for top-left DC value prediction. comp_compress.cpp, comp_decompress.cpp Changed default filters from Daubechies (9,7) to faster filters which perform almost as well. This is a temporary mod. It is intended to be able to select fast filters via the CLI and for wavelet filter choices to be signalled in frame headers. This will be done in later refactoring to converge with the bitstream syntax in terms of frame types and header information. 2005-05-04 12:13 mservais * libdirac_motionest/: me_motion_type_decn.cpp, me_motion_type_decn.h: Introduces decision as to whether individual prediction units should use Global Motion or not. (Not complete yet!) 2005-05-04 12:06 mservais * libdirac_common/common.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_motionest/motion_estimate.cpp, win32/VS2003/libdirac_common/libdirac_common.vcproj, win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj: Introduces decision as to whether individual prediction units should use Global Motion or not. (Not complete yet!) 2005-04-13 16:36 asuraparaju * libdirac_common/arrays.h: New constants PIXEL_VALUE_MIN and PIXEL_VALUE_MAX to define the upper and lower limits on pixel values. 2005-04-13 16:28 asuraparaju * libdirac_common/frame.cpp: Included an MMX implementation of Frame::ClipComponent to achieve a decoding speedup in conjuction with mot_comp.cpp changes. Also using pointer arithmetic insted of index operator when accessing TwoDArray objects. 2005-04-13 16:25 asuraparaju * libdirac_motionest/me_utils_mmx.cpp: Using pointer arithmetic instead of the index operator when using TwoDArray objects to get an overall slight improvement in encoding speed. 2005-04-13 16:16 asuraparaju * libdirac_common/mot_comp.cpp: Partially applied patch 1151976. Using pointer arithmetic instead of index operator to access TwoDArray objects. A few other tweaks to improve cache locality. 2005-04-13 16:09 asuraparaju * libdirac_encoder/quant_chooser.cpp: Fix errors reported by MIPSPro C++ compiler regarding not specifiying the namespace for math functions like floor and log. 2005-04-13 16:06 asuraparaju * libdirac_common/arith_codec.h: Fix g++ warning re unused variables. 2005-04-13 16:06 asuraparaju * configure.ac: Included icc compile time flag -wr964 to treat warning 964 as a remark when mmx is enabled. 2005-04-12 11:56 timborer * doc/DiracSpecV0.1.doc: Modifed default Motion Vector precision (now 1/4 pel), added note that max MV precision should be included in Level. Corrected typos. 2005-04-06 15:31 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h, mv_codec.cpp, mv_codec.h: Oops. Correct files now uploaded. 2005-04-06 15:28 tjdwave * libdirac_common/: band_codec.cpp, band_codec.h, mv_codec.cpp, mv_codec.h: Changes to reflect mods to arith_codec.h: in particular, Update is removed as this is no longer a virtual function. Instead the base class function is called directly in the encoding/decoding engines. 2005-04-06 15:07 tjdwave * libdirac_common/arith_codec.h: Speed-up to arithmetic coding and decoding, using probability range renormalisation to avoid unnecessary divides. 2005-04-05 14:56 timborer * doc/DiracSpecV0.1.doc: Initial draft of Dirac spec. This is not a specification of what we have but a proposed spec for what we want. At the moment it focuses on syntax rather than semantics. It is inkorect and incomplet. 2005-03-17 11:21 mservais * libdirac_motionest/motion_estimate.cpp: Example with "Global Motion Only" set to 1. 2005-03-17 11:01 mservais * libdirac_motionest/: filter_weighted_local.cpp, global_motion.cpp, me_mode_decn.cpp, model_affine.cpp, model_affine.h, model_global_motion.h, model_projective.h, motion_estimate.cpp, reject_intensity.cpp, reject_sad.cpp: Initial implementation of Global Motion. Allows for Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-17 10:57 mservais * libdirac_common/common.h, libdirac_common/mot_comp.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h: Initial implementation of Global Motion. Allows for Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-17 10:43 mservais * libdirac_motionest/reject_local.cpp: Initial implementation of Global Motion. Allows for Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-17 10:34 mservais * libdirac_motionest/global_motion.h: Initial Implementation for Global Motion. Allows a Global Motion Only switch for each frame. If this is set, only the Global Motion Parameters are coded - i.e. no block motion vectors are coded. 2005-03-11 13:43 asuraparaju * libdirac_common/: common.cpp, common.h: Fixed bug 1159031. dirac_quantiser_lists is not an extern anymore and is limited to file scope. 2005-03-04 14:55 tjdwave * libdirac_common/arrays.h, AUTHORS: Added Mike Ferenduros' mods to arrays, so that memory allocation is always contiguous. Also added him to list of contributors. 2005-02-17 14:07 asuraparaju * ChangeLog: [no log message] 2005-02-17 13:05 asuraparaju * NEWS: Included Dirac 0.5.1 release notes 2005-02-17 13:05 asuraparaju * README.release: Included Dirac Directshow filter and Mplayer patch to checklist 2005-02-17 13:03 asuraparaju * README.developers: Modified MMX optimisation implementation guidelines to use Intrinsics. Included notes on conducting end-to-end test using 'make check' and create_dirac_testfile.pl 2005-02-17 13:02 asuraparaju * README: Included notes on how to enable MMX optimisations and how to use the data generation script create_dirac_testfile.pl 2005-02-17 12:23 asuraparaju * picheader/headmain.cpp: Not returning an exit code when usage info is displayed. 2005-02-17 12:22 asuraparaju * tests/create_dirac_testfile.pl: Fix compilation errors. 2005-02-17 12:21 asuraparaju * tests/Makefile.am: Include scrip create_dirac_testfile.pl in install list to bin directory 2005-02-16 17:52 asuraparaju * libdirac_common/bit_manager.h: the bitstream has changed. So updated bitstream version so that an error is reported if attempting to decode older versions of Dirac files. 2005-02-16 17:48 asuraparaju * extras/patches/: MPlayer-1.0pre6a_dirac-0.5.x.patch, README_MPlayer-1.0pre6a_dirac-0.5.x_patch: Mplayer 1.0pre6a patch to enable Dirac support in MPlayer 2005-02-16 17:42 asuraparaju * extras/dirac_dshow/src/diracsplitter/: DiracSplitter.cpp, DiracSplitter.def: Dirac direct show filter files 2005-02-16 17:40 asuraparaju * extras/dirac_dshow/src/basesplitter/: BaseSplitterFileEx.cpp, BaseSplitterFileEx.h: Direct show filter files 2005-02-16 17:19 asuraparaju * extras/dirac_dshow/: DiracSplitter.sln, INSTALL, README.developers, include/IChapterInfo.h, include/IKeyFrameInfo.h, include/moreuuids.h, include/matroska/matroska.h, include/winddk/devioctl.h, include/winddk/ntddcdrm.h, include/winddk/ntddstor.h, src/basesplitter/AsyncReader.cpp, src/basesplitter/AsyncReader.h, src/basesplitter/BaseSplitter.cpp, src/basesplitter/BaseSplitter.h, src/basesplitter/BaseSplitterFile.cpp, src/basesplitter/BaseSplitterFile.h, src/basesplitter/basesplitter.vcproj, src/basesplitter/stdafx.cpp, src/basesplitter/stdafx.h, src/diracsplitter/DiracSplitter.h, src/diracsplitter/DiracSplitter.rc, src/diracsplitter/DiracSplitter.vcproj, src/diracsplitter/DiracSplitterFile.cpp, src/diracsplitter/DiracSplitterFile.h, src/diracsplitter/resource.h, src/diracsplitter/stdafx.cpp, src/diracsplitter/stdafx.h, src/dsutil/DSUtil.cpp, src/dsutil/DSUtil.h, src/dsutil/MediaTypes.cpp, src/dsutil/MediaTypes.h, src/dsutil/NullRenderers.cpp, src/dsutil/NullRenderers.h, src/dsutil/a_yuv2rgb.asm, src/dsutil/a_yuvtable.asm, src/dsutil/convert_a.asm, src/dsutil/dsutil.vcproj, src/dsutil/stdafx.cpp, src/dsutil/stdafx.h, src/dsutil/text.cpp, src/dsutil/text.h, src/dsutil/vd.cpp, src/dsutil/vd.h, src/switcher/AudioSwitcher.h, src/switcher/StreamSwitcher.h: Patches and DirectShow filter related files 2005-02-15 11:39 asuraparaju * win32/VS2003/: dirac.sln, ConversionUtils/ConversionUtils.vcproj, ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj, ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj, ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj, ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj, ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj, ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj, ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj, ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj, ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj, ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj, ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj, ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj, ConversionUtils/libconv_common/libconv_common.vcproj, DecodeDirac/DecodeDirac.vcproj, DiracDecoder/DiracDecoder.vcproj, DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, DiracEncoder/DiracEncoder.vcproj, DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, EncodeDirac/EncodeDirac.vcproj, Everything/Everything.vcproj, InstrumentDirac/InstrumentDirac.vcproj, InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj, MakeHeader/MakeHeader.vcproj, libdirac_common/libdirac_common.vcproj, libdirac_motionest/libdirac_motionest.vcproj: Added new targets for building with MMX optimisation enabled. 2005-02-15 11:38 asuraparaju * configure.ac: Update release id to 0.5.1. Added flag to enable MMX optimisation and test for checking if MMX optimising is available. Default opt level changed to -O3 for g++ and icc. Added extra optimisation flags when compiling with g++. Fixed cppunit availability check to report linker errors so that shared library mismatches are trapped. 2005-02-15 11:33 asuraparaju * encoder/encmain.cpp: Modified error messages to output more information. 2005-02-15 11:31 asuraparaju * tests/: Makefile.am, create_dirac_testfile.pl, samples.at, testsuite.at: A new script to generate dirac test data of different chroma formats from source RGB format input data. A new testcase, samples.at, which looks for Dirac test data in the directory specified by the env variable DIRAC_INPUT_DATA_DIR. The script and testcase are useful to run end-to-end tests using all input formats supported by Dirac. 2005-02-15 11:21 asuraparaju * libdirac_motionest/: Makefile.am, me_utils.cpp, me_utils_mmx.cpp, me_utils_mmx.h: Using MMX to compute block differences. Applied a modified version of patch 1081743. 2005-02-15 11:15 asuraparaju * libdirac_common/: band_codec.h, wavelet_utils.h: Fixed doxygen warnings 2005-02-15 11:13 asuraparaju * acinclude.m4: File containing user defined autoconf macro functions specific to Dirac project 2005-02-08 14:02 tjdwave * libdirac_common/arith_codec.h: Replaced delete with delete[] in destructor. Added clean-up in data reading so that the class can be re-used without causing a memory leak. 2005-02-07 12:12 tjdwave * libdirac_encoder/comp_compress.cpp, libdirac_decoder/comp_decompress.cpp: Fixed bug where blocks of coefficients with zero dimensions were being generated. There's now a minimum size of 4x4 coefficients for a code block. 2005-02-02 15:29 asuraparaju * libdirac_common/arith_codec.h, libdirac_common/band_codec.cpp, libdirac_common/mv_codec.cpp, libdirac_decoder/comp_decompress.cpp: Fixed g++ warnings when compiled in debug mode (i.e. configure with flag --enable-debug) 2005-02-02 15:24 dirac_dev * win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj: Added quant_chooser.cpp/h 2005-02-02 14:50 tjdwave * libdirac_decoder/: comp_decompress.cpp, comp_decompress.h: Added support for multiple code blocks/quantisers. Added separate function for reading header. 2005-02-02 14:49 tjdwave * libdirac_encoder/Makefile.am: Modded to add quant_chooser.{cpp,h} 2005-02-02 14:47 tjdwave * libdirac_encoder/: comp_compress.cpp, comp_compress.h, quality_monitor.cpp, quality_monitor.h: Removed quantiser selection from comp_compress to another class. 2005-02-02 14:46 tjdwave * libdirac_encoder/: quant_chooser.cpp, quant_chooser.h: Modified author details. 2005-02-02 14:44 tjdwave * libdirac_encoder/: quant_chooser.cpp, quant_chooser.h: Added classes to handle selecting quantisers. These allow a single quantiser per subband to be chosen, or alternatively one for each code block. 2005-02-02 14:42 tjdwave * libdirac_common/: band_codec.cpp, common.cpp, mv_codec.cpp, wavelet_utils.cpp, arith_codec.h, band_codec.h, common.h, mv_codec.h, wavelet_utils.h: Modified wavelet coeff coding to code blocks of coefficients. with skip flags if all coefficients are zero. Wavelet coefficient coding has reduced use of class member variables for clarity. The arithmetic coding and decoding engines have been modified to improve speed and code organisation. The decoder now reads in all the data before beginning decoding. Coding of motion vector data has been tidied, and modified to accommodate changes in the arithmetic coding engine. Block prediction modes are now coded slightly differently, which improves compression performance. 2005-01-24 16:58 tjdwave * libdirac_common/common.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_motionest/me_mode_decn.cpp: Changed prediction of block modes to be bitwise - bit 0 indicates the presence of a Ref1 MV, and bit 1 indicated the presence of a Ref2 MV. This is also reflected in selecting modes in motion estimation. 2005-01-24 16:06 tjdwave * libdirac_motionest/me_mode_decn.cpp: Re-instituted bi-directional prediction, inadvertently commented out. 2005-01-24 14:43 tjdwave * libdirac_motionest/: block_match.cpp, block_match.h, me_subpel.cpp: Made local motion vector variance a member function of the block matcher, and made the cut-off limits depend on the picture size. This improves performance at HD by 4% or so. 2005-01-18 19:13 mservais * libdirac_motionest/global_motion.h: Testing CVS (Marc) 2005-01-18 18:20 mservais * libdirac_motionest/global_motion.h: Testing CVS (Marc) 2005-01-18 17:42 mservais * libdirac_motionest/global_motion.cpp: Marc: Testing that CVS works OK 2005-01-12 17:50 asuraparaju * libdirac_motionest/global_motion.h: Forgot to add this file with the earlier lot of global motion files 2005-01-12 16:18 asuraparaju * win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj: Added global motion related files to the project 2005-01-12 15:30 asuraparaju * libdirac_motionest/: Makefile.am, filter_weighted_local.cpp, filter_weighted_local.h, global_motion.cpp, model_affine.cpp, model_affine.h, model_global_motion.cpp, model_global_motion.h, model_projective.cpp, model_projective.h, motion_estimate.cpp, refine_motion_vector_field.cpp, refine_motion_vector_field.h, reject_edge.cpp, reject_edge.h, reject_intensity.cpp, reject_intensity.h, reject_local.cpp, reject_local.h, reject_motion_vector_outliers.cpp, reject_motion_vector_outliers.h, reject_outlier.cpp, reject_outlier.h, reject_sad.cpp, reject_sad.h, reject_value.cpp, reject_value.h, test_global_motion_model.cpp, test_global_motion_model.h, test_mv_sad.cpp, test_mv_sad.h: Global motion estimation related new files and mods to existing files 2004-12-22 11:59 tjdwave * libdirac_motionest/block_match.cpp: Fixed bug with assigning costs to lists of vectors, reported by Eric Rannaud. 2004-12-10 15:28 asuraparaju * libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Fixed bug 1081435. 2004-12-10 15:21 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, picheader/Makefile.am, util/instrumentation/Makefile.am: Link in math library, libm, if required. 2004-12-10 15:20 asuraparaju * tests/colourbars.at: Not ignoring standard error so that errors are trapped when running the test suite. 2004-12-10 15:18 asuraparaju * encoder/encmain.cpp: Print the bitrate to standard output even when not in verbose mode. 2004-12-10 15:16 asuraparaju * libdirac_encoder/comp_compress.cpp: Included Peter Meerwald in list of contributors 2004-12-10 15:13 asuraparaju * libdirac_encoder/comp_compress.cpp: Fixed errors reported by MIPSpro 7.4 C++ compiler. Applied patch 1081664 which improves encoding speed by 10-15%. 2004-12-10 15:04 asuraparaju * configure.ac: Added check to see if math library, libm, needs to be linked. Added test to check for C++ header files that are not included in old versions of C++ compilers. Applied patch 1081730. 2004-12-10 14:59 asuraparaju * bootstrap: Exit with a failure message if automake fails. 2004-12-01 16:21 asuraparaju * win32/VS2003/MakeHeader/MakeHeader.vcproj: MakeHeader.exe now is correctly being created in win32/VS2003/bin/ directory. 2004-12-01 14:45 asuraparaju * ChangeLog: [no log message] 2004-12-01 14:40 asuraparaju * NEWS: Included 0.5.0 release notes 2004-12-01 14:39 asuraparaju * README: Updated Section 3 (Building and installing) to reflect changes to building the codec under UNIX-like envoroments and MS Windows. Added sub-section on how to build Dirac coder on MS Windows platform using MS VC++ .NET 2003. Updated make_header usage in the File Formats suc-section. Update encoder app usage information. 2004-12-01 14:35 asuraparaju * README.developers: New sub-section on namespaces to be used in Dirac. Added note on new test target 'valgrind-check' 2004-12-01 14:32 asuraparaju * TODO: Replaced contents with link to the TODO list on Dirac homepage 2004-12-01 14:13 timborer * util/conversion/YUV420toRGB.cpp: Fixed bug 1050816. 2004-11-29 12:54 asuraparaju * libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.h, libdirac_common/bit_manager.h, libdirac_common/common.h, libdirac_common/mot_comp.h, libdirac_common/mv_codec.h, libdirac_common/pic_io.h, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.h, libdirac_decoder/seq_decompress.h, libdirac_encoder/seq_compress.h, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.h: Fix warnings reported by doxygen 2004-11-26 13:47 asuraparaju * misc/xparam-1.22-gcc-3.4.0.patch: xparam package not used hence removed this file from repository 2004-11-26 13:43 asuraparaju * windows/dirac/: dirac.dsw, libdirac_common/libdirac_common.dsp, libdirac_decoder/libdirac_decoder.dsp, libdirac_encoder/libdirac_encoder.dsp, libdirac_motionest/libdirac_motionest.dsp: Removing older VS files that are no longer supported 2004-11-26 13:36 asuraparaju * unit_tests/: frames_test.cpp, frames_test.h, motion_comp_test.cpp, motion_comp_test.h: Unit test for Motion Compensation 2004-11-26 13:36 asuraparaju * unit_tests/Makefile.am: Added Motion compensation unit test related files to list of targets 2004-11-26 13:28 asuraparaju * configure.ac: Modified check for cppunit test framework to ensure that it can run without errors. This was required because unit tests fail when built with icc. This is a temporary measure until it is determined why unit tests fail when built with icc on linux. 2004-11-26 13:23 asuraparaju * AUTHORS: Updated list of contributors 2004-11-26 13:22 asuraparaju * Makefile.am: Removed win directory from distribution list as build with nmake is no longer supported. Added win32 to list of target subdirectories 2004-11-26 13:13 asuraparaju * win32/: Makefile.am, VS2003/Makefile.am, VS2003/dirac.sln, VS2003/ConversionUtils/ConversionUtils.vcproj, VS2003/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj, VS2003/ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj, VS2003/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj, VS2003/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj, VS2003/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj, VS2003/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj, VS2003/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj, VS2003/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj, VS2003/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj, VS2003/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj, VS2003/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj, VS2003/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj, VS2003/ConversionUtils/libconv_common/libconv_common.vcproj, VS2003/DecodeDirac/DecodeDirac.vcproj, VS2003/DiracDecoder/DiracDecoder.vcproj, VS2003/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, VS2003/DiracEncoder/DiracEncoder.vcproj, VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, VS2003/EncodeDirac/EncodeDirac.vcproj, VS2003/Everything/Everything.vcproj, VS2003/InstrumentDirac/InstrumentDirac.vcproj, VS2003/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj, VS2003/MakeHeader/MakeHeader.vcproj, VS2003/libdirac_common/libdirac_common.vcproj, VS2003/libdirac_motionest/libdirac_motionest.vcproj: Solution and Project files for building Dirac using MS Visual Studio 2003 2004-11-25 13:42 asuraparaju * decoder/decmain.cpp, encoder/encmain.cpp: Modified to use only public API and none of the C++ classes 2004-11-25 13:41 asuraparaju * libdirac_common/dirac_types.h: Turn off _declspec for non-windows builds and windows static builds 2004-11-24 11:41 tjdwave * doc/algorithm/rdo_mot_est.htm: Remaining mods to algorithmic docs. 2004-11-24 11:27 tjdwave * doc/algorithm/: algorithm.htm, const_qual.htm, intra_pred.htm, intro.htm, quantisation.htm, subband_rdo.htm: Mods to algorithm docs; intra_pred.htm removed. 2004-11-22 14:23 asuraparaju * ChangeLog: [no log message] 2004-11-22 14:15 asuraparaju * AUTHORS: Updated list of contributors. 2004-11-22 14:05 asuraparaju * libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_common/common_types.h, libdirac_common/dirac_assertions.h, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/wavelet_utils.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/dirac_cppparser.cpp, libdirac_decoder/dirac_cppparser.h, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.h, libdirac_encoder/comp_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, libdirac_motionest/pixel_match.cpp, libdirac_motionest/pixel_match.h: Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:58 asuraparaju * bootstrap: Added libtool support 2004-11-22 13:57 asuraparaju * dirac.pc.in: After the library restructuring, only two libraries are required - the encoder and decoder libraries. 2004-11-22 13:57 asuraparaju * configure.ac: Added libtool support to build libraries. 2004-11-22 13:56 asuraparaju * INSTALL: Minor changes related to the main configure file and the flags to use 2004-11-22 13:56 asuraparaju * README: Added descrition of additional flags available at configure time 2004-11-22 13:54 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, util/conversion/common/Makefile.am, util/instrumentation/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Instead of 4 libraries only two libraries are now built and installed - libdirac_encoder and libdirac_decoder. Only the public "C" API headers and libraries are copied to the installation directories when 'make install' is used. Now using libtool to build libraries. On GNU/Linux and UNIX-like platforms, shared and static versions of the exported libraries are built. On MS Windows platforms, only shared libraries or static libraries can be built but not both. 2004-11-22 13:51 asuraparaju * tests/: Makefile.am, colourbars.at, unittests.at: Added valgrind support while running tests. The 'make valgrind-check' command now runs valgrind memory checks on all the tests. Note that the tests take a very long time to run in this mode 2004-11-22 13:50 asuraparaju * util/: Makefile.am, conversion/Makefile.am: Include Id tag to track revisions. 2004-11-22 13:48 asuraparaju * doc/: Makefile.am, algorithm/Makefile.am, api/Makefile.am, programmers/Makefile.am: Included the Id tag to track revisions. 2004-11-22 13:46 asuraparaju * Makefile.am: Added support for 'valgrind-check' argument to make. 2004-11-22 13:42 asuraparaju * util/instrumentation/libdirac_instrument/: draw_overlay.cpp, draw_overlay.h, gm_inliers.cpp, gm_inliers.h, motion_arrows.cpp, motion_arrows.h, motion_colour.cpp, motion_colour.h, motion_colour_arrows.cpp, motion_colour_arrows.h, overlay.cpp, overlay.h, overlay_symbols.cpp, overlay_symbols.h, pred_mode.cpp, pred_mode.h, sad.cpp, sad.h, split_mode.cpp, split_mode.h: Fixed "invalid read" and "memory leak" errors reported by valgrind. Added namespace support. All instrumentation library functionality is in the namespace dirac_instr. 2004-11-22 13:39 asuraparaju * util/instrumentation/: process_sequence.cpp, process_sequence.h: Replace all refrences to PicInput and PicOutput classes with FileStreamInput and FileStreamOutput classes. m_zl (number of frames in sequence) is no longer part of the Sequence header. Changed function ProcessSequence::DoSequence to work around this. 2004-11-22 13:39 asuraparaju * util/instrumentation/instrmain.cpp: Replaces all references to PicInput and PicOutput classes with FileStreamInput and FileStreamOutput classes. 2004-11-22 13:37 asuraparaju * picheader/: Makefile.am, headmain.cpp: Number of frames in a sequence is no longer required in encode/decode operations. 2004-11-22 13:36 asuraparaju * libdirac_encoder/: seq_compress.cpp, seq_compress.h: Restructured SequenceCompressor class to separate frame loading and frame compression functionality into two different functions. This was necessary to implement the "C" interface to the encoder. Added new access functions, GetFrameEncoded and GetMEData(), to return the latest frame encoded and the motion estimation data associated with it. Added function EndSequence that writes end of sequence information the the output bitstream. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:35 asuraparaju * libdirac_encoder/: frame_compress.cpp, frame_compress.h: Motion Estimation data is no longer written to a file. Instead, added new functions, IsMEDataAvail and GetMEdata, to enable class user to access the Motion Estimation data. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:34 asuraparaju * libdirac_encoder/comp_compress.cpp: Allowed a full range of quantisers, so that lossless coding is possible. Replaced tabs with spaces. Fixed MSVC++ compiler warnings. Added namespace support. 2004-11-22 13:33 asuraparaju * libdirac_decoder/seq_decompress.cpp: Removed all depedency on the m_zl (number of frames in sequence) parameter in the sequence parameters which no longer exists. 2004-11-22 13:32 asuraparaju * decoder/decmain.cpp, libdirac_decoder/dirac_parser.cpp, libdirac_decoder/dirac_parser.h: Moved structures common to the encoder and decoder "C" interfaces into librac_common/dirac_types.h 2004-11-22 13:30 asuraparaju * libdirac_common/bit_manager.h: Updated the bit stream version since the the bitstream in release 0.5.0 differs from the bitstream in version 0.4.x. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:29 asuraparaju * libdirac_common/: frame_buffer.cpp, frame_buffer.h: FrameBuffer functions now support all io classes derived from the abstract pic io classes StreamPicInput and StreamPicOutput Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:29 asuraparaju * libdirac_common/: pic_io.cpp, pic_io.h: Restructured the PicIO classes so that in addition to file io streams, memory based io streams are also supported. Replaced PicInput and PicOutput classes with FileStreamInput and FileStreamOutput classes. 2004-11-22 13:28 asuraparaju * libdirac_common/dirac_assertions.cpp: Modified dirac_assert function always dump core irrespetive of whether the code was built in debug mode or release mode. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:26 asuraparaju * unit_tests/: core_suite.h, cppunit_testsuite.cpp, utmain.cpp: Added licence declaration. 2004-11-22 13:25 asuraparaju * unit_tests/Makefile.am: Added wavelet transform test. 2004-11-22 13:24 asuraparaju * unit_tests/: arrays_test.cpp, arrays_test.h: Added unit test for TwoDArray value constructor. 2004-11-22 13:22 asuraparaju * README.developers: Added text on bootstrapping to create the configure script from the CVS repository. Also added text on how to profile the code. 2004-11-22 13:21 asuraparaju * libdirac_common/frame.cpp: Modified clipping so that overshoots are allowed wrt Rec 601 ranges. This is because the original data may have overshoots too. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:20 asuraparaju * libdirac_motionest/: me_mode_decn.cpp, me_utils.cpp: Minor code tidy. Assignment = changed to copy construction for a number of declarations. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:19 asuraparaju * libdirac_decoder/frame_decompress.cpp: Changes related to MotionCompensator constructor changes. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:16 asuraparaju * libdirac_common/: arith_codec.h, arrays.h, bit_manager.cpp, mot_comp.cpp, mot_comp.h, motion.cpp, motion.h, wavelet_utils.h: Added constant-value constructor to arrays.h. Removed motion compensation-specific functions from motion.h. Refactored mot_comp.h for speed and to remove rounding errors, incorporating patch supplied by Stephen Bearcroft. Also changed function for computing overlapped block weights to remove potential rounding errors here. Changed constructor to configure motion compensation for addition or subtraction. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:13 asuraparaju * encoder/encmain.cpp: Modified the encoder to use the new Encoder Public API. 2004-11-22 13:11 asuraparaju * libdirac_common/: common.cpp, common.h: Enforced a maximum of 100% overlap in setting block sizes. Removed m_zl (number of frames) parameter from SeqParams class. The user need no longer to specify the number of frames in the input sequence. Added new functions ChromaWidth and ChromaHeight to SeqParams class which return the width and height of the chroma component. Changed m_output_path in EncParams to var type std::string to prevent buffer overflow errors. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:09 asuraparaju * libdirac_common/: upconvert.cpp, upconvert.h: Fixed bug in interpolating at the edge of the picture. Also clarified variable names. Added namespace support. All core Dirac functionality is now in namespace dirac. 2004-11-22 13:07 asuraparaju * unit_tests/: wavelet_utils_test.cpp, wavelet_utils_test.h: Unit test to test the Wavelet utilities 2004-11-22 13:06 asuraparaju * tests/at_wrap.in: Wrapper script around tests to use valgrind for memory checks 2004-11-22 13:05 asuraparaju * libdirac_encoder/: dirac_encoder.cpp, dirac_encoder.h: Encoder "C" Public API implementation files 2004-11-22 13:04 asuraparaju * libdirac_common/dirac_types.h: New header file to hold structures common to the Dirac Encoder and Decoder public "C" API 2004-11-04 12:54 asuraparaju * encoder/encmain.cpp: Setting original frame dimensions to codec_params for global motion 2004-11-04 12:54 asuraparaju * libdirac_common/arrays.h: Applied patch 1055707 and extended it to use memcpy for assigment = and copy constructor in both One-D and Two-D arrays. 2004-11-04 12:53 asuraparaju * libdirac_common/common.h: Including original frame dimensions in codec_params for use in global motion 2004-11-04 12:53 asuraparaju * libdirac_common/: motion.cpp, motion.h: Including arrays to hold global motion data in MvData and MEData 2004-11-04 12:52 asuraparaju * libdirac_common/: wavelet_utils.cpp, wavelet_utils.h: Refactored wavelet transform (again). Code now does re-ordering separately so that all the wavelet lifting stages can be done with in-place calculation. All loops traverse contiguous data in memory to facilitate future vectorisation. 2004-11-04 12:52 asuraparaju * libdirac_encoder/comp_compress.cpp: Fixed bug 1055692 which was caused by integer overflow when calculating the quality based on 4th powers of error. The integer overflow resulted in attempting to determine the square root of a negative number which caused the encoder to go into a permanent loop when using gcc 3.4.2. Modified the Mean Square Error calculation to use double instead of int type to fix this bug. 2004-11-04 12:52 asuraparaju * libdirac_motionest/me_utils.cpp: Applied patch 1055714. Now the Difference calculator uses a CalcValueType accumulator rather than float. 2004-11-04 12:50 asuraparaju * util/instrumentation/: instrmain.cpp, libdirac_instrument/Makefile.am, libdirac_instrument/gm_inliers.cpp, libdirac_instrument/gm_inliers.h, libdirac_instrument/overlay.cpp, libdirac_instrument/overlay.h: Update instrumentation with changes related to handling global motion 2004-10-21 15:27 asuraparaju * libdirac_common/motion.cpp: Fix "invalid write error" reported by valgrind in function MEData::FindTransitions. This was causing the encoder to seg fault when using video of size 352x576. (Bug# 1050757) 2004-10-21 15:26 asuraparaju * libdirac_motionest/motion_estimate.cpp: Fix the error reported by valgrind in SetChromaDC where an unitialised variable was being used to initialise dcarray. 2004-10-20 18:27 asuraparaju * libdirac_motionest/block_match.cpp: Code tidy 2004-10-20 18:26 asuraparaju * libdirac_encoder/quality_monitor.h: Broke up extremely long function prototype into multiple lines 2004-10-20 18:24 asuraparaju * libdirac_encoder/quality_monitor.cpp: Introduced clipping of the feedback control signal to reduce overshoots due to inaccuracies in the model. 2004-10-20 18:23 asuraparaju * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h: Fixed memory leak (Bug# 1044503) 2004-10-20 18:21 asuraparaju * libdirac_decoder/dirac_parser.cpp: Fixed memory leak (Bug# 1044501) 2004-10-20 18:20 asuraparaju * libdirac_common/mot_comp.cpp: Fixed memory leak (Bug #1044499) 2004-10-20 18:18 asuraparaju * libdirac_common/band_codec.cpp: Added max value for the number of symbols to be accumulated between resets. Prevents overflow in the arithmetic coder. 2004-10-20 18:17 asuraparaju * encoder/encmain.cpp: Changed GOP structure for 720p to be 24,3 not 24,6 2004-10-20 18:16 asuraparaju * decoder/decmain.cpp: Fixed memory leak caused by not freeing up frame buffer that was dynamically allocated 2004-09-21 14:02 asuraparaju * ChangeLog: Included details of checkins for 0.4.3 release 2004-09-21 13:58 asuraparaju * NEWS: Included 0.4.3 release notes 2004-09-21 13:45 asuraparaju * configure.ac: Updated release id to 0.4.3 2004-09-21 11:56 asuraparaju * encoder/encmain.cpp: Removed ambiguity between -HD720 and HD720p options. 2004-09-21 11:16 asuraparaju * util/instrumentation/libdirac_instrument/overlay.cpp: Fixed bug in setting x chroma factor for 4:1:1 input which caused the diagnostics tool to crash. 2004-09-21 11:15 asuraparaju * libdirac_motionest/: downconvert.cpp, downconvert.h: Fixed bug where downconverting a picture with odd valued dimensions. 2004-09-21 11:14 asuraparaju * libdirac_encoder/: quality_monitor.cpp, quality_monitor.h: Tidied and changed terminology to refer to quality rather than PSNR. 2004-09-21 11:14 asuraparaju * libdirac_common/: common.cpp, common.h: Fixed bug with block sizes for 411 coding. 2004-09-21 11:14 asuraparaju * doc/algorithm/: algorithm.htm, const_qual.htm, subband_rdo.htm: Added detail of the constant quality coding revisions. Updated version number. 2004-09-17 16:46 asuraparaju * libdirac_motionest/: block_match.cpp, me_mode_decn.cpp, me_subpel.cpp, me_subpel.h, motion_estimate.cpp: Changed structure to use a map for the different lambdas, which is encpasulated in the MEData structure. Limited size of motion vector costs to allow us to cope with motion transitions better. 2004-09-17 16:44 asuraparaju * libdirac_encoder/: comp_compress.cpp, frame_compress.cpp, quality_monitor.cpp, quality_monitor.h: Changed quality metric from PSNR to one based on 4th powers of errors, to give bigger weighting to large errors. 2004-09-17 16:43 asuraparaju * libdirac_common/: common.h, frame.cpp, frame_buffer.cpp, mot_comp.cpp, mot_comp.h, motion.cpp, motion.h, wavelet_utils.cpp: Fixed bug with scaling motion vectors for non-444 formats. Rationalised frame buffer functions. Added comments to common.h. General tidying up of code. 2004-09-10 14:13 asuraparaju * ChangeLog: Included details of recent checkins 2004-09-10 14:05 asuraparaju * NEWS: Included 0.4.2 release notes 2004-09-10 14:04 asuraparaju * configure.ac: Updated release id to 0.4.2 2004-09-10 12:34 asuraparaju * libdirac_common/pic_io.h, encoder/encmain.cpp: Ensure that the number of frame in the output pic header is set to the number of frames written to the file. 2004-09-10 11:06 asuraparaju * Makefile.am: Only Makefile and README from win directory are now included in distribution 2004-09-09 15:48 asuraparaju * util/instrumentation/: process_sequence.cpp, libdirac_instrument/draw_overlay.cpp, libdirac_instrument/draw_overlay.h, libdirac_instrument/overlay.cpp, libdirac_instrument/overlay.h: Fixed bug with handling reference 2 when only one reference frame is available 2004-09-09 15:43 asuraparaju * util/instrumentation/libdirac_instrument/split_mode.cpp: Fix writng beyond end of array bug which caused the diagnostics tool to crash when using split_mode. 2004-09-09 15:42 asuraparaju * util/instrumentation/README: Correct pathname to diagnostic tool 2004-09-09 15:41 asuraparaju * libdirac_encoder/seq_compress.cpp: Fixed bug with bit-rate being miscalculated when only a section of the sequence is encoded. 2004-09-09 15:40 asuraparaju * libdirac_encoder/frame_compress.cpp: Restored mod which outputs array dimensions for instrumentation output. 2004-09-09 15:39 asuraparaju * libdirac_common/wavelet_utils.cpp: Fixed bug with setting DC band perceptual weight. 2004-09-09 15:39 asuraparaju * encoder/encmain.cpp: Fixed bug with setting length of output sequence when coding a section of picture. 2004-09-09 15:38 asuraparaju * decoder/decmain.cpp: Print average frame decode time to stdout instead of stderr so that stderr can be monitored for errors in tests 2004-09-09 15:37 asuraparaju * configure.ac: Add diagnostic tool to test path 2004-09-09 15:36 asuraparaju * README.release: Add testing diagnostic tool to release checklist 2004-08-26 12:08 asuraparaju * ChangeLog: Updated with details of recent checkins 2004-08-26 12:05 asuraparaju * NEWS: Included 0.4.1 release notes 2004-08-26 12:02 asuraparaju * configure.ac: Updated release id to 0.4.1 2004-08-25 18:09 asuraparaju * ChangeLog: Updated this doc with details of recent checkins 2004-08-25 17:58 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, picheader/Makefile.am, unit_tests/Makefile.am, util/conversion/Makefile.am, util/conversion/common/Makefile.am, util/instrumentation/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Build under windows using gnu autotools, MSys as a shell and the no-cost MS VC++ 2003 compiler now supported. 2004-08-25 17:56 asuraparaju * configure.ac: Fixed bug in configure where configure passed but make unit_tests failed when a version of cppunit older that 1.10.2 is installed. Build under windows using gnu autotools, MSys as a shell and MS C++ compiler 7.1 (free version) now supported. 2004-08-25 17:55 asuraparaju * tests/Makefile.am: Set up CLEANFILES to the files created by encoder and decoder so that they are deleted during 'make clean' instead of manually deleting them. 2004-08-25 17:54 asuraparaju * README.release: Added compile and test under windows using MSYS and cl to checklist Included updating project page on www.freshmeat.net in check list. Corrected line numbering and added note to send email to dirac-announce mailing list. 2004-08-25 17:52 asuraparaju * README: Added a section on compiling using MSYS shell and VC++ 2003 compiler under windows. Replaced all tabas with spaces. Reformatted text to not exceed 80 chars per line. 2004-08-25 17:51 asuraparaju * doc/dirac_bitstream.txt: Fixed error concerning prefix codes. 2004-08-25 17:51 asuraparaju * encoder/encmain.cpp: Removed duplicate text output. Fixed char buffer overflow bug which causes encoder to fail when file name paths exceed 80 chars. 2004-08-25 17:50 asuraparaju * libdirac_common/common.h: Fixed bug where SeqParams.Interlace() was returning the chroma format instead of interlace. 2004-08-25 17:48 asuraparaju * libdirac_common/pic_io.cpp: Removed text output if we've run out of input. 2004-08-25 17:47 asuraparaju * libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/motion.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/block_match.cpp, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/pixel_match.cpp: Modified motion estimation so that it's done on the uncompressed data. Changed the ME utilities so that they compute SAD only. Modified mode decisions to restore weights applied to different levels of decomposition. Changed QualityMonitor class so that the internal model of rate versus distortion is effectively reset if we have to recode a frame. Fixed bug with measurement of PSNR. 2004-08-20 16:05 asuraparaju * tests/colourbars.at: Fix paths for out-of-tree builds 2004-08-19 15:27 asuraparaju * doc/api/dirac_api.doxygen: Include utilities in documentation 2004-08-19 14:55 asuraparaju * configure.ac: Update release id to 0.4.0 2004-08-19 13:32 asuraparaju * ChangeLog: Updated with details of recent checkins 2004-08-19 13:23 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, picheader/Makefile.am, tests/Makefile.am, unit_tests/Makefile.am, util/conversion/Makefile.am, util/conversion/common/Makefile.am, util/instrumentation/Makefile.am, util/instrumentation/libdirac_instrument/Makefile.am: Fixed build errors when compiling out of source tree. Out-of-source-tree builds are now successful. 2004-08-19 13:21 asuraparaju * NEWS: Included Alpha 0.4.0 release notes 2004-08-19 13:20 asuraparaju * decoder/decmain.cpp: Handling STATE_INVALID returned by parser. 2004-08-19 13:20 asuraparaju * encoder/encmain.cpp: Fixed bug with setting block sizes. 2004-08-19 13:19 asuraparaju * picheader/headmain.cpp: Replace tabs with spaces. Fixed a character array overrun error. 2004-08-19 13:17 asuraparaju * util/instrumentation/README: Updated this document 2004-08-19 13:16 asuraparaju * win/Makefile: Updated Makefile to build correctly 2004-08-19 13:14 asuraparaju * TODO: Update todo list 2004-08-19 13:13 asuraparaju * README.release: Include tagging of files with release id in the checklist 2004-08-19 13:13 asuraparaju * README: Updated for 0.4.0 release 2004-08-19 13:12 asuraparaju * AUTHORS: Updated list of contributors 2004-08-19 13:11 asuraparaju * dirac.pc.in: Setting include and libs vars to correct values so that pkg-config shows the correct dependencies for Dirac. 2004-08-19 13:10 asuraparaju * configure.ac: Included additional condtional vars to check if documentation can be built successfully. Included -Wno-long-double flag on platforms where it is supported to prevent compile time warnings. 2004-08-19 13:08 asuraparaju * doc/: Makefile.am, api/Makefile.am, api/dirac_api.doxygen, api/dirac_api_foot.html, programmers/Makefile.am: Included additional condtional vars to check if documentation can be built successfully. Included dirac_bitstream.txt in distribution. 2004-08-19 13:06 asuraparaju * doc/algorithm/: algorithm.htm, rdo.htm, toc.htm, transform_coding.htm: Added links to constant quality encoding pages. 2004-08-19 13:04 asuraparaju * doc/algorithm/const_qual.htm: Added documentation on constant quality encoding. 2004-08-19 13:03 asuraparaju * doc/faq.htm: Added details on patent position. Fixed broken links. Minor text changes 2004-08-19 13:02 asuraparaju * doc/dirac_bitstream.txt: Initial bitstream syntax document for Dirac bitstream v0.1 2004-08-19 12:55 asuraparaju * util/instrumentation/: instrmain.cpp, process_sequence.cpp, process_sequence.h, libdirac_instrument/draw_overlay.cpp, libdirac_instrument/draw_overlay.h, libdirac_instrument/motion_arrows.cpp, libdirac_instrument/motion_arrows.h, libdirac_instrument/motion_colour.cpp, libdirac_instrument/motion_colour_arrows.cpp, libdirac_instrument/overlay.cpp, libdirac_instrument/pred_mode.cpp, libdirac_instrument/sad.cpp, libdirac_instrument/split_mode.cpp: Output all MEData members and cope with monochrome sequences Fixed block dimensions bug. Fixed padded pictures bug. 2004-08-19 12:50 asuraparaju * libdirac_common/bit_manager.h, libdirac_common/common.h, libdirac_decoder/dirac_cppparser.cpp, libdirac_decoder/dirac_cppparser.h, libdirac_decoder/dirac_parser.cpp, libdirac_decoder/dirac_parser.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/seq_decompress.cpp: Bitstream v0.1 related changes - Handling new start codes and bitstream version 2004-08-19 12:46 asuraparaju * libdirac_motionest/: me_mode_decn.cpp, me_utils.cpp, motion_estimate.cpp, pixel_match.cpp: Tiffled motion estimation parameters to improve performance. 2004-08-19 12:45 asuraparaju * libdirac_common/arith_codec.h: Minor mods to fix compile time errors 2004-08-19 12:45 asuraparaju * libdirac_common/dirac_assertions.h: New debug test macros TEST, TESTM, REPORT and REPORTM 2004-08-19 12:44 asuraparaju * libdirac_common/: motion.cpp, motion.h: Instrumentation update: outputs all MEData members and copes with monochrome sequences 2004-08-19 12:43 asuraparaju * libdirac_common/: mot_comp.cpp, pic_io.cpp, wavelet_utils.cpp: Cleansed code 2004-08-19 12:40 asuraparaju * libdirac_encoder/: frame_compress.cpp, quality_monitor.cpp, quality_monitor.h, seq_compress.cpp: Handling new start codes and bitstream version. Fixed bug in quality monitor code where padding area was taken into account in calculating PSNR. Removed unused code for calculating weighted PSNR. Removed commented output from quality monitor. Instrumentation update: outputs all MEData members and copes with monochrome sequences. 2004-08-11 16:30 asuraparaju * ChangeLog: Update this log with details recent checkins 2004-08-11 16:23 asuraparaju * tests/Makefile.am: Deleting data files created by encode and decode operation durng cleanup. 2004-08-11 15:53 asuraparaju * decoder/decmain.cpp: Decoder modified to use the "C" interface. 2004-08-11 15:53 asuraparaju * encoder/encmain.cpp: Added support for cut-detection and intra frame insertion. Changed output structure to output frame by frame, and added recoding to exploit this. Recoding takes place if quality is not within a range of the target quality. Replaced tabs with spaces. Updated data file extension 2004-08-11 15:48 asuraparaju * libdirac_encoder/: Makefile.am, frame_compress.cpp, frame_compress.h, quality_monitor.cpp, quality_monitor.h, seq_compress.cpp, seq_compress.h: Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/ directory. Added support for cut-detection and intra frame insertion. Changed output structure to output frame by frame, and added recoding to exploit this. Recoding takes place if quality is not within a range of the target quality. Writing frame start, sequence start and sequence end codes to bitstream. Modifications to build under WIN32 2004-08-11 15:44 asuraparaju * libdirac_decoder/: Makefile.am, frame_decompress.cpp, frame_decompress.h, seq_decompress.cpp, seq_decompress.h: Handling new "C" interface files. Handling bitstream changes in frame and sequence decompress routines. Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/libdirac_decoder 2004-08-11 15:40 asuraparaju * libdirac_common/: Makefile.am, arith_codec.h, arrays.h, band_codec.cpp, band_codec.h, bit_manager.cpp, bit_manager.h, common.cpp, common.h, frame.cpp, frame.h, frame_buffer.cpp, mot_comp.cpp, motion.cpp, mv_codec.cpp, mv_codec.h, pic_io.cpp, pic_io.h: Renamed BitOutputManager to UnitOutputManager in bit_manager.* Modified bit_manager.* to handle modifications to bitstream. Moved enumerated types common to the encoder, decoder and codec interfaces from common.h into common_types.h to avoid duplication of declarations. Added support for cut-detection and intra frame insertion. Changed output structure to output frame by frame, and added recoding to exploit this. Recoding takes place if quality is not within a range of the target quality. Modifications to build under WIN32 Fixed icc compiler warning 522 Fixed VC++ 2003 compiler warnings Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/libdirac_common directory. 2004-08-11 15:30 asuraparaju * libdirac_motionest/: Makefile.am, me_mode_decn.cpp, me_subpel.cpp, motion_estimate.cpp, motion_estimate.h: Minor mods to improve motion estimation: no lambda-smoothing on pixel-accurate ME. Fixed the bug where all header files were being dumped into the same install directory. Now headers are copied into the /dirac/libdirac_motionest directory.. 2004-08-11 15:27 asuraparaju * util/instrumentation/: Makefile.am, instrmain.cpp, process_sequence.cpp, process_sequence.h, libdirac_instrument/overlay.h: Restructured the code. Corrected header file path in instrmain.cpp. Added a ProcessSequence class. File extension of motion vector instrumentation file changed from _mvdata to .imt 2004-08-11 15:24 asuraparaju * tests/: Makefile.am, colourbars.at: Deleting instrumentation files during clean up. Ignoring stdout and stderr when running decoder. 2004-08-11 15:23 asuraparaju * win/Makefile: Fixed VC++ 2003 compile and link errors 2004-08-11 15:21 asuraparaju * libdirac_common/: dirac_assertions.cpp, dirac_assertions.h: Added functions for runtime testing in debug mode. Two new macros are defined. ASSERT( exp ) - if exp resolves to false, the program prints the line number and file where the assertion failure occured. In debug mode the program exits immediately dumping core. ASSERT( exp, mesg ) - if exp resolves to false, the program prints the line number, file name where the assertion failure occured and mesg. In debug mode the program exits immediately 2004-08-11 15:20 asuraparaju * libdirac_common/common_types.h: Moved enumerated types common to the encoder, decoder and codec interfaces from common.h into this file to avoid duplication of declarations. 2004-08-11 15:16 asuraparaju * libdirac_decoder/: decoder_types.h, dirac_cppparser.cpp, dirac_cppparser.h, dirac_parser.cpp, dirac_parser.h: These new files define the "C" interface to the decoder. The bitstream has been modified to be able to parse it for decoding. BitStream Changes: The new dirac bit stream is as follows . . . Sequence start code: Each sequence begins with a 5 bytes start code 0x01 0x02 0x03 0x04 0xB3 Frame start code: Each frame begins with a 5 bytes frame start code 0x01 0x02 0x03 0x04 0xB4 Sequence End code: Each sequence ends with a 5 bytes sequence end code 0x01 0x02 0x03 0x04 0xB7 Not a start code flag: If the arithmetic codec ouputs the start code prefix 0x01 0x02 0x03 0x04, 0xFF is inserted into the bitstream to flag that this is the output of the Arithmetic codec and not a start code. 2004-08-11 14:27 asuraparaju * configure.ac: Added a new option --enable-profile to include the profiling option -pg to them compile line. Setting up CXXFLAGS correctly for Intel compiler when the --enable-debug option is used. 2004-08-11 14:26 asuraparaju * README.release: A checklist for producing a new release 2004-08-03 10:32 asuraparaju * ChangeLog: Updated this log with details of recent checkins 2004-08-03 10:22 asuraparaju * Makefile.am, configure.ac, dirac.pc.in, decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arrays.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/frame_decompress.cpp, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/Makefile.am, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, libdirac_motionest/pixel_match.cpp, libdirac_motionest/pixel_match.h: libdirac_common, libdirac_encoder, encoder: Incorporated diagnostic tool libdirac_common, libdirac_encoder, libdirac_motionest: Added lifting classes for wavelet transform. Refactored motion estimation to make logic clearer, and added separate pixel-accurate matching classes. Put in a longer temporal filter in QualityMonitor class to reduce oscillation and changed motion estimation Lagrangian parameter to improve performance. TO DO: tune ME parameter for each picture size/block size combination. libdirac_common: Corrected bug with lifting functions not returning a value. Modified MvData class to make member variables private. libdirac_encoder: Modified ME lambda value to improve performance. libdirac_decode, libdirac_encoder, libdirac_motionest, libdirac_common: Modified MvData class to make member variables private. Created MEData class as a subclass of MvData for use in motion estimation. libdirac_commonm libdirac_encoder: Refactored output classes to create classes for unit, frame and sequence output, where a unit is a subband or MV data, and consists of a header and subsequent data. Output can only be effected at the sequence level and occurs only after a whole frame of data has been accumulated. This will allow for frames to be re-coded before being output if their quality is not satisfactory. 2004-08-03 10:07 asuraparaju * util/: Makefile.am, instrumentation/Makefile.am, instrumentation/README, instrumentation/instrmain.cpp, instrumentation/libdirac_instrument/Makefile.am, instrumentation/libdirac_instrument/draw_overlay.cpp, instrumentation/libdirac_instrument/draw_overlay.h, instrumentation/libdirac_instrument/motion_arrows.cpp, instrumentation/libdirac_instrument/motion_arrows.h, instrumentation/libdirac_instrument/motion_colour.cpp, instrumentation/libdirac_instrument/motion_colour.h, instrumentation/libdirac_instrument/motion_colour_arrows.cpp, instrumentation/libdirac_instrument/motion_colour_arrows.h, instrumentation/libdirac_instrument/overlay.cpp, instrumentation/libdirac_instrument/overlay.h, instrumentation/libdirac_instrument/overlay_symbols.cpp, instrumentation/libdirac_instrument/overlay_symbols.h, instrumentation/libdirac_instrument/pred_mode.cpp, instrumentation/libdirac_instrument/pred_mode.h, instrumentation/libdirac_instrument/sad.cpp, instrumentation/libdirac_instrument/sad.h, instrumentation/libdirac_instrument/split_mode.cpp, instrumentation/libdirac_instrument/split_mode.h: Adding instrumentation tool 2004-07-16 17:05 asuraparaju * ChangeLog: Updated thislog with details of recent checkins 2004-07-16 16:29 asuraparaju * libdirac_encoder/quality_monitor.cpp: Fixed bug with model updating - limits of slope of linear model were inaccurate. Fixed bug with numerical stability of lambda re-calculation. Performance with cuts or shot-changes is still poor, however. 2004-07-16 16:23 asuraparaju * DCO.developers, README.developers: Added contents section. Added text about licensing and contribution. Modified licensing requirements so that contributors contribute under Mozilla too. Added Developers Certificate of Origin, which developers are to sign before their work is included. 2004-07-12 12:23 asuraparaju * ChangeLog: Updated this log with details of most recent checkins 2004-07-12 11:59 asuraparaju * libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/comp_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h: Changed order of initialisation parameters for TwoDArray template class and subclass PicArray. Tidied TwoDArray and OneDArray classes. Removed all use of allocators. Replaced tabs with spaces in libdirac_common. Fixed minor bug in quality_monitor PSNR measurement. Made other typographical changes. 2004-07-12 11:53 asuraparaju * Makefile.am, configure.ac, tests/Makefile.am, tests/testsuite.at, tests/unittests.at, unit_tests/Makefile.am, unit_tests/arrays_test.cpp, unit_tests/arrays_test.h, unit_tests/core_suite.h, unit_tests/cppunit_testsuite.cpp, unit_tests/utmain.cpp: Added a unit test framework based on Cppunit. The unit tests will reside in the directory unit_tests. 'make check' command will now run the unit tests as well. Currently unit test exists only for the TwoDArrays class. More tests will be added in future. 2004-07-06 12:51 asuraparaju * ChangeLog: Update this log with details of mostrecent checkins 2004-07-06 12:26 asuraparaju * Makefile.am, README, encoder/encmain.cpp, libdirac_common/arith_codec.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/mot_comp.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/pic_io.cpp, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_encoder/quality_monitor.cpp, libdirac_encoder/quality_monitor.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/motion_estimate.cpp, tests/colourbars.at: README: Removed discussion of Iqf, L1qf and L2qf. Added text explaining constant- quality encoding using -qf. Makefile.am: Changed order of make, so that utilities can use the common (and other) libraries. libdirac_common: Changed EncoderParams to include a quality parameter for constant-quality encoding. Changed perceptual weighting to use an extension of CCIR 959 weights, with extra weight for DC band, and lower weights for chroma bands. Modified enumerated type CompSort to avoid name clashes by using longer names. Refactored OLBParams class to have private member variables and access functions. libdirac_encoder: Added QualityMonitor class to do constant-quality encoding. Class looks at difference between locally decoded and original frames and adjusts Lagrangian parameters appropriately. Simplified interface for encoding results, where a single quality parameter is specified. libdirac_decoder FrameDecompressor::Decompress now returns true upon success and false upon failure. encoder/encmain.cpp: Simplified interface for encoding results, where a single quality parameter is specified. 2004-07-02 14:46 asuraparaju * ChangeLog: Updated this log with details about recent checkins 2004-06-30 17:53 asuraparaju * README.developers: Removed dollar signs around CVS tags which cause them to be expanded 2004-06-30 17:44 asuraparaju * AUTHORS, README, README.developers, configure.ac, decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, picheader/headmain.cpp, util/conversion/BMPtoRGB.cpp, util/conversion/RGBtoBMP.cpp, util/conversion/RGBtoUYVY.cpp, util/conversion/RGBtoYUV411.cpp, util/conversion/RGBtoYUV420.cpp, util/conversion/RGBtoYUV422.cpp, util/conversion/RGBtoYUV444.cpp, util/conversion/UYVYtoRGB.cpp, util/conversion/YUV411toRGB.cpp, util/conversion/YUV420toRGB.cpp, util/conversion/YUV422toRGB.cpp, util/conversion/YUV444toRGB.cpp, util/conversion/common/bitmap.cpp, util/conversion/common/bitmap.h, util/conversion/common/setstdiomode.cpp, util/conversion/common/setstdiomode.h: - Included a coding style guidelines sub-section (Coding Style) in README.developers under the section 'Software Practices'. This sub-section describes the coding guidelines for developers and is to be used as a reference by developers while writing code and while peer-reviewing code. - Removed the following CVS tags from all files $Author: asuraparaju $ $Log: ChangeLog,v $ Revision 1.23 2007/05/09 14:06:51 asuraparaju *** empty log message *** Revision 1.22 2007/03/22 18:27:16 davidf_ Altered command line file handling. a) now support taking input from stdin (input specified as '-' or '/dev/stdin'). b) removed strange filename extension stripping/appending for primary input and output files (locally decoded video and instrumentation are outputfilename.{local-dec.yuv,imt}. Revision 1.21 2006/11/13 12:28:22 tjdwave *** empty log message *** $Revision: 1.23 $ - Included the following CVS tags in all source and header files $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ $Name: Dirac_0_7_0 $ - Included a new configuration option, --enable-debug, in configure.ac. This option turns on the flags '-Wall -pedantic -Werror' to trap warnings. - Modified parameter classes in common.{h,cpp} to make member variables private and accessible through class methods. Traced through codec. - Deleted context.h. The classes that were originally in this file have been integrated as nested classes into ArithCodec class in arith_codec.h - Fixed bug on QCIF coding. The number of downconversions during hierarchical motion estimation is now limited based on the size of the picture - Changed decoder and encoder params to be references throughout frame and component (de)compression rather than being copied. - Code cleansed to follow coding standards specified in README.developers. - Changed names of member variables to use m_ convention - Used spaces to improve readability of code - Accessing class member variables through accessor/mutator function rather than directly - Non-trivial member functions moved from headers to .cpp files Changes mainly in the following directories: libdirac_common libdirac_decoder libdirac_encoder - Fixed g++ compiler warnings 2004-06-22 11:10 asuraparaju * libdirac_common/wavelet_utils.h: Modified doxygen comments to match the declaration of member function SetBandWeights in class WaveletTransform. 2004-06-22 11:08 asuraparaju * encoder/encmain.cpp: Fixed compilation errors caused by trying to access non-existent cformat data member in class EncoderParams. 2004-06-18 16:58 tjdwave * libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/frame.cpp, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/frame_compress.cpp, libdirac_encoder/seq_compress.cpp, libdirac_motionest/motion_estimate.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h: Removed chroma format parameter cformat from CodecParams and derived classes to avoid duplication. Made consequential minor mods to seq_{de}compress and frame_{de}compress code. Revised motion compensation to use built-in arrays for weighting matrices and to enforce their const-ness. Removed unnecessary memory (de)allocations from Frame class copy constructor and assignment operator. 2004-06-16 17:06 asuraparaju * decoder/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, util/conversion/Makefile.am, util/conversion/common/Makefile.am: Enable dependency tracking by removing the macro AUTOMAKE_OPTIONS = no-dependencies from Makefile.am 2004-06-16 09:25 tjdwave * doc/algorithm/: algorithm.htm, toc.htm: Corrected link in TOC. Put correct date in main page. 2004-06-08 17:18 timborer * NEWS: Updated release notes for version 0.3.1 2004-06-08 17:03 timborer * configure.ac, libdirac_common/golomb.cpp, libdirac_common/mv_codec.h, libdirac_motionest/block_match.cpp, util/conversion/BMPtoRGB.cpp, util/conversion/RGBtoBMP.cpp, util/conversion/RGBtoUYVY.cpp, util/conversion/RGBtoYUV411.cpp, util/conversion/RGBtoYUV420.cpp, util/conversion/RGBtoYUV422.cpp, util/conversion/RGBtoYUV444.cpp, util/conversion/UYVYtoRGB.cpp, util/conversion/YUV411toRGB.cpp, util/conversion/YUV420toRGB.cpp, util/conversion/YUV422toRGB.cpp, util/conversion/YUV444toRGB.cpp, util/conversion/common/bitmap.cpp, util/conversion/common/bitmap.h, util/conversion/common/setstdiomode.cpp, util/conversion/common/setstdiomode.h, win/Makefile: Files updated so that code compiles under Windows (previously broken under Windows). Colour matrix coefficients corrected in video conversion utilities Video conversion utilites now build with the rest of the code. 2004-06-03 14:07 stuart_hc * README.developers: Added Profiling & optimisation section. 2004-05-28 16:05 tjdwave * NEWS, TODO: Added information about picture format conversion utilities. Removed frame padding from the TODO list. 2004-05-28 15:58 tjdwave * README: Added text on how to use the conversion utilities to provide test material for Dirac. 2004-05-28 15:27 tjdwave * util/conversion/: BMPtoRGB.cpp, Makefile.am, RGBtoBMP.cpp, RGBtoUYVY.cpp, RGBtoYUV411.cpp, RGBtoYUV420.cpp, RGBtoYUV422.cpp, RGBtoYUV444.cpp, UYVYtoRGB.cpp, YUV411toRGB.cpp, YUV420toRGB.cpp, YUV422toRGB.cpp, YUV444toRGB.cpp: Initial commit of command-line tools for converting between uncompressed picture formats. All conversions use uncompressed RGB as an intermediate format. There is a known bug with the colour matrixing which applies a gain when going from YUV to RGB and back again. This will be fixed in a subsequent release. 2004-05-28 15:18 tjdwave * util/conversion/common/: bitmap.cpp, bitmap.h, setstdiomode.cpp, setstdiomode.h: Initial commit. Common tools for handling BMP headers and stdio handling for Windows. 2004-05-28 15:15 tjdwave * util/conversion/common/Makefile.am: Initial commit. Builds common library for use by all the conversion routines. 2004-05-28 15:14 tjdwave * util/conversion/Makefile.am: Initial commit. Builds file conversion utilities. 2004-05-28 15:12 tjdwave * util/Makefile.am: Added Makefile to build utility subdirectories. 2004-05-28 15:10 tjdwave * Makefile.am, configure.ac: Updated to add utilities directory. 2004-05-27 14:58 asuraparaju * configure.ac, doc/Makefile.am, doc/algorithm/Makefile.am, doc/api/Makefile.am, doc/programmers/Makefile.am: Corrected API and programmer doc build and installation. Added algorithm doc install (from CVS only - not distribution). 2004-05-27 13:21 stuart_hc * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and $Log: ChangeLog,v $ * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.22 2007/03/22 18:27:16 davidf_ Exp $ and Revision 1.23 2007/05/09 14:06:51 asuraparaju * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.22 2007/03/22 18:27:16 davidf_ Exp $ and *** empty log message *** * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.22 2007/03/22 18:27:16 davidf_ Exp $ and * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and Revision 1.22 2007/03/22 18:27:16 davidf_ * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and Altered command line file handling. a) now support taking input from stdin * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and (input specified as '-' or '/dev/stdin'). b) removed strange filename * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and extension stripping/appending for primary input and output files (locally * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and decoded video and instrumentation are outputfilename.{local-dec.yuv,imt}. * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and Revision 1.21 2006/11/13 12:28:22 tjdwave * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and *** empty log message *** * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.23 2007/05/09 14:06:51 asuraparaju Exp $ and in description of keywords. 2004-05-27 13:14 stuart_hc * README.developers: Added section on the testsuite and on binary files. 2004-05-27 09:02 tjdwave * doc/programmers/: programmers_guide.dvi, programmers_guide.log: Removed LaTeX-generated .dvi and .log files from CVS control. 2004-05-27 09:00 tjdwave * doc/: algorithm/algorithm.htm, algorithm/var_size.htm, algorithm/wlt_transform.htm, programmers/programmers_guide.dvi, programmers/programmers_guide.log: Updated docs to take into account that Dirac does edge-padding, not padding with black, in order to avoid significant artefacts at low bit-rate. 2004-05-26 17:01 tjdwave * configure.ac, doc/Makefile.am, doc/faq.htm, doc/algorithm/algorithm.htm, doc/algorithm/block_data.htm, doc/algorithm/intra_pred.htm, doc/algorithm/intro.htm, doc/algorithm/mb_structs.htm, doc/algorithm/mot_est.htm, doc/algorithm/mot_est_and_comp.htm, doc/algorithm/mv_coding_arch.htm, doc/algorithm/mv_data_coding.htm, doc/algorithm/mv_data_pred.htm, doc/algorithm/mv_entropy_code.htm, doc/algorithm/olb_mc.htm, doc/algorithm/overall_arch.htm, doc/algorithm/parent_child.htm, doc/algorithm/quantisation.htm, doc/algorithm/rdo.htm, doc/algorithm/rdo_mot_est.htm, doc/algorithm/subband_rdo.htm, doc/algorithm/temporal_prediction_structures.htm, doc/algorithm/toc.htm, doc/algorithm/transform_coding.htm, doc/algorithm/transform_coding_arch.htm, doc/algorithm/var_size.htm, doc/algorithm/wlt_coeff_coding.htm, doc/algorithm/wlt_transform.htm, doc/algorithm/figs/DC.jpg, doc/algorithm/figs/DCSAD.jpg, doc/algorithm/figs/braces.jpg, doc/algorithm/figs/d.jpg, doc/algorithm/figs/eqA.jpg, doc/algorithm/figs/eqB.jpg, doc/algorithm/figs/eqC.jpg, doc/algorithm/figs/eqD.jpg, doc/algorithm/figs/eqE.jpg, doc/algorithm/figs/eqF.jpg, doc/algorithm/figs/eqG.jpg, doc/algorithm/figs/eqH.jpg, doc/algorithm/figs/eqI.jpg, doc/algorithm/figs/eqJ.jpg, doc/algorithm/figs/fig1.jpg, doc/algorithm/figs/fig10.jpg, doc/algorithm/figs/fig12.jpg, doc/algorithm/figs/fig13.jpg, doc/algorithm/figs/fig14.jpg, doc/algorithm/figs/fig15.jpg, doc/algorithm/figs/fig16.jpg, doc/algorithm/figs/fig17.jpg, doc/algorithm/figs/fig18.jpg, doc/algorithm/figs/fig19.jpg, doc/algorithm/figs/fig2.jpg, doc/algorithm/figs/fig20.jpg, doc/algorithm/figs/fig21.jpg, doc/algorithm/figs/fig22.jpg, doc/algorithm/figs/fig23.jpg, doc/algorithm/figs/fig24.jpg, doc/algorithm/figs/fig26.jpg, doc/algorithm/figs/fig27.jpg, doc/algorithm/figs/fig3.jpg, doc/algorithm/figs/fig4.jpg, doc/algorithm/figs/fig5.jpg, doc/algorithm/figs/fig6.jpg, doc/algorithm/figs/fig7.bmp, doc/algorithm/figs/fig7.jpg, doc/algorithm/figs/fig8.jpg, doc/algorithm/figs/fig9.jpg, doc/algorithm/figs/fp.jpg, doc/algorithm/figs/m.jpg, doc/algorithm/figs/nhood.jpg, doc/algorithm/figs/nhoodresidue.jpg, doc/algorithm/figs/p.jpg, doc/algorithm/figs/p2.jpg, doc/algorithm/figs/t.jpg, doc/algorithm/figs/two.jpg, doc/algorithm/figs/var.jpg, doc/algorithm/figs/vtilda.jpg, doc/algorithm/figs/vw.jpg, doc/api/Makefile.am, doc/api/dirac_api.doxygen, doc/api/dirac_api.doxygen.in, doc/api/dirac_api_foot.html, doc/api/dirac_api_head.html, doc/api/libdirac_encoder_api.doxygen, doc/api/libdirac_encoder_api_foot.html, doc/api/libdirac_encoder_api_head.html, doc/programmers/Makefile.am, doc/programmers/programmers_guide.aux, doc/programmers/programmers_guide.dvi, doc/programmers/programmers_guide.log, doc/programmers/programmers_guide.tex: Added algorithm documentation and FAQ. Changed name of Scott Ladd's programmers guide to programmers_guide.tex from dirac_algor.tex to clarify purpose. Created individual subdirectories for algorithm, api and programmers guide docs. Modified make files and configure.ac appropriately. 2004-05-26 16:44 tjdwave * doc/: dirac_algor.tex, dirac_api.doxygen, dirac_api.doxygen.in, dirac_api_foot.html, dirac_api_head.html, libdirac_encoder_api.doxygen, libdirac_encoder_api_foot.html, libdirac_encoder_api_head.html: Removed old documentation structure. New doc structure to be put in place. 2004-05-26 16:18 tjdwave * libdirac_decoder/seq_decompress.cpp: Corrected behaviour at end of stream, so that decoder freezes on the last frame. 2004-05-26 15:33 tjdwave * libdirac_encoder/comp_compress.cpp, libdirac_common/band_codec.cpp, libdirac_decoder/comp_decompress.cpp: Updated default DC prediction value to take into account the removal of scaling from the wavelet transform. 2004-05-26 15:31 tjdwave * libdirac_common/wavelet_utils.h: Added doxygen comments to describe how perceptual weighting now incorporates scaling factors from the scaling. 2004-05-25 16:30 tjdwave * libdirac_common/wavelet_utils.cpp: Removed scaling from the wavelet transform. Scaling is now incorporated into perceptual weighting; the wavelet transform is now exactly invertible. 2004-05-25 10:49 tjdwave * libdirac_common/pic_io.cpp: Fixed bug where coder segfaulted on reading. 2004-05-25 03:39 chaoticcoyote * ChangeLog, libdirac_common/frame.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_encoder/seq_compress.h, libdirac_motionest/me_utils.cpp: Unnecessary qualification of some class members in frame.h and pic_io.h. ISO C++ forbids variable-size automatic arrays; fixed in pic_io.cpp Removed spurious semi-colons in me_utils.cpp Fixed out-of-order member constructors in seq_compress.h 2004-05-24 17:03 tjdwave * libdirac_decoder/: frame_decompress.cpp, frame_decompress.h, seq_decompress.cpp: Support for IO error handling. Decoder freezes on last frame if out of data. 2004-05-24 16:57 tjdwave * picheader/headmain.cpp, encoder/encmain.cpp, decoder/decmain.cpp: Changed CLI names and functions to house style. 2004-05-24 16:55 tjdwave * libdirac_common/: cmd_line.cpp, cmd_line.h: Modified class name to fit house style: ClassName, not class_name. 2004-05-24 16:53 tjdwave * libdirac_common/: pic_io.cpp, pic_io.h: Added error handling: IO functions now return boolean values. 2004-05-24 16:52 tjdwave * tests/colourbars.at: Fixed test so that header file has correct zlength=1. 2004-05-24 16:51 tjdwave * Makefile.am: Switched order so that docs are builts last. 2004-05-24 13:38 tjdwave * libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h: Replaced spagetti code for linear interpolation in motion compensation and motion estimation routines with simple loops. Code is much clearer, although possibly slightly slower. 2004-05-21 18:46 asuraparaju * Makefile.am, configure.ac, tests/Makefile.am, tests/colourbars.at, tests/colourbars_420.yuv, tests/testsuite.at: Initial support for autotest testsuite (run "make check"). 2004-05-21 17:27 stuart_hc * README.developers: Initial revision of software practice guidelines for CVS developers. 2004-05-21 15:17 tjdwave * libdirac_common/mot_comp.cpp: Fixed bug with erroneous linear interpolation for sub-pixel values. 2004-05-20 13:44 tjdwave * README: Minor edit of example of making a header, to reflect the new CLI. 2004-05-20 13:39 tjdwave * picheader/headmain.cpp: Fixed help message for CLI. 2004-05-20 13:38 tjdwave * decoder/decmain.cpp: Fixed minor bug with -verbose option to make it true boolean. 2004-05-20 13:37 tjdwave * encoder/encmain.cpp: Corrected help text for CLI. 2004-05-20 11:50 stuart_hc * doc/dirac_api.doxygen, doc/dirac_api_foot.html, doc/dirac_api_head.html, doc/libdirac_encoder_api_foot.html, doc/libdirac_encoder_api_head.html, libdirac_common/band_codec.cpp: Corrected CRLF line-endings to LF for consistency. 2004-05-20 11:35 stuart_hc * NEWS: Added mention of libtool removal, slight rearrangement for clarity. Corrected CRLF line-endings to LF. 2004-05-20 11:31 stuart_hc * README: Fixed incorrect interlace argument in DV transcode example. Minor grammatical errors fixed. 2004-05-19 23:08 chaoticcoyote * README: Updated for changes in command-line parser 2004-05-19 23:00 chaoticcoyote * AUTHORS: Added my middle name to credits Corrected company name 2004-05-19 18:39 chaoticcoyote * decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, picheader/headmain.cpp: Modified command line parser to correctly handle boolean options 2004-05-19 17:27 stuart_hc * README: Added example usage for MPlayer, display (ImageMagick), and transcode. Reformatted all example commands to be indented for clarity. 2004-05-19 16:51 tjdwave * NEWS: More details for 0.3.0 release 2004-05-19 15:29 tjdwave * NEWS: Include release notes for 0.2.0 & 0.3.0 2004-05-19 15:19 tjdwave * TODO: Removed mention of frame buffer class, since now complete. 2004-05-19 15:14 tjdwave * AUTHORS: Added contributers. 2004-05-19 15:04 tjdwave * libdirac_common/pic_io.cpp: Changed YUV output to output lines instead of bytes, according to patch provided by Malcolm Parsons 2004-05-19 10:16 tjdwave * libdirac_common/: mot_comp.cpp, pic_io.cpp: Replaced zero-padding with edge-padding to eliminate colour-fringeing at low bitrates. Mod to set padded values to 0 when compensating frames. 2004-05-18 08:46 tjdwave * README, encoder/encmain.cpp, libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, libdirac_common/pic_io.cpp, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/seq_compress.cpp: Added support for I-frame only coding by setting num_L1 equal 0; num_L1 negative gives a single initial I-frame ('infinitely' many L1 frames). Revised quantiser selection to cope with rounding error noise. 2004-05-14 18:27 stuart_hc * decoder/decmain.cpp: Added better error checking. 2004-05-14 18:25 stuart_hc * libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, picheader/headmain.cpp: Replaced binary header files with ASCII text format to achieve cross-platform interoperability. Rearranged PicOutput constructor to permit code reuse from picheader/headmain.cpp 2004-05-14 18:20 stuart_hc * decoder/Makefile.am, encoder/Makefile.am, picheader/Makefile.am: Use LDADD to ensure files which depend on libraries are rebuilt when necessary. 2004-05-14 15:21 tjdwave * README: Build information now incorporated. 2004-05-14 11:48 stuart_hc * bootstrap: Avoid errors when mixing versions of autotools. 2004-05-14 11:47 stuart_hc * make_debug.sh: Rearranged to use "make" to be more maintainable. 2004-05-12 17:04 tjdwave * decoder/decmain.cpp, picheader/headmain.cpp, libdirac_encoder/seq_compress.cpp: Done general code tidy, implementing copy constructors, assignment= and const correctness for most classes. Replaced Gop class by FrameBuffer class throughout. Added support for frame padding so that arbitrary block sizes and frame dimensions can be supported. 2004-05-12 17:03 tjdwave * encoder/encmain.cpp: Done general code tidy, implementing copy constructors, assignment= and const correctness for most classes. Replaced Gop class by FrameBuffer class throughout. Added support for frame padding so that arbitrary block sizes and frame dimensions can be supported. 2004-05-12 10:23 tjdwave * reconf: Removed since it duplicated the job of ./bootstrap. 2004-05-12 10:20 tjdwave * dirac_build_howto.txt: All build instructions are now in the README file. Information on creating a distribution removed since it is not indended for the target audience. 2004-05-12 09:46 tjdwave * win/xparam/README: XParam library is no longer needed to build Dirac. 2004-05-12 09:35 tjdwave * libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.h, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h: Done general code tidy, implementing copy constructors, assignment= and const correctness for most classes. Replaced Gop class by FrameBuffer class throughout. Added support for frame padding so that arbitrary block sizes and frame dimensions can be supported. 2004-05-12 09:21 stuart_hc * libdirac_common/: gop.cpp, gop.h, Makefile.am: FrameBuffer classes (frame_buffer.{cpp,h}) now replace Gop classes (gop.{cpp,h}). 2004-05-12 09:14 tjdwave * libdirac_common/: frame_buffer.cpp, frame_buffer.h: Initial commit of FrameBuffer classes to handle free-style temporal reference structures. Replaces Gop class (gop.{cpp,h}). 2004-05-11 17:11 stuart_hc * Makefile.am, bootstrap, configure.ac, decoder/Makefile.am, doc/Makefile.am, encoder/Makefile.am, libdirac_common/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am, picheader/Makefile.am: Removed use of libtool - all libraries and binaries are now static for ease of development & debugging. Added tests for documentation tools and added documentation to default make target 'all'. 2004-05-11 15:17 tjdwave * Makefile.am, README, configure.ac, dirac_build_howto.txt, decoder/Makefile.am, decoder/decmain.cpp, encoder/Makefile.am, encoder/encmain.cpp, libdirac_common/cmd_line.cpp, libdirac_common/cmd_line.h, libdirac_encoder/seq_compress.cpp, picheader/Makefile.am, picheader/headmain.cpp, win/Makefile, win/README, win/xparam/README: Removed dependency on XParam CLI library for both encoder and decoder. 2004-05-11 15:15 tjdwave * doc/dirac_algor.tex: Removed inline comments and notes. Added text describing frame types (I, L1 and L2) and relation to MPEG types. 2004-05-10 05:44 chaoticcoyote * doc/dirac_algor.tex: Newest version of "programmer's guide" 2004-05-10 05:43 chaoticcoyote * libdirac_common/: cmd_line.cpp, cmd_line.h: Simple, portable command-line parser (eliminates Xparam dependency) 2004-05-10 05:41 chaoticcoyote * doc/dirac_algor.tex, encoder/encmain.cpp, libdirac_common/Makefile.am: Updated dirac algorithm document Modified encoder to use simple, portable command-line parser 2004-05-10 02:04 chaoticcoyote * encoder/decmain.cpp: Removed spurious file 2004-04-25 23:27 chaoticcoyote * win/: README, xparam/README: Read Me files to explain the context of this directory and Makefile 2004-04-25 23:16 chaoticcoyote * win/Makefile: Added nmake makefile for Microsoft Visual C++ 2004-04-22 23:14 chaoticcoyote * make_debug.sh: Enhanced the debug build script to support different architectures 2004-04-22 22:11 chaoticcoyote * misc/xparam-1.22-gcc-3.4.0.patch: A patch for xparam 1.22 to work around a GCC 3.4.0 internal compiler error 2004-04-22 22:08 chaoticcoyote * make_debug.sh, libdirac_encoder/comp_compress.cpp: Fixed warning generated by some versions of GCC for libdirac_encoder/comp_compress.cpp Added make_debug.sh script to build debuggable, profilable versions of encoder and decoder 2004-04-16 04:12 chaoticcoyote * doc/Makefile.in: Removed spurious file 2004-04-16 04:11 chaoticcoyote * doc/: Makefile.in, dirac_api.doxygen.in: Added additional documentation build files 2004-04-16 04:10 chaoticcoyote * Makefile.am, doc/Makefile.am, doc/dirac_api.doxygen: Addiitonal work on generating docs for distribution 2004-04-16 02:41 chaoticcoyote * doc/: dirac_algor.tex, dirac_algorithm2.tex: Renamed algorithm document 2004-04-16 02:28 chaoticcoyote * Makefile.am, doc/Makefile.am: Added documentation targets to makefiles 2004-04-15 14:59 chaoticcoyote * configure.ac: Added doc/Makefile 2004-04-15 14:57 chaoticcoyote * doc/Makefile.am: Added makefile boilerplate to generate docusment via "docs" target 2004-04-15 14:54 chaoticcoyote * configure.ac: Added program checks for Doxygen and LaTeX 2004-04-15 13:31 chaoticcoyote * configure.ac: Updated to version 0.2.0 2004-04-15 13:30 chaoticcoyote * doc/dirac_algorithm2.tex: Dirac algorithm document added 2004-04-12 02:57 chaoticcoyote * Makefile.am, decoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/pic_io.cpp: Fixed problem Intel C++ had in finding xparam headers on Linux Solved Segmentation Fault bug in pic_io.cpp 2004-04-11 23:54 chaoticcoyote * libdirac_common/: arith_codec.h, bit_manager.h, context.h: Additional comments 2004-04-11 23:50 chaoticcoyote * libdirac_common/arrays.h, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/golomb.cpp, libdirac_common/gop.cpp, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/pic_io.cpp, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_decoder/seq_decompress.cpp, libdirac_encoder/comp_compress.cpp, libdirac_encoder/seq_compress.cpp, libdirac_motionest/block_match.cpp, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_utils.cpp, libdirac_motionest/motion_estimate.cpp: Modifications to allow compilation by Visual C++ 6.0 Changed local for loop declarations into function-wide definitions Replaced variable array declarations with new/delete of dynamic array Added second argument to allocator::alloc calls, since MS has no default Fixed missing and namespace problems with min, max, cos, and abs Added typedef unsigned int uint (MS does not have this) Added a few missing std:: qualifiers that GCC didn't require 2004-04-11 17:25 chaoticcoyote * windows/dirac/: dirac.dsw, libdirac_common/libdirac_common.dsp, libdirac_decoder/libdirac_decoder.dsp, libdirac_encoder/libdirac_encoder.dsp, libdirac_motionest/libdirac_motionest.dsp: Added initial Windows Visual Studio C++ 6.0 project files 2004-04-06 19:06 chaoticcoyote * libdirac_common/: arith_codec.h, arrays.h, band_codec.h, bit_manager.h, common.h, context.h, frame.h, gop.h, mot_comp.h, motion.h, mv_codec.h, pic_io.h, upconvert.h, wavelet_utils.h: Boilerplate for Doxygen comments; testing ability to commit into SF CVS 2004-04-05 04:05 chaoticcoyote * libdirac_motionest/: downconvert.h, me_mode_decn.h, me_subpel.h, me_utils.h, motion_estimate.h: Updated Doxygen API documentation comments Test to see if Scott's CVS is now working correctly 2004-03-30 16:52 chaoticcoyote * doc/dirac_api.doxygen, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.h: New Doxygen comments 2004-03-29 02:52 chaoticcoyote * libdirac_decoder/: comp_decompress.h, frame_decompress.h, seq_decompress.h: Added Doxygen comments 2004-03-22 01:33 chaoticcoyote * doc/dirac_doc_howto.txt: Added more description of HTML and LATEX document generation 2004-03-22 01:04 chaoticcoyote * libdirac_encoder/: comp_compress.cpp, comp_compress.h, frame_compress.h, seq_compress.cpp, seq_compress.h: Added API documentation to encoder library Moved large constructors so they are no longer inlined 2004-03-21 21:01 chaoticcoyote * doc/: libdirac_encoder_api_foot.html, libdirac_encoder_api_head.html: Adding custome header and footer for HTML libdirac_encoder docs 2004-03-21 21:00 chaoticcoyote * doc/: libdirac_encoder_api.doxygen, libdirac_encoder_foot.html, libdirac_encoder_head.html: Adjusting file names 2004-03-21 20:51 chaoticcoyote * doc/: libdirac_encoder_api.doxygen, libdirac_encoder_foot.html, libdirac_encoder_head.html: Added files to generate socumentation specific to libdirac_encoder 2004-03-21 19:26 chaoticcoyote * doc/dirac_api.doxygen: Change graphic configuration 2004-03-21 14:05 chaoticcoyote * dirac_build_howto.txt, doc/dirac_api.doxygen, doc/dirac_api_foot.html, doc/dirac_api_head.html, doc/dirac_doc_howto.txt: Updated documentation files 2004-03-21 13:06 chaoticcoyote * ltmain.sh, reconf: Updated autoconf to use libtoolize Removed spurious ltmain.sh 2004-03-19 07:43 chaoticcoyote * doc/dirac_algorithm.doc: Removed Word doc because the conversion didn't work 2004-03-19 07:35 chaoticcoyote * doc/: dirac_algorithm.doc, dirac_api.doxygen: Created document diractory Populated doc directory with preliminary texts 2004-03-13 17:34 chaoticcoyote * decoder/Makefile.am, encoder/Makefile.am, libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, libdirac_motionest/Makefile.am: Disabled auto-dependency checking in newer versions of AutoMake 2004-03-13 17:11 chaoticcoyote * ltmain.sh, reconf, libdirac_common/Makefile.am: Required files for for autoconf 2004-03-12 17:09 chaoticcoyote * NEWS: Minor change to test commit ability 2004-03-11 17:45 timborer * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, TODO, bootstrap, configure.ac, dirac.pc.in, decoder/Makefile.am, decoder/decmain.cpp, encoder/Makefile.am, encoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/gop.cpp, libdirac_common/gop.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/Makefile.am, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/Makefile.am, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, picheader/Makefile.am, picheader/headmain.cpp: Initial import (well nearly!) 2004-03-11 17:45 timborer * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, TODO, bootstrap, configure.ac, dirac.pc.in, decoder/Makefile.am, decoder/decmain.cpp, encoder/Makefile.am, encoder/decmain.cpp, encoder/encmain.cpp, libdirac_common/Makefile.am, libdirac_common/arith_codec.h, libdirac_common/arrays.h, libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, libdirac_common/common.cpp, libdirac_common/common.h, libdirac_common/context.h, libdirac_common/frame.cpp, libdirac_common/frame.h, libdirac_common/golomb.cpp, libdirac_common/golomb.h, libdirac_common/gop.cpp, libdirac_common/gop.h, libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, libdirac_common/motion.cpp, libdirac_common/motion.h, libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, libdirac_common/pic_io.cpp, libdirac_common/pic_io.h, libdirac_common/upconvert.cpp, libdirac_common/upconvert.h, libdirac_common/wavelet_utils.cpp, libdirac_common/wavelet_utils.h, libdirac_decoder/Makefile.am, libdirac_decoder/comp_decompress.cpp, libdirac_decoder/comp_decompress.h, libdirac_decoder/frame_decompress.cpp, libdirac_decoder/frame_decompress.h, libdirac_decoder/seq_decompress.cpp, libdirac_decoder/seq_decompress.h, libdirac_encoder/Makefile.am, libdirac_encoder/comp_compress.cpp, libdirac_encoder/comp_compress.h, libdirac_encoder/frame_compress.cpp, libdirac_encoder/frame_compress.h, libdirac_encoder/seq_compress.cpp, libdirac_encoder/seq_compress.h, libdirac_motionest/Makefile.am, libdirac_motionest/block_match.cpp, libdirac_motionest/block_match.h, libdirac_motionest/downconvert.cpp, libdirac_motionest/downconvert.h, libdirac_motionest/me_mode_decn.cpp, libdirac_motionest/me_mode_decn.h, libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, libdirac_motionest/motion_estimate.cpp, libdirac_motionest/motion_estimate.h, picheader/Makefile.am, picheader/headmain.cpp: Initial revision