Surround View Demo With Linux Fast Boot Review

Showing results for 
Search instead for 
Did you mean: 

Surround View Demo With Linux Fast Boot Review

No ratings

Surround View Demo With Linux Fast Boot Review

In an earlier topic (Linux fast boot on i.MX6 Sabresd board.) about Linux fast boot on i.MX6 SabreSD board, the demo showed an application startup procedure including u-boot boot, Linux kernel boot, rootfs mount, demo application load and run. Additionally, this demo shows a live video on a LVDS screen from board CSI camera. Its total boot up time is about 1.x seconds.

Now, based on Linux fast boot, we integrate it with another demo application: surround view, this demo shows 4 different live videos on LVDS screen from 4 UDP data sockets. In this demo video is drawn by GPU to screen, that means the frame buffers decode by video decoder directly pass to GPU, which is not same as previous demo. The encode video format is also MJPEG in this demo.

This demo creates 4 different threads every thread handle one UDP socket, receive buffer, push this buffer to video decoder, get frame buffer from video decoder, pass this buffer to GPU, start GPU render, command GPU draw the render buffer to the screen; this thread needs to occupy one ARM processor to show every video smoothly. So we need a i.MX 6DQ board in this demo.

Hardware: i.MX 6DQ SabreSD board

Software: 12.09 GA BSP

Difference with previous fast boot demo:

U-boot difference with previous fast boot demo.

1: Add logo show. (For remove CSI2, V4L2, Capture modules )

Kernel different with previous fast boot demo.

1: Add SMP support.

2: Add Network support. (IPV4, PHY, network driver(FEC))

3: Remove CSI2, V4L2, Capture. (Remove this need in U-boot procedure Freescale logo show on the screen! )

4: Add GPU support in kernel.

Rootfs difference with previous fast boot demo:

1: Keep rc.s firstly run, while in previous fast boot demo, demo is the firstly running program on rootfs.

2: Get rid of almost all service in rc.conf just keep “mount /proc and /sys” service.

Network performance on this demo

Software :

The default network receive buffer is about 128KB. This default size is too small for this demo; the demo application can't fetch receive buffer in time while kernel network stack will discard some UDP packets if we don't enlarge it.

We enlarge this receive buffer through command in inittab before demo running.


i.MX6 DQ TOI less than 1.2 version has some Ethernet mac layer issue, this issue will also cause some

UDP packets lost. So please ensure the SabreSD board i.MX6 DQ chip TOI version is equal 1.2 or more.

Attached are some files for your reference. Below patches assume this SabreSD board boot from SD3 and default display port is LVDS1.

1: U-boot and kernel patches based on 12.09.

2: Demo application based on 12.09 vpu test program and vpu test program running configure file.

3: Rootfs startup scripts.

Labels (2)
Tags (3)


How to create the 'd8.h' in the vpu_test.tar.bz2?

My problem is how to create the 3D model  file ‘d8.obj’ . Image cropping is difficult if I use the array of  ‘D8.h’.

I can create XXX.obj myself by MAYA, but It’s simple plane and can’t do fish-eye video correction.


You can do fish-eye calibration on the texcoords using software.

My question is since it's surround view, so there will be four parts for textures, how to cut one plane into four parts using maya?

Version history
Revision #:
1 of 1
Last update:
‎03-04-2013 11:41 PM
Updated by: