michael@0: libteora 1.2.0alpha1 (2010 September 23) michael@0: michael@0: - New 'ptalarbvorm' encoder with better rate/distortion optimization michael@0: - New th_encode_ctl option for copying configuration from an existing michael@0: setup header, useful for splicing streams. michael@0: - Returns TH_DUPFRAME in more cases. michael@0: - Add ARM optimizations michael@0: - Add TI C64x+ DSP optimizations michael@0: - Other performance improvements michael@0: - Rename speedlevel 2 to 3 and provide a new speedlevel 2 michael@0: - Various minor bug fixes michael@0: michael@0: libtheora 1.1.2 (unreleased snapshot) michael@0: michael@0: - Fix Huffman table decoding with OC_HUFF_SLUSH is set to 0 michael@0: - Fix a frame size bug in player_example michael@0: - Add support for passing a buffer the size of the picture michael@0: region, rather than a full padded frame to th_encode_ycbcr_in() michael@0: as was possible with the legacy pre-1.0 API. michael@0: - 4:4:4 support in player_example using software yuv->rgb michael@0: - Better rgb->yuv conversion in png2theora michael@0: - Clean up warnings and local variables michael@0: - Build and documentation fixes michael@0: michael@0: libtheora 1.1.1 (2009 October 1) michael@0: michael@0: - Fix problems with MSVC inline assembly michael@0: - Add the missing encoder_disabled.c to the distribution michael@0: - build updates: autogen.sh should work better after switching systems michael@0: and the MSVC project now defaults to the dynamic runtime library michael@0: - Namespace some variables to avoid conflicts on wince. michael@0: michael@0: libtheora 1.1.0 (2009 September 24) michael@0: michael@0: - Fix various small issues with the example and telemetry code michael@0: - Fix handing a zero-byte packet as the first frame michael@0: - Documentation cleanup michael@0: - Two minor build fixes michael@0: michael@0: libtheora 1.1beta3 (2009 August 22) michael@0: michael@0: - Rate control fixes to smooth quality michael@0: - MSVC build now exports all of the 1.0 api michael@0: - Assorted small bug fixes michael@0: michael@0: libtheora 1.1beta2 (2009 August 12) michael@0: michael@0: - Fix a rate control problem with difficult input michael@0: - Build fixes for OpenBSD and Apple Xcode michael@0: - Examples now all use the 1.0 api michael@0: - TH_ENCCTL_SET_SPLEVEL works again michael@0: - Various bug fixes and source tree rearrangement michael@0: michael@0: libtheora 1.1beta1 (2009 August 5) michael@0: michael@0: - Support for two-pass encoding michael@0: - Performance optimization of both encoder and decoder michael@0: - Encoder supports dynamic adjustment of quality and michael@0: bitrate targets michael@0: - Encoder is generally more configurable, and all michael@0: rate control modes perform better michael@0: - Encoder now accepts 4:2:2 and 4:4:4 chroma sampling michael@0: - Decoder telemetry output shows quantization choice michael@0: and a breakdown of bitrate usage in the frame michael@0: - MSVC assembly optimizations up to date and functional michael@0: michael@0: libtheora 1.1alpha2 (2009 May 26) michael@0: michael@0: - Reduce lambda for small quantizers. michael@0: - New encoder fDCT does better on smooth gradients michael@0: - Use SATD for mode decisions (1-2% bitrate reduction) michael@0: - Assembly rewrite for new features and general speed up michael@0: - Share code between the encoder and decoder for performance michael@0: - Fix 4:2:2 decoding and telemetry michael@0: - MSVC project files updated, but assembly is disabled. michael@0: - New configure option --disable-spec to work around toolchain michael@0: detection failures. michael@0: - Limit symbol exports on MacOS X. michael@0: - Port remaining unit tests from the 1.0 release. michael@0: michael@0: libtheora 1.1alpha1 (2009 March 27) michael@0: michael@0: - Encoder rewrite with much improved vbr quality/bitrate and michael@0: better tracking of the target rate in cbr mode. michael@0: - MSVC project files do not work in this release. michael@0: michael@0: libtheora 1.0 (2008 November 3) michael@0: michael@0: - Merge x86 assembly for forward DCT from Thusnelda branch. michael@0: - Update 32 bit MMX with loop filter fix. michael@0: - Check for an uninitialized state before dereferencing in propagating michael@0: decode calls. michael@0: - Remove all TH_DEBUG statements. michael@0: - Rename the bitpacker source files copied from libogg to avoid michael@0: confusing simple build systems using both libraries. michael@0: - Declare bitfield entries to be explicitly signed for Solaris cc. michael@0: - Set quantization parameters to default values when an empty buffer is michael@0: passed with TH_ENCCTL_SET_QUANT_PARAMS. michael@0: - Split encoder and decoder tests depending on configure settings. michael@0: - Return lstylex.sty to the distribution. michael@0: - Disable inline assembly on gcc versions prior to 3.1. michael@0: - Remove extern references for OC_*_QUANT_MIN. michael@0: - Make various data tables static const so they can be read-only. michael@0: - Remove ENCCTL codes from the old encoder API. michael@0: - Implement TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE ctl. michael@0: - Fix segfault when exactly one of the width or height is not a multiple michael@0: of 16, but the other is. michael@0: - Compute the correct vertical offset for chroma. michael@0: - cpuid assembly fix for MSVC. michael@0: - Add VS2008 project files. michael@0: - Build updates for 64-bit platforms, Mingw32, VS and XCode. michael@0: - Do not clobber the cropping rectangle. michael@0: - Declare ourselves 1.0final to pkg-config to sort after beta releases. michael@0: - Fix the scons build to include asm in libtheoradec/enc. michael@0: michael@0: libtheora 1.0beta3 (2008 April 16) michael@0: michael@0: - Build new libtheoradec and libtheoraenc libraries michael@0: supporting the new API from theora-exp. This API should michael@0: not be considered stable yet. michael@0: - Change granule_frame() to return an index as documented. michael@0: This is a change of behaviour from 1.0beta1. michael@0: - Document that granule_time() returns the end of the michael@0: presentation interval. michael@0: - Use a custom copy of the libogg bitpacker in the decoder michael@0: to avoid function call overhead. michael@0: - MMX code improved and ported to MSVC. michael@0: - Fix a problem with the MMX code on SELinux. michael@0: - Fix a problem with decoder quantizer initialization. michael@0: - Fix a page queue problem with png2theora. michael@0: - Improved robustness. michael@0: - Updated VS2005 project files. michael@0: - Dropped build support for Microsoft VS2003. michael@0: - Dropped build support for the unreleased libogg2. michael@0: - Added the specification to the autotools build. michael@0: - Specification corrections. michael@0: michael@0: libtheora 1.0beta2 (2007 October 12) michael@0: michael@0: - Fix a crash bug on char-is-unsigned architectures (PowerPC) michael@0: - Fix a buffer sizing issue that caused rare encoder crashes michael@0: - Fix a buffer alignment issue michael@0: - Build fixes for MingW32, MSVC michael@0: - Improved format documentation. michael@0: michael@0: libtheora 1.0beta1 (2007 September 22) michael@0: michael@0: - Granulepos scheme modified to match other codecs. This bumps michael@0: the bitstream revision to 3.2.1. Bitstreams marked 3.2.0 are michael@0: handled correctly by this decoder. Older decoders will show michael@0: a one frame sync error in the less noticeable direction. michael@0: michael@0: libtheora 1.0alpha8 (2007 September 18) michael@0: michael@0: - Switch to new spec compliant decoder from theora-exp branch. michael@0: Written by Dr. Timothy Terriberry. michael@0: - Add support to the encoder for using quantization settings michael@0: provided by the application. michael@0: - more assembly optimizations michael@0: michael@0: libtheora 1.0alpha7 (2006 June 20) michael@0: michael@0: - Enable mmx assembly by default michael@0: - Avoid some relocations that caused problems on SELinux michael@0: - Other build fixes michael@0: - time testing mode (-f) for the dump_video example michael@0: michael@0: libtheora 1.0alpha6 (2006 May 30) michael@0: michael@0: * Merge theora-mmx simd acceleration (x86_32 and x86_64) michael@0: * Major RTP payload specification update michael@0: * Minor format specification updates michael@0: * Fix some spurious calls to free() instead of _ogg_free() michael@0: * Fix invalid array indexing in PixelLineSearch() michael@0: * Improve robustness against invalid input michael@0: * General warning cleanup michael@0: * The offset_y member now means what every application thought it meant michael@0: (offset from the top). This will mean some old files (those with a michael@0: non-centered image created with a buggy encoder) will display differently. michael@0: michael@0: libtheora 1.0alpha5 (2005 August 20) michael@0: michael@0: * Fixed bitrate management bugs that caused popping and encode michael@0: errors michael@0: * Fixed a crash problem with the theora_state internals not michael@0: being intialized properly. michael@0: * new utility function: michael@0: - theora_granule_shift() michael@0: * dump_video example now makes YUV4MPEG files by default, so michael@0: the results can be fed back to encoder_example and similar michael@0: tools. The old behavior is restored through the '-r' switch. michael@0: * ./configure now prints a summary michael@0: * simple unit test of the comment api under 'make check' michael@0: * misc code cleanup, warning and leak fixes michael@0: michael@0: libtheora 1.0alpha4 (2004 December 15) michael@0: michael@0: * first draft of the Theora I Format Specification michael@0: * API documentation generated from theora.h with Doxygen michael@0: * fix a double-update bug in the motion analysis michael@0: * apply the loop filter before filling motion vector border michael@0: in the reference frame michael@0: * new utility functions: michael@0: - theora_packet_isheader(), michael@0: - theora_packet_iskeyframe() michael@0: - theora_granule_frame() michael@0: * optional support for building without floating point michael@0: * optional support for building without encode support michael@0: * various build and packaging fixes michael@0: * pkg-config support michael@0: * SymbianOS build support michael@0: michael@0: libtheora 1.0alpha3 (2004 March 20) michael@0: michael@0: UPDATE: on 2004 July 1 the Theora I bitstream format was frozen. Files michael@0: produced by the libtheora 1.0alpha3 reference encoder will always be michael@0: decodable by the Theora I spec. michael@0: michael@0: * Bitstream info header FORMAT CHANGES: michael@0: - move the granulepos shift field to maintain byte alignment longer. michael@0: - reserve 5 additional bits for subsampling and interlace flags. michael@0: * Bitstream setup header FORMAT CHANGES: michael@0: - support for a range of interpolated quant matricies. michael@0: - include the in-loop block filter coeff. michael@0: * Bitsteam data packet FORMAT CHANGES: michael@0: - Reserve a bit for per-block Q index selection. michael@0: - Flip the coded image orientation for compatibility with VP3. michael@0: This allows lossless transcoding of VP3 content, but files michael@0: encoded with earlier theora releases would play upside down. michael@0: * example VP3 lossless transcoder michael@0: * optional support for libogg2 michael@0: * timing improvements in the example player michael@0: * packaging and build system updates and fixes michael@0: michael@0: libtheora 1.0alpha2 (2003 June 9) michael@0: michael@0: * bitstream FORMAT CHANGES: michael@0: - store the quant tables in a third setup header for michael@0: future encoder flexibility michael@0: - store the huffman tables in the third setup header michael@0: - add a field for marking the colorspace to the info header michael@0: - add crop parameters for non-multiple-of-16 frame sizes michael@0: - add a second vorbiscomment-style metadata header michael@0: * API changes to handle multiple headers with a single michael@0: theora_decode_header() call, like libvorbis michael@0: * code cleanup and minor fixes michael@0: * new dump_video code example/utility michael@0: * experimental win32 code examples michael@0: michael@0: libtheora 1.0alpha1 (2002 September 25) michael@0: michael@0: * First release of the theora reference implementation michael@0: * Port of the newly opened VP3 code to the Ogg container michael@0: * Rewrite of the code for portability and to use the libogg bitpacker michael@0: