Added IP before HDMI out IP not working

Hi,

The buffer you get from the VDMA is always going to have multiple channels per each pixel. So, you want to pack 4x 8-bit into a 1x 32-bit element. In essence, you want to go from 1920x1080x4 unit8 to 1920x1080x1 uint32.

You can try to pack the 4 channels into a single uint32, but it is going to be slow as it involves shifts and multiplications. You can explore numpy frombuffer and tobytes to reinterpret to pixels.

You can try something like this Any method to reduce the calculation time on PS (PYNQ-z2) - #5 by marioruiz

You will get your VDMA buffer then you will create your DMA buffer

buf_a =pynq.allocate((1920,1080), dtype=np.uint32) 

Instead of assigning anything to this buffer you change the physical address to the VDMA buffer

buf_a.physical_address = buf_vdma.physical_address 

Hopefully this would do the trick.

The real question is why do you want to use a DMA for video? The VDMA is optimized for Video

Mario