Old Freescale scheme:
---------------------
------>| ------- v2ipd --> |--> | vlc -> net
| ---------|-----|----- | lighttpd -> net
| V |
| ---------
V4L2 API |libvpu | user
............................................................
| |mx27_capture| |mxcvpu |
mt9d131| |mx27_csi | |encoder| kernel
............................................................
sensor| |CSI | | PrP | | CPU | | VPU | hardware
-------- ------ ------- ------- ---------
| SoC |
--------------------------------
Gstreamer scheme:
--------------------------------------------------------
| gstreamer: gst-launch / gst-rtsp |
|......................................................|
----->| alsa_src ---> |audio-codec|-- |
| |................................V.....................|
| | mfw_v4lsr ---> |mfw_vpu|mpegtsmux|rtp*pay| udpsink | -> net
| --------------------------------------------------------
-------- ^ | ^
| alsa | | | |
|------| | V |
| pmic | | ---------
-------- V4L2|API |libvpu | user
........ ^ .......................................................
| : |mx27_capture| |mxcvpu |
mt9d131| : |mx27_csi | |encoder| kernel
........ : .......................................................
sensor| : |CSI | | PrP | | CPU | | VPU | hardware
-------- : ------ ------- ------- ---------
-------- : | SoC |
uPhone |-: --------------------------------
--------
MJPEG scheme:
-------------------------------------------------------
| sigcam-stream -format jpeg ... -> lighttpd | -> net
-------------------------------------------------------
^
|
V4L2|API user
|
........ .......................................................
| |mx27_capture|
mt9d131| |mx27_csi | kernel
........ .......................................................
sensor| | CSI DMA | | CPU | | VPU | hardware
-------- -------------- ------- ---------
| SoC |
--------------------------------
Hardware:
sensor - Micron/Aptina MT9D131 video sensor
uPhone - audio microphone
SoC - System on a chip, Freescale i.MX27
CSI - CMOS sensor interface
PrP - Emma Lite PreProcessor
CPU - Central Processor Unit, ARM 926
VPU - Video Processing Unit, 16-bit DSP
pmic - some audio hardware in SoC
Software:
mt9d131 - Sensor driver
mx27_csi - CSI driver
mx27_capture - CSI/PrP driver with V4L2 API
V4L2 API - Video for Linux API, version 2
mxcvpu - VPU driver
libvpu - VPU library
alsa - ALSA (Advanced Linux Sound Architecture) driver
v2ipd - Freescale daemon for all video processing and networking
vlc - video broadcasting program
lighttpd - web server
gstreamer plugins:
mfw_v4lsr - Freescale plugin for reading camera frames with V4L2 API.
Most of video controls are here.
mfw_vpu - Freescale plugin for encoding video via VPU
mpegtsmux - muxing video and audio streams into MPEG Transport Stream
rtp*pay - RTP payloader
udpsink - UDP payloader/broadcasting plugin
alsa_src - ALSA (Advanced Linux Sound Architecture) plugin
audio-codec - now undefined audio codec