图象算法 APIs

[English]

API Reference

Header File

Functions

int image_scale_crop_compress(const uint8_t *src_img, uint8_t *dst_img, unsigned int src_width, unsigned int src_height, unsigned int dst_width, unsigned int dst_height)

according target image scale crop src image, and compress target image for exampe: src image is 1280*720P and target image is 320*480, you should crop the maximul picture to scale compress target picture. so this algorithns can crop w*h is 480*720 to scale 320*480p.

int image_scale_crop_compress_rotate(const uint8_t *src_img, uint8_t *dst_img, unsigned int src_width, unsigned int src_height, unsigned int dst_width, unsigned int dst_height)

according target image scale crop src image, and compress rotate for exampe: src image is 1280*720P and target lcd is 320*480, so rotate is 480*320, so you should crop the maximul picture to scale compress target picture. so this algorithns can crop w*h is 1080*720 to scale 480*320p.

int image_16bit_scaling(const unsigned char *src_img, unsigned char *dst_img, unsigned int src_width, unsigned int src_height, unsigned int dst_width, unsigned int dst_height)

according target image scaling src image.

int image_center_crop(const uint8_t *src_img, uint8_t *dst_img, unsigned int src_width, unsigned int src_height, unsigned int dst_width, unsigned int dst_height)

only crop src image to dst image.

int rgb565_rotate_degree90(unsigned char *src, unsigned char *dst, int img_width, int img_height)

rgb565 clockwise rotate90

int rgb565_rotate_degree270(unsigned char *src, unsigned char *dst, int img_width, int img_height)

rgb565 anticlockwise rotate270

int argb8888_rotate_degree90(unsigned char *src, unsigned char *dst, int img_width, int img_height)

argb888 32bit clockwise rotate90

int argb8888_rotate_degree270(unsigned char *src, unsigned char *dst, int img_width, int img_height)

argb888 32bit rotate270

int yuyv_rotate_degree90_to_yuyv(unsigned char *yuyv, unsigned char *rotatedYuyv, int width, int height)

yuyv data clockwise rotate90, and output yuyv

int yuyv_rotate_degree270_to_yuyv(unsigned char *yuyv, unsigned char *rotatedYuyv, int width, int height)

yuyv rotete 270 degree and output data format yuyv

参数

1 – src yuyv data 2 rotate src yuyv 270 degrees to yuyv,the dst yuyyv 3 src width 4 src height

返回

  • BK_OK: succeed

  • others: other errors.

int yuyv_rotate_degree180_to_yuyv(unsigned char *yuyv, unsigned char *rotatedyuyv, int width, int height)

yuyv rotete 180 degree and output data format yuyv

参数

1 – src yuyv data 2 rotate src yuyv 180 degrees to yuyv,the dst yuyyv 3 src width 4 src height

返回

  • BK_OK: succeed

  • others: other errors.

int yuyv_rotate_degree270_to_vuyy(unsigned char *src_yuyv, unsigned char *rotated_to_vuyy, int width, int height)

yuyv data rotate270, and output vuyy

int vuyy_rotate_degree90_to_yuyv(unsigned char *vuyy, unsigned char *rotatedVuyy, int width, int height)

vuyy clockwise rotate90, and output yuyv

int vuyy_rotate_degree270_to_yuyv(unsigned char *vuyy, unsigned char *rotatedVuyy, int width, int height)

vuyy clockwise rotate270, and output yuyv

int yuyv2rgb_rotate_degree90(unsigned char *yuyv, unsigned char *rotatedYuyv, int width, int height)

yuyv to rgb data clockwise rotate90

int vuyy2rgb_rotate_degree90(unsigned char *vuyy, unsigned char *rotatedVuyy, int width, int height)

vuyy to rgb data clockwise rotate90

void image_scale_init(void)

image scale init

int vuyy_to_rgb565_convert(unsigned char *src_buf, unsigned char *out_buf, int img_width, int img_height)

uyvy422 data convert to RGB565 data

int uyvy_to_rgb565_convert(unsigned char *src_buf, unsigned char *out_buf, int img_width, int img_height)

uyvy422 data convert to RGB565 data

int yuyv_to_rgb565_convert(unsigned char *src_buf, unsigned char *out_buf, int img_width, int img_height)

yuyv422 data convert to RGB565 data

int rgb565_to_uyvy_convert(uint16_t *sourceLcdBuffer, uint16_t *destLcdBuffer, int img_width, int img_height)

RGB565 data convert to uyvy422 data.

int rgb565_to_yuyv_convert(uint16_t *sourceLcdBuffer, uint16_t *destLcdBuffer, int img_width, int img_height)

RGB565 data convert to yuyv422 data.

int rgb565_to_rgb565le_convert(void *rgb565_buffer, int img_width, int img_height)
int rgb888_to_rgb565_convert(uint8_t *src_buffer, uint16_t *dst_buffer, int img_width, int img_height)
int rgb565_to_rgb888_convert(uint16_t *src_buffer, uint8_t *dst_buffer, int img_width, int img_height)
void yyuv_to_rgb888(uint8_t *input_ptr, uint8_t *output_ptr, uint32_t width, uint32_t height)
void yuyv_to_rgb888_convert(uint8_t *input_ptr, uint8_t *output_ptr, uint32_t width, uint32_t height)

yuyv (H->L : YUYV) convert to rgb888

void vuyy_to_rgb888(uint8_t *input_ptr, uint8_t *output_ptr, uint32_t width, uint32_t height)
void vyuy_to_rgb888_convert(uint8_t *input_ptr, uint8_t *output_ptr, uint32_t width, uint32_t height)
int rgb565_to_vuyy_convert(uint16_t *sourceLcdBuffer, uint16_t *destLcdBuffer, int img_width, int img_height)
int yuyv_to_rgb565(uint8_t *src_buff, uint8_t *dst_buff, int width, int height)
int vuyy_to_rgb565(uint8_t *src_buff, uint8_t *dst_buff, int width, int height)
void argb8888_to_vuyy_blend(uint8_t *src, uint8_t *dst, uint32_t width, uint32_t height)
void argb8888_to_yuyv_blend(uint8_t *src, uint8_t *dst, uint32_t width, uint32_t height)
void argb8888_to_rgb565_blend(uint8_t *src, uint8_t *dst, uint32_t width, uint32_t height)
void argb8888_to_rgb888_blend(uint8_t *src, uint8_t *dst, uint32_t width, uint32_t height)
int vuyy_image_resize(uint8_t *src_img, uint8_t *dst_img, uint32_t src_width, uint32_t src_height, uint32_t dst_width, uint32_t dst_height)
int vuyy_image_vga_to_lvga(uint8_t *src_buf, uint8_t *dst_buf, uint8_t row_count)
int vuyy_image_vga_to_rsvga(uint8_t *src_buf, uint8_t *dst_buf, uint8_t row_count)
int vuyy_image_vga_to_qvga(uint8_t *src_buf, uint8_t *dst_buf, uint8_t row_count)
int yuyv_image_vga_to_qvga(uint8_t *src_buf, uint8_t *dst_buf, uint8_t row_count)
yuv_enc_fmt_t bk_get_original_jpeg_encode_data_format(uint8_t *src_buf, uint32_t length)