build: add amd hip sdk support for Windows #21595

Closed
Steven Xiao wants to merge 1 commit from younengxiao/FFmpeg:build/add-amd-hip-sdk-support-for-windows into master
Member

Add support for AMD's HIP (Heterogeneous-compute Interface for Portability)
SDK on Windows, enabling GPU-accelerated video processing on AMD GPUs.

This commit introduces the build infrastructure for HIP, similar to the
existing CUDA support. HIP allows writing portable GPU code that can run
on AMD GPUs with RDNA2 architecture or newer.

Build Instructions (MSYS2 MinGW):

  1. Install MSYS2 from https://www.msys2.org/

  2. Install AMD HIP SDK from:
    https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html

    Default installation path: C:\Program Files\AMD\ROCm<version>
    Ensure hipcc is available: C:\Program Files\AMD\ROCm<version>\bin\hipcc.bat

  3. Add HIP SDK to PATH (in MSYS2 terminal):
    export PATH="/c/Program Files/AMD/ROCm/6.4/bin:$PATH"

    (Adjust version number as needed)

  4. Configure and Build:

    ./configure --enable-hip --enable-nonfree
    make -j

Note: The default target architecture is gfx900. To target a specific
GPU architecture, use --hipccflags="--offload-arch=" where
is your GPU's architecture code (e.g., gfx1030 for RDNA2, gfx1100 for RDNA3).

External Dependencies:
Header files:
- hip/hip_runtime.h (from HIP SDK, or compat/hip/hip_runtime.h)
Tools:
- hipcc (HIP compiler, from AMD HIP SDK)
Runtime:
- AMD GPU driver with ROCm/HIP support
- amdhip64.dll (HIP runtime library)

Notes:

  • HIP enables GPU-accelerated code that can run on AMD GPUs.

  • The --enable-hip option enables the hipcc compiler for building
    GPU kernels (.hip files) into GPU code objects (.hsaco files).

  • HIP support provides infrastructure for GPU-accelerated filters.
    Actual GPU filters must implement HIP kernels similar to existing
    CUDA filters (scale_cuda, yadif_cuda, etc.).

Add support for AMD's HIP (Heterogeneous-compute Interface for Portability) SDK on Windows, enabling GPU-accelerated video processing on AMD GPUs. This commit introduces the build infrastructure for HIP, similar to the existing CUDA support. HIP allows writing portable GPU code that can run on AMD GPUs with RDNA2 architecture or newer. Build Instructions (MSYS2 MinGW): 1. Install MSYS2 from https://www.msys2.org/ 2. Install AMD HIP SDK from: https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html Default installation path: C:\Program Files\AMD\ROCm\<version>\ Ensure hipcc is available: C:\Program Files\AMD\ROCm\<version>\bin\hipcc.bat 3. Add HIP SDK to PATH (in MSYS2 terminal): export PATH="/c/Program Files/AMD/ROCm/6.4/bin:$PATH" (Adjust version number as needed) 4. Configure and Build: ./configure --enable-hip --enable-nonfree make -j Note: The default target architecture is gfx900. To target a specific GPU architecture, use --hipccflags="--offload-arch=<arch>" where <arch> is your GPU's architecture code (e.g., gfx1030 for RDNA2, gfx1100 for RDNA3). External Dependencies: Header files: - hip/hip_runtime.h (from HIP SDK, or compat/hip/hip_runtime.h) Tools: - hipcc (HIP compiler, from AMD HIP SDK) Runtime: - AMD GPU driver with ROCm/HIP support - amdhip64.dll (HIP runtime library) Notes: - HIP enables GPU-accelerated code that can run on AMD GPUs. - The --enable-hip option enables the hipcc compiler for building GPU kernels (.hip files) into GPU code objects (.hsaco files). - HIP support provides infrastructure for GPU-accelerated filters. Actual GPU filters must implement HIP kernels similar to existing CUDA filters (scale_cuda, yadif_cuda, etc.).
Steven Xiao force-pushed build/add-amd-hip-sdk-support-for-windows from 35ffe9f2a5
Some checks failed
Autolabel / Labeler (pull_request_target) Has been skipped
Lint / Pre-Commit (pull_request) Failing after 29s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Has been cancelled
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Has been cancelled
Test / Fate (Full, wine) (pull_request) Has been cancelled
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Has been cancelled
to 8cc0583eb9
Some checks failed
Lint / Pre-Commit (pull_request) Failing after 27s
Autolabel / Labeler (pull_request_target) Has been skipped
Test / Fate (Full, wine) (pull_request) Has been cancelled
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Has been cancelled
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Has been cancelled
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Has been cancelled
2026-01-26 18:56:47 +00:00
Compare
Owner

Shader Compression unified both cuda and vulkan ones already.
So you don't need to re-add yet another one for this.

Also, this is at least missing the vpath handling in the makefiles, so it most likely breaks out-of-tree builds.

Shader Compression unified both cuda and vulkan ones already. So you don't need to re-add yet another one for this. Also, this is at least missing the vpath handling in the makefiles, so it most likely breaks out-of-tree builds.
Steven Xiao force-pushed build/add-amd-hip-sdk-support-for-windows from 8cc0583eb9
Some checks failed
Lint / Pre-Commit (pull_request) Failing after 27s
Autolabel / Labeler (pull_request_target) Has been skipped
Test / Fate (Full, wine) (pull_request) Has been cancelled
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Has been cancelled
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Has been cancelled
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Has been cancelled
to 295b6c2cc9
All checks were successful
Autolabel / Labeler (pull_request_target) Successful in 10s
Lint / Pre-Commit (pull_request) Successful in 24s
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Successful in 12m9s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Successful in 11m49s
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Successful in 14m20s
Test / Fate (Full, wine) (pull_request) Successful in 41m7s
2026-01-26 19:08:32 +00:00
Compare
Steven Xiao force-pushed build/add-amd-hip-sdk-support-for-windows from a706bb5312
Some checks failed
Autolabel / Labeler (pull_request_target) Successful in 10s
Lint / Pre-Commit (pull_request) Successful in 27s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Has been cancelled
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Has been cancelled
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Has been cancelled
Test / Fate (Full, wine) (pull_request) Has been cancelled
to 253079cf93
Some checks failed
Autolabel / Labeler (pull_request_target) Successful in 8s
Lint / Pre-Commit (pull_request) Successful in 24s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Successful in 11m47s
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Has been cancelled
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Has been cancelled
Test / Fate (Full, wine) (pull_request) Has been cancelled
2026-01-26 20:04:22 +00:00
Compare
Steven Xiao force-pushed build/add-amd-hip-sdk-support-for-windows from 253079cf93
Some checks failed
Autolabel / Labeler (pull_request_target) Successful in 8s
Lint / Pre-Commit (pull_request) Successful in 24s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Successful in 11m47s
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Has been cancelled
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Has been cancelled
Test / Fate (Full, wine) (pull_request) Has been cancelled
to 816ff702fa
All checks were successful
Lint / Pre-Commit (pull_request) Successful in 24s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Successful in 11m55s
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Successful in 12m4s
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Successful in 14m53s
Test / Fate (Full, wine) (pull_request) Successful in 41m25s
Autolabel / Labeler (pull_request_target) Has been skipped
2026-01-26 20:17:19 +00:00
Compare
Author
Member

@BtbN wrote in #21595 (comment):

Shader Compression unified both cuda and vulkan ones already. So you don't need to re-add yet another one for this.

Also, this is at least missing the vpath handling in the makefiles, so it most likely breaks out-of-tree builds.

@BtbN Changed from CONFIG_HSACO_COMPRESSION to CONFIG_SHADER_COMPRESSION in ffbuild/common.mak to align with cuda and vulkan.

Also, add vpath handling for out-of-tree builds in Makefile.

@BtbN wrote in https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomment-23724: > Shader Compression unified both cuda and vulkan ones already. So you don't need to re-add yet another one for this. > > Also, this is at least missing the vpath handling in the makefiles, so it most likely breaks out-of-tree builds. @BtbN Changed from CONFIG_HSACO_COMPRESSION to CONFIG_SHADER_COMPRESSION in ffbuild/common.mak to align with cuda and vulkan. Also, add vpath handling for out-of-tree builds in Makefile.
@ -0,0 +1,91 @@
Building FFmpeg with AMD HIP SDK Support (Windows)
Member

This entire file is redundant with the addition in general_contents.texi. Should be removed.

This entire file is redundant with the addition in general_contents.texi. Should be removed.
Author
Member

The file "general_contents.texi" was removed.

The file "general_contents.texi" was removed.
Member

For posterity's sake, actually the file doc/build_with_hip_sdk.txt was removed, not doc/general_contents.texi

For posterity's sake, actually the file `doc/build_with_hip_sdk.txt` was removed, not `doc/general_contents.texi`
Author
Member

Yes, the file "doc/build_with_hip_sdk.txt" was removed, which is the actual we decided to remove. :)

Yes, the file "doc/build_with_hip_sdk.txt" was removed, which is the actual we decided to remove. :)
GyanD marked this conversation as resolved
Member

Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary.

AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup.

Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary. AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup.
configure Outdated
@ -7069,0 +7124,4 @@
hipccflags="$hipccflags -std=c++17"
if enabled x86_64 || enabled ppc64 || enabled aarch64; then
Member

Has it actually been verified on a PPC64 machine?

Has it actually been verified on a PPC64 machine?
Author
Member

Verified on "x86_64" architecture, but not PPC64. Removed the other options.

Verified on "x86_64" architecture, but not PPC64. Removed the other options.
Author
Member

@quink wrote in #21595 (comment):

Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary.

AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup.

@quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices.

Maybe for some people, this is not necessary, and take it as a common knowledge.

If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part.

@quink wrote in https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomment-23753: > Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary. > > AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup. @quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices. Maybe for some people, this is not necessary, and take it as a common knowledge. If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part.
Member

@younengxiao wrote in #21595 (comment):

@quink wrote in #21595 (comment):

Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary.
AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup.

@quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices.

Maybe for some people, this is not necessary, and take it as a common knowledge.

If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part.

I am sorry for the misunderstanding. I never realized there were developers who couldn't distinguish between a wiki page and a git commit message.

@younengxiao wrote in https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomment-23785: > @quink wrote in #21595 (comment): > > > Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary. > > AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup. > > @quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices. > > Maybe for some people, this is not necessary, and take it as a common knowledge. > > If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part. I am sorry for the misunderstanding. I never realized there were developers who couldn't distinguish between a wiki page and a git commit message.
Author
Member

@quink wrote in #21595 (comment):

@younengxiao wrote in #21595 (comment):

@quink wrote in #21595 (comment):

Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary.
AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup.

@quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices.
Maybe for some people, this is not necessary, and take it as a common knowledge.
If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part.

I am sorry for the misunderstanding. I never realized there were developers who couldn't distinguish between a wiki page and a git commit message.

For some modules, if the build steps are complicated, it is a good idea to put the build steps into the commit message. This will help people who want to build ffmpeg on their own. Please take reference this pull request f4e0664fd1. I have suffered to take long time to find way to build some specific ffmpeg modules. This is the reason I also the reason I put the build steps in the commit message, and I also post page https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support.

@quink wrote in https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomment-23787: > @younengxiao wrote in #21595 (comment): > > > @quink wrote in #21595 (comment): > > > Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary. > > > AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup. > > > > > > @quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices. > > Maybe for some people, this is not necessary, and take it as a common knowledge. > > If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part. > > I am sorry for the misunderstanding. I never realized there were developers who couldn't distinguish between a wiki page and a git commit message. For some modules, if the build steps are complicated, it is a good idea to put the build steps into the commit message. This will help people who want to build ffmpeg on their own. Please take reference this pull request https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/f4e0664fd1bc94ee1a1afbd20c5a32ac33d93a2d. I have suffered to take long time to find way to build some specific ffmpeg modules. This is the reason I also the reason I put the build steps in the commit message, and I also post page https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support.
Steven Xiao force-pushed build/add-amd-hip-sdk-support-for-windows from 816ff702fa
All checks were successful
Lint / Pre-Commit (pull_request) Successful in 24s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Successful in 11m55s
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Successful in 12m4s
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Successful in 14m53s
Test / Fate (Full, wine) (pull_request) Successful in 41m25s
Autolabel / Labeler (pull_request_target) Has been skipped
to 7d950339ea
All checks were successful
Lint / Pre-Commit (pull_request) Successful in 23s
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Successful in 11m45s
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Successful in 15m15s
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Successful in 15m35s
Test / Fate (Full, wine) (pull_request) Successful in 24m56s
Autolabel / Labeler (pull_request_target) Has been skipped
2026-01-27 18:36:55 +00:00
Compare
Author
Member

@quink wrote in #21595 (comment):

Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary.

AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup.

As suggested, removed the commit message part which uses pacman to install dependent packages.

@quink wrote in https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomment-23753: > Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary. > > AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup. As suggested, removed the commit message part which uses pacman to install dependent packages.
Member

@younengxiao wrote in #21595 (comment):

@quink wrote in #21595 (comment):

@younengxiao wrote in #21595 (comment):

@quink wrote in #21595 (comment):

Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary.
AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup.

@quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices.
Maybe for some people, this is not necessary, and take it as a common knowledge.
If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part.

I am sorry for the misunderstanding. I never realized there were developers who couldn't distinguish between a wiki page and a git commit message.

For some modules, if the build steps are complicated, it is a good idea to put the build steps into the commit message. This will help people who want to build ffmpeg on their own. Please take reference this pull request f4e0664fd1. I have suffered to take long time to find way to build some specific ffmpeg modules. This is the reason I also the reason I put the build steps in the commit message, and I also post page https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support.

In fact, I believe you've just provided a bad case. The commit message should be clear and concise, explaining the purpose of this commit and what specific actions were taken.

No one would look up how to compile and set up the environment via Git commit messages.

@younengxiao wrote in https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomment-23794: > @quink wrote in #21595 (comment): > > > @younengxiao wrote in #21595 (comment): > > > @quink wrote in #21595 (comment): > > > > Please ensure a thorough manual review of all AI-generated code before submission. Document on how to use pacman to install gcc and make in commit message is far from necessary, and add an option const named 8 with value 8 is unnecessary. > > > > AI-generated code tends to be verbose; it requires the developer's own judgment and cleanup. > > > > > > > > > @quink Please take a reference of this document https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support#3-build-ffmpeg-with-amf-for-windows. This document was created by me 4 years ago. I did the work step by step, then summarize this document. From my practice, those steps such as using pacman to install dependent packages are necessary. This is not related AI or human. This is really my experience and my practices. > > > Maybe for some people, this is not necessary, and take it as a common knowledge. > > > If reviewer think "using pacman to install dependent packages" is not necessary, of course I'd like to delete this part. > > > > > > I am sorry for the misunderstanding. I never realized there were developers who couldn't distinguish between a wiki page and a git commit message. > > For some modules, if the build steps are complicated, it is a good idea to put the build steps into the commit message. This will help people who want to build ffmpeg on their own. Please take reference this pull request [`f4e0664fd1`](https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/f4e0664fd1bc94ee1a1afbd20c5a32ac33d93a2d). I have suffered to take long time to find way to build some specific ffmpeg modules. This is the reason I also the reason I put the build steps in the commit message, and I also post page https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/Build%20FFmpeg%20with%20AMF%20Support. In fact, I believe you've just provided a bad case. The commit message should be clear and concise, explaining the purpose of this commit and what specific actions were taken. No one would look up how to compile and set up the environment via Git commit messages.
Member

The commit message is not a place for end-user guidance. It should just describe the changes made and why.

The commit message is not a place for end-user guidance. It should just describe the changes made and why.
Lynne left a comment

I don't agree we should add support for this.

Unlike CUDA, which has plenty of users, as well as a whole ecosystem with decoders, encoders and filters, HIP would only be usable for filters. Our OpenCL code is already bitrotting after no one's touched it for years.

Furthermore, Vulkan covers all the hardware that HIP supports, is more open, and more available.

I don't agree we should add support for this. Unlike CUDA, which has plenty of users, as well as a whole ecosystem with decoders, encoders and filters, HIP would only be usable for filters. Our OpenCL code is already bitrotting after no one's touched it for years. Furthermore, Vulkan covers all the hardware that HIP supports, is more open, and more available.
Lynne closed this pull request 2026-01-28 13:15:54 +00:00
Author
Member

@GyanD @quink @mypopydev Thanks for the discussion about commit message. and we reach agreement what commit message should be. That makes sense 👍.

@GyanD @quink @mypopydev Thanks for the discussion about commit message. and we reach agreement what commit message should be. That makes sense 👍.
Author
Member

@Lynne wrote in #21595 (comment):

I don't agree we should add support for this.

Unlike CUDA, which has plenty of users, as well as a whole ecosystem with decoders, encoders and filters, HIP would only be usable for filters. Our OpenCL code is already bitrotting after no one's touched it for years.

Furthermore, Vulkan covers all the hardware that HIP supports, is more open, and more available.

I understand your concern about the scope and ecosystem of HIP at current time, and I respect your final decision.

@Lynne wrote in https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21595#issuecomment-23849: > I don't agree we should add support for this. > > Unlike CUDA, which has plenty of users, as well as a whole ecosystem with decoders, encoders and filters, HIP would only be usable for filters. Our OpenCL code is already bitrotting after no one's touched it for years. > > Furthermore, Vulkan covers all the hardware that HIP supports, is more open, and more available. I understand your concern about the scope and ecosystem of HIP at current time, and I respect your final decision.
All checks were successful
Lint / Pre-Commit (pull_request) Successful in 23s
Required
Details
Test / Fate (linux-aarch64, static, 64 bit) (pull_request) Successful in 11m45s
Required
Details
Test / Fate (linux-amd64, shared, 64 bit) (pull_request) Successful in 15m15s
Required
Details
Test / Fate (linux-amd64, static, 32 bit) (pull_request) Successful in 15m35s
Required
Details
Test / Fate (Full, wine) (pull_request) Successful in 24m56s
Required
Details
Autolabel / Labeler (pull_request_target) Has been skipped

Pull request closed

Sign in to join this conversation.
No milestone
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
FFmpeg/FFmpeg!21595
No description provided.