Skip to content
Snippets Groups Projects
RELEASE_NOTES 4.33 KiB
Newer Older
  • Learn to ignore specific revisions
  • Reinhard Tartler's avatar
    Reinhard Tartler committed
    Release Notes
    =============
    
    
    * 9 "Plain Nine"
    
    Reinhard Tartler's avatar
    Reinhard Tartler committed
    
    General notes
    -------------
    
    
    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 arrived in Libav during 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 independent
    of 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. A
    standalone Git tree is available at http://git.videolan.org/?p=libpostproc.git
    for people wishing to use libpostproc.
    
    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 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.
    
    
    Of big interest to our Windows users, Libav now supports building with the MSVC
    compiler. Since MSVC does not support C99 features used extensively by Libav,
    this has been accomplished using a converter that turns C99 code to C89. See the
    platform-specific documentation for more detailed documentation on building
    Libav with MSVC.
    
    
    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, 24-bit FLAC encoding, a large number of RTMP improvements and support
    for cover art in ID3v2, WMA, MP4 and FLAC.
    
    Reinhard Tartler's avatar
    Reinhard Tartler committed
    
    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
    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.
    
    Reinhard Tartler's avatar
    Reinhard Tartler committed
    
    
    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.
    Significant API changes include:
    
    [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.
    
    * All CODEC_ID_* symbols now carry AV_ prefixes. Non-prefixed codec IDs are
      deprecated.
    
    * 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.
    
    * An AVFrame must now be freed with a dedicated function, avcodec_free_frame().
    
    [libavutil]:
    * New audio FIFO API, which simplifies managing/merging/splitting audio buffers.
    
    * new int/float type punning API
    
    [libavfilter]:
    * All filter internals were hidden.
    
    * audio filtering.
    
    Reinhard Tartler's avatar
    Reinhard Tartler committed
    
    
    * new buffer sink API for getting frames out of libavfilter.
    
    Reinhard Tartler's avatar
    Reinhard Tartler committed
    
    
    Please see the file doc/APIchanges for details along with similar
    programmer-centric information.