I've coded the firmware for a CAN-based communication bus for a medical device with lots of different boards talking to each other. This same company had a war industry department and they used this code in a missile project. It left a weird taste in my mouth.
Btw, they got an early version that had a memory leak, and when I went to warn them, they just said: "It's okay! It's just going to run for about 20 seconds!"
That is a good reason to need a non trivial amount of memory, but I don't think it means there needs to be dynamically allocated memory. That basically implies that there is something unknown ahead of time, but specs, limitations, resolution fps, etc. should all be static.
Btw, they got an early version that had a memory leak, and when I went to warn them, they just said: "It's okay! It's just going to run for about 20 seconds!"