avicapture.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // avicapture.h
  2. //
  3. // Copyright (C) 2001, Chris Laurel <claurel@shatters.net>
  4. //
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the GNU General Public License
  7. // as published by the Free Software Foundation; either version 2
  8. // of the License, or (at your option) any later version.
  9. #ifndef _AVICAPTURE_H_
  10. #define _AVICAPTURE_H_
  11. #include <windowsx.h>
  12. #include <vfw.h>
  13. #include "moviecapture.h"
  14. class AVICapture : public MovieCapture
  15. {
  16.  public:
  17.     AVICapture();
  18.     virtual ~AVICapture();
  19.     bool start(const std::string& filename, int w, int h, float fps);
  20.     bool end();
  21.     bool captureFrame();
  22.     int getWidth() const;
  23.     int getHeight() const;
  24.     float getFrameRate() const;
  25.     int getFrameCount() const;
  26.     // These are unused for now:
  27.     virtual void setAspectRatio(int, int) {};
  28.     virtual void setQuality(float) {};
  29.     virtual void recordingStatus(bool) {};
  30.  private:
  31.     void cleanup();
  32.  private:
  33.     int width;
  34.     int height;
  35.     float frameRate;
  36.     int frameCounter;
  37.     bool capturing;
  38.     PAVIFILE aviFile;
  39.     PAVISTREAM aviStream;
  40.     PAVISTREAM compAviStream;
  41.     unsigned char* image;
  42. };
  43. #endif // _AVICAPTURE_H_