i.MX6 mfw_isink color quantization artifact "Posterization"

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 mfw_isink color quantization artifact "Posterization"

Jump to solution
1,195 Views
Tarek
Senior Contributor I

Hi, I'm using mfw_isink on  i.MX6D for displaying and resizing the video. The image contains several regions of colors instead of a continuous gradation of tone. The problem seams to be more obvious on wide surfaces like a ceiling or a wall.

This snapshot shows the color contours on the ceiling:

posterization.jpg

Is there away to reduce this effect?

My command line:

console=ttymxc3,115200 video=mxcfb0:dev=hdmi,1920x1080@60,bpp=32,if=RGB24 root=/dev/mmcblk0p1 rw rootwait rootfs=ext3 enable_wait_mode=off consoleblank=0 video=mxcfb1:off video=mxcfb2:off maxcpus=2 kmemleak=on

Thanks

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

I found the problem was  /dev/fb1 bpp=16 and I wanted it to be 32.

The format in /usr/share/vssconfig was incorrect format = RGBP

and I changed it to  format =  ABGR

Now /dev/fb1 bpp=32 and the picture quality is fine.

View solution in original post

0 Kudos
6 Replies
761 Views
Tarek
Senior Contributor I

Another screenshot to show the problem:

i.MX6: "Please note the contours effect in the white area which dosn't exists in the second image" 

wall1#.jpg

PC software decoder "The white color grading is continuous ":

wall2.jpg

Can Freescale please explain such effect and how to improve it?

0 Kudos
761 Views
Tarek
Senior Contributor I

IPU team,

I have used SW decoder in order to identify whether it's IPU or VPU. This is my pipeline:

gst-launch-0.10 souphttpsrc location=$HTTP !  video/mpeg,  mpegversion=4  ! typefind ! mpeg4videoparse  ! ffdec_mpeg4  ! ffmpegcolorspace  !  mfw_isink sync=true

I still see the same problem so I think it's most likely to be the IPU.

Can you please give us advise?

Thanks

0 Kudos
761 Views
Tarek
Senior Contributor I

To further narrow it down I used v4l_sink. It turned out that the problem is only when using mfw_isink.

Is there anyway to improve the situation?

0 Kudos
762 Views
Tarek
Senior Contributor I

I found the problem was  /dev/fb1 bpp=16 and I wanted it to be 32.

The format in /usr/share/vssconfig was incorrect format = RGBP

and I changed it to  format =  ABGR

Now /dev/fb1 bpp=32 and the picture quality is fine.

0 Kudos
761 Views
joanxie
NXP TechSupport
NXP TechSupport

how about changing the mfw_isink to mfw_v4lsink? isink has the worst performance than v4lsink, pls try it.

0 Kudos
761 Views
Tarek
Senior Contributor I

I have to use mfw_isink in my application. I need to play multiple streams simultaneously in addition to scaling and positioning all of which not supported by mfw_v4lsink. Actually this is why we are using i.MX6.

Is there another solution?

0 Kudos