Converting raw 8 data from FPGA to YUV on FX3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
user_4067446
Level 1
Level 1
First like given

Hi,

We are working on a solution that involves transmitting 5120x720 video at 60fps, from FPGA through FX3 (32-bit parallel interface) to PC (USB3)

Each pixel size is 8-bit and since UVC does not support raw image data we want to convert the 8 bit pixels to 16 bit pixels by apending a color byte 127 (which means grayscale in YUV format). We want to perform this conversion in the FX3 before transmitting the data to the PC

That way our RAW 8 pixels from FPGA will be converted to YUV format and we can view the video on the PC through UVC.

Is this possible? If not, what is an alternative way viewing the data on the PC without using a custom windows driver.

Thanks,

0 Likes
1 Solution
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

Hello,

It is not recommended to perform a lot of processing over the incoming video stream inside FX3 when using for UVC applications.

If doing so, this might make the CPU overloaded and you may experience frame losses and data corruption.
So, you can try the 127 color byte addition to the stream in the FPGA itself instead of performing it in FX3. This would make the video stream run undisturbed, provided the FPGA streams the converted greyscale image in YUV format to FX3 correctly.

Alternatively, you can send the RAW8 data to the host via FX3 as a packed YUV frame but will need a custom host application to decode the video stream and extract the image from the video stream. This way, there won't be a need to append the 127 color byte.

The standard UVC host applications cannot decode the incoming RAW8 video stream and would discard it.

To avoid it, you can pack the RAW8 stream as YUV and send it to the host, and the UVC driver will accept the data assuming it is YUV formatted and try to decode it in such a way, but the video won't be proper.
So, it's necessary to create a custom host application to decode this RAW8 assumed to be YUV video format properly.


Regards,
Yashwant

View solution in original post

0 Likes
3 Replies