1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00
FFmpeg/libavutil
Lynne aea4d4b423
hwcontext_vulkan: rewrite upload/download
This commit was long overdue. The old transfer dubiously tried to
merge as much code as possible, and had very little in the way
of optimizations, apart from basic host-mapping.

The new code uses buffer pools for any temporary bufflers, and
handles falling back to buffer-based uploads if host-mapping fails.

Roundtrip performance difference:
ffmpeg -init_hw_device "vulkan=vk:0,debug=0,disable_multiplane=1" -f lavfi \
-i color=red:s=3840x2160 -vf hwupload,hwdownload,format=yuv420p -f null -

7900XTX:
Before: 224fps
After: 502fps

Ada, with proprietary drivers:
Before: 29fps
After: 54fps

Alder Lake:
Before: 85fps
After: 108fps

With the host-mapping codepath disabled:
Before: 32fps
After: 51fps
2024-08-11 05:13:11 +02:00
..
2024-06-13 21:16:16 +03:00
2024-03-15 12:51:15 +01:00
2023-07-12 15:35:37 +02:00
2024-07-21 17:02:12 +02:00
2024-03-10 13:51:37 +01:00
2024-03-04 17:45:00 +01:00
2022-11-06 08:26:50 +01:00
2024-03-31 00:08:43 +01:00
2023-11-18 19:55:42 +01:00
2024-03-15 12:51:15 +01:00
2023-09-07 00:42:10 +02:00
2024-05-04 21:31:33 -03:00
2022-10-17 09:56:47 +02:00
2024-06-01 18:05:58 +03:00
2024-06-01 18:05:58 +03:00
2023-09-07 00:42:10 +02:00
2023-09-07 00:42:10 +02:00
2023-09-07 00:42:10 +02:00
2024-03-31 00:08:43 +01:00
2024-01-16 01:34:57 +01:00
2022-10-17 09:51:47 +02:00
2023-09-07 00:42:10 +02:00
2024-03-31 00:08:43 +01:00
2023-09-01 23:59:10 +02:00
2023-08-08 09:46:11 +02:00
2023-08-08 09:46:11 +02:00