在本机操作BufferQueue

时间:2018-05-24 05:09:55

标签: android java-native-interface native bufferqueue

我想编写一个必须操作相机产生的缓冲区的应用程序(Camera2 api)。操作缓冲区的代码是用本机c编写的(比如颜色转换)。

基本上,这意味着我有一个java Camera2 API,它需要一个Surface来写入。如何将此Surface转换为本机代码可以操作的本机缓冲区?我可以查看哪些样品?

1 个答案:

答案 0 :(得分:0)

如果您定位的是最新的Android版本,则可以使用camera2 NDK。它接受ANativeWindow对象作为输出。

否则,您可以将ByteBuffers从ImageReader通过JNI传递到本机代码,并访问数据而无需额外的副本。