omx硬件编解码组件没法注册
鸿蒙百川 2025-11-10 13:21:20 在移植某rk平台时参考官方的rk3568和rk3588的omx硬件编解码时,有无大佬细致研究过,是否这里codec_hdi_omx没搞懂走没有hdf驱动框架,还是直接调用so库呀
目前移植过程so库都是正常的,hdf驱动参考rk3588,也貌似没有走,那这里比较好奇code_hdi_omx这里接口是调用哪里
您需要先 登录 才能评论/回答
全部评论(9)
需要加载动态库libOMX_Core.z.so ,代码位于https://gitcode.com/openharmony/drivers_peripheral/blob/master/codec/hal/idl_service/src/component_mgr.cpp “AddComponentByLibName("libOMX_Core.z.so");” ,加载代码在codec_omx_core.cpp
2025-11-10 14:00:37
引用:“大佬,先不看日志,先咨询个问题,有无遇到device/soc/rockchip/rk3568/hardware/omx_il中的日志函数不打印的情况,里面的日志一条没有被打印,但是最终函数调用libOMX_Core.z.so就是device/soc/rockchip/rk3568/hardware/omx_il/core/BUILD.gn中构建的,里面日志不打印咋办”
我看别人的版本解码时是有大量日志打印的。可能原因是没开debug等级的日志: hilog -b D 再启动看下,或者rk3568/hardware/omx_il/osal/Rockchip_OSAL_Log.c是否有修改 D C02510/HDF_LOG_TAG: [codec_host] omx_vdec_ctl Rkvpu_OMX_GetParameter(1271): IN D C02510/HDF_LOG_TAG: [codec_host] omx_vdec_ctl Rkvpu_OMX_GetParameter(1271): IN D C02510/HDF_LOG_TAG: [codec_host] omx_vdec_ctl Rkvpu_OMX_UseBuffer(140): IN
引用:“下面日志只有框架层和hdi的,把日志抓到文件中看下呢,没换行不好看”
大佬,先不看日志,先咨询个问题,有无遇到device/soc/rockchip/rk3568/hardware/omx_il中的日志函数不打印的情况,里面的日志一条没有被打印,但是最终函数调用libOMX_Core.z.so就是device/soc/rockchip/rk3568/hardware/omx_il/core/BUILD.gn中构建的,里面日志不打印咋办
引用:“SetParameter和SetComponentRole报错,第一帧解封装got first input输入后,底层报错,但是没打印了,device/soc/rockchip/rk3568/hardware/omx_il加了日志也没用,是没走这里面吗”
应该会走这里,没有打印可能是omx库没用到系统的hilog库
引用:“一般不走hdf框架,OMX_Core库都是芯片私有实现的。上图中是H265编码,libOMX_Core.z.so库中应该没定义该格式的组件,芯片不支持或者没适配。H264编码应该支持,可以先看看这个格式”
SetParameter和SetComponentRole报错,第一帧解封装got first input输入后,底层报错,但是没打印了,device/soc/rockchip/rk3568/hardware/omx_il加了日志也没用,是没走这里面吗
引用:“一般不走hdf框架,OMX_Core库都是芯片私有实现的。上图中是H265编码,libOMX_Core.z.so库中应该没定义该格式的组件,芯片不支持或者没适配。H264编码应该支持,可以先看看这个格式”
.567 681 695 I C02514/codec_hdi_omx: Init() CodecOMXCore::Init completed for libName: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() =================Init result for lib : .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Enumerating components for lib: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.avc, index=0, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.m4v, index=1, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.h263, index=2, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.flv1, index=3, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.m2v, index=4, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.vp8, index=5, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.vp9, index=6, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.vc1, index=7, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.wmv3, index=8, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.hevc, index=9, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_decoder.mjpeg, index=10, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_encoder.avc, index=11, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_encoder.hevc, index=12, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum found component: at index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() [SPECIAL TRACKING] Found target component: OMX.rk.video_decoder.avc at index: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Found component: at index: for lib: .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Loading component: name=OMX.rk.video_encoder.vp8, index=13, libName=libOMX_Core.z.so .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() Added component: to component map .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() CodecOMXCore::ComponentNameEnum called for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() Calling OMX_ComponentNameEnum for index: .567 681 695 I C02514/codec_hdi_omx: ComponentNameEnum() OMX_ComponentNameEnum returned: for index: , no more components .567 681 695 I C02514/codec_hdi_omx: AddComponentByLibName() ===========================Component enumeration completed for lib: , found components .567 681 695 I C02514/codec_hdi_omx: AddVendorComponent() AddVendorComponent completed===================== .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() CreateComponentInstance called for componentName: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() Searching for component: in component map with size: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() Registered components list: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() - Component: .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() Component found, getting core .567 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() Calling core->GetHandle for component: .567 681 695 I C02514/codec_hdi_omx: GetHandle() CodecOMXCore::GetHandle called for component: .567 681 695 I C02514/codec_hdi_omx: GetHandle() Calling OMX_GetHandle for component: .568 681 695 I C02514/codec_hdi_omx: GetHandle() OMX_GetHandle returned: , handle: for component: .568 681 695 I C02514/codec_hdi_omx: GetHandle() [SPECIAL TRACKING] GetHandle for OMX.rk.video_decoder.avc: err=, handle= .568 681 695 I C02514/codec_hdi_omx: CreateComponentInstance() Component created successfully, handle: .568 681 695 I C02514/codec_hdi_omx: OpenHandle() OpenHandle: CreateComponentInstance succeeded for component: OMX.rk.video_decoder.avc .568 681 695 I C02514/codec_hdi_omx: OpenHandle() OpenHandle end, component: OMX.rk.video_decoder.avc opened successfully .568 681 695 I C02514/codec_hdi_omx: CreateComponent() CreateComponent: OpenHandle succeeded for component: OMX.rk.video_decoder.avc .568 681 695 I C02514/codec_hdi_omx: GetCoreOfComponent() GetCoreOfComponent called for component: .568 681 695 I C02514/codec_hdi_omx: GetCoreOfComponent() Found core for component: .568 681 695 I C02514/codec_hdi_omx: GetRolesOfComponent() CodecOMXCore::GetRolesOfComponent called for component: .568 681 695 I C02514/codec_hdi_omx: GetRolesOfComponent() Calling OMX_GetRolesOfComponent to get role count for component: .568 681 695 I C02514/codec_hdi_omx: GetRolesOfComponent() Component has roles .568 681 695 I C02514/codec_hdi_omx: GetRolesOfComponent() Calling OMX_GetRolesOfComponent to get actual roles for component: .568 681 695 I C02514/codec_hdi_omx: GetRolesOfComponent() Retrieved roles for component: .568 681 695 I C02514/codec_hdi_omx: GetRolesOfComponent() Role : .568 681 695 I C02514/codec_hdi_omx: SetComponentRole() RoleName = [video_decoder.avc] .568 681 695 E C02514/codec_hdi_omx: SetParameter() OMX_SetParameter err = 8000100f .568 681 695 E C02514/codec_hdi_omx: SetComponentRole() OMX_IndexParamStandardComponentRole err [-2147479537] .568 681 695 I C02514/codec_hdi_omx: CreateComponent() CreateComponent end, componentId[2], component: OMX.rk.video_decoder.avc created successfully .568 681 695 I C02514/codec_hdi_omx: RegisterDeathRecipientService() Add deathRecipient success! .568 857 2693 I C02b32/HCODEC: [2_d Uninit OnAllocateComponent] create omx node OMX.rk.video_decoder.avc succ .568 857 2693 I C02b32/HCODEC: [2_d Uninit PrintCaller] [pid 0][com.ohos.AudioRawPlayer] -> player -> avcodec .569 857 934 I C02b30/CodecServer: {Init():211} Create codec OMX.rk.video_decoder.avc by mime success .572 779 2692 I C02b22/VideoDecoderAdapter: #151 VideoDecoderAdapter::Init CreateByMime errorCode 0 .572 779 2692 I C02b22/DecoderSurfaceFilter: (Configure(), 301): Configure .572 779 2692 I C02b22/VideoDecoderAdapter: #164 VideoDecoderAdapter->Configure. .574 857 934 I C02b32/HCODEC: [2_d Init Configure] av_player_is_drm_protected = 0 | bitrate = 6296429 | codec_config, bufferSize = 39 | codec_mime = video/avc | frame_rate = 24.03746 [2025-11-12 18:34:36] 1 | height = 704 | language = und | rotation_angle = 0 | track_index = 0 | track_start_time = 0 | track_type = 1 | video_delay = 2 | video_orientation_type = 0 | video_sar = 1.000000 | width = 1248 | .574 857 2693 I C02b32/HCODEC: [2_d Init OnConfigure] normal mode .574 857 2693 I C02b32/HCODEC: [2_d Init SaveTransform] GraphicTransformType = 0 .574 857 2693 I C02b32/HCODEC: [2_d Init SetProcessName] processName is com.ohos.AudioRawPlayer .574 681 695 E C02514/codec_hdi_omx: SetParameter() OMX_SetParameter err = 8000101a .575 857 2693 W C02b32/HCODEC: [2_d Init SetProcessName] set process name failed .575 857 2693 I C02b32/HCODEC: [2_d Init SetupPort] user set width 1248, height 704 .575 857 2693 I C02b32/HCODEC: [2_d Init GetPixelFmtFromUser] user don't set VideoPixelFormat, use default .575 857 2693 I C02b32/HCODEC: [2_d Init GetPixelFmtFromUser] configured pixel format is NV12 .575 857 2693 I C02b32/HCODEC: [2_d Init PrintPortDefinition] INPUT: bufCntAct 4, bufCntMin 4 bufSize 4177920, 1248 x 704 @ 1575319(24.04) .576 857 2693 I C02b32/HCODEC: [2_d Init PrintPortDefinition] OUTPUT: bufCntAct 21, bufCntMin 17 bufSize 1317888, 1248 x 704 @ 1575319(24.04) .576 857 2693 W C02b32/HCODEC: [GraphicFmtToFmt] unknown GraphicPixelFormat 21 .576 857 2693 I C02b32/HCODEC: [2_d Init GetCropFromOmx] crop rect (0, 0, 1248, 704) .577 857 2693 I C02b32/HCODEC: [2_d Init GetProducerUsage] vendor producer usage = 0xb .577 857 2693 I C02b32/HCODEC: [2_d Init GetProducerUsage] decoder producer usage = 0x802b .577 857 2693 I C02b32/HCODEC: [2_d Init UpdateOutPortFormat] needUseDecReso 0, Request Reso 1248x704, output format: IS_VENDOR = 1 | display_height = 704 | display_width = 1248 | fra [2025-11-12 18:34:36] me_rate = 24.037461 | height = 704 | pixel_format = 2 | video_crop_bottom = 703 | video_crop_left = 0 | video_crop_right = 1247 | video_crop_top = 0 | video_picture_height = 704 | video_picture_width [2025-11-12 18:34:36] = 1248 | width = 1248 | .577 857 2693 W C02b32/HCODEC: [2_d Init OnCodecEvent] ignore event 3, data1 = 1, data2 = 117440527 .578 779 2692 I C02b30/CodecClient: [1][h.vdec]{Configure():153} av_player_is_drm_protected = 0 | bitrate = 6296429 | codec_config, bufferSize = 39 | codec_mime = video/avc | frame_ra [2025-11-12 18:34:36] te = 24.037461 | height = 704 | language = und | rotation_angle = 0 | track_index = 0 | track_start_time = 0 | track_type = 1 | video_delay = 2 | video_orientation_type = 0 | video_sar = 1.000000 | wi [2025-11-12 18:34:36] dth = 1248 | .578 779 2692 I C02b22/DecoderSurfaceFilter: (ParseDecodeRateLimit(), 1340): ParseDecodeRateLimit entered. .578 779 2692 I C02b22/VideoDecoderAdapter: #480 VideoDecoderAdapter::SetOutputSurface .579 857 934 I C02b32/HCODEC: [2_d Init SetOutputSurface] >> .579 857 2693 I C02b32/HCODEC: [2_d Init OnSetOutputSurfaceWhenCfg] >> .580 857 2693 I C02b32/HCODEC: [2_d Init OnSetOutputSurfaceWhenCfg] set surface(3264175144976)(MediaPlayerSurface) succ .580 779 2692 I C02b24/Filter: (ChangeState(), 680): player.videodecoder > 1, target: 1 .580 779 2692 I C02b24/Filter: (PrepareDone(), 114): Prepare enter player.videodecoder .580 779 2692 I C02b22/DecoderSurfaceFilter: (DoPrepare(), 374): Prepare .580 779 2692 I C02b3a/MediaDemuxer: (SetDecoderFramerateUpperLimit(), 3134): DecoderFramerateUpperLimit=60 trackId=0 .580 779 2692 I C02b24/Filter: (ChangeState(), 680): player.videodecoder > 3, target: 3 .580 779 2685 I C02b22/DecoderSurfaceFilter: (SetSeiMessageCbStatus(), 1534): seiMessageCbStatus_ = 0 .580 779 2685 E C02b22/DecoderSurfaceFilter: (SetSeiMessageCbStatus(), 1536): get producer failed .581 779 2685 I C02b22/DecoderSurfaceFilter: (DoPreroll(), 602): DoPreroll enter. .581 779 2685 I C02b22/DecoderSurfaceFilter: (DoStart(), 400): Start .581 779 2685 I C02b22/VideoDecoderAdapter: #186 Start enter. .582 857 934 I C02b32/HCODEC: [2_d Start] >> .582 857 2693 I C02b32/HCODEC: [2_d Init ReadyToStart] surface mode .582 857 2693 I C02b32/HCODEC: [2_d Init GetProducerUsage] vendor producer usage = 0xb .582 857 2693 I C02b32/HCODEC: [2_d Init GetProducerUsage] decoder producer usage = 0x800b .583 857 2693 I C02b32/HCODEC: [2_d Init SetTransform] set GraphicTransformType 0 to surface succ .583 857 2693 I C02b32/HCODEC: [2_d Init OnStart] set omx to idle .583 681 695 I C02514/codec_hdi_omx: SendCommand() commandType: [0], command [2] .583 857 2693 I C02b32/HCODEC: [2_d Start AllocateAvLinearBuffers] allocate shared buffer .584 681 695 I C02514/codec_hdi_omx: UseBuffer() port=0, use ashmem, fd=10, doCopy=1 .587 681 695 I C02514/codec_hdi_omx: UseBuffer() port=0, use ashmem, fd=11, doCopy=1 .590 681 695 I C02514/codec_hdi_omx: UseBuffer() port=0, use ashmem, fd=12, doCopy=1 .595 681 695 I C02514/codec_hdi_omx: UseBuffer() port=0, use ashmem, fd=13, doCopy=1 .596 857 2693 I C02b32/HCODEC: [2_d Start ClearSurfaceAndSetQueueSize] surface(3264175144976), SetQueueSize to 21 succ .596 857 2693 I C02b32/HCODEC: [2_d Start CombineConsumerUsage] producer 0x800b | consumer 0x7f00000408 | cfg 0x408 -> 0x840b .612 681 695 I C02514/codec_hdi_omx: GetMetaService() get IMetadata succ .612 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=5, seq=56164353 .613 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=6, seq=56164354 .615 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=7, seq=56164355 .617 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=8, seq=56164356 .619 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=9, seq=56164357 .621 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=10, seq=56164358 .624 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=11, seq=56164359 .627 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=12, seq=56164360 .629 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=13, seq=56164361 .631 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=14, seq=56164362 .632 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=15, seq=56164363 .634 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=16, seq=56164364 .636 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=17, seq=56164365 .637 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=18, seq=56164366 .639 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=19, seq=56164367 .641 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=20, seq=56164368 .643 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=21, seq=56164369 .644 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=22, seq=56164370 .646 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=23, seq=56164371 .648 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=24, seq=56164372 .650 857 2693 I C02b32/HCODEC: [2_d Start AllocateOutputBuffersFromSurface] generation=1, bufferId=25, seq=56164373 .650 857 2693 I C02b32/HCODEC: [2_d Start UpdateFmtFromSurfaceBuffer] can not get plane info, ignore .650 857 2693 I C02b32/HCODEC: [2_d Start OnCodecEvent] now idle, set omx to executing .650 681 695 I C02514/codec_hdi_omx: SendCommand() commandType: [0], command [3] .653 857 2693 I C02b32/HCODEC: [2_d Start OnCodecEvent] omx now executing .653 857 2693 I C02b32/HCODEC: [2_d Start ReplyStartMsg] start succ .653 857 934 I C02b32/HCODEC: [2_d Start] << .657 779 2685 I C02b24/TaskInner: [Task]:player.videodecoder Start .657 779 2685 I C02b24/TaskInner: (Start(), 128): task player.videodecoder Start done, topProcessUs:127801092 .657 779 2685 I C02b22/DecoderSurfaceFilter: (DoWaitPrerollDone(), 625): DoWaitPrerollDone enter. .657 779 2692 I C02b22/VideoDecoderAdapter: (AquireAvailableInputBuffer(), 330): AquireAvailableInputBuffer for first frame, index: 1, bufferid: 4351135550, pts: 0, flag: 10 .657 857 2693 I C02b32/HCODEC: [2_d Run InBufUsToOmx] got first input, pts = 0, len = 111079, flags = 0xa0 .666 857 2693 E C02b32/HCODEC: [2_d Run OnCodecEvent] omx report error event, data1 = 1, data2 = 33554433 .666 857 2693 E C02b32/HCODEC: [2_d Run SignalError] fatal error happened: errType=0, errCode=63570432 .666 857 2693 W C02b32/HCODEC: [2_d Run OnOMXFillBufferDone] it's not a eos buffer but not filled, ask omx to re-fill it .666 779 824 E C02b22/DecoderSurfaceFilter: (OnError(), 276): AVCodec error happened. ErrorType: 0, errorCode: 63570432 .667 2344 2344 I C03906/AceVideo: [video_pattern.cpp(656)-(100000:100000:scope)] Video[7] Player current status is ERROR. .669 857 2693 E C02b32/HCODEC: [2_d Run OnCodecEvent] omx report error event, data1 = 1, data2 = 33554433 .669 857 2693 E C02b32/HCODEC: [2_d Run SignalError] fatal error happened: errType=0, errCode=63570432 .669 857 2693 W C02b32/HCODEC: [2_d Run OnOMXFillBufferDone] it's not a eos buffer but not filled, ask omx to re-fill it .669 779 824 E C02b22/DecoderSurfaceFilter: (OnError(), 276): AVCodec error happened. ErrorType: 0, errorCode: 63570432 .672 857 2693 E C02b32/HCODEC: [2_d Run OnCodecEvent] omx report error event, data1 = 1, data2 = 33554433 .672 857 2693 E C02b32/HCODEC: [2_d Run SignalError] fatal error happened: errType=0, errCode=63570432,大佬现在又遇到设置参数错误,hcs配置都是按照rk3568的模板来的,avc\hevc都试了,底层rk的device/soc/rockchip/rk3568/hardware/omx_il接口没有打印了,芯片是rk系列的另外一款,请问知道如何分析吗
引用:“大佬,这里我知道,加载这个libOMX_Core.z.so最终落到device/soc/rockchip下面的mpp框架,这里是不是没走HDF框架啊,openharmony官方源码没改过,但是加载编解码组件的日志有点让人迷糊啊”
一般不走hdf框架,OMX_Core库都是芯片私有实现的。上图中是H265编码,libOMX_Core.z.so库中应该没定义该格式的组件,芯片不支持或者没适配。H264编码应该支持,可以先看看这个格式
大佬,这里我知道,加载这个libOMX_Core.z.so最终落到device/soc/rockchip下面的mpp框架,这里是不是没走HDF框架啊,openharmony官方源码没改过,但是加载编解码组件的日志有点让人迷糊啊