mpeg2video.hh
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:1k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /*
  2.    File: mpeg2video.hh
  3.    By: Alex Theo de Jong
  4.    Created: February 1996
  5.    Description: 
  6.    MPEG2 Video player. The class creates a threaded video player that
  7.    reads from the input buffer and plays to the X11 window display.
  8. */
  9. #ifndef __mpeg2video_hh
  10. #define __mpeg2video_hh
  11. #ifdef __GNUG__
  12. #pragma interface
  13. #endif
  14. class Mpeg2Video {
  15.   Mpeg2Timer timer;
  16.   int argc;       // Arguments
  17.   char** argv;    
  18.   String filename, displaytitle;     // display title
  19.   athr_t thread_id;    // thread id
  20.   int terminate;  // action to terminate thread
  21.   int terminated;  // indicate termination of thread
  22.   int i_c, p_c, b_c, d_c; // frame counters
  23.  protected:
  24.   static void* player(Mpeg2Video*);
  25.   void doframerate(timeval& fstart, timeval& fstop);
  26.   struct timeval tftarget;
  27.   int time_interval_usec;
  28.   int blockreadsize;
  29.   int framerate;
  30.   int framenum;
  31.   int skip_state, skip_count, skipped_frames;
  32.  protected: 
  33.   void usage(const char* name);
  34.   int initdecoder();
  35.  public:
  36.   Mpeg2Video(Mpeg2Buffer* input, Synchronization* s, int c, char** v);
  37.   ~Mpeg2Video();
  38.   int options();
  39.   int play();
  40.   int stop(){ terminate=1; return (terminated); }  // check when thread is done
  41.   int showframerate(timeval& tstart);
  42.   int showframerateend(timeval& tstart);
  43. };
  44. #endif