Skip to content
Snippets Groups Projects
RELEASE_NOTES 3.44 KiB
Newer Older
  • Learn to ignore specific revisions
  • Reinhard Tartler's avatar
    Reinhard Tartler committed
    Release Notes
    =============
    
    
    * 0.8 "Forbidden Fruit"
    
    Reinhard Tartler's avatar
    Reinhard Tartler committed
    
    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.
    
    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.
    
    
    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:
    
    * 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
    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_*.
    
    * new API for custom IO interrupt callbacks.
    
    * #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.
    
    Please see the file doc/APIchanges for details along with
    
    similar programmer-centric information.
    
    
    Reinhard Tartler's avatar
    Reinhard Tartler committed
    
    
    Other notable changes
    ---------------------
    
    
    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.