--- doc/RELEASE_NOTES | 109 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 61 insertions(+), 48 deletions(-)
diff --git a/doc/RELEASE_NOTES b/doc/RELEASE_NOTES index 8c642b9..6acb230 100644 --- a/doc/RELEASE_NOTES +++ b/doc/RELEASE_NOTES @@ -1,29 +1,53 @@ Release Notes ============= -* 0.8 "Forbidden Fruit" +* 9 "Plain Nine" 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. - -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'. - -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. +From this release onwards, we have decided to drop the leading zero from our +release numbers. There were no plans of ever changing it, so it carried no +information. Thus this release is just a plain 9, the next will be 10 etc. + +A new library has been added to Libav in this development cycle -- its name is +libavresample and it handles audio conversion and mixing. All users are +encouraged to use it instead of the old, now deprecated, audio conversion API in +libavcodec. + +The libpostproc library now resides in a separate tree. It was fully separate +from the other Libav libraries, not used by any of the tools and +saw very little development. For these reasons we decided that it has +no place in Libav. People wishing to use it can find the standalone Git tree at +http://git.videolan.org/?p=libpostproc.git . + +The major versions of the libavcodec, libavformat and libavfilter libraries have +been bumped, so they are not API or ABI compatible with the 0.8 release. The +ffmpeg transcoding tool, kept for compatibility in 0.8, has also been dropped. + +This release brings a number of significant changes in the libavfilter library. +Firstly, all the API dealing with filter internals has been hidden for now. The +result is that creating user-side filters will not be supported until libavfilter +is more mature. +Secondly, full audio filtering support is now available along with a set of +basic audio filters. We hope that their number will soon grow significantly. The +avconv transcoding tool has of course been extended to handle audio filtering as +well. +There were a number of other API changes, most importantly the addition +of the buffer sink public API. + +In the libavcodec library, one of the most notable changes is added support for +planar audio (i.e. not interleaved). Many decoders and encoders, which +previously did inefficient (de)interleaving internally, now only work with +planar audio formats. Libavresample can be used for optimized conversion between +interleaved and planar formats. + +As usual, this release also contains support for some new formats, many smaller +new features and countless bug fixes. We can highlight Opus +decoding and encoding through libopus, encoders for Apple ProRes and Ut Video, +WMA Lossless and RealAudio Lossless decoders, fragmented MOV/MP4 and ISMV +(Smooth Streaming) muxers, a large number of RTMP improvements and support for +cover art in ID3v2, WMA, MP4 and FLAC. See the Changelog file for a list of significant changes. @@ -41,42 +65,31 @@ 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: -* new audio decoding API which decodes from an AVPacket to an AVFrame and -is able to use AVCodecContext.get_buffer() in the similar way as video decoding. - -* new audio encoding API which encodes from an AVFrame to an AVPacket, thus +[libavcodec]: +* new video encoding API, similar to the previously introduced audio +encoding API, which encodes from an AVFrame to an AVPacket, thus allowing it to properly output timing information and side data. -* rewritten AVOptions API with better built-in support for private options. - -* private options support for demuxers [avformat_open_input()], muxers -[avformat_write_header()], encoders and decoders [avcodec_open2()]. -As a result, many format- or codec-specific fields and flags in AVFormatContext -and AVCodecContext were deprecated -- notably most of CODEC_FLAG2_* and many -CODEC_FLAG_*. +* AV_ prefix has been added to CODEC_ID_*. Non-prefixed codec IDs are +now deprecated. -* new API for custom IO interrupt callbacks. +* new codec descriptor API, which allows getting the properties of a given +codec (identified by its ID), without referring to a specific decoder or encoder. -* #include cleanup in libavutil -- libavutil/avutil.h no longer includes all -the other headers in libavutil, they must be included manually. One specific -result is that libavutil/mathematics.h is no longer included from -libavcodec/avcodec.h, which is a common source of errors. +* an AVFrame must now be freed with a dedicated function, avcodec_free_frame(). -Please see the file doc/APIchanges for details along with -similar programmer-centric information. +[libavutil: +* new audio FIFO API, which simplifies managing/merging/splitting audio +buffers. +* new int/float type punning API +[libavfilter] +* all filter internals were hidden. -Other notable changes ---------------------- +* audio filtering. -Libavcodec and libavformat built as shared libraries now hide non-public -symbols. This will break applications using those symbols. Possible solutions -are, in order of preference: -1) Try finding a way of accomplishing the same with public API. -2) If there is no corresponding public API, but you think there should be, -post a request on the user mailing list or IRC channel. -3) Finally if your program needs access to Libav internals for some special -reason then the best solution is to link statically. +* new buffer sink API for getting frames out of libavfilter. -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. -- 1.7.10.4 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
