rockchip-linux / mpp

Media Process Platform (MPP) module
484 stars 159 forks source link

RK3399 H.264 Encode Failure #124

Open ram95014 opened 4 years ago

ram95014 commented 4 years ago

I am running "Ubuntu 18.04.1 LTS" with "Linux linux 4.4.154-59-rockchip-g5e70f14 #4 SMP Fri Dec 14 20:55:41 CST 2018 aarch64 aarch64 aarch64 GNU/Linux". On a simple h.264 encode test with a set of nv12 frame, I get the following error:

mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address hal_h264e_vepu2: mpp_device_send_reg failed ret 14 mpp_enc: mpp 0x55809fb880 hal_hw_start failed return 14

with this command:

./mpi_enc_test -i ~/out.nv12 -o hurr.264 -w 1280 -h 720 -f 0 -t 7 mpi_enc_test: cmd parse result: mpi_enc_test: input file name: /home/rock/out.nv12 mpi_enc_test: output file name: hurr.264 mpi_enc_test: width : 1280 mpi_enc_test: height : 720 mpi_enc_test: format : 0 mpi_enc_test: type : 7 mpi_enc_test: debug flag : 0 mpi_enc_test: mpi_enc_test start mpp_rt: NOT found ion allocator mpp_rt: found drm allocator mpi_enc_test: mpi_enc_test encoder test start w 1280 h 720 type 7 mpi: mpp version: b395f5fa author: Herman Chen [build]: Add path detection for different ndk mpi_enc_test: mpi_enc_test bps 3456000 fps 30 gop 60

AndreVallestero commented 4 years ago

Does decode work fine for you? I'm getting s similar error with rk3399 h264 decoding. A vcodec assertion error followed by a ioctl segmentation fault.

ram95014 commented 4 years ago

Sorry, didn't test the decoder.

HermanChen commented 4 years ago

Could you please update mpp to latest version and test again?

jveitchmichaelis commented 4 years ago

@HermanChen I get this inside Docker, but not outside. Both running Debian Stretch, RK3399.

The versions of mpp are clearly different though. In Docker I installed with:

RUN git clone https://github.com/rockchip-linux/mpp.git
RUN cd mpp/build && cmake .. && make -j6 && make install
RUN echo "LD_LIBRARY_PATH=/usr/local/lib/aarch64-linux-gnu:/usr/local/lib:$LD_LIBRARY_PATH" >> /root/.bashrc

On the host system these packages are installed via: https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/arm64

Within the container (latest develop):

mpi_enc_test -i demo.mkv -o demo.264 -w 1280 -h 720 -f 0 -t 7 
mpp[513]: mpi_enc_test: cmd parse result:
mpp[513]: mpi_enc_test: cmd parse result:

mpp[513]: mpi_enc_test: input  file name: demo.mkv
mpp[513]: mpi_enc_test: input  file name: demo.mkv

mpp[513]: mpi_enc_test: output file name: demo.264
mpp[513]: mpi_enc_test: output file name: demo.264

mpp[513]: mpi_enc_test: width      : 1280
mpp[513]: mpi_enc_test: width      : 1280

mpp[513]: mpi_enc_test: height     : 720
mpp[513]: mpi_enc_test: height     : 720

mpp[513]: mpi_enc_test: format     : 0
mpp[513]: mpi_enc_test: format     : 0

mpp[513]: mpi_enc_test: type       : 7
mpp[513]: mpi_enc_test: type       : 7

mpp[513]: mpi_enc_test: debug flag : 0
mpp[513]: mpi_enc_test: debug flag : 0

mpp[513]: mpi_enc_test: mpi_enc_test start
mpp[513]: mpi_enc_test: mpi_enc_test start

mpp[513]: mpi_enc_test: failed to open input file demo.mkv
mpp[513]: mpi_enc_test: failed to open input file demo.mkv

mpp[513]: mpi_enc_test: create default yuv image for test
mpp[513]: mpi_enc_test: create default yuv image for test

mpp[513]: mpp_rt: NOT found ion allocator
mpp[513]: mpp_rt: NOT found ion allocator

mpp[513]: mpp_rt: found drm allocator
mpp[513]: mpp_rt: found drm allocator

mpp[513]: mpi_enc_test: mpi_enc_test encoder test start w 1280 h 720 type 7
mpp[513]: mpi_enc_test: mpi_enc_test encoder test start w 1280 h 720 type 7

mpp[513]: mpp_info: mpp version: e9c5eae5 author: Johnson Ding  2020-03-23 [rc]: abort on debug mode if GOP is negative
mpp[513]: mpp_info: mpp version: e9c5eae5 author: Johnson Ding  2020-03-23 [rc]: abort on debug mode if GOP is negative

mpp[513]: mpi_enc_test: mpi_enc_test bps 3456000 fps 30 gop 60
mpp[513]: mpi_enc_test: mpi_enc_test bps 3456000 fps 30 gop 60

mpp[513]: h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 3456000 [3240000 : 3672000]
mpp[513]: h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 3456000 [3240000 : 3672000]

mpp[513]: mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
mpp[513]: mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address

with latest release branch:

mpi_enc_test: cmd parse result:
mpi_enc_test: input  file name: demo.mkv
mpi_enc_test: output file name: demo.264
mpi_enc_test: width      : 1280
mpi_enc_test: height     : 720
mpi_enc_test: format     : 0
mpi_enc_test: type       : 7
mpi_enc_test: debug flag : 0
mpi_enc_test: mpi_enc_test start
mpi_enc_test: failed to open input file demo.mkv
mpi_enc_test: create default yuv image for test
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
mpi_enc_test: mpi_enc_test encoder test start w 1280 h 720 type 7
mpi: mpp version: 06a60148 author: Johnson Ding [build]: Update Android build script
mpi_enc_test: mpi_enc_test bps 3456000 fps 30 gop 60
h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 3456000 [3240000 : 3672000]
mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
hal_h264e_vepu2: mpp_device_send_reg failed ret 14
mpp_enc: mpp 0x55cca163b0 hal_hw_start failed return 14
mpi_enc_test: test_mpp_run encoded frame 0 size 0
mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
hal_h264e_vepu2: mpp_device_send_reg failed ret 14
mpp_enc: mpp 0x55cca163b0 hal_hw_start failed return 14
mpi_enc_test: test_mpp_run encoded frame 1 size 0
mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
hal_h264e_vepu2: mpp_device_send_reg failed ret 14
mpp_enc: mpp 0x55cca163b0 hal_hw_start failed return 14
mpi_enc_test: test_mpp_run encoded frame 2 size 0
mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
hal_h264e_vepu2: mpp_device_send_reg failed ret 14
mpp_enc: mpp 0x55cca163b0 hal_hw_start failed return 14
mpi_enc_test: test_mpp_run encoded frame 3 size 0
mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
hal_h264e_vepu2: mpp_device_send_reg failed ret 14
mpp_enc: mpp 0x55cca163b0 hal_hw_start failed return 14
mpi_enc_test: test_mpp_run encoded frame 4 size 0
mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
hal_h264e_vepu2: mpp_device_send_reg failed ret 14
mpp_enc: mpp 0x55cca163b0 hal_hw_start failed return 14
mpi_enc_test: test_mpp_run encoded frame 5 size 0
mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address

outside the container:

mpi_enc_test: cmd parse result:
mpi_enc_test: input  file name: demo.mkv
mpi_enc_test: output file name: demo.264
mpi_enc_test: width      : 1280
mpi_enc_test: height     : 720
mpi_enc_test: format     : 0
mpi_enc_test: type       : 7
mpi_enc_test: debug flag : 0
mpi_enc_test: mpi_enc_test start
mpi_enc_test: failed to open input file demo.mkv
mpi_enc_test: create default yuv image for test
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
mpi_enc_test: mpi_enc_test encoder test start w 1280 h 720 type 7
mpi: mpp version: 1614c5d4 author: Caesar Wang debian: add rules for mpp with 20191031
mpi_enc_test: mpi_enc_test bps 3456000 fps 30 gop 60
h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 3456000 [3240000 : 3672000]
mpi_enc_test: test_mpp_run encoded frame 0 size 23399
mpi_enc_test: test_mpp_run encoded frame 1 size 9314
mpi_enc_test: test_mpp_run encoded frame 2 size 11413
mpi_enc_test: test_mpp_run encoded frame 3 size 15133
mpi_enc_test: test_mpp_run encoded frame 4 size 11512
mpi_enc_test: test_mpp_run encoded frame 5 size 17820
mpi_enc_test: test_mpp_run encoded frame 6 size 11473
mpi_enc_test: test_mpp_run encoded frame 7 size 14995
mpi_enc_test: test_mpp_run encoded frame 8 size 12984
mpi_enc_test: test_mpp_run encoded frame 9 size 14723
mpi_enc_test: test_mpp_run encoded frame 10 size 13770
mpi_enc_test: test_mpp_run encoded frame 11 size 13822
mpi_enc_test: test_mpp_run encoded frame 12 size 12451
mpi_enc_test: test_mpp_run encoded frame 13 size 14422
mpi_enc_test: test_mpp_run encoded frame 14 size 14935
mpi_enc_test: test_mpp_run encoded frame 15 size 16329
mpi_enc_test: test_mpp_run encoded frame 16 size 14263
mpi_enc_test: test_mpp_run encoded frame 17 size 14268
mpi_enc_test: test_mpp_run encoded frame 18 size 13878
mpi_enc_test: test_mpp_run encoded frame 19 size 13389
mpi_enc_test: test_mpp_run encoded frame 20 size 12669
mpi_enc_test: test_mpp_run encoded frame 21 size 12600
mpi_enc_test: test_mpp_run encoded frame 22 size 11644
mpi_enc_test: test_mpp_run encoded frame 23 size 11408
mpi_enc_test: test_mpp_run encoded frame 24 size 10323
mpi_enc_test: test_mpp_run encoded frame 25 size 10433
mpi_enc_test: test_mpp_run encoded frame 26 size 10723
mpi_enc_test: test_mpp_run encoded frame 27 size 10095

In the container:

mpp_platform_test
mpp_plat_test: chip name: rockchip,rock960 rockchip,rk3399
mpp_plat_test: 
mpp_plat_test: chip vcodec type 00040202
mpp_plat_test: found vpu2 codec
mpp_plat_test: found rkvdec decoder
mpp_plat_test: found vpu2 encoder
mpp_plat_test: 
mpp_plat_test: start probing decoder device name:
mpp_plat_test: H.264 decoder: /dev/rkvdec
mpp_plat_test: H.265 decoder: /dev/rkvdec
mpp_plat_test: MJPEG decoder: /dev/vpu_service
mpp_plat_test: VP9   decoder: /dev/rkvdec
mpp_plat_test: avs   decoder: /dev/vpu_service
mpp_plat_test: 
mpp_plat_test: start probing encoder device name:
mpp_plat_test: H.264 encoder: /dev/vpu_service
mpp_plat_test: H.265 encoder: /dev/vpu_service
mpp_plat_test: MJPEG encoder: /dev/vpu_service
mpp_plat_test: mpp platform test done

mpp_runtime_test 
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
mpp_rt_test: mpp found ion buffer is invalid
mpp_rt_test: mpp found drm buffer is valid

I don't seem to have the utilities on the host Linux system.

HermanChen commented 4 years ago

mpp required some kernel device to run the encoding / decoding process. It is the point?

jveitchmichaelis commented 4 years ago

@HermanChen Possibly, but I don't know exactly what the missing dependency is. On the host system, those packages are installed like this: https://github.com/rockchip-linux/rk-rootfs-build/blob/0cddc6e041d13d7ad91463a3b152952cc4ddcff3/mk-rootfs-stretch.sh#L107

I've replicated that inside my container, and it works:

docker run --rm -it --privileged 45809b54972b
root@2b5974c4bc80:/# mpi_enc_test -o demo.264 -w 1280 -h 720 -f 0 -t 7
mpi_enc_test: cmd parse result:
mpi_enc_test: input  file name: 
mpi_enc_test: output file name: demo.264
mpi_enc_test: width      : 1280
mpi_enc_test: height     : 720
mpi_enc_test: format     : 0
mpi_enc_test: type       : 7
mpi_enc_test: debug flag : 0
mpi_enc_test: mpi_enc_test start
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
mpi_enc_test: mpi_enc_test encoder test start w 1280 h 720 type 7
mpi: mpp version: 1614c5d4 author: Caesar Wang debian: add rules for mpp with 20191031
mpi_enc_test: mpi_enc_test bps 3456000 fps 30 gop 60
h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 3456000 [3240000 : 3672000]
mpi_enc_test: test_mpp_run encoded frame 0 size 23399
mpi_enc_test: test_mpp_run encoded frame 1 size 9314
mpi_enc_test: test_mpp_run encoded frame 2 size 11413
mpi_enc_test: test_mpp_run encoded frame 3 size 15133
mpi_enc_test: test_mpp_run encoded frame 4 size 11512
mpi_enc_test: test_mpp_run encoded frame 5 size 17820
mpi_enc_test: test_mpp_run encoded frame 6 size 11473
mpi_enc_test: test_mpp_run encoded frame 7 size 14995
mpi_enc_test: test_mpp_run encoded frame 8 size 12984
mpi_enc_test: test_mpp_run encoded frame 9 size 14723

If i then clone this repo and build the develop branch it also works. I would guess it's the vpu driver?

For reference:

RUN git clone https://github.com/rockchip-linux/rk-rootfs-build

RUN mkdir /usr/include/rga
RUN cp rk-rootfs-build/packages/arm64/rga/include/* /usr/include/rga/
RUN cp rk-rootfs-build/packages/arm64/rga/lib/librga.so /usr/lib/

RUN apt-get update --fix-missing && apt-get -y install gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-plugins-base-apps
RUN dpkg -i rk-rootfs-build/packages/arm64/gst-base/gstreamer1.0-x_1.10.4-1_arm64.deb
RUN dpkg -i rk-rootfs-build/packages/arm64/video/mpp/*.deb
RUN dpkg -i rk-rootfs-build/packages/arm64/gst-rkmpp/*.deb
#RUN dpkg -i rk-rootfs-build/packages/arm64/ffmpeg/*.deb
RUN apt-get update --fix-missing && apt-get -y install ffmpeg
RUN git clone https://github.com/rockchip-linux/mpp.git
RUN cd mpp/build && cmake .. && make -j6 && make install && ldconfig

and then ensure to run the container as --privileged

@ram95014 have a look in https://github.com/rockchip-linux/rk-rootfs-build in the arm64 packages and try installing this https://github.com/rockchip-linux/rk-rootfs-build/blob/master/packages/arm64/video/mpp/librockchip-vpu0_20191031-1_arm64.deb

jveitchmichaelis commented 4 years ago

It definitely doesn't work if I build from source, actually (on the host system). I get the same error, but the older package provided by rockchip works. I think there's possibly a regression somewhere.

All I've done is:

git clone https://github.com/rockchip-linux/mpp.git
cd mpp/build
cmake ..
make -j6
./test/mpi_enc_test -o /mnt/ramdisk/test.mkv -w 1920 -h 1088 -f 0 -t 7

So it's definitely linking to the newly built libraries.

drone@hildr:~/mpp/build/test$ ldd mpi_enc_test 
        linux-vdso.so.1 (0x0000007f972d7000)
        librockchip_mpp.so.1 => /home/drone/mpp/build/mpp/librockchip_mpp.so.1 (0x0000007f9714a000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f97109000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f96f7e000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f96ec1000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f96e9d000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f96d2b000)
        /lib/ld-linux-aarch64.so.1 (0x0000007f972a9000)

drone@hildr:~/mpp/build/test$ ldd /home/drone/mpp/build/mpp/librockchip_mpp.so.1
        linux-vdso.so.1 (0x0000007f83422000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f8326d000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f830e2000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f83025000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f83001000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f82e8f000)
        /lib/ld-linux-aarch64.so.1 (0x0000007f833f4000)

drone@hildr:~/mpp/build/osal/test$ ./mpp_platform_test 
mpp[26557]: mpp_plat_test: chip name: rockchip,rock960 rockchip,rk3399
mpp[26557]: mpp_plat_test: 
mpp[26557]: mpp_plat_test: chip vcodec type 00040202
mpp[26557]: mpp_plat_test: found vpu2 codec
mpp[26557]: mpp_plat_test: found rkvdec decoder
mpp[26557]: mpp_plat_test: found vpu2 encoder
mpp[26557]: mpp_plat_test: 
mpp[26557]: mpp_plat_test: start probing decoder device name:
mpp[26557]: mpp_plat_test: H.264 decoder: /dev/rkvdec
mpp[26557]: mpp_plat_test: H.265 decoder: /dev/rkvdec
mpp[26557]: mpp_plat_test: MJPEG decoder: /dev/vpu_service
mpp[26557]: mpp_plat_test: VP9   decoder: /dev/rkvdec
mpp[26557]: mpp_plat_test: avs   decoder: /dev/vpu_service
mpp[26557]: mpp_plat_test: 
mpp[26557]: mpp_plat_test: start probing encoder device name:
mpp[26557]: mpp_plat_test: H.264 encoder: /dev/vpu_service
mpp[26557]: mpp_plat_test: H.265 encoder: /dev/vpu_service
mpp[26557]: mpp_plat_test: MJPEG encoder: /dev/vpu_service
mpp[26557]: mpp_plat_test: mpp platform test done
HermanChen commented 4 years ago

mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address There should be some error return from kernel. Try dmesg to show the kernel log? I will find some kernel colleagues to help me.

jveitchmichaelis commented 4 years ago

Thanks! Here's the output from dmesg:

[  939.940483] rk_vcodec: vpu_service_ioctl:1875: error: unknown vpu service ioctl cmd 40086c01
[  939.979613] rk_vcodec: reg_init:1248: error: translate reg address failed, dumping regs
[  939.980342] rk-vcodec ff650000.vpu_service: reg[00]: 00000000
[  939.980864] rk-vcodec ff650000.vpu_service: reg[01]: 00000000
[  939.981384] rk-vcodec ff650000.vpu_service: reg[02]: 00000000
[  939.981904] rk-vcodec ff650000.vpu_service: reg[03]: 00000000
[  939.982622] rk-vcodec ff650000.vpu_service: reg[04]: 00000000
[  939.983159] rk-vcodec ff650000.vpu_service: reg[05]: 00000000
[  939.983673] rk-vcodec ff650000.vpu_service: reg[06]: 00000000
[  939.984194] rk-vcodec ff650000.vpu_service: reg[07]: 00000000
[  939.984715] rk-vcodec ff650000.vpu_service: reg[08]: 00000000
[  939.985239] rk-vcodec ff650000.vpu_service: reg[09]: 00000000
[  939.985760] rk-vcodec ff650000.vpu_service: reg[10]: 00000000
[  939.986325] rk-vcodec ff650000.vpu_service: reg[11]: 00000000
[  939.986846] rk-vcodec ff650000.vpu_service: reg[12]: 00000000
[  939.987366] rk-vcodec ff650000.vpu_service: reg[13]: 00000000
[  939.987887] rk-vcodec ff650000.vpu_service: reg[14]: 00000000
[  939.988397] rk-vcodec ff650000.vpu_service: reg[15]: 00000000
[  939.988918] rk-vcodec ff650000.vpu_service: reg[16]: 00000000
[  939.989438] rk-vcodec ff650000.vpu_service: reg[17]: 00000000
[  939.990042] rk-vcodec ff650000.vpu_service: reg[18]: 00000000
[  939.990564] rk-vcodec ff650000.vpu_service: reg[19]: 00000000
[  939.991084] rk-vcodec ff650000.vpu_service: reg[20]: 00000000
[  939.991604] rk-vcodec ff650000.vpu_service: reg[21]: 00000000
[  939.992124] rk-vcodec ff650000.vpu_service: reg[22]: 00000000
[  939.992650] rk-vcodec ff650000.vpu_service: reg[23]: 00000000
[  939.993160] rk-vcodec ff650000.vpu_service: reg[24]: 00000000
[  939.993681] rk-vcodec ff650000.vpu_service: reg[25]: 00000000
[  939.994240] rk-vcodec ff650000.vpu_service: reg[26]: 00000000
[  939.994762] rk-vcodec ff650000.vpu_service: reg[27]: 00000000
[  939.995282] rk-vcodec ff650000.vpu_service: reg[28]: 00000000
[  939.995802] rk-vcodec ff650000.vpu_service: reg[29]: 00000000
[  939.996321] rk-vcodec ff650000.vpu_service: reg[30]: 00000000
[  939.996841] rk-vcodec ff650000.vpu_service: reg[31]: 00000000
[  939.997361] rk-vcodec ff650000.vpu_service: reg[32]: 00000000
[  939.997880] rk-vcodec ff650000.vpu_service: reg[33]: 00000000
[  939.998450] rk-vcodec ff650000.vpu_service: reg[34]: 00000000
[  939.998971] rk-vcodec ff650000.vpu_service: reg[35]: 00000000
[  939.999491] rk-vcodec ff650000.vpu_service: reg[36]: 00000000
[  940.000011] rk-vcodec ff650000.vpu_service: reg[37]: 00000000
[  940.000531] rk-vcodec ff650000.vpu_service: reg[38]: 00000000
[  940.001052] rk-vcodec ff650000.vpu_service: reg[39]: 00000000
[  940.001573] rk-vcodec ff650000.vpu_service: reg[40]: 00000000
[  940.002130] rk-vcodec ff650000.vpu_service: reg[41]: 00000000
[  940.002652] rk-vcodec ff650000.vpu_service: reg[42]: 00000000
[  940.003173] rk-vcodec ff650000.vpu_service: reg[43]: 00000000
[  940.003694] rk-vcodec ff650000.vpu_service: reg[44]: 00000000
[  940.004203] rk-vcodec ff650000.vpu_service: reg[45]: 00000000
[  940.004724] rk-vcodec ff650000.vpu_service: reg[46]: 44447878
[  940.005245] rk-vcodec ff650000.vpu_service: reg[47]: 00000000
[  940.005755] rk-vcodec ff650000.vpu_service: reg[48]: 00000000
[  940.006315] rk-vcodec ff650000.vpu_service: reg[49]: 7f800000
[  940.006836] rk-vcodec ff650000.vpu_service: reg[50]: 00000000
[  940.007356] rk-vcodec ff650000.vpu_service: reg[51]: 00000000
[  940.007877] rk-vcodec ff650000.vpu_service: reg[52]: 00000000
[  940.008397] rk-vcodec ff650000.vpu_service: reg[53]: 0003fc00
[  940.008918] rk-vcodec ff650000.vpu_service: reg[54]: 00001000
[  940.009438] rk-vcodec ff650000.vpu_service: reg[55]: 00000002
[  940.010028] rk-vcodec ff650000.vpu_service: reg[56]: 00000003
[  940.010549] rk-vcodec ff650000.vpu_service: reg[57]: 7f800003
[  940.011059] rk-vcodec ff650000.vpu_service: reg[58]: 00000000
[  940.011579] rk-vcodec ff650000.vpu_service: reg[59]: 10130000
[  940.012098] rk-vcodec ff650000.vpu_service: reg[60]: 0000ff00
[  940.012618] rk-vcodec ff650000.vpu_service: reg[61]: 00000780
[  940.013138] rk-vcodec ff650000.vpu_service: reg[62]: 00000000
[  940.013658] rk-vcodec ff650000.vpu_service: reg[63]: 00000002
[  940.014230] rk-vcodec ff650000.vpu_service: reg[64]: 7f800002
[  940.014751] rk-vcodec ff650000.vpu_service: reg[65]: 00000000
[  940.015274] rk-vcodec ff650000.vpu_service: reg[66]: 00000000
[  940.015794] rk-vcodec ff650000.vpu_service: reg[67]: 00000000
[  940.016304] rk-vcodec ff650000.vpu_service: reg[68]: 00000000
[  940.016825] rk-vcodec ff650000.vpu_service: reg[69]: 00000000
[  940.017346] rk-vcodec ff650000.vpu_service: reg[70]: 00000000
[  940.017871] rk-vcodec ff650000.vpu_service: reg[71]: 00000000
[  940.018403] rk-vcodec ff650000.vpu_service: reg[72]: 00000000
[  940.018912] rk-vcodec ff650000.vpu_service: reg[73]: 00000000
[  940.019421] rk-vcodec ff650000.vpu_service: reg[74]: 00000011
[  940.019929] rk-vcodec ff650000.vpu_service: reg[75]: 00c300d2
[  940.020438] rk-vcodec ff650000.vpu_service: reg[76]: 68000002
[  940.020946] rk-vcodec ff650000.vpu_service: reg[77]: 00000000
[  940.021455] rk-vcodec ff650000.vpu_service: reg[78]: 00000001
[  940.021981] rk-vcodec ff650000.vpu_service: reg[79]: 00000000
[  940.022490] rk-vcodec ff650000.vpu_service: reg[80]: 00000000
[  940.022998] rk-vcodec ff650000.vpu_service: reg[81]: 00000000
[  940.023507] rk-vcodec ff650000.vpu_service: reg[82]: 44447878
[  940.024015] rk-vcodec ff650000.vpu_service: reg[83]: 44447878
[  940.024523] rk-vcodec ff650000.vpu_service: reg[84]: 00000000
[  940.025032] rk-vcodec ff650000.vpu_service: reg[85]: 00000000
[  940.025540] rk-vcodec ff650000.vpu_service: reg[86]: 00000000
[  940.026067] rk-vcodec ff650000.vpu_service: reg[87]: 00000000
[  940.026576] rk-vcodec ff650000.vpu_service: reg[88]: 00000000
[  940.027084] rk-vcodec ff650000.vpu_service: reg[89]: 00000000
[  940.027592] rk-vcodec ff650000.vpu_service: reg[90]: 00000000
[  940.028101] rk-vcodec ff650000.vpu_service: reg[91]: 00000000
[  940.028609] rk-vcodec ff650000.vpu_service: reg[92]: 00000000
[  940.029117] rk-vcodec ff650000.vpu_service: reg[93]: 00000000
[  940.029626] rk-vcodec ff650000.vpu_service: reg[94]: 00000000
[  940.030152] rk-vcodec ff650000.vpu_service: reg[95]: 962b4c85
[  940.030661] rk-vcodec ff650000.vpu_service: reg[96]: 90901d50
[  940.031169] rk-vcodec ff650000.vpu_service: reg[97]: 0000b694
[  940.031676] rk-vcodec ff650000.vpu_service: reg[98]: 00000000
[  940.032184] rk-vcodec ff650000.vpu_service: reg[99]: 0501404f
[  940.032692] rk-vcodec ff650000.vpu_service: reg[100]: 6b040000
[  940.033211] rk-vcodec ff650000.vpu_service: reg[101]: 00000000
[  940.033730] rk-vcodec ff650000.vpu_service: reg[102]: 00a00000
[  940.034271] rk-vcodec ff650000.vpu_service: reg[103]: 04407871
[  940.034791] rk-vcodec ff650000.vpu_service: reg[104]: 00000000
[  940.035310] rk-vcodec ff650000.vpu_service: reg[105]: fc000000
[  940.035830] rk-vcodec ff650000.vpu_service: reg[106]: 00200000
[  940.036350] rk-vcodec ff650000.vpu_service: reg[107]: 00000000
[  940.036869] rk-vcodec ff650000.vpu_service: reg[108]: 00000000
[  940.037389] rk-vcodec ff650000.vpu_service: reg[109]: 00000400
[  940.037925] rk-vcodec ff650000.vpu_service: reg[110]: 00000000
[  940.038445] rk-vcodec ff650000.vpu_service: reg[111]: 00000000
[  940.038965] rk-vcodec ff650000.vpu_service: reg[112]: 00000000
[  940.039484] rk-vcodec ff650000.vpu_service: reg[113]: 00000000
[  940.040004] rk-vcodec ff650000.vpu_service: reg[114]: 00000000
[  940.040523] rk-vcodec ff650000.vpu_service: reg[115]: 00000000
[  940.041043] rk-vcodec ff650000.vpu_service: reg[116]: 00000000
[  940.041562] rk-vcodec ff650000.vpu_service: reg[117]: 00000000
[  940.042099] rk-vcodec ff650000.vpu_service: reg[118]: 00000000
[  940.042618] rk-vcodec ff650000.vpu_service: reg[119]: 00000000
[  940.043138] rk-vcodec ff650000.vpu_service: reg[120]: 00010203
[  940.043657] rk-vcodec ff650000.vpu_service: reg[121]: 04050607
[  940.044177] rk-vcodec ff650000.vpu_service: reg[122]: 08090a0b
[  940.044696] rk-vcodec ff650000.vpu_service: reg[123]: 0c0d0e0f
[  940.045216] rk-vcodec ff650000.vpu_service: reg[124]: 10111213
[  940.045736] rk-vcodec ff650000.vpu_service: reg[125]: 14151617
[  940.046272] rk-vcodec ff650000.vpu_service: reg[126]: 18191a1b
[  940.046792] rk-vcodec ff650000.vpu_service: reg[127]: 1c1d1e1f
[  940.047311] rk-vcodec ff650000.vpu_service: reg[128]: 20212223
[  940.047830] rk-vcodec ff650000.vpu_service: reg[129]: 24252627
[  940.048349] rk-vcodec ff650000.vpu_service: reg[130]: 28292a2b
[  940.048868] rk-vcodec ff650000.vpu_service: reg[131]: 2c2d2e2f
[  940.049387] rk-vcodec ff650000.vpu_service: reg[132]: 30313233
[  940.049905] rk-vcodec ff650000.vpu_service: reg[133]: 34353637
[  940.050446] rk-vcodec ff650000.vpu_service: reg[134]: 38393a3b
[  940.050966] rk-vcodec ff650000.vpu_service: reg[135]: 3c3d3e3f
[  940.051485] rk-vcodec ff650000.vpu_service: reg[136]: 40414243
[  940.052007] rk-vcodec ff650000.vpu_service: reg[137]: 44454647
[  940.052516] rk-vcodec ff650000.vpu_service: reg[138]: 48494a4b
[  940.053035] rk-vcodec ff650000.vpu_service: reg[139]: 4c4d4e4f
[  940.053545] rk-vcodec ff650000.vpu_service: reg[140]: 50515253
[  940.054082] rk-vcodec ff650000.vpu_service: reg[141]: 54555657
[  940.054603] rk-vcodec ff650000.vpu_service: reg[142]: 58595a5b
[  940.055123] rk-vcodec ff650000.vpu_service: reg[143]: 5c5d5e5f
[  940.055643] rk-vcodec ff650000.vpu_service: reg[144]: 60616263
[  940.056162] rk-vcodec ff650000.vpu_service: reg[145]: 64656667
[  940.056682] rk-vcodec ff650000.vpu_service: reg[146]: 68696a6b
[  940.057202] rk-vcodec ff650000.vpu_service: reg[147]: 6c6d6e6f
[  940.057722] rk-vcodec ff650000.vpu_service: reg[148]: 70717273
[  940.058258] rk-vcodec ff650000.vpu_service: reg[149]: 74757677
[  940.058778] rk-vcodec ff650000.vpu_service: reg[150]: 78797a7b
[  940.059297] rk-vcodec ff650000.vpu_service: reg[151]: 7c7d7e7f
[  940.059817] rk-vcodec ff650000.vpu_service: reg[152]: 01030505
[  940.060337] rk-vcodec ff650000.vpu_service: reg[153]: 07070707
[  940.060857] rk-vcodec ff650000.vpu_service: reg[154]: 09090909
[  940.061376] rk-vcodec ff650000.vpu_service: reg[155]: 09090909
[  940.061896] rk-vcodec ff650000.vpu_service: reg[156]: 0b0b0b0b
[  940.062431] rk-vcodec ff650000.vpu_service: reg[157]: 0b0b0b0b
[  940.062951] rk-vcodec ff650000.vpu_service: reg[158]: 0b0b0b0b
[  940.063472] rk-vcodec ff650000.vpu_service: reg[159]: 0b0b0b0b
[  940.063991] rk-vcodec ff650000.vpu_service: reg[160]: 0d0d0d0d
[  940.064511] rk-vcodec ff650000.vpu_service: reg[161]: 0d0d0d0d
[  940.065030] rk-vcodec ff650000.vpu_service: reg[162]: 0d0d0d0d
[  940.065549] rk-vcodec ff650000.vpu_service: reg[163]: 0d0d0d0d
[  940.066096] rk-vcodec ff650000.vpu_service: reg[164]: 0d0d0d0d
[  940.066617] rk-vcodec ff650000.vpu_service: reg[165]: 0d0d0d0d
[  940.067136] rk-vcodec ff650000.vpu_service: reg[166]: 0d0d0d0d
[  940.067656] rk-vcodec ff650000.vpu_service: reg[167]: 0d0d0d0d
[  940.068176] rk-vcodec ff650000.vpu_service: reg[168]: 0f0f0f0f
[  940.068696] rk-vcodec ff650000.vpu_service: reg[169]: 0f0f0f0f
[  940.069215] rk-vcodec ff650000.vpu_service: reg[170]: 0f0f0f0f
[  940.069735] rk-vcodec ff650000.vpu_service: reg[171]: 0f0f0f0f
[  940.070273] rk-vcodec ff650000.vpu_service: reg[172]: 0f0f0f0f
[  940.070794] rk-vcodec ff650000.vpu_service: reg[173]: 0f0f0f0f
[  940.071313] rk-vcodec ff650000.vpu_service: reg[174]: 0f0f0f0f
[  940.071833] rk-vcodec ff650000.vpu_service: reg[175]: 0f0f0f0f
[  940.072353] rk-vcodec ff650000.vpu_service: reg[176]: 0f0f0f0f
[  940.072873] rk-vcodec ff650000.vpu_service: reg[177]: 0f0f0f0f
[  940.073392] rk-vcodec ff650000.vpu_service: reg[178]: 0f0f0f0f
[  940.073930] rk-vcodec ff650000.vpu_service: reg[179]: 0f0f0f0f
[  940.074451] rk-vcodec ff650000.vpu_service: reg[180]: 0f0f0f0f
[  940.074971] rk-vcodec ff650000.vpu_service: reg[181]: 0f0f0f0f
[  940.075490] rk-vcodec ff650000.vpu_service: reg[182]: 0f0f0f0f
[  940.076009] rk-vcodec ff650000.vpu_service: reg[183]: 0f0f0f0f

Kernel info:

Linux hildr 4.4.154-g33fb3ac-dirty #1 SMP Thu Mar 26 00:57:00 UTC 2020 aarch64 GNU/Linux

Has a few extra modules enabled, but nothing much. If it helps I can dump my config.