interact.hpp

来自「Motion JPEG编解码器源代码」· HPP 代码 · 共 155 行

HPP
155
字号
/* *  interact.hpp:  Simple command-line front-end * *  Copyright (C) 2001 Andrew Stevens <andrew.stevens@philips.com> * * *  This program is free software; you can redistribute it and/or *  modify it under the terms of version 2 of the GNU General Public License *  as published by the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */#ifndef __INTERACT_HH__#define __INTERACT_HH__#ifndef _WIN32#include <unistd.h>#endif#include <vector>#include "mjpeg_types.h"#include "stream_params.hpp"#include "systems.hpp"class IBitStream;using std::vector;/************************************************************************* * * The Multiplexor job Parameters: * The various parametes of a multiplexing job: muxing options * *************************************************************************/struct Workarounds{  Workarounds();};class MultiplexParams{public:  unsigned int data_rate;  unsigned int packets_per_pack;  int video_offset;             // A/V sync offset. Always one 0 and the                                // other positive. Specified in   int audio_offset;             // MPEG-2 CLOCKS: 1/(90000*300)-th sec  unsigned int sector_size;  bool VBR;  int mpeg;  int mux_format;  bool multifile_segment;  bool always_system_headers;  unsigned int max_PTS;  bool stills;  int verbose;  int max_timeouts;  char *outfile_pattern;  int max_segment_size;  int min_pes_header_len;  Workarounds workarounds;      // Special work-around flags that                                // constrain the syntax to suit                                // the foibles of particular MPEG                                // parsers that are (guessed) to be                                // actually slightly broken.  Always                                // off by default...};/*********************************************************************** * * Multiplexor job - paramters plus the streams to mux. * * **********************************************************************/enum StreamKind  {    MPEG_AUDIO,    AC3_AUDIO,    LPCM_AUDIO,    DTS_AUDIO,    MPEG_VIDEO#ifdef ZALPHA    ,    Z_ALPHA#endif  };class JobStream{public:  JobStream( IBitStream *_bs,  StreamKind _kind ) :    bs(_bs),    kind(_kind)  {  }  const char *NameOfKind();  IBitStream *bs;  StreamKind kind;};class MultiplexJob : public MultiplexParams{public:  MultiplexJob();  virtual ~MultiplexJob();  unsigned int NumberOfTracks( StreamKind kind );  void GetInputStreams( vector<JobStream *> &streams, StreamKind kind );  void SetupInputStreams( vector<IBitStream *> &inputs );protected:public:    vector<JobStream *> streams;  vector<LpcmParams *> lpcm_param;  vector<VideoParams *> video_param;  unsigned int audio_tracks;  unsigned int video_tracks;  unsigned int lpcm_tracks;#ifdef ZALPHA  unsigned int z_alpha_tracks;#endif};/*************************************************************************    Program ID*************************************************************************/ #define MPLEX_VER    "2.2.3"#define MPLEX_DATE   "$Date: 2004/01/13 20:45:26 $"#endif // __INTERACT_H__/*  * Local variables: *  c-file-style: "gnu" *  tab-width: 8 *  indent-tabs-mode: nil * End: */

⌨️ 快捷键说明

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