Difference between revisions of "Using the i.MX27 video codec"
From ArmadeusWiki
(→Links) |
(→Usage) |
||
Line 8: | Line 8: | ||
==Usage== | ==Usage== | ||
+ | {{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. | ''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). | This tool needs a configuration file (some are given as examples). |
Revision as of 10:35, 7 September 2009
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: 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