mirror of https://git.ffmpeg.org/ffmpeg.git
173 lines
8.4 KiB
Plaintext
173 lines
8.4 KiB
Plaintext
|
┌─────────────────────────────────┐
|
||
|
│ RELEASE NOTES for FFmpeg 2.3 │
|
||
|
└─────────────────────────────────┘
|
||
|
|
||
|
The FFmpeg Project proudly presents FFmpeg 2.3, a major release with all
|
||
|
the great features committed during the three-month period since the
|
||
|
release of FFmpeg 2.2.
|
||
|
|
||
|
In this release, there are lots of internal overhauls that make FFmpeg a
|
||
|
more accessible project for new developers. Many important new features
|
||
|
like native Opus decoder and QTKit and AVFoundation input devices are also
|
||
|
committed.
|
||
|
|
||
|
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:
|
||
|
|
||
|
• libavutil xx.yy.1zz
|
||
|
• libavcodec xx.yy.1zz
|
||
|
• libavformat xx.yy.1zz
|
||
|
• libavdevice xx.yy.1zz
|
||
|
• libavfilter xx.yy.1zz
|
||
|
• libswscale xx.yy.1zz
|
||
|
• libswresample xx.yy.1zz
|
||
|
• libpostproc xx.yy.1zz
|
||
|
|
||
|
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
|
||
|
64-bit ARM architecture, used by Apple A7 SoC inside iPhone 5S. We have
|
||
|
already ported some 32-bit ARM to AArch64, but more work is underway.
|
||
|
|
||
|
┌────────────────────────────┐
|
||
|
│ 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)
|
||
|
|
||
|
┌────────────────────────────┐
|
||
|
│ libavfilter │
|
||
|
└────────────────────────────┘
|
||
|
|
||
|
• shuffleplanes filter
|
||
|
• libbs2b-based stereo-to-binaural audio filter
|
||
|
• showcqt multimedia filter
|
||
|
• zoompan filter
|
||
|
• signalstats filter
|
||
|
• hqx filter (hq2x, hq3x, hq4x)
|
||
|
• flanger filter
|
||
|
|
||
|
┌────────────────────────────┐
|
||
|
│ ⚠ 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.
|