summaryrefslogtreecommitdiff
path: root/libavutil/frame.h
Commit message (Collapse)AuthorAge
* avutil/frame: fix remove_side_dataZhao Zhili2019-11-11
| | | | | | | | remove_side_data is supposed to remove a single instance by design. Since new_side_data() doesn't forbid add multiple instances of the same type, remove_side_data should deal with that. Signed-off-by: Marton Balint <cus@passwd.hu>
* lavu/frame: Improve ROI documentationMark Thompson2019-07-07
| | | | | Clarify and add examples for the behaviour of the quantisation offset, and define how multiple ranges should be handled.
* avutil: add FF_DECODE_ERROR_DECODE_SLICES for AVFrame.decode_error_flagsAmir Pauker2019-06-29
| | | | | Signed-off-by: Amir Pauker <amir@livelyvideo.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: add FF_DECODE_ERROR_CONCEALMENT_ACTIVE flag for ↵Amir Pauker2019-06-16
| | | | | | | | | | AVFrame.decode_error_flags FF_DECODE_ERROR_CONCEALMENT_ACTIVE is set when the decoded frame has error(s) but the returned value from avcodec_receive_frame is zero i.e. concealed errors Signed-off-by: Amir Pauker <amir@livelyvideo.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu/frame: Fix typo.Carl Eugen Hoyos2019-01-18
|
* avutil: add ROI (Region Of Interest) data struct and bump versionGuo, Yejun2019-01-17
| | | | | | | | | | | | | | | The encoders such as libx264 support different QPs offset for different MBs, it makes possible for ROI-based encoding. It makes sense to add support within ffmpeg to generate/accept ROI infos and pass into encoders. Typical usage: After AVFrame is decoded, a ffmpeg filter or user's code generates ROI info for that frame, and the encoder finally does the ROI-based encoding. The ROI info is maintained as side data of AVFrame. Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutilMohammad Izadi2018-12-21
| | | | | | | | The dynamic metadata contains data for color volume transform - application 4 of SMPTE 2094-40:2016 standard. The data comes from HEVC in the SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* libavutil: Undeprecate the AVFrame reordered_opaque fieldMartin Storsjö2018-11-05
| | | | | | | | This was marked as deprecated (but only in the doxygen, not with an actual deprecation attribute) in 81c623fae05 in 2011, but was undeprecated in ad1ee5fa7. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc/h264: create AVFrame side data from H.264 timecodesDevin Heitmueller2018-10-23
| | | | | | | | | Create SMPTE ST 12-1 timecodes based on H.264 SEI picture timing info. For framerates > 30 FPS, the field flag is used in conjunction with pairs of frames which contain the same frame timestamp in S12M. Ensure the field is properly set per the spec.
* lavu/frame: add QP side datawm42018-03-18
| | | | | | | | | | | | | | | | | | | This adds a way for an API user to transfer QP data and metadata without having to keep the reference to AVFrame, and without having to explicitly care about QP APIs. It might also provide a way to finally remove the deprecated QP related fields. In the end, the QP table should be handled in a very similar way to e.g. AV_FRAME_DATA_MOTION_VECTORS. There are two side data types, because I didn't care about having to repack the QP data so the table and the metadata are in a single AVBufferRef. Otherwise it would have either required a copy on decoding (extra slowdown for something as obscure as the QP data), or would have required making intrusive changes to the codecs which support export of this data. The new side data types are added under deprecation guards, because I don't intend to change the status of the QP export as being deprecated (as it was before this patch too).
* lavu/frame: fix inconsistent qp_table_buf deprecationwm42018-03-18
| | | | | | Everything related to the QP data is deprecated, with qp_table_buf being an inconsistent exception. Some parts were under the deprecation guards, some not. It probably didn't even compile.
* frame: add an av_frame_new_side_data_from_buf functionRostislav Pehlivanov2018-03-01
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avutil/frame: Add private_ref to AVFrameMichael Niedermayer2017-11-10
| | | | | | | This gives FFmpeg libs a field that they can freely and safely use. Avoiding the need of wrapping of a users opaque_ref field and its issues. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/frame: deprecate getters and setters for AVFrame fieldsJames Almer2017-10-29
| | | | | | | The fields can be accessed directly, so these are not needed anymore. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: remove unneccessary metadata pointer getterJames Almer2017-10-23
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: Fix project nameMichael Niedermayer2017-10-11
| | | | | | Issue introduced in: caa12027baf1180453846c58da08fc87accc0ff6 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '4de220d2e3751c459f8739a08ac6ca52e63eba30'James Almer2017-09-27
|\ | | | | | | | | | | | | | | | | * commit '4de220d2e3751c459f8739a08ac6ca52e63eba30': frame: allow align=0 (meaning automatic) for av_frame_get_buffer() See https://ffmpeg.org/pipermail/ffmpeg-devel/2017-September/215834.html Merged-by: James Almer <jamrial@gmail.com>
| * frame: allow align=0 (meaning automatic) for av_frame_get_buffer()Anton Khirnov2017-02-11
| | | | | | | | | | This will avoid every caller from hardcoding some specific alignment, which may break in the future with new instruction sets.
* | lavc, lavu: move frame cropping to a convenience functionwm42017-08-08
| | | | | | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net> Merged from Libav commit 47399ccdfd.
* | lavu/frame: add new side data type for ICC profilesRostislav Pehlivanov2017-07-25
| | | | | | | | | | | | | | | | Many image formats support embedding of ICC profiles directly in their bitstreams. Add a new side data type to allow exposing them to API users. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | 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: 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>
* | lavu: add support for Content Light Level side metadataSteve Lhomme2017-04-06
| | | | | | | | | | | | As found in HEVC. Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec, avutil, avformat: remove AVOption requirement for some fieldswm42017-03-02
| | | | | | | | | | | | | | | | | | | | Allow all struct fields to be accessed directly, as long as they're public. Before this change, many fields were "public", but could be accessed via AVOption only. This meant they were effectively not public, but were present for documentation purposes, which was incredibly confusing at best.
* | AVFrame: add an opaque_ref fieldwm42017-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an extended version of the AVFrame.opaque field, which can be used to attach arbitrary user information to an AVFrame. The usefulness of the opaque field is rather limited, because it can store only up to 32 bits of information (or 64 bit on 64 bit systems). It's not possible to set this field to a memory allocation, because there is no way to deallocate it correctly. The opaque_ref field circumvents this by letting the user set an AVBuffer, which makes the user data refcounted. Signed-off-by: Anton Khirnov <anton@khirnov.net> Merges Libav commit 04f3bd349651.
* | 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>
* | doc: fix spelling errorsAndreas Cadhalpun2016-10-21
| | | | | | | | | | | | | | | | Thanks to Mathieu Malaterre <malat@debian.org> for reporting the Que/Queue typo. (https://bugs.debian.org/839542) Reviewed-by: Lou Logan <lou@lrcd.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | Merge commit '32c8359093d1ff4f45ed19518b449b3ac3769d27'Hendrik Leppkes2016-10-07
|\| | | | | | | | | | | | | * commit '32c8359093d1ff4f45ed19518b449b3ac3769d27': lavc: export the timestamps when decoding in AVFrame.pts Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: export the timestamps when decoding in AVFrame.ptsAnton Khirnov2016-06-21
| | | | | | | | | | | | | | | | | | | | | | Currently it's exported as AVFrame.pkt_pts, which is also the only use for that field. The reason it is done like this is that lavc used to export various codec-specific "timing" information in AVFrame.pts, which is not done anymore. Since it is confusing to the callers to have a separate field which is used only for decoder timestamps and nothing else, deprecate pkt_pts and use just AVFrame.pts everywhere.
* | avutil/frame: Add a flag to discard frame after decode.Sasi Inguva2016-09-19
| | | | | | | | | | Signed-off-by: Sasi Inguva <isasi@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | doxygen: Standardize root-level modulesTimothy Gu2016-08-02
| |
* | avutil/frame: Move new field to the end of AVFrameMichael Niedermayer2016-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes part of Ticket5676 This fixes kodi, mpv, chromium and ffplay build against 3.0 and linked to 3.1 This is a similar ABI fix to 1eb43af1a0e542ad83dcbf327197785d815fc42d Approved-by: BBB Approved-by: jamrial Approved-by: BtbN Approved-by: nevcairiel Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | avutil/frame: Document avcodec_get_frame_class() and the option naming systemMichael Niedermayer2016-06-01
| | | | | | | | | | | | Missing docs found by: nevcairiel Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '7a6cf2771414c7ab8bca0811d589f6091a6e2b71'Derek Buitenhuis2016-04-13
|\| | | | | | | | | | | | | * commit '7a6cf2771414c7ab8bca0811d589f6091a6e2b71': lavu: improve documentation of some AVFrame functions Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavu: improve documentation of some AVFrame functionswm42016-03-05
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | lavu: improve documentation of some AVFrame functionswm42016-04-01
| |
* | Document and validate AVFrame plane pointers.Reimar Döffinger2016-02-28
| | | | | | | | | | | | | | | | | | | | Check that the required plane pointers and only those are set up. Currently does not enforce anything for the palette pointer of pseudopal formats as I am unsure about the requirements. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge commit '29c2d06d67724e994980045afa055c6c34611b30'Derek Buitenhuis2016-02-24
|\| | | | | | | | | | | | | * commit '29c2d06d67724e994980045afa055c6c34611b30': cosmetics: Drop empty comment lines Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * cosmetics: Drop empty comment linesDiego Biurrun2016-02-18
| |
* | Merge commit '89923e418b494e337683442ab896d754bc07341a'Derek Buitenhuis2016-02-17
|\| | | | | | | | | | | | | * commit '89923e418b494e337683442ab896d754bc07341a': lavu: add a framework for handling hwaccel frames Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavu: add a framework for handling hwaccel framesAnton Khirnov2016-02-14
| |
* | avutil: Add GOP timecode frame side dataDerek Buitenhuis2016-02-01
| | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | libavutil: add mastering display metadata sidedataNeil Birkbeck2016-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding mastering display metadata struct to avutil. The mastering display metadata contains information about the mastering display color volume (SMPTE 2086:2014). This info comes from HEVC in the SEI_TYPE_MASTERING_DISPLAY_INFO and is soon to be included in MKV: https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&index=sZyfPTM-QY69P-0omfOIiTN622o so it is similar to SEI FPA / stereo_mode in MKV and as such this patch follows how AVStereo3D is implemented. I'll add support to HEVC in a follow-up (and MKV when spec is approved). Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '1aa24df74c052a73175c43e57d35b4835e537ec8'Hendrik Leppkes2015-10-03
|\| | | | | | | | | | | | | * commit '1aa24df74c052a73175c43e57d35b4835e537ec8': lavu: Deprecate AVFrame.error[] Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavu: Deprecate AVFrame.error[]Vittorio Giovara2015-09-30
| | | | | | | | | | | | | | | | | | | | | | These field are difficult to interpret, and are provided by a single encoder (mpegvideoenc). In general they do not belong to a structure containing raw data only, so remove them from AVFrame. Mpegvideoenc now uses a private field in Picture for its internal computations. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | lavu/frame: put frame QP elements under a new version guardHendrik Leppkes2015-09-05
| | | | | | | | These fields are still used, removal postponed until a replacement functionality is available.
* | Merge commit '8f12ef9860d0e164e4647fd5d5cebdb3cfb34a79'Hendrik Leppkes2015-09-05
|\| | | | | | | | | | | | | * commit '8f12ef9860d0e164e4647fd5d5cebdb3cfb34a79': lavu: Drop deprecated duplicated AVFrame/AVCodecContext parameters Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>