cap_mfx_reader.hpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // This file is part of OpenCV project.
  2. // It is subject to the license terms in the LICENSE file found in the top-level directory
  3. // of this distribution and at http://opencv.org/license.html
  4. #ifndef CAP_MFX_HPP
  5. #define CAP_MFX_HPP
  6. #include "precomp.hpp"
  7. class MFXVideoSession_WRAP;
  8. class Plugin;
  9. class DeviceHandler;
  10. class ReadBitstream;
  11. class SurfacePool;
  12. class MFXVideoDECODE;
  13. class VideoCapture_IntelMFX : public cv::IVideoCapture
  14. {
  15. public:
  16. VideoCapture_IntelMFX(const cv::String &filename);
  17. ~VideoCapture_IntelMFX();
  18. double getProperty(int) const CV_OVERRIDE;
  19. bool setProperty(int, double) CV_OVERRIDE;
  20. bool grabFrame() CV_OVERRIDE;
  21. bool retrieveFrame(int, cv::OutputArray out) CV_OVERRIDE;
  22. bool isOpened() const CV_OVERRIDE;
  23. int getCaptureDomain() CV_OVERRIDE;
  24. private:
  25. MFXVideoSession_WRAP *session;
  26. Plugin *plugin;
  27. DeviceHandler *deviceHandler;
  28. ReadBitstream *bs;
  29. MFXVideoDECODE *decoder;
  30. SurfacePool *pool;
  31. void *outSurface;
  32. cv::Size frameSize;
  33. bool good;
  34. };
  35. #endif