Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-68768

Enable supported pixel formats for QCamera QAbstractVideoSurface on Windows

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • P2: Important
    • 5.12.1
    • 5.9.5, 5.10.1, 5.11.0
    • Multimedia
    • None

    Description

      When starting a QCamera with QAbstractVideoSurface as a Viewfinder, the surface always receives frames in RGB32 format, regardless what is requested by ViewfinderSettings.

      So even if provided surface supports some other pixel formats (e.g. YUYV or NV12) and camera can provide them, Qt always does the conversion to RGB32, using DirectShow automatic graph connections on Windows (or just fails to start camera, if there is no supported DS filter).

      Such behavior also causes significant CPU usage, because DirectShow does YUYV->GRB or Jpeg->RGB conversion on CPU by default.

      Client application could get a great (performance) benefit, if QCamera could provide unchanged frames to the surface, e.g. implement its own efficient GPU renderer or a video encoder.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            valentyn.doroshchuk Valentyn Doroshchuk
            Youw Ihor Dutchak
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes