Maybe it is a cache issue.
For IPU dev, the memory works in noncache write buffer mode (alloced with dma_alloc_coherent(), L_PTE_MT_BUFFERABLE), in fact after mxc_ipu_lib_task_buf_update(), the memory data is correct, but when CPU access those memory, it will get the cached old data (because DMA updates that memory so CPU doesn’t know they are updated), to avoid such issue, dma_sync_single_for_cpu() can be called.
The customer can add an ioctl in IPU dev driver to call dma_sync_single_for_cpu() for the ipu lib output buffer.