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

📄 main.bak

📁 这个是Linux下的应用程序
💻 BAK
📖 第 1 页 / 共 3 页
字号:
			fread(mux_data,sizeof(unsigned short),3,fp);                	rx_id = ((mux_data[2] & 0xff00) >> 8);                	decoder_size = ((mux_data[2] << 8) & 0xff00) + rx_id;                	printf("&&&& PES packet length is %x &&&&\n",decoder_size);			file_length -= decoder_size;                	fread((mux_data + 3),sizeof(unsigned short),decoder_size/2,fp);                	decoding_stream_write(mux_data,(unsigned long )decoder_size+6);			if(file_length <= 0)				replay_state = REPLAY_STOP;			break;			for(i = 0; i < 5; i++)			{				fread(mux_data,sizeof(unsigned short),3,fp);                	        rx_id = ((mux_data[2] & 0xff00) >> 8);                        	decoder_size = ((mux_data[2] << 8) & 0xff00) + rx_id;				file_length -= decoder_size;				fseek(fp,(unsigned long)decoder_size,SEEK_CUR);				if(file_length <= 0 )				{					replay_state = REPLAY_STOP;					break;					}			}			for(i = 0; i < 10; i++)			{				if(file_length <= 0)				{					replay_state = REPLAY_STOP;					break;				}				fread(mux_data,sizeof(unsigned short),3,fp);                        	rx_id = ((mux_data[2] & 0xff00) >> 8);                        	decoder_size = ((mux_data[2] << 8) & 0xff00) + rx_id;                        	printf("&&&& PES packet length is %x &&&&\n",decoder_size);                        	file_length -= decoder_size;                        	fread((mux_data + 3),sizeof(unsigned short),decoder_size/2,fp);                        	decoding_stream_write(mux_data,(unsigned long )decoder_size+6);			}                        if(file_length <= 0)                                replay_state = REPLAY_STOP;			break;		case REPLAY_STOP	:				usleep(100000);			video_decoder_stop(VIDEO_ONLY);			fclose(fp);			//input_state = INPUT_NORMAL;			replay_state = 5;			input_state=INPUT_PLAY;                        file_osd_display();			break;		case REPLAY_PAUSE	:			break;	}	return 0;}#if 1void u_memory(void){	char *string;	FILE *fu;	unsigned int temp;		string = (char *)malloc(50);	printf("123456789\n");	system("df /dev/sda1 >>/tmp/m.txt");	usleep(500);	if((fu = fopen("/tmp/m.txt","r")) == NULL)	{		printf("open memory fail !!!\n");		return ;	}	fseek(fp,0L,SEEK_END);	temp = ftell(fp);	fseek(fp,0L,SEEK_SET);	fread(string,sizeof(char),temp,fu);	printf("the lengeh is %d",temp);	display_string (0x40,0x30,(string+55), 0);	fclose(fu);	free(string);}#endif/****************************************************************************/// 功能		配置	key = 1 display file  key = 2 format U disk//// 2007.12.18/****************************************************************************/int configure(void){	if(key == 1)	{		system("rm /tmp/u.txt");                usleep(10000);                system("ls /mnt/nfs > /tmp/u.txt");                usleep(20000);                if((fp = fopen("/tmp/u.txt","r")) == NULL)                {                        printf("open file %s is fail\n","/tmp/u.txt");                        return 0;                }                ch = 0;                num = 0;                while(!feof(fp))                {                        temp = fgetc(fp);                        if(temp != '\n')                        {                                string1[ch] = temp;                                ch++;                        }                        else                        {                                string1[ch] = '\0';                                ch = 0;                                string0[0] = num + 0x31;                //ASCII CODE                                string0[1] = '.';                                string0[3] = '\0';                                display_string (0x95,(0x80+num*20),string0, 0);                                display_string (0x100,(0x80+num*20),string1, 0);                                num++;                        }		}                while(mykey() != 2);                osd_on_off(0,1);	}	if(key == 2)	{		system("umount /dev/sda1");                usleep(5000);                system("mkfs.vfat /dev/sda1");                usleep(500000);		}	return 0;}/***************************************************************************/// 功能		抓拍//// 2007.12.18/**************************************************************************/int capture(void){	//uns16 id_conf;	id_conf = RxID(0x05, 0, 0x03, W_FLAG);write_rx_fifo (id_conf);        id_conf = 0;write_rx_fifo (id_conf);    /*ENCODER JPEG*/                                                                                        id_conf = RxID(0x05, 0, 0x04, W_FLAG);write_rx_fifo (id_conf);        id_conf = 0;write_rx_fifo (id_conf);    /*FIXEDQ JPEG*/                                                                                        id_conf = RxID(0x05, 0, 0x05, W_FLAG);write_rx_fifo (id_conf);        id_conf = 50;write_rx_fifo (id_conf);   /*QUALITY JPEG 50%*/                                                                                        id_conf = RxID(0x09, 0, 0x01, W_FLAG);write_rx_fifo (id_conf);        id_conf = 0;write_rx_fifo (id_conf);    /*DECODER JPEG*/	osd_on_off(0,0);	video_encoder_start(VIDEO_ONLY);        //usleep(10000);        encoding_stream_read(mux_data);        printf("the first word is 0x%4x\n",mux_data[0]);        if((mux_data[0] & 0x0002) != 0x0002)        {               printf("###### Stream Format is Wrong !!! ######\n");               return 0;        }        stream_size = mux_data[1]*16*2;        fwrite((mux_data +4),sizeof(unsigned short),(unsigned long)(stream_size/2),fp);        usleep(5000);        fclose(fp);        video_encoder_stop(VIDEO_ONLY);        osd_on_off(0,1);        live_on_off(0,1);	return 0;}unsigned char promt_text[200];unsigned char promt_sel_index=0;#define PROMT_LEFT    	200#define PROMT_TOP	400#define PROMT_WIDTH	320#define PRONT_HEIGHT	120#define PROMT_TEXT_LEFT		PROMT_LEFT+20#define PROMT_TEXT_TOP		PROMT_TOP+20#define PROMT_YES_LEFT		PROMT_LEFT+40#define PROMT_NO_LEFT		PROMT_LEFT+320-96#define PROMT_BUTTON_TOP 	PROMT_TOP+100-20#define PROMT_BACK_COLOR 	'd'-'a'#define PROMT_SEL_COLOR  	'h'-'a'#define PROMT_BUTTON_COLOR 	'l'-'a'#define PROMT_BUTTON_WIDTH 	56#define PROMT_BUTTON_HEIGHT 	24void promt_show(unsigned char promt_state){	if(promt_state ==0)	{		fill_rect(PROMT_LEFT,		PROMT_TOP,		PROMT_WIDTH,		PRONT_HEIGHT,		0,		0);		return;	}	fill_rect(PROMT_LEFT,                PROMT_TOP,                PROMT_WIDTH,                PRONT_HEIGHT,                PROMT_BACK_COLOR,                0);	display_string(PROMT_TEXT_LEFT,		PROMT_TEXT_TOP,		promt_text,0);	if(promt_sel_index==0)	{		fill_rect(PROMT_YES_LEFT-4,			PROMT_BUTTON_TOP-4,			PROMT_BUTTON_WIDTH,			PROMT_BUTTON_HEIGHT,			PROMT_SEL_COLOR,			0);		fill_rect(PROMT_NO_LEFT-4,                        PROMT_BUTTON_TOP-4,                        PROMT_BUTTON_WIDTH,                        PROMT_BUTTON_HEIGHT,                        PROMT_BUTTON_COLOR,			0);	}	else	{		fill_rect(PROMT_YES_LEFT-4,                        PROMT_BUTTON_TOP-4,                        PROMT_BUTTON_WIDTH,                        PROMT_BUTTON_HEIGHT,                        PROMT_BUTTON_COLOR,                        0);                fill_rect(PROMT_NO_LEFT-4,                        PROMT_BUTTON_TOP-4,                        PROMT_BUTTON_WIDTH,                        PROMT_BUTTON_HEIGHT,                        PROMT_SEL_COLOR,                        0);	}		display_string(PROMT_YES_LEFT,			PROMT_BUTTON_TOP,			"yes",			0);   		display_string(PROMT_NO_LEFT,                        PROMT_BUTTON_TOP,                        "no",                        0);}void key_left(void){	if(replay_state==REPLAY_FAST)	{		replay_state=REPLAY_NORMAL;		return;	}	if(bool_state == BOOL_STATE_SELECT)	{		if(promt_sel_index==1)		{			promt_sel_index=0;			promt_show(1);		}		return;	}	if(input_state==INPUT_MENU)	{		if(focus_index>0)                 	focus_index--;              	else              	        focus_index=3;                button_show('e'-'a','l'-'a',focus_index);		return;	}	}void key_right(void){	if(replay_state==REPLAY_NORMAL)	{		replay_state=REPLAY_FAST;		return;	}	if(bool_state==BOOL_STATE_SELECT)	{		if(promt_sel_index==0)		{			promt_sel_index=1;			promt_show(1);		}		return;	}	if(input_state==INPUT_MENU)        {                if(focus_index<3)                        focus_index++;                else                        focus_index=0;                button_show('e'-'a','l'-'a',focus_index); 		return;                                                                                       }}void key_up(void){    if(bool_state==BOOL_STATE_SELECT)    {         return;    }    if(input_state==INPUT_PLAY	|| input_state==INPUT_CONFIG)    {	if(line_current==0 && line_sel==0)		return;	if(line_sel==0)	{		line_current=line_current-10;		line_sel=9;			u_file_show();		file_osd_display();		return;	}	line_sel--;	file_osd_display();   }	}void key_down(void){     if(bool_state==BOOL_STATE_SELECT)	return;    if(input_state==INPUT_PLAY		|| input_state==INPUT_CONFIG)    {	if(line_count-line_current <=10 && line_sel==9)	{		return;	}	if(line_sel==line_count-1)		return;	if(line_sel==9)	{		line_current=line_current+10;		u_file_show();		line_sel=0;		file_osd_display();		return;	}	line_sel++;	file_osd_display();    }		}void key_yes(void){	if(bool_state==BOOL_STATE_SELECT)	{		if(promt_sel_index==1)		{			promt_show(0);			switch(input_state)			{			  	case INPUT_RECORD_CHECK:					input_state=INPUT_MENU;				break;							}		}		else		{		    switch(input_state)		    {                        case INPUT_PLAY:				fill_rect(0,0,720,576,'a'-'a',0);				sprintf(file_to_play,"%s",file_name[line_sel]);				input_state=INPUT_PLAY_START;				play_state=PLAY_STOP;			break;			case INPUT_PLAY_START:				input_state=INPUT_PLAY;				usleep(100000);	                        video_decoder_stop(VIDEO_ONLY);        	                fclose(fp);				file_osd_display();				promt_show(0);				//play_stop			break;			case INPUT_CONFIG:				{ 				char cmd_delete[50]="rm /mnt/nfs/";                                sprintf(file_to_play,"%s",file_name[line_sel]);                                                                                      		//printf("Get file bath !!! \n");        			strcat(cmd_delete,file_to_play);				system(cmd_delete);				if(line_sel!=0)				{					if(line_count<line_current+line_sel+1)						line_sel-=1;										}				else				{					if(line_current >line_count-1					&& line_current >10)					{						line_current-=10;						line_sel=9;					}				}				//if(line_set!=0)				promt_show(0);				fill_rect(0,0,720,576,'a'-'a',0);				u_file_show();				file_osd_display();				bool_state=BOOL_STATE_NONE;				//key_up();				return;				}			break;			case INPUT_RECORD:				input_state=INPUT_MENU;                		fill_rect(0,0,720,576,'a'-'a',0);                		title_display();                		button_show('e'-'a','l'-'a',focus_index);				video_encoder_stop(VIDEO_ONLY);                                fclose(fp);			break;			case INPUT_RECORD_CHECK:				fill_rect(0,0,720,576,'a'-'a',0);				input_state=INPUT_RECORD;				record_state=RECORD_STOP;

⌨️ 快捷键说明

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