1
0

on2cmp.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef ON2CMP_H
  2. #define ON2CMP_H
  3. //*********************************************************************
  4. // name : on2comp.h
  5. // desc : Stand-alone command line compression application
  6. // that takes as input rvd files that are in planar yv12 format
  7. // and produces as output one ore more files that contain one or
  8. // more vp31 compressed video streams, as determined by command
  9. // line parameters.
  10. // date : 04/21/00
  11. // Who : Jim Bankoski
  12. // Mods :
  13. // Sep 21 2000 Reworked entire structure to be cleaner and more modular
  14. //*********************************************************************
  15. #include <vector>
  16. typedef int (*ProgressFunction)
  17. (
  18. int Frame,
  19. double SecondsWritten,
  20. double PercentComplete,
  21. int BytesWritten,
  22. std::vector<int> vBytesWritten,
  23. std::vector<int> vMinBufferSize
  24. );
  25. class fileCompressor
  26. {
  27. public:
  28. enum fileCompressorType
  29. {
  30. VP31,
  31. VP40,
  32. VP50
  33. };
  34. virtual void compress (
  35. ProgressFunction pf,
  36. int updateEvery,
  37. int argc,
  38. char* argv[],
  39. int outFileType) = 0;
  40. virtual ~fileCompressor();
  41. static fileCompressor* Make(fileCompressorType);
  42. };
  43. #endif // ON2CMP_H