AMD a publié une nouvelle mise à jour de son SDK d’encodeur AMF, la version 1.4.26, qui a ajouté plusieurs nouvelles fonctionnalités, dont un tout nouveau mode « qualité améliorée » appelé PreAnalysis. Chris Griffith de Code Calamity a réussi à mettre la main à la pâte avec la dernière mise à jour, pour déterminer si ce nouveau mode boost est adapté ou non. Il s’avère que cette fonctionnalité peut améliorer la qualité d’encodage d’AMF d’un pour cent ou deux, mais à un coût élevé pour les performances.
Pour les non-initiés, AMF est le dernier encodeur matériel GPU H.264 d’AMD intégré à ses derniers GPU, tels que la série RX 6000 pour l’encodage de vidéos ou l’enregistrement/le streaming de gameplay en direct. C’est en fait le contrepoids d’AMD à l’encodeur NVENC de Nvidia.
La préanalyse est une nouvelle technique de quantification adaptative du contenu implémentée dans l’encodeur AMD. En termes simples, cela donne à AMF plus de contrôle sur la quantité d’images I implémentées dans chaque vidéo. Il donne également à AMF la possibilité de sauter des images en cas de besoin.
Griffith a testé plusieurs options d’encodeur AMF pour mesurer les améliorations de la qualité avec la nouvelle fonction PreAnalysis. Il a testé avec B-Frames et Pre-Analysis activés, B-Frames uniquement (qui sont venus dans une mise à jour antérieure de 2022), et avec les deux fonctionnalités désactivées. Les tests ont été comparés avec l’application VMAF de Netflix avec un score de 0 (non visionnable) à 100 (perfection).
À 5000 KBps, l’encodeur AMF d’AMD sans B-Frames ni pré-analyse activée a atteint un score respectable de 94,1215 à une vitesse de 139,21 FPS. L’activation des B-Frames a amélioré le score de 1 point, atteignant 95,3877, mais les fréquences d’images ont énormément chuté à 83,75 FPS. Néanmoins, ces performances sont adéquates pour les cas d’utilisation réguliers tels que le jeu en streaming en direct à 60 FPS.
L’activation des trames B et de la pré-analyse voit l’encodeur sauter d’un autre point, avec un score de 96,0697. Mais la fréquence d’images est incroyablement difficile avec une vitesse de seulement 26,03 FPS.
Si nous vérifions le nombre d’I-Frames implémentées dans chaque exécution, nous pouvons voir pourquoi l’encodeur AMF s’emballe si fort lors de l’exécution de la pré-analyse. Avec la fonctionnalité désactivée, le nombre d’images I s’élève à seulement 13, mais l’activation de la fonctionnalité (avec les images B) double presque le nombre d’images i à 22.
Cela se traduit par une meilleure prédiction des pixels avec plus de points de données à traiter par le décodeur, améliorant ainsi la qualité vidéo. Mais, le résultat est beaucoup plus de charge de travail sur l’encodeur, c’est pourquoi la fréquence d’images ralentit. En fait, c’est tellement lent, au point que la diffusion en direct à 30 FPS ou 60FPS est impossible. Mais, comme il s’avère que cette affirmation n’est que partiellement vraie, nous en reparlerons plus tard.
Configuration: | Score VMAF | Fréquence d’images | Différence de pourcentage avec VMAF | Différence en pourcentage avec le FPS | I-Cadres |
B-Frames ou pré-analyse désactivés | 94.1215 | 139,21 images par seconde | Ligne de base | Ligne de base | 13 |
Cadres B uniquement | 95.3877 | 83,75 images par seconde | 1,345 % d’amélioration | 39,8 % de réduction | 13 |
B-Frames et pré-analyse activés | 96.0697 | 26.03 IPS | 2,069 % d’amélioration | 81,3 % de réduction | 22 |
Mais à des fins d’encodage vidéo, l’encodeur AMF d’AMD avec PreAnalysis est bon. Il correspond efficacement à l’encodeur NVENC éprouvé de Nvidia avec un score VMAF de 96,37 (contre 96,0697) avec la même vidéo et le même débit. Il sera probablement encore plus lent dans le processus de rendu initial, mais la qualité sera au moins à la hauteur.
Techniquement, la pré-analyse peut être utilisée dans le jeu en direct, mais ses effets sont médiocres
o malgré les résultats de Code Calamity, la pré-analyse est trop intensive pour le streaming en temps réel. Il semble que ce ne soit que partiellement vrai. L’expert en streaming et YouTuber EposVox vient de publier aujourd’hui un nouveau guide d’optimisation de l’encodeur AMF, démontrant la pré-analyse dans le jeu en direct dans la nouvelle mise à jour OBS beta 28.
Nous ne savons pas ce qui se passe ici, mais il convient de mentionner que H.264 a un nombre presque infini de préréglages et de configurations cachés que vous pouvez régler en coulisses. Il y a de fortes chances que les options H.264 de Griffin soient trop intensives pour l’AMF avec la pré-analyse activée car EposVox a pu jouer avec la fonctionnalité en temps réel à 60FPS, et il ne s’est pas plaint des problèmes de performances.
Néanmoins, EposVox affirme que la fonctionnalité peut légèrement améliorer les détails de l’image en mouvement, tout en réduisant la pixellisation en même temps. Malheureusement, cela se traduit par une amélioration à peine perceptible de la netteté. Donc, cela vaut probablement la peine de l’activer si vous avez suffisamment de marge d’encodage, mais cela devrait probablement être l’une des premières choses que vous désactivez si vous rencontrez des problèmes avec le décalage de l’encodeur.
Malheureusement, EposVox n’a effectué aucun test de performance avec la fonctionnalité exclusivement dans sa nouvelle vidéo, mais apparemment, la fonctionnalité fonctionne très bien dans le jeu en direct. Au moins dans la nouvelle mise à jour bêta d’OBS 28.
La préanalyse ne sauvera pas l’AMF de l’encodeur AV1 d’Intel
PreAnalysis ne peut pas sauver l’encodeur AMF d’AMD du tout nouvel encodeur AV1 d’Intel, qui domine toutes les offres H.264, comme indiqué dans notre couverture précédente.
Nous ne pouvons pas comparer les résultats de Code Calamity à ceux présentés par EposVox dans notre article précédent sur AV1. Pourtant, il est facile de voir que PreAnalysis serait facilement détruit par l’encodeur AV1 d’Intel.
Pour récapituler rapidement, l’encodeur AV1 intégré aux nouveaux GPU discrets Arc d’Intel a surpassé à la fois l’encodeur NVENC de Nvidia et AMD AMF de 16 % dans les tests de jeu en temps réel.
Cela peut ne pas sembler beaucoup, mais comparé aux gains de performances de 1 à 2 % résultant de l’ajout de B-Frames et de la pré-analyse à l’AMF, c’est une différence de jour comme de nuit. En conséquence, il ne fait aucun doute que son comportement resterait le même, avec des résultats de performances loin de ceux de l’encodeur AV1 d’Intel.
Mais ce n’est pas du tout surprenant. À ce stade, il semble qu’AMD et Nvidia (probablement aussi Intel avec QuickSync) aient atteint les limites absolues des capacités de H.264, avec des améliorations des performances d’encodage matériel presque stables depuis 2018 – avec le lancement de la série RTX 20. Donc, avec l’attention de tous maintenant sur AV1, nous devrons attendre qu’AMD construise un tout nouvel encodeur AV1 pour Radeon 7000 avant de voir des changements de qualité vidéo considérablement améliorés.