How to render graphical UI on top of video

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to render graphical UI on top of video

1,847件の閲覧回数
mikejanzen
Contributor I

Goal:

We want to use Qt to put user interface elements (e.g. menus, icons) on top of the video output along the lines of what is discussed here in the FTF workshop "Simplify Graphical User Interface and Video Integration for i.MX 6":

https://cache.freescale.com/secured/training/doc/ftf/2014/FTF-CON-F0223.pdf?__gda__=1431384278_4603c...

Background:

We (www.aimetis.com) developed a ThinClient product that renders video efficiently from multiple gstreamer pipelines concurrently without X11 (we are using EGL/OpenGL directly).  We currently have a separate process per video panel being rendered.  We are using the following environment:

i.MX6 Dual

Yocto 1.7

Linux 3.10.17

gstreamer 1.2.3

gstreamer-imx (GPU accelerated gstreamer sink)

Questions:

  1. Where can I download all the source code for the above workshop?
  2. The approach referenced in the workshop depends on being able to render video to a background linux framebuffer (/dev/fb0) and UI to a different linux fb (/dev/fb1).  How do I configure the linux framebuffers?
    1. How do I set resolution and bit depth of a framebuffer?  I know there is an fbset command, but it seems to be limited.  I also know there are kernel params  (e.g. video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 gpu_memory=256M).  My 4 framebuffer settings are listed below.  Note that there is only one framebuffer set to 1080p.  I will need both the fg and bg framebuffers set to 1080p.
    2. How to link the Linux framebuffers so that Vivante composites them as a foreground and background buffer?  fbset doesn't tell me the foreground/background info (or let me set it), but
      cat /sys/class/graphics/fb0/name
      somehow gives further detail "DISP3 BG".
  3. How do I make a program output graphics to a particular frame buffer (assuming I can do everything from #2 above):
    1. gstreamer video decoding process render to fb0.  The sink filter is using EGL/OpenGL ES.
    2. Qt UI process render to fb1.  We will be using the eglfs platform.

My framebuffer settings:

root@imx6qsabresd:~# fbset -s -fb /dev/fb0

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

    hsync high

    vsync high

    rgba 5/11,6/5,5/0,0/0

endmode

root@imx6qsabresd:~# fbset -s -fb /dev/fb1

mode "240x320-60"

    # D: 4.608 MHz, H: 19.200 kHz, V: 60.000 Hz

    geometry 240 320 240 960 16

    timings 217013 0 0 0 0 0 0

    rgba 5/11,6/5,5/0,0/0

endmode

root@imx6qsabresd:~# fbset -s -fb /dev/fb2

mode "1024x768-60"

    # D: 65.003 MHz, H: 48.365 kHz, V: 60.006 Hz

    geometry 1024 768 1024 768 16

    timings 15384 220 40 21 7 60 10

    rgba 5/11,6/5,5/0,0/0

endmode

root@imx6qsabresd:~# fbset -s -fb /dev/fb3

mode "240x320-60"

    # D: 4.608 MHz, H: 19.200 kHz, V: 60.000 Hz

    geometry 240 320 240 960 16

    timings 217013 0 0 0 0 0 0

    rgba 5/11,6/5,5/0,0/0

endmode

ラベル(5)
2 返答(返信)

916件の閲覧回数
yyuan
Contributor III

hello

please

do you solve it?

if ti is, please help me?

thank you

0 件の賞賛

916件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Mike,

The scope of community free support is to provide help and guidance during the development of your application. On the other hand, the Source code of the requested application and its development support need to be routed to the Freescale Engineering Services team at

Professional Engineering Services|Freescale

Regards

0 件の賞賛