1 libtheora 1.1.1 (2009 October 1)
3 - Fix problems with MSVC inline assembly
4 - Add the missing encoder_disabled.c to the distribution
5 - build updates: autogen.sh should work better after switching systems
6 and the MSVC project now defaults to the dynamic runtime library
7 - Namespace some variables to avoid conflicts on wince.
9 libtheora 1.1.0 (2009 September 24)
11 - Fix various small issues with the example and telemetry code
12 - Fix handing a zero-byte packet as the first frame
13 - Documentation cleanup
14 - Two minor build fixes
16 libtheora 1.1beta3 (2009 August 22)
18 - Rate control fixes to smooth quality
19 - MSVC build now exports all of the 1.0 api
20 - Assorted small bug fixes
22 libtheora 1.1beta2 (2009 August 12)
24 - Fix a rate control problem with difficult input
25 - Build fixes for OpenBSD and Apple Xcode
26 - Examples now all use the 1.0 api
27 - TH_ENCCTL_SET_SPLEVEL works again
28 - Various bug fixes and source tree rearrangement
30 libtheora 1.1beta1 (2009 August 5)
32 - Support for two-pass encoding
33 - Performance optimization of both encoder and decoder
34 - Encoder supports dynamic adjustment of quality and
36 - Encoder is generally more configurable, and all
37 rate control modes perform better
38 - Encoder now accepts 4:2:2 and 4:4:4 chroma sampling
39 - Decoder telemetry output shows quantization choice
40 and a breakdown of bitrate usage in the frame
41 - MSVC assembly optimizations up to date and functional
43 libtheora 1.1alpha2 (2009 May 26)
45 - Reduce lambda for small quantizers.
46 - New encoder fDCT does better on smooth gradients
47 - Use SATD for mode decisions (1-2% bitrate reduction)
48 - Assembly rewrite for new features and general speed up
49 - Share code between the encoder and decoder for performance
50 - Fix 4:2:2 decoding and telemetry
51 - MSVC project files updated, but assembly is disabled.
52 - New configure option --disable-spec to work around toolchain
54 - Limit symbol exports on MacOS X.
55 - Port remaining unit tests from the 1.0 release.
57 libtheora 1.1alpha1 (2009 March 27)
59 - Encoder rewrite with much improved vbr quality/bitrate and
60 better tracking of the target rate in cbr mode.
61 - MSVC project files do not work in this release.
63 libtheora 1.0 (2008 November 3)
65 - Merge x86 assembly for forward DCT from Thusnelda branch.
66 - Update 32 bit MMX with loop filter fix.
67 - Check for an uninitialized state before dereferencing in propagating
69 - Remove all TH_DEBUG statements.
70 - Rename the bitpacker source files copied from libogg to avoid
71 confusing simple build systems using both libraries.
72 - Declare bitfield entries to be explicitly signed for Solaris cc.
73 - Set quantization parameters to default values when an empty buffer is
74 passed with TH_ENCCTL_SET_QUANT_PARAMS.
75 - Split encoder and decoder tests depending on configure settings.
76 - Return lstylex.sty to the distribution.
77 - Disable inline assembly on gcc versions prior to 3.1.
78 - Remove extern references for OC_*_QUANT_MIN.
79 - Make various data tables static const so they can be read-only.
80 - Remove ENCCTL codes from the old encoder API.
81 - Implement TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE ctl.
82 - Fix segfault when exactly one of the width or height is not a multiple
83 of 16, but the other is.
84 - Compute the correct vertical offset for chroma.
85 - cpuid assembly fix for MSVC.
86 - Add VS2008 project files.
87 - Build updates for 64-bit platforms, Mingw32, VS and XCode.
88 - Do not clobber the cropping rectangle.
89 - Declare ourselves 1.0final to pkg-config to sort after beta releases.
90 - Fix the scons build to include asm in libtheoradec/enc.
92 libtheora 1.0beta3 (2008 April 16)
94 - Build new libtheoradec and libtheoraenc libraries
95 supporting the new API from theora-exp. This API should
96 not be considered stable yet.
97 - Change granule_frame() to return an index as documented.
98 This is a change of behaviour from 1.0beta1.
99 - Document that granule_time() returns the end of the
100 presentation interval.
101 - Use a custom copy of the libogg bitpacker in the decoder
102 to avoid function call overhead.
103 - MMX code improved and ported to MSVC.
104 - Fix a problem with the MMX code on SELinux.
105 - Fix a problem with decoder quantizer initialization.
106 - Fix a page queue problem with png2theora.
107 - Improved robustness.
108 - Updated VS2005 project files.
109 - Dropped build support for Microsoft VS2003.
110 - Dropped build support for the unreleased libogg2.
111 - Added the specification to the autotools build.
112 - Specification corrections.
114 libtheora 1.0beta2 (2007 October 12)
116 - Fix a crash bug on char-is-unsigned architectures (PowerPC)
117 - Fix a buffer sizing issue that caused rare encoder crashes
118 - Fix a buffer alignment issue
119 - Build fixes for MingW32, MSVC
120 - Improved format documentation.
122 libtheora 1.0beta1 (2007 September 22)
124 - Granulepos scheme modified to match other codecs. This bumps
125 the bitstream revision to 3.2.1. Bitstreams marked 3.2.0 are
126 handled correctly by this decoder. Older decoders will show
127 a one frame sync error in the less noticable direction.
129 libtheora 1.0alpha8 (2007 September 18)
131 - Switch to new spec compliant decoder from theora-exp branch.
132 Written by Dr. Timothy Terriberry.
133 - Add support to the encoder for using quantization settings
134 provided by the application.
135 - more assembly optimizations
137 libtheora 1.0alpha7 (2006 June 20)
139 - Enable mmx assembly by default
140 - Avoid some relocations that caused problems on SELinux
142 - time testing mode (-f) for the dump_video example
144 libtheora 1.0alpha6 (2006 May 30)
146 * Merge theora-mmx simd acceleration (x86_32 and x86_64)
147 * Major RTP payload specification update
148 * Minor format specification updates
149 * Fix some spurious calls to free() instead of _ogg_free()
150 * Fix invalid array indexing in PixelLineSearch()
151 * Improve robustness against invalid input
152 * General warning cleanup
153 * The offset_y member now means what every application thought it meant
154 (offset from the top). This will mean some old files (those with a
155 non-centered image created with a buggy encoder) will display differently.
157 libtheora 1.0alpha5 (2005 August 20)
159 * Fixed bitrate management bugs that caused popping and encode
161 * Fixed a crash problem with the theora_state internals not
162 being intialized properly.
163 * new utility function:
164 - theora_granule_shift()
165 * dump_video example now makes YUV4MPEG files by default, so
166 the results can be fed back to encoder_example and similar
167 tools. The old behavior is restored through the '-r' switch.
168 * ./configure now prints a summary
169 * simple unit test of the comment api under 'make check'
170 * misc code cleanup, warning and leak fixes
172 libtheora 1.0alpha4 (2004 December 15)
174 * first draft of the Theora I Format Specification
175 * API documentation generated from theora.h with Doxygen
176 * fix a double-update bug in the motion analysis
177 * apply the loop filter before filling motion vector border
178 in the reference frame
179 * new utility functions:
180 - theora_packet_isheader(),
181 - theora_packet_iskeyframe()
182 - theora_granule_frame()
183 * optional support for building without floating point
184 * optional support for building without encode support
185 * various build and packaging fixes
187 * SymbianOS build support
189 libtheora 1.0alpha3 (2004 March 20)
191 UPDATE: on 2004 July 1 the Theora I bitstream format was frozen. Files
192 produced by the libtheora 1.0alpha3 reference encoder will always be
193 decodable by the Theora I spec.
195 * Bitstream info header FORMAT CHANGES:
196 - move the granulepos shift field to maintain byte alignment longer.
197 - reserve 5 additional bits for subsampling and interlace flags.
198 * Bitstream setup header FORMAT CHANGES:
199 - support for a range of interpolated quant matricies.
200 - include the in-loop block filter coeff.
201 * Bitsteam data packet FORMAT CHANGES:
202 - Reserve a bit for per-block Q index selection.
203 - Flip the coded image orientation for compatibility with VP3.
204 This allows lossless transcoding of VP3 content, but files
205 encoded with earlier theora releases would play upside down.
206 * example VP3 lossless transcoder
207 * optional support for libogg2
208 * timing improvements in the example player
209 * packaging and build system updates and fixes
211 libtheora 1.0alpha2 (2003 June 9)
213 * bitstream FORMAT CHANGES:
214 - store the quant tables in a third setup header for
215 future encoder flexibility
216 - store the huffman tables in the third setup header
217 - add a field for marking the colorspace to the info header
218 - add crop parameters for non-multiple-of-16 frame sizes
219 - add a second vorbiscomment-style metadata header
220 * API changes to handle multiple headers with a single
221 theora_decode_header() call, like libvorbis
222 * code cleanup and minor fixes
223 * new dump_video code example/utility
224 * experimental win32 code examples
226 libtheora 1.0alpha1 (2002 September 25)
228 * First release of the theora reference implementation
229 * Port of the newly opened VP3 code to the Ogg container
230 * Rewrite of the code for portability and to use the libogg bitpacker