Я пытаюсь кодировать необработанные кадры с помощью 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 на этом чипе, поэтому любой пример будет очень ценным.
От проекта 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
,
Других решений пока нет …