我正在尝试用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编码的示例或教程,所以任何一个例子都会非常受欢迎。
答案 0 :(得分:0)
在问题中的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
。