Skip to content

Windows: H.264 High 10 whose format is unknown at open still fails on D3D11VA #1532

Open

Description

@EtienneLescot

On Windows, Decoder::open chooses D3D11VA for an H.264 stream whose pixel format is still unknown after avformat_find_stream_info (AV_PIX_FMT_NONE, for instance when the probe limit is reached before the first video packet). If that stream turns out to be High 10, 4:2:2 or 4:4:4, get_hw_format finds no D3D11 surface and decoding fails with AVERROR_INVALIDDATA, as every such stream did before #1530.

Where: crates/compositor/src/pipeline_windows.rs, d3d11va_for_stream keeps hardware for AV_PIX_FMT_NONE, and get_hw_format has no software fallback.

Possible fix: when hardware format negotiation fails, reopen the decoder on the software CpuFrames path, or let get_hw_format return the software format and route it through CpuFrames.

No file reproducing it is known yet. Found during the review of #1530 (#1530 (comment)).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions