author Monty <> and the rest of the Xiph.Org Foundation, plus Chris Double <>
Tue, 29 Jul 2008 23:38:23 -0700
changeset 16296 beb6a98d95cb28d441c5e5f804f3742f70f4db0c
permissions -rw-r--r--
Bug 422538. Import libtheora

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
 * 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