Skip to content

Recording (Windows): convert and tag screen and webcam colour as BT.709 #923

Description

@EtienneLescot

Part of #920 (rank 5). Effort S, risk low.

Problem

  • The compositor decodes every recording as BT.709 limited range.
  • Screen track: no colour tags at all (color_range/space/primaries = unknown, measured). On the CPU path mf_encoder.cpp deletes MF_MT_VIDEO_NOMINAL_RANGE and MF_MT_YUV_MATRIX and lets the MFT choose the RGB32 → YUV matrix, which is not guaranteed BT.709 (hypothesis: NVENC or the Video Processor MFT may pick BT.601).
  • Webcam track: range and matrix tagged, but primaries and transfer read reserved (measured): MF_MT_VIDEO_PRIMARIES and MF_MT_TRANSFER_FUNCTION are never set.

Proposal

  • Pin the conversion to BT.709 limited and tag range, matrix, primaries (MFVideoPrimaries_BT709) and transfer (MFVideoTransFunc_709) on both tracks.

Verify

  • ffprobe -show_streams | grep color_ reads tv / bt709 / bt709 / bt709 on both tracks.
  • Solid red captured and read back as raw YUV: Y≈63, Cb≈102, Cr≈240 (BT.709). Y≈81, Cb≈90 means BT.601.

Activity

  1. added 2 commits that reference this issue on Sep 30, 2026
    37b52f7
    03b1f45
  2. added
    status: fixed in mainWork is merged into main but may not be in a downloadable release yet.
    status: pending releaseMerged change is waiting for a packaged desktop release.
    on Sep 30, 2026
  3. added this to the Next Release milestone on Sep 30, 2026
  4. github-actions commented on Sep 30, 2026

    @github-actions
    Contributor

    Fixed by #929 and merged into main.

    This change is assigned to the Next Release release milestone and is not necessarily available in the latest downloadable desktop release yet. It is currently marked as status: pending release until a packaged release containing it is published.

  5. EtienneLescot commented on Sep 30, 2026

    @EtienneLescot
    CollaboratorAuthor

    Moved into v2.0.0 as part of the pre-release cut.

  6. added a commit that references this issue on Oct 1, 2026
    c729834
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

    enhancementNew feature or requeststatus: fixed in mainWork is merged into main but may not be in a downloadable release yet.status: pending releaseMerged change is waiting for a packaged desktop release.

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions