Good morning,
we have a 24bit hdmi configured with bootargs "video=mxcfb0:dev=hdmi,1920x1080@60,if=RGB24,bpp=32"
when trying to use mfw_isink we can't find a correct configuration in vssconfig for frame buffer format, tested RGB4, RGBA, BGR4, BGRA and ARGB
but they all produce wrong colors.
What could be the correct configuration for it?
Thank you for your help
Hello,
why do not try standard
format = RGBP
Please refer to section 7.6.2 (mfw_isink usage) of "i.MX_Linux_User's_Guide.pdf" (L3.14.28)
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Yuri, thank you for your help,
if I try with RGBP I found both wrong color and size, i suppose that its because of blending a 16bit 565 overlay FB over a 32bit one (I have bpp=32 on command line).
On the other hand if I use RGBP for overlay and remove bpp=32 from command line, video is correct but it's because main framebuffer (/fb2 in my case) is set up by default as 16bit 565:
fbset -fb /dev/fb2
mode "1920x1080-60"
# D: 148.500 MHz, H: 67.500 kHz, V: 60.000 Hz
geometry 1920 1080 1920 1080 16
timings 6734 148 88 36 4 44 5
accel false
rgba 5/11,6/5,5/0,0/0
endmode
I do not have two lcd's at moment to make comparison but i suppose that in this case there would be a significant color depth reduction with respect
to 32 bit fb. I'm missing anything?
-----
An other issue arose after setting RGBP overlay is that playing videos over a certain resolution (I would roughly say from 720p up to 1080p) with mfw_isink makes hdmi screen turning off and on with IPU showing long sequences of:
imx-ipuv3 imx-ipuv3.1: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 imx-ipuv3.0: IDMAC12's EBA0 is not 8-byte aligned
imx-ipuv3 imx-ipuv3.0: IDMAC11's EBA0 is not 8-byte aligned
after some seconds if I don't stop the video, HDMI completelly turns off and i can only reboot (disconnecting and reconnecting screen doesn't bring it back on)
during tests i progressivelly tried on command line:
fbmem=28M or 32M or 48M
vmalloc=400M
dmfc=3
which I found googling around but none of them changes result.
Any suggestion on this point?
Thank you again
The following may be helpful :
[mfw_isink]What is this problem (vssconfig-->format=RGB3)
Regards,
Yuri.
Already tried this solution. Modified the mfw_gst_vss_common.c
to add all available formats
switch (fmt) {
case IPU_PIX_FMT_RGB565:
case IPU_PIX_FMT_RGB555:
case IPU_PIX_FMT_YUYV:
case IPU_PIX_FMT_UYVY:
bits = 16;
break;
case IPU_PIX_FMT_YUV422P:
case IPU_PIX_FMT_RGB24: //added
case IPU_PIX_FMT_BGR24: //added
bits = 24;
break;
case IPU_PIX_FMT_BGR32: //added
case IPU_PIX_FMT_BGRA32: //added
case IPU_PIX_FMT_RGB32: //added
case IPU_PIX_FMT_RGBA32: //added
case IPU_PIX_FMT_ABGR32: //ipu_fourcc('A','B','G','R') /*!< 32 ABGR-8-8-8-8 */
//Add new IPU_PIX_FMT_ARGB32 format
case IPU_PIX_FMT_ARGB32: //added
bits = 32;
break;
}
i even tried the extreme change of creating a new format in ipu driver IPU_PIX_FMT_ARGB32 (only ABGR is defined)
but no luck. I always find either colors with blu channel filled at 0xff or Red and Blue swap for all 24 and 32 bit formats.