This media is not supported in your browser
VIEW IN TELEGRAM
⚡Как мы импортировали драйвера MPP в ядро RK3399
Как-то раз к нам пришел заказчик с требованием использовать современное ядро Linux для своего проекта - Linux kernel 6.1. Проект был реализован на базе процессора Rockchip RK3399. Когда мы обратились за поддержкой к производителю, то получили ответ, что стабильное ядро Linux BSP (Board Support Package) - Linux kernel 4.19, и все другое наша проблема.
Наша, так наша. Мы стали разворачивать сами новое ядро Linux kernel 6.1. Конечно, получили немало проблем, с которыми успешно справились и давно имеем стабильное ядро 6.1 для процессора RK3399. Сделали это раньше, чем сам производитель процессора 🔥
Пожалуй, самой сложной проблемой для нас оказался импорт драйвера для работы аппаратного транскодинга из ядра 4.19 в 6.1. Это заняло больше времени, чем мы думали 🤔
Задача была следующая - нужно "брать" изображение с камер, подключенных к устройству и перекодировать его в кодек H.264. При использовании ядра без поддержки аппаратного декодера все 6 ядер процесора начинали сильно нагружаться, что приводило к сильному нагреву и нестабильной работе других функций.
Стало ясно, что нужно импортировать драйвер MPP (Media Process Platform) в ядро 6.1. Было мнооого работы: адаптация кода под API нового ядра, изменения вызовов функций, обновление заголовочных файлов, последующая отладка
и наконец, аппаратный транскодинг заработал. Пришлось ещё отыскать, скомпилировать и заставить работать высокоуровневую утилиту для использования транскодинга - ffmpeg, умеющую работать с аппаратным декодором ROCKCHIP.
В итоге - изображение с камер передаётся в нужном кодеке H.264, нагрузка на процессор пропала, теперь задействован аппаратный декодер внутри процессора. Тестирование на стороне заказчика прошло успешно. Заказчик доволен, а мы уверены, что и не такое сможем сделать 😎
А через две недели, после того как мы выдохнули, поддержку этой функции выпустил и сам производитель. Иногда так бывает ☺
#историяуспеха #гаоди
Как-то раз к нам пришел заказчик с требованием использовать современное ядро Linux для своего проекта - Linux kernel 6.1. Проект был реализован на базе процессора Rockchip RK3399. Когда мы обратились за поддержкой к производителю, то получили ответ, что стабильное ядро Linux BSP (Board Support Package) - Linux kernel 4.19, и все другое наша проблема.
Наша, так наша. Мы стали разворачивать сами новое ядро Linux kernel 6.1. Конечно, получили немало проблем, с которыми успешно справились и давно имеем стабильное ядро 6.1 для процессора RK3399. Сделали это раньше, чем сам производитель процессора 🔥
Пожалуй, самой сложной проблемой для нас оказался импорт драйвера для работы аппаратного транскодинга из ядра 4.19 в 6.1. Это заняло больше времени, чем мы думали 🤔
Задача была следующая - нужно "брать" изображение с камер, подключенных к устройству и перекодировать его в кодек H.264. При использовании ядра без поддержки аппаратного декодера все 6 ядер процесора начинали сильно нагружаться, что приводило к сильному нагреву и нестабильной работе других функций.
Стало ясно, что нужно импортировать драйвер MPP (Media Process Platform) в ядро 6.1. Было мнооого работы: адаптация кода под API нового ядра, изменения вызовов функций, обновление заголовочных файлов, последующая отладка
и наконец, аппаратный транскодинг заработал. Пришлось ещё отыскать, скомпилировать и заставить работать высокоуровневую утилиту для использования транскодинга - ffmpeg, умеющую работать с аппаратным декодором ROCKCHIP.
В итоге - изображение с камер передаётся в нужном кодеке H.264, нагрузка на процессор пропала, теперь задействован аппаратный декодер внутри процессора. Тестирование на стороне заказчика прошло успешно. Заказчик доволен, а мы уверены, что и не такое сможем сделать 😎
А через две недели, после того как мы выдохнули, поддержку этой функции выпустил и сам производитель. Иногда так бывает ☺
#историяуспеха #гаоди