Diego de Souza
df94900c98
avfilter/cuda: support P012/P212 and MSB 4:4:4 in scale/transpose/thumbnail
...
NVDEC and CUVID now output AV_PIX_FMT_P012 (12-bit 4:2:0), AV_PIX_FMT_P212
(12-bit 4:2:2) and AV_PIX_FMT_YUV444P10MSB / AV_PIX_FMT_YUV444P12MSB
(10/12-bit 4:4:4) for high-bit-depth content, but these CUDA filters
rejected the formats in their supported-format lists, breaking pipelines
such as "-hwaccel cuda ... -vf scale_cuda" on 12-bit input.
These formats use 16-bit sample storage, and the filters select their CUDA
kernel by byte-storage size and plane layout, not by the number of valid
bits, so they can reuse the existing 16-bit kernels:
- scale_cuda: P012/P212 -> "semiplanar16", YUV444P10MSB/YUV444P12MSB ->
"planar16".
- transpose_cuda: the ushort/ushort2 kernels are chosen from the pixel
descriptor (byte size + channel count); just allow the new formats.
- thumbnail_cuda: P012 reuses the P010/P016 path and the MSB 4:4:4 formats
reuse the YUV444P16 path; P012 is added to the 4:2:0 chroma-histogram
scaling as well. (thumbnail has no 4:2:2 path, so P212 is not added.)
The CUDA deinterlacers (bwdif_cuda, yadif_cuda) already accept any format
with <= 2 bytes per sample and <= 2 channels, so they need no change. The
8-bit-only filters (overlay_cuda, pad_cuda, bilateral_cuda, chromakey_cuda,
colorspace_cuda) do not support high bit depths and are left untouched.
Signed-off-by: Diego de Souza <ddesouza@nvidia.com >
2026-06-24 12:18:15 +00:00
..
2026-01-09 16:10:10 +00:00
2026-04-04 11:31:16 +00:00
2026-06-22 20:06:40 +08:00
2025-12-16 17:30:29 +02:00
2026-02-03 21:07:29 +00:00
2026-05-22 14:06:03 +09:00
2026-06-23 19:15:57 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-05-30 21:37:33 -03:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-17 00:03:14 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-05-25 22:21:41 +00:00
2026-01-24 08:11:19 +00:00
2026-02-26 11:40:16 +08:00
2026-03-13 21:31:54 +01:00
2026-03-21 00:44:30 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-04-08 11:52:44 -03:00
2026-06-23 17:15:02 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-04-10 15:12:18 +02:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-04-28 12:29:37 +00:00
2026-06-22 11:43:51 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-03-10 13:52:19 +01:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-04-10 15:12:18 +02:00
2026-05-13 20:11:19 +08:00
2026-06-23 17:15:02 +02:00
2025-12-09 21:31:58 +00:00
2026-05-16 17:22:45 +00:00
2026-06-23 22:38:55 +00:00
2026-04-12 20:02:18 +00:00
2026-03-29 09:38:01 +00:00
2025-11-30 22:20:13 +01:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-03-06 03:21:37 +01:00
2026-06-22 20:06:40 +08:00
2026-06-22 20:06:40 +08:00
2026-01-24 08:11:19 +00:00
2026-06-03 01:45:08 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2025-12-14 12:41:00 +05:30
2026-06-08 02:20:53 +00:00
2026-06-13 21:41:05 +00:00
2026-04-28 12:29:37 +00:00
2026-01-19 09:33:49 +00:00
2026-04-10 22:02:00 +02:00
2026-04-10 15:12:18 +02:00
2026-02-10 19:44:46 +01:00
2026-02-10 19:44:46 +01:00
2026-06-23 19:22:21 +00:00
2026-02-14 12:21:10 +00:00
2026-02-14 12:21:10 +00:00
2025-11-30 22:20:13 +01:00
2026-04-28 06:14:38 +00:00
2026-06-23 19:22:21 +00:00
2025-11-30 22:20:13 +01:00
2026-05-15 18:19:40 -07:00
2026-01-24 08:11:19 +00:00
2026-01-05 20:41:59 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-23 19:15:57 +02:00
2026-06-23 19:15:57 +02:00
2026-01-24 08:11:19 +00:00
2026-04-28 14:57:34 +00:00
2026-03-13 12:52:57 -03:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-12-03 11:52:54 +01:00
2026-04-21 08:28:45 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-05-22 14:06:03 +09:00
2026-06-13 21:41:05 +00:00
2025-12-16 17:30:23 +02:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-04-22 12:45:45 +02:00
2026-06-13 21:41:05 +00:00
2026-03-10 13:52:19 +01:00
2026-06-13 21:41:05 +00:00
2026-04-21 08:28:45 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-04-21 08:28:50 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-05-03 13:23:21 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-04-28 12:29:37 +00:00
2026-04-28 12:29:37 +00:00
2026-06-13 21:41:05 +00:00
2025-12-03 11:52:54 +01:00
2026-06-15 03:15:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-02-10 19:44:46 +01:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-03-06 01:45:09 -05:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-22 20:06:40 +08:00
2026-06-02 00:52:03 +00:00
2026-04-28 12:29:37 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2025-12-03 21:23:51 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-02-10 19:44:46 +01:00
2026-04-21 08:28:50 +02:00
2026-02-26 11:40:16 +08:00
2025-11-30 22:20:13 +01:00
2026-04-21 16:47:05 +00:00
2026-04-30 08:33:31 -05:00
2025-11-17 12:18:12 +01:00
2025-11-17 12:18:12 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2026-04-21 08:28:50 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-01-24 08:11:19 +00:00
2026-03-09 19:07:34 +01:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-04-21 08:28:49 +02:00
2026-05-03 13:25:48 +00:00
2026-06-13 21:41:05 +00:00
2026-03-27 21:00:53 -03:00
2026-06-13 21:41:05 +00:00
2026-01-02 23:46:42 +08:00
2026-06-22 16:18:59 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-27 17:05:27 +00:00
2026-02-26 11:40:16 +08:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-04-26 16:05:11 +08:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-12-08 21:31:13 +00:00
2026-06-13 21:41:05 +00:00
2026-01-09 16:10:10 +00:00
2026-05-22 14:06:01 +09:00
2026-06-13 21:41:05 +00:00
2026-01-09 16:10:10 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-04-22 12:45:45 +02:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-05-15 20:29:29 +02:00
2026-05-15 20:29:29 +02:00
2026-06-13 21:41:05 +00:00
2025-12-03 11:52:54 +01:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-02-10 19:44:46 +01:00
2026-06-24 12:18:15 +00:00
2026-06-23 19:22:21 +00:00
2026-06-23 19:22:21 +00:00
2026-06-10 15:08:12 +00:00
2026-04-28 06:14:38 +00:00
2026-04-28 06:14:38 +00:00
2026-04-28 06:14:38 +00:00
2026-04-28 06:14:38 +00:00
2026-04-28 06:14:38 +00:00
2026-05-31 21:20:54 +00:00
2026-04-22 12:45:40 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2025-12-03 11:52:54 +01:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-03-11 10:23:35 +01:00
2026-04-13 19:49:32 +08:00
2026-06-13 21:41:05 +00:00
2026-01-03 21:31:30 -03:00
2026-06-13 21:41:05 +00:00
2026-06-23 03:57:25 +00:00
2026-06-13 21:41:05 +00:00
2025-11-30 22:20:13 +01:00
2026-06-13 21:41:05 +00:00
2026-06-24 12:18:15 +00:00
2026-06-13 21:41:05 +00:00
2026-03-27 19:42:08 -03:00
2026-02-10 19:44:43 +01:00
2026-02-26 11:40:16 +08:00
2026-06-13 21:41:05 +00:00
2026-06-24 12:18:15 +00:00
2026-04-20 21:08:21 +02:00
2026-04-21 08:28:50 +02:00
2026-06-13 21:41:05 +00:00
2025-12-03 11:52:54 +01:00
2026-06-13 21:41:05 +00:00
2026-04-21 08:28:45 +02:00
2026-06-14 21:01:41 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-04-01 21:56:37 +08:00
2026-06-13 21:41:05 +00:00
2026-03-31 11:17:51 +00:00
2026-01-24 08:11:19 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-04-21 09:39:54 +02:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-06-13 21:41:05 +00:00
2026-01-24 08:11:19 +00:00
2026-04-10 15:12:18 +02:00
2026-01-29 22:33:33 +01:00
2026-01-24 08:11:19 +00:00
2026-02-26 11:40:16 +08:00
2026-04-21 08:28:50 +02:00
2026-04-28 12:29:37 +00:00
2026-04-21 08:28:45 +02:00
2026-04-21 08:28:45 +02:00