Cemu icon indicating copy to clipboard operation
Cemu copied to clipboard

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

Open Adamillo opened this issue 2 years ago • 4 comments

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

Adamillo avatar Sep 09 '22 12:09 Adamillo

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:

  • ffmpeg's h264 decoder because it has better performance than the current ih264d decoder we use
  • OpenH264 might become viable in the future. Right now it's still lacking full main profile and high profile support.
  • Some other MPL friendly library we could use? We have more options now that we are open-source.

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.

Exzap avatar Sep 09 '22 13:09 Exzap

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

Haxorzz avatar Sep 09 '22 22:09 Haxorzz

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

Zopolis4 avatar Sep 18 '22 23:09 Zopolis4

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

JaimieVandenbergh avatar Aug 23 '23 20:08 JaimieVandenbergh