Add Russian translation provided by Валерий Крувялис <valkru@mail.ru>
[xiph-mirror.git] / theora / CHANGES
blobfb09793a3ec5350379d75ffcbe7316908f5c49a4
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 
59    bitrate targets
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
77    detection failures.
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
92    decode calls.
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
165  - Other build fixes
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
184    errors
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
210  * pkg-config support
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