📄 main.bak
字号:
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 + -