OH_NativeBuffer
Overview
The OH_NativeBuffer module provides the capabilities of NativeBuffer. Using the functions provided by this module, you can apply for, use, and release the shared memory, and query its attributes.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Since
9
Summary
Files
Name | Description |
---|---|
native_buffer.h | Declares the functions for obtaining and using NativeBuffer. File to include: <native_buffer/native_buffer.h> Library: libnative_buffer.so |
Structs
Name | Description |
---|---|
OH_NativeBuffer_Config | Defines the OH_NativeBuffer attribute configuration, which is used when you apply for a new OH_NativeBuffer instance or query the attributes of an existing instance. |
Types
Name | Description |
---|---|
OH_NativeBuffer | Provides the declaration of an OH_NativeBuffer struct. |
Enums
Name | Description |
---|---|
OH_NativeBuffer_Usage { NATIVEBUFFER_USAGE_CPU_READ = (1ULL << 0), NATIVEBUFFER_USAGE_CPU_WRITE = (1ULL << 1), NATIVEBUFFER_USAGE_MEM_DMA = (1ULL << 3) } | Enumerates the OH_NativeBuffer usages. |
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 } |
Enumerates the OH_NativeBuffer formats. |
Functions
Name | Description |
---|---|
OH_NativeBuffer_Alloc (const OH_NativeBuffer_Config *config) | Creates an OH_NativeBuffer instance based on an OH_NativeBuffer_Config struct. A new OH_NativeBuffer instance is created each time this function is called. |
OH_NativeBuffer_Reference (OH_NativeBuffer *buffer) | Increases the reference count of an OH_NativeBuffer instance by 1. |
OH_NativeBuffer_Unreference (OH_NativeBuffer *buffer) | Decreases the reference count of an OH_NativeBuffer instance by 1 and, when the reference count reaches 0, destroys the instance. |
OH_NativeBuffer_GetConfig (OH_NativeBuffer *buffer, OH_NativeBuffer_Config *config) | Obtains the properties of an OH_NativeBuffer instance. |
OH_NativeBuffer_Map (OH_NativeBuffer *buffer, void **virAddr) | Maps the ION memory corresponding to an OH_NativeBuffer instance to the process address space. |
OH_NativeBuffer_Unmap (OH_NativeBuffer *buffer) | Unmaps the ION memory corresponding to an OH_NativeBuffer instance from the process address space. |
OH_NativeBuffer_GetSeqNum (OH_NativeBuffer *buffer) | Obtains the sequence number of an OH_NativeBuffer instance. |
Type Description
OH_NativeBuffer
typedef struct OH_NativeBuffer OH_NativeBuffer
Description
Provides the declaration of an OH_NativeBuffer struct.
Enum Description
OH_NativeBuffer_Format
enum OH_NativeBuffer_Format
Description
Enumerates the OH_NativeBuffer formats.
@SysCap SystemCapability.Graphic.Graphic2D.NativeBuffer
Value | Description |
---|---|
NATIVEBUFFER_PIXEL_FMT_RGB_565 | RGB565. |
NATIVEBUFFER_PIXEL_FMT_RGBA_5658 | RGBA5658. |
NATIVEBUFFER_PIXEL_FMT_RGBX_4444 | RGBX4444. |
NATIVEBUFFER_PIXEL_FMT_RGBA_4444 | RGBA4444. |
NATIVEBUFFER_PIXEL_FMT_RGB_444 | RGB444. |
NATIVEBUFFER_PIXEL_FMT_RGBX_5551 | RGBX5551. |
NATIVEBUFFER_PIXEL_FMT_RGBA_5551 | RGBA5551. |
NATIVEBUFFER_PIXEL_FMT_RGB_555 | RGB555. |
NATIVEBUFFER_PIXEL_FMT_RGBX_8888 | RGBX8888. |
NATIVEBUFFER_PIXEL_FMT_RGBA_8888 | RGBA8888. |
NATIVEBUFFER_PIXEL_FMT_RGB_888 | RGB888. |
NATIVEBUFFER_PIXEL_FMT_BGR_565 | BGR565. |
NATIVEBUFFER_PIXEL_FMT_BGRX_4444 | BGRX4444. |
NATIVEBUFFER_PIXEL_FMT_BGRA_4444 | BGRA4444. |
NATIVEBUFFER_PIXEL_FMT_BGRX_5551 | BGRX5551. |
NATIVEBUFFER_PIXEL_FMT_BGRA_5551 | BGRA5551. |
NATIVEBUFFER_PIXEL_FMT_BGRX_8888 | BGRX8888. |
NATIVEBUFFER_PIXEL_FMT_BGRA_8888 | BGRA8888. |
NATIVEBUFFER_PIXEL_FMT_BUTT | Invalid format. |
Since
10
OH_NativeBuffer_Usage
enum OH_NativeBuffer_Usage
Description
Enumerates the OH_NativeBuffer usages.
@SysCap SystemCapability.Graphic.Graphic2D.NativeBuffer
Value | Description |
---|---|
NATIVEBUFFER_USAGE_CPU_READ | Read by the CPU. |
NATIVEBUFFER_USAGE_CPU_WRITE | Write by the CPU. |
NATIVEBUFFER_USAGE_MEM_DMA | Direct memory access to the buffer. |
Since
10
Function Description
OH_NativeBuffer_Alloc()
OH_NativeBuffer* OH_NativeBuffer_Alloc (const OH_NativeBuffer_Config * config)
Description
Creates an OH_NativeBuffer instance based on an OH_NativeBuffer_Config struct. A new OH_NativeBuffer instance is created each time this function is called.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Parameters
Name | Description |
---|---|
config | Pointer to an OH_NativeBuffer_Config instance. |
Returns
Returns the pointer to the OH_NativeBuffer instance created if the operation is successful; returns NULL otherwise.
OH_NativeBuffer_GetConfig()
void OH_NativeBuffer_GetConfig (OH_NativeBuffer * buffer, OH_NativeBuffer_Config * config )
Description
Obtains the attributes of an OH_NativeBuffer instance.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Parameters
Name | Description |
---|---|
buffer | Pointer to an OH_NativeBuffer instance. |
config | Pointer to an OH_NativeBuffer_Config instance, which is used to receive the attributes of OH_NativeBuffer. |
OH_NativeBuffer_GetSeqNum()
uint32_t OH_NativeBuffer_GetSeqNum (OH_NativeBuffer * buffer)
Description
Obtains the sequence number of an OH_NativeBuffer instance.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Parameters
Name | Description |
---|---|
buffer | Pointer to an OH_NativeBuffer instance. |
Returns
Returns the unique sequence number of the OH_NativeBuffer instance.
OH_NativeBuffer_Map()
int32_t OH_NativeBuffer_Map (OH_NativeBuffer * buffer, void ** virAddr )
Description
Maps the ION memory corresponding to an OH_NativeBuffer instance to the process address space.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Parameters
Name | Description |
---|---|
buffer | Pointer to an OH_NativeBuffer instance. |
virAddr | Double pointer to the address of the virtual memory. |
Returns
Returns 0 if the operation is successful.
OH_NativeBuffer_Reference()
int32_t OH_NativeBuffer_Reference (OH_NativeBuffer * buffer)
Description
Increases the reference count of an OH_NativeBuffer instance by 1.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Parameters
Name | Description |
---|---|
buffer | Pointer to an OH_NativeBuffer instance. |
Returns
Returns 0 if the operation is successful.
OH_NativeBuffer_Unmap()
int32_t OH_NativeBuffer_Unmap (OH_NativeBuffer * buffer)
Description
Unmaps the ION memory corresponding to an OH_NativeBuffer instance from the process address space.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Parameters
Name | Description |
---|---|
buffer | Pointer to an OH_NativeBuffer instance. |
Returns
Returns 0 if the operation is successful.
OH_NativeBuffer_Unreference()
int32_t OH_NativeBuffer_Unreference (OH_NativeBuffer * buffer)
Description
Decreases the reference count of an OH_NativeBuffer instance by 1 and, when the reference count reaches 0, destroys the instance.
@syscap SystemCapability.Graphic.Graphic2D.NativeBuffer
Parameters
Name | Description |
---|---|
buffer | Pointer to an OH_NativeBuffer instance. |
Returns
Returns 0 if the operation is successful.