Paramètres du registre de stabilisation vidéo
La valeur MaxPixelsPerSecond définie par le fabricant OEM dans la clé de registre VideoStabilization permet aux OEM de configurer les paramètres de stabilisation vidéo sur un appareil et d’appliquer la stabilisation vidéo à une vidéo au moment de la capture. La configuration prend en compte la résolution d’enregistrement de l’appareil, ainsi que ses capacités matérielles et logicielles.
Vue d’ensemble
La valeur MaxPixelsPerSecond de la clé de registre VideoStabilization est utilisée pour spécifier les capacités maximales de stabilisation vidéo sur un appareil, dans des conditions optimales. Toutes les applications peuvent lire la clé de registre et éviter de tenter une utilisation déraisonnable de la stabilisation vidéo.
La valeur entrée dans la valeur MaxPixelsPerSecond fixe la limite au-delà de laquelle le MFT ne tentera pas d’activer la stabilisation vidéo, même si une application l’active. La clé de registre doit indiquer la plus grande résolution et le taux de trames auquel un appareil peut exécuter la stabilisation vidéo. Si la valeur MaxPixelsPerSecond n’est pas définie, le MFT de stabilisation vidéo utilisera une valeur de repli. Enfin, si cela échoue également, la stabilisation vidéo utilisera sa logique interne pour se désactiver afin de prévenir une expérience utilisateur sous-optimale.
Exigences de stabilisation vidéo
Un appareil est considéré comme capable d’exécuter la stabilisation vidéo lorsque toutes les conditions suivantes sont remplies :
La stabilisation vidéo est activée et n’est pas en mode pass-through.
L’enregistrement est activé.
L’aperçu est actif.
Aucun bruit ni image perdue ne sont visibles dans l’aperçu.
Aucun bruit ni image perdue ne sont visibles dans la vidéo enregistrée.
Définir la clé de registre de stabilisation vidéo
Format de la clé de registre VideoStabilization :
Les OEM doivent définir une valeur QWORD MaxPixelsPerSecond qui définit la valeur limite du nombre de pixels par seconde, au-delà de laquelle la stabilisation vidéo sera forcée de fonctionner en mode pass-through, même si elle est activée par une application.
MaxPixelsPerSecond est défini comme suit :
MaxPixelsPerSecond = width * height * frame-rate
Par exemple, pour une résolution de 1080p à 30 fps, MaxPixelsPerSecond serait défini comme 1920 * 1080 * 30 = 62208000.
Emplacement de la clé de registre VideoStabilization :
Les OEM doivent créer et définir la clé de registre VideoStabilization pour la stabilisation vidéo à l’emplacement suivant :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization
Pour définir la valeur MaxPixelsPerSecond de la clé de registre VideoStabilization sur une machine 32 bits, utilisez la commande suivante à une invite de commande avec élévation de privilèges :
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f
Sur les machines 64 bits, les OEM doivent également créer et définir la même clé sur le chemin Wow6432Node :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Media Foundation\Platform\VideoStabilization
Pour définir la valeur MaxPixelsPerSecond de la clé de registre VideoStabilization sur une machine 64 bits, utilisez la commande suivante à une invite de commande avec élévation de privilèges :
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f
Une fois définie, la clé de registre VideoStabilization sera visible par le MFT de stabilisation vidéo et les applications de première et de tierce partie.
Si la valeur MaxPixelsPerSecond est définie, le MFT de stabilisation vidéo ne tentera jamais de stabiliser les taux de trame ou les résolutions au-delà de la limite. Au lieu de cela, il passera en mode pass-through même si l’application demande la stabilisation vidéo. Le MFT de stabilisation vidéo dispose d’un mécanisme pour recommander un taux de trame et une résolution à l’application pour un appareil donné. Les applications peuvent choisir la recommandation pour éviter un tel mode pass-through sur les appareils dont la clé de registre est remplie.
Si la valeur MaxPixelsPerSecond n’est pas définie, le MFT de stabilisation vidéo tentera de stabiliser jusqu’à la valeur par défaut mais pas au-delà.
La valeur par défaut est de 62208000 pixels par seconde, soit 1920 pixels x 1080 pixels x 30 fps. Lorsque la stabilisation vidéo tente de stabiliser mais ne peut pas maintenir une stabilisation en temps réel des images vidéo, la logique interne passera en mode pass-through (désactivant la stabilisation vidéo) sans perdre d’images.
Si la stabilisation vidéo a été désactivée lors de la session précédente, le MFT tentera de démarrer la stabilisation vidéo en mode normal pour chaque nouvelle session, avant de décider de passer en mode pass-through. Cela est dû au fait qu’il ne peut pas se fier au mode précédent pour prendre des décisions futures, car l’appareil peut avoir été sous stress lors de sa dernière utilisation.
Exigences de test de stabilisation vidéo
Les OEM doivent vérifier les capacités de bout en bout de leurs appareils avec la stabilisation vidéo activée. Ils doivent vérifier une expérience acceptable à la résolution maximale donnée en pixels par seconde.
Les OEM doivent vérifier les points suivants :
La logique interne de stabilisation vidéo est désactivée à l’emplacement de la clé de registre fourni par Microsoft. La désactivation de la logique interne garantit que la stabilisation vidéo ne passera pas en mode pass-through pendant les tests si elle rencontre une situation stressante.
La stabilisation vidéo peut fonctionner seule, sans tâches en arrière-plan ni autres fonctionnalités.
Rendu d’aperçu fluide avec la stabilisation vidéo activée et la logique interne désactivée.
Enregistrement vidéo fluide avec la stabilisation vidéo activée et la logique interne désactivée.
Nombre désiré de pixels par seconde atteint dans l’enregistrement stabilisé.
Pas de surchauffe.
Remarque : les systèmes de vente au détail ne doivent pas avoir la clé de registre pour désactiver la logique interne de stabilisation vidéo décrite dans cette section. Cependant, les systèmes de vente au détail doivent avoir la clé de registre VideoStabilization avec une valeur MaxPixelsPerSecond déterminée par ce processus de test.
Remarque : la valeur MaxPixelsPerSecond de la clé de registre VideoStabilization fonctionne uniquement lorsque l’attribut MF_LOW_LATENCY est défini sur l’effet. Lorsque l’effet de stabilisation vidéo fourni est ajouté au pipeline MediaCapture, l’attribut est automatiquement défini. Cependant, si l’effet de stabilisation vidéo est inséré dans un pipeline personnalisé ou un pipeline qui ne définit pas l’attribut MF_LOW_LATENCY, la clé de registre n’a aucun effet.