aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil
Commit message (Collapse)AuthorAgeFilesLines
* avutil/frame: add helper for getting side data from arrayJan Ekström2024-03-202-5/+29
|
* avutil/frame: add helper for adding existing side data to arrayJan Ekström2024-03-202-0/+69
|
* avutil/frame: add helper for adding side data to arrayJan Ekström2024-03-204-0/+143
| | | | | Additionally, add an API test to check that the no-duplicates addition works after duplicates have been inserted.
* avutil/frame: split side data removal out to non-AVFrame functionJan Ekström2024-03-201-8/+16
| | | | This will make it possible to reuse logic in further commits.
* avutil/frame: split side_data_from_buf to base and AVFrame funcJan Ekström2024-03-201-8/+17
|
* avutil/frame: add helper for freeing arrays of side dataJan Ekström2024-03-202-0/+16
|
* avutil/frame: split side data list wiping out to non-AVFrame functionJan Ekström2024-03-201-9/+14
| | | | This will make it possible to to reuse logic in further commits.
* lavu/hwcontext_vulkan: check PCI ID if possibleHaihao Xiang2024-03-191-7/+23
| | | | | | | | Otherwise the derived device and the source device might have different PCI ID in a multiple-device system. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avutil/hwcontext_d3d11va: add logging to dxgi debug interfacesTimo Rothenpieler2024-03-181-1/+9
|
* avutil/hwcontext_d3d11va: prefer DXGI 1.1 factory when availableTimo Rothenpieler2024-03-181-1/+3
| | | | | | A lot of modern stuff straight up fails on the old 1.0 factory, which is masked by the fact that it's only used when an explicit adapter is specified.
* avutil/hwcontext_d3d11va: remove check for d3d11 debug layer dllTimo Rothenpieler2024-03-181-7/+3
| | | | | | | | | | At least on latest Win 11 and Visual Studio 2022, that DLL does not exist anymore and can't be installed via any of the usual means. However, debugging works just fine regardless, so this check makes debugging impossible. D3D11CreateDevice will fail anyway if debugging is not supported, so let's rely on that instead.
* lavu/hwcontext_qsv: Join the download/upload session to the main sessionHaihao Xiang2024-03-181-0/+24
| | | | | | | This may reduce the number of internal threads when using hwupload or hwdownload filter. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avutil/hash: Avoid relocations for hash namesAndreas Rheinhardt2024-03-181-31/+41
| | | | | | | | These strings are so short (longest takes 11B) that using pointers is wasteful. Avoiding them also moves hashdesc into .rodata (from .data.rel.ro). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/x86util: Fix broken pre-SSE4.1 PMINSD emulationHenrik Gramner2024-03-171-4/+0
| | | | | | Fixes yadif-16 which allows FATE to pass. Broken since 2904db90458a1253e4aea6844ba9a59ac11923b6 (2017).
* avutil/channel_layout: add specific text versions for unknown and unused ↵Marton Balint2024-03-162-0/+15
| | | | | | channels Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/channel_layout: fix some (un)initialization issues in ↵Marton Balint2024-03-162-2/+11
| | | | | | | | | av_channel_layout_from_string() Also make initialization/uninitialization behaviour more explicit in the docs, and make sure we do not leak a channel map on error. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/channel_layout: factorize parsing list of channel namesMarton Balint2024-03-161-114/+58
| | | | | | | Also make use of the av_channel_from_string() function to determine the channel id. This fixes some parse issues in av_channel_layout_from_string(). Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/tests/channel_layout: add some av_channel_from_string and ↵Marton Balint2024-03-161-0/+26
| | | | | | | | | av_channel_layout_from_string tests We lacked tests which supposed to fail, and there are some which should fail but right now it does not. This will be fixed in a later commit. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/tests/channel_layout: make printing results part of the testsMarton Balint2024-03-161-185/+98
| | | | | | | | | | Deduplicates a lot of code. Some minor differences (mostly white space and inconsistent use of quotes) are expected in the fate tests, there was no point aiming for exactly the same formatting. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/channel_layout: add AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICALMarton Balint2024-03-163-1/+38
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* configure: Remove av_restrictAndreas Rheinhardt2024-03-158-16/+8
| | | | | | | | | All versions of MSVC that support C11 (namely >= v19.27) also support the restrict keyword, therefore av_restrict is no longer necessary since 75697836b1db3e0f0a3b7061be6be28d00c675a0. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/avstring: Use proper typesAndreas Rheinhardt2024-03-101-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/opt: add array optionsAnton Khirnov2024-03-084-44/+423
|
* lavu/opt: distinguish between native and foreign access for AVOption fieldsAnton Khirnov2024-03-081-0/+14
| | | | | | | | Native access is from the code that declared the options, foreign access is from code that is using the options. Forbid foreign access to AVOption.offset/default_val, for which there is no good reason, and which should allow us more freedom in extending their semantics in a compatible way.
* lavu/opt: factor per-type dispatch out of av_opt_copy()Anton Khirnov2024-03-081-42/+49
| | | | Will be useful in following commits.
* libavutil/opt: rework figuring out option sizesAnton Khirnov2024-03-081-39/+50
| | | | | | | | | | Replace the opt_size() function, currently only called from av_opt_copy(), with * a constant array of element sizes * a function that signals whether an option type is POD (i.e. memcpyable) or not Will be useful in following commits.
* lavu/opt: factor per-type dispatch out of av_opt_set()Anton Khirnov2024-03-081-13/+22
| | | | Will be useful in following commits.
* lavu/opt: factor per-type dispatch out of av_opt_get()Anton Khirnov2024-03-081-46/+68
| | | | Will be useful in following commits.
* avutil/dict: Deduplicate freeing dictionaryAndreas Rheinhardt2024-03-081-6/+4
| | | | | Reviewed-by: epirat07@gmail.com Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libs: bump major version for all librariesJames Almer2024-03-071-2/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internalsAndreas Rheinhardt2024-03-0713-115/+119
| | | | | | | | | | | This is possible because the lifetime of these structures coincide. It has the advantage of allowing to remove AVHWFramesInternal from the public header; given that AVHWFramesInternal.priv is no more, most accesses to AVHWFramesInternal are no more; indeed, the only field accessed of it outside of hwcontext.c is the internal frame pool, making this commit very simple. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_internal: Remove unused AVHWFramesInternal.privAndreas Rheinhardt2024-03-072-15/+0
| | | | | | | | It is no longer used by any hwcontext, as they all allocate their private data together with their public data and access it via AVHWFramesContext.hwctx. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_d3d12va: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-071-8/+12
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to D3D12VAFramesContext as one no longer has to go through AVHWFramesInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext: Allocate AVHWDevCtx jointly with its internalsAndreas Rheinhardt2024-03-073-61/+55
| | | | | | | | | | This is possible because the lifetime of these structures coincide. It has the advantage of allowing to remove the AVHWDeviceInternal from the public header; given that AVHWDeviceInternal.priv is no more, all accesses to it happen in hwcontext.c, so that this commit moves the joint structure there. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext: Remove unused AVHWDeviceInternal.privAndreas Rheinhardt2024-03-072-15/+0
| | | | | | | | It is no longer used by any hwcontext, as they all allocate their private data together with their public data and access it via AVHWDeviceContext.hwctx. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_d3d12va: Allocate pub and priv device hwctx togetherAndreas Rheinhardt2024-03-071-7/+10
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to D3D12VADevicePriv as one no longer has to go through AVHWDeviceInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/opt: Don't use AV_OPT_TYPE_FLAGS for sentinelsAndreas Rheinhardt2024-03-071-1/+1
| | | | | | Make AVOptionType start with 1 instead. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/version_major: postpone some deprecations until the next bumpJames Almer2024-03-071-6/+6
| | | | | | They are too recent. Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_FRAME_PICTURE_NUMBERJames Almer2024-03-073-20/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_REORDERED_OPAQUEJames Almer2024-03-073-21/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_PKT_DURATIONJames Almer2024-03-073-24/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_AV_FOPEN_UTF8James Almer2024-03-075-44/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_OLD_CHANNEL_LAYOUTJames Almer2024-03-077-605/+6
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_XVMCJames Almer2024-03-073-11/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_FIFO_OLD_APIJames Almer2024-03-073-399/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_FIFO_PEEK2James Almer2024-03-072-24/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/hwcontext_videotoolbox: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-051-6/+9
| | | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to VTFramesContext as one no longer has to go through AVHWFramesInternal. Tested-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_qsv: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-051-21/+25
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to QSVFramesContext as one no longer has to go through AVHWFramesInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_qsv: Allocate public and priv device hwctx togetherAndreas Rheinhardt2024-03-051-7/+11
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to QSVDeviceContext as one no longer has to go through AVHWDeviceInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_d3d11va: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-051-15/+19
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to D3D11VAFramesContext as one no longer has to go through AVHWFramesInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>