Arm-2D  
2D Image Processing Library for Cortex-M Processors
6 Conversion Operations

Data Structures

union  __arm_2d_color_fast_rgb_t
 3x16-bit packed RGB color autovectorizer friendly format More...
 
struct  __arm_2d_color_fast_rgb_t.__unnamed142__
 

Macros

#define arm_2d_convert_colour_to_gray8(__SRC_ADDR, __DES_ADDR)
 
#define arm_2d_tile_copy_to_gray8( __SRC_ADDR, __DES_ADDR, __DES_REGION)
 
#define arm_2d_convert_colour_to_rgb565(__SRC_ADDR, __DES_ADDR)
 
#define arm_2d_tile_copy_to_rgb565(__SRC_ADDR, __DES_ADDR, __DES_REGION)
 
#define arm_2d_convert_colour_to_cccn888(__SRC_ADDR, __DES_ADDR)
 
#define arm_2d_tile_copy_to_cccn888(__SRC_ADDR, __DES_ADDR, __DES_REGION)
 
#define arm_2d_pixel_ccca8888_to_rgb565(__COLOUR)
 
#define arm_2d_pixel_ccca8888_to_gray8(__COLOUR)
 
#define arm_2d_pixel_brga8888_to_rgb565   arm_2d_pixel_ccca8888_to_rgb565
 
#define arm_2d_pixel_brga8888_to_gray8   arm_2d_pixel_ccca8888_to_gray8
 

Typedefs

typedef arm_2d_op_src_t arm_2d_op_cl_convt_t
 

Functions

__STATIC_INLINE void __arm_2d_gray8_unpack (uint8_t chColor, __arm_2d_color_fast_rgb_t *ptRGB)
 unpack a 8bit colour into a given __arm_2d_color_fast_rgb_t object More...
 
__STATIC_INLINE void __arm_2d_rgb565_unpack (uint16_t hwColor, __arm_2d_color_fast_rgb_t *ptRGB)
 unpack a rgb565 colour into a given __arm_2d_color_fast_rgb_t object More...
 
__STATIC_INLINE void __arm_2d_ccca8888_unpack (uint32_t wColor, __arm_2d_color_fast_rgb_t *ptRGB)
 unpack a 32bit colour into a given __arm_2d_color_fast_rgb_t object More...
 
__STATIC_INLINE uint8_t __arm_2d_gray8_pack (__arm_2d_color_fast_rgb_t *ptRGB)
 generate a gray8 colour from a __arm_2d_color_fast_rgb_t object More...
 
__STATIC_INLINE uint16_t __arm_2d_rgb565_pack (__arm_2d_color_fast_rgb_t *ptRGB)
 generate a rgb565 colour from a __arm_2d_color_fast_rgb_t object More...
 
__STATIC_INLINE uint32_t __arm_2d_ccca888_pack (__arm_2d_color_fast_rgb_t *ptRGB)
 generate a cccn888 colour from a __arm_2d_color_fast_rgb_t object More...
 
arm_fsm_rt_t arm_2dp_convert_colour_to_gray8 (arm_2d_op_cl_convt_t *ptOP, const arm_2d_tile_t *ptSource, const arm_2d_tile_t *ptTarget)
 convert the colour format of a given tile to gray8 More...
 
arm_fsm_rt_t arm_2dp_tile_copy_to_gray8 (arm_2d_op_cl_convt_t *ptOP, const arm_2d_tile_t *ptSource, const arm_2d_tile_t *ptTarget, const arm_2d_region_t *ptRegion)
 copy a given tile to a gray8 target tile More...
 
arm_fsm_rt_t arm_2dp_convert_colour_to_rgb565 (arm_2d_op_cl_convt_t *ptOP, const arm_2d_tile_t *ptSource, const arm_2d_tile_t *ptTarget)
 convert the colour format of a given tile to rgb565 More...
 
arm_fsm_rt_t arm_2dp_tile_copy_to_rgb565 (arm_2d_op_cl_convt_t *ptOP, const arm_2d_tile_t *ptSource, const arm_2d_tile_t *ptTarget, const arm_2d_region_t *ptRegion)
 copy a given tile to a rgb565 target tile More...
 
arm_fsm_rt_t arm_2dp_convert_colour_to_cccn888 (arm_2d_op_cl_convt_t *ptOP, const arm_2d_tile_t *ptSource, const arm_2d_tile_t *ptTarget)
 convert the colour format of a given tile to cccn888 More...
 
arm_fsm_rt_t arm_2dp_tile_copy_to_cccn888 (arm_2d_op_cl_convt_t *ptOP, const arm_2d_tile_t *ptSource, const arm_2d_tile_t *ptTarget, const arm_2d_region_t *ptRegion)
 copy a given tile to a cccn888 target tile More...
 

Description


Data Structure Documentation

◆ __arm_2d_color_fast_rgb_t

union __arm_2d_color_fast_rgb_t

3x16-bit packed RGB color autovectorizer friendly format

Data Fields
uint16_t BGRA[4]
struct __arm_2d_color_fast_rgb_t.__unnamed142__ __unnamed__

◆ __arm_2d_color_fast_rgb_t.__unnamed142__

struct __arm_2d_color_fast_rgb_t.__unnamed142__
Data Fields
uint16_t B
uint16_t G
uint16_t R
uint16_t A

Macro Definition Documentation

◆ arm_2d_convert_colour_to_gray8

#define arm_2d_convert_colour_to_gray8 (   __SRC_ADDR,
  __DES_ADDR 
)
Value:
(__SRC_ADDR), \
(__DES_ADDR))

◆ arm_2d_tile_copy_to_gray8

#define arm_2d_tile_copy_to_gray8 (   __SRC_ADDR,
  __DES_ADDR,
  __DES_REGION 
)
Value:
/* target region address */ \
arm_2dp_tile_copy_to_gray8( NULL, \
(__SRC_ADDR), \
(__DES_ADDR), \
(__DES_REGION))

◆ arm_2d_convert_colour_to_rgb565

#define arm_2d_convert_colour_to_rgb565 (   __SRC_ADDR,
  __DES_ADDR 
)
Value:
(__SRC_ADDR), \
(__DES_ADDR))

◆ arm_2d_tile_copy_to_rgb565

#define arm_2d_tile_copy_to_rgb565 (   __SRC_ADDR,
  __DES_ADDR,
  __DES_REGION 
)
Value:
/* target region address */ \
arm_2dp_tile_copy_to_rgb565(NULL, \
(__SRC_ADDR), \
(__DES_ADDR), \
(__DES_REGION))

◆ arm_2d_convert_colour_to_cccn888

#define arm_2d_convert_colour_to_cccn888 (   __SRC_ADDR,
  __DES_ADDR 
)
Value:
(__SRC_ADDR), \
(__DES_ADDR))

◆ arm_2d_tile_copy_to_cccn888

#define arm_2d_tile_copy_to_cccn888 (   __SRC_ADDR,
  __DES_ADDR,
  __DES_REGION 
)
Value:
/* target region address */ \
arm_2dp_tile_copy_to_cccn888( NULL, \
(__SRC_ADDR), \
(__DES_ADDR), \
(__DES_REGION))

◆ arm_2d_pixel_ccca8888_to_rgb565

#define arm_2d_pixel_ccca8888_to_rgb565 (   __COLOUR)
Value:
__arm_2d_ccca8888_unpack((__COLOUR), &ARM_2D_SAFE_NAME(tChannels)); \
__arm_2d_rgb565_pack(&ARM_2D_SAFE_NAME(tChannels));})

◆ arm_2d_pixel_ccca8888_to_gray8

#define arm_2d_pixel_ccca8888_to_gray8 (   __COLOUR)
Value:
__arm_2d_ccca8888_unpack((__COLOUR), &ARM_2D_SAFE_NAME(tChannels)); \
__arm_2d_gray8_pack(&ARM_2D_SAFE_NAME(tChannels));})

Function Documentation

◆ __arm_2d_gray8_unpack()

__STATIC_INLINE void __arm_2d_gray8_unpack ( uint8_t  chColor,
__arm_2d_color_fast_rgb_t ptRGB 
)

unpack a 8bit colour into a given __arm_2d_color_fast_rgb_t object

Parameters
[in]wColourthe target brga888 colour
[in]ptRGBa __arm_2d_color_fast_rgb_t object

◆ __arm_2d_rgb565_unpack()

__STATIC_INLINE void __arm_2d_rgb565_unpack ( uint16_t  hwColor,
__arm_2d_color_fast_rgb_t ptRGB 
)

unpack a rgb565 colour into a given __arm_2d_color_fast_rgb_t object

Parameters
[in]hwColourthe target rgb565 colour
[in]ptRGBa __arm_2d_color_fast_rgb_t object

◆ __arm_2d_ccca8888_unpack()

__STATIC_INLINE void __arm_2d_ccca8888_unpack ( uint32_t  wColor,
__arm_2d_color_fast_rgb_t ptRGB 
)

unpack a 32bit colour into a given __arm_2d_color_fast_rgb_t object

Parameters
[in]wColourthe target brga888 colour
[in]ptRGBa __arm_2d_color_fast_rgb_t object

◆ __arm_2d_gray8_pack()

__STATIC_INLINE uint8_t __arm_2d_gray8_pack ( __arm_2d_color_fast_rgb_t ptRGB)

generate a gray8 colour from a __arm_2d_color_fast_rgb_t object

Parameters
[in]ptRGBthe target __arm_2d_color_fast_rgb_t object
Returns
uint8_t a gray8 colour

◆ __arm_2d_rgb565_pack()

__STATIC_INLINE uint16_t __arm_2d_rgb565_pack ( __arm_2d_color_fast_rgb_t ptRGB)

generate a rgb565 colour from a __arm_2d_color_fast_rgb_t object

Parameters
[in]ptRGBthe target __arm_2d_color_fast_rgb_t object
Returns
uint16_t a rgb565 colour

◆ __arm_2d_ccca888_pack()

__STATIC_INLINE uint32_t __arm_2d_ccca888_pack ( __arm_2d_color_fast_rgb_t ptRGB)

generate a cccn888 colour from a __arm_2d_color_fast_rgb_t object

Parameters
[in]ptRGBthe target __arm_2d_color_fast_rgb_t object
Returns
uint32_t a cccn888 colour
Note
the alpha channel will be kept in the output value

◆ arm_2dp_convert_colour_to_gray8()

arm_fsm_rt_t arm_2dp_convert_colour_to_gray8 ( arm_2d_op_cl_convt_t ptOP,
const arm_2d_tile_t ptSource,
const arm_2d_tile_t ptTarget 
)

convert the colour format of a given tile to gray8

Parameters
[in]ptOPthe control block, NULL means using the default control block
[in]ptSourcethe source tile
[in]ptTargetthe output tile (holding a buffer)
Returns
arm_fsm_rt_t the operation result

◆ arm_2dp_tile_copy_to_gray8()

arm_fsm_rt_t arm_2dp_tile_copy_to_gray8 ( arm_2d_op_cl_convt_t ptOP,
const arm_2d_tile_t ptSource,
const arm_2d_tile_t ptTarget,
const arm_2d_region_t ptRegion 
)

copy a given tile to a gray8 target tile

Parameters
[in]ptOPthe control block, NULL means using the default control block
[in]ptSourcethe source tile
[in]ptTargetthe output tile (holding a buffer)
[in]ptRegionthe target region, NULL means using the region of the target tile.
Returns
arm_fsm_rt_t the operation result

◆ arm_2dp_convert_colour_to_rgb565()

arm_fsm_rt_t arm_2dp_convert_colour_to_rgb565 ( arm_2d_op_cl_convt_t ptOP,
const arm_2d_tile_t ptSource,
const arm_2d_tile_t ptTarget 
)

convert the colour format of a given tile to rgb565

Parameters
[in]ptOPthe control block, NULL means using the default control block
[in]ptSourcethe source tile
[in]ptTargetthe output tile (holding a buffer)
Returns
arm_fsm_rt_t the operation result

◆ arm_2dp_tile_copy_to_rgb565()

arm_fsm_rt_t arm_2dp_tile_copy_to_rgb565 ( arm_2d_op_cl_convt_t ptOP,
const arm_2d_tile_t ptSource,
const arm_2d_tile_t ptTarget,
const arm_2d_region_t ptRegion 
)

copy a given tile to a rgb565 target tile

Parameters
[in]ptOPthe control block, NULL means using the default control block
[in]ptSourcethe source tile
[in]ptTargetthe output tile (holding a buffer)
[in]ptRegionthe target region, NULL means using the region of the target tile.
Returns
arm_fsm_rt_t the operation result

◆ arm_2dp_convert_colour_to_cccn888()

arm_fsm_rt_t arm_2dp_convert_colour_to_cccn888 ( arm_2d_op_cl_convt_t ptOP,
const arm_2d_tile_t ptSource,
const arm_2d_tile_t ptTarget 
)

convert the colour format of a given tile to cccn888

Parameters
[in]ptOPthe control block, NULL means using the default control block
[in]ptSourcethe source tile
[in]ptTargetthe output tile (holding a buffer)
Returns
arm_fsm_rt_t the operation result

◆ arm_2dp_tile_copy_to_cccn888()

arm_fsm_rt_t arm_2dp_tile_copy_to_cccn888 ( arm_2d_op_cl_convt_t ptOP,
const arm_2d_tile_t ptSource,
const arm_2d_tile_t ptTarget,
const arm_2d_region_t ptRegion 
)

copy a given tile to a cccn888 target tile

Parameters
[in]ptOPthe control block, NULL means using the default control block
[in]ptSourcethe source tile
[in]ptTargetthe output tile (holding a buffer)
[in]ptRegionthe target region, NULL means using the region of the target tile.
Returns
arm_fsm_rt_t the operation result