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.

[参考译文] DM388:如何清空 YUV 缓冲器?

Guru**** 2568585 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/627936/dm388-how-to-flush-the-yuv-buffers

器件型号:DM388

大家好、

在使用3.8.1 IPNC SDK 的 dm388evm 上运行捕获显示演示时 ,不刷新缓冲区, 即使在运行演示时断开输入、我也能看到重复的帧。如何清空 YUV 缓冲器、以便在演示之间断开输入时看到空白屏幕。

我尝试在 CaptureLink_drvEmptyFrames 中将 YUV 帧设置为0x80。

for (frameId = 0;frameId < pFrameList->numFrames;frameId++)
 {
           pFrame = pFrameList->frameId];
           size = Utils_getBufferSize ();//这个返回在为每个帧分配 YUV 帧缓冲区时使用的帧的大小。
           memset (pFrame -> addr[0]、0x80、size);

谢谢

Kailash

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

    您好 Kailash、

    当您没有从输入源获取中断、但显示将显示最后填充的缓冲区数据时、捕获将停止提供 YUV 数据。
    因此、您需要使用写入机制来清空显示缓冲区。

    此致、
    普拉什兰特
    Pathpartner Technology Pvt. Ltd.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只需定期使用 memset 将所有缓冲区内容设为"0"。 但是、对于实时用例场景中的性能问题、请务必谨慎。