You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I set output->buffer_num=8,so the vcsm applied for 8 buffers in GPU memory.
Rawcam sent a pair of buffers(MMAL_WORKER_BUFFER_TO_HOST message) with the same timestamp,then it had been Stop sent the next image frame until it received a pair of buffers(MMAL_WORKER_BUFFER_FROM_HOST message).
If rawcam wait for a long time,it would lost some image frame.
Is there any way to solve this problem?
The text was updated successfully, but these errors were encountered:
vc.ril.rawcam will accept an buffers. It will write them with incoming data, and return 2 buffers with the same timestamp each time it receives a Frame End short packet on the CSI interface. One buffer is the image data (data that matches the configured CSI-2 data type) and one buffer gets the MMAL_BUFFER_HEADER_FLAG_CODECSIDEINFO flag set and contains any data which does not match the image CSI-2 data type.
When you send stop to the image sensor it will stop producing frames. vc.ril.rawcam will see no more Frame End packets, so will stop producing buffers until mmal_port_disable is called (which then flushes all buffers back to the client).
Dear 6by9:
Thank you for your reply.I am sorry my english is pool.I mean that the vc.ril.rawcam can't take full advantage of the buffers.
For example,output->buffer_num=8.When I don't call "mmal_buffer_header_release(buffer)" in callback(), the vc.ril.camera is going to send eight pieces of image data to fill the buffers and then stop and wait for our program to process it.
But in the same situation, the vc.ril.rawcam is going to just send two pieces of image data to fill the buffers and then stop and wait for our program to process it.
So "output->buffer_num=8" or "output->buffer_num=2" have the same effect on vc.ril.rawcam.This is the result of my experiment.
When my program is interrupted by a high-priority process, it may not be able to process the image frame enough to lose frames.That's why I want to solve this problem.
I set output->buffer_num=8,so the vcsm applied for 8 buffers in GPU memory.
Rawcam sent a pair of buffers(MMAL_WORKER_BUFFER_TO_HOST message) with the same timestamp,then it had been Stop sent the next image frame until it received a pair of buffers(MMAL_WORKER_BUFFER_FROM_HOST message).
If rawcam wait for a long time,it would lost some image frame.
Is there any way to solve this problem?
The text was updated successfully, but these errors were encountered: