mirror of https://github.com/FFmpeg/FFmpeg.git
Signed-off-by: Diego Biurrun <diego@biurrun.de>pull/6/head
parent
cde26748ae
commit
37ac11d92e
1 changed files with 67 additions and 54 deletions
@ -1,82 +1,95 @@ |
|||||||
Release Notes |
Release Notes |
||||||
============= |
============= |
||||||
|
|
||||||
* 0.8 "Forbidden Fruit" |
* 9 "Plain Nine" |
||||||
|
|
||||||
General notes |
General notes |
||||||
------------- |
------------- |
||||||
|
|
||||||
This release continues the API cleanups that have begun with the |
From this release onwards, we have decided to drop the leading zero from our |
||||||
previous release. While it is binary compatible with 0.7, many parts of |
release numbers. There were no plans of ever changing it, so it carried no |
||||||
the public API were deprecated and will be removed in the git master and |
information. Thus this release is just a plain 9, the next will be 10 etc. |
||||||
later releases. Please consult the doc/APIchanges file to see |
|
||||||
intended replacements for the deprecated APIs. |
A new library arrived in Libav during this development cycle -- its name is |
||||||
|
libavresample and it handles audio conversion and mixing. All users are |
||||||
Furthermore, our work on the 'ffmpeg' command-line tool has resulted in |
encouraged to use it instead of the old, now deprecated, audio conversion |
||||||
major revisions to its interface. In order to not break existing scripts |
API in libavcodec. |
||||||
and applications, we have chosen to introduce a new tool called |
|
||||||
'avconv', and keep the traditional 'ffmpeg' frontend for end-user's |
The libpostproc library now resides in a separate tree. It was fully independent |
||||||
convenience. Please see the Changelog file for details how 'avconv' |
of the other Libav libraries, not used by any of the tools and saw very little |
||||||
differs from 'ffmpeg'. |
development. For these reasons we decided that it has no place in Libav. A |
||||||
|
standalone Git tree is available at http://git.videolan.org/?p=libpostproc.git |
||||||
Additionally, this release introduces a number of new interesting codecs |
for people wishing to use libpostproc. |
||||||
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 |
The major versions of the libavcodec, libavformat and libavfilter libraries have |
||||||
H.264 decoder has been improved to decode 4:2:2 material and our libx264 |
been bumped, so they are not API or ABI compatible with the 0.8 release. The |
||||||
wrapper now allows to produce 4:2:2 and 4:4:4 video. |
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 is no longer public. 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, that 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 / 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. |
See the Changelog file for a list of significant changes. |
||||||
|
|
||||||
Please note that our policy on bug reports has not changed. We still only accept |
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 |
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 |
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 |
of the development code to check if the issue still exists. If it does, make |
||||||
report against the development code following the usual bug reporting guidelines. |
your report against the development code following the usual bug reporting |
||||||
|
guidelines. |
||||||
|
|
||||||
|
|
||||||
API changes |
API changes |
||||||
----------- |
----------- |
||||||
|
|
||||||
A number of additional APIs have been introduced and some existing |
A number of additional APIs have been introduced and some existing functions |
||||||
functions have been deprecated and are scheduled for removal in the next |
have been deprecated and are scheduled for removal in the next release. |
||||||
release. Significant API changes include: |
Significant API changes include: |
||||||
|
|
||||||
* new audio decoding API which decodes from an AVPacket to an AVFrame and |
[libavcodec]: |
||||||
is able to use AVCodecContext.get_buffer() in the similar way as video decoding. |
* 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. |
||||||
|
|
||||||
* new audio encoding API which encodes from an AVFrame to an AVPacket, thus |
* All CODEC_ID_* symbols now carry AV_ prefixes. Non-prefixed codec IDs are |
||||||
allowing it to properly output timing information and side data. |
deprecated. |
||||||
|
|
||||||
* rewritten AVOptions API with better built-in support for private options. |
* 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. |
||||||
|
|
||||||
* private options support for demuxers [avformat_open_input()], muxers |
* An AVFrame must now be freed with a dedicated function, avcodec_free_frame(). |
||||||
[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_*. |
|
||||||
|
|
||||||
* new API for custom IO interrupt callbacks. |
[libavutil]: |
||||||
|
* New audio FIFO API, which simplifies managing/merging/splitting audio buffers. |
||||||
|
|
||||||
* #include cleanup in libavutil -- libavutil/avutil.h no longer includes all |
* new int/float type punning API |
||||||
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. |
|
||||||
|
|
||||||
Please see the file doc/APIchanges for details along with |
[libavfilter]: |
||||||
similar programmer-centric information. |
* All filter internals were hidden. |
||||||
|
|
||||||
|
* audio filtering. |
||||||
|
|
||||||
|
* new buffer sink API for getting frames out of libavfilter. |
||||||
|
|
||||||
Other notable changes |
Please see the file doc/APIchanges for details along with similar |
||||||
--------------------- |
programmer-centric information. |
||||||
|
|
||||||
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. |
|
||||||
|
|
||||||
Please see the Changelog file for a more detailed list of changes. |
|
||||||
|
Loading…
Reference in new issue