summaryrefslogtreecommitdiffstats
path: root/libavcodec/avcodec.h
Commit message (Collapse)AuthorAgeFilesLines
* avcodec: rename the AV1 profilesJames Almer2018-03-291-3/+3
| | | | | | Use the proper names instead of numbers Signed-off-by: James Almer <jamrial@gmail.com>
* Support AV1 encoding using libaomLuca Barbato2018-03-121-0/+4
|
* lavc: Add support for increasing hardware frame pool sizesMark Thompson2018-02-111-0/+14
| | | | | | | | | | AVCodecContext.extra_hw_frames is added to the size of hardware frame pools created by libavcodec for APIs which require fixed-size pools. This allows the user to keep references to a greater number of frames after decode, which may be necessary for some use-cases. It is also added to the initial_pool_size value returned by avcodec_get_hw_frames_parameters() if a fixed-size pool is required.
* lavc: Mark all AVHWAccel structures as constMark Thompson2017-12-191-1/+1
|
* lavc: Deprecate av_hwaccel_next() and av_register_hwaccel()Mark Thompson2017-12-191-0/+13
|
* lavc: Add codec metadata to indicate hardware supportMark Thompson2017-12-191-0/+74
|
* avcodec: add metadata to identify wrappers and hardware decoderswm42017-12-141-0/+25
| | | | | | | | | | | | | | | | | | | | | Explicitly identify decoder/encoder wrappers with a common name. This saves API users from guessing by the name suffix. For example, they don't have to guess that "h264_qsv" is the h264 QSV implementation, and instead they can just check the AVCodec .codec and .wrapper_name fields. Explicitly mark AVCodec entries that are hardware decoders or most likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing API users listing hardware decoders in a more generic way. The proposed AVCodecHWConfig does not provide this information fully, because it's concerned with decoder configuration, not information about the fact whether the hardware is used or not. AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software implementations in case the hardware is not capable. Based on a patch by Philip Langdale <philipl@overt.org>. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: external hardware frame pool initializationwm42017-10-191-0/+113
| | | | | | | | | | | | This adds a new API, which allows the API user to query the required AVHWFramesContext parameters. This also reduces code duplication across the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses the new API function. It takes care of initializing the hw_frames_ctx if needed, and does additional error handling and API usage checking. Support for VDA and Cuvid missing. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: Add flag to allow profile mismatch with hardware decodingMark Thompson2017-04-261-0/+14
|
* Add ClearVideo decoderKostya Shishkov2017-04-251-0/+1
| | | | | | Only I-frames are decoded for now. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Add FM Screen Capture Codec decoderPaul B Mahol2017-04-131-0/+1
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavc: Drop deprecated stream codec tagVittorio Giovara2017-03-231-8/+0
| | | | Deprecated in 07/2015.
* lavc: Drop deprecated options moved to private contextsVittorio Giovara2017-03-231-114/+0
| | | | Deprecated in 10/2014 and 07/2015.
* lavc: Drop deprecated global afd fieldVittorio Giovara2017-03-231-20/+0
| | | | Deprecated in 08/2014.
* lavc: Drop deprecated avctx codec nameVittorio Giovara2017-03-231-7/+0
| | | | Deprecated in 04/2014.
* lavc: Drop deprecated codec flagsVittorio Giovara2017-03-231-158/+0
| | | | Deprecated between 04/2014 - 05/2015.
* lavc: Drop deprecated unused public membersVittorio Giovara2017-03-231-18/+0
| | | | Deprecated in 07/2014.
* lavc: Drop deprecated emu edge functionalityVittorio Giovara2017-03-231-22/+0
| | | | Deprecated in 01/2014.
* lavc: Drop deprecated av_fast_malloc() compatibilityVittorio Giovara2017-03-231-5/+0
| | | | Deprecated in 10/2013.
* lavc: Drop deprecated macroblock type symbolsVittorio Giovara2017-03-231-26/+0
| | | | Deprecated in 10/2013.
* lavc: Drop deprecated public symbolsVittorio Giovara2017-03-231-23/+0
| | | | | | qscale types and maximum number of bframes deprecated in 10/2013. Negative linesizes deprecated in 11/2013. xvidmmx deprecated in 08/2014.
* lavc: Drop deprecated error rate optionVittorio Giovara2017-03-231-9/+0
| | | | Deprecated in 10/2013.
* lavc: Remove deprecated XvMC support hacksDiego Biurrun2017-03-231-17/+0
| | | | Deprecated in 11/2013.
* lavc: Drop deprecated architectures symbolsVittorio Giovara2017-03-231-9/+0
| | | | | Alpha deprecated in 11/2013. Sh4 and sparc deprecated in 01/2014.
* lavc: Drop deprecated extended aspect ratio symbolVittorio Giovara2017-03-231-4/+0
| | | | Deprecated in 10/2013.
* lavc: Drop deprecated workaround bugs optionsVittorio Giovara2017-03-231-6/+0
| | | | Illegal ac_vlc and old msmpeg4 detection deprecated in 10/2013.
* lavc: Drop deprecated debug mv functionalityVittorio Giovara2017-03-231-21/+0
| | | | Deprecated in 10/2013.
* lavc: Drop deprecated way of setting codec dimensionsVittorio Giovara2017-03-231-8/+0
| | | | Deprecated in 10/2013.
* lavc: Drop deprecated voxware codec entryVittorio Giovara2017-03-231-3/+0
| | | | Deprecated in 08/2013.
* lavc: Drop deprecated VDPAU codec capabilityVittorio Giovara2017-03-231-6/+0
| | | | Deprecated in 07/2013.
* lavc: Drop deprecated lowres optionVittorio Giovara2017-03-231-14/+0
| | | | Deprecated in 04/2013.
* lavc: Drop deprecated missing sample log functionVittorio Giovara2017-03-231-30/+0
| | | | Deprecated in 01/2013.
* lavc: Drop deprecated chroma subsample functionVittorio Giovara2017-03-231-6/+0
| | | | Deprecated in 11/2012.
* lavc: Add hwaccel_flags field to AVCodecContextwm42017-03-201-0/+9
| | | | | | | | 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.
* Add Cineform HD DecoderKieran Kunhya2017-03-091-0/+1
| | | | | | | | | | Decodes YUV 4:2:2 10-bit and RGB 12-bit files. Older files with more subbands, skips, Bayer, alpha not supported. Further fixes and refactorings by Anton Khirnov <anton@khirnov.net>, Diego Biurrun <diego@biurrun.de>, Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* avcodec: clarify some decoding/encoding API detailswm42017-03-091-9/+35
| | | | | | | | | | | | | | Make it clear that there is no timing-dependent behavior. In particular, there is no state in which both input and output are denied, and where you have to wait for a while yourself to make progress (apparently some hardware decoders like to do this). Avoid wording that makes references to time. It shouldn't be mistaken for some kind of asynchronous API (like POSIX read() can return EAGAIN if there is no new input yet). It's a state machine, so try to use appropriate terms. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Add Apple Pixlet decoderPaul B Mahol2017-03-011-0/+1
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: Add device context field to AVCodecContextMark Thompson2017-02-131-1/+24
| | | | For use by codec implementations which can allocate frames internally.
* lavc: deprecate refcounted_frames fieldwm42017-02-011-1/+1
| | | | | | | | | No deprecation guards, because the old decode API (for which this field is needed) doesn't have any either. This field should be removed together with the old decode calls. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: add an option for exporting cropping information to the callerAnton Khirnov2017-01-121-0/+27
| | | | | Also, add generic code for handling cropping, so the decoders can export just the cropping size and not bother with the rest.
* pthread_frame: do not run hwaccel decoding asynchronously unless it's safeAnton Khirnov2016-12-191-0/+5
| | | | | | | | | | Certain hardware decoding APIs are not guaranteed to be thread-safe, so having the user access decoded hardware surfaces while the decoder is running in another thread can cause failures (this is mainly known to happen with DXVA2). For such hwaccels, only allow the decoding thread to run while the user is inside a lavc decode call (avcodec_send_packet/receive_frame).
* lavc: add support for filtering packets before decodingAnton Khirnov2016-12-141-0/+6
|
* decode: restructure the core decoding codeAnton Khirnov2016-12-141-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the new decoding API is pretty much just a wrapper around the old deprecated one. This is problematic, since it interferes with making full use of the flexibility added by the new API. The old API should also be removed at some future point. Reorganize the code so that the new send_packet/receive_frame functions call the actual decoding directly and change the old deprecated avcodec_decode_* functions into wrappers around the new API. The new internal API for decoders is now changing as well. Before this commit, it mirrors the public API, so the decoders need to implement send_packet() and receive_frame() callbacks. This turns out to require awkward constructs in both the decoders and the generic code. After this commit, the decoders only implement the receive_frame() callback and call a new internal function, ff_decode_get_packet() to obtain input data, in the same manner to how the bitstream filters now work. avcodec will now always make a reference to the input packet, which means that non-refcounted input packets will be copied. Keeping the previous behaviour, where this copy could sometimes be avoided, would make the code significantly more complex and fragile for only dubious gains, since packets are typically small and everyone who cares about performance should use refcounted packets anyway.
* lavc: Add spherical packet side data APIVittorio Giovara2016-12-071-0/+6
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Fix some mismatches between function parameter and doxygen parameter names.Diego Biurrun2016-11-211-1/+1
|
* avpacket: Mark src pointer as constantLuca Barbato2016-11-171-2/+2
|
* lavc: bsf: Document input/output codecparam alloc/init processVittorio Giovara2016-10-121-2/+5
|
* avcodec: Document AV_PKT_DATA_PALETTE side data typeVittorio Giovara2016-10-021-0/+5
|
* avcodec: Add the extended pixel format profile for HEVCYogender Gupta2016-09-191-0/+1
| | | | | | It is supported by the NVIDIA video SDK 7. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* av1: Add codec_id and basic demuxing supportLuca Barbato2016-08-241-0/+1
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
OpenPOWER on IntegriCloud