AMD ha lanzado una nueva actualización de su SDK de codificador AMF, la versión 1.4.26, que ha agregado varias características nuevas, incluido un nuevo modo de «aumento de la calidad» llamado PreAnálisis. Chris Griffith de Code Calamity logró obtener tiempo práctico con la última actualización para determinar si este nuevo modo de impulso es adecuado o no. Resulta que esta función puede mejorar la calidad de codificación de AMF en uno o dos por ciento, pero a un alto costo para el rendimiento.
Para los no iniciados, AMF es el codificador H.264 de hardware GPU más reciente de AMD integrado en sus GPU más recientes, como la serie RX 6000 para codificar videos o grabar/transmitir juegos en vivo. Es efectivamente el contador de AMD para el codificador NVENC de Nvidia.
El análisis previo es una nueva técnica de cuantificación adaptativa de contenido implementada en el codificador de AMD. En términos básicos, esto le da a AMF más control sobre la cantidad de cuadros I implementados en cada video. También le da a AMF la capacidad de omitir cuadros cuando sea necesario.
Griffith probó varias opciones de codificador AMF para medir las mejoras de calidad con la nueva función PreAnálisis. Probó con B-Frames y Pre-Análisis habilitados, solo B-Frames (que se incluyeron en una actualización anterior de 2022) y con ambas funciones deshabilitadas. Las pruebas se compararon con la aplicación VMAF de Netflix con una puntuación de 0 (no se puede ver) a 100 (perfección).
A 5000 KBps, el codificador AMF de AMD sin B-Frames o Pre-Análisis habilitado alcanzó una respetable puntuación de 94,1215 a una velocidad de 139,21 FPS. Habilitar B-Frames mejoró la puntuación en 1 punto, llegando a 95,3877, pero las velocidades de fotogramas se redujeron enormemente a 83,75 FPS. No obstante, este rendimiento es adecuado para casos de uso habituales, como el juego de transmisión en vivo a 60 FPS.
Habilitar B-Frames y Pre-Análisis hace que el codificador salte otro punto, con una puntuación de 96,0697. Pero la velocidad de fotogramas es increíblemente alta con una velocidad de solo 26,03 FPS.
Si comprobamos la cantidad de I-Frames implementados en cada ejecución, podemos ver por qué el codificador AMF se detiene tanto cuando se ejecuta el análisis previo. Con la función deshabilitada, la cantidad de I-frames asciende a solo 13, pero habilitar la función (junto con B-Frames) casi duplica el conteo de i-frames a 22.
Esto da como resultado una mejor predicción de píxeles con más puntos de datos para que los procese el decodificador, lo que mejora la calidad del video. Pero, el resultado es mucha más carga de trabajo en el codificador, razón por la cual la velocidad de fotogramas se reduce al mínimo. De hecho, es muy lento, hasta el punto en que la transmisión en vivo a 30 FPS o 60 FPS es imposible. Pero resulta que esta declaración es solo parcialmente cierta, más sobre eso más adelante.
Configuración: | Puntuación VMAF | Cuadros por segundo | Diferencia porcentual con VMAF | Diferencia porcentual con FPS | I-Marcos |
Cuadros B o análisis previo deshabilitados | 94.1215 | 139,21FPS | Base | Base | 13 |
Solo marcos B | 95.3877 | 83,75FPS | 1.345% Mejora | 39,8% Reducción | 13 |
Marcos B y análisis previo habilitados | 96.0697 | 26,03FPS | 2.069% Mejora | Reducción del 81,3% | 22 |
Pero para propósitos de codificación de video, el codificador AMF de AMD con PreAnalysis es bueno. Coincide efectivamente con el codificador NVENC probado y verdadero de Nvidia que presenta una puntuación VMAF de 96.37 (frente a 96.0697) con el mismo video y tasa de bits. Probablemente será aún más lento en el proceso de renderizado inicial, pero la calidad al menos estará a la par.
Técnicamente, el análisis previo se puede usar en el juego en vivo, pero sus efectos son mediocres
o A pesar de los resultados de Code Calamity, el análisis previo es demasiado intensivo para la transmisión en tiempo real. Parece que esto es sólo parcialmente cierto. El experto en streaming y YouTuber EposVox acaba de publicar hoy una nueva guía de optimización del codificador AMF, que demuestra el análisis previo en el juego en vivo en la nueva actualización OBS beta 28.
No sabemos qué está pasando aquí, pero vale la pena mencionar que H.264 tiene una cantidad casi infinita de ajustes preestablecidos y configuraciones ocultos que puede sintonizar detrás de escena. Es muy probable que las opciones H.264 de Griffin fueran demasiado intensivas para AMF con el análisis previo habilitado, ya que EposVox pudo jugar con la función en tiempo real a 60 FPS y no se quejó de los problemas de rendimiento.
No obstante, EposVox dice que la función puede mejorar marginalmente los detalles de la imagen en movimiento, al mismo tiempo que reduce la pixelización. Desafortunadamente, esto da como resultado una mejora apenas perceptible en la nitidez. Por lo tanto, probablemente valga la pena encenderlo si tiene suficiente margen de codificación, pero probablemente debería ser una de las primeras cosas que apague si encuentra problemas con el retraso del codificador.
Desafortunadamente, EposVox no realizó ninguna prueba de rendimiento con la función exclusivamente en su nuevo video, pero aparentemente la función funciona bien en el juego en vivo. Al menos en la nueva Actualización Beta de OBS 28.
El análisis previo no salvará el AMF del codificador AV1 de Intel
PreAnalysis no puede salvar el codificador AMF de AMD del nuevo codificador AV1 de Intel, que domina todas las ofertas de H.264, como se muestra en nuestra cobertura anterior.
No podemos comparar los resultados de Code Calamity con los que muestra EposVox en nuestro artículo anterior sobre AV1. Aún así, es fácil ver que PreAnalysis sería fácilmente destruido por el codificador AV1 de Intel.
Para resumir rápidamente, el codificador AV1 integrado en las nuevas GPU discretas Arc de Intel superó tanto al codificador NVENC de Nvidia como al AMF de AMD en un sorprendente 16 % en las pruebas de juegos en tiempo real.
Puede que no parezca mucho, pero en comparación con las ganancias de rendimiento del 1-2% al agregar B-Frames y Pre-Análisis a AMF, es una diferencia entre el día y la noche. Como resultado, no hay duda de que su comportamiento seguirá siendo el mismo, con resultados de rendimiento que no se acercan a los del codificador AV1 de Intel.
Pero esto no es del todo sorprendente. En este punto, parece que tanto AMD como Nvidia (probablemente Intel también con QuickSync) han alcanzado los límites absolutos de las capacidades de H.264, con mejoras en el rendimiento de codificación de hardware casi estancadas desde 2018, con el lanzamiento de la serie RTX 20. Entonces, con la atención de todos ahora en AV1, tendremos que esperar a que AMD construya un nuevo codificador AV1 para Radeon 7000 antes de que veamos cambios de calidad de video muy mejorados.