summaryrefslogtreecommitdiff
path: root/doc/APIchanges
Commit message (Collapse)AuthorAge
* pixdesc: Add API to map color property names to enum valuesVittorio Giovara2017-09-21
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Add flag to mark packets containing trusted inputMark Thompson2017-09-13
|
* lavu: Add DRM hwcontextMark Thompson2017-09-13
|
* lavfi/buffersrc: add av_buffersrc_close().Nicolas George2017-09-08
|
* avcodec: add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL flagJames Almer2017-09-04
| | | | | | | | This flag replaces the deprecated, non-prefixed HWACCEL_CODEC_CAP_EXPERIMENTAL one. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* lavf: make avio_read_partial() publicwm42017-09-01
| | | | | | | | | Main use-case is proxying avio through a foreign I/O layer and a custom AVIO context, without losing latency and performance characteristics. Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Merged from Libav commit 173b56218f39c64.
* avio: add a destructor for AVIOContextAnton Khirnov2017-09-01
| | | | | | | | Before this commit, AVIOContext is to be freed with a plain av_free(), which prevents us from adding any deeper structure to it. (cherry picked from commit 99684f3ae752fc8bfb44a2dd1482f8d7a3d8536d) Signed-off-by: James Almer <jamrial@gmail.com>
* Add single precision planar RGB pixel formatsVittorio Giovara2017-08-15
| | | | | | Add a pixel format flag to identify this family. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* imgutils: add function to clear an image to blackwm42017-08-08
| | | | | | | | | | | | | | | | | | | | | Black isn't always just memset(ptr, 0, size). Limited YUV in particular requires relatively non-obvious values, and filling a frame with repeating 0 bytes is disallowed in some contexts. With component sizes larger than 8 or packed YUV, this can become relatively complicated. So having a generic function for this seems helpful. In order to handle the complex cases in a generic way without destroying performance, this code attempts to compute a black pixel, and then uses that value to clear the image data quickly by using a function like memset. Common cases like yuv410p10 or rgba can't be handled with a simple memset, so there is some code to fill memory with 2/4/8 byte patterns. For the remaining cases, a generic slow fallback is used. Signed-off-by: Anton Khirnov <anton@khirnov.net> Merged from Libav commit 45df7adc1d9b7.
* lavc, lavu: move frame cropping to a convenience functionwm42017-08-08
| | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net> Merged from Libav commit 47399ccdfd.
* doc/APIChanges: add missing entry for ICC Profile side data type.James Almer2017-07-27
|
* dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-27
| | | | | | | | | | | | | | | This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Merges Libav commit f9e7a2f95a7194a8736cc1416a03a1a0155a3e9f. Also adds untested VP9 support. The check for DXVA2 COBJs is removed. Just update your MinGW to something newer than a 5 year old release. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavu: add new D3D11 pixfmt and hwcontextwm42017-06-27
| | | | | | | | | | | | | | | | | | | | | | To be used with the new d3d11 hwaccel decode API. With the new hwaccel API, we don't want surfaces to depend on the decoder (other than the required dimension and format). The old D3D11VA pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the decoder configuration, and thus is incompatible with the new hwaccel API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D and an index. It's simpler and compatible with the new hwaccel API. The introduced hwcontext supports only the new pixfmt. Frame upload code untested. Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Merges Libav commit fff90422d181744cd75dbf011687ee7095f02875. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* avformat/aviobuf: add support for specifying minimum packet size and marking ↵Marton Balint2017-06-24
| | | | | | | flush points Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Marton Balint <cus@passwd.hu>
* hwcontext: Improve allocation in derived contextsMark Thompson2017-06-14
| | | | | | | | | Use the flags argument of av_hwframe_ctx_create_derived() to pass the mapping flags which will be used on allocation. Also, set the format and hardware context on the allocated frame automatically - the user should not be required to do this themselves. (cherry picked from commit c5714b51aad41fef56dddac1d542e7fc6b984627)
* lavc: Add flag to allow profile mismatch with hardware decodingMark Thompson2017-06-14
| | | | (cherry picked from commit 64a5260c695dd8051509d3270295fd64eac56587)
* hwcontext: Make it easier to work with device typesMark Thompson2017-06-14
| | | | | | | | Adds functions to convert to/from strings and a function to iterate over all supported device types. Also adds a new invalid type AV_HWDEVICE_TYPE_NONE, which acts as a sentinel value. (cherry picked from commit b7487f4f3c39b4b202e1ea7bb2de13902f2dee45)
* hwcontext: Add device derivationMark Thompson2017-06-14
| | | | | | | Creates a new device context from another of a different type which refers to the same underlying hardware. (cherry picked from commit b266ad56fe0e4ce5bb70118ba2e2b1dabfaf76ce)
* videotoolbox: add hwcontext supportwm42017-05-15
| | | | | | | | | | | | | | | | | | This adds tons of code for no other benefit than making VideoToolbox support conform with the new hwaccel API (using hw_device_ctx and hw_frames_ctx). Since VideoToolbox decoding does not actually require the user to allocate frames, the new code does mostly nothing. One benefit is that ffmpeg_videotoolbox.c can be dropped once generic hwaccel support for ffmpeg.c is merged from Libav. Does not consider VDA or VideoToolbox encoding. Fun fact: the frame transfer functions are copied from vaapi, as the mapping makes copying generic boilerplate. Mapping itself is not exported by the VT code, because I don't know how to test.
* Merge commit '019ab88a95cb31b698506d90e8ce56695a7f1cc5'James Almer2017-05-08
|\ | | | | | | | | | | | | * commit '019ab88a95cb31b698506d90e8ce56695a7f1cc5': lavc: add an option for exporting cropping information to the caller Merged-by: James Almer <jamrial@gmail.com>
| * lavc: add an option for exporting cropping information to the callerAnton Khirnov2017-01-12
| | | | | | | | | | Also, add generic code for handling cropping, so the decoders can export just the cropping size and not bother with the rest.
* | Merge commit '52627248e49e58eb4b78e4fcda90a64f4c476ea3'James Almer2017-05-08
|\| | | | | | | | | | | | | * commit '52627248e49e58eb4b78e4fcda90a64f4c476ea3': frame: add a cropping rectangle to AVFrame Merged-by: James Almer <jamrial@gmail.com>
| * frame: add a cropping rectangle to AVFrameAnton Khirnov2017-01-12
| | | | | | | | | | Extend the width/height doxy to clarify that it should store coded values.
* | lavu/sha512: update length argument following sha+md5 changesClément Bœsch2017-05-05
| |
* | Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551'Clément Bœsch2017-05-05
|\| | | | | | | | | | | | | * commit 'e435beb1ea5380a90774dbf51fdc8c941e486551': crypto: consistently use size_t as type for length parameters Merged-by: Clément Bœsch <cboesch@gopro.com>
| * crypto: consistently use size_t as type for length parametersDiego Biurrun2017-01-09
| | | | | | | | size_t is the correct type to use for sizes.
| * APIChanges: Mention where release 12 was cutVittorio Giovara2016-12-08
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * lavc: Add spherical packet side data APIVittorio Giovara2016-12-07
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * lavu: Add AVSphericalMapping type and frame side dataVittorio Giovara2016-12-07
| | | | | | | | | | | | | | | | While no decoder currently exports spherical information, this type represents a frame property that has to be passed through from container to frames. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * utils: Add av_stream_add_side_data()James Almer2016-11-23
| | | | | | | | | | | | | | | | Functionally similar to av_packet_add_side_data(). Allows the use of an already allocated buffer as stream side data. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * pixfmt: Add GRAY12Luca Barbato2016-11-07
| |
* | cuvid: support AVCodecContext.hw_device_ctx APIwm42017-05-05
| | | | | | | | | | | | | | | | | | | | | | This is a newer API that is intended for decoders like the cuvid wrapper. Until now, the wrapper required to set an awkward "incomplete" hw_frames_ctx to set the device. Now the device can be set directly, and the user can get AV_PIX_FMT_CUDA output for a specific device simply by setting hw_device_ctx. This still does a dummy ff_get_format() call at init time, and should be fully backward compatible.
* | doc/APIchanges: Fill in missing fieldsMichael Niedermayer2017-04-12
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | doc/APIChages: Add av_strireplace()Steven Liu2017-04-11
| | | | | | | | | | | | | | Add av_strireplace() into APIChanges Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | lavc: Add Content Light Level side metadata found in HEVCSteve Lhomme2017-04-06
| | | | | | | | | | | | These data are necessary when transmitting HDR over HDMI. Signed-off-by: James Almer <jamrial@gmail.com>
* | lavu: add support for Content Light Level side metadataSteve Lhomme2017-04-06
| | | | | | | | | | | | As found in HEVC. Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/spherical: add av_spherical_projection_name()James Almer2017-03-31
| | | | | | | | | | | | Reviewed-by: Benoit Fouet <benoit.fouet@free.fr> Reviewed-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | doc/APIchanges: UpdateMichael Niedermayer2017-03-31
| |
* | Merge commit 'd06aa24ba583ad08025da9e1b29afcd8218ff9b0'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit 'd06aa24ba583ad08025da9e1b29afcd8218ff9b0': hwcontext: Hardware frame mapping Merged-by: Clément Bœsch <cboesch@gopro.com>
| * hwcontext: Hardware frame mappingMark Thompson2016-11-03
| | | | | | | | | | | | | | | | | | | | Adds the new av_hwframe_map() function, which allows mapping between hardware frames and normal memory, along with internal support for implementing it. Also adds av_hwframe_ctx_create_derived(), for creating a hardware frames context associated with one device using frames mapped from another by some hardware-specific means.
| * Add GBRAP12 pixel format supportKieran Kunhya2016-10-12
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * Add GBRP12 pixel format supportMichael Niedermayer2016-10-12
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * APIchanges: Expand the name of recently added pixel formatsVittorio Giovara2016-10-12
| | | | | | | | This makes them easier to search for.
| * hwcontext_vaapi: add a quirk for the missing MemoryType attributeAnton Khirnov2016-10-02
| | | | | | | | | | | | The Intel binary iHD driver does not support the VASurfaceAttribMemoryType, so surface allocation will fail when using it.
* | lavu: add av_fourcc_make_string() and av_fourcc2str()Clément Bœsch2017-03-29
| |
* | avformat, ffmpeg: deprecate old rotation APIwm42017-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old "API" that signaled rotation as a metadata value has been replaced by DISPLAYMATRIX side data quite a while ago. There is no reason to make muxers/demuxers/API users support both. In addition, the metadata API is dangerous, as user tags could "leak" into it, creating unintended features or bugs. ffmpeg CLI has to be updated to use the new API. In particular, we must not allow to leak the "rotate" tag into the muxer. Some muxers will catch this properly (like mov), but others (like mkv) can add it as generic tag. Note applications, which use libavformat and assume the old rotate API, will interpret such "rotate" user tags as rotate metadata (which it is not), and incorrectly rotate the video. The ffmpeg/ffplay tools drop the use of the old API for muxing and demuxing, as all muxers/demuxers support the new API. This will mean that the tools will not mistakenly interpret per-track "rotate" user tags as rotate metadata. It will _not_ be treated as regression. Unfortunately, hacks have been added, that allow the user to override rotation by setting metadata explicitly, e.g. via -metadata:s:v:0 rotate=0 See references to trac #4560. fate-filter-meta-4560-rotate0 tests this. It's easier to adjust the hack for supporting it than arguing for its removal, so ffmpeg CLI now explicitly catches this case, and essentially replaces the "rotate" value with a display matrix side data. (It would be easier for both user and implementation to create an explicit option for rotation.) When the code under FF_API_OLD_ROTATE_API is disabled, one FATE reference file has to be updated (because "rotate" is not exported anymore). Tested-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc: vdpau: Add support for new hw_frames_ctx and hw_device_ctx APIwm42017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This supports retrieving the device from a provided hw_frames_ctx, and automatically creating a hw_frames_ctx if hw_device_ctx is set. The old API is not deprecated yet. The user can still use av_vdpau_bind_context() (with or without setting hw_frames_ctx), or use the API before that by allocating and setting hwaccel_context manually. Cherry-picked from Libav commit 1a7ddba5. (Adds missing APIchanges entry to the Libav version.) Reviewed-by: Mark Thompson <sw@jkqxz.net>
* | lavc: Add hwaccel_flags field to AVCodecContextwm42017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | This "reuses" the flags introduced for the av_vdpau_bind_context() API function, and makes them available to all hwaccels. This does not affect the current vdpau API, as av_vdpau_bind_context() should obviously override the AVCodecContext.hwaccel_flags flags for the sake of compatibility. Cherry-picked from Libav commit 16a163b5. Reviewed-by: Mark Thompson <sw@jkqxz.net>
* | Merge commit '8ea35af7620e4f73f9e8c072e1c0fac9a04ec161'James Almer2017-03-21
|\| | | | | | | | | | | | | * commit '8ea35af7620e4f73f9e8c072e1c0fac9a04ec161': avio: add a new flag for marking streams seekable by timestamp Merged-by: James Almer <jamrial@gmail.com>
| * avio: add a new flag for marking streams seekable by timestampAnton Khirnov2016-09-30
| |