Downloading and building the IPU examples
IPU examples - v0.1 are available at https://github.com/rogeriorps/ipu-examples
To download, just clone the project:
$ git clone https://github.com/rogeriorps/ipu-examples.git
Follow the README.md on the project root folder to build and install it.
Available demos
Alpha Blending | Basic | Combining | Cropping | Color Space Conversion | Deinterlacing | Resizing | Rotation | |
---|---|---|---|---|---|---|---|---|
i.MX5 | basic_ex1 | rot_ex1 | ||||||
i.MX6 | alpha_ex1 alpha_ex2 | crop_ex1 | csc_ex1 | dint_ex1 | res_ex1 | rot_ex1 |
i.MX5
Basic examples
basic_ex1:
Prints all information from all framebuffers. It uses only the framebuffer device /dev/fb*.
Rotation examples
rot_ex1:
Rotate an image a show on display. This example uses the ipu library instead using directly the /dev/mxc_ipu.
i.MX6
Alpha blending examples
alpha_ex1:
This example shows how to use global alpha blending. It fills layer 1 with white color, an overlay layer with 4 color strips and varies the global alpha blending, showing on display 2 planes at the same time with different transparency rates.
alpha_ex2:
This example shows how to use local alpha blending. This example uses 3 buffers:
1 - Input buffer: Used as layer 1 (background).
2 - Overlay buffer: Used as layer 2 (foreground).
3 - Alpha buffer: Used as alpha buffer, where each pixel will correspond to the transparency value between input and overlay buffers.
When running it will fill input and overlay buffers with solid colors, alpha buffer with 4 different alpha strips and will turn on and off the local alpha blending.
Color space conversion examples
csc_ex1:
This example shows how to use color space conversion. It reads 4 different formats images (RGB565, RGBA32, NV12 and YUYV422) and show them on background framebuffer on a RGB565 format.
Crop example
crop_ex1:
This example shows how to crop an image using "output crop". It fills the input buffer with a solid color and crop the output buffer. The result will be a solid block on the display.
De-interlace example
dint_ex1:
This example shows how to de-interlace a single interlaced frame. The example loads an 320x240 interlaced NV12 image and show on display turning on and off the de-interlace feature.
Resize examples
res_ex1:
This example resizes the image freescale_1024x768.raw (1024x768 RGB565 format) to an 800x480 RGB24 format image, storing into a local file output_file.raw.
Rotation examples
rot_ex1:
This example rotates the image freescale_1024x768.raw (1024x768 RGB565 format) and displays using all rotation modes:
0 - No rotation
1 - Vertical flip
2 - Horizontal flip
3 - 180 degrees
4 - 90 degrees right
5 - 90 degrees right with vertical flip
6 - 90 degrees right with horizontal flip
7 - 90 degrees left
Known issues
Hello,rogeriopimentel
Both IC and DP have the capability of CSC, so I want to know where the CSC action happened in this example(IC or DP)?
Could you tell me?
Thank you!
ZongbiaoLiao
HI,
On csc_ex1.c the CSC is made on IC.
Rgds
Rogerio
Hi, rogeriopimentel
Thank you for your reply!
Then how to modify the csc_ext1.c to let the CSC be made on DP?
Best Regards!
ZongbiaoLiao
Hi Zongbiao,
The CSC on DP can be tested by changing the color format of framebuffer (see linux driver file mxc_ipuv3_fb.c).
The test source code csc_ext1.c will only perform csc on IC. It's not a simple change.
Rgds
Rogerio