This release SDK is for JH7100 multimedia which is including ALSA for audio, V4L2 for video capture, GST-OMX for VPU decoding, framebuffer for display and GStreamer for multimedia framework.
Repository
Repo: GitHub - starfive-tech/freelight-u-sdk
Branch: GitHub - starfive-tech/freelight-u-sdk at JH7100_starlight_multimedia
Release tag: Release multimedia_v0.1.0.20211016 · starfive-tech/freelight-u-sdk · GitHub
How-to-Build
Please follow the below link’s instructions to fetch code, build and verify.
Readme: GitHub - starfive-tech/freelight-u-sdk at JH7100_starlight_multimedia
Test Equipment
- StarLight SBC with TF card
- Display (HDMI): Dell 2K&4K / Thinkvision 2K / Portable 1080p monitor
- Image sensor (MIPI-CSI): IMX219
- UVC camera: Logitech-C270
- Audio Output Jack (StarLight SBC, pedal)
- Expansion board: ReSpeaker 2-Mics Pi HAT (WM8960)
- Expansion board: ReSpeaker 4-Mic Array (AC108)
Features
- Audio: support asla driver framework for WM8960, AC108, pwmdac, spdif, vad, pdm
- Video Capture:
- Support V4L2 driver framework for DVP, MIPI-CSI, VIN, ISP;
- Support DVP and MIPI-CSI sensor: imx219, ov4689, dvp ov5640, sc2235;
- Support UVC camera;
- Display: framebuffer
- VPU: decoding H.264(baseline/main/high profile) & H.265(main/main10 profile), scaler
- Multimedia framework: GStreamer
- Support plugins list:
- XXXSource:filesrc, v4l2src, alsasrc, …;
XXXSink: filesink, fbdevsink, alsasink, …;
demuxers: qtdemux, matroskademux, oggdemux, avidemux, …;
muxers:qtmux, oggmux, mp4mux, …;
parsers:oggparse, amrparse, aacparse, …;
decoder: omxh264dec, omxh265dec, Vorbisdec, avdec_h265, videoscale, …;
encoder: x264enc, avenc_aac, pngenc;
others:audioconvert, videoconvert, videoscale, videorate, audiorate, capsfilter, playbin, decodebin, queue, …;
- XXXSource:filesrc, v4l2src, alsasrc, …;
- Add StarFive private packages:
- v4l2_test: test v4l2 device;
- pp_test: convert color format and resolution for framebuffer framework;
- sf-gst-omx: derivate from gst-omx and compatible with the omx-il library;
- sf-omx-il: StarFive openmax il library for VPU hardware decode;
- stfisp_setfile: host build package and generate isp register setting binary for v4l2;
- wave511: hardware decode code building;
- Add the following gstreamer patch:
- Support gstreamer plugin fbdevsink NV12 format;
- Support gst-play take priority to decode h264/h265 with gst-omx plugin;
- Support plugins list:
Test Tools
- ALSA: aplay, arecord
- V4L2: media-ctl, v4l2-compliance, v4l2-ctl, v4l2test
- GStreamer: gst-play-1.0, gst-launch-1.0
Known Issues
- Remote login fails by SSH in TF card rootfs image;
- workaround: execute
dropbear -R -E
in serial terminal;
- workaround: execute
- Error(Makefile 498 line) is reported during the first TF card burning operation;
- workaround: execute the second time to burn it successfully;
- The picture is faulted when using
v4l2-ctl
tool to test pattern 3 (color bar with grey); - When the serial port and SSH terminal capture video using
video1
at the same time, the system will prompt the device BUSY, but the screen is black; - Report oops when PWMDAC plays dual-channel audio after playing mono-audio by
aplay
; - Error information is reported when capturing 4K or 2K pictures by
gst-launch-1.0
; - Background noise is generated during playing sound by
aplay
;- workaround: change power source to regulated power supply;
- Lots of ‘broken’ line on the screen when playing video since display drive is based on
fbdev
; - It can play up to 1080p@18fps or 720p@30fps videos as performance limitation of
memcpy
; - It only supports NV12 format video for
fbdevsink
; - System will be halt when playing audio on expansion board (AC108 and WM8960);