summaryrefslogtreecommitdiff
path: root/libavutil/frame.h
Commit message (Collapse)AuthorAgeFilesLines
* lavu/frame: extend AVFrame.repeat_pict documentationAnton Khirnov2023-05-151-2/+16
|
* avutil/frame: deprecate key_frameJames Almer2023-05-041-0/+5
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: add a keyframe flag to AVFrameJames Almer2023-05-041-0/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: deprecate interlaced_frame and top_field_firstJames Almer2023-05-041-0/+8
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: add new interlaced and top_field_first flagsJames Almer2023-05-041-0/+9
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: make av_frame_get_plane_buffer accept a const AVFrame*Niklas Haas2023-04-141-1/+1
| | | | Signed-off-by: Niklas Haas <git@haasn.dev>
* lavu/frame: deprecate AVFrame.pkt_{pos,size}Anton Khirnov2023-03-201-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | These fields are supposed to store information about the packet the frame was decoded from, specifically the byte offset it was stored at and its size. However, - the fields are highly ad-hoc - there is no strong reason why specifically those (and not any other) packet properties should have a dedicated field in AVFrame; unlike e.g. the timestamps, there is no fundamental link between coded packet offset/size and decoded frames - they only make sense for frames produced by decoding demuxed packets, and even then it is not always the case that the encoded data was stored in the file as a contiguous sequence of bytes (in order for pos to be well-defined) - pkt_pos was added without much explanation, apparently to allow passthrough of this information through lavfi in order to handle byte seeking in ffplay. That is now implemented using arbitrary user data passthrough in AVFrame.opaque_ref. - several filters use pkt_pos as a variable available to user-supplied expressions, but there seems to be no established motivation for using them. - pkt_size was added for use in ffprobe, but that too is now handled without using this field. Additonally, the values of this field produced by libavcodec are flawed, as described in the previous ffprobe conversion commit. In summary - these fields are ill-defined and insufficiently motivated, so deprecate them.
* lavu/frame: improve AVFrame.opaque[_ref] documentationAnton Khirnov2023-03-101-7/+23
| | | | | Make them match each other, mention interaction with AV_CODEC_FLAG_COPY_OPAQUE.
* avutil/frame: deprecate AVFrame.coded_picture_number and display_picture_numberMarton Balint2023-02-131-0/+4
| | | | | | | | Their usefulness is questionable, very few decoders set them, and their type should have been int64_t. A replacement field can be added later if a valid use case is found. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil: remove FF_API_COLORSPACE_NAMEJames Almer2023-02-091-9/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/frame: deprecate reordered_opaqueAnton Khirnov2023-02-041-0/+5
| | | | | It is only used in libavcodec, where it's been superseded by AV_CODEC_CAP_COPY_OPAQUE.
* avutil: introduce AVAmbientViewingEnvironment side dataJan Ekström2023-01-131-0/+5
| | | | | This enables exposing H.274 Ambient Viewing Environment metadata in the framework.
* avutil/frame: Add doxy for missing argumentMarvin Scholz2022-10-171-0/+1
|
* lavu/frame: allow calling av_frame_make_writable() on non-refcounted framesAnton Khirnov2022-08-021-1/+2
| | | | | This is an easy way to make a refcounted frame from a non-refcounted one.
* lavu/frame: add a duration field to AVFrameAnton Khirnov2022-07-191-0/+10
| | | | | | | | | The only duration field currently present in AVFrame is pkt_duration, which is semantically restricted to those frames that are output by decoders. Add a new field that stores the frame's duration without regard for how that frame was produced. Deprecate pkt_duration.
* avframe: switch to the new channel layout APIAnton Khirnov2022-03-151-1/+15
| | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: support for CUVA Vivid HDR metadataLimin Wang2022-03-011-0/+7
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* lavu/frame: Add Dolby Vision metadata side data typeNiklas Haas2022-01-041-1/+8
| | | | | | | | | | | In order to be able to extend this struct later (as the Dolby Vision RPU evolves), all of the 'container' structs are considered extensible, and the individual constituent fields must instead be accessed via offsets. The precedent for this style of access is set in <libavutil/detection_bbox.h> Signed-off-by: Niklas Haas <git@haasn.dev> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/frame: clarify doxyAnton Khirnov2021-12-041-2/+1
| | | | | AVFrame.data[] elements not used by the format should ALWAYS be null, hwaccel formats are not an exception.
* lavu/frame: drop mentions of non-refcounted framesAnton Khirnov2021-12-041-4/+7
| | | | All frames we deal with should always be refcounted now.
* lavu/avframe: add a time_base fieldLynne2021-12-031-0/+8
| | | | | This adds a time_base field to AVFrame, as an analogue to the AVPacket.time_base field.
* avutil/frame: Document the possibility of negative line sizesSoft Works2021-11-181-3/+15
| | | | | Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil: Add Dolby Vision RPU side data typeDerek Buitenhuis2021-11-171-0/+7
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avutil/buffer: Switch AVBuffer API to size_tAndreas Rheinhardt2021-04-271-8/+0
| | | | | | | Announced in 14040a1d913794d9a3fd6406a6d8c2f0e37e0062. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: Remove deprecated getters and settersAndreas Rheinhardt2021-04-271-50/+0
| | | | | | | Deprecated in 7df37dd319f2d9d3e1becd5d433884e3ccfa1ee2. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: Remove deprecated AVFrame.pkt_pts fieldAndreas Rheinhardt2021-04-271-9/+0
| | | | | | | Deprecated in 32c8359093d1ff4f45ed19518b449b3ac3769d27. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: Remove deprecated AVFrame.errorAndreas Rheinhardt2021-04-271-8/+0
| | | | | | | Deprecated in 1aa24df74c052a73175c43e57d35b4835e537ec8. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/frame: Remove AVFrame QP table APIAndreas Rheinhardt2021-04-271-41/+0
| | | | | | | | Originally deprecated in 1296b1f6c0631ab79464e22d48a6a1548450b943; scheduled again for removal in a9915268327b097bba84a07f68968d8c07f4b549. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* lavu: add side data AV_FRAME_DATA_DETECTION_BBOXES for object ↵Guo, Yejun2021-04-171-0/+6
| | | | detection/classification
* avutil/frame: Deprecate av_get_colorspace_name()Andreas Rheinhardt2021-03-241-1/+4
| | | | | | | Contrary to av_color_space_name() it doesn't even support newer colorspaces. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avutil/frame: change av_frame_new_side_data() size parameter type to size_tJames Almer2021-03-101-0/+8
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* libavutil/frame.h: correct typo for AVFilmGrainParams in commentGuo, Yejun2021-01-271-1/+1
|
* libavutil: introduce AVFilmGrainParams side dataLynne2020-11-251-0/+6
| | | | | | | | This patch introduces a new frame side data type AVFilmGrainParams for use with video codecs which support it. It can save a lot of memory used for duplicate processed reference frames and reduce copies when applying film grain during presentation.
* avutil/timecode: add description for SMPTE binary formatLimin Wang2020-07-151-2/+2
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avutil: add AV_FRAME_DATA_SEI_UNREGISTERED side data typeLimin Wang2020-06-111-0/+8
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* libavutil: add API for exporting video frame quantizersJuan De León2020-05-121-0/+5
| | | | | | | | | | | | | | | This is intended to replace the deprecated the AV_FRAME_DATA_QP_TABLE* API and extend it to a wider range of codecs. In the future, it may also be extended to support other encoding parameters such as motion vectors. Additional changes by Anton Khirnov <anton@khirnov.net> with suggestions by Lynne <dev@lynne.ee>. Signed-off-by: Juan De León <juandl@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avutil/frame: fix remove_side_dataZhao Zhili2019-11-111-2/+1
| | | | | | | | 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-071-16/+43
| | | | | 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-291-0/+1
| | | | | 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-161-0/+1
| | | | | | | | | | 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-181-1/+1
|
* avutil: add ROI (Region Of Interest) data struct and bump versionGuo, Yejun2019-01-171-0/+35
| | | | | | | | | | | | | | | 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-211-0/+7
| | | | | | | | 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-051-1/+0
| | | | | | | | 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-231-0/+8
| | | | | | | | | 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-181-0/+17
| | | | | | | | | | | | | | | | | | | 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-181-0/+1
| | | | | | 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-011-0/+16
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avutil/frame: Add private_ref to AVFrameMichael Niedermayer2017-11-101-0/+13
| | | | | | | 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-291-0/+26
| | | | | | | 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>