getting started : MPP

hello,
I am starting to test target board(FireFly-RK3128) by the instructions.test environment: prebuilt-ubuntu-image

  • kernel version:3.10.0
  • prebuilt filesystem

I downloaded prebuilt-ubuntu-image, and the target board loaded firmware in successfully.
But I could not find any other resources or examples related to MPP(video codec) on the system (ubuntu image, kernel version:3.10.0).
Is there any available MPP examples on this target(FireFly-RK3128, kernel 3.10.0) ?

Next, I read MPP wiki from rockchip to test codec functionality, and I tested as following steps :

  1. build mpp by buildroot
  2. run mpp test applications on target board(ubuntu) :
    Is the following log normal ? If not, what can I check ?
    $ mpi_dec_test -i ~/Downloads/dragon2-1280x720.h264 -w 1280 -h 720 -t 7 -o~/decoded.yuv -n 100 -d 255

mpi_dec_test:cmd parse result:

mpi_dec_test:input file name: /home/firefly/Downloads/dragon2-1280x720.h264

mpi_dec_test:output file name: /home/firefly/decoded.yuv

mpi_dec_test:width : 1280

mpi_dec_test:height : 720

mpi_dec_test:type : 7

mpi_dec_test:debug flag : ff

mpi_dec_test:max frames : 100

mpi_dec_test:mpi_dec_test start

mpi_dec_test:input file size 16236245

mpi_dec_test:mpi_dec_test decoder test start w 1280 h 720 type 7

mpi:mpp_create enter ctx 0xbebb8cf0 mpi 0xbebb8cf4

mpi:mpp version: Without VCS info

mpi:mpp_create leave ret 0 ctx 0x2c3e0 mpi 0xb6ef660c

mpi:mpi_control enter ctx 0x2c3e0 cmd 310005 parm 0xbebb8d00

mpi:mpi_control leave ret 0

mpi:mpp_init enter ctx 0x2c3e0 type 0 coding 7

mpp_log:open /proc/device-tree/compatible error.

mpp_rt:found ion allocator

mpp_rt:NOT found drm allocator

mpp_ion:scan /proc/device-tree for vpu_service return -1

mpp_ion:scan /proc/device-tree for hevc_service return -1

mpp_ion:scan /proc/device-tree for rkvdec return -1

mpp_ion:scan /proc/device-tree for rkvenc return -1

mpp_ion:scan /proc/device-tree for vpu_combo return -1

mpp_ion:scan /sys/kernel/debug/ion/heaps for vmalloc return -1

mpp_ion:scan /sys/kernel/debug/ion/heaps for system-heap return -1

mpp_ion:can not find any hint from all possible devices

mpp_ion:using ion heap ION_HEAP_TYPE_CARVEOUT

mpp_ion:ion_ioctl c0144900 failed with code -1: No such device

mpp_ion:allocator_ion_alloc ion_alloc failed ret -19

mpp_buffer:mpp_buffer_create failed to create buffer with size 3680

mpp_buffer:mpp_buffer_put invalid input: buffer (nil)

mpp_buffer:mpp_buffer_put invalid input: buffer (nil)

mpp_buffer:mpp_buffer_put invalid input: buffer (nil)

mpp_hal:mpp_hal_init hal h264d_rkdec init failed ret -1

mpp_hal:mpp_hal_init could not found coding type 7

mpp_dec:mpp_dec_init could not init hal

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp_time:mpp_timer_put invalid timer (nil)

mpp:error found on mpp initialization

mpi:mpp_init leave ret 0

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

mpi:mpi_decode_put_packet leave ret -1002

mpi:mpi_decode_get_frame enter ctx 0x2c3e0 frame 0xbebb8d14

mpi:mpi_decode_get_frame leave ret -1002

mpi_dec_test:decode_get_frame failed ret -1002

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

mpi:mpi_decode_put_packet leave ret -1002

mpi:mpi_decode_get_frame enter ctx 0x2c3e0 frame 0xbebb8d14

mpi:mpi_decode_get_frame leave ret -1002

mpi_dec_test:decode_get_frame failed ret -1002

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

mpi:mpi_decode_put_packet leave ret -1002

mpi:mpi_decode_get_frame enter ctx 0x2c3e0 frame 0xbebb8d14

mpi:mpi_decode_get_frame leave ret -1002

mpi_dec_test:decode_get_frame failed ret -1002

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

mpi:mpi_decode_put_packet leave ret -1002

mpi:mpi_decode_get_frame enter ctx 0x2c3e0 frame 0xbebb8d14

mpi:mpi_decode_get_frame leave ret -1002

mpi_dec_test:decode_get_frame failed ret -1002

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

mpi:mpi_decode_put_packet leave ret -1002

mpi:mpi_decode_get_frame enter ctx 0x2c3e0 frame 0xbebb8d14

mpi:mpi_decode_get_frame leave ret -1002

mpi_dec_test:decode_get_frame failed ret -1002

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

mpi:mpi_decode_put_packet leave ret -1002

mpi:mpi_decode_get_frame enter ctx 0x2c3e0 frame 0xbebb8d14

mpi:mpi_decode_get_frame leave ret -1002

mpi_dec_test:decode_get_frame failed ret -1002

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

mpi:mpi_decode_put_packet leave ret -1002

mpi:mpi_decode_get_frame enter ctx 0x2c3e0 frame 0xbebb8d14

mpi:mpi_decode_get_frame leave ret -1002

mpi_dec_test:decode_get_frame failed ret -1002

mpi:mpi_decode_put_packet enter ctx 0x2c3e0 packet 0x2c360

I found any related issues

Do I need to build new version of kernel ?
If i need to build, Can Firefly or anyone offer the right kernel ?

thank you.

need /dev/dri/card0

@hschoi
It seems that you have figured all these out, right?
Plz update your post so that it’ll become others’ precious guide.

I can find “/dev/dri/card0” on filesystem built by px3se S/W package(buildroot)

Xhs1991のEMCのD-PSC-DY-23試験トレーニング資料を使ったら、君のEMCのD-PSC-DY-23認定試験に合格するという夢が叶えます。なぜなら、それはEMCのD-PSC-DY-23認定試験に関する必要なものを含まれるからです。Xhs1991を選んだら、あなたは簡単に認定試験に合格することができますし、あなたはITエリートたちの一人になることもできます。まだ何を待っていますか。早速買いに行きましょう。