libtheora 1.0beta4 (unreleased) - no changes yet. libtheora 1.0beta3 (2008 April 16) - Build new libtheoradec and libtheoraenc libraries supporting the new API from theora-exp. This API should not be considered stable yet. - Change granule_frame() to return an index as documented. This is a change of behaviour from 1.0beta1. - Document that granule_time() returns the end of the presentation interval. - Use a custom copy of the libogg bitpacker in the decoder to avoid function call overhead. - MMX code improved and ported to MSVC. - Fix a problem with the MMX code on SELinux - Fix a problem with decoder quantizer initialization. - Fix a page queue problem with png2theora. - Improved robustness. - Updated VS2005 project files. - Dropped build support for Microsoft VS2003. - Dropped build support for the unreleased libogg2. - Added the specification to the autotools build. - Specification corrections. libtheora 1.0beta2 (2007 October 12) - Fix a crash bug on char-is-unsigned architectures (PowerPC) - Fix a buffer sizing issue that caused rare encoder crashes - Fix a buffer alignment issue - Build fixes for MingW32, MSVC - Improved format documentation. libtheora 1.0beta1 (2007 September 22) - Granulepos scheme modified to match other codecs. This bumps the bitstream revision to 3.2.1. Bitstreams marked 3.2.0 are handled correctly by this decoder. Older decoders will show a one frame sync error in the less noticable direction. libtheora 1.0alpha8 (2007 September 18) - Switch to new spec compliant decoder from theora-exp branch. Written by Dr. Timothy Terriberry. - Add support to the encoder for using quantization settings provided by the application. - more assembly optimizations libtheora 1.0alpha7 (2006 June 20) - Enable mmx assembly by default - Avoid some relocations that caused problems on SELinux - Other build fixes - time testing mode (-f) for the dump_video example libtheora 1.0alpha6 (2006 May 30) * Merge theora-mmx simd acceleration (x86_32 and x86_64) * Major RTP payload specification update * Minor format specification updates * Fix some spurious calls to free() instead of _ogg_free() * Fix invalid array indexing in PixelLineSearch() * Improve robustness against invalid input * General warning cleanup * The offset_y member now means what every application thought it meant (offset from the top). This will mean some old files (those with a non-centered image created with a buggy encoder) will display differently. libtheora 1.0alpha5 (2005 August 20) * Fixed bitrate management bugs that caused popping and encode errors * Fixed a crash problem with the theora_state internals not being intialized properly. * new utility function: - theora_granule_shift() * dump_video example now makes YUV4MPEG files by default, so the results can be fed back to encoder_example and similar tools. The old behavior is restored through the '-r' switch. * ./configure now prints a summary * simple unit test of the comment api under 'make check' * misc code cleanup, warning and leak fixes libtheora 1.0alpha4 (2004 December 15) * first draft of the Theora I Format Specification * API documentation generated from theora.h with Doxygen * fix a double-update bug in the motion analysis * apply the loop filter before filling motion vector border in the reference frame * new utility functions: - theora_packet_isheader(), - theora_packet_iskeyframe() - theora_granule_frame() * optional support for building without floating point * optional support for building without encode support * various build and packaging fixes * pkg-config support * SymbianOS build support libtheora 1.0alpha3 (2004 March 20) UPDATE: on 2004 July 1 the Theora I bitstream format was frozen. Files produced by the libtheora 1.0alpha3 reference encoder will always be decodable by the Theora I spec. * Bitstream info header FORMAT CHANGES: - move the granulepos shift field to maintain byte alignment longer. - reserve 5 additional bits for subsampling and interlace flags. * Bitstream setup header FORMAT CHANGES: - support for a range of interpolated quant matricies. - include the in-loop block filter coeff. * Bitsteam data packet FORMAT CHANGES: - Reserve a bit for per-block Q index selection. - Flip the coded image orientation for compatibility with VP3. This allows lossless transcoding of VP3 content, but files encoded with earlier theora releases would play upside down. * example VP3 lossless transcoder * optional support for libogg2 * timing improvements in the example player * packaging and build system updates and fixes libtheora 1.0alpha2 (2003 June 9) * bitstream FORMAT CHANGES: - store the quant tables in a third setup header for future encoder flexibility - store the huffman tables in the third setup header - add a field for marking the colorspace to the info header - add crop parameters for non-multiple-of-16 frame sizes - add a second vorbiscomment-style metadata header * API changes to handle multiple headers with a single theora_decode_header() call, like libvorbis * code cleanup and minor fixes * new dump_video code example/utility * experimental win32 code examples libtheora 1.0alpha1 (2002 September 25) * First release of the theora reference implementation * Port of the newly opened VP3 code to the Ogg container * Rewrite of the code for portability and to use the libogg bitpacker