75 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Release Notes
 | 
						|
=============
 | 
						|
 | 
						|
* 12 "Not Enough Trocadero"
 | 
						|
 | 
						|
General notes
 | 
						|
-------------
 | 
						|
 | 
						|
This release once again bumps the major versions of all the libraries, removing
 | 
						|
some long-deprecated APIs. This means that it is neither API nor ABI-compatible
 | 
						|
with the previous release. The users who still did not update their code are
 | 
						|
advised to look at the next section of these release notes, the doc/APIchanges
 | 
						|
file and the API migration guide on our wiki.  If those are not sufficient, do
 | 
						|
not hesitate to contact us on IRC or through the user mailing list.
 | 
						|
 | 
						|
Among the main highlights of this release are several additions related to
 | 
						|
hardware acceleration. There is a new API for managing hardware devices and
 | 
						|
frame pools, which allows to add new features such as zero-copy
 | 
						|
hardware-accelerated filtering with libavfilter and should reduce the
 | 
						|
boilerplate code required for existing hardware-accelerated decoders. We have
 | 
						|
added QuickSync decoding and encoding, NVENC encoding and CUDA image scaling,
 | 
						|
VAAPI encoding and image scaling, OpenMAX encoding, MMAL decoding and Direct3D11
 | 
						|
decoding.
 | 
						|
 | 
						|
Other significant additions not related to hardware acceleration include
 | 
						|
decoders for Canopus HQ/HQA and HQX, Go2Meeting, AAC ELD, TDSC, Hap, DXV, SPV1,
 | 
						|
and a new ASF demuxer written according to the specification. There were also
 | 
						|
countless smaller changes and bug fixes.
 | 
						|
 | 
						|
See the Changelog file for a more extensive list of significant changes.
 | 
						|
 | 
						|
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:
 | 
						|
 | 
						|
[libavcodec]
 | 
						|
+  Added an object for storing codec parameters (AVCodecParameters) and its
 | 
						|
   related API. It will now replace AVCodecContext everywhere except the actual
 | 
						|
   encoders/decoders.
 | 
						|
+- Added a new API for handling refcounted AVPackets, mirroring the AVFrame API.
 | 
						|
   Deprecated certain old ill-defined AVPacket functions.
 | 
						|
+- Added a new API for audio/video encoding and decoding, with decoupled input
 | 
						|
   and output. This will e.g. allow a decoder to produce multiple output frames
 | 
						|
   for a single input packet, which was not possible with the previous API. All
 | 
						|
   users are strongly encouraged to switch to this new API as soon as possible,
 | 
						|
   since certain decoders and encoders might start requiring the new API to be
 | 
						|
   used.
 | 
						|
+- Added a new API for bitstream filtering, which works with refcounted
 | 
						|
   AVPackets and is more clearly defined and documented. The old bitstream
 | 
						|
   filtering API is now deprecated.
 | 
						|
 | 
						|
[libavformat]
 | 
						|
+  Added new IO callbacks to AVFormatContext, allowing the caller to provide
 | 
						|
   custom IO for certain special muxers and demuxers.
 | 
						|
+- Replaced AVStream.codec (AVCodecContext) with AVStream.codecpar
 | 
						|
   (AVCodecParameters) as the means of signalling codec parameters between the
 | 
						|
   muxers/demuxers and the caller.
 | 
						|
 | 
						|
[libavutil]
 | 
						|
+  Added a new API (hwcontext.h) for handling hardware acceleration devices and
 | 
						|
   hardware frame pools.
 | 
						|
 | 
						|
[libavfilter]
 | 
						|
+  Added a new struct, AVBufferSrcParameters, for passing the stream parameters
 | 
						|
   to the buffer source. It is now the recommended way of configuring the buffer
 | 
						|
   source.
 | 
						|
+  Added AVFilterContext.hw_device_ctx and AVFilterLink.hw_frames_ctx that allow
 | 
						|
   hardware frames to be used in filter graphs.
 | 
						|
 | 
						|
Please see the file doc/APIchanges for details along with similar
 | 
						|
programmer-centric information.
 |