mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-23 11:19:55 +00:00
62227a70f0
The AVStream.parser field is considered private and its location cannot be preserved while preserving also ABI compatibility to libav, as libav added fields before it. Some tools like ffmpeg.c access this field though Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
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 52.92.100
|
|
• libavcodec 55.69.100
|
|
• libavformat 55.47.100
|
|
• libavdevice 55.13.102
|
|
• libavfilter 4.10.100
|
|
• libswscale 2. 6.100
|
|
• libswresample 0.19.100
|
|
• libpostproc 52. 3.100
|
|
|
|
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.
|