Los decodificadores de vídeo Rockchip RK3588 y RK3576 obtienen soporte principal en Linux

Collabora ha anunciado soporte principal en Linux para la decodificación de hardware de vídeo H.264 y H.265 en los sistemas en chip Rockchip RK3588 y RK3576. Este desarrollo pone fin a la dependencia de kernels BSP específicos del proveedor para estas funciones. La actualización incluye nuevos controles de API y correcciones para problemas de hardware.

Los SoC Rockchip RK3588 y RK3576, junto con variantes como el RK3588S y el RK3576J, incorporan los decodificadores de vídeo VDPU381 y VDPU383 respectivamente. Hasta ahora, la decodificación de hardware de los formatos H.264 (AVC) y H.265 (HEVC) requería el kernel BSP de Rockchip. El trabajo reciente de Collabora introduce soporte upstream en Linux mediante una serie de 17 parches que añaden funcionalidad de decodificador, enlaces de device tree y nodos para dispositivos. Los SoC Rockchip RK3588 y RK3576, junto con variantes como el RK3588S y el RK3576J, incorporan los decodificadores de vídeo VDPU381 y VDPU383 respectivamente. Hasta ahora, la decodificación de hardware de los formatos H.264 (AVC) y H.265 (HEVC) requería el kernel BSP de Rockchip. El trabajo reciente de Collabora introduce soporte upstream en Linux mediante una serie de 17 parches que añaden funcionalidad de decodificador, enlaces de device tree y nodos para dispositivos. Las mejoras clave incluyen nuevos controles de API de espacio de usuario V4L2 HEVC para manejar conjuntos de imágenes de referencia (RPS) a corto y largo plazo. Estos controles son esenciales para los decodificadores VDPU381 y VDPU383, a diferencia de otros que pueden obviarlos. Las aplicaciones de espacio de usuario ahora deben proporcionar tablas RPS completas al kernel. El soporte para estos controles se ha añadido a GStreamer 1.28, con integración preliminar en FFmpeg, y facilita la compatibilidad con Vulkan Video Decode. El controlador de decodificador sin estado virtual (visl) también se ha actualizado para rastrear todos los parámetros de control. Una corrección notable aborda un problema de restauración IOMMU: dado que el IOMMU está integrado en los decodificadores, los reinicios borran los mapeos de direcciones, pero el kernel anteriormente los trataba como válidos. El parche restaura los mapeos en caché después del reinicio, afectando a otros bloques IP de Rockchip como el acelerador gráfico 2D RGA. Para la programación de registros, los ingenieros adoptaron un modelo basado en estructuras C en lugar de escrituras ad hoc para garantizar que todos los registros se establezcan en el orden correcto, evitando inconsistencias incluso con valores predeterminados. Este enfoque promueve la exhaustividad y prepara para el uso multi-núcleo. Se espera que los parches se fusionen en Linux 7.1, aproximadamente tres meses después del lanzamiento de Linux 6.19 en febrero. Los esfuerzos futuros de Collabora incluyen decodificación multi-núcleo en el RK3588, soporte AV1 para el RK3576, VP9 para el RK3588 y compatibilidad VDPU346 para SoC RK356X. Hay un resumen detallado disponible en el sitio web de Collabora.

Artículos relacionados

Los desarrolladores han lanzado el kernel de Linux 7.0, que incluye mejoras para el hardware de Intel y AMD, una gestión mejorada del almacenamiento y la eliminación de la etiqueta experimental del soporte para Rust. Linus Torvalds anunció la actualización, la cual no es una versión de soporte a largo plazo. El lanzamiento incluye preparativos para las futuras CPU y GPU, junto con capacidades de autorreparación del sistema de archivos.

Reportado por IA

El soporte para las CPU rusas Baikal está siendo retirado del núcleo de Linux durante el ciclo de desarrollo 7.1. Los primeros cambios eliminaron código de controlador específico fusionado por Linus Torvalds el 15 de abril. Existen parches adicionales en cola para eliminar las vinculaciones de árbol de dispositivos y los controladores restantes.

Este sitio web utiliza cookies

Utilizamos cookies para análisis con el fin de mejorar nuestro sitio. Lee nuestra política de privacidad para más información.
Rechazar