You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			73 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
| 
								 
											3 years ago
										 
									 | 
							
								// 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 OPENCV_VIDEOIO_REGISTRY_HPP
							 | 
						||
| 
								 | 
							
								#define OPENCV_VIDEOIO_REGISTRY_HPP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <opencv2/videoio.hpp>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace cv { namespace videoio_registry {
							 | 
						||
| 
								 | 
							
								/** @addtogroup videoio_registry
							 | 
						||
| 
								 | 
							
								This section contains API description how to query/configure available Video I/O backends.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Runtime configuration options:
							 | 
						||
| 
								 | 
							
								- enable debug mode: `OPENCV_VIDEOIO_DEBUG=1`
							 | 
						||
| 
								 | 
							
								- change backend priority: `OPENCV_VIDEOIO_PRIORITY_<backend>=9999`
							 | 
						||
| 
								 | 
							
								- disable backend: `OPENCV_VIDEOIO_PRIORITY_<backend>=0`
							 | 
						||
| 
								 | 
							
								- specify list of backends with high priority (>100000): `OPENCV_VIDEOIO_PRIORITY_LIST=FFMPEG,GSTREAMER`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@{
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns backend API name or "UnknownVideoAPI(xxx)"
							 | 
						||
| 
								 | 
							
								@param api backend ID (#VideoCaptureAPIs)
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W cv::String getBackendName(VideoCaptureAPIs api);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns list of all available backends */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W std::vector<VideoCaptureAPIs> getBackends();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns list of available backends which works via `cv::VideoCapture(int index)` */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W std::vector<VideoCaptureAPIs> getCameraBackends();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns list of available backends which works via `cv::VideoCapture(filename)` */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W std::vector<VideoCaptureAPIs> getStreamBackends();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns list of available backends which works via `cv::VideoWriter()` */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W std::vector<VideoCaptureAPIs> getWriterBackends();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns true if backend is available */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W bool hasBackend(VideoCaptureAPIs api);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns true if backend is built in (false if backend is used as plugin) */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W bool isBackendBuiltIn(VideoCaptureAPIs api);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns description and ABI/API version of videoio plugin's camera interface */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W std::string getCameraBackendPluginVersion(
							 | 
						||
| 
								 | 
							
								    VideoCaptureAPIs api,
							 | 
						||
| 
								 | 
							
								    CV_OUT int& version_ABI,
							 | 
						||
| 
								 | 
							
								    CV_OUT int& version_API
							 | 
						||
| 
								 | 
							
								);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns description and ABI/API version of videoio plugin's stream capture interface */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W std::string getStreamBackendPluginVersion(
							 | 
						||
| 
								 | 
							
								    VideoCaptureAPIs api,
							 | 
						||
| 
								 | 
							
								    CV_OUT int& version_ABI,
							 | 
						||
| 
								 | 
							
								    CV_OUT int& version_API
							 | 
						||
| 
								 | 
							
								);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @brief Returns description and ABI/API version of videoio plugin's writer interface */
							 | 
						||
| 
								 | 
							
								CV_EXPORTS_W std::string getWriterBackendPluginVersion(
							 | 
						||
| 
								 | 
							
								    VideoCaptureAPIs api,
							 | 
						||
| 
								 | 
							
								    CV_OUT int& version_ABI,
							 | 
						||
| 
								 | 
							
								    CV_OUT int& version_API
							 | 
						||
| 
								 | 
							
								);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//! @}
							 | 
						||
| 
								 | 
							
								}} // namespace
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif // OPENCV_VIDEOIO_REGISTRY_HPP
							 |