Об этом проекте

ffmpeg-rockchip расширяет FFmpeg аппаратным конвейером транскодирования для платформ Rockchip, поддерживающих MPP (Media Process Platform) и RGA (2D Raster Graphic Acceleration). Он предназначен для таких устройств, как платы на базе RK3588 и RK3588S; фактические ограничения разрешения и FPS зависят от конкретного SoC и его документации. Форк предоставляет декодеры Rockchip MPP для AV1, H.263, H.264, HEVC, MJPEG, MPEG-1, MPEG-2, MPEG-4, VP8 и VP9. Заявленные возможности декодирования включают декодирование H.264, HEVC, VP9 и AV1 до 8K 10 бит, вывод AFBC, деинтерлейсинг на основе IEP, а также режимы аллокатора half-internal и pure-external. Кодировщики MPP доступны для H.264, HEVC и MJPEG с поддержкой кодирования H.264 и HEVC до 8K, асинхронного покадрово-параллельного кодирования и ввода AFBC. Кодирование VP8 через MPP по-прежнему указано как планируемая возможность. Фильтры на основе RGA включают scale_rkrga для масштабирования и преобразования форматов пикселей, vpp_rkrga для масштабирования, обрезки и транспонирования, а также overlay_rkrga для смешивания двух видеопотоков. Фильтры могут работать асинхронно и принимать или создавать изображения AFBC. Проект делает акцент на zero-copy DMA между этапами декодирования, фильтрации и кодирования. Документация по использованию ведется в вики проекта. Для развертывания требуется Rockchip BSP или ядро от поставщика; протестированными указаны ядра 5.10 и 6.1. Пользователю также необходимы права на доступ к соответствующим узлам устройств, среди которых могут быть /dev/dri, /dev/dma_heap, /dev/rga и /dev/mpp_service, а для старых ядер или SoC — дополнительные узлы совместимости. Репозиторий сохраняет стандартные библиотеки FFmpeg и инструменты командной строки для обработки мультимедиа. Это неофициальный форк, не связанный с Rockchip Electronics. В README отмечается, что интеграция MPP и RGA использует конфигурацию FFmpeg на условиях LGPLv3 через ./configure --enable-version3.