Merge remote-tracking branch 'qatar/master'
[ffmpeg.git] / doc / RELEASE_NOTES
1 Release Notes
2 =============
3
4 * 0.9 "Harmony"  December, 2011
5
6
7 General notes
8 -------------
9 This release is binary compatible with 0.8. The 'ffmpeg' command-line tool has
10 been extended to also support the command line syntax and features of a tool
11 called avconv.
12
13 Additionally, this release introduces a number of new interesting codecs
14 such as the Apple Prores, Flash Screen Video 2 and Windows Media Image,
15 and muxers such as LATM or CELT in Ogg, among many others. Moreover, our
16 H.264 decoder has been improved to decode 4:2:2 material and our libx264
17 wrapper now allows to produce 4:2:2 and 4:4:4 video.
18
19 See the Changelog file for a list of significant changes. Note, there
20 are many more new features and bugfixes than whats listed there.
21
22 Bugreports against FFmpeg git master or the most recent FFmpeg release are
23 accepted. If you are experiencing issues with any formally released version of
24 FFmpeg, please try git master to check if the issue still exists. If it does,
25 make your report against the development code following the usual bug reporting
26 guidelines.
27
28
29 API changes
30 -----------
31
32 A number of additional APIs have been introduced and some existing
33 functions have been deprecated and are scheduled for removal in the next
34 release. Significant API changes include:
35
36 * new audio decoding API which decodes from an AVPacket to an AVFrame and
37 is able to use AVCodecContext.get_buffer() in the similar way as video decoding.
38
39 * new audio encoding API which encodes from an AVFrame to an AVPacket, thus
40 allowing it to properly output timing information and side data.
41
42 * rewritten AVOptions API with better built-in support for private options.
43
44 * private options support for demuxers [avformat_open_input()], muxers
45 [avformat_write_header()], encoders and decoders [avcodec_open2()].
46 As a result, many format- or codec-specific fields and flags in AVFormatContext
47 and AVCodecContext were deprecated -- notably most of CODEC_FLAG2_* and many
48 CODEC_FLAG_*.
49
50 * new API for custom IO interrupt callbacks.
51
52 * #include cleanup in libavutil -- libavutil/avutil.h no longer includes all
53 the other headers in libavutil, they must be included manually. One specific
54 result is that libavutil/mathematics.h is no longer included from
55 libavcodec/avcodec.h, which is a common source of errors.
56
57 Please see the file doc/APIchanges for details along with
58 similar programmer-centric information.
59
60
61
62 Other notable changes
63 ---------------------
64
65 Libavcodec and libavformat built as shared libraries now hide non-public
66 symbols. This will break applications using those symbols. Possible solutions
67 are, in order of preference:
68 1) Try finding a way of accomplishing the same with public API.
69 2) If there is no corresponding public API, but you think there should be,
70 post a request on the user mailing list or IRC channel.
71 3) Finally if your program needs access to FFmpeg / libavcodec / libavformat
72 internals for some special reason then the best solution is to link statically.
73
74 Please see the Changelog file for a more detailed list of changes.