分享

mtk fdnodeimp

 新用户8389DdzY 2021-09-22

路径:vendor\mediatek\proprietary\hardware\mtkcam3\pipeline\hwnode\fd\FDNodeImp.cpp

入口函数:

FdNode::

createInstance()

{

    return new FdNodeImp();

}

init(InitParams const& rParams)

执行run(),从而不停执行threadLoop()不停处理mRequestQueue信息;

threadLoop()

Fd的线程函数,返回true会不停的被执行,返回false则结束。

Queue():

mRequestQueueframefd node处理

onProcessFrame()

threadLoop()中执行,具体处理frame的函数

onDispatchFrame():

具体是在basenode.cpp中实现,

{

    FUNCTION_IN

    sp<IPipelineNodeCallback> cb = pFrame->getPipelineNodeCallback();

    if (cb != NULL) {

        cb->onDispatchFrame(pFrame, getNodeId());

    }

    FUNCTION_OUT

}

Config()

参数配置,输入参数变量,输出结果变量

Flush():

删掉request_queue上的request,等待所有帧处理完

描述:

执行的模型:fdnode自己有线程处理各个挂载queue上的帧,处理完会用basenode的统一函数onDispatchFrame将帧传回。对外接口:initqueueflushcreateInstanceconfigflush

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多