亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mpeg2player.cc

?? ac3的解碼程序
?? CC
字號:
/*   File: mpeg2player.cc   Description:   MPEG 2 Transport Stream Player invokes a Demultiplexer object   which has its own thread of execution. The main program just   waits until the demultiplexer has finished.   Created: April 1996, Alex Theo de Jong, NIST*/#define RELEASE "0.6  October 1999"#include "athread.hh"#include <stdio.h>#include <stdlib.h>#include <String.h>#include <fstream.h>#include <sys/time.h>#include <sys/errno.h>#ifdef IRIX#include <dmedia/audio.h>#endif#ifdef SOLARIS#include <sys/audioio.h>#endif#include "error.hh"#include "debug.hh"#include "util.hh"#include "network.hh"#include "sync.hh"#include "mpeg2const.hh"#include "mpeg2buff.hh"#include "mpeg2audio.hh"#include "mpeg2video.hh"#include "mpeg2demux.hh"// socket to read from by demultiplexorSocketMulti* sock=0;// Globals for arguments of audio/videoconst int arg_max=20;int audio_argc=0;char** audio_argv=0;int video_argc=0;char** video_argv=0;// Default parametersunsigned int asap     = 4000;int time_stamp_qsize  = 10000;int frame_stamp_qsize = 1000;unsigned int MPEG2_TS_Packet_size = 188;int aal_pdu_size      = 2*MPEG2_TS_Packet_size;unsigned int vc       = 60; // Virtual Circuit (VP Vitual Path = 0)int vstream            = 0; // -1=Select first ID in stream, 0, 1, ... = stream IDint astream            = 0; // -1=Select first ID in stream, 0, 1, ... = stream IDint audio             = 2;  // 0==Off, 1=MPEG, 2=AC3 int video             = 1;  // 0= OFF, 1=MPEG-1 2=DVD Modeint synchro_on        = 1;int quiet_on          = 0;int frame_rate        = 0;int audio_buffer_size = 102400; // The length of these buffers should not matterint video_buffer_size = 1024000; // for sync purposes  they only need to be big enough/*   Assuming 6 Mbps, 0.7 sec (700 msec) between PCR fields which needs to    be buffered.    6000000 x 0.7 = 4200000 Bits   Assume 20 % audio, 80 % video (NB. no overhead is counted):   audio buffer = 0.2 x 4200000 =  840000 bits = 105000 Bytes ~ 102400 Bytes   video buffer = 0.8 x 4200000 = 3360000 bits = 420000 Bytes ~ 512000 Bytes*/void usage(const char* name){  msg("usage: "); msg(name); message(" <options>\n");  message("options:");  message("\t-f <s>\t\tFilename <s>");  message("\t-nt <n>\t\tNetwork ASAP <n>");#ifdef FORE_ATM  message("\t-vc n\t\tVitual Circuit (VC), Vitual Path (VP) is 0");#endif  message("\t-m <n>\t\tMapping of <n> MPEG packets per sdu");  message("\t-vstream <n>\tSelect video stream <n> for playing");  message("\t-astream <n>\tSelect audio stream <n> for playing");  message("\t-mpeg\t\tSelect mpeg audio  for playing -- default is AC3");  message("\t-q\t\tQuiet");  message("\t-fq <n>\t\tQueue size for frame time stamps");  message("\t-tq <n>\t\tQueue size for time stamps");  message("\t-ab <n>\t\tAudio buffer size (in KBytes)");  message("\t-vb <n>\t\tVideo buffer size (in KBytes)");  message("\t-vob\t\tDVD playing mode");  message("\t-na\t\tNo audio");  message("\t-u\t\tuh=Headphones, us=Internal Speaker, ul=Line out");  message("\t-l\t\tOnly decode left channel audio");  message("\t-r\t\tOnly decode right channel audio");  message("\t-nv\t\tNo video");  message("\t-fr n\t\tNumber of frames per second (will result in B-frame skipping)")//  message("\t-c n\t\tChunk size of buffer reading for video");//  NOTE: be careful when using sychronization  message("\t-ns <n>\t\tNo synchronization of audio and video");  message("");  message("\tVOB File Player Version 0.6\n");  message("\tbased on");  message("\tMPEG 2 Transport Stream Player");  msg("\tVersion 1.2, November 1996");   message("\tAlex Theo de Jong (e-mail: alex.dejong@nist.gov)");  message("\tMulti-Media and Digital Video Group");  message("\tNational Institute of Standards and Technology");  message("\tGaithersburg, Md, U.S.A.");  message("Original Audio Player code by:");  message("\tTobias Bading");  message("\tBerlin University of Technology, Germany");  message("Original Video Player code by:");  message("\tMPEG Software Simulation Group    &");  message("\tStefan Eckart");  message("\tFraunhofer-Institut fuer Festkoerpertechnologie, Germany");}int main(int argc, char** argv){  String filename;  Mpeg2Demux* mpeg2demux=0;  // Create space for `arg_max' arguments for audio and video  video_argv=new char*[arg_max];  video_argv[video_argc++]=strdup("mpeg2player");     // parent  video_argv[video_argc++]=strdup("buffer");          // "filename"  String displayname("-d");  displayname+="MPEG 2 Player, ";  displayname+=RELEASE;  video_argv[video_argc++]=strdup(displayname.chars());  // Display title  audio_argv=new char*[arg_max];  audio_argv[audio_argc++]=strdup("mpeg2player");     // parent  audio_argv[audio_argc++]=strdup("buffer");          // "filename"  // Check/parse arguments  if (argc<3){    usage(argv[0]);    exit(0);  }  else {    for (int i=1; i<argc; i++){      if (strcmp(argv[i], "-f") == 0 && (i+1)<argc) filename=argv[++i];// General options      else if (strcmp(argv[i], "-vstream")==0 && (i+1)<argc) vstream=atoi(argv[++i]);      else if (strcmp(argv[i], "-astream")==0 && (i+1)<argc) astream=atoi(argv[++i]);      else if (strcmp(argv[i], "-nt")==0 && (i+1)<argc) asap=(unsigned int) atoi(argv[++i]);#ifdef FORE_ATM      else if (strcmp(argv[i], "-vc")==0 && (i+1)<argc) vc=atoi(argv[++i]);#endif      else if (strcmp(argv[i], "-m")==0 && (i+1)<argc)        aal_pdu_size=atoi(argv[++i])*MPEG2_TS_Packet_size;      else if (strcmp(argv[i], "-vob")==0) { MPEG2_TS_Packet_size = 0x800; aal_pdu_size = 0x20000;video=2;}      else if (strcmp(argv[i], "-na")==0) audio=0;      else if (strcmp(argv[i], "-ab")==0 && (i+1)<argc) audio_buffer_size=(atoi(argv[++i])*1024);      else if (strcmp(argv[i], "-nv")==0) video=0;      else if (strcmp(argv[i], "-vb")==0&& (i+1)<argc) video_buffer_size=(atoi(argv[++i])*1024);      else if (strcmp(argv[i], "-ns")==0) synchro_on=0;      else if (strcmp(argv[i], "-fq")==0 && (i+1)<argc) frame_stamp_qsize=atoi(argv[++i]);      else if (strcmp(argv[i], "-tq")==0 && (i+1)<argc) time_stamp_qsize=atoi(argv[++i]);      else if (strcmp(argv[i], "-q")==0) quiet_on=1;      else if (strcmp(argv[i], "-mpeg")==0) audio=1;// Video Options      else if (strcmp(argv[i], "-fr")==0 && (i+1)<argc){        char* arg=new char[5];        sprintf(arg, "-f%s", argv[++i]);        frame_rate=atoi(argv[i]);        video_argv[video_argc++]=arg;      }      else if (strcmp(argv[i], "-c")==0 && (i+1)<argc){        char* arg=new char[5];        sprintf(arg, "-c%s", argv[++i]);        video_argv[video_argc++]=arg;      }// Audio Options      else if (strcmp(argv[i], "-uh")==0) audio_argv[audio_argc++]=strdup(argv[i]);      else if (strcmp(argv[i], "-ul")==0) audio_argv[audio_argc++]=strdup(argv[i]);      else if (strcmp(argv[i], "-us")==0) audio_argv[audio_argc++]=strdup(argv[i]);      else if (strcmp(argv[i], "-l")==0) audio_argv[audio_argc++]=strdup(argv[i]);      else if (strcmp(argv[i], "-r")==0) audio_argv[audio_argc++]=strdup(argv[i]);      else {        msg("unknown argument `"); msg(argv[i]); message("' - ignored");      }    }  }  if (quiet_on){    audio_argv[audio_argc++]=strdup("-q");    video_argv[video_argc++]=strdup("-q");  }  // show options  message("---------------------------------------------");  msg("Verbose\t\t\t\t\t"); if (!quiet_on){ message("On"); } else { message("Off"); }  msg("File\t\t\t\t\t");   if (filename.length()){     message(filename.chars());   }  else {    msg("asap "); message(itoa(asap)); #ifdef FORE_ATM    msg("VPI/VCI\t\t\t\t\t0/"); message(itoa(vc)); #endif  }  msg("SDU size\t\t\t\t"); message(itoa(aal_pdu_size));  msg("Video Stream ID\t\t\t\t"); message(itoa(vstream));  msg("Audio Stream ID\t\t\t\t"); message(itoa(astream));  msg("Frame rate\t\t\t\t"); if (frame_rate){ message(itoa(frame_rate)); } else { message("-"); }  msg("Audio\t\t\t\t\t");   if (audio){    if (audio==2) {      message("AC3");    } else {      message("MPEG");    }    msg("Audio buffer\t\t\t\t"); message(itoa(audio_buffer_size));    msg("Audio Time Stamp buffer\t\t\t"); message(itoa(frame_stamp_qsize));  }  else { message("Off"); }  msg("Video\t\t\t\t\t");  if (video){    message("On");    msg("Video buffer\t\t\t\t"); message(itoa(video_buffer_size));    msg("Video Time Stamp buffer\t\t\t"); message(itoa(frame_stamp_qsize));  }  else { message("Off"); }  msg("Sync audio/video\t\t\t");  if (synchro_on){    message("On");    msg("Time Stamp buffer\t\t\t"); message(itoa(time_stamp_qsize));  }  else { message("Off"); }  message("---------------------------------------------");  video_argv[video_argc]=0;  // termintate last arg with a 0  audio_argv[audio_argc]=0;  // termintate last arg with a 0  // Actual MPEG player  message("Start MPEG 2 Player\n");    if (filename.length()){    // create a file socket    sock=new SocketMulti(filename.chars());    mpeg2demux=new Mpeg2Demux(aal_pdu_size, vstream, astream, audio, video, synchro_on, quiet_on);        // the demultiplexer starts the players too!    #if (defined(SOLARIS) || defined(IRIX) ) // only with NATIVE Solaris Threads and Irix    char* c=new char[50];    do {      msg("Type 'q' to quit: ");      athr_yield();      cin >> c;      switch(c[0]){      case '0' :      case '1' :      case '2' : mpeg2demux->select(atoi(&c[0])); break;      case 'p' :      case 'P' : mpeg2demux->pause();  break;      case 'r' :      case 'R' : mpeg2demux->resume(); break;      case 'q' :      case 'Q' : {        mpeg2demux->resume();        mpeg2demux->stop();      } break;      default  : break;      }    }    while (c[0]!='q' && c[0]!='Q');    delete c;#endif // without pthreads  }  else {    // a multi socket wait for 4 ports: tcpip, tcpipatm, atmspans, and atmpvc    sock=new SocketMulti(asap, aal_pdu_size, vc);         mpeg2demux=new Mpeg2Demux(aal_pdu_size, vstream, astream, audio, video, synchro_on, quiet_on);  }  // wait for demux to finish before deleting stuff!!!  while (!mpeg2demux->done()){    sleep(2);//    athr_yield();  }  // finish up;   delete mpeg2demux;  int j;  for (j=0; j<audio_argc; j++)     delete audio_argv[j];  for (j=0; j<video_argc; j++)     delete video_argv[j];  delete audio_argv;  delete video_argv;  if (sock){    sock->close();    delete sock;  }  message("\nMPEG 2 Player Finished\n");  exit(0);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区日韩一区| 性久久久久久久| 亚洲成人午夜影院| 国产一区二区调教| 91亚洲永久精品| 日韩一区二区三区视频在线 | 日本一区二区三区久久久久久久久不 | 亚洲国产日韩在线一区模特| 国模套图日韩精品一区二区| 99视频一区二区| 日韩欧美国产成人一区二区| 中文字幕乱码一区二区免费| 日本大胆欧美人术艺术动态| 色综合久久久久久久久| 国产欧美一区二区三区网站| 日韩av一区二区三区四区| 色综合久久久久综合体桃花网| 精品成人私密视频| 免费在线观看一区二区三区| 欧美亚洲尤物久久| 日本欧美一区二区在线观看| 久久国产精品72免费观看| 免费在线观看视频一区| 国产91精品入口| 亚洲精品一二三四区| 欧洲国内综合视频| 美日韩一区二区三区| 精品国产一区二区在线观看| 亚洲成人av免费| 欧美二区三区的天堂| 亚洲综合视频网| 在线观看成人小视频| 亚洲女爱视频在线| 91丨porny丨中文| 国产精品网站导航| 91蜜桃在线观看| **欧美大码日韩| 成人小视频在线| 国产欧美一区二区精品性色| 蜜臀av国产精品久久久久| 欧美日韩不卡在线| 日本一区中文字幕 | 亚洲精品欧美在线| 97久久精品人人澡人人爽| 欧美国产精品劲爆| 91影院在线观看| 亚洲午夜久久久久久久久电影院| 在线观看国产91| 视频一区中文字幕| 日韩精品在线看片z| 国产麻豆欧美日韩一区| 国产精品美女久久久久久久久久久| 成人av动漫在线| 亚洲在线视频网站| 日韩一区二区免费高清| 国产传媒一区在线| 最新欧美精品一区二区三区| 91久久精品一区二区| 亚洲成在线观看| 久久亚洲综合av| 99精品久久久久久| 三级一区在线视频先锋 | 一区二区三区在线看| 欧美一区二区三区四区在线观看| 国产成人激情av| 免费观看91视频大全| 亚洲欧美区自拍先锋| 久久精品一区四区| 26uuu精品一区二区| 欧美一级日韩免费不卡| 欧美日韩成人综合在线一区二区| 不卡电影一区二区三区| 国产suv精品一区二区三区| 亚洲男人天堂av| 久久久.com| 日韩免费性生活视频播放| 欧美视频精品在线| 成人av电影在线| 国产一区二区三区四区五区美女 | 欧美精品三级日韩久久| 成人97人人超碰人人99| 国内精品国产成人| 看电视剧不卡顿的网站| 日本欧美大码aⅴ在线播放| 亚洲第一福利视频在线| 亚洲综合色自拍一区| 一区二区三区四区乱视频| 自拍偷拍亚洲激情| 亚洲人成7777| 亚洲精品成人天堂一二三| 最新久久zyz资源站| 中文字幕一区二区视频| 亚洲丝袜另类动漫二区| 亚洲天堂2016| 一区二区三区不卡在线观看| 一区二区三区鲁丝不卡| 亚洲成人综合视频| 日韩av午夜在线观看| 久久激情五月婷婷| 国产盗摄一区二区三区| fc2成人免费人成在线观看播放| 成人av网站在线观看免费| 99国产精品久久久久久久久久久| 色菇凉天天综合网| 91精品午夜视频| 久久精品夜色噜噜亚洲a∨| 国产精品三级在线观看| 洋洋av久久久久久久一区| 人人爽香蕉精品| 国产成人a级片| 欧美日韩精品一区二区| 亚洲精品在线免费观看视频| 亚洲国产精品成人综合 | 99久久精品久久久久久清纯| 色综合久久中文综合久久97| 欧美精品777| 国产精品嫩草影院com| 日韩精品乱码av一区二区| 91在线一区二区三区| 欧美视频三区在线播放| 久久久综合网站| 视频在线观看国产精品| 91麻豆视频网站| 精品国产三级电影在线观看| 亚洲精品国产无套在线观 | 91丝袜美腿高跟国产极品老师| 日韩一区二区视频| 午夜国产精品影院在线观看| 激情综合色综合久久| 欧美午夜精品一区二区蜜桃| 久久久久97国产精华液好用吗| 亚洲欧洲另类国产综合| 久久精品国产亚洲高清剧情介绍| 91丨九色丨尤物| 久久久精品国产免大香伊| 日韩专区欧美专区| 欧美日韩国产色站一区二区三区| 中文字幕精品一区| 国产精品亚洲一区二区三区在线 | ㊣最新国产の精品bt伙计久久| 国产一区二区三区香蕉| 精品黑人一区二区三区久久 | 国产一区二区看久久| 欧美精品在线视频| 一区二区高清免费观看影视大全| 成人aa视频在线观看| 国产精品视频一区二区三区不卡| 极品少妇xxxx精品少妇偷拍| 精品欧美黑人一区二区三区| 另类小说色综合网站| 久久综合九色综合欧美98| 久久国产精品色| 国产午夜精品一区二区三区嫩草| 国产福利一区二区三区| 国产精品美女久久福利网站| www.视频一区| 亚洲亚洲精品在线观看| 欧美日韩高清一区二区不卡| 蜜桃久久久久久久| 精品日产卡一卡二卡麻豆| 国内成人精品2018免费看| 精品美女一区二区三区| 国产成人在线免费| 亚洲视频图片小说| 制服.丝袜.亚洲.中文.综合| 国产成人丝袜美腿| 亚洲欧美日本在线| 久久女同精品一区二区| 91一区二区三区在线观看| 视频一区二区不卡| 久久久99精品免费观看| 欧洲精品一区二区三区在线观看| 亚洲成av人片在线观看| 久久久91精品国产一区二区精品| www.欧美.com| 蜜臀av性久久久久av蜜臀妖精 | av不卡在线观看| 日本美女一区二区三区视频| 国产亚洲制服色| 正在播放一区二区| 91麻豆蜜桃一区二区三区| 成人午夜精品一区二区三区| 一区二区日韩av| 久久亚洲私人国产精品va媚药| 欧美色男人天堂| 91色.com| 国产曰批免费观看久久久| 天堂蜜桃一区二区三区| 成人免费在线观看入口| 26uuu成人网一区二区三区| 7777精品伊人久久久大香线蕉的| 99免费精品在线| 国产自产2019最新不卡| 欧美aaaaaa午夜精品| 亚洲成人一二三| 亚洲国产裸拍裸体视频在线观看乱了 | 日韩理论片在线| 国产精品成人免费精品自在线观看 | 日韩一区二区三| 日韩欧美激情四射|