05-03-2018, 09:58 PM
(04-30-2018, 01:35 PM)rompelstompel Wrote: HiI don't think the encoder portion works.
I'm trying to use the rock64's hardware encoding capabilities. I'm super impressed with the decoding which has incredible performance! But encoding at this stage only works superficially and trying to decode it again fails.
The following produces unusable h264 (yes sudo is needed):
Code:sudo gst-launch-1.0 -e videotestsrc is-live=false num-buffers=500 \
! video/x-raw,format=NV12,width=1280,height=720 \
! mpph264enc ! filesink location=1280.h264
Setting pipeline to PAUSED ...
mpi: mpp version: Without VCS, under bleeding
Pipeline is PREROLLING ...
h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 3456000 [3240000 : 3672000]
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:13.884810768
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
When trying with ffprobe:
Code:ffprobe -hide_banner 1280.h264
[h264 @ 0x55a113f730] Format h264 detected only with low score of 1, misdetection possible!
[h264 @ 0x55a1140710] sps_id 32 out of range
[h264 @ 0x55a1140710] missing picture in access unit with size 7208704
[h264 @ 0x55a1140710] sps_id 32 out of range
Last message repeated 2 times
[h264 @ 0x55a1140710] no frame!
[h264 @ 0x55a113f730] Stream #0: not enough frames to estimate rate; consider increasing probesize
[h264 @ 0x55a113f730] decoding for stream 0 failed
[h264 @ 0x55a113f730] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, h264, from '1280.h264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264, none, 25 tbr, 1200k tbn, 50 tbc
[h264 @ 0x55a1141950] sps_id 32 out of range
Could not open codec for input stream 0
I'm using a recent bionic build from ayufan:
Code:Linux rock64 4.4.120-rockchip-ayufan-213 #1 SMP Sun Apr 29 20:27:33 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
Software versions:
Code:$ dpkg -l | egrep '(ffmpeg|rockchip|gstreamer)'
ii ffmpeg 7:3.5~git20180113-1ayufan2 arm64 Tools for transcoding, streaming and playing of multimedia files
ii gir1.2-gstreamer-1.0 1.14.0-1 arm64 GObject introspection data for the GStreamer library
ii gstreamer1.0-libav:arm64 1.14.0-1 arm64 libav plugin for GStreamer
ii gstreamer1.0-omx-bellagio-config 1.12.4-1 arm64 OpenMax plugins for GStreamer
ii gstreamer1.0-omx-generic 1.12.4-1 arm64 OpenMax plugins for GStreamer
ii gstreamer1.0-plugins-bad:arm64 1.14.0-1ubuntu1 arm64 GStreamer plugins from the "bad" set
ii gstreamer1.0-plugins-base:arm64 1.14.0-2ubuntu1 arm64 GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-good:arm64 1.14.0-1ubuntu1 arm64 GStreamer plugins from the "good" set
ii gstreamer1.0-plugins-ugly:arm64 1.14.0-1 arm64 GStreamer plugins from the "ugly" set
ii gstreamer1.0-rockchip1 1.10-5ayufan12 arm64 The Gstreamer plugins for Rockchip RK3xxx platform.
ii gstreamer1.0-rockchip1-extra 1.10-1 arm64 The Extra Gstreamer plugins for Rockchip platform.
ii gstreamer1.0-tools 1.14.0-1 arm64 Tools for use with GStreamer
ii gstreamer1.0-vaapi:arm64 1.14.0-1 arm64 VA-API plugins for GStreamer
ii libdrm-rockchip1:arm64 2.4.89-1ayufan1 arm64 Userspace interface to msm/kgsl kernel DRM services -- runtime
ii libffms2-4:arm64 2.23-2 arm64 Cross platform ffmpeg wrapper library
ii libgstreamer-gl1.0-0:arm64 1.14.0-2ubuntu1 arm64 GStreamer GL libraries
ii libgstreamer-opencv1.0-0:arm64 1.14.0-1ubuntu1 arm64 GStreamer OpenCV libraries
ii libgstreamer-plugins-bad1.0-0:arm64 1.14.0-1ubuntu1 arm64 GStreamer libraries from the "bad" set
ii libgstreamer-plugins-bad1.0-dev 1.14.0-1ubuntu1 arm64 GStreamer development files for libraries from the "bad" set
ii libgstreamer-plugins-base1.0-0:arm64 1.14.0-2ubuntu1 arm64 GStreamer libraries from the "base" set
ii libgstreamer-plugins-base1.0-dev 1.14.0-2ubuntu1 arm64 GStreamer development files for libraries from the "base" set
ii libgstreamer-plugins-good1.0-0:arm64 1.14.0-1ubuntu1 arm64 GStreamer development files for libraries from the "good" set
ii libgstreamer-plugins-good1.0-dev 1.14.0-1ubuntu1 arm64 GStreamer development files for libraries from the "good" set
ii libgstreamer1.0-0:arm64 1.14.0-1 arm64 Core GStreamer libraries and elements
ii libgstreamer1.0-dev 1.14.0-1 arm64 GStreamer core development files
ii librockchip-mpp-dev 1.4.0-1ayufan3-2 arm64 Media Process Platform
ii librockchip-mpp1 1.4.0-1ayufan3-2 arm64 Media Process Platform
ii librockchip-vpu0 1.4.0-1ayufan3-2 arm64 Media Process Platform
ii linux-headers-4.4.120-rockchip-ayufan-209 0.6.31 arm64 Linux kernel headers for 4.4.120-rockchip-ayufan-209 on arm64
ii linux-headers-4.4.120-rockchip-ayufan-213 0.6.34 arm64 Linux kernel headers for 4.4.120-rockchip-ayufan-213 on arm64
ii linux-image-4.4.120-rockchip-ayufan-209 0.6.31 arm64 Linux kernel, version 4.4.120-rockchip-ayufan-209
ii linux-image-4.4.120-rockchip-ayufan-213 0.6.34 arm64 Linux kernel, version 4.4.120-rockchip-ayufan-213
The MPP stuff don't work at all with the mainline kernel which I also tried.