mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
// This file is part of OpenCV project. |
|
// It is subject to the license terms in the LICENSE file found in the top-level directory |
|
// of this distribution and at http://opencv.org/license.html |
|
|
|
#ifndef CAP_MFX_WRITER_HPP |
|
#define CAP_MFX_WRITER_HPP |
|
|
|
#include "precomp.hpp" |
|
|
|
class MFXVideoSession; |
|
class Plugin; |
|
class DeviceHandler; |
|
class WriteBitstream; |
|
class SurfacePool; |
|
class MFXVideoDECODE; |
|
class MFXVideoENCODE; |
|
|
|
class VideoWriter_IntelMFX : public cv::IVideoWriter |
|
{ |
|
public: |
|
VideoWriter_IntelMFX(const cv::String &filename, int _fourcc, double fps, cv::Size frameSize, bool isColor); |
|
~VideoWriter_IntelMFX() CV_OVERRIDE; |
|
double getProperty(int) const CV_OVERRIDE; |
|
bool setProperty(int, double) CV_OVERRIDE; |
|
bool isOpened() const CV_OVERRIDE; |
|
void write(cv::InputArray input) CV_OVERRIDE; |
|
int getCaptureDomain() const CV_OVERRIDE { return cv::CAP_INTEL_MFX; } |
|
protected: |
|
bool write_one(cv::InputArray bgr); |
|
|
|
private: |
|
VideoWriter_IntelMFX(const VideoWriter_IntelMFX &); |
|
VideoWriter_IntelMFX & operator=(const VideoWriter_IntelMFX &); |
|
|
|
private: |
|
MFXVideoSession *session; |
|
Plugin *plugin; |
|
DeviceHandler *deviceHandler; |
|
WriteBitstream *bs; |
|
MFXVideoENCODE *encoder; |
|
SurfacePool *pool; |
|
void *outSurface; |
|
cv::Size frameSize; |
|
bool good; |
|
}; |
|
|
|
#endif // CAP_MFX_WRITER_HPP
|
|
|