Closed tentaisan closed 4 months ago
ご指摘、原因調査、修正方法まですべてお教えいただきありがとうございました。
ご提示いただいた修正方法で問題ないと思います。また他の箇所では該当情報を使用している箇所はないようでした。
rkmppenc 0.08にてご提示の修正を反映しております。
すみません、rkmppenc 0.08はまだ準備中ですので、少々お待ちください。
お待たせしました。rkmppenc 0.08を公開しました。
build/compile して動作を確認し現象が生じていた OrangePi 3B (RK3566) で問題が解消していることを確認しました。
$ ./rkmppenc --version
rkmppenc (aarch64) 0.08 (r318) by rigaya, May 2 2024 19:55:54 (gcc 11.4.0/Linux)
$ ./rkmppenc --check-mppinfo
SoC name : rockchip,rk3566-orangepi-3b rockchip,rk3566
Mpp service : yes [mpp_service_v1] (okay)
Mpp kernel : 5.10
2D accerelation : iepv2(okay) rga(okay)
HW Encode : H.264/AVC H.265/HEVC
HW Decode : H.264/AVC(10bit) H.265/HEVC(10bit) MPEG2 VP9(10bit)
$
ご対応ありがとうございます。
ご確認いただきありがとうございました。
rk3566は所持していないので、大変助かりました。
OrangePi 3B (RK3566) で
となります。gdb をあてると
となり、nullptr の cap を参照しています。 少し追ってみましたが、どうやら mpp_get_soc_info() が NULL を含んだ array を返す実装のようでした。
https://github.com/rockchip-linux/mpp/blob/4cc3fb25f72fd862596743778575b1aae5b2e9aa/osal/mpp_soc.cpp#L866
とりあえず
と null check を入れると --chck-mppinfo が segmentation fault で落ちる事がなくなるのは確認しましたが、問題がここだけに限るかがわからなかったので issue としました。