Blame media/libtheora/CHANGES

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