Uses cases with Naon Embedded Linux Kit

From DAVE Developer's Wiki
Revision as of 15:35, 31 July 2012 by DevWikiAdmin (talk | contribs) (v4l2-based applications)

Jump to: navigation, search
Info Box
Naon am387x-dm814x.png Applies to Naon
Dds vista tre quarti.png Applies to NaonEVB-Lite
Naon-evb-mid top.png Applies to NaonEVB-Mid

Introduction[edit | edit source]

This page lists some statistics and information about real use cases based on Naon Embedded Linux Kit (NELK).

Gstreamer-based applications[edit | edit source]

For the sake of completeness, for each use case the full command line used to run the test application is provided. System software is based on Naon Embedded Linux Kit (NELK) 2.0.0 Alpha.

Video decoding and playing[edit | edit source]

Output is HDMI port connected to Full HD 46" TV screen.

CPU usage refers to the process under test as reported by top application.

Use case #1[edit | edit source]
  • Description: playing H264 RAW video 1920x1080@25fps
  • CPU usage: 30%
decode_display_a8host_debug.xv5T -w 1920 -h 1080 -f 25 -i /home/root/working-dir/battleship-ressurrecting_h1080p.h264
Use case #2[edit | edit source]
  • Description: playing H264 MP4 video 1920x1080@30fps demuxed video only
  • CPU usage: 12%
gst-launch filesrc location="/home/root/working-dir/1080p-131852575.mp4" ! qtdemux name=demux demux.video_00 ! queue !  nal2bytestream_h264  !  omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink
Use case #3[edit | edit source]
  • Description: playing two videos (both are hrdware decoded)
    • video #1: H264 Raw 1920x1080 @25fps
    • video #2: H264 Raw 848x360 @25fps
  • CPU usage: 65%
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=816  sink_01::outX=0 sink_01::outY=0 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false filesrc location=/home/root/working-dir/480p-ice-int.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=/home/root/working-dir/iceage4-1080p.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix.
Use case #4[edit | edit source]

This section shows some different video combinations with overlayed text.

Use case #4.1[edit | edit source]
  • Description: playing two videos (both are hardware decoded)
    • video #1: H264 Raw 1920x1080 @25fps with ClockOverlay
    • video #2: H264 Raw 848x360 @25fps
  • CPU usage: 95%
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=816  sink_01::outX=360 sink_01::outY=150 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false filesrc location=/home/root/working-dir/480p-ice-int.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=/home/root/working-dir/iceage4-1080p.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! clockoverlay halign=left valign=bottom text="UTC time:" shaded-background=true ! mix.
Use case #4.2[edit | edit source]
  • Description: playing two videos (both are hardware decoded) with no overlap
    • video #1: H264 Raw 1920x1080 @25fps rescaled in hardware to 1280x720
    • video #2: H264 Raw 848x360 @25fps with ClockOverlay
  • CPU usage: 95%
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1280 sink_00::outHeight=720  sink_01::outX=1072 sink_01::outY=720 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false filesrc location=/home/root/working-dir/480p-ice-int.h264 ! 'video/x-h264,framerate=(fraction)30000/1252' ! h264parse access-unit=true ! omx_h264dec ! clockoverlay halign=center valign=bottom text="UTC time:" shaded-background=true ! mix. filesrc location=/home/root/working-dir/battleship-ressurrecting_h1080p.h264 ! 'video/x-h264,framerate=(fraction)30000/1252' ! h264parse access-unit=true ! omx_h264dec ! mix.
Error creating thumbnail: File with dimensions greater than 12.5 MP
Use case #4.3[edit | edit source]
  • Description: playing two videos (both are hardware decoded)
    • video #1: H264 MP4 1920x1080 @30fps demuxed only video
    • video #2: H264 Raw 848x360 @25fps with ClockOverlay
  • CPU usage: 92%
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=1080  sink_01::outX=360 sink_01::outY=150 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false filesrc location=/home/root/working-dir/480p-ice-int.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! clockoverlay halign=center valign=bottom text="UTC time:" shaded-background=true ! mix. filesrc location="/home/root/working-dir/1080p-131852575.mp4" ! qtdemux name=demux demux.video_00 ! queue !  nal2bytestream_h264 ! omx_h264dec ! mix.
Error creating thumbnail: File with dimensions greater than 12.5 MP
Use case #4.4[edit | edit source]
  • Description: playing two videos (both are hardware decoded)
    • video #1: H264 MP4 1920x1080 @30fps demuxed only video
    • video #2: Streaming H264 video only, 320x240 rescaled in HW to 848x360 with Clockoverlay
  • CPU usage: 30%
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=1080 sink_01::outX=360 sink_01::outY=150 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-code=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false rtspsrc location=rtsp://192.168.0.33:5544 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! clockoverlay halign=center valign=bottom text="UTC time:" shaded-background=true ! mix. filesrc location="/home/root/working-dir/1080p-131852575.mp4" ! qtdemux name=demux demux.video_00 ! queue !  nal2bytestream_h264 ! omx_h264dec ! mix.
Use case #4.5[edit | edit source]
  • Description: Stream H264 320x240 rescaled at 800x600
  • CPU usage: 9%
gst-launch rtspsrc location=rtsp://192.168.0.33:5544 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! '
video/x-raw-yuv,width=800,height=600' !omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false
Use case #4.6[edit | edit source]
  • Description: playing two videos (both are hardware decoded)
    • video #1: H264 MP4 1920x1080 @30fps demuxed only video
    • video #2: Streaming H264 video only, 320x240 rescaled in HW to 800x600 with Clockoverlay
  • CPU usage: 35%
gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=1080 sink_01::outX=360 sink_01::outY=150 sink_01::outWidth=800 sink_01::outHeight=600 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false rtspsrc location=rtsp://192.168.0.33:5544 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! clockoverlay halign=center valign=bottom text="UTC time:" shaded-background=true ! mix. filesrc location="/home/root/working-dir/1080p-131852575.mp4" ! qtdemux name=demux demux.video_00 ! queue !  nal2bytestream_h264! omx_h264dec ! mix.
Error creating thumbnail: File with dimensions greater than 12.5 MP

v4l2-based applications[edit | edit source]

This section provides some examples of applications based on well-known [API].


UVCcapture Tool

This utility take a snapshot for USB WebCAM using v4l2 driver class uvc

download uvccapture, compile it on traget

$ wget http://staticwave.ca/source/uvccapture/uvccapture-0.5.tar.bz2
$ tar xvjf uvccapture-0.5.tar.bz
$ cd uvccapture-0.5
$ make clean
$ make all
$ uvccapture -v -d/dev/video0 -x1280 -y720 -t0 -osnapshot.jpg -q95

Dual MAC mode (NaonEVB-Lite)[edit | edit source]

Added DUAL MAC support: Phy 100Mbit is eth0 and Phy 1Gbit is eth1.

Documentation here

Added VLAN tagging support only on eth1 (gigabit), VLAN ID 2 and 3 is reserved for DualMAC mode.

NFSroot is possible only on eth0 (100Mbit)