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

Hardware Accell in ffmpeg #389

Open
CraziFuzzy opened this issue Mar 7, 2017 · 13 comments
Open

Hardware Accell in ffmpeg #389

CraziFuzzy opened this issue Mar 7, 2017 · 13 comments

Comments

@CraziFuzzy
Copy link

Is there a technical or licensing reason that would prevent enabling the various hardware accelerated codecs in the ffmpeg.jar?

@saudet saudet added the question label Mar 7, 2017
@saudet
Copy link
Member

saudet commented Mar 7, 2017

If we can build them easily and FFmpeg can fall back on software when the hardware is missing, that is fine. Check pull #388, for example, this is one being investigated for ARM at the moment.

@saudet saudet closed this as completed Mar 7, 2017
@CraziFuzzy
Copy link
Author

Hmmm. I'll have to investigate that. I don't believe ffmpeg ever will fallback to using a codec that is not specified. nvenc_h264, h264_qsv, and h264 are all completely separate encoders. It would probably be up to the application to make sure it's requesting the right encoder.

@saudet
Copy link
Member

saudet commented Mar 7, 2017 via email

@CraziFuzzy
Copy link
Author

Yeah, as far as I know, they are pretty independent from the existing software codecs. What I don't know is how difficult it would be to build, I have always used pre-built binaries, on both windows and linux. I don't know if it's as simple as enabling an additional switch, or if other 3rd party libraries need to be included as well. The first source of info I know of on it is here: https://trac.ffmpeg.org/wiki/HWAccelIntro Might make more sense to you than I.

@saudet
Copy link
Member

saudet commented Mar 8, 2017

Ok, let's keep this issue open so others can check this out as well and weigh in. Thanks for the link!

@saudet
Copy link
Member

saudet commented Dec 5, 2017

FYI, support for Intel QSV as been merged with pull #485.

@saudet
Copy link
Member

saudet commented Dec 7, 2017

MMAL and OpenMAX acceleration has also been merged with pull #388 for ARM platforms. Is there any other supported APIs worth adding?

@n-kai-cj
Copy link
Contributor

I committed Nvidia NVENC as well.
As far as I know, there is no other hardware codecs in ffmpeg.
I think this issue can be closed.

@saudet
Copy link
Member

saudet commented Dec 14, 2017

There are a couple of others like OpenCL, but I remember having issues with that one previously...

@n-kai-cj
Copy link
Contributor

As for OpenCL, it's currently only used for filtering, encoding/decoding is not supported for now.
https://trac.ffmpeg.org/wiki/HWAccelIntro

And official ffmpeg seems not to be built with --enable-opencl for windows platform.
Apparently I can't help this.

@mifritscher
Copy link
Contributor

mifritscher commented Jan 19, 2018

On Windows 7 64 bit, JavaCV 1.4, on Skylake (with switchable graphics, I've a AMD GPU as well), I get following:
40 [h264_qsv @ 00000000219bbde0] Initialized an internal MFX session using hardware accelerated implementation Could not open codec: Internal bug, should not have happened

Any ideas how to debug this? This happens both trying mpeg2_qsv and h264_qsv.

Edit: Same on a computer with only Intel graphics.

@saudet
Copy link
Member

saudet commented Jan 19, 2022

@mifritscher Please ask upstream about bugs in libmfx: https://github.com/lu-zero/mfx_dispatch/issues

@bradh
Copy link
Contributor

bradh commented Jan 19, 2022

Also, maybe try again with the new cmake-based build on git master if you can.

@bradh bradh removed their assignment Jan 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants