【发布时间】:2016-09-21 23:00:45
【问题描述】:
我需要创建CVPixelBufferRef 的副本,以便能够使用副本中的值以逐位方式操作原始像素缓冲区。我似乎无法通过CVPixelBufferCreate 或CVPixelBufferCreateWithBytes 实现这一目标。
根据this question,也可以使用 memcpy() 来完成。但是,没有说明如何实现这一点,以及无论如何都需要调用哪些 Core Video 库。
【问题讨论】:
-
你不能把数据
memcpy放在别的地方吗? -
这实际上正是我想到的“更简单的方法”,但是我没有找到任何关于如何做到这一点的示例,而且我对 C 编程非常陌生。我可以定义一个新的像素缓冲区
CVPixelBufferRef newPixelBuffer = NULL然后使用 memcpy() 吗? -
不,您只想复制像素数据,而不是复制 CVPixelBufferRef 具有的任何内部结构。请参阅 CVPixelBufferGetBaseAddress 的文档。
-
我知道如何获取基地址,但我仍然不明白如何使用
memcpy()或者,确切地说,我不知道如何定义目标地址 -
各位,感谢您将我的问题标记为重复。但是,上一个问题没有为我提供任何有关如何解决我的问题的有用信息。 @jtbandes 如果您知道如何使用
memcpy()解决问题,如果您能提供另一个问题的答案,我将不胜感激。否则我们基本上只是在浪费彼此的时间。
标签: ios objective-c cvpixelbuffer