]> git.sesse.net Git - ffmpeg/blobdiff - doc/RELEASE_NOTES
mxf: Add uncompressed 422 8-bit rawvideo UL
[ffmpeg] / doc / RELEASE_NOTES
index 97875e936050c5c2a46c8e7a9a97bce7da04cffd..b258e30abff139c73807248bd3220508f9cb7034 100644 (file)
@@ -1,52 +1,81 @@
 Release Notes
 =============
 
-* 0.7 "The Big Bump" June, 2011
+* 10 "Eks"
 
 General notes
 -------------
 
-This release enables frame-based multithreaded decoding for a number of codecs,
-including VP8, H.263 and H.264. Additionally, there has been a major cleanup of
-both internal and external APIs. For this reason, the major versions of all
-libraries have been bumped. On the one hand, this means that 0.7 can be installed
-side-by-side with previous releases, on the other hand, in order to benefit
-from the new features, applications need to be recompiled.
+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.
 
-Other important changes are additions of decoders including, but not limited to,
-AMR-WB, single stream LATM/LOAS, G.722 ADPCM, a native VP8 decoder
-and HE-AACv2. Additionally, many new de/muxers such as WebM in Matroska, Apple
-HTTP Live Streaming, SAP, IEC 61937 (S/PDIF) have been added.
+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.
 
-See the Changelog file for a list of significant changes.
+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.
+
+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
 -----------
 
-Please see the file doc/APIchanges for programmer-centric information. Note that a
-lot of long-time deprecated APIs have been removed. Also, a number of additional
-APIs have been deprecated and are scheduled for removal in the next release.
-
-
-Other notable changes
----------------------
-
-- many ARM NEON optimizations
-- libswscale cleanup started, optimizations should become easier in the future
-- nonfree libfaad support for AAC decoding removed
-- 4:4:4 H.264 decoding
-- 9/10bit H.264 decoding
-- Win64 Assembler support
-- native MMSH/MMST support
-- Windows TV demuxing
-- native AMR-WB decoding
-- native GSM-MS decoding
-- SMPTE 302M decoding
-- AVS encoding
+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)
+
+[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 file doc/APIchanges for details along with similar
+programmer-centric information.