I need to get streaming video working where a source streams video to an embedded platform. This embedded system has an ARM-Cortex-A9 without a GPU or a hardware video decoder.

Unfortunately I don't have control over this platform so I will have to make do with what I have. I need to be able to decode live video with a maximum size of 640x480. I really have no clue what codec is best suited for this job. Bandwidth is less of an issue since it will run on the same network with a cable.

Does anyone have a recommendation of a codec that would be suitable in this situation?

  • Probably mjpeg.
    – SlimSCSI
    Sep 8, 2019 at 20:59
  • You should be able to get away with h.264 at that resolution, especially if you use main or baseline profile. But testing it is probably the only way to be sure.
    – stib
    Sep 9, 2019 at 2:28

1 Answer 1


While I haven't implemented this myself I would suspect Google's VP9 (or VP10) to be a good option.

Considering Android phones use an ARM CPU, the codecs and libraries supporting it should be highly optimized as they've been around for almost 10 years, and Google has a reason to continue improving it. Plus it's royalty free both to play and to encode.

See VP9 on Wikipedia.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.