I just want to use camx-hal3-test to encode the video to h.264.
I have already reconfigure the camx-hal3-test code to enable encoding function.
But when run the following command the camx-hal3-test just crash. the crash log is as following:
load camera module id:camera, path:/usr/lib/hw/camera.qcom.so
camx-hal3-test I 30389 30389 BufferAllocator.cpp:90] Using DMA-BUF heap named: system
Camera: 0 face:1 orientation:270
Camera: 1 face:2 orientation:270
Camera: 2 face:1 orientation:270
Camera: 3 face:1 orientation:270
Camera: 4 face:1 orientation:270
Camera: 5 face:1 orientation:270
CAM0>>A:id=0,vsize=1920x1080,fpsrange=60-60,codectype=0
Test camera:A:id=0,vsize=1920x1080,fpsrange=60-60,codectype=0
camera:0
video size:1920x1080
video format:yuv420
FPS_RANGE: min:60 max:60
codec type: 0
add a camera :0
camera id 0 TESTMODE_VIDEO_ONLY
new instance for QCamxHAL3TestVideoOnly
new instance for QCamxTestVideoEncoder
new instance for QCamxHAL3TestOMXEncoder
before OMX init
OMXCORE API - OMX_Init
OMX init success
OMXCORE API - OMX_ComponentNameEnum 0x5593cdfeb0 128 0
SupportComponents[0]: OMX.qcom.audio.decoder.Qcelp13
OMXCORE API - OMX_ComponentNameEnum 0x5593cdff30 128 1
SupportComponents[1]: OMX.qcom.audio.decoder.evrc
OMXCORE API - OMX_ComponentNameEnum 0x5593cdffb0 128 2
SupportComponents[2]: OMX.qcom.audio.decoder.wma
OMXCORE API - OMX_ComponentNameEnum 0x5593ce0030 128 3
SupportComponents[3]: OMX.qcom.audio.decoder.wma10Pro
OMXCORE API - OMX_ComponentNameEnum 0x5593ce00b0 128 4
SupportComponents[4]: OMX.qcom.audio.decoder.wmaLossLess
OMXCORE API - OMX_ComponentNameEnum 0x5593ce0130 128 5
SupportComponents[5]: OMX.qcom.audio.decoder.amrwbplus
OMXCORE API - OMX_ComponentNameEnum 0x5593ce01b0 128 6
SupportComponents[6]: OMX.qcom.audio.decoder.alac
OMXCORE API - OMX_ComponentNameEnum 0x5593ce0230 128 7
SupportComponents[7]: OMX.qti.audio.decoder.alac.sw
OMXCORE API - OMX_ComponentNameEnum 0x5593ce02b0 128 8
SupportComponents[8]: OMX.qcom.audio.decoder.ape
OMXCORE API - OMX_ComponentNameEnum 0x5593ce0330 128 9
SupportComponents[9]: OMX.qti.audio.decoder.ape.sw
OMXCORE API - OMX_ComponentNameEnum 0x5593ce03b0 128 10
SupportComponents[10]: OMX.qti.audio.decoder.dsd
OMXCORE API - OMX_ComponentNameEnum 0x5593ce0430 128 11
SupportComponents[11]: OMX.qcom.audio.encoder.aac
OMXCORE API - OMX_ComponentNameEnum 0x5593ce04b0 128 12
SupportComponents[12]: OMX.qcom.audio.encoder.qcelp13
OMXCORE API - OMX_ComponentNameEnum 0x5593ce0530 128 13
SupportComponents[13]: OMX.qcom.audio.encoder.evrc
OMXCORE API - OMX_ComponentNameEnum 0x5593ce05b0 128 14
SupportComponents[14]: OMX.qcom.audio.encoder.amrnb
OMXCORE API - OMX_ComponentNameEnum 0x5593ce0630 128 15
SupportComponents[15]: OMX.qcom.audio.decoder.multiaac
OMXCORE API - OMX_ComponentNameEnum 0x5593ce06b0 128 16
Un supportComponents[16]:
video encoder output path : /data/misc/camera//camera_0.h264
OMXCORE API : GetHandle 0x5593ce1eb0 OMX.qcom.video.encoder.avc 0x5593cdfe60
before get_cmp_index **********-1
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.Qcelp13 ,count = 0
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.evrc ,count = 1
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.wma ,count = 2
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.wma10Pro ,count = 3
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.wmaLossLess ,count = 4
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.amrwbplus ,count = 5
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.alac ,count = 6
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qti.audio.decoder.alac.sw ,count = 7
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.ape ,count = 8
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qti.audio.decoder.ape.sw ,count = 9
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qti.audio.decoder.dsd ,count = 10
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.encoder.aac ,count = 11
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.encoder.qcelp13 ,count = 12
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.encoder.evrc ,count = 13
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.encoder.amrnb ,count = 14
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.multiaac ,count = 15
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.QCOM.CUST.COMP.START ,count = 16
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.file.muxer ,count = 17
get_cmp_index: cmp_name = OMX.qcom.video.encoder.avc , core[i].name = OMX.qcom.audio.decoder.aac ,count = 18
returning index -1
ERROR: Already another instance active ;rejecting
gbm_create_device(228): Info: backend name is: msm_drm
camx-hal3-test I 30389 30389 BufferAllocator.cpp:90] Using DMA-BUF heap named: qcom,system
camx-hal3-test I 30389 30389 BufferAllocator.cpp:90] Using DMA-BUF heap named: qcom,system
AECOMP ae_comp_range min = -12, max = 12
QCamxHAL3TestVideoOnly::run before
QCamxTestVideoEncoder::run before coder start : 0x5593cdfe60
QCamxHAL3TestOMXEncoder::start() before send command
=========>>>catch signal 11 <<< from tid:30389======
Run cmd: cat /proc/30389/maps | grep '/usr' | grep 'r-xp' | tee /data/misc/camera/trace_30389[11].txt
7f90020000-7f90032000 r-xp 00000000 08:07 5719 /usr/lib/libcamxswprocessalgo.so
7fa0170000-7fa018d000 r-xp 00000000 08:07 5720 /usr/lib/libcamxtintlessalgo.so
7fa0240000-7fa027e000 r-xp 00000000 08:07 6062 /usr/lib/libipebpsstriping.so
7fa8050000-7fa8054000 r-xp 00000000 08:07 5716 /usr/lib/libcamxexternalformatutils.so
7fa8cb0000-7fa8eb1000 r-xp 00000000 08:07 5945 /usr/lib/libgsl.so
7fa8ed0000-7fa8ee5000 r-xp 00000000 08:07 5601 /usr/lib/libadreno_utils.so
7faf7d0000-7faf7d1000 r-xp 00000000 08:07 5051 /usr/lib/camera/com.qti.sensor.max9296a_ar0231.so
7faf7f0000-7faf7f1000 r-xp 00000000 08:07 5060 /usr/lib/camera/com.qti.sensor.ov9282.so
7faf810000-7faf811000 r-xp 00000000 08:07 5033 /usr/lib/camera/com.qti.sensor.cmk_imx577.so
7faf830000-7fafa38000 r-xp 00000000 08:07 5486 /usr/lib/hw/com.qti.chi.override.so
7fafbe0000-7fafbe2000 r-xp 00000000 08:07 5108 /usr/lib/camera/components/com.qti.hvx.binning.so
7fafc00000-7fafc02000 r-xp 00000000 08:07 5107 /usr/lib/camera/components/com.qti.hvx.addconstant.so
7fafc20000-7fafc32000 r-xp 00000000 08:07 5141 /usr/lib/camera/components/com.qtistatic.stats.pdlib.so
7fafc50000-7fafc63000 r-xp 00000000 08:07 5140 /usr/lib/camera/components/com.qtistatic.stats.awb.so
7fafc80000-7fafc94000 r-xp 00000000 08:07 5139 /usr/lib/camera/components/com.qtistatic.stats.af.so
7fafcb0000-7fafcc4000 r-xp 00000000 08:07 5138 /usr/lib/camera/components/com.qtistatic.stats.aec.so
7fafce0000-7fafcf1000 r-xp 00000000 08:07 5137 /usr/lib/camera/components/com.qti.stats.statsgenerator.so
7fafd10000-7fafd21000 r-xp 00000000 08:07 5136 /usr/lib/camera/components/com.qti.stats.pdlibwrapper.so
7fafd40000-7fafd55000 r-xp 00000000 08:07 5135 /usr/lib/camera/components/com.qti.stats.pdlibsony.so
7fafd70000-7faffb0000 r-xp 00000000 08:07 5134 /usr/lib/camera/components/com.qti.stats.pdlib.so
7faffd0000-7faffe5000 r-xp 00000000 08:07 5133 /usr/lib/camera/components/com.qti.stats.localhistogram.so
7fb0000000-7fb0014000 r-xp 00000000 08:07 5132 /usr/lib/camera/components/com.qti.stats.hafoverride.so
7fb0030000-7fb0226000 r-xp 00000000 08:07 5131 /usr/lib/camera/components/com.qti.stats.haf.so
7fb0240000-7fb0253000 r-xp 00000000 08:07 5130 /usr/lib/camera/components/com.qti.stats.awbwrapper.so
7fb0270000-7fb048c000 r-xp 00000000 08:07 5129 /usr/lib/camera/components/com.qti.stats.awb.so
7fb04b0000-7fb066a000 r-xp 00000000 08:07 5128 /usr/lib/camera/components/com.qti.stats.asd.so
7fb0690000-7fb06a2000 r-xp 00000000 08:07 5127 /usr/lib/camera/components/com.qti.stats.afwrapper.so
7fb06c0000-7fb0885000 r-xp 00000000 08:07 5126 /usr/lib/camera/components/com.qti.stats.afd.so
7fb08a0000-7fb0a9c000 r-xp 00000000 08:07 5125 /usr/lib/camera/components/com.qti.stats.af.so
7fb0ac0000-7fb0ad2000 r-xp 00000000 08:07 5124 /usr/lib/camera/components/com.qti.stats.aecwrapper.so
7fb0af0000-7fb0d2d000 r-xp 00000000 08:07 5123 /usr/lib/camera/components/com.qti.stats.aec.so
7fb0d50000-7fb0d54000 r-xp 00000000 08:07 5121 /usr/lib/camera/components/com.qti.node.stich.so
7fb0d70000-7fb0f2e000 r-xp 00000000 08:07 5120 /usr/lib/camera/components/com.qti.node.shdr.so
7fb0f50000-7fb0f55000 r-xp 00000000 08:07 5119 /usr/lib/camera/components/com.qti.node.remosaic.so
7fb0f70000-7fb0f87000 r-xp 00000000 08:07 5118 /usr/lib/camera/components/com.qti.node.meshwarp.so
7fb0fa0000-7fb1169000 r-xp 00000000 08:07 5117 /usr/lib/camera/components/com.qti.node.meshmanager.so
7fb1180000-7fb1184000 r-xp 00000000 08:07 5116 /usr/lib/camera/components/com.qti.node.memcpy.so
7fb11a0000-7fb136b000 r-xp 00000000 08:07 5115 /usr/lib/camera/components/com.qti.node.imagewarp.so
7fb1390000-7fb13b5000 r-xp 00000000 08:07 5114 /usr/lib/camera/components/com.qti.node.gpu.so
7fb13d0000-7fb1591000 r-xp 00000000 08:07 5113 /usr/lib/camera/components/com.qti.node.eisdg.so
7fb15b0000-7fb15b6000 r-xp 00000000 08:07 5112 /usr/lib/camera/components/com.qti.node.dummysat.so
7fb15d0000-7fb15d5000 r-xp 00000000 08:07 5111 /usr/lib/camera/components/com.qti.node.dummyrtb.so
7fb15f0000-7fb15f6000 r-xp 00000000 08:07 5110 /usr/lib/camera/components/com.qti.node.depth.so
7fb1610000-7fb1611000 r-xp 00000000 08:07 5155 /usr/lib/chilog.so
7fb1630000-7fb1634000 r-xp 00000000 08:07 5755 /usr/lib/libcom.qti.chinodeutils.so
7fb1650000-7fb1656000 r-xp 00000000 08:07 5109 /usr/lib/camera/components/com.qti.node.customhwnode.so
7fb2f00000-7fb2f02000 r-xp 00000000 08:07 6714 /usr/lib/libtime_genoff.so.1.0.0
7fb2f20000-7fb2f2a000 r-xp 00000000 08:07 6710 /usr/lib/libthreadutils.so
7fb2f40000-7fb2f46000 r-xp 00000000 08:07 6347 /usr/lib/libos.so
7fb2f60000-7fb2f65000 r-xp 00000000 08:07 5779 /usr/lib/libcvp2_hfi.so
7fb2f80000-7fb2f83000 r-xp 00000000 08:07 5780 /usr/lib/libcvp_common.so
7fb2fd0000-7fb2fd2000 r-xp 00000000 08:07 6452 /usr/lib/libqmi_sap.so.1.0.0
7fb2ff0000-7fb2ff8000 r-xp 00000000 08:07 6448 /usr/lib/libqmi_csi.so.1.0.0
7fb3010000-7fb3011000 r-xp 00000000 08:07 6446 /usr/lib/libqmi_common_so.so.1.0.0
7fb3030000-7fb3031000 r-xp 00000000 08:07 6464 /usr/lib/libqsocket.so.1.0.0
7fb3050000-7fb3054000 r-xp 00000000 08:07 6460 /usr/lib/libqrtr.so.1.0.0
7fb3070000-7fb30b2000 r-xp 00000000 08:07 5787 /usr/lib/libdiag.so.1.0.0
7fb3320000-7fb3326000 r-xp 00000000 08:07 5714 /usr/lib/libcamera_nn_stub.so
7fb3340000-7fb3346000 r-xp 00000000 08:07 6792 /usr/lib/libvmmem.so.0.0.0
7fb3360000-7fb3369000 r-xp 00000000 08:07 6669 /usr/lib/libsynx.so
7fb3380000-7fb33ba000 r-xp 00000000 08:07 5778 /usr/lib/libcvp2.so
7fb33d0000-7fb33d4000 r-xp 00000000 08:07 6450 /usr/lib/libqmi_encdec.so.1.0.0
7fb33f0000-7fb33fd000 r-xp 00000000 08:07 6444 /usr/lib/libqmi_cci.so.1.0.0
7fb3410000-7fb3701000 r-xp 00000000 08:07 6415 /usr/lib/libprotobuf.so.30.0.6
7fb3720000-7fb37f2000 r-xp 00000000 08:07 6595 /usr/lib/libsnsapi.so.1.0.0
7fb3810000-7fb3817000 r-xp 00000000 08:07 6224 /usr/lib/libofflinelog.so
7fb3830000-7fb3856000 r-xp 00000000 08:07 5717 /usr/lib/libcamxfdengine.so
7fb38a0000-7fb3939000 r-xp 00000000 08:07 5603 /usr/lib/libadsprpc.so
7fb3960000-7fb414a000 r-xp 00000000 08:07 5485 /usr/lib/hw/camera.qcom.so
7fb5270000-7fb5272000 r-xp 00000000 08:07 6061 /usr/lib/libion.so.0.0.0
7fb5290000-7fb5298000 r-xp 00000000 08:07 5635 /usr/lib/libbase.so.0.0.0
7fb52b0000-7fb52b9000 r-xp 00000000 08:07 5861 /usr/lib/libffi.so.8.1.2
7fb52d0000-7fb52d6000 r-xp 00000000 08:07 5556 /usr/lib/libOmxCore.so
7fb52f0000-7fb52f9000 r-xp 00000000 08:07 5801 /usr/lib/libdmabufheap.so.0.0.0
7fb5310000-7fb531f000 r-xp 00000000 08:07 6804 /usr/lib/libwayland-client.so.0.20.0
7fb5340000-7fb5354000 r-xp 00000000 08:07 6810 /usr/lib/libwayland-server.so.0.20.0
7fb5370000-7fb53c6000 r-xp 00000000 08:07 5642 /usr/lib/libbinder.so.0.0.0
7fb5490000-7fb5491000 r-xp 00000000 08:07 6018 /usr/lib/libgthread-2.0.so.0.7200.3
7fb54b0000-7fb5513000 r-xp 00000000 08:07 6401 /usr/lib/libpcre.so.1.2.13
7fb5720000-7fb590e000 r-xp 00000000 08:07 6651 /usr/lib/libstdc++.so.6.0.29
7fb5950000-7fb5971000 r-xp 00000000 08:07 5878 /usr/lib/libgbm.so
7fb5990000-7fb59b1000 r-xp 00000000 08:07 5713 /usr/lib/libcamera_metadata.so.0.0.0
7fb59d0000-7fb59da000 r-xp 00000000 08:07 6093 /usr/lib/liblog.so.0.0.0
7fb59f0000-7fb5a0b000 r-xp 00000000 08:07 6780 /usr/lib/libutils.so.0.0.0
7fb5a20000-7fb5a2f000 r-xp 00000000 08:07 5776 /usr/lib/libcutils.so.0.0.0
7fb5a50000-7fb5a52000 r-xp 00000000 08:07 6668 /usr/lib/libsync.so.0.0.0
7fb5a70000-7fb5a79000 r-xp 00000000 08:07 5617 /usr/lib/libatomic.so.1.2.0
7fb5a90000-7fb5bd5000 r-xp 00000000 08:07 5899 /usr/lib/libglib-2.0.so.0.7200.3
Dump stack start...
backtrace() returned 10 addresses
[00] ./camx-hal3-test(+0x15b1c) [0x55815e5b1c]
[01] ./camx-hal3-test(+0x15dc0) [0x55815e5dc0]
[02] ./camx-hal3-test(+0x16128) [0x55815e6128]
[03] linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x7fb5c5d84c]
[04] libomx_encoder.so(_ZN23QCamxHAL3TestOMXEncoder5startEv+0xc4) [0x7fb59369f4]
[05] ./camx-hal3-test(+0x1578c) [0x55815e578c]
[06] ./camx-hal3-test(+0x7c0c) [0x55815d7c0c]
[07] /lib/libc.so.6(+0x2b234) [0x7fb555b234]
[08] /lib/libc.so.6(__libc_start_main+0x9c) [0x7fb555b30c]
[09] ./camx-hal3-test(+0x81f0) [0x55815d81f0]
Dump stack end...
Run cmd: ls -l /proc/30389/fd > /data/misc/camera/fd_30389[11].txt
Run cmd: cat /proc/30389/maps > /data/misc/camera/maps_30389[11].txt
Run cmd: cat /proc/meminfo > /data/misc/camera/meminfo_30389[11].txt
Run cmd: ps -T > /data/misc/camera/ps_30389[11].txt
Run cmd: top -b -n 1 > /data/misc/camera/top_30389[11].txt
the crash is about null pointer function call. OMX_GetHandle function just return failed and the following is the error message about OMX_GetHandle:
But I don't know why I cannot get OMX handle, I have already quit the qmmf server and have no idea who still use the OMX handle .
Dear support:
I found the reason why omx encoder is not working. I use the RB5 with LE2.0 version, but cannot found omx h264 encoder .
The log show cannot found OMX.qcom.video.encoder.avc encoder. I also cannot found avc encoder in the rb5 file system too.
I also read the release document about 00008.1 Release Note for QRB5165_2022.SPF.1.0 and cannot find any keyword about omx, seems like qcomm not use omx plugin in LE2.0