Do you know color corruption issue?

cancel
Showing results for 
Search instead for 
Did you mean: 

Do you know color corruption issue?

Jump to solution
84 Views
Senior Contributor I

Hi community,

We have a color corruption issue as attached image.

The bluish-violet part of the image is changed the color from original color.

(Please note that the thoudands of white dot is not issue. These are lots of birds.)

This issue is occurred on MCIMX6Q-SDP and gstreamer in Linux BSP (L3.0.35_4.0.0) when encoding if GOP setting value is large (e.g. gop =15), but it is not occurred unit_test.

Then, we want to know whether same issue was occurred somewhere world wide.

Anyone knows this issue?

Best Regards,

Satoshi Shimoda

Labels (4)
0 Kudos
1 Solution
7 Views
Senior Contributor I

Hi all,

I found the root cause of this issue.

It was a height resolution of movie data.

Actually, VPU seems that it does not encode h.264 correctly if height resolution of yuv data is not multiple of 16 when GOP value is large.

Then, mxc_vpu_test.c in unit_test in L3.0.35_4.1.0 checks the height resolution whether it is multiple of 16 or not.

And if it is not multiple of 16, add some line to the yuv data for changing it to multiple of 16.

On the other hands, gstreamer plug-in (vpuenc.c) for L3.0.35_4.1.0 does not check it, and does not add any line even though it is not multiple of 16.

Please note this point if you use gstreamer plug-in.

Best Regards,

Satoshi Shimoda

View solution in original post

0 Kudos
1 Reply
8 Views
Senior Contributor I

Hi all,

I found the root cause of this issue.

It was a height resolution of movie data.

Actually, VPU seems that it does not encode h.264 correctly if height resolution of yuv data is not multiple of 16 when GOP value is large.

Then, mxc_vpu_test.c in unit_test in L3.0.35_4.1.0 checks the height resolution whether it is multiple of 16 or not.

And if it is not multiple of 16, add some line to the yuv data for changing it to multiple of 16.

On the other hands, gstreamer plug-in (vpuenc.c) for L3.0.35_4.1.0 does not check it, and does not add any line even though it is not multiple of 16.

Please note this point if you use gstreamer plug-in.

Best Regards,

Satoshi Shimoda

View solution in original post

0 Kudos