Partager via


KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT (optimisation matérielle étendue)

KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT est utilisé pour contrôler le cas d’usage principal de la capture photo par rapport à la capture vidéo. Dans Windows 10, ce contrôle est étendu pour prendre en charge les indicateurs d’optimisation matérielle étendus.

Tableau récapitulatif de l’utilisation

Étendue Control Type
version 1 Filtrer Synchrone

Les indicateurs suivants peuvent être placés dans le KSCAMERA_EXTENDEDPROP_HEADER. Signale le champ aux indicateurs d’optimisation matérielle dans le pilote.

#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

Les indicateurs PHOTO et VIDÉO continueront d’être utilisés pour spécifier le cas d’usage principal.

Pour Windows 10, des indicateurs de bits supplémentaires facilitent le compromis entre la qualité, la vitesse et la consommation d’énergie du conducteur. Par défaut, le pilote doit avoir KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO.

Si le pilote prend en charge ce contrôle, il doit prendre en charge KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO et KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO.

Si le pilote ne prend pas en charge les indicateurs d’optimisation, il ne doit pas implémenter ce contrôle.

Le tableau suivant décrit les fonctionnalités d’indicateur.

Indicateur Description
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT Il s’agit d’une fonctionnalité obligatoire. Quand il est spécifié, le pilote doit effacer les indicateurs précédemment définis sur le pilote et appliquer le compromis par défaut de puissance, de qualité et de latence du pilote.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO Il s’agit d’une fonctionnalité obligatoire. Lorsqu’il est spécifié, le cas d’usage principal est la capture de photo et le conducteur doit donner la priorité à la capture photo par rapport à l’enregistrement vidéo. Cet indicateur peut être spécifié lorsque l’épingle d’aperçu est à l’état arrêté pour sélectionner un mode capteur en faveur de la qualité de la photo, ou dans l’état en cours d’exécution pour la capture photo pendant l’enregistrement vidéo uniquement. Lorsqu’il est spécifié pour la capture photo pendant l’enregistrement vidéo, un problème dans le flux vidéo est acceptable en faveur d’une meilleure qualité de photo. Cet indicateur s’exclue mutuellement de l’indicateur VIDEO et peut être utilisé avec un ou deux des indicateurs QUALITY, LATENCY et POWER.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO Il s’agit d’une fonctionnalité obligatoire. Quand il est spécifié, le cas d’usage principal est la capture vidéo et le pilote doit hiérarchiser l’enregistrement vidéo par rapport à la capture photo. Cet indicateur peut être spécifié lorsque l’épingle d’aperçu est à l’état arrêté pour sélectionner un mode capteur en faveur de l’enregistrement vidéo, ou dans l’état en cours d’exécution pour la capture photo pendant l’enregistrement vidéo uniquement. Lorsqu’il est spécifié pour la capture de photos pendant l’enregistrement vidéo, un problème dans le flux vidéo n’est pas autorisé. Cet indicateur s’exclut mutuellement de l’indicateur PHOTO et peut être utilisé avec un ou deux des indicateurs QUALITY, LATENCY et POWER.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY Cette fonctionnalité est facultative. Lorsqu’il est spécifié, le pilote doit optimiser la qualité de l’image pour la capture photo et la qualité vidéo de l’enregistrement vidéo. Cet indicateur peut être spécifié avant la capture de photo (y compris la photo standard, VPS et PS sans cadres d’historique) et/ou le démarrage de l’enregistrement vidéo, ou lorsque l’épingle est à l’état arrêté. Cet indicateur peut être utilisé avec l’indicateur PHOTO, ou avec les indicateurs LATENCY ou POWER avec l’indicateur VIDEO.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY Cette fonctionnalité est facultative. Lorsque cette option est spécifiée, le pilote doit optimiser la vitesse et la latence pour la capture photo et l’enregistrement vidéo. Cet indicateur peut être spécifié avant la capture de photo (y compris la photo standard, VPS et PS sans cadres d’historique) et le démarrage de l’enregistrement vidéo, ou lorsque l’épingle est à l’état arrêté. Cet indicateur peut être utilisé avec l’indicateur PHOTO, ou avec les indicateurs QUALITY ou POWER avec l’indicateur VIDEO.
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER Cette fonctionnalité est facultative. Lorsqu’il est spécifié, le pilote doit optimiser la consommation d’énergie pour la capture photo et l’enregistrement vidéo. Cet indicateur peut être spécifié avant le démarrage de la capture de la photo (y compris la photo standard, VPS et PS sans historique) et/ou le démarrage de l’enregistrement vidéo, ou lorsque l’épingle est à l’état arrêté. Cet indicateur peut être utilisé avec l’indicateur QUALITY ou LATENCY, ainsi que l’indicateur VIDEO.

Le tableau suivant contient les descriptions et la configuration requise pour les champs de structure KSCAMERA_EXTENDEDPROP_HEADER lors de l’utilisation du contrôle .

Membre Valeur
Version 1
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)
Taille sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
Résultats Indique les résultats d’erreur de la dernière opération SET. Si aucune opération SET n’a eu lieu, il doit s’agir de 0.
Fonctionnalité Doit être un OR au niveau du bit des indicateurs KSCAMERA_EXTENDEDPROP_OPTIMIZATION_* pris en charge, comme défini ci-dessus.
Indicateurs Il s’agit d’un champ en lecture/écriture. Il peut s’agir de combinaisons valides des indicateurs KSCAMERA_EXTENDEDPROP_OPTIMIZATION_* pris en charge définis ci-dessus.

Remarques

Gardez à l’esprit les éléments suivants lors de l’utilisation d’indicateurs d’optimisation :

  • QUALITY/LATENCY/POWER et PHOTO/VIDEO sont deux ensembles d’indicateurs indépendants. Ils peuvent être spécifiés ensemble en même temps ou indépendamment à un moment différent. La définition de QUALITY/LATENCY/POWER ne remplace pas PHOTO/VIDEO et vice versa. Lorsqu’il est spécifié à un moment différent, le pilote doit retourner les paramètres actuels des deux ensembles d’indicateurs dans un appel GET.

  • Pour QUALITY/LATENCY/POWER, lorsque des indicateurs sont définis, le pilote doit optimiser ses contraintes. Si aucune optimisation n’est disponible, le pilote doit ignorer les indicateurs.

  • Lorsque deux indicateurs sont spécifiés en même temps pour le cas d’usage de la vidéo, l’optimisation de chaque indicateur peut être inférieure à quand un seul indicateur est spécifié. Plus précisément :

    • La latence est prioritaire sur la qualité ou l’alimentation lorsque la qualité ou l’alimentation est également spécifiée. Dans ce cas, la qualité peut être inférieure à quand seule la qualité est spécifiée, et la consommation d’énergie peut être supérieure à quand seule LA PUISSANCE est spécifiée.

    • Lorsque la qualité et la puissance sont toutes deux spécifiées, la qualité peut être inférieure à quand seule la qualité est spécifiée, et la consommation d’énergie peut être supérieure à quand seule l’alimentation est spécifiée.

  • Un indicateur d’optimisation sert uniquement d’indicateur au pilote pour faciliter les compromis de traitement dans 3A, le traitement des fournisseurs de services Internet, la sélection de capteurs, etc., dans les contraintes des scénarios de capture spécifiés par l’application. Il est important que le développeur d’applications sélectionne et configure les contrôles et API les plus appropriés pour un scénario de capture spécifique afin d’obtenir les meilleurs résultats. Sinon, les indicateurs d’optimisation seuls peuvent avoir un effet diminué. Par exemple, pour la capture de photos de haute qualité, VPS ou LowLagPhoto/TakePhoto doivent être utilisés à la place de PS sur certaines plateformes IHV afin d’utiliser l’indicateur DE QUALITÉ. De même, la stabilisation vidéo doit être désactivée si une latence ou une consommation d’énergie encore plus faible est souhaitée.

  • Les indicateurs d’optimisation doivent être ignorés s’ils sont reçus à l’heure/à l’état autre que celui spécifié sous chaque indicateur de fonctionnalité.

Lorsque le contrôle de stabilisation vidéo est également activé sur le pilote (ON ou AUTO) :

  • Le pilote peut appliquer la stabilisation vidéo la plus agressive la plus faible, notamment l’algorithme de stabilisation vidéo à faible latence et/ou à faible puissance pour réduire la latence de traitement et/ou la consommation d’énergie si l’indicateur LATENCY et/ou POWER est défini. Lorsque la stabilisation vidéo est définie sur AUTO, le pilote peut désactiver la stabilisation vidéo pour réduire davantage la latence et/ou la consommation d’énergie.

  • Le pilote peut appliquer la stabilisation vidéo la plus agressive pour améliorer la qualité vidéo si l’indicateur DE QUALITÉ est défini.

Configuration requise

En-tête: Ksmedia.h (inclure Ksmedia.h)