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/DRA746:如何检索输出视频帧的分?

Guru**** 2553450 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/609576/linux-dra746-how-to-retrieve-pts-of-output-video-frame

器件型号:DRA746

工具/软件:Linux

由于解码/输出视频帧的顺序/顺序与输入帧的顺序/顺序不相同(因为 B 帧)

通常、我们使用输入帧发送分频、然后在输出帧上检索分频。

但是、我在 libdce 接口中找不到该方法。 有人能告诉我如何为 libdce 检索输出帧的分?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Halley、
    无法在 libdce/DCE 级别管理 PTS 信息。 它必须在 OMX 或类似的框架级别进行管理。
    要确定哪个帧被馈送至解码器以及哪个帧被输出,将使用 inputID 和 outputID。
    解码器的 inArgs 具有唯一的 inputID、解码一个帧后解码器输出一个取决于帧顺序的 outputID。
    如果没有 B 帧、则返回的 outputID 和馈入的 inputID 将相同。

    请参阅 H264或任何其他解码器的用户指南以获取有关 inputID、outputID 和 freeBufID 的信息。

    Ramprasad
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、
    libdce 将 inputID/outputID 视为不透明的索引/句柄、并且不会接触其后面的数据。
    客户端可以通过此句柄检索任何内容。

    采用 omapdrmt/util/util.h struct buffer{...} 例如、我可以添加"int64_t pts;"、然后为其分配输入数据 pts。
    buf->pts = pts;
    inArgs->inputID =(XDAS_Int32) buf;
    因此、在 outputID 中返回缓冲区后、我可以直接检索分段。 对吧?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Halley、
    是的、像 OMX 这样的上层将使用类似的方法来处理返回的 outputID 中的分

    Ramprasad