mpph264enc output doesn't work on bionic - rompelstompel - 04-30-2018
Hi
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.
RE: mpph264enc output doesn't work on bionic - tllim - 05-03-2018
(04-30-2018, 01:35 PM)rompelstompel Wrote: Hi
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. I don't think the encoder portion works.
RE: mpph264enc output doesn't work on bionic - rompelstompel - 05-04-2018
(05-03-2018, 09:58 PM)tllim Wrote: (04-30-2018, 01:35 PM)rompelstompel Wrote: Hi
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. I don't think the encoder portion works.
Is that due to software or hardware? Because the Rockchip module's encoding works on other SBC's. What is missing?
RE: mpph264enc output doesn't work on bionic - tllim - 05-10-2018
(05-04-2018, 05:01 PM)rompelstompel Wrote: (05-03-2018, 09:58 PM)tllim Wrote: (04-30-2018, 01:35 PM)rompelstompel Wrote: Hi
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. I don't think the encoder portion works.
Is that due to software or hardware? Because the Rockchip module's encoding works on other SBC's. What is missing? Software. w
Which SBC that has Rockchip module's encoding working?
RE: mpph264enc output doesn't work on bionic - rompelstompel - 05-11-2018
(05-10-2018, 09:43 PM)tllim Wrote: Which SBC that has Rockchip module's encoding working? Tinkerboard works. RK3288 : https://tinkerboarding.co.uk/forum/thread-1115.html
Also these resources show it should be possible for RK3328:
http://opensource.rock-chips.com/wiki_Mpp
http://opensource.rock-chips.com/wiki_Status_Matrix (at least on kernel 4.4)
RE: mpph264enc output doesn't work on bionic - t4_4t - 05-11-2018
Why does not it work?
If you refer to the following, you can understand the reason
https://forum.pine64.org/showthread.php?tid=5000
dalmate: 11-02-2017, 03: 57 AM
In spite of similar reports a long time ago
at the headquarters https://github.com/rockchip-linux ,
it may not improve as it is improving all the time.
I've heard that it works with "armhf" version of ROCK64, but I have not confirmed it.
It probably is correct as it is running on rk3228. (Because rk3228 can not support 64bit)
Even though I was waiting to be corrected, I thought that the possibility of doing it was low.
So, I fixed the corresponding parts of "kermel and mpp" by myself
It's been quite a while ago.
In the modified environment,
I have confirmed "color bar image output" obtained from the example presented by you.
For the operation with the arm64 binary,
it will not be able to hope unless the corresponding part is modified.
------- Log ------
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 info
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
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:20.715473988
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
ffprobe -hide_banner 1280.h264
Input #0, h264, from '1280.h264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720, 30 fps, 30 tbr, 1200k tbn, 60 tbc
gst123 1280.h264
Playing file:///mnt/1280.h264
mpi: mpp version: Without VCS info
hal_h264d_api: hal_h264d_init mpp_buffer_group_get_internal used ion In
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
Codec : (audio) H.264 (High Profile) (video)
Time: 0:00:16.61 of 0:00:16.66 | Bitrate: 7679.7 kbit/sec
RE: mpph264enc output doesn't work on bionic - rompelstompel - 05-12-2018
(05-11-2018, 05:14 PM)t4_4t Wrote: Why does not it work?
If you refer to the following, you can understand the reason
https://forum.pine64.org/showthread.php?tid=5000
dalmate: 11-02-2017, 03: 57 AM
In spite of similar reports a long time ago
at the headquarters https://github.com/rockchip-linux ,
it may not improve as it is improving all the time.
I've heard that it works with "armhf" version of ROCK64, but I have not confirmed it.
It probably is correct as it is running on rk3228. (Because rk3228 can not support 64bit)
Even though I was waiting to be corrected, I thought that the possibility of doing it was low.
So, I fixed the corresponding parts of "kermel and mpp" by myself
It's been quite a while ago.
In the modified environment,
I have confirmed "color bar image output" obtained from the example presented by you.
For the operation with the arm64 binary,
it will not be able to hope unless the corresponding part is modified.
------- Log ------
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 info
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
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:20.715473988
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
ffprobe -hide_banner 1280.h264
Input #0, h264, from '1280.h264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720, 30 fps, 30 tbr, 1200k tbn, 60 tbc
gst123 1280.h264
Playing file:///mnt/1280.h264
mpi: mpp version: Without VCS info
hal_h264d_api: hal_h264d_init mpp_buffer_group_get_internal used ion In
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
Codec : (audio) H.264 (High Profile) (video)
Time: 0:00:16.61 of 0:00:16.66 | Bitrate: 7679.7 kbit/sec
Thank you for clarifying. Do you have a fork with the modified kernel/mpp that I can try?
What still is stange to me is that decoding works flawlessly. Isn't it the same mpp and kernel module used for encoding?
RE: mpph264enc output doesn't work on bionic - t4_4t - 05-12-2018
I do not have a github account, therefore
If you are at a level where you can build the kernel,
I may be able to provide you with additional information to help with it,
Otherwise, I do not have any useful information for you anymore.
> What still is .... same mpp and kernel module used for encoding?
As a result of the bug, such symptoms appear (decoder = o, encoder= x).
I think that it has no more significance.
RE: mpph264enc output doesn't work on bionic - rompelstompel - 05-14-2018
(05-12-2018, 10:32 AM)t4_4t Wrote: I do not have a github account, therefore
If you are at a level where you can build the kernel,
I may be able to provide you with additional information to help with it,
Otherwise, I do not have any useful information for you anymore.
> What still is .... same mpp and kernel module used for encoding?
As a result of the bug, such symptoms appear (decoder = o, encoder= x).
I think that it has no more significance.
I just installed the arm7hf bionic image from Ayufan and it works perfectly. That for me is perfect for now. Thanks
RE: mpph264enc output doesn't work on bionic - jonsmirl - 05-16-2019
That is 32b image. 32b is known to work. 64b is broken.
I believe 64b is broken because kernel and mpp aren't compiled using the same header files, so the IOTCL don't match between user space and the kernel.
|