You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
3.7KB

  1. Release Notes
  2. =============
  3. * 10 "Eks"
  4. General notes
  5. -------------
  6. One of the main features of this release is the addition of reference-counted
  7. data buffers to Libav and their use in various structures. Specifically, the
  8. data buffers used by AVPacket and AVFrame can now be reference counted, which
  9. should allow to significantly simplify many use cases. In addition,
  10. reference-counted AVFrames can now be used in libavfilter, avoiding the need
  11. for a separate libavfilter-specific frame structure. Frames can now be passed
  12. straight from the decoders into filters or from filters to encoders.
  13. These additions made it necessary to bump the major versions of libavcodec,
  14. libavformat, libavdevice, libavfilter, and libavutil, which was accompanied by
  15. dropping some old deprecated APIs. These libraries are thus not ABI- or API-
  16. compatible with the previous release. All the other libraries (libavresample
  17. and libswscale) should be both ABI- and API-compatible.
  18. Another major point is the inclusion of the HEVC (AKA H.265, the successor of
  19. H.264) decoder in the main codebase. It was started in 2012 as a Libav Google
  20. Summer of Code project by Guillaume Martres and subsequently completed with
  21. the assistance of the OpenHEVC project and several Libav developers.
  22. As usual, this release also contains support for other new formats, many smaller
  23. new features and countless bug fixes. We can highlight a native VP9 decoder,
  24. with encoding provided through libvpx, native decoders for WebP, JPEG 2000, and
  25. AIC, as well as improved WavPack support with encoding through libwavpack,
  26. support for more AAC flavors (LD - low delay, ELD - enhanced low delay), slice
  27. multithreading in libavfilter, or muxing chapters in ASF. Furthermore there is
  28. more fine-grained detection of host and target libc, which should allow better
  29. portability to various cross compilation scenarios.
  30. See the Changelog file for a fuller list of significant changes.
  31. Please note that our policy on bug reports has not changed. We still only accept
  32. bug reports against HEAD of the Libav trunk repository. If you are experiencing
  33. issues with any formally released version of Libav, please try a current version
  34. of the development code to check if the issue still exists. If it does, make
  35. your report against the development code following the usual bug reporting
  36. guidelines.
  37. API changes
  38. -----------
  39. A number of additional APIs have been introduced and some existing functions
  40. have been deprecated and are scheduled for removal in the next release.
  41. Significant API changes include:
  42. [libavutil]
  43. + added the reference-counted buffers API (buffers.h)
  44. + moved the AVFrame struct to libavutil and added a new API for working with
  45. reference-counted AVFrames (frame.h)
  46. [libavcodec]
  47. + added an API for working with reference-counted AVPackets (av_packet_*)
  48. +- converted VDPAU to the hwaccel framework; the old way of using VDPAU is no
  49. longer supported
  50. - old audio encoding and decoding APIs removed
  51. - old video encoding API removed
  52. - deprecated enum CodecID removed (enum AVCodecID should be used instead)
  53. - deprecated audio resampling API removed (libavresample should be used
  54. instead)
  55. [libavfilter]
  56. +- replaced AVFilterBufferRef with AVFrame; AVFilterBufferRef and everything
  57. related to it still exists, but is deprecated
  58. + converted all filters to use the AVOptions system for configuration, it is
  59. now possible to query the supported options, their values and set them
  60. directly with av_opt_*
  61. + added a slice multithreading framework
  62. +- merged avfiltergraph.h to avfilter.h, using AVFilterGraph is now explicitly
  63. mandatory (it was implicitly required even before); added new API for
  64. allocating and initializing filters
  65. Please see the file doc/APIchanges for details along with similar
  66. programmer-centric information.