⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 image.h

📁 jpeg and mpeg 编解码技术源代码
💻 H
字号:
#ifndef _IMAGE_H_
#define _IMAGE_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);
void image_copy(IMAGE *image1, IMAGE * image2, uint32_t edged_width, uint32_t height);
void image_setedges(IMAGE * image, uint32_t edged_width, uint32_t edged_height, uint32_t width, uint32_t height, uint32_t interlacing);
void image_interpolate(const IMAGE * refn, 
					   IMAGE * refh, IMAGE * refv,	IMAGE * refhv, 
					   uint32_t edged_width, uint32_t edged_height, uint32_t rounding);

float image_psnr(IMAGE *orig_image, IMAGE *recon_image,
              uint16_t stride, uint16_t width, uint16_t height);

int image_input(IMAGE * image, uint32_t width, int height, 
	uint32_t edged_width, uint8_t * src, int csp);

int image_output(IMAGE * image, uint32_t width, int height, uint32_t edged_width,
			uint8_t * dst, uint32_t dst_stride, int csp);

#ifdef MPEG4IP
int yuv_input(
	IMAGE * image, 
	uint32_t width, 
	uint32_t height, 
	uint32_t strideout, 
	uint8_t *y_in, 
	uint8_t *u_in, 
	uint8_t *v_in, 
	uint32_t stridein, 
	int csp);
#endif

#endif /* _IMAGE_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -