summaryrefslogtreecommitdiff
path: root/doc/APIchanges
Commit message (Collapse)AuthorAge
* hwcontext: add a function for opening devicesAnton Khirnov2016-05-25
|
* avio: Allow custom IO users to get labels for the output bytestreamMartin Storsjö2016-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows callers with avio write callbacks to get the bytestream positions that correspond to keyframes, suitable for live streaming. In the simplest form, a caller could expect that a header is written to the bytestream during the avformat_write_header, and the data output to the avio context during e.g. av_write_frame corresponds exactly to the current packet passed in. When combined with av_interleaved_write_frame, and with muxers that do buffering (most muxers that do some sort of fragmenting or clustering), the mapping from input data to bytestream positions is nontrivial. This allows callers to get directly information about what part of the bytestream is what, without having to resort to assumptions about the muxer behaviour. One keyframe/fragment/block can still be split into multiple (if they are larger than the aviocontext buffer), which would call the callback with e.g. AVIO_DATA_MARKER_SYNC_POINT, followed by AVIO_DATA_MARKER_UNKNOWN for the second time it is called with the following data. Signed-off-by: Martin Storsjö <martin@martin.st>
* stereo3d: Add API to get name from value or value from nameVittorio Giovara2016-05-17
| | | | Use it in av_dump_format() instead of a huge switch case.
* hwcontext: add a dxva2 implementationAnton Khirnov2016-05-17
|
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* opt: Add av_opt_copy()Michael Niedermayer2016-03-24
| | | | | | | This includes documentation and other modifications by Lukasz Marek and Martin Storsjö. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: introduce a new decoding/encoding API with decoupled input/outputwm42016-03-23
| | | | | | | | | | | | | | | | Until now, the decoding API was restricted to outputting 0 or 1 frames per input packet. It also enforces a somewhat rigid dataflow in general. This new API seeks to relax these restrictions by decoupling input and output. Instead of doing a single call on each decode step, which may consume the packet and may produce output, the new API requires the user to send input first, and then ask for output. For now, there are no codecs supporting this API. The API can work with codecs using the old API, and most code added here is to make them interoperate. The reverse is not possible, although for audio it might. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: add a new bitstream filtering APIAnton Khirnov2016-03-20
| | | | Deprecate the current bitstream filtering API.
* lavfi: generic hardware surface upload and download filtersMark Thompson2016-03-19
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavu: VAAPI hwcontext implementationMark Thompson2016-03-19
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavu: deprecate AV_PIX_FMT_VAAPI_*, replace with AV_PIX_FMT_VAAPIMark Thompson2016-03-19
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavu: add a way to query hwcontext frame constraintsMark Thompson2016-03-19
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* APIchanges: add missing hashes and datesAnton Khirnov2016-02-26
| | | | Also, remove a stray line (apparently fallout from conflict resolution).
* lavf: add a missing bump and APIchanges for the codecpar switchAnton Khirnov2016-02-26
|
* lavc: add a variant of av_get_audio_frame_duration working with ↵Anton Khirnov2016-02-23
| | | | AVCodecParameters
* lavc: add codec parameters APIAnton Khirnov2016-02-23
| | | | | | This API is intended to allow passing around codec parameters without using full AVCodecContext (which also contains codec options and encoder/decoder state).
* lavf: add a protocol whitelist/blacklist for file opened internallyAnton Khirnov2016-02-22
| | | | | | | | Should make the default behaviour safer for careless callers that open random untrusted files. Bug-Id: CVE-2016-1897 Bug-Id: CVE-2016-1898
* lavc: add a field for passing AVHWFramesContext to encodersAnton Khirnov2016-02-14
|
* lavfi: pass the hw frames context through the filter chainAnton Khirnov2016-02-14
|
* hwcontext: add a CUDA implementationAnton Khirnov2016-02-14
|
* pixfmt: add a CUDA hwaccelled formatAnton Khirnov2016-02-14
|
* hwcontext: add a VDPAU implementationAnton Khirnov2016-02-14
|
* lavu: add a framework for handling hwaccel framesAnton Khirnov2016-02-14
|
* buffer: add support for pools using caller data in allocationAnton Khirnov2016-02-14
| | | | | This should allow using more complex allocators than simple malloc wrappers.
* lavf: allow custom IO for all filesAnton Khirnov2016-01-24
| | | | | | | | | | | | | | Some (de)muxers open additional files beyond the main IO context. Currently, they call avio_open() directly, which prevents the caller from using custom IO for such streams. This commit adds callbacks to AVFormatContext that default to avio_open2()/avio_close(), but can be overridden by the caller. All muxers and demuxers using AVIO are switched to using those callbacks instead of calling avio_open()/avio_close() directly. (de)muxers that use the URLProtocol layer directly instead of AVIO remain unconverted for now. This should be fixed in later commits.
* APIchanges: Add missing av_pix_fmt_get_chroma_sub_sample entryLuca Barbato2016-01-11
|
* lavc: add profiles to AVCodecDescriptorAnton Khirnov2015-12-12
| | | | | The profiles are a property of the codec, so it makes sense to export them through AVCodecDescriptors, not just the codec implementations.
* lavc: export Dirac parsing API used by the ogg demuxer as publicAnton Khirnov2015-12-06
| | | | Also, stop using AVCodecContext for storing the stream parameters.
* lavc: add a packet side data type for VBV-like parametersAnton Khirnov2015-12-06
|
* lavc: add stream-global packet side dataAnton Khirnov2015-12-06
| | | | This is similar to what is done for AVStream.
* avpacket: add a function for wrapping existing data as side dataAnton Khirnov2015-12-06
|
* lavc: Deprecate avctx.rtp_callback fieldVittorio Giovara2015-11-20
| | | | | | | | | | | | | | | | | | | | | This function returns the encoded data of a frame, one slice at a time directly when that slice is encoded, instead of waiting for the full frame to be done. However this field has a debatable usefulness, since it looks like it is just a convoluted way to get data at lowest possible latency, or a somewhat hacky way to store h263 in RFC-2190 rtp encapsulation. Moreover when multi-threading is enabled (which is by default) the order of returned slices is not deterministic at all, making the use of this function not reliable at all (or at the very least, more complicated than it should be). So, for the reasons stated above, and being used by only a single encoder family (mpegvideo), this field is deemed unnecessary, overcomplicated, and not really belonging to libavcodec. Libavformat features a complete implementation of RFC-2190, for any other case. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* avcodec: Define side data type for fallback trackJohn Stebbins2015-11-18
| | | | | | | | | This side data type is meant to be added to AVStream side data. A fallback track indicates an alternate track to use when the current track can not be decoded for some reason. e.g. no decoder available for codec. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avformat: expose av_stream_new_side_data helperJohn Stebbins2015-11-18
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* xtea: Add functions for little endian modeMartin Storsjö2015-11-13
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavfi: add a frame_rate field to AVFilterLink.Nicolas George2015-11-09
| | | | | | (cherry picked from ffmpeg commit 7b42036b3b23c85f473bf9369e37fa8da22eaf93) Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avpacket: Provide an alloc and a free function for the structLuca Barbato2015-10-26
| | | | | Pave the way for having the size of the AVPacket struct not part of the ABI.
* avpacket: Deprecate av_dup_packetLuca Barbato2015-10-26
| | | | | As documented, `av_dup_packet` is broken by design, `av_packet_ref` matches the AVFrame ref-counted API and can be safely used instead.
* avpacket: Replace av_free_packet with av_packet_unrefLuca Barbato2015-10-26
| | | | | | | `av_packet_unref` matches the AVFrame ref-counted API and can be used as a drop in replacement. Deprecate `av_free_packet`.
* lavc: Add data and linesize to AVSubtitleRectVittorio Giovara2015-10-21
| | | | | | | | | | | | Use the new fields directly instead of the ones from AVPicture. This removes a layer of indirection which serves no pratical purpose whatsoever, and will help in removing AVPicture structure completely later. Every subtitle encoder/decoder seamlessly points to the new arrays, so it is possible to deprecate AVSubtitleRect.pict. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* APIchanges: Fill in missing dates and hashesVittorio Giovara2015-10-19
|
* qsvenc: add an API for allocating opaque surfacesAnton Khirnov2015-10-16
|
* dict: Change return type of av_dict_copy()Vittorio Giovara2015-10-12
| | | | | | av_dict_set() could return an error, so forward it appropriately. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Make AVPacket.duration int64, and deprecate convergence_durationwm42015-09-29
| | | | | | | | | Note that convergence_duration had another meaning, one which was in practice never used. The only real use for it was a 64 bit replacement for the duration field. It's better just to make duration 64 bits, and to get rid of it. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* d3d11va: WindowsPhone requires a mutex around ID3D11VideoContextSteve Lhomme2015-09-17
|
* lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fieldsVittorio Giovara2015-09-07
| | | | | | The new fields can be accessed directly and are more intelligible. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavu: Remove bit packing from AVComponentDescriptorVittorio Giovara2015-09-07
| | | | | | | | | There is no practical benefit in having this structure elements bit packed given the size of the structure and its usage. Change types from uint16_t (packed) to plain int in order to simplify modifying the structure and accessing its fields. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavu: extend size of the AVPixFmtDescriptor.flags fieldwm42015-09-07
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Bump major versions of all librariesVittorio Giovara2015-08-28
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* des: add av_des_alloc()James Almer2015-07-31
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>