github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/opencv4/include/opencv2/videoio/registry.hpp (about)

     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 OPENCV_VIDEOIO_REGISTRY_HPP
     6  #define OPENCV_VIDEOIO_REGISTRY_HPP
     7  
     8  #include <opencv2/videoio.hpp>
     9  
    10  namespace cv { namespace videoio_registry {
    11  /** @addtogroup videoio_registry
    12  This section contains API description how to query/configure available Video I/O backends.
    13  
    14  Runtime configuration options:
    15  - enable debug mode: `OPENCV_VIDEOIO_DEBUG=1`
    16  - change backend priority: `OPENCV_VIDEOIO_PRIORITY_<backend>=9999`
    17  - disable backend: `OPENCV_VIDEOIO_PRIORITY_<backend>=0`
    18  - specify list of backends with high priority (>100000): `OPENCV_VIDEOIO_PRIORITY_LIST=FFMPEG,GSTREAMER`
    19  
    20  @{
    21   */
    22  
    23  
    24  /** @brief Returns backend API name or "UnknownVideoAPI(xxx)"
    25  @param api backend ID (#VideoCaptureAPIs)
    26  */
    27  CV_EXPORTS_W cv::String getBackendName(VideoCaptureAPIs api);
    28  
    29  /** @brief Returns list of all available backends */
    30  CV_EXPORTS_W std::vector<VideoCaptureAPIs> getBackends();
    31  
    32  /** @brief Returns list of available backends which works via `cv::VideoCapture(int index)` */
    33  CV_EXPORTS_W std::vector<VideoCaptureAPIs> getCameraBackends();
    34  
    35  /** @brief Returns list of available backends which works via `cv::VideoCapture(filename)` */
    36  CV_EXPORTS_W std::vector<VideoCaptureAPIs> getStreamBackends();
    37  
    38  /** @brief Returns list of available backends which works via `cv::VideoWriter()` */
    39  CV_EXPORTS_W std::vector<VideoCaptureAPIs> getWriterBackends();
    40  
    41  /** @brief Returns true if backend is available */
    42  CV_EXPORTS_W bool hasBackend(VideoCaptureAPIs api);
    43  
    44  /** @brief Returns true if backend is built in (false if backend is used as plugin) */
    45  CV_EXPORTS_W bool isBackendBuiltIn(VideoCaptureAPIs api);
    46  
    47  /** @brief Returns description and ABI/API version of videoio plugin's camera interface */
    48  CV_EXPORTS_W std::string getCameraBackendPluginVersion(
    49      VideoCaptureAPIs api,
    50      CV_OUT int& version_ABI,
    51      CV_OUT int& version_API
    52  );
    53  
    54  /** @brief Returns description and ABI/API version of videoio plugin's stream capture interface */
    55  CV_EXPORTS_W std::string getStreamBackendPluginVersion(
    56      VideoCaptureAPIs api,
    57      CV_OUT int& version_ABI,
    58      CV_OUT int& version_API
    59  );
    60  
    61  /** @brief Returns description and ABI/API version of videoio plugin's writer interface */
    62  CV_EXPORTS_W std::string getWriterBackendPluginVersion(
    63      VideoCaptureAPIs api,
    64      CV_OUT int& version_ABI,
    65      CV_OUT int& version_API
    66  );
    67  
    68  
    69  //! @}
    70  }} // namespace
    71  
    72  #endif // OPENCV_VIDEOIO_REGISTRY_HPP