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