This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TMS320DM368:资源管理器

Guru**** 1973395 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/564806/linux-tms320dm368-resource-manager

器件型号:TMS320DM368

工具/软件:Linux

大家好、

我从 IPNC RDK 版本5.1.0中获取了编解码器、并将这些编解码器集成到 IPNC DVSDK 版本 4_02_00_06中、因为没有为 IPNC DVSDK 提供 DEI。

 使用了框架组件版本2_26_00_01、编解码器引擎版本2_26_02_11和 DMAI 版本2_20_00_15。

当在 h264编码器的 Venc1_create 之前调用 DEI_create 时、资源分配出现问题。

使用 VENC1_create failes 和错误代码1创建 h264编码器的资源时

调试打印:TI.sdo.ce.alg.alg.alg.alg.algorithm 算法通过 RMAN 字段分配 ALG 资源  

为了解决这个问题、我们首先创建 DEI、这是我们的要求、然后删除 DEI 并释放资源。 然后为 h264调用 Venc1_create、并再次创建设计资源。

但是、有时在创建和删除资源时、DEI_Process 中会出现分段错误。

在 DEI_Processing 和 DEI_Deletion 之间保持同步。

以前创建 DEI 资源的方式是否与以后为 h264创建资源的方式不会发生冲突

谢谢、此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我建议您生成一些 调试日志。 可能存在内存冲突。

    谢谢你

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、先生、
    对 DEI 算法的过程调用是异步的。 如文档 DM36x_DEI_ReleaseNotes.pdf 中所示(DM36x 2.00.00版本说明上的 DEI 算法2012年10月)
    因此,我假设当我们尝试为 H264分配资源时,DEI Process()调用已启动序列发生器并异步等待算法提供中断,因此为 h264算法分配相同的缓冲区失败。
    是否有方法了解算法之间的共享资源、以及我们是否不允许在算法之间共享资源。

    谢谢、此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的应用流程是

    从 Video Input -> Deinterlace -> Resize -> h.264 Encode ->捕获缓冲区、然后编写编码缓冲区。

    通过阅读 DM36x_DEI_ReleaseNotes.pdf (DM36x 2.00.00版上的 DEI 算法2012年10月的发行说明)、我了解到对去交错算法的处理调用是异步的、并且当序列发生器从算法接收到中断时、可能会更新输出缓冲器。

    传递到去交错算法的输入缓冲器也在其他一些进程之间共享、而来自 DEI 的输出缓冲器也由电阻器使用。

    由于 DEI 过程是异步将输出缓冲器传递到电阻器、会导致问题?

    或者线程之间共享的输入缓冲器可能会导致问题?

    面临的问题:
    应用程序有时会进入死锁状态、或者会出现分段故障。 我假设这是由 DEI 的异步处理引起的。

    考虑到 h264编码器和 DEI 算法之间共享的资源、这是否会导致算法同步出现问题?

    我能不能知道算法之间共享了哪些资源、以便更轻松地进行调试?

    请帮我解决问题。

x 出现错误。请重试或与管理员联系。