cemu-project / Cemu

Cemu - Wii U emulator
https://cemu.info
Mozilla Public License 2.0
7.34k stars 603 forks source link

H264 videos get stuck if the CPU isn't fast enough #217

Open Adamillo opened 2 years ago

Adamillo commented 2 years ago

Since the inclusion of the new h264 software video decoder this issue has made games like Rayman Legends not playable as it's impossible to skip those video cutscenes. The previous implementation of the h264 decoder doesn't have this issue

Exzap commented 2 years ago

Originally we wanted to replace DXVA with Vulkan's video decoding API. But unfortunately H264 decoding adoption was and still is minimal.

DXVA had it's fair share of problems in regards to buggy drivers so I rather not bring that back, especially since it's Windows only. In general I would prefer software decoding over GPU accelerated decoding as its much more robust and not prone to driver issues.

Potential alternative options:

There may also be potential to squeeze extra performance out of ih264d. Since it's an undocumented black box it's capabilities are mostly a mystery without digging into the internals.

Haxorzz commented 2 years ago

It seems yuzu uses FFMPEG for its video decoding, and has support for AMD and Nvidia GPUs on both windows and linux

Zopolis4 commented 2 years ago

ih264d is also a large implement to removing the dependencies folder, so I am in favor of looking for a more traditional replacement.

JaimieVandenbergh commented 1 year ago

Just a note that the initial Rayman Legends video wedges on M1 Mac too, in 2.0-47. So perhaps it's not core performance based.

image