Curtis Wald

i.MX53 ARD simultaneous video pass thru and GPU OpenVG tiger -blog archive

Discussion created by Curtis Wald Employee on Nov 2, 2011

This blog describes using an i.MX53 ARD (SABRE Autoinfotainment) platform to run two applications:

  1. analog video pass thru and
  2. executing the OpenVG tiger using the GPU

and then measure CPU utilization with the top command. Each application averaged roughly 20% - 24% utilization for a total of just under 50% when both were running.

Reference: tv-in-demo-for-ard-a-simple-how-to

Setup:

  • Ubuntu host 10.10 Maverick running in VMware
  • i.MX53 ARD Linux 11.05.01 - downloaded from freescale.com
  • GPU SDK 1008 - downloaded from freescale.com
  • SD/MMC card boot mode

 

Building:

Linux

ltib choices: imx5x, a minimum file system, u-boot mx53_ard_ddr3.

The imx_test should be selected which populates in the root filesystem /unit_tests.

GPU SDK

The modifications from the default GPU SDK are in the gpusdk1008-imx53.patch - see Collateral section below - contained in imx53ard-video-tiger.tgz. Refer to the documentation accompanying the GPU SDK download for details on building.

The application is vg_tigersample_fbdev0 which is included below in the tgz.

A  difference was to remove the *render* print statements when the tiger demo was run.

Running

Once the SD card has u-boot, linux, and the root filesystem, vg_tigersample_fbdev0 was copied into the /unit_tests directory by using a card reader on the Ubuntu Host and then copying from the build directory. The scripts were developed when running the i.mx53 ard using vi and logged in as root.

 

Please refer to tv-in-demo-for-ard-a-simple-how-to for which input is needed for connecting the camera and the lvds Hannstar display.

 

The steps from tv-in-demo-for-ard-a-simple-how-to were captured in scripts and additional scripts are:

loadmod.sh - install all the modules needed to support the tvin pass thru video. This only needs to be run once.

videoin-1024-768.sh - Display 1024x768 camera video pass thru window

videoin-320-240.sh - Display a 320x240 camera video pass thru window

vg_tigersmaple_fbdev0 - run the OpenVG tiger demo using /dev/fb0

videoin.sh - allow for dynamic window size and rotation of camera video pass thru.

 

For Camera video demonstration:

Install the modules

# ./loadmod.sh

 

# ./videoin-1024-768.sh

# C-c to exit (Control c)

 

# ./videoin.sh 1024 768 0

ARGS: $1 is x , $2 is y, $3 is rotation - see script for possible combinations range 0:7

 

To execute both applications and measure CPU utilization:

(assume modules are already loaded from loadmod.sh)

# videoin-320-240.sh&

# /unit_tests/vg_tigersample_fbdev0&

# top

Collateral

imx53ard-video-tiger.tgz

./loadmod.sh - install modules for camera tvin
./videoin-1024-768.sh - 1024x768 window for camera tvin
./videoin.sh - setup window for camera tvin $1 is x , $2 is y, $3 is rotation - see script for possible combinations range 0:7
./gpusdk1008-imx53.patch - patch for gpu sdk to build for this demo on i.mx53
./vg_tigersample_fbdev0 - modified tiger application
./videoin-320-240.sh - 320x240 window for camera tvin

Here is pass thru window 320x240 of analog video and the OpenVG tiger running imx53ard-video-tiger.wmv

Outcomes