PDA

View Full Version : ARM Cortex-A9 support



JohnMiller
05-04-2017, 10:41 AM
Hello,

We are investigating the feasibility of using NDI in our product which uses a dual core ARM Cortex-A9 processor. I have downloaded the SDK and compiled the examples and they execute but produce some errors

[ 433.121109] Alignment trap: NDIlib_Send_Vid (2303) PC=0x0002651c Instr=0xe1cc40d0 Address=0x0015a175 FSR 0x011
[ 433.133618] Alignment trap: NDIlib_Send_Vid (2303) PC=0x00026550 Instr=0xe0cc00f8 Address=0x0015a175 FSR 0x811
[ 433.175340] Alignment trap: NDIlib_Send_Vid (2303) PC=0x0002651c Instr=0xe1cc40d0 Address=0x0015ceb5 FSR 0x011
[ 433.185368] Alignment trap: NDIlib_Send_Vid (2303) PC=0x00026550 Instr=0xe0cc00f8 Address=0x0015ceb5 FSR 0x811

And although the example continues to run it does not produce a video stream, at least not one that is recognized by the Sienna NDI Monitor. The same code compiled for an x86 host works fine.

So i have a few questions that i hope someone can help me with.

1) Is the NDI library supported for the ARM Cortex-A9 ?

2) We have a hardware codec that takes our composite HDMI video and converts it to H264 and it appears in linux as a v4l2 device (effectively a webcam), is it possible to use that h264 stream to reduce the the load on the ARM processor when converting to NDI ?

Thank you in advance,
-John Miller

livepad
05-05-2017, 04:34 AM
Hello,

We are investigating the feasibility of using NDI in our product which uses a dual core ARM Cortex-A9 processor. I have downloaded the SDK and compiled the examples and they execute but produce some errors

[ 433.121109] Alignment trap: NDIlib_Send_Vid (2303) PC=0x0002651c Instr=0xe1cc40d0 Address=0x0015a175 FSR 0x011
[ 433.133618] Alignment trap: NDIlib_Send_Vid (2303) PC=0x00026550 Instr=0xe0cc00f8 Address=0x0015a175 FSR 0x811
[ 433.175340] Alignment trap: NDIlib_Send_Vid (2303) PC=0x0002651c Instr=0xe1cc40d0 Address=0x0015ceb5 FSR 0x011
[ 433.185368] Alignment trap: NDIlib_Send_Vid (2303) PC=0x00026550 Instr=0xe0cc00f8 Address=0x0015ceb5 FSR 0x811

And although the example continues to run it does not produce a video stream, at least not one that is recognized by the Sienna NDI Monitor. The same code compiled for an x86 host works fine.

So i have a few questions that i hope someone can help me with.

1) Is the NDI library supported for the ARM Cortex-A9 ?

2) We have a hardware codec that takes our composite HDMI video and converts it to H264 and it appears in linux as a v4l2 device (effectively a webcam), is it possible to use that h264 stream to reduce the the load on the ARM processor when converting to NDI ?

Thank you in advance,
-John Miller

Hi John.

1) We have used NDI_Send on Arm Cortex A53 devices and on iPhones / iPads and it works. I can't comment on A9 specifically. It can sometimes be a bit of a struggle to encode NDI in real time and full size on ARM but this may improve in the future with code optimisation.

2) No, it wont help to go via H.264, rather it will make the job more onerous since you will need to do H.264 decompression as well.