CHANGES 9.8 KB

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