请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
工具/软件:Linux
您好!
有一个应用程序使用 gstreamer、gstducati 进行视频编码
我想通过 OMAP-Gem_bo 创建一个连续存储器、该存储器可通过其他 IPU 内核中的 DMA 进行访问:
1) 1)我修改 OMAP-Gem _new、通过 dma_alloc_writecombine 分配缓冲区、并修改 IPU 的自定义资源表、从而可以访问地址。
应用程序似乎可以正常工作、但编码输出视频错误、它似乎采用了错误的编码数据。 为什么这样做会有什么问题?
2) 2)原始方式正常、但是、OMAP-Gem 分配的缓冲区不是连续的、因此 DMA 无法立即填充该缓冲区。
如果是、如何使存储器连续? 此方法使用 shm、通过 alloc_page 逐个分配 PAGE。
非常感谢您提供的任何提示。