I need code written in pure C that can decode a stream of h.264 video (basic profile) and extract the raw frames onto a flash chip.
The processor it will run on is an STM32f411 arm (4) microcontroller
The frames are less than 200X200 px (either 128x128,150x150 or 200x200) and the processing does NOT have to be done in real time - anything at least 3fps is acceptable.
The input will always be encoded in yuv420p pixel format basic profile
(ffmpeg options: "-c:v libx264 -profile:v baseline -pix_fmt yuv420p -strict experimental")
in detail:
The device has a bluetooth chip that receives a short video of the wire (<20sec) and needs to write the raw frames out to the flash as they arrive, in a forward only stream method (you can use your own buffers, but they must be less than 3k).
The output format should be a full raw frame of 16bit per pixel (so 565)
The current implementation we have decodes GIF files at this rate, but we lose quite a bit of the colors (only 256) and the compression is not as good.