citra icon indicating copy to clipboard operation
citra copied to clipboard

dumping/ffmpeg_backend: Various fixes

Open zhaowenlan1779 opened this issue 4 years ago • 10 comments

Fixes some issues with the FFmpeg backend. Please refer to the commit messages for details.

cc @xperia64 @oddMLan


This change is Reviewable

zhaowenlan1779 avatar Jun 14 '20 14:06 zhaowenlan1779

@zhaowenlan1779 with this PR I just hear static whenever AAC audio plays with HLE, across all backends. Using Windows 10 x64 1809. LLE is unnafected.

oddMLan avatar Jun 20 '20 20:06 oddMLan

@zhaowenlan1779 with this PR I just hear static whenever AAC audio plays with HLE, across all backends. Using Windows 10 x64 1809. LLE is unnafected.

How are you testing this? If you're testing a Mingw build, those are likely broken, and have nothing to do with the PR.

xperia64 avatar Jun 20 '20 20:06 xperia64

How are you testing this? If you're testing a Mingw build, those are likely broken, and have nothing to do with the PR.

Correct, sadly that's the only build that compiled in the buildbot. The rest are failing. Do I attempt to compile Citra myself?

oddMLan avatar Jun 20 '20 20:06 oddMLan

How are you testing this? If you're testing a Mingw build, those are likely broken, and have nothing to do with the PR.

Correct, sadly that's the only build that compiled in the buildbot. The rest are failing. Do I attempt to compile Citra myself?

Yes. But I can assure you this makes no changes to the AAC framework. I promise.

xperia64 avatar Jun 20 '20 20:06 xperia64

ok, so im incredibly new here, i just learned how to build citra from the repository today and its my first foray into anything of this sort, so im not exactly sure how to word my response to this, or if im leaving any information out... my point is, i was able to get this to work and it seems to have fixed the issue

pokeysoda avatar Jun 24 '20 08:06 pokeysoda

Eureka! @zhaowenlan1779 This does fix the video desync problem with Dump Video in the referenced ticket. owever with the libx264 codecs it makes the video Black and White. libvp9 is incredibly slow now. And with raw video (avi+uncompressed or mkv+raw video) the audio seems to skip frames at random.

Here's a video comparison to confirm indeed the audio and video are well synched now. I was able to record this fine with mp4+h264 qsv. https://youtu.be/yvUmlCYODxs

If you look closely (using . and , to frame advance) there are still cuts that are 1-2 frames off, but the inputs of emu vs hardware aren't identical here so I can chalk it up as the timing being different there because the intputs are different. Who knows.

BTW is there like a "Inmediately Present XFB" option like in Dolphin? There's a 2-frame delay since the button is pressed. It's the same in Dolphin, but with that option the delay becomes only 1 frame.

oddMLan avatar Jun 25 '20 09:06 oddMLan

Huh, I think I made this on wrong assumptions and it just happened to fix the issue. I dropped that commit. More investigation is required.

Meanwhile the video black and white issue should now be fixed. I can't reproduce the performance issue with VP9 - apparently it's not visibly slower for me

zhaowenlan1779 avatar Jul 08 '20 12:07 zhaowenlan1779

Untagging to diagnose build issues

zhaowenlan1779 avatar Jul 22 '20 09:07 zhaowenlan1779

Any reason to not merge this ? It's been in canary for... a while

SachinVin avatar Jun 25 '22 09:06 SachinVin

The dumps should be at the console's native framerate (268111856/4481136 FPS or roughly 59.83122493939037 FPS), not a flat 60 FPS. The latest nightlies are fine in that regard (as in, they dump at 268111856/4481136 FPS).

fsvgm777 avatar Jul 28 '22 08:07 fsvgm777

Untagging because of MSVC compilation issues.

FearlessTobi avatar Nov 14 '22 19:11 FearlessTobi