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/AM5728:VIDDEC3支持解码两个1080i60流

Guru**** 2589265 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/586185/linux-am5728-viddec3-support-for-decoding-two-1080i60-streams

器件型号:AM5728

工具/软件:Linux

你(们)好

我知道 IVA-HD 是单个解码器(它只同时解码一个帧。)  然后、 当 IVA-HD 解码一个帧时、另一个帧被阻止完成一个内容的解码。

 TI 提供的下溢 viddec3test 每秒解码两个不同的1080p30。 viddec3test 不执行 outBufsInUseFlag、然后它需要特定的1080p30内容。

  我们提供服务的内容 现在需要许多 outBufsInUseFlag、然后它多次访问 IVA-HD (每秒60~62次)。

IVA-HD 需要7~12ms 来诱骗一个帧。 我希望应用使用 VIDDEC3_processorAsync 、因为 IVA-HD 需要较长的时间(7~12ms)解码。  您能支持它吗?

或者我希望 VIDDEC3_Process 使用多个 H.264帧(一个内容、另一个内容)。 您能支持它吗?

 DSS (显示子系统) 未命中2~3帧 、用于解码两个不同的内容。 因为 IVA-HD 需要较长的解码时间(7~12ms)。

我想获得您的解决方案。

非常感谢。

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

    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Lee、

    如果您在 viddec3test 中寻找 outputBufsInUseFlag 支持、则可以使用附加的补丁。  此解码器一次解码一个字段、对于第二个字段、将馈送相同的输出缓冲器。

    e2e.ti.com/.../viddec3test_5F00_outputBufsUseIn.txt

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

    您不清楚要问什么。 IVA-HD IP 设计不能并行处理多个帧。 它一次只能处理一个帧。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Ramprasad 和 Manisha。
    感谢您将 viddectest3我们的内容(1080i60)作为 viddec3test 补丁进行测试。
    仅运行 viddectest3来解码两个不同的内容、但其性能不能达到 IVA-HD。

    它是我们的日志、如下所示。
    它显示 VIDDEC3_Process 的 THREAD_A 累积时间和 VIDDEC3_Process 的 THREAD_B 累计时间为1秒。
    G_codecdceCnt 意味着 thread_x 的计数使用 VIDDEC3_process 访问 IVA-HD 1秒。
    g_codecoutCnt 意味着 outArgs->outputID[i]的 thread 的计数1秒。
    G_codecdceAccmulTime 表示 VIDDEC3_process 的 thread_x 累积时间为1秒。

    很快、由于1080i60、我们必须得到 g_codecoutCnt 为30的计数。 但有时我们会得到低于30 g_codecoutCnt (YUV)和 DSS 未命中2~6帧。
    然后、我希望 TI 支持 VIDDEC3_processorAsync 或其他解决方案。



    DBG:thread_a:g_codecdceCnt (62) g_codecoutCnt (26) g_codecdceAccmulTime (673) ms (在 DECODER_Process 上)
    DBG:thread_B:g_codecdceCnt (63) g_codecoutCnt (27) g_codecdceAccmulTime (650) ms (在 DECODER_Process 上)

    DBG:thread_a:g_codecdceCnt (64) g_codecoutCnt (32) g_codecdceAccmulTime (584) ms (在 DECODER_Process 上)
    DBG:thread_B:g_codecdceCnt (67) g_codecoutCnt (33) g_codecdceAccmulTime (595) ms (在 DECODER_Process 上)
    (笑声)
    DBG:thread_a:g_codecdceCnt (57) g_codecoutCnt (29) g_codecdceAccmulTime (489) ms (在 DECODER_Process 上)
    DBG:thread_B:g_codecdceCnt (72) g_codecoutCnt (36) g_codecdceAccmulTime (476) ms (在 DECODER_Process 上)

    DBG:thread_a:g_codecdceCnt (56) g_codecoutCnt (28) g_codecdceAccmulTime (511) ms (在 DECODER_Process 上)
    DBG:thread_B:g_codecdceCnt (71) g_codecoutCnt (36) g_codecdceAccmulTime (485) ms (在 DECODER_Process 上)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:AM5728

    尊敬的香榭丽舍

    我的客户希望实现具有 H.264内容的2通道1080i60显示、但在 ARM Cortex-A15 CPU 负载较高时发现 μ 1~2帧会下降。

    是否有任何方法可以提高性能、从而实现可靠的30帧(60字段)显示而不会发生帧丢失?

    客户发现、在 ARM Cortex-A15和 IVA-HD 之间进行 IPC 通信时、存在许多资源损耗、并且他们在使用 SDK 中的 viddec3test 进行测试时测量到执行时间为10 ~ 12ms、如下所示。

    IVA-HD 解码:7ms

    IPC +上下文切换:3 ~5ms

    我想 、如果有一种方法可以实现 OpenMAX IL 的隧道模式、或者与 H.264解码和显示相关的所有控件都是在 M4 Ducati 内核中完成的。

    在我们的 SDK 中是否有任何实现方法?

    是否可以配置 SDK SW 来实现 OpenMAX IL 的隧道模式?

    我们的客户在下面发布了此问题、但我想以其他方式进行讨论。

    谢谢、此致、

    SI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PLSDK 驱动程序架构不支持隧道模式、因为显示驱动程序基于 Linux、并在 A15上运行、而 IVA-HD 由 M4控制。

    客户可能必须尝试使用线程优先级(以及任何被确定为瓶颈的其他资源??) 来控制性能。