Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/videoio/src/cap_mfx_reader.hpp
16339 views
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
5
#ifndef CAP_MFX_HPP
6
#define CAP_MFX_HPP
7
8
#include "precomp.hpp"
9
10
11
class MFXVideoSession;
12
class Plugin;
13
class DeviceHandler;
14
class ReadBitstream;
15
class SurfacePool;
16
class MFXVideoDECODE;
17
18
class VideoCapture_IntelMFX : public cv::IVideoCapture
19
{
20
public:
21
VideoCapture_IntelMFX(const cv::String &filename);
22
virtual ~VideoCapture_IntelMFX();
23
virtual double getProperty(int) const CV_OVERRIDE;
24
virtual bool setProperty(int, double) CV_OVERRIDE;
25
virtual bool grabFrame() CV_OVERRIDE;
26
virtual bool retrieveFrame(int, cv::OutputArray out) CV_OVERRIDE;
27
virtual bool isOpened() const CV_OVERRIDE;
28
virtual int getCaptureDomain() CV_OVERRIDE;
29
private:
30
MFXVideoSession *session;
31
Plugin *plugin;
32
DeviceHandler *deviceHandler;
33
ReadBitstream *bs;
34
MFXVideoDECODE *decoder;
35
SurfacePool *pool;
36
void *outSurface;
37
bool good;
38
};
39
40
41
#endif
42
43