Closed DimkaTsv closed 3 months ago
24.6.1 driver, fixed with public release of AMF Runtime 1.4.34 It now skips some frames in one of the samples now instead, and corrupt image in other (as it should have done in both) but at least it doesn't crash. I guess i can close this particular issue.
Describe the bug When using hw decoder on some corrupted videos, both by watching and transcoding such files driver will crash with "Access Violation" error in player. At moment of encountering of the corrupted frame, playback will instantly stop. Then crash follows. Crash can be not absolutely immediate (depending on player/decoder), but will always happen very soon after passing corrupted frame (within 3 seconds).
To Reproduce
Same crashing problem will happen when you try to transcode such videos while using hw decoder. SW decoder will throw an error, but continue without crash.
Bugged behaviour: For D3D11 - on bugged frame image will freeze right at it or after, playback timeline will be stopped. Then driver crash follows For DXVA2 (copy-back) - on bugged frame image will still freeze, but playback timeline WON'T be stopped. Then driver crash follows DXVA2 (native), and CPU rendering will just show partial frame corruption.
Setup (please complete the following information):
Debug Log (please upload or paste): Full log - compressed as uncompressed takes 639MB of space [even compressed it takes more space than GitHub allows to upload]: https://drive.google.com/file/d/13SpDouZKz4ZbSUu7juwtFBCJEqzlaDuL/view?usp=sharing
Crash point in log from VCEEnc debug run.
Short log (level info)
Expected behavior Throwing an error, like CPU decoder on transcoding does is fine. But crashing decoder thread AND driver, is not. Expected behaviour would be to not attempt to "fix it" and ignore corruption.
For example, that's how CPU decoder throws an error:
Screenshots These frames are causing a crash (screenshot from CPU decoded sample)
Additional context There were 6 videos from same source. (I think you might guess what 6 videos were about). 2 of them were corrupted so they got a crash. But 4 others were skipping fragments (sometimes even large parts, like 20 minutes long) on transcoding, if i used hw decoder. So all 6 were corrupted in some way. Nuance is... Doing hw decode (or even playing video with hw decode) was completely fine on these 4 videos though. Only on hw decode skipping was observed. And by skipping i meant actual skipping, like almost 50000 frames not being encoded, on same length of resulting video. With full source i am losing both video and sound for this fragment. But when i cropped affected part, only video is missing, so file contains 2 seconds of video and 23 minutes of audio.
Here is data on this particular bug or case, idk how to take on it. I kinda don't want to duplicate issue manually. https://github.com/rigaya/VCEEnc/issues/101