在Codec Engine架构里,如果DSP Server中包含两个Codec,我个人的理解是,其调用过程大致如下(以encodedecode为例):
hEngine = Engine_open(envp->engineName, NULL, NULL);
hVe1 = Venc1_create(hEngine, envp->videoEncoder, encParams, encDynParams);
hVd2 = Vdec2_create(hEngine, envp->videoDecoder, decParams, decDynParams);
Venc1_process(hVe1, hVidBuf, hEncBuf);
Vdec2_process(hVd2, hEncBuf, hVidBuf);
因此我觉得,两个Codec还是串行执行的。
对于内存等公共资源来讲,XDAIS算法标准中强调算法自己不要管理资源,特别是不要使用malloc等函数。我的问题是,如果Codec是串行执行的,那么算法中使用malloc,除了不方便内存共享之外,会有什么问题?会造成内存冲突吗?