harmony 鸿蒙OH_NativeBuffer

2022-10-28 浏览 (1133)

OH_NativeBuffer

概述

提供NativeBuffer功能,通过提供的接口,可以实现共享内存的申请、使用、属性查询、释放等操作。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

起始版本:

9

汇总

文件

名称描述
native_buffer.h定义获取和使用NativeBuffer的相关函数。
引用文件: <native_buffer/native_buffer.h>
库: libnative_buffer.so

结构体

名称描述
OH_NativeBuffer_ConfigOH_NativeBuffer的属性配置,用于申请新的OH_NativeBuffer实例或查询现有实例的相关属性。

类型定义

名称描述
OH_NativeBuffer提供OH_NativeBuffer结构体声明。

枚举

名称描述
OH_NativeBuffer_Usage { NATIVEBUFFER_USAGE_CPU_READ = (1ULL << 0), NATIVEBUFFER_USAGE_CPU_WRITE = (1ULL << 1), NATIVEBUFFER_USAGE_MEM_DMA = (1ULL << 3) }OH_NativeBuffer的用途。
OH_NativeBuffer_Format {
NATIVEBUFFER_PIXEL_FMT_RGB_565 = 3, NATIVEBUFFER_PIXEL_FMT_RGBA_5658, NATIVEBUFFER_PIXEL_FMT_RGBX_4444, NATIVEBUFFER_PIXEL_FMT_RGBA_4444,
NATIVEBUFFER_PIXEL_FMT_RGB_444, NATIVEBUFFER_PIXEL_FMT_RGBX_5551, NATIVEBUFFER_PIXEL_FMT_RGBA_5551, NATIVEBUFFER_PIXEL_FMT_RGB_555,
NATIVEBUFFER_PIXEL_FMT_RGBX_8888, NATIVEBUFFER_PIXEL_FMT_RGBA_8888, NATIVEBUFFER_PIXEL_FMT_RGB_888, NATIVEBUFFER_PIXEL_FMT_BGR_565,
NATIVEBUFFER_PIXEL_FMT_BGRX_4444, NATIVEBUFFER_PIXEL_FMT_BGRA_4444, NATIVEBUFFER_PIXEL_FMT_BGRX_5551, NATIVEBUFFER_PIXEL_FMT_BGRA_5551,
NATIVEBUFFER_PIXEL_FMT_BGRX_8888, NATIVEBUFFER_PIXEL_FMT_BGRA_8888, NATIVEBUFFER_PIXEL_FMT_BUTT = 0X7FFFFFFF
}
OH_NativeBuffer的格式。

函数

名称描述
OH_NativeBuffer_Alloc (const OH_NativeBuffer_Config *config)通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例。
OH_NativeBuffer_Reference (OH_NativeBuffer *buffer)将OH_NativeBuffer对象的引用计数加1。
OH_NativeBuffer_Unreference (OH_NativeBuffer *buffer)将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉。
OH_NativeBuffer_GetConfig (OH_NativeBuffer *buffer, OH_NativeBuffer_Config *config)用于获取OH_NativeBuffer的属性。
OH_NativeBuffer_Map (OH_NativeBuffer *buffer, void **virAddr)将OH_NativeBuffer对应的ION内存映射到进程空间。
OH_NativeBuffer_Unmap (OH_NativeBuffer *buffer)将OH_NativeBuffer对应的ION内存从进程空间移除。
OH_NativeBuffer_GetSeqNum (OH_NativeBuffer *buffer)获取OH_NativeBuffer的序列号。

类型定义说明

OH_NativeBuffer

typedef struct OH_NativeBuffer OH_NativeBuffer

描述:

提供OH_NativeBuffer结构体声明。

枚举类型说明

OH_NativeBuffer_Format

enum OH_NativeBuffer_Format

描述:

OH_NativeBuffer的格式。

@SysCap SystemCapability.Graphic.Graphic2D.NativeBuffer

枚举值描述
NATIVEBUFFER_PIXEL_FMT_RGB_565RGB565格式
NATIVEBUFFER_PIXEL_FMT_RGBA_5658RGBA5658格式
NATIVEBUFFER_PIXEL_FMT_RGBX_4444RGBX4444格式
NATIVEBUFFER_PIXEL_FMT_RGBA_4444RGBA4444格式
NATIVEBUFFER_PIXEL_FMT_RGB_444RGB444格式
NATIVEBUFFER_PIXEL_FMT_RGBX_5551RGBX5551格式
NATIVEBUFFER_PIXEL_FMT_RGBA_5551RGBA5551格式
NATIVEBUFFER_PIXEL_FMT_RGB_555RGB555格式
NATIVEBUFFER_PIXEL_FMT_RGBX_8888RGBX8888格式
NATIVEBUFFER_PIXEL_FMT_RGBA_8888RGBA8888格式
NATIVEBUFFER_PIXEL_FMT_RGB_888RGB888格式
NATIVEBUFFER_PIXEL_FMT_BGR_565BGR565格式
NATIVEBUFFER_PIXEL_FMT_BGRX_4444BGRX4444格式
NATIVEBUFFER_PIXEL_FMT_BGRA_4444BGRA4444格式
NATIVEBUFFER_PIXEL_FMT_BGRX_5551BGRX5551格式
NATIVEBUFFER_PIXEL_FMT_BGRA_5551BGRA5551格式
NATIVEBUFFER_PIXEL_FMT_BGRX_8888BGRX8888格式
NATIVEBUFFER_PIXEL_FMT_BGRA_8888BGRA8888格式
NATIVEBUFFER_PIXEL_FMT_BUTT无效格式

起始版本:

10

OH_NativeBuffer_Usage

enum OH_NativeBuffer_Usage

描述:

OH_NativeBuffer的用途。

@SysCap SystemCapability.Graphic.Graphic2D.NativeBuffer

枚举值描述
NATIVEBUFFER_USAGE_CPU_READCPU可读
NATIVEBUFFER_USAGE_CPU_WRITECPU可写
NATIVEBUFFER_USAGE_MEM_DMA直接内存访问缓冲区

起始版本:

10

函数说明

OH_NativeBuffer_Alloc()

OH_NativeBuffer* OH_NativeBuffer_Alloc (const OH_NativeBuffer_Config * config)

描述:

通过OH_NativeBuffer_Config创建OH_NativeBuffer实例,每次调用都会产生一个新的OH_NativeBuffer实例。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

参数:

名称描述
config一个指向OH_NativeBuffer_Config类型的指针。

返回:

创建成功则返回一个指向OH_NativeBuffer结构体实例的指针,否则返回NULL。

OH_NativeBuffer_GetConfig()

void OH_NativeBuffer_GetConfig (OH_NativeBuffer * buffer, OH_NativeBuffer_Config * config )

描述:

用于获取OH_NativeBuffer的属性。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

参数:

名称描述
buffer一个指向OH_NativeBuffer实例的指针。
config一个指向OH_NativeBuffer_Config的指针,用于接收OH_NativeBuffer的属性。

OH_NativeBuffer_GetSeqNum()

uint32_t OH_NativeBuffer_GetSeqNum (OH_NativeBuffer * buffer)

描述:

获取OH_NativeBuffer的序列号。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

参数:

名称描述
buffer一个指向OH_NativeBuffer实例的指针。

返回:

返回对应OH_NativeBuffer的唯一序列号。

OH_NativeBuffer_Map()

int32_t OH_NativeBuffer_Map (OH_NativeBuffer * buffer, void ** virAddr )

描述:

将OH_NativeBuffer对应的ION内存映射到进程空间。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

参数:

名称描述
buffer一个指向OH_NativeBuffer实例的指针。
virAddr一个二级指针,二级指针指向映射到当前进程的虚拟内存的地址。

返回:

返回值为0表示执行成功。

OH_NativeBuffer_Reference()

int32_t OH_NativeBuffer_Reference (OH_NativeBuffer * buffer)

描述:

将OH_NativeBuffer对象的引用计数加1。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

参数:

名称描述
buffer一个指向OH_NativeBuffer实例的指针。

返回:

返回值为0表示执行成功。

OH_NativeBuffer_Unmap()

int32_t OH_NativeBuffer_Unmap (OH_NativeBuffer * buffer)

描述:

将OH_NativeBuffer对应的ION内存从进程空间移除。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

参数:

名称描述
buffer一个指向OH_NativeBuffer实例的指针。

返回:

返回值为0表示执行成功。

OH_NativeBuffer_Unreference()

int32_t OH_NativeBuffer_Unreference (OH_NativeBuffer * buffer)

描述:

将OH_NativeBuffer对象的引用计数减1,当引用计数为0的时候,该NativeBuffer对象会被析构掉。

@syscap SystemCapability.Graphic.Graphic2D.OH_NativeBuffer

参数:

名称描述
buffer一个指向OH_NativeBuffer实例的指针。

返回:

返回值为0表示执行成功。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Native API

harmony 鸿蒙AVCapability

harmony 鸿蒙AVDemuxer

harmony 鸿蒙AVMuxer

harmony 鸿蒙AVScreenCapture

harmony 鸿蒙AVSource

harmony 鸿蒙AudioDecoder

harmony 鸿蒙AudioEncoder

harmony 鸿蒙CodecBase

harmony 鸿蒙Core

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/b6a3e2d3415649f18e94bddeef48ce97