PINE64
mpph264enc output doesn't work on bionic - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCK64 (https://forum.pine64.org/forumdisplay.php?fid=85)
+--- Forum: Linux on Rock64 (https://forum.pine64.org/forumdisplay.php?fid=88)
+--- Thread: mpph264enc output doesn't work on bionic (/showthread.php?tid=6022)

Pages: 1 2


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.