Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ffmpeg] Add vulkan decoding as feature #40711

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

JellyO1
Copy link

@JellyO1 JellyO1 commented Aug 29, 2024

This fixes #39042.

If this PR updates an existing port, please uncomment and fill out this checklist:

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@JellyO1
Copy link
Author

JellyO1 commented Aug 29, 2024

@microsoft-github-policy-service agree

@JellyO1 JellyO1 force-pushed the b39042 branch 4 times, most recently from 28ce3b5 to 9664b83 Compare August 29, 2024 21:34
@JellyO1 JellyO1 marked this pull request as draft August 29, 2024 22:03
@LilyWangLL LilyWangLL added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Aug 30, 2024
@@ -655,6 +655,13 @@
"libvpx"
]
},
"vulkan": {
"description": "H.264, HEVC and AV1 decoding via Vulkan",
"supports": "!osx & !arm",
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if these are the proper flags, according to HWAccelIntro it only supports Linux and Windows but I'm not sure which architecture, (linux | windows) & !arm might be a better fit.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think (linux | windows) & !arm is better.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LilyWangLL Do you know that android, bsd and mingw is unsupported?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I didn't take other contexts into account; I only focused on what the author said only supports Linux and Windows.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dg0yt Android as far as I know is not supported, bsd and mingw I'm unsure.

@@ -520,6 +520,14 @@ else()
set(WITH_VPX OFF)
endif()

if ("vulkan" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-vulkan")
set(WITH_VULKAN ON)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This variable is a hint:
The new feature probably needs dependencies, changes to the wrapper, and maybe CI coverage via vcpkg-ci-ffmpeg.

Copy link
Author

@JellyO1 JellyO1 Sep 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that ffmpeg expects vulkan to be on the system according to the ffmpeg configure:

if enabled vulkan; then
    check_pkg_config_header_only vulkan "vulkan >= 1.3.277" "vulkan/vulkan.h" "defined VK_VERSION_1_3" ||
        check_cpp_condition vulkan "vulkan/vulkan.h" "defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 277)"
fi

Would adding the vulkan port as a dependency be the right path?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ffmpeg] --enable-vulkan
3 participants