I'm getting raw rgb565 videoframes over wifi and sending them through the encoder making h.264 video. I'm getting 15 fps and have set the framerate accordingly, but when playing the video in VLC I need to reduce the speed to 33% before it looks right. How do I get the correct speed on the encoded video?
I have used this as example and in stead of reading a file I'm adding a frame from the socket which has been converted using the IPU to 320x240 i420 format v4l2_fourcc('Y','V','1','2') on the i.Mx.6.
https://github.com/Freescale/libimxvpuapi/blob/master/example/encode-example.c
https://github.com/Freescale/libimxvpuapi/blob/master/imxvpuapi/imxvpuapi.h
The framerate set in the example has been tracked to vpu_wrapper.c where it merely sets the userProfile - So where is the framerate adjusted?
for encoding, the framerate parameter in the command line is just a reference number, in fact, the real frame rate you get depends on the timestamp of every frame.