?? prp_test.c
字號:
#include <stdio.h>#include <fcntl.h>#include <linux/fb.h>#include <asm/mman.h>#include "type.h"#include "mx21_pp.h"#include "prp.h"#define DISP_BUFF_SIZE 320*240*2#define IN_IMG_WIDTH 352#define IN_IMG_HIGHT 288#define IN_IMG_BUFFER_SIZE IN_IMG_WIDTH*IN_IMG_HIGHT*3/2#define OUT_IMG_WIDTH 320#define OUT_IMG_HIGHT 240#define OUT_IMG_BUFFER_SIZE OUT_IMG_WIDTH*OUT_IMG_HIGHT*2IOBUFFER strIoBuffer;SIZE_INFO decoder_size;unsigned char input_buff[IN_IMG_BUFFER_SIZE] = {0};unsigned char output_buff[OUT_IMG_BUFFER_SIZE] = {0};static double msecond(){ struct timeval tv; gettimeofday(&tv, 0); return (tv.tv_sec * 1.0e3 + tv.tv_usec * 1.0e-3);}int main(int argc, char **argv){ int i, j, count = 0; int fd_pp; int fb; int fd_prp; int ret; FILE *fp; double enctime; unsigned short *pbuff; unsigned short *ptr; if ((fd_prp = open("/dev/saa7113_prp", O_RDWR)) < 0) { printf("Device csi_prp open error !\n"); exit(-1); } else printf("Device mx21_prp open successfully !\n"); fp=fopen("mine.yuv","wb"); /**********************************************************************//* if ((fd_pp = open("/dev/mx21_pp", O_RDWR)) < 0) { printf("Device pp open error !\n"); exit(-1); } else printf("Device mx21_pp open successfully !\n"); if ((fb = open("/dev/fb0", O_RDWR)) < 0) { printf("Device mem device !\n"); exit(-1); } pbuff = mmap(NULL, DISP_BUFF_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0); if(pbuff==NULL) { printf("Map errror\n"); } decoder_size.x_max = IN_IMG_WIDTH; decoder_size.y_max = IN_IMG_HIGHT; ioctl(fd_pp,PP_CMD_INIT,&decoder_size);*/ while(1) { enctime = msecond(); if ((ret = read(fd_prp, input_buff, IN_IMG_BUFFER_SIZE)) < 0) { //printf("No available image!\n"); continue; } fwrite(input_buff,1,IN_IMG_BUFFER_SIZE,fp); printf("Write image!\n"); count++; if(count == 2) break; enctime = msecond() - enctime; printf("frame interval is %6.2fms\n",enctime); } close(fd_prp);// close(fd_pp);// close(fb); fclose(fp); return 0;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -