mfw_isink framebuffer format for hdmi 24 bit

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

mfw_isink framebuffer format for hdmi 24 bit

1,089 Views
andreapicaro
Contributor I

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

Labels (3)
0 Kudos
4 Replies

746 Views
Yuri
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

746 Views
andreapicaro
Contributor I

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

0 Kudos

746 Views
Yuri
NXP Employee
NXP Employee

The following may be helpful :

[mfw_isink]What is this problem (vssconfig-->format=RGB3)

Regards,

Yuri.

0 Kudos

746 Views
andreapicaro
Contributor I

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.

0 Kudos