Using the i.MX27 video codec

From ArmadeusWiki
Revision as of 11:35, 7 September 2009 by JulienB (Talk | contribs) (Usage)

Jump to: navigation, search

The i.MX27 (used on the APF27) has an internal DSP which can be used to encode/decode video stream, coming from various sources (CSI, buffer, etc...). To use it Freescale provides some useful tools.

Installation

$ make freescale-tools
  • then reflash your rootfs and you will get some stuff in /usr/bin/vpu/

Usage

Note Note: Currently, decoder/reader on the PC side has to be launched BEFORE the encoding tool on the APF27 (if using RTP stream)

mxc_vpu_test.out (yeah Freescale has strange ways to name its executables ;-) ) allows you to decode/encode video streams. This tool needs a configuration file (some are given as examples).

# mxc_vpu_test.out -c codec.cfg.net.enc.vga.h264

Decoding incoming streams on your PC

  • Decoding an RTP H.264 stream coming in UDP on port 6666 and displaying it at original size:
$ gst-launch-0.10 udpsrc port=6666 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" \
                  ! rtph264depay ! ffdec_h264 ! xvimagesink sync=false
  • Decoding an RTP H.264 stream coming in UDP on port 6666 and displaying it in 320x240:
$ gst-launch-0.10 udpsrc port=6666 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" \
                  ! rtph264depay ! ffdec_h264 ! videoscale ! video/x-raw-yuv, width=320, height=240 ! xvimagesink sync=false

Links