📄 image.h
字号:
#ifndef _IMAGE_H_
#define _IMAGE_H_
#include "../user_macro.h"
#include "../portab.h"
/*#include "colorspace.h"*/
#define EDGE_SIZE 32
typedef struct
{
uint8_t *y;
uint8_t *u;
uint8_t *v;
}IMAGE;
/*
void init_image(uint32_t cpu_flags);
*/
int32_t image_create(IMAGE * image,
uint32_t edged_width,
uint32_t edged_height);
void image_destroy(IMAGE * image,
uint32_t edged_width,
uint32_t edged_height);
void image_swap(IMAGE * image1,
IMAGE * image2);
#ifdef _DEBUG_PSNR
void image_copy(IMAGE * image1,
IMAGE * image2,
uint32_t edged_width,
uint32_t height);
/*
float image_psnr(IMAGE * orig_image,
IMAGE * recon_image,
uint16_t stride,
uint16_t width,
uint16_t height);
*/
float image_psnr(IMAGE * orig_image,
IMAGE * recon_image,
int stride,
int width,
int height);
#endif
/*
void image_setedges(IMAGE * image,
uint32_t edged_width,
uint32_t edged_height,
uint32_t width,
uint32_t height,
uint32_t interlacing);
*/
void image_setedges(IMAGE * image,
uint32_t edged_width,
uint32_t edged_height,
uint32_t width,
uint32_t height);
void image_interpolate(const IMAGE * refn,
IMAGE * refh,
IMAGE * refv,
IMAGE * refhv,
uint32_t edged_width,
uint32_t edged_height,
uint32_t rounding);
/*
int image_input(IMAGE * image,
uint32_t width,
int height,
uint32_t edged_width,
uint8_t * src,
int csp);*/
void image_input(IMAGE * image,
uint32_t width,
int height,
uint32_t edged_width,
uint8_t * src);
/*
int image_output(IMAGE * image,
uint32_t width,
int height,
uint32_t edged_width,
uint8_t * dst,
uint32_t dst_stride,
int csp);
*/
#ifdef _OUT_CONSTRUCT_IMAGE
void image_output(IMAGE * image,
uint32_t width,
int height,
uint32_t edged_width,
uint8_t * dst,
uint32_t dst_stride);
#endif
#endif /* _IMAGE_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -