aboutsummaryrefslogtreecommitdiffstats
path: root/doc/APIchanges
Commit message (Collapse)AuthorAgeFilesLines
...
* avutil/film_grain_params: add av_film_grain_params_select()Niklas Haas2024-03-231-0/+3
| | | | | | | | Common utility function that can be used by all codecs to select the right (any valid) film grain parameter set. In particular, this is useful for AFGS1, which has support for multiple parameters. However, it also performs parameter validation for H274.
* avutil/film_grain_params: add metadata to common structNiklas Haas2024-03-231-0/+6
| | | | | | | | | | | | This is needed for AV1 film grain as well, when using AFGS1 streams. Also add extra width/height and subsampling information, which AFGS1 cares about, as part of the same API bump. (And in principle, H274 should also expose this information, since it is needed downstream to correctly adjust the chroma grain frequency to the subsampling ratio) Deprecate the equivalent H274-exclusive fields. To avoid breaking ABI, add the new fields after the union; but with enough of a paper trail to hopefully re-order them on the next bump.
* avcodec: add av_jni_{get,set}_android_app_ctx() helpersMatthieu Bouron2024-03-231-0/+3
| | | | | This will allow users to pass the Android ApplicationContext which is mandatory to retrieve the ContentResolver responsible to resolve/open Android content URIS.
* avutil/frame: Rename av_frame_side_data_get and add wrapper for itAndreas Rheinhardt2024-03-221-1/+4
| | | | | | | | | | | | | | | | | | | av_frame_side_data_get() has a const AVFrameSideData * const *sd parameter; so calling it with an AVFramesSideData **sd like AVCodecContext.decoded_side_data (or with a AVFramesSideData * const *sd) is safe, but the conversion is not performed automatically in C. All users of this function therefore resort to a cast. This commit changes this: av_frame_side_data_get() is renamed to av_frame_side_data_get_c(); furthermore, a static inline wrapper for it name av_frame_side_data_get() is added that accepts an AVFramesSideData * const * and converts this to const AVFramesSideData * const * in a Wcast-qual safe way. This also allows to remove the casts from the current users. Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/frame: Constify av_frame_side_data_get()Andreas Rheinhardt2024-03-221-0/+3
| | | | | Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: add frame side data array to AVCodecContextJan Ekström2024-03-201-0/+3
| | | | This allows configuring an encoder by using AVFrameSideData.
* {avutil/version,APIchanges}: bump, document new AVFrameSideData functionsJan Ekström2024-03-201-0/+5
|
* avutil/channel_layout: add AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICALMarton Balint2024-03-161-0/+3
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* lavc: add a decoder option for configuring side data preferenceAnton Khirnov2024-03-081-0/+3
| | | | This and the following commits fix #10857
* lavu/opt: add array optionsAnton Khirnov2024-03-081-0/+3
|
* avcodec/vdpau: Deprecate redundant allocators and getter/setterAndreas Rheinhardt2024-03-081-0/+6
| | | | | | | | | | | The allocators have been superseded by av_vdpau_bind_context(). The latter have only been added "to allow multiple forks to add fields to the structure without breaking ABI" [1], but libav is no more, so this is not needed any longer. [1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2013-August/146954.html Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libs: bump major version for all librariesJames Almer2024-03-071-1/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/options: Deprecate av_fmt_ctx_get_duration_estimation_method()Andreas Rheinhardt2024-03-061-0/+4
| | | | | | Forgotten in b7785d10b00c88029d8af7dbddac09ab0d6f2b7f. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avformat: add a function to return the name of stream groupsJames Almer2024-03-051-0/+3
| | | | | Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* swresample/swresample: Constify swr_convert()Andreas Rheinhardt2024-03-021-0/+3
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/timestamp: Constify av_ts_make_time_string()Andreas Rheinhardt2024-03-021-0/+3
| | | | | | (Actually, the time base should be passed by value.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avio: Make avio_print_string_array() accept const pointersAndreas Rheinhardt2024-03-021-0/+3
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mov: add support for tile HEIF still imagesJames Almer2024-02-261-0/+4
| | | | | | | | | | | | Export each tile as its own stream, and the grid information as a Stream Group of type TILE_GRID. This also enables exporting other stream items like thumbnails, which may be present in non tiled HEIF images too. For those, the primary stream will be tagged with the default disposition. Based on a patch by Swaraj Hota Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: add a Tile Grid stream group typeJames Almer2024-02-261-0/+5
| | | | | | This will be used to support tiled image formats like HEIF. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/avcodec: Deprecate AV_INPUT_BUFFER_MIN_SIZEAndreas Rheinhardt2024-02-211-0/+3
| | | | | | | | | | | It used to be used with preallocated packet buffers with the old encode API, but said API is no more and therefore there is no reason for this to be public any more. So deprecate it and use an internal replacement for the encoders using it as an upper bound for the size of their headers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/pixfmt: Add AV_VIDEO_MAX_PLANESMichael Niedermayer2024-02-161-0/+3
| | | | | | It seems we do not have a named identifier for the maximum planes of pixel formats Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat: add a disposition field to AVStreamGroupJames Almer2024-02-131-0/+3
| | | | | | | | | | The existing (and upcoming) available group types are meant to combine several streams for presentation, with the result being treated as if it was a stream itself. For example, a file could export two stream groups of the same type with one of them as the "default". Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/channel_layout: add av_channel_layout_retype()Marton Balint2024-02-121-0/+3
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/channel_layout: add av_channel_layout_custom_init()Marton Balint2024-02-121-0/+3
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec: add ambient viewing environment packet side data.Damiano Galassi2024-02-041-0/+3
|
* doc/APIchanges: document newly added buffersrc fieldNiklas Haas2024-01-111-1/+2
| | | | | | | This was accidentally removed in a prior revision of the series, alongside the corresponding (separate) version bump. Instead coalesce it into the follow-up commit's entry, since that's the lowest version actually supporting the new fields.
* doc/APIchanges: fix wrong version numberNiklas Haas2024-01-111-2/+2
| | | | Major version was incorrectly copied.
* avfilter/buffersink: add color space/range accessorsNiklas Haas2023-12-311-0/+3
| | | | Needed for fftools.
* avfilter: add negotiation API for color space/rangeNiklas Haas2023-12-311-0/+3
| | | | | | | | | | | | | | | | | | | Motivated by YUVJ removal. This change will allow full negotiation between color ranges and matrices as needed. By default, all ranges and matrices are marked as supported. Because grayscale formats are currently handled very inconsistently (and in particular, assumed as forced full-range by swscale), we exclude them from negotiation altogether for the time being, to get this API merged. After filter negotiation is available, we can relax the grayscale-is-forced-jpeg restriction again, when it will be more feasible to do so without breaking a million test cases. Note that this commit updates one FATE test as a consequence of the sanity fallback for non-YUV formats. In particular, the test case now writes rgb24(pc, gbr/unspecified/unspecified) to the matroska file, instead of rgb24(unspecified/unspecified/unspecified) as before.
* libavutil: add hwcontext_d3d12va and AV_PIX_FMT_D3D12Wu Jianhua2023-12-211-0/+5
| | | | | Signed-off-by: Wu Jianhua <toqsxw@outlook.com> Signed-off-by: Tong Wu <tong1.wu@intel.com>
* avcodec/packet: add IAMF Parameters side data typesJames Almer2023-12-181-0/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: introduce AVStreamGroupJames Almer2023-12-181-0/+9
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: introduce an Immersive Audio Model and Formats APIJames Almer2023-12-181-0/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/imgutils: add new function av_image_fill_color()Marton Balint2023-12-131-0/+3
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/APIchanges: Fill in missing valuesMichael Niedermayer2023-11-101-47/+47
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: bump minor version after recent commitsJames Almer2023-11-081-0/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/pixdesc: add AV_PIX_FMT_FLAG_XYZNiklas Haas2023-10-311-0/+3
| | | | | | | | | There are already several places in the codebase that match desc->name against "xyz", and many downstream clients replicate this behavior. I have no idea why this is not just a flag. Motivated by my desire to add yet another check for XYZ to the codebase, and I'd rather not keep copy/pasting a string comparison hack.
* doc/APIchanges: Add 6.1 cut pointMichael Niedermayer2023-10-291-0/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: bump minor version after recent commitsJames Almer2023-10-271-0/+7
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevcdec: check for DOVI configuration record in AVCodecContext side dataJames Almer2023-10-061-0/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/avformat: use the side data from AVStream.codecparJames Almer2023-10-061-0/+5
| | | | | | | | | | | | Deprecate AVStream.side_data and its helpers in favor of the AVStream's codecpar.coded_side_data. This will considerably simplify the propagation of global side data to decoders and from encoders. Instead of having to do it inside packets, it will be available during init(). Global and frame specific side data will therefore be distinct. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/codec_par: add side data to AVCodecParametersJames Almer2023-10-061-0/+5
| | | | | | | | | | This will simplify the propagation of side data to decoders and from encoders. Global side data will now reside in the AVCodecContext, thus be available during init(), removing the need to propagate it inside packets. Global and frame specific side data will therefore be distinct. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/packet: add generic side data helpersJames Almer2023-10-061-0/+5
| | | | | | | | Handling AVPacketSideData directly, which can used on structs other than AVPacket. This will be useful in the following commits. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/codec_par: Move enum AVFieldOrder to defs.hAndreas Rheinhardt2023-10-031-0/+3
| | | | | | | | It is also used by AVCodecContext. Reviewed-by: James Almer <jamrial@gmail.com> Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avformat: Deprecate AVFMT_ALLOW_FLUSHAndreas Rheinhardt2023-10-031-0/+4
| | | | | | | | | | | | | | | It is of no value to the user, because every muxer can always be flushed with a NULL packet. As its documentation shows ("If not set, the muxer will not receive a NULL packet in the write_packet function") it is actually an internal flag that has been publically exposed because there was no internal flags field for output formats for a long time. But now there is and so use it by replacing the public flag with a private one. Reviewed-by: James Almer <jamrial@gmail.com> Reviewed-by: Anton Khirnov <anton@khirnov.net> Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil: add GBRAP14 format supportPaul B Mahol2023-09-281-0/+3
|
* avutil/hwcontext_cuda: add option to use current device contextRoman Arzumanyan2023-09-281-0/+3
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avutil/avutil: make AV_TIME_BASE_Q available in C++Zhao Zhili2023-09-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | ISO C++ forbids compound-literals. It's not available with MSVC. This is a known issue from 10 years ago, and that's why there is a av_get_time_base_q(). Since we have no plan to remove AV_TIME_BASE_Q, just make it available in C++. There are multiple choices: 1. Use C++11 syntax: AVRational{1, AV_TIME_BASE} Users may still use C++98 to write new code. So no. 2. Use av_get_time_base_q(). It's for this purpose. But it's not compile time constants as AV_TIME_BASE_Q in C. So I choose av_make_q() as Anton's suggestion. https://libav-devel.libav.narkive.com/ZQCWfTun/patch-0-2-fix-avutil-h-usage-from-c Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* lavf: deprecate AVFMT_FLAG_SHORTESTAnton Khirnov2023-09-181-0/+3
| | | | | | | | | | | It was added in cb114ed4640 with the comment "This will allow fixing several bugs with the -shortest option". Since * there is no explanation of what these bugs are * libavformat is not the place to work around ffmpeg CLI bugs * there is no indication that this feature is actually in use deprecate it without replacement.
* avutil/imgutils: Add wrapper for av_image_copy() to avoid castsAndreas Rheinhardt2023-09-121-0/+4
| | | | | | | | | | | | av_image_copy() accepts const uint8_t* const * as source; lots of user have uint8_t* const * and therefore either cast (the majority) or copy the array of pointers. This commit changes this by adding a static inline wrapper for av_image_copy() that casts between the two types so that we do not need to add casts everywhere else. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>