- 14
- 0
- 约9.87千字
- 约 11页
- 2017-09-01 发布于宁夏
- 举报
整像素运动估计的C语言代码.doc
#include math.h
#include stdio.h
#include stdlib.h
#include malloc.h
#include string.h
#pragma warning( disable : 4996 )
#define SEEK_SET 0
#define BEG 0 //从第几帧开始
#define I_FRAME 2 //读取帧
#define PIC_W 176 //图像宽度
#define PIC_H 144 //图像高度
#define PIC_P F:\\sequence\\yuv\\foreman_qcif.yuv//图像路径
#define MB_W PIC_W / 16
#define MB_H PIC_H / 16
#define SAD_MAX 65536//最大sad值
#define MAX(a, b) ( (a)(b) ? (a) : (b) ) //取a、b中值较大的
#define MIN(a, b) ( (a)(b) ? (a) : (b) ) //取a、b中值较小的
typedef unsigned int uint_t;
typedef unsigned char uint8_t;
typedef unsigned __int64 uint64_t;
enum
{
P_8x8_UL, P_8x8_UR, P_8x8_DL,
P_8x8_DR, P_8x16_L, P_8x16_R,
P_16x8_U, P_16x8_D, P_16x16_
}; //宏块分割类型,9种
enum
{
P_8x8 = 1,
P_16x8,
P_8x16,
P_16x16
}; //最终分割方式
typedef struct
{
int frame; //帧号
uint8_t *plane[3]; //存放一副图像的原始数据
}picture_t;
typedef struct
{
FILE *fp; //图像文件
int pix_width; //图像宽按像素计
int pix_height; //图像高按像素计
int mb_width; //图像宽按宏块计
int mb_height; //图像高按宏块计
picture_t pic[I_FRAME];
} yuv_t;
typedef struct
{
int mv[2]; //对应的最佳mv
uint_t sad; //对应的sad值
}mvs_t;
uint8_t sad[16][16];
mvs_t mvs[9]; //存放种最佳mv
int partition;
int mv[4];
yuv_t* init_yuv(yuv_t*);
void init_sad();
int creat_yuv(yuv_t*, int);
void start_ime(yuv_t*);
void full_search(yuv_t*, int, int);
void cal_sad(uint8_t*, uint8_t*, int);
void compare(int, int, int, int);
uint_t sub_block_sad(int[], int[]);
void free_yuv(yuv_t*);
void final_opt();
void adjust_range(int*, int*, int, int);
void adjust_mv(int, int, int);
int main(int argc, char *argv[])
{
yuv_t *h = NULL;
h = init_yuv(h); //初始化yuv
if (!h)
return -1;
if (creat_yuv(h, I_FRAME) 0) //读图像
{
free_yuv(h);
return -1;
}
start_ime(h); //开始整像素搜索
free_yuv(h); //释放内存
return 0;
}
//初始化yuv
yuv_t* init_yuv(yuv_t *h)
{
int i;
h = (yuv_t*)malloc(sizeof(yuv_t)); //分配内存
//初始化像素指针
for (i = 0; i I_FRAME; ++i)
h-pic[i].plane[0] = NULL;
h-fp = f
您可能关注的文档
最近下载
- 培智六年级生活数学期末试卷ABC卷.doc VIP
- 贵州省贵阳市普通中学2022-2023学年高三上学期期末语文(解析版).docx VIP
- 港口机械钢结构制造规范.pdf VIP
- 综合管廊施工组织设计.pptx VIP
- FloEFD 2312(Standalone)软件实例教程 第7-8章.pdf VIP
- 武勇 木质素性能应用及WPWG难点分析.pptx VIP
- 新青岛版(六三制)四年级上册科学全册精编知识点(超全).pdf
- 合盛硅业年产10万吨硅油项目环评可研资料环境影响.docx VIP
- 全国棉花交易市场电子仓单操作手册(仓库端,1.0版).PDF
- 7 杜凤沛 场景导向的省力化农药递送体系-青岛.pdf VIP
原创力文档

文档评论(0)