From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id EED6E4CB1A
	for <ffmpegdev@gitmailbox.com>; Thu, 13 Mar 2025 17:04:07 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1EBD468E557;
	Thu, 13 Mar 2025 19:04:04 +0200 (EET)
Received: from vidala.pars.ee (vidala.pars.ee [116.203.72.101])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A1C5B68E54C
 for <ffmpeg-devel@ffmpeg.org>; Thu, 13 Mar 2025 19:03:57 +0200 (EET)
DKIM-Signature: v=1; a=rsa-sha256; s=202405r; d=lynne.ee; c=relaxed/relaxed;
 h=Message-ID:Date:Subject:To:From; t=1741885436; bh=mfmrBzHKot/uUxsoara8EQx
 mvkw4ukt31pxYpwF/RJw=; b=YQ1hmGsPuboLm4g5gE/R3yEH3nK/d2ov+zaTRwo+XTHxCXDs96
 shJ+wyAsa78nHifwPwiSmKVUiOLi46yoPoVM20J2zCGte8njS25Lv/DENvy0YF6Z85F6ngERzYS
 xP12ISH4R2cscWyPepGzeOp3UHRWA6sZ1Ucgs3wkXy44OT9F/roiKeYVmg0AQ9jxZ4Z22qEXXyo
 boOs4YmUxaxgRNeAj2nbkGhqNNux0Pyk3hZDeWBVGs1nQVyP364rDN9U5tnNzBDyHPDxQyfa2z2
 ufhqenDYmLx9BO2mNndTMBjfZjFSxulxFVyRbKS5tLjyYAsmPyBZdFnOCfExmYMHldg==;
DKIM-Signature: v=1; a=ed25519-sha256; s=202405e; d=lynne.ee; c=relaxed/relaxed;
 h=Message-ID:Date:Subject:To:From; t=1741885436; bh=mfmrBzHKot/uUxsoara8EQx
 mvkw4ukt31pxYpwF/RJw=; b=K0UeVwQd9qgv9D1LOnHrus/FMky6LtGVDZ4krPYIQnzzW9ilcT
 yitgUXxQ1gSF2zd94XHdmv7TRoGBN9Qtu0BA==;
From: Lynne <dev@lynne.ee>
To: ffmpeg-devel@ffmpeg.org
Date: Thu, 13 Mar 2025 18:03:32 +0100
Message-ID: <20250313170355.92290-1-dev@lynne.ee>
X-Mailer: git-send-email 2.47.2
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH v4 00/16] Add a Vulkan compute based FFv1
 hwaccel
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Lynne <dev@lynne.ee>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250313170355.92290-1-dev@lynne.ee/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

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".