omap3isp: sequence number in v4l2 buffer not incremented
Hello,
we have an omap based intelligent camera and
image sensor is connected to camera parallel interface. Image capturing via "CCDC output" works fine.
When streaming is on and reading "sequence" variable, it shows always -1.
Looking at kernel-source ispvideo.c, i found following if-else statement:
/* Do frame number propagation only if this is the output video node.
* Frame number either comes from the CSI receivers or it gets
* incremented here if H3A is not active.
* Note: There is no guarantee that the output buffer will finish
* first, so the input number might lag behind by 1 in some cases. */
if (video == pipe->output && !pipe->do_propagation)
buf->vbuf.sequence = atomic_inc_return(&pipe->frame_number); else buf->vbuf.sequence = atomic_read(&pipe->frame_number);
When i change to
if (video == pipe->output && pipe->do_propagation)
...
the sequence variable is incremented.
So my questions:
Could it be that "pipe->do_propagation" should be tested on true and not on false?
If my changes are wrong, is there a reason why the sequence is not incremented?
Thanks,
Kruno Mrak
MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Erhard Meier