]> git.sesse.net Git - ffmpeg/blobdiff - doc/RELEASE_NOTES
mxf: Add uncompressed 422 8-bit rawvideo UL
[ffmpeg] / doc / RELEASE_NOTES
index f857a183fd80129677c4a1237df9871c6b7c9d71..b258e30abff139c73807248bd3220508f9cb7034 100644 (file)
@@ -1,50 +1,81 @@
 Release Notes
 =============
 
-* 0.8 "Forbidden Fruit"
+* 10 "Eks"
 
 General notes
 -------------
 
-This release continues the API cleanups that have begun with the
-previous release. While it is binary compatible with 0.7, many parts of
-the public API were deprecated and will be removed in the git master and
-later releases. Please consult the doc/APIchanges file to see intended
-replacements for the deprecated APIs.
+One of the main features of this release is the addition of reference-counted
+data buffers to Libav and their use in various structures. Specifically, the
+data buffers used by AVPacket and AVFrame can now be reference counted, which
+should allow to significantly simplify many use cases. In addition,
+reference-counted AVFrames can now be used in libavfilter, avoiding the need
+for a separate libavfilter-specific frame structure. Frames can now be passed
+straight from the decoders into filters or from filters to encoders.
 
-Furthermore, our work on the 'ffmpeg' command-line tool has resulted in
-major revisions to its interface. In order to not break existing scripts
-and applications, we have chosen to introduce a new tool called
-'avconv', and keep the traditional 'ffmpeg' frontend for end-user's
-convenience. Please see the Changelog file for details how 'avconv'
-differs from 'ffmpeg'.
+These additions made it necessary to bump the major versions of libavcodec,
+libavformat, libavdevice, libavfilter, and libavutil, which was accompanied by
+dropping some old deprecated APIs. These libraries are thus not ABI- or API-
+compatible with the previous release. All the other libraries (libavresample
+and libswscale) should be both ABI- and API-compatible.
 
-Additionally, this release introduces a number of new interesting codecs
-such as the Apple Prores, Flash Screen Video 2 and Windows Media Image,
-and muxers such as LATM or CELT in Ogg, among many others. Moreover, our
-H.264 decoder has been improved to decode 4:2:2 material and our libx264
-wrapper now allows to produce 4:2:2 and 4:4:4 video.
+Another major point is the inclusion of the HEVC (AKA H.265, the successor of
+H.264) decoder in the main codebase. It was started in 2012 as a Libav Google
+Summer of Code project by Guillaume Martres and subsequently completed with
+the assistance of the OpenHEVC project and several Libav developers.
 
-See the Changelog file for a list of significant changes.
+As usual, this release also contains support for other new formats, many smaller
+new features and countless bug fixes. We can highlight a native VP9 decoder,
+with encoding provided through libvpx, native decoders for WebP, JPEG 2000, and
+AIC, as well as improved WavPack support with encoding through libwavpack,
+support for more AAC flavors (LD - low delay, ELD - enhanced low delay), slice
+multithreading in libavfilter, or muxing chapters in ASF. Furthermore there is
+more fine-grained detection of host and target libc, which should allow better
+portability to various cross compilation scenarios.
+
+See the Changelog file for a fuller list of significant changes.
 
 Please note that our policy on bug reports has not changed. We still only accept
 bug reports against HEAD of the Libav trunk repository. If you are experiencing
 issues with any formally released version of Libav, please try a current version
-of the development code to check if the issue still exists. If it does, make your
-report against the development code following the usual bug reporting guidelines.
+of the development code to check if the issue still exists. If it does, make
+your report against the development code following the usual bug reporting
+guidelines.
 
 
 API changes
 -----------
 
-A number of additional APIs have been introduced and some existing
-functions have been deprecated and are scheduled for removal in the next
-release. Please see the file doc/APIchanges for details along with
-similar programmer-centric information.
+A number of additional APIs have been introduced and some existing functions
+have been deprecated and are scheduled for removal in the next release.
+Significant API changes include:
 
+[libavutil]
++ added the reference-counted buffers API (buffers.h)
++ moved the AVFrame struct to libavutil and added a new API for working with
+  reference-counted AVFrames (frame.h)
 
+[libavcodec]
++ added an API for working with reference-counted AVPackets (av_packet_*)
++- converted VDPAU to the hwaccel framework; the old way of using VDPAU is no
+   longer supported
+- old audio encoding and decoding APIs removed
+- old video encoding API removed
+- deprecated enum CodecID removed (enum AVCodecID should be used instead)
+- deprecated audio resampling API removed (libavresample should be used
+  instead)
 
-Other notable changes
----------------------
+[libavfilter]
++- replaced AVFilterBufferRef with AVFrame; AVFilterBufferRef and everything
+   related to it still exists, but is deprecated
++ converted all filters to use the AVOptions system for configuration, it is
+  now possible to query the supported options, their values and set them
+  directly with av_opt_*
++ added a slice multithreading framework
++- merged avfiltergraph.h to avfilter.h, using AVFilterGraph is now explicitly
+   mandatory (it was implicitly required even before); added new API for
+   allocating and initializing filters
 
-Please see the Changelog file for a more detailed list of changes.
+Please see the file doc/APIchanges for details along with similar
+programmer-centric information.