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

Added Hardware interface VAAPI and QSV #494

Merged
merged 1 commit into from
Sep 26, 2024
Merged

Conversation

ryanwclark1
Copy link

LibVA - implementation for VAAPI
LibVPL - Intel Video Processing Library
Updated Readme with source library link

FFMPEG wiki on VAAPI
FFMPEG wiki on Quicksync/QSV

Dockerfile Outdated
-Denable_docs=false && \
ninja -j$(nproc) -vC build install

# bump: libvpl /LIBVPL_VERSION=([\d.]+)/ https://github.com/intel/libvpl.git|^0
Copy link
Owner

Choose a reason for hiding this comment

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

Change to ...|^2 and it should work

Dockerfile Outdated
@@ -1027,6 +1028,51 @@ RUN \
sed -i 's/-ljxl_cms/-ljxl_cms -lstdc++ /' /usr/local/lib/pkgconfig/libjxl_cms.pc && \
sed -i 's/-ljxl_threads/-ljxl_threads -lstdc++ /' /usr/local/lib/pkgconfig/libjxl_threads.pc

# requires libdrm
# bump: libva /LIBVA_VERSION=([\d.]+)/ https://github.com/intel/libva.git|^0
Copy link
Owner

Choose a reason for hiding this comment

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

Change to ...|^2 and it should work

Copy link
Owner

Choose a reason for hiding this comment

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

Usually can use * but there seems to lots of random tags

@@ -1027,6 +1028,51 @@ RUN \
sed -i 's/-ljxl_cms/-ljxl_cms -lstdc++ /' /usr/local/lib/pkgconfig/libjxl_cms.pc && \
sed -i 's/-ljxl_threads/-ljxl_threads -lstdc++ /' /usr/local/lib/pkgconfig/libjxl_threads.pc

# requires libdrm
Copy link
Owner

Choose a reason for hiding this comment

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

Don't see any .a files for libdrm but maybe libva only needs the headers?

@wader
Copy link
Owner

wader commented Aug 2, 2024

Thanks! looks good, only have some minor comments. I don't the hardware to test this, but i assume you have tried? :)

Does this usually require volume mount in some /dev device into the container to work? something to add to the README?

@ryanwclark1
Copy link
Author

Thanks! looks good, only have some minor comments. I don't the hardware to test this, but i assume you have tried? :)

Does this usually require volume mount in some /dev device into the container to work? something to add to the README?

@wander,
I tested using the Intel ARC 310 and 380. I did not try with an AMD GPU which can use the VAAPI interface, I do have one and will report back on this. NVIDIA, as I'm sure you know, is separate and distinct.

My tests were done using a separate base image with some additional user space tools/drivers and copying in the ffmpeg binary, I used --device /dev/dri in the docker run command to pass my gpu into the container. I will test using the "Run directly" and the "Shell Alias" methods described in the README. Will report back.

@wader
Copy link
Owner

wader commented Aug 2, 2024

Thanks! looks good, only have some minor comments. I don't the hardware to test this, but i assume you have tried? :)
Does this usually require volume mount in some /dev device into the container to work? something to add to the README?

@wander, I tested using the Intel ARC 310 and 380. I did not try with an AMD GPU which can use the VAAPI interface, I do have one and will report back on this. NVIDIA, as I'm sure you know, is separate and distinct.

👍

There is draft PR #482 about nvidia but it seems to be a mess to get working with musl, and i guess it might involve linking with some random binary from nvidia? not great if so.

My tests were done using a separate base image with some additional user space tools/drivers and copying in the ffmpeg binary, I used --device /dev/dri in the docker run command to pass my gpu into the container. I will test using the "Run directly" and the "Shell Alias" methods described in the README. Will report back.

Great! just some short example how to use it would be good and enough i think.

@wader
Copy link
Owner

wader commented Aug 7, 2024

Hey! did you look anything into adding some kind of how-to-use section to the README?

@wader
Copy link
Owner

wader commented Aug 12, 2024

Force pushed fixed for ^2 and rebase conflict with master. Only thing left is maybe some docs about --device etc

@wader
Copy link
Owner

wader commented Sep 10, 2024

Try to get this merged?

@wader wader force-pushed the inteldrivers branch 3 times, most recently from 02154b0 to 40dfa6a Compare September 26, 2024 08:20
LibVA - implementation for VAAPI
LibVPL - Intel Video Processing Library
@wader wader merged commit 328b897 into wader:master Sep 26, 2024
1 check passed
@wader
Copy link
Owner

wader commented Sep 26, 2024

Thanks! let's merge this to not end up with conflicts all the time. Feel free to add docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants