-
Notifications
You must be signed in to change notification settings - Fork 346
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
VAAPI decoding failures on AMD platforms [32.0+fixes & 33.0+fixes] #810
Comments
data from "scanstreams"
|
full -v playback of failure.
|
Updated to 5.6 AMDGPU - identical behavior:
|
Tested under AMDGPU 5.7 as well (which added support for Ubuntu 22.04.3) - no change in behavior. worked first playback, first boot - doesn't work after reboot(s). |
Tested with intel CPU (moved SSD over to another machine) and AMD GPU - same problem occurs, so appears to be independent of the CPU. It appears VAAPI decoding on AMD cards is broken/inconsistent in MythTV 0.32 / Ubuntu 22 - as installed from repo. Suggestions for what to test next to more clearly identify the problem? |
Upgraded to MythTV 0.33 to see if it affects the problem. Same behavior - works on first boot, fails on reboots.
|
So creating new playback profiles, I don't see the option to use "FFMPEG" as a decode option (either internal or external) -- but I do see that mythffmpeg includes VAAPI decoding.
So if you choose the "VAAPI" decoder, is it calling mythffmpeg (or libs)? If it helps, VAAPI-DECODE-ONLY works 100% of the time... so it's something related to display. |
Searching the forums may help you to diagnose further |
"VAAPI decode only" uses the graphics card to decode into main memory then feeds the video from memory back to the graphics card. "VAAPI" decodes in the graphics card then sends the video direct to the TV. FFMPEG software decoding is labeled "Standard" in the recording profile settings. VAAPI works well with Intel integrated GPUs. I don't think it ever worked well with AMD graphics. If you want to use graphic card decoder support the best bet is NVidia. Have you tried using VDPAU? That may give better results. That is primarily for NVidia devices, but I believe it has some support for non-NVidia. |
Both VAAPI and VDPAU work (in decode only mode) with my 6750 XT. VAAPI is probably the better choice as I think the VDPAU interface doesn't include all of the latest codec because Nvidia only put them in NVDEC. |
Tried it, it's REALLY hard on the memory/cpu/etc bus - can't keep up with 4k content, or even 1080p content on slower machines.
Thank you
I've been firmly in the NVIDIA camp for years, simply because it works{tm}. I have (4) frontends, and 3 of them are 1030GT , which do a fantastic job of most content.
All attempts using VDPAU on the AMD setups gives black screen. Audio goes, telling me it's playing, but zero video output. Given how much horsepower is in iGPU's now (Intel, AMD "G" series, etc) for very low wattage (35W-65W) - CPU's with integrated GPU's would make perfect small-form-factor (ITX Mini-ITX) Frontends. If donating hardware to a dev would get this priority, message me.. I have hardware for the cause. Newegg Searches |
... as a followup - I started testing on a couple of intel-based NUC's, and VAAPI works flawlessly there.. You have to be careful about which generation you get (NUC6/7/etc won't do most HEVC/etc, stick with NUC10 or newer) but on later generations, they are just about the perfect front end. Low power, high performance, I'm slowly replacing all my NVIDIA setups with NUC10's. |
On Wed, Jun 12, 2024 at 7:45 PM dlasher ***@***.***> wrote:
.... You have to be careful about which generation you get (NUC6/7/etc won't do HVEC/etc, stick with NUC10 or newer)
Not personally tested the results, but
according to Intel:
https://www.intel.com/content/www/us/en/developer/articles/technical/encode-and-decode-capabilities-for-7th-generation-intel-core-processors-and-newer.html
the iGPUs in Intel core gen 7 or greater
have hardware support for HEVC (except
for 12-bit HEVC, where you need a gen 11
or greater processor's iGPU).
Whether your software stack supports
that capability will, no doubt, vary.
|
Sorry, wrote too quickly without looking it up. Let me give a better answer: NUC6: Intel® Iris® Pro Graphics 580 While on paper the HD620 supports some amount of HEVC, in my experience with my own content, it was useless for about 95% of things I tried to play.. As soon as you vary outside of plain vanilla HEVC (like HDR or 4:2:2 or 10-bit, etc) it couldn't play it and you dropped back to CPU. On the other hand, looking at that table, by the time you get into the 10th Gen iGPU's, you get everything except 12-bit or AV1 (have to go to 11th gen for that), which is enough for most people. I'm running a couple of NUC10's, and plan to buy more till my NVIDIA frontends are all retired. |
What steps will reproduce the bug?
Install OS, install mythfrontend, install AMDGPU drivers from official repo.
may work (decode via VAAPI) correctly. Reboot. Doesn't work (decode using VAAPI) any more. Change playback back/forth, doesn't work. reboot again, might work this time.
How often does it reproduce? Is there a required condition?
Just reboot. 50/50 chance.
What is the expected behaviour?
Successful playback decoding via VAAPI
Additional information
to be clear, video playback always works. It just fails VAAPI decoding and drops back to FFMPEG/CPU(
found threads indicating possible MESA issue. Added "add-apt-repository ppa:kisak/kisak-mesa" - problem stays the same, does not improve. (including #346)
same behavior with built in A10 GPU as with discrete card. tried both ways.
same behavior with older (5.4) and newer (5.6) versions of AMD drivers.
logs seem to indicate init failure, fail back to FFMPEG
The text was updated successfully, but these errors were encountered: