KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT (erweiterte Hardwareoptimierung)

KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT wird verwendet, um den primären Anwendungsfall der Fotoaufnahme im Vergleich zu Videoaufnahmen zu steuern. In Windows 10 wird dieses Steuerelement erweitert, um erweiterte Hinweise zur Hardwareoptimierung zu unterstützen.

Tabelle "Nutzungszusammenfassung"

`Scope` Control type
Version 1 Filter Synchron

Die folgenden Flags können im KSCAMERA_EXTENDEDPROP_HEADER platziert werden. Kennzeichnet das Feld für Hardwareoptimierungshinweise im Treiber.

#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT      0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO        0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO        0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY      0x0000000000000004
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY      0x0000000000000008
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER        0x0000000000000010

Die PHOTO- und VIDEO-Hinweise werden weiterhin verwendet, um den primären Anwendungsfall anzugeben.

Für Windows 10 helfen zusätzliche Bitflags dem Kompromiss zwischen Qualität, Geschwindigkeit und Stromverbrauch im Treiber. Standardmäßig sollte der Treiber über KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO verfügen.

Wenn der Treiber dieses Steuerelement unterstützt, muss er KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO und KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO unterstützen.

Wenn der Treiber keine Optimierungshinweise unterstützt, sollte der Treiber dieses Steuerelement nicht implementieren.

In der folgenden Tabelle werden die Flagfunktionen beschrieben.

Flag Beschreibung
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT Dies ist eine obligatorische Funktion. Bei Angabe sollte der Treiber die zuvor für den Treiber festgelegten Hinweise bereinigen und den Standard-Leistungs-, Qualitäts- und Latenzkonflikt des Treibers anwenden.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO Dies ist eine obligatorische Funktion. Wenn angegeben, ist der primäre Anwendungsfall die Fotoaufnahme, und der Fahrer muss die Fotoaufnahme gegenüber der Videoaufzeichnung priorisieren. Dieses Flag kann angegeben werden, wenn sich der Vorschau-Pin im Status "Beendet" befindet, um einen Sensormodus zugunsten der Fotoqualität auszuwählen, oder im Zustand "Wird ausgeführt" nur für die Fotoaufnahme während der Videoaufzeichnung. Wenn für die Fotoaufnahme während der Videoaufzeichnung angegeben, ist die Störung im Videostream akzeptabel, um eine bessere Fotoqualität zu erzielen. Dieses Flag schließt sich mit dem VIDEO-Flag gegenseitig aus und kann mit einem oder zwei der Flags QUALITY, LATENCY und POWER verwendet werden.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO Dies ist eine obligatorische Funktion. Wenn angegeben, ist der primäre Anwendungsfall die Videoaufnahme, und der Treiber muss die Videoaufzeichnung vor der Fotoaufnahme priorisieren. Dieses Flag kann angegeben werden, wenn sich der Vorschaunadel im Status "Beendet" befindet, um einen Sensormodus zugunsten der Videoaufzeichnung auszuwählen, oder im Zustand "Wird ausgeführt" nur für die Fotoaufnahme während der Videoaufzeichnung. Wenn für die Fotoaufnahme während der Videoaufzeichnung angegeben, ist die Störung im Videostream nicht zulässig. Dieses Flag schließt sich mit dem PHOTO-Flag gegenseitig aus und kann mit einem oder zwei der Flags QUALITY, LATENCY und POWER verwendet werden.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY Diese Funktion ist optional. Sofern angegeben, muss der Fahrer die Bildqualität für die Fotoaufnahme und die Videoqualität für die Videoaufzeichnung optimieren. Dieses Flag kann angegeben werden, bevor die Fotoaufnahme (einschließlich regulärer Fotos, VPS und PS ohne Verlaufsrahmen) und/oder die Videoaufzeichnung gestartet wird oder wenn sich die Pin im beendeten Zustand befindet. Dieses Flag kann mit dem PHOTO-Flag oder mit LATENZ- oder POWER-Flags zusammen mit dem VIDEO-Flag verwendet werden.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY Diese Funktion ist optional. Wenn angegeben, muss der Treiber die Geschwindigkeit und Latenz für die Fotoaufnahme und die Videoaufzeichnung optimieren. Dieses Flag kann angegeben werden, bevor die Fotoaufnahme (einschließlich regulärer Fotos, VPS und PS ohne Verlaufsrahmen) und/oder die Videoaufzeichnung gestartet wird oder wenn sich die Stecknadel im beendeten Zustand befindet. Dieses Flag kann mit dem PHOTO-Flag oder mit QUALITY- oder POWER-Flags zusammen mit dem VIDEO-Flag verwendet werden.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER Diese Funktion ist optional. Sofern angegeben, muss der Fahrer den Stromverbrauch für die Fotoaufnahme und die Videoaufzeichnung optimieren. Dieses Flag kann angegeben werden, bevor die Fotoaufnahme (einschließlich regulärer Fotos, VPS und PS ohne Verlauf) und/oder die Videoaufzeichnung gestartet wird oder wenn sich die Pin im beendeten Zustand befindet. Dieses Flag kann zusammen mit dem FLAG QUALITY oder LATENCY zusammen mit dem VIDEO-Flag verwendet werden.

Die folgende Tabelle enthält die Beschreibungen und Anforderungen für die KSCAMERA_EXTENDEDPROP_HEADER-Strukturfelder bei Verwendung des -Steuerelements.

Mitglied Wert
Version 1
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)
Size sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
Ergebnis Gibt die Fehlerergebnisse des letzten SET-Vorgangs an. Wenn kein SET-Vorgang stattgefunden hat, muss dieser 0 sein.
Funktion Muss ein bitweises OR der unterstützten KSCAMERA_EXTENDEDPROP_OPTIMIZATION_*-Flags sein, wie oben definiert.
Flags Dies ist ein Lese-/Schreibfeld. Dies kann eine beliebige gültige Kombination der oben definierten unterstützten KSCAMERA_EXTENDEDPROP_OPTIMIZATION_*-Flags sein.

Hinweise

Beachten Sie bei der Verwendung von Optimierungshinweisen die folgenden Punkte:

  • QUALITÄT/LATENZ/LEISTUNG und FOTO/VIDEO sind zwei Sätze unabhängiger Hinweise. Sie können gleichzeitig oder unabhängig zu unterschiedlichen Zeitpunkten angegeben werden. Durch das Festlegen von QUALITY/LATENCY/POWER wird PHOTO/VIDEO nicht überschrieben und umgekehrt. Wenn er zu unterschiedlichen Zeitpunkten angegeben wird, sollte der Treiber die aktuellen Einstellungen beider Hinweise in einem GET-Aufruf zurückgeben.

  • Wenn Hinweise für QUALITY/LATENCY/POWER festgelegt sind, sollte der Treiber innerhalb seiner Einschränkungen optimieren. Wenn keine Optimierung verfügbar ist, sollte der Treiber die Hinweise ignorieren.

  • Wenn zwei Hinweise gleichzeitig für den Videoanwendungsfall angegeben werden, kann die Optimierung jedes Hinweises kleiner sein als bei nur einem Hinweis. Dies gilt insbesondere in folgenden Fällen:

    • LATENZ hat Vorrang vor QUALITY oder POWER, wenn auch QUALITY oder POWER angegeben ist. In solchen Fällen kann die Qualität kleiner sein als, wenn nur QUALITÄT angegeben wird, und der Stromverbrauch kann höher sein als bei angabe von POWER.

    • Wenn sowohl QUALITY als auch POWER angegeben sind, kann die Qualität kleiner sein als wenn nur QUALITY angegeben wird, und der Stromverbrauch kann höher sein als bei nur POWER.

  • Ein Optimierungshinweis dient nur als Hinweis für den Treiber, um die Verarbeitungskonflikten in 3A, ISP-Verarbeitung, Sensorauswahl usw. innerhalb der Einschränkungen der von der Anwendung angegebenen Erfassungsszenarien zu erleichtern. Es ist wichtig für den App-Entwickler, die am besten geeigneten Steuerelemente und APIs für ein bestimmtes Erfassungsszenario auszuwählen und zu konfigurieren, um die besten Ergebnisse zu erzielen. Andernfalls können die Optimierungshinweise allein eine verringerte Wirkung haben. Für eine qualitativ hochwertige Fotoaufnahme sollten beispielsweise VPS oder LowLagPhoto/TakePhoto anstelle von PS auf bestimmten IHV-Plattformen verwendet werden, um den QUALITY-Hinweis zu verwenden. Ebenso sollte die Videostabilisierung deaktiviert werden, wenn noch eine geringere Latenz oder ein geringerer Stromverbrauch gewünscht wird.

  • Optimierungshinweise werden ignoriert, wenn sie zu einem anderen Zeitpunkt/Zustand empfangen werden, als unter den einzelnen Funktionsflags angegeben.

Wenn das Videostabilisierungssteuerelement auch auf dem Treiber aktiviert ist (ON oder AUTO):

  • Der Treiber kann die niedrigste aggressive Videostabilisierung anwenden, einschließlich niedriger Latenz und/oder Videostabilisierungsalgorithmus mit niedriger Leistung, um die Verarbeitungslatenz und/oder den Stromverbrauch zu reduzieren, wenn der LATENZ- und/oder POWER-Hinweis festgelegt ist. Wenn die Videostabilisierung auf AUTO festgelegt ist, kann der Treiber die Videostabilisierung deaktivieren, um die Latenz und/oder den Stromverbrauch weiter zu reduzieren.

  • Der Treiber kann die höchste aggressive Videostabilisierung anwenden, um die Videoqualität zu verbessern, wenn der QUALITY-Hinweis festgelegt ist.

Anforderungen

Header: Ksmedia.h (einschließlich Ksmedia.h)