Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH v4 00/16] Add a Vulkan compute based FFv1 hwaccel
@ 2025-03-13 17:03 Lynne
  2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 01/16] pixfmt: add AV_PIX_FMT_GBRAP32 Lynne
                   ` (15 more replies)
  0 siblings, 16 replies; 23+ messages in thread
From: Lynne @ 2025-03-13 17:03 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Lynne

This series of commits adds a fully compliant version 3 and 4 hardware
accelerator code for FFv1 written in Vulkan.

Changes from the previous version:
 - Use the exported host_map code in hwcontext_vulkan.c
 - Add a buffer_ref argument to FFHWAccel.start_frame
 - Various optimizations in the shader code

Lynne (16):
  pixfmt: add AV_PIX_FMT_GBRAP32
  vulkan: rename ff_vk_set_descriptor_image to ff_vk_shader_update_img
  vulkan: add ff_vk_create_imageview
  vulkan: copy host-mapping buffer code from hwcontext
  hwcontext_vulkan: use the common host map function to map frame data
  vulkan: workaround BGR storage image undefined behaviour
  vulkan_decode: support software-defined decoders
  vulkan_decode: support multiple image views
  vulkan_decode: adjust number of async contexts created
  ffv1enc_vulkan: refactor shaders slightly to support sharing
  vulkan: unify handling of BGR and simplify ffv1_rct
  vulkan: add ff_vk_exec_add_dep_wait_sem()
  vulkan: add support for AV_PIX_FMT_GBRAP32
  ffv1dec: add support for hwaccels
  FFHWAccel: add buffer_ref argument to start_frame
  ffv1: add a Vulkan-based decoder

 configure                             |    2 +
 libavcodec/Makefile                   |    3 +-
 libavcodec/av1dec.c                   |    3 +-
 libavcodec/d3d12va_av1.c              |    5 +-
 libavcodec/d3d12va_h264.c             |    5 +-
 libavcodec/d3d12va_hevc.c             |    5 +-
 libavcodec/d3d12va_mpeg2.c            |    5 +-
 libavcodec/d3d12va_vc1.c              |    5 +-
 libavcodec/d3d12va_vp9.c              |    5 +-
 libavcodec/dxva2_av1.c                |    1 +
 libavcodec/dxva2_h264.c               |    1 +
 libavcodec/dxva2_hevc.c               |    1 +
 libavcodec/dxva2_mpeg2.c              |    1 +
 libavcodec/dxva2_vc1.c                |    1 +
 libavcodec/dxva2_vp9.c                |    1 +
 libavcodec/ffv1.h                     |    2 +
 libavcodec/ffv1_vulkan.c              |  123 +++
 libavcodec/ffv1_vulkan.h              |   61 ++
 libavcodec/ffv1dec.c                  |   87 +-
 libavcodec/ffv1enc_vulkan.c           |  236 ++---
 libavcodec/h263dec.c                  |    2 +-
 libavcodec/h264dec.c                  |    8 +-
 libavcodec/hevc/hevcdec.c             |    5 +-
 libavcodec/hwaccel_internal.h         |    4 +-
 libavcodec/hwaccels.h                 |    1 +
 libavcodec/mjpegdec.c                 |    2 +-
 libavcodec/mpeg12dec.c                |    2 +-
 libavcodec/nvdec_av1.c                |    4 +-
 libavcodec/nvdec_h264.c               |    1 +
 libavcodec/nvdec_hevc.c               |    1 +
 libavcodec/nvdec_mjpeg.c              |    4 +-
 libavcodec/nvdec_mpeg12.c             |    3 +-
 libavcodec/nvdec_mpeg4.c              |    3 +-
 libavcodec/nvdec_vc1.c                |    3 +-
 libavcodec/nvdec_vp8.c                |    3 +-
 libavcodec/nvdec_vp9.c                |    3 +-
 libavcodec/proresdec.c                |    2 +-
 libavcodec/vaapi_av1.c                |    1 +
 libavcodec/vaapi_h264.c               |    1 +
 libavcodec/vaapi_hevc.c               |    1 +
 libavcodec/vaapi_mjpeg.c              |    1 +
 libavcodec/vaapi_mpeg2.c              |    5 +-
 libavcodec/vaapi_mpeg4.c              |    5 +-
 libavcodec/vaapi_vc1.c                |    5 +-
 libavcodec/vaapi_vp8.c                |    1 +
 libavcodec/vaapi_vp9.c                |    1 +
 libavcodec/vaapi_vvc.c                |    1 +
 libavcodec/vc1dec.c                   |    6 +-
 libavcodec/vdpau_av1.c                |    3 +-
 libavcodec/vdpau_h264.c               |    1 +
 libavcodec/vdpau_hevc.c               |    1 +
 libavcodec/vdpau_mpeg12.c             |    1 +
 libavcodec/vdpau_mpeg4.c              |    1 +
 libavcodec/vdpau_vc1.c                |    1 +
 libavcodec/vdpau_vp9.c                |    3 +-
 libavcodec/videotoolbox.c             |    8 +-
 libavcodec/videotoolbox_av1.c         |    1 +
 libavcodec/videotoolbox_vp9.c         |    1 +
 libavcodec/vp8.c                      |    2 +-
 libavcodec/vp9.c                      |    2 +-
 libavcodec/vt_internal.h              |    1 +
 libavcodec/vulkan/Makefile            |    6 +
 libavcodec/vulkan/common.comp         |   95 ++
 libavcodec/vulkan/ffv1_common.comp    |   25 +-
 libavcodec/vulkan/ffv1_dec.comp       |  290 ++++++
 libavcodec/vulkan/ffv1_dec_rct.comp   |   88 ++
 libavcodec/vulkan/ffv1_dec_setup.comp |  138 +++
 libavcodec/vulkan/ffv1_enc_rct.comp   |   17 +-
 libavcodec/vulkan/ffv1_enc_setup.comp |   18 +-
 libavcodec/vulkan/ffv1_rct.comp       |   90 ++
 libavcodec/vulkan/ffv1_reset.comp     |    3 +-
 libavcodec/vulkan/ffv1_vlc.comp       |   37 +
 libavcodec/vulkan/rangecoder.comp     |  101 +-
 libavcodec/vulkan_av1.c               |    5 +-
 libavcodec/vulkan_decode.c            |  257 +++--
 libavcodec/vulkan_decode.h            |   23 +-
 libavcodec/vulkan_ffv1.c              | 1296 +++++++++++++++++++++++++
 libavcodec/vulkan_h264.c              |    5 +-
 libavcodec/vulkan_hevc.c              |    5 +-
 libavcodec/vvc/dec.c                  |   12 +-
 libavutil/hwcontext_vulkan.c          |  191 ++--
 libavutil/pixdesc.c                   |   28 +
 libavutil/pixfmt.h                    |    4 +
 libavutil/vulkan.c                    |  351 ++++++-
 libavutil/vulkan.h                    |   42 +-
 85 files changed, 3290 insertions(+), 495 deletions(-)
 create mode 100644 libavcodec/ffv1_vulkan.c
 create mode 100644 libavcodec/ffv1_vulkan.h
 create mode 100644 libavcodec/vulkan/ffv1_dec.comp
 create mode 100644 libavcodec/vulkan/ffv1_dec_rct.comp
 create mode 100644 libavcodec/vulkan/ffv1_dec_setup.comp
 create mode 100644 libavcodec/vulkan/ffv1_rct.comp
 create mode 100644 libavcodec/vulkan_ffv1.c

-- 
2.47.2
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-03-14 18:33 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-13 17:03 [FFmpeg-devel] [PATCH v4 00/16] Add a Vulkan compute based FFv1 hwaccel Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 01/16] pixfmt: add AV_PIX_FMT_GBRAP32 Lynne
2025-03-14 15:13   ` Michael Niedermayer
2025-03-14 15:59     ` Lynne
2025-03-14 18:34       ` Marton Balint
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 02/16] vulkan: rename ff_vk_set_descriptor_image to ff_vk_shader_update_img Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 03/16] vulkan: add ff_vk_create_imageview Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 04/16] vulkan: copy host-mapping buffer code from hwcontext Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 05/16] hwcontext_vulkan: use the common host map function to map frame data Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 06/16] vulkan: workaround BGR storage image undefined behaviour Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 07/16] vulkan_decode: support software-defined decoders Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 08/16] vulkan_decode: support multiple image views Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 09/16] vulkan_decode: adjust number of async contexts created Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 10/16] ffv1enc_vulkan: refactor shaders slightly to support sharing Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 11/16] vulkan: unify handling of BGR and simplify ffv1_rct Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 12/16] vulkan: add ff_vk_exec_add_dep_wait_sem() Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 13/16] vulkan: add support for AV_PIX_FMT_GBRAP32 Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 14/16] ffv1dec: add support for hwaccels Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 15/16] FFHWAccel: add buffer_ref argument to start_frame Lynne
2025-03-13 22:08   ` Andreas Rheinhardt
2025-03-13 23:03     ` Lynne
2025-03-14  2:23       ` Lynne
2025-03-13 17:03 ` [FFmpeg-devel] [PATCH v4 16/16] ffv1: add a Vulkan-based decoder Lynne

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git