aboutsummaryrefslogtreecommitdiffstats
path: root/doc/APIchanges
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct"James Almer2022-11-061-4/+0
| | | | | | | | | There are sill many users of these APIs within libav*, so this commit introduced too many deprecation warnings, making compilation too noisy and potentially hiding legit warnings. Once the remaining users are ported, this can be reapplied. This reverts commit 76d0038579b90cd572e03fa174d5557776ae83d4.
* lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdctLynne2022-11-061-0/+4
| | | | | Replaced by lavu/tx. Dedicated code soon to be removed, replaced with a simple wrapper code.
* avutil/dict: Add av_dict_iterateMarvin Scholz2022-11-061-0/+3
| | | | | | | | This is a more explicit iteration API rather than using the "magic" av_dict_get(d, "", t, AV_DICT_IGNORE_SUFFIX) which is not really trivial to grasp what it does when casually reading through code. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avutil/channel_layout: add a 7.1(top) channel layoutJames Almer2022-11-031-0/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/channel_layout: add a cube channel layoutJames Almer2022-10-301-0/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/pixfmt.h: add native-endian RGB32F and RGBA32F formatsLeo Izen2022-10-111-0/+3
| | | | | | | | | Add an AV_PIX_FMT_NE macro for RGB32FBE/RGB32FLE and also one for RGBA32FBE/RGBA32FLE for packed 32-bit float RGB samples, and also packed 32-bit float RGBA samples, respectively. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Leo Izen <leo.izen@gmail.com>
* lavu: bump minor and add APIChanges entry for RISC-V's RVBbasicLynne2022-10-051-0/+3
|
* avformat/avio: Schedule AVIODirContext to become an opaque typeAndreas Rheinhardt2022-10-031-0/+3
| | | | | | | Users can't make anything with its content. Making it opaque might allow us to avoid one level of indirection. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu: add an APIchanges entry for RISC-V CPU flagsAnton Khirnov2022-10-021-0/+5
| | | | Forgotten in 0c0a3deb18.
* doc/APIchanges: mention the addition of AV_PIX_FMT_RGB[A]F*Anton Khirnov2022-10-021-1/+3
| | | | | | lavu minor bump was apparently forgotten for those, so mention them in the block adding av_chroma_location*(), which was the next lavu minor bump.
* avcodec/avcodec: Deprecate lavc chroma pos API functionsAndreas Rheinhardt2022-09-261-0/+5
| | | | | | | | | | | | avcodec_enum_to_chroma_pos() and avcodec_chroma_pos_to_enum() deal with enum AVChromaLocation which is defined in lavu. These functions are therefore replaced by av_chroma_location_enum_to_pos() and av_chroma_location_pos_to_enum(). This commit provides the necessary deprecations. Also already make these functions wrappers around the corresponding lavu functions as not doing so would force one to disable deprecation warnings. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/pixdesc: Add av_chroma_location_(enum_to_pos|pos_to_enum)Andreas Rheinhardt2022-09-261-0/+3
| | | | | | | They are intended as replacements for avcodec_enum_to_chroma_pos() and avcodec_chroma_pos_to_enum(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/avcodec: Move AV_ER_* and FF_COMPLIANCE_* to defs.hAndreas Rheinhardt2022-09-261-0/+3
| | | | | | | | They are also frequently used in libavformat. This change does not cause any breakage as avcodec.h includes defs.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/pixfmt: Add P012, Y212, XV30, and XV36 formatsPhilip Langdale2022-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are the formats we want/need to use when dealing with the Intel VAAPI decoder for 12bit 4:2:0, 12bit 4:2:2, 10bit 4:4:4 and 12bit 4:4:4 respectively. As with the already supported Y210 and YUVX (XVUY) formats, they are based on formats Microsoft picked as their preferred 4:2:2 and 4:4:4 video formats, and Intel ran with it. P12 and Y212 are simply an extension of 10 bit formats to say 12 bits will be used, with 4 unused bits instead of 6. XV30, and XV36, as exotic as they sound, are variants of Y410 and Y412 where the alpha channel is left formally undefined. We prefer these over the alpha versions because the hardware cannot actually do anything with the alpha channel and respecting it is just overhead. Y412/XV46 is a normal looking packed 4 channel format where each channel is 16bits wide but only the 12msb are used (like P012). Y410/XV30 packs three 10bit channels in 32bits with 2bits of alpha, like A/X2RGB10 style formats. This annoying layout forced me to define the BE version as a bitstream format. It seems like our pixdesc infrastructure can handle the LE version being byte-defined, but not when it's reversed. If there's a better way to handle this, please let me know. Our existing X2 formats all have the 2 bits at the MSB end, but this format places them at the LSB end and that seems to be the root of the problem.
* avutil/file: Properly deprecate av_tempfile()Andreas Rheinhardt2022-09-031-0/+3
| | | | | | | | | | It has been deprecated in b4f59beeb4c2171879d0d7607a4a7d6165f07791, but the attribute_deprecated was not set and there was no entry in APIchanges. This commit adds these and schedules it for removal. Given that the reason behind the deprecation is exactly the same as in av_fopen_utf8(), reuse its FF_API_AV_FOPEN_UTF8. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/pixfmt: Introduce VUYX formatPhilip Langdale2022-08-251-0/+3
| | | | | | | | | | | | | | This is the alphaless version of VUYA that I introduced recently. After further discussion and noting that the Intel vaapi driver explicitly lists XYUV as a support format for encoding and decoding 8bit 444 content, we decided to switch our usage and avoid the overhead of having a declared alpha channel around. Note that I am not removing VUYA, as this turned out to have another use, which was to replace the need for v408enc/dec when dealing with the format. The vaapi switching will happen in the next change
* lavf: deprecate av_stream_get_end_pts()Anton Khirnov2022-08-221-0/+3
| | | | | | | | | | | According to its documentation it returns "pts of the last muxed packet + its duration", but the value it actually returns right now is (possibly guessed) dts after muxer-internal bitstream filtering (if any). This function was added for ffmpeg.c, but it is not used there anymore. Since the value it returns is ill-defined and so inappropriate for any serious use, deprecate it.
* APIchanges: fix library version in the latest entryJames Almer2022-08-191-1/+1
| | | | | | Also add commit hash and date while at it. Signed-off-by: James Almer <jamrial@gmail.com>
* The vuya pixel format was recently added, so this lavc workaround is no longerJames Almer2022-08-191-0/+4
| | | | | | needed. Signed-off-by: James Almer <jamrial@gmail.com>
* doc/APIchanges: add missing rgbaf16 pixfmt entryTimo Rothenpieler2022-08-161-0/+3
|
* lavu/hwcontext_qsv: add loader field to AVQSVDeviceContextHaihao Xiang2022-08-121-0/+3
| | | | | | | | | | | In oneVPL, a valid mfxLoader handle is needed when creating mfx session for decoding, encoding and processing[1], so add loader field to AVQSVDeviceContext. User should fill this field before calling av_hwdevice_ctx_init() if using oneVPL This is in preparation for oneVPL support [1]https://spec.oneapi.io/versions/latest/elements/oneVPL/source/programming_guide/VPL_prg_session.html#onevpl-dispatcher
* lavu/pixfmt: Add packed 4:4:4 formatPhilip Langdale2022-08-031-0/+3
| | | | | | | | | The "AYUV" format is defined by Microsoft as their preferred format for 4:4:4 content, and so it is the format used by Intel VAAPI and QSV. As Microsoft like to define their byte ordering in little-endian fashion, the memory order is reversed, and so our pix_fmt, which follows memory order, has a reversed name (VUYA).
* lavc: add API for exporting reconstructed frames from encodersAnton Khirnov2022-08-021-0/+5
|
* lavu/frame: allow calling av_frame_make_writable() on non-refcounted framesAnton Khirnov2022-08-021-0/+5
| | | | | This is an easy way to make a refcounted frame from a non-refcounted one.
* avcodec: add API for automatic handling of icc profilesNiklas Haas2022-07-301-0/+5
| | | | | | | | | | | | | | | This functionally already exists, but as pointed out in #9672 and #9673, requiring users to manually include filters is clumsy, error-prone and hard to use together with tools like ffplay. To streamline ICC profile support, add a new AVCodecContext flag to globally enable reading and writing ICC profiles, automatically, for all appropriate media types. Note that this commit only includes the new API. The implementation is split off to separate commits for readability. Signed-off-by: Niklas Haas <git@haasn.dev>
* lavu/frame: add a duration field to AVFrameAnton Khirnov2022-07-191-0/+3
| | | | | | | | | 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.
* doc/APIchanges: Add 5.1 branch cutpointMichael Niedermayer2022-07-131-0/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: Fill in missing thingsMichael Niedermayer2022-07-121-8/+8
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: Extend hash which has become ambiguousMichael Niedermayer2022-07-121-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: add missing marker for release 5.0Gyan Doshi2022-06-161-0/+2
|
* doc/APIchanges: add missing uuid and csp entriesZane van Iperen2022-06-131-0/+10
| | | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/avio: add avio_vprintf()Stefano Sabatini2022-06-131-0/+4
| | | | | | | This new function makes it possible to use avio_printf() functionality from a function taking a variable list of arguments. Signed-off-by: Marton Balint <cus@passwd.hu>
* libavutil: Deprecate av_fopen_utf8, provide an avpriv versionMartin Storsjö2022-05-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | Since every DLL can use an individual CRT on Windows, having an exported function that opens a FILE* won't work if that FILE* is going to be used from a different DLL (or from user application code). Internally within the libraries, the issue can be worked around by duplicating the function in all libraries (this already happened implicitly because the function resided in file_open.c) and renaming the function to ff_fopen_utf8 (so that it doesn't end up exported from the DLLs) and duplicating it in all libraries that use it. This makes the avpriv_fopen_utf8 / ff_fopen_utf8 function work in the exact same way as the existing avpriv_open / ff_open, with the same setup as introduced in e743e7ae6ee7e535c4394bec6fe6650d2b0dbf65. That mechanism doesn't work for external users, thus deprecate the existing function. Signed-off-by: Martin Storsjö <martin@martin.st>
* doc/APIchanges: update for the new channel layout APIAnton Khirnov2022-03-191-0/+37
|
* Keep including the full version.h when headers are included externallyMartin Storsjö2022-03-191-7/+2
| | | | | | | | | This avoids unnecessary churn and build breakage for users, by making sure the whole version.h is included like it has been so far, while keeping the benefit of not needing to rebuild most files in the ffmpeg tree on minor/micro bumps. Signed-off-by: Martin Storsjö <martin@martin.st>
* doc: Add an entry to APIchanges about changes to version.h and version_major.hMartin Storsjö2022-03-161-0/+10
| | | | | | | | Also bump the minor versions of all libraries, to signify the API change of splitting the version.h headers and adding the new version_major.h header. Signed-off-by: Martin Storsjö <martin@martin.st>
* avutil/cpu: add AVX512 Icelake flagWu Jianhua2022-03-101-0/+3
| | | | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com> Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/fifo: Deprecate old FIFO APIAnton Khirnov2022-02-071-0/+8
| | | | | | | | Users should switch to the superior AVFifo API. Unfortunately AVFifoBuffer fields cannot be marked as deprecated because it would trigger a warning wherever fifo.h is #included, due to inlined av_fifo_peek2().
* lavu/fifo: add a flag for automatically growing the FIFO as neededAnton Khirnov2022-02-071-1/+1
| | | | | This will not increase the FIFO beyond 1MB, unless the caller explicitly specifies otherwise.
* lavu/fifo: Add new AVFifo API based upon the notion of element sizeAnton Khirnov2022-02-071-0/+9
| | | | | | | | | | | | | | | | | | Many AVFifoBuffer users operate on fixed-size elements (e.g. pointers), but the current FIFO API deals exclusively in bytes, requiring extra complexity in all these callers. Add a new AVFifo API creating a FIFO with an element size that may be larger than a byte. All operations on such a FIFO then operate on complete elements. This API does not reuse AVFifoBuffer and its API at all, but instead uses an opaque struct called AVFifo. The AVFifoBuffer API will be deprecated in a future commit once all of its users have been switched to the new API. Not reusing AVFifoBuffer also allowed to use the full range of size_t from the beginning.
* lavu: bump minor and add APIchanges for new lavu/tx additionsLynne2022-01-261-0/+3
|
* doc/APIchanges: Fill in the commit hash for DOVI metadata additionAndreas Rheinhardt2022-01-041-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/frame: Add Dolby Vision metadata side data typeNiklas Haas2022-01-041-0/+3
| | | | | | | | | | | 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>
* doc/APIchanges: Fill in missing thingsMichael Niedermayer2022-01-031-37/+37
| | | | | Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf: add a flag for experimental (de)muxersAnton Khirnov2022-01-031-0/+3
|
* lavu/videotoolbox: expose routine to set CVPixelBufferRef metadatarcombs2021-12-221-0/+3
|
* lavu/videotoolbox: expose conversion routines for color parametersrcombs2021-12-221-0/+6
| | | | | Also fixes symbol lookup errors on older macOS when built with a newer SDK, introduced in 6cab5206b0ad94990c435cb7c5cf3b29675e0231
* libavutil/cpu: Add AV_CPU_FLAG_SLOW_GATHER.Alan Kelly2021-12-211-0/+3
| | | | This flag is set on Haswell and earlier and all AMD cpus.
* avutil/display: fix inverted docZhao Zhili2021-12-201-0/+5
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: introduce AVFormatContext io_close2 which returns an intMarton Balint2021-12-121-0/+3
| | | | | | | | | | | | | | | | | Otherwise there is no way to detect an error returned by avio_close() because ff_format_io_close cannot get the return value. Checking the return value of the close function is important in order to check if all data was successfully written and the underlying close() operation was successful. It can also be useful even for read mode because it can return any pending AVIOContext error, so the user don't have to manually check AVIOContext->error. In order to still support if the user overrides io_close, the generic code only uses io_close2 if io_close is either NULL or the default io_close callback. Signed-off-by: Marton Balint <cus@passwd.hu>