RELEASE_NOTES 8.59 KB
Newer Older
1 2 3
 ┌───────────────────────────────────────────┐
 │ RELEASE NOTES for FFmpeg 2.3 "Mandelbrot" │
 └───────────────────────────────────────────┘
Timothy Gu's avatar
Timothy Gu committed
4

5 6 7
   The FFmpeg Project proudly presents FFmpeg 2.3 "Mandelbrot", a major
   release with all the great features committed during the three-month period
   since the release of FFmpeg 2.2.
Timothy Gu's avatar
Timothy Gu committed
8 9 10

   In this release, there are lots of internal overhauls that make FFmpeg a
   more accessible project for new developers. Many important new features
11 12
   like QTKit and AVFoundation input devices are committed. Contributions done
   by Libav such as a new native Opus decoder are also merged.
Timothy Gu's avatar
Timothy Gu committed
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

   Because of the increasing difficulty to maintain and lack of maintainers,
   we are very sorry to say that we have removed all Blackfin and SPARC
   architecture assembly optimizations with the cleanups done. If you are
   interested in maintaining optimization for these two architecture, feel
   free to contact us and we will restore the code!

   Since this release, the traditional Changelog file is upgraded to this
   modern-looking release note. Old changelogs are moved to doc/Changelog.old.

   Enjoy!

   ┌────────────────────────────┐
   │ *  API Information         │
   └────────────────────────────┘

     FFmpeg 2.3 is completely source-compatible to the FFmpeg 2.2 series. There
     are however some API deprecations that you need to take care of. Use `git
     diff n2.2 n2.3 doc/APIchanges` to show the list of added and deprecated
     APIs. FFmpeg 2.3 includes the following library versions:

34 35
       • libavutil      52.92.100
       • libavcodec     55.69.100
36
       • libavformat    55.47.100
37 38 39 40 41
       • libavdevice    55.13.102
       • libavfilter     4.10.100
       • libswscale      2. 6.100
       • libswresample   0.19.100
       • libpostproc    52. 3.100
Timothy Gu's avatar
Timothy Gu committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

     Please refer to the doc/APIChanges file for more information.

   ┌────────────────────────────┐
   │ New Optimization           │
   └────────────────────────────┘

     We are excited to announce that we have committed new x86 assembly
     optimization for HEVC, and FFmpeg's audio resampler libswresample. ARM
     users will get a boost in MLP/TrueHD decoding thanks to new optimization.
     Decoding Huffyuv also got a major boost from optimization on the C code.

     Of special interest for Microsoft Visual Studio users, we have also
     converted some preexisting x86 assembly to NASM/Yasm format compatible
     with MSVC setup, especially in the area of audio resampling.

     Another major feature in this release is the introduction of AArch64
     (ARMv8) assembly optimization. AArch64 is another name for the first
60 61 62
     64-bit ARM architecture, used by Apple A7 SoC inside iPhone 5S. Some
     32-bit ARM assembly has already been ported to AArch64, but more work is
     underway.
Timothy Gu's avatar
Timothy Gu committed
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

   ┌────────────────────────────┐
   │ Native Opus decoder        │
   └────────────────────────────┘

     Opus is an open audio format jointly developed by Xiph.Org, Mozilla,
     Skype/Microsoft, and Broadcom. It combines the features of the Skype Cilk
     speech codec and the Xiph.Org CELT music codec into one low-latency
     codec. Decoding Opus is already possible since FFmpeg 1.0 using the
     libopus library, but the new Opus native decoder brings a higher level of
     stability and speed.

   ┌────────────────────────────┐
   │ QTKit and AVFoundation     │
   └────────────────────────────┘

     For OS X users, the new QTKit and AVFoundation devices allow you to use
     the integrated camera on Macs. AVFoundation is a newer API only available
     on OS X 10.7 "Lion" or newer. For users with older OS X systems, the
     QTKit device using the older OS X API is for you.

   ┌────────────────────────────┐
   │ API Additions              │
   └────────────────────────────┘

     In this release, stream side data are introduced as AVStream.side_data as
     a way to store miscellaneous stream-wide information. The format is
     similar to the previously anonymous structure AVPacket.side_data (now
     named as AVPacketSideData). With this change, audio ReplayGain
     information and video rotation matrix are now exported through this API,
     if available in the demuxer.

     We also have improved libswresample's Doxygen API documentation, so new
     developers wishing to use FFmpeg's excellent libraries can get started
     more easily and faster.

   ┌────────────────────────────┐
   │ Last But Not Least         │
   └────────────────────────────┘

     Other interesting new features including hqx video filter, a pixel art
     scaling filter; a fixed-point AC-3 decoder contributed by Imagination
     Technologies; an On2 TrueMotion VP7 video decoder; an HTML5 WebVTT
     subtitle decoder that allows creation of WebVTT from any text-based
     subtitles; and an 1-bit Direct Stream Digital audio decoder.

 ┌────────────────────────────┐
 │ ★  List of New Features    │
 └────────────────────────────┘

   ┌────────────────────────────┐
   │ Command line tools         │
   └────────────────────────────┘

    • Support for decoding through DXVA2 in ffmpeg

   ┌────────────────────────────┐
   │ libavcodec                 │
   └────────────────────────────┘

    • AC3 fixed-point decoding
    • VP7 video decoder
    • Alias PIX image encoder and decoder
    • Improvements to the BRender PIX image decoder
    • Improvements to the XBM decoder
    • Improvements to OpenEXR image decoder
    • Support decoding 16-bit RLE SGI images
    • Direct Stream Digital (DSD) decoder
    • On2 AVC (Audio for Video) decoder
    • Native Opus decoder
    • WebVTT encoder

   ┌────────────────────────────┐
   │ libavdevice                │
   └────────────────────────────┘

    • QTKit input device
    • GDI screen grabbing for Windows
    • AVFoundation input device

   ┌────────────────────────────┐
   │ libavformat                │
   └────────────────────────────┘

    • subfile protocol
    • Phantom Cine demuxer
    • Alternative rendition support for HTTP Live Streaming
    • Magic Lantern Video (MLV) demuxer
    • Image format auto-detection
    • LRC lyric file demuxer and muxer
    • Samba protocol (via libsmbclient)
154
    • WebM DASH Manifest muxer
Timothy Gu's avatar
Timothy Gu committed
155 156 157 158 159 160 161 162 163 164 165 166

   ┌────────────────────────────┐
   │ libavfilter                │
   └────────────────────────────┘

    • shuffleplanes filter
    • libbs2b-based stereo-to-binaural audio filter
    • showcqt multimedia filter
    • zoompan filter
    • signalstats filter
    • hqx filter (hq2x, hq3x, hq4x)
    • flanger filter
167
    • libfribidi support in drawtext
Timothy Gu's avatar
Timothy Gu committed
168 169 170 171 172 173 174 175

 ┌────────────────────────────┐
 │ ⚠  Behaviour changes       │
 └────────────────────────────┘

  • libx264 reference frames count is now limited depending on level chosen
  • Because of the new image format auto-detection feature, you don't need to
    specify image format when decoding an image with no extension.