I'm working on a project that uses the #i.mx6 gpu (#imx6 opengl to convert the #bayer image from a CMOS camera to RGB in #IMX6QuadPlus. I'm planning to use the GPU output as an IPU input. In order to do this I'm trying to use #VirtualFrameBuffers but I get the following error:
fbset -fb /dev/fb2 -g 1280 720 1280 720 32 -t 13468 220 110 20 5 40 5 -rgba 8/16,8/8,8/0,8/24
(NULL device *): Unable to allocate framebuffer memory
detected fb_set_par error, error code: -12
ioctl FBIOPUT_VSCREENINFO: Cannot allocate memory
fbset -fb /dev/fb0 -i
mode "1280x720-60"
# D: 74.250 MHz, H: 45.000 kHz, V: 60.000 Hz
geometry 1280 720 1280 720 32
timings 13468 220 110 20 5 40 5
hsync high
vsync high
rgba 8/16,8/8,8/0,8/24
endmodeFrame buffer device information:
Name : DISP4 BG
Address : 0x62100000
Size : 3686400
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 1
LineLength : 5120
Accelerator : Nofbset -fb /dev/fb1 -i
mode "240x320-60"
# D: 74.250 MHz, H: 45.000 kHz, V: 60.000 Hz
geometry 240 320 240 960 32
timings 13468 1260 110 20 405 40 5
rgba 8/16,8/8,8/0,8/24
endmodeFrame buffer device information:
Name : DISP4 FG
Address : 0x62500000
Size : 921600
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 1
LineLength : 960
Accelerator : Nofbset -fb /dev/fb2 -i
mode "128x128"
geometry 128 128 128 128 16
timings 0 0 0 0 0 0 0
rgba 5/11,6/5,5/0,0/0
endmodeFrame buffer device information:
Name : virt_fb0
Address : (nil)
Size : 0
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 1
LineLength : 5120
Accelerator : Nofbset -fb /dev/fb3 -i
mode "128x128"
geometry 128 128 128 128 16
timings 0 0 0 0 0 0 0
rgba 5/11,6/5,5/0,0/0
endmodeFrame buffer device information:
Name : virt_fb1
Address : 0x62008000
Size : 32768
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 1
LineLength : 256
Accelerator : No
What am I doing wrong here?
###
Is there an example of GPU to IPU communication?
Hi Juan
one can look at community efforts
GitHub - scottellis/bayer2rgb: Use OpenCV to convert a raw bayer image from a sensor to rgb
performance - OpenCL bayer to rgb slower than CPU version - Stack Overflow
and sect.7.3.15 Video conversion attached Linux Guide
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
What I want to do is process with the GPU, convert from Bayer format to RGB, and then leave it in memory to be processed by the IPU. In similar forum posts and in the example of imx-gpu-sdk-2.3.2/DemoApps/GLES2/DeBayer use OpenGL to do this conversion, but display it on screen or use vpu.
What I want is to create a virtual frame buffer so that I can access the GPU output from the IPU, is that correct?
Are there any examples of this?