When capturing from /dev/video32 (YUV), the Y part is
transmitted correctly, but the UV part gets truncated
after 131072 bytes. I already figured out why this
occurs: in ivtv-irq.c, in the function ivtv_sched_DMA,
buffers are allocated for the DMA transfer. The buffers
have the total size of bytes_needed, rounded towards
the nearest boundary of 128k.
However, when using YUV, the Y and UV parts are
transferred in different buffers, so we need to pad the Y-
part to a 128K boundary, and we need to pad the UV-
part to such a boundary as well, ie. in some cases (for
example 720x576 YUV capture) the total amount of
bytes to pad is > 128K and in the current situation there
is one buffer too few allocated.
I made a quick hack, but as I don't know about
programming conventions etc, I think it's better that
someone of the developers can fix this permanently.
BTW. I'm using the ivtv-0.1.10-pre2-ck115i.