Blame view

3rdparty/opencv-4.5.4/modules/videoio/src/videoio_c.cpp 2.14 KB
f4334277   Hu Chunming   提交3rdparty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
  // 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.
  
  #include "precomp.hpp"
  #include "opencv2/videoio/registry.hpp"
  #include "videoio_registry.hpp"
  
  using namespace cv;
  
  // Legacy C-like API
  
  CV_IMPL CvCapture* cvCreateCameraCapture(int)
  {
      CV_LOG_WARNING(NULL, "cvCreateCameraCapture doesn't support legacy API anymore.")
      return NULL;
  }
  
  CV_IMPL CvCapture* cvCreateFileCaptureWithPreference(const char*, int)
  {
      CV_LOG_WARNING(NULL, "cvCreateFileCaptureWithPreference doesn't support legacy API anymore.")
      return NULL;
  }
  
  CV_IMPL CvCapture* cvCreateFileCapture(const char * filename)
  {
      return cvCreateFileCaptureWithPreference(filename, CAP_ANY);
  }
  
  CV_IMPL CvVideoWriter* cvCreateVideoWriter(const char*, int, double, CvSize, int)
  {
      CV_LOG_WARNING(NULL, "cvCreateVideoWriter doesn't support legacy API anymore.")
      return NULL;
  }
  
  CV_IMPL int cvWriteFrame(CvVideoWriter* writer, const IplImage* image)
  {
      return writer ? writer->writeFrame(image) : 0;
  }
  
  CV_IMPL void cvReleaseVideoWriter(CvVideoWriter** pwriter)
  {
      if( pwriter && *pwriter )
      {
          delete *pwriter;
          *pwriter = 0;
      }
  }
  
  CV_IMPL void cvReleaseCapture(CvCapture** pcapture)
  {
      if (pcapture && *pcapture)
      {
          delete *pcapture;
          *pcapture = 0;
      }
  }
  
  CV_IMPL IplImage* cvQueryFrame(CvCapture* capture)
  {
      if (!capture)
          return 0;
      if (!capture->grabFrame())
          return 0;
      return capture->retrieveFrame(0);
  }
  
  CV_IMPL int cvGrabFrame(CvCapture* capture)
  {
      return capture ? capture->grabFrame() : 0;
  }
  
  CV_IMPL IplImage* cvRetrieveFrame(CvCapture* capture, int idx)
  {
      return capture ? capture->retrieveFrame(idx) : 0;
  }
  
  CV_IMPL double cvGetCaptureProperty(CvCapture* capture, int id)
  {
      return capture ? capture->getProperty(id) : 0;
  }
  
  CV_IMPL int cvSetCaptureProperty(CvCapture* capture, int id, double value)
  {
      return capture ? capture->setProperty(id, value) : 0;
  }
  
  CV_IMPL int cvGetCaptureDomain(CvCapture* capture)
  {
      return capture ? capture->getCaptureDomain() : 0;
  }