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)