Аппаратное кодирование с помощью Nanopi2 Fire под Linux

Я пытаюсь кодировать необработанные кадры с помощью nanoPi 2.
Я основал API для этого:
https://github.com/friendlyarm/nexell_linux_platform

В соответствии с nx_video_api.h мне нужно открыть устройство, инициализировать его, выделить память для кадра ввода и вывода, а затем нажать кодирование с помощью «NX_VidEncJpegRunFrame».

Однако в этом проблема, может ли кто-нибудь помочь мне с выделением памяти для этой структуры «NX_VID_ENC_IN»?
Как поставить сырой кадр там? Какой формат пикселя это должно быть?
Как прочитать данные обратно из «NX_VID_ENC_OUT»?

Я не могу найти образец или учебное пособие для кодирования hw на этом чипе, поэтому любой пример будет очень ценным.

1

Решение

От проекта Github в вопросе theser является примером, который показывает, как использовать NX_VidEncJpegRunFrame (в NXJpegHWEnc.cpp).

Вы можете выделить структуру NX_VID_ENC_OUT в стеке, выходной буфер будет выделен NX_VidEncJpegRunFrame:

NX_VID_ENC_OUT encOut;
NX_VidEncJpegRunFrame(hEnc, &memInfo, &encOut);

Далее вы можете получить доступ к буферу encOut.outBuf из encOut.bufSize,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]