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:如何清空 VPE

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/617341/linux-am5728-how-to-flush-vpe

器件型号:AM5728

工具/软件:Linux

你(们)好  我 已经开发出 VPE 对 1080i60内容(H.264)使用 Fast Foward (8次/回卷(-8次))的去接口。

平均而言、I 帧(IDR)用于转速。

但是、我想平滑地显示快进和快退。 然后、IVA-HD 解码 IDR 和非 IDR、我们得到 YUV。 将显示此信息。

当然、软件定时器(STC)以8 (或-8)次的速度运行、 文件同步的软件定时器发送到 IVA-HD 解码器。 有时  、它从 IDR 运行到下一 IDR。

快进很好。 但是、快退不是很好。 因为会显示突然断裂的图片。

我发现 VPE 导致了此问题。

我希望 VPE 在 将 下一个 IDR 帧馈送到 IVA-HD 时刷新上一张图片。

对于 VPE 刷新、当我使用 streamoff (v4l2)时、内核(board-support\linux-4.9.28+gitAUTOINC+eed43d1050-geed43d1050\drivers\media/v4l2-core\videobuf2-core.c)出现错误。

在 vb2_buffer_done,if (warn_on (VB->state != vb2_BUF_State_active):此堆栈转储..

我想如何 冲洗 VPE 以进行脱扣?

非常感谢。

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

    Joohoo、

    您看到的内核消息是一条警告、指出仍有一些缓冲区在传输中。 尽管它表示在处理隔行帧时存在缓冲区管理问题、但它不应影响您尝试实现的目标。

    因此、即使看到此内核警告、驱动程序仍在运行、您是否期望以下行为?
    或者您仍然看到坏帧吗?

    请记住、为了使 VPE de-interlacer 正常工作、至少需要3个字段或帧才能使运动矢量正常工作。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    是的。 此内核消息是警告。 但是、稍后 VPE 无法正常工作。
    我的操作如下所示。
    I SEND I Frame (IDR)、B Frame (非 IDR)、BFrame (非 IDR)、P Frame (非 IDR)、P Frame (非 IDR)通过 IVA-HD 发送解码至 VPE。
    当我获得两个或三个去交叉帧时、我更改了 streamoff (v4l2 API)以刷新 VPE (请勿引用上一个字段)。
    我更改 streamon (v4l2 API)并通过 IVA-HD 重复发送解码后的下一帧(IDR)、B 帧(非 IDR)、B 帧(非 IDR)、P 帧(非 IDR)、P 帧(非 IDR)。
    此操作不起作用、因为 VPE 正在挂起。

    我需要不同的解决方案。
    我只通过 IVA-HD 发送 I Frame (IDR)解码(1080i60)到 VPE。 VPE 需要对其进行去交错处理。 然后它需要3个字段。
    当然、VPE 去隔行不是连续 I Frame (IDR)。 逐行扫描的图片具有一些后处理图像。

    如何快速前移/倒带画线以去除间花边?
    我想告诉 VPE 该帧不是连续 I Frame (IDR/YUV)进行去隔行。
    非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    JOONHO、您好!

    对于快进/快退、只需使用 IDR 字段、无需对 P/B 字段进行解码。 VPE 对前两个字段使用空间去隔行、并且不需要依赖/需要多个字段去隔行第一个字段。 您需要在处理每个 IDR 字段后对 VPE 进行流式处理。 请告诉我、您是否面临这种方法的任何问题。

    此致、

    Manisha

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


    1080i60内容的 Eahc IDR 具有偶数字段(1920x540)和奇数字段(1920x540)。
    我们需要 VPE 的去花边效果(1920x1080)。 然后、我们无法流化 VPE。

    我不理解"在处理每个 IDR 字段后、您需要对 VPE 进行流式处理"。

    换句话说、这意味着我们向 VPE 发送一个 IDR YUV 字段(偶数和奇数)。 但是、我们不会得到去花边框。 要获取去花边框、我们必须发送下一个 IDR YUV filld (偶数和奇数)。 我们何时将 VPE 流式化?

    非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否给我们发送一个简短的视频示例、其中列出了哪些帧需要进行反交错处理? 我们可以尝试在结尾去除视频间的花边并检查行为。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好 Manisha。

    我非常感谢您关注这个问题。

    为了修复后图像、我将尝试向 VPE 发送两次相同的 IDR。

    1080i60内容尚未发布。

    如果我有其他问题需要快速回卷、我会告诉您。
    非常感谢。