Skip to content

perf(export): measure 10-bit macOS decode before touching the software-decode predicate #676

Description

@EtienneLescot

Follow-up from #584 (HEVC 8-bit is decided — it keeps VideoToolbox, recorded in pipeline_macos.rs via #673).

10-bit H.264/HEVC on the macOS export path is still unmeasured and still excluded from the software-decode predicate by construction. Two things must happen before anyone touches it:

  1. Measure it. Same protocol as docs(perf): record the HEVC 8-bit macOS decode measurements #673 (production Decoder, OPENSCREEN_MAC_DECODE, 1200 frames, best of three, machine at rest — Parsec disconnected), with the H.264 1080p control run first to validate the session against the recorded numbers. Lessons already learned there: VideoToolbox control figures move with machine state (212 fps on record vs 294–330 reproducible today), so treat the historical ×12.2 as an upper bound and re-run the witness on the day of the measurement.
  2. Extend mac_frames::CpuFrames first. It converts decoded frames to NV12 8-bit — routing a 10-bit stream through the software path today would silently truncate the picture. The predicate change is only safe after CpuFrames renders a 10-bit format (P010 or equivalent).

Until both are done, 10-bit stays on VideoToolbox by the format == YUV420P condition in Decoder::open_with.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to 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