Skip to content

[Investigation]: DX11 HW decode can cause image corruption on quick time skipping in some sources #447

@DimkaTsv

Description

@DimkaTsv

Describe the bug
Bug is specific to source, so it may be not AMF related, but source issue. When doing fast skipping by 5-10 seconds forward in back, video gets corrupted by either:

  1. Gets stuck to 1 frame while flickering another
  2. Parts of image gets heavily corrupted by either greenish or rainbowy artifacs, while video continues to play.
  3. Parts of image will get "compression" artifacts all over it (even though there are none).
    Issue can appear about second after fast scroll After triggering every appearance issue lasts for up to 10 seconds (on eye), after which cease to persist. Then video plays like normal, until you repeat time skip.

While playing normally (without skipping), issue does not appear at all.
Described issue disappears after transcoding source (via hw decode and hw encode).

But reason for being reported here as well is that issue appears ONLY on DX11 HW acceleration. DXVA2 (both copy-back and native) as well as CPU decode were not affected. So there can be some underlying issue going on.

Personally tested in MPC-HC [MPCVR, MadVR, customEVR], VLC, Windows 11 "Movies and TV" app, Windows 11 "Photos" app, old Windows Media Player. All were affected, some more, some less. MPC-HC and VLC were affected most severely, then Windows 11 "Movies and TV" with Windows Media Player. Triggering issue on Windows 11 "Photos" app was hardest but doable.

To Reproduce
Steps to reproduce the behavior:

  1. Use this source [it is cropped, but bug persists through WHOLE video]: https://drive.google.com/file/d/1bBhxS3vGQOQVn-mzR2cLFMFdCcfOZUHX/view?usp=sharing
  2. Use MPC-HC
  3. Setup HW Decoder to use D3D11
  4. Play video
  5. Start skipping by using arrow keys. After each skip wait second or two.
  6. Observe bugged behaviour

Setup (please complete the following information):

  • OS: Windows 11, 23H2, build 22631.3085
  • Driver Version: 24.1.1
  • GPU: RX 7800XT
  • Which component has the issue: Decoder (potentially)

Debug Log (please upload or paste):
No logs here, transcoding goes fine. Meaning issue is only on playback of specific source.

Expected behavior
No such corruption should occur

Screenshots

  1. Green artifacting
    image

  2. Rainbowy artifacting
    image
    image
    image

  3. "Compression artifact"-like effect, or fade in issue
    image
    image
    image

Additional context
Issue seems to be appearing at same exact places, but appearance can be random. Sometimes it will be green corruption, sometimes rainbow, and sometimes it will be compression-like artifacts. All of those can combine with frame freeze, while frame freeze with flickering can also happen by itself. Sometimes it may not even appear at all, and play normally

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions