Things are not as easy as they seem to look. After plenty of debugging and testing on hardware I was finally able to get the debug code working. I haven't implemented the part which outputs size of encoded data because it is a 3 byte value and I didn't have the foresight to write a very generalised code. Other debug data are 1 byte.
So this is what I get from the UART. By the way I am using the test image and encoding quality of 50%.
Writing + processing time = 40 ms => 25 fps. So I *guess* we are losing 10 milliseconds in sending the data. (will check this).
So I guess we know what our bottleneck is : When image is written into ddr2, it is not processed and when image is processed, image is not written into ddr2.
So this is what I get from the UART. By the way I am using the test image and encoding quality of 50%.
- Input Frame Rate: 60 Hz. This is what it is suppose to be.
- Output Frame Rate: ranges from 15 to 21. So lets take the average value to be 18.
- Time taken to write frame into DDR2 Ram: 16-17 ms. This is what I approximated
- Time taken for encoder to compress: 23 ms Again I was close
- No. of frames dropped: 2
Writing + processing time = 40 ms => 25 fps. So I *guess* we are losing 10 milliseconds in sending the data. (will check this).
So I guess we know what our bottleneck is : When image is written into ddr2, it is not processed and when image is processed, image is not written into ddr2.
No comments:
Post a Comment