videoio: update VideoWriter apiPreference parameter position
authorAlexander Alekhin <alexander.alekhin@intel.com>
Sun, 25 Jun 2017 19:53:11 +0000 (22:53 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Sun, 25 Jun 2017 19:57:24 +0000 (22:57 +0300)
modules/videoio/include/opencv2/videoio.hpp
modules/videoio/src/cap.cpp
modules/videoio/src/precomp.hpp

index 149e7a6..13149cb 100644 (file)
@@ -855,7 +855,7 @@ public:
     The `apiPreference` parameter allows to specify API backends to use. Can be used to enforce a specific reader implementation
     if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER.
      */
-    CV_WRAP VideoWriter(int apiPreference, const String& filename, int fourcc, double fps,
+    CV_WRAP VideoWriter(const String& filename, int apiPreference, int fourcc, double fps,
                 Size frameSize, bool isColor = true);
 
     /** @brief Default destructor
@@ -875,15 +875,9 @@ public:
     CV_WRAP virtual bool open(const String& filename, int fourcc, double fps,
                       Size frameSize, bool isColor = true);
 
-    /** @brief Initializes or reinitializes video writer.
-
-    The method opens video writer. Parameters are the same as in the constructor
-    VideoWriter::VideoWriter.
-    @return `true` if video writer has been successfully initialized
-
-    The method first calls VideoWriter::release to close the already opened file.
+    /** @overload
      */
-    CV_WRAP bool open(int apiPreference, const String& filename, int fourcc, double fps,
+    CV_WRAP bool open(const String& filename, int apiPreference, int fourcc, double fps,
                       Size frameSize, bool isColor = true);
 
     /** @brief Returns true if video writer has been successfully initialized.
index 752e3b9..d3e4f94 100644 (file)
@@ -368,13 +368,7 @@ CV_IMPL CvCapture * cvCreateFileCapture (const char * filename)
  * Videowriter dispatching method: it tries to find the first
  * API that can write a given stream.
  */
-CV_IMPL CvVideoWriter* cvCreateVideoWriter( const char* filename, int fourcc,
-                                            double fps, CvSize frameSize, int is_color )
-{
-    return cvCreateVideoWriterWithPreference(CV_CAP_ANY, filename, fourcc, fps, frameSize, is_color);
-}
-
-CvVideoWriter* cvCreateVideoWriterWithPreference(int apiPreference, const char* filename, int fourcc,
+static CvVideoWriter* cvCreateVideoWriterWithPreference(const char* filename, int apiPreference, int fourcc,
                                             double fps, CvSize frameSize, int is_color )
 {
     CV_UNUSED(frameSize);
@@ -428,6 +422,12 @@ CvVideoWriter* cvCreateVideoWriterWithPreference(int apiPreference, const char*
     return result;
 }
 
+CV_IMPL CvVideoWriter* cvCreateVideoWriter( const char* filename, int fourcc,
+                                            double fps, CvSize frameSize, int is_color )
+{
+    return cvCreateVideoWriterWithPreference(filename, CV_CAP_ANY, fourcc, fps, frameSize, is_color);
+}
+
 CV_IMPL int cvWriteFrame( CvVideoWriter* writer, const IplImage* image )
 {
     return writer ? writer->writeFrame(image) : 0;
@@ -563,7 +563,7 @@ static Ptr<IVideoCapture> IVideoCapture_create(const String& filename)
     return Ptr<IVideoCapture>();
 }
 
-static Ptr<IVideoWriter> IVideoWriter_create(int apiPreference, const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
+static Ptr<IVideoWriter> IVideoWriter_create(const String& filename, int apiPreference, int _fourcc, double fps, Size frameSize, bool isColor)
 {
     Ptr<IVideoWriter> iwriter;
 #ifdef HAVE_MFX
@@ -757,9 +757,9 @@ VideoWriter::VideoWriter(const String& filename, int _fourcc, double fps, Size f
 }
 
 
-VideoWriter::VideoWriter(int apiPreference, const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
+VideoWriter::VideoWriter(const String& filename, int apiPreference, int _fourcc, double fps, Size frameSize, bool isColor)
 {
-    open(apiPreference, filename, _fourcc, fps, frameSize, isColor);
+    open(filename, apiPreference, _fourcc, fps, frameSize, isColor);
 }
 
 void VideoWriter::release()
@@ -775,18 +775,18 @@ VideoWriter::~VideoWriter()
 
 bool VideoWriter::open(const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
 {
-    return open(CAP_ANY, filename, _fourcc, fps, frameSize, isColor);
+    return open(filename, CAP_ANY, _fourcc, fps, frameSize, isColor);
 }
 
-bool VideoWriter::open(int apiPreference, const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
+bool VideoWriter::open(const String& filename, int apiPreference, int _fourcc, double fps, Size frameSize, bool isColor)
 {
     CV_INSTRUMENT_REGION()
 
     if (isOpened()) release();
-    iwriter = IVideoWriter_create(apiPreference, filename, _fourcc, fps, frameSize, isColor);
+    iwriter = IVideoWriter_create(filename, apiPreference, _fourcc, fps, frameSize, isColor);
     if (!iwriter.empty())
         return true;
-    writer.reset(cvCreateVideoWriterWithPreference(apiPreference, filename.c_str(), _fourcc, fps, frameSize, isColor));
+    writer.reset(cvCreateVideoWriterWithPreference(filename.c_str(), apiPreference, _fourcc, fps, frameSize, isColor));
     return isOpened();
 }
 
index 7330e4e..776a2c6 100644 (file)
@@ -162,9 +162,6 @@ CvCapture * cvCreateCameraCapture_Unicap  (const int     index);
 CvCapture * cvCreateCameraCapture_PvAPI  (const int     index);
 CvVideoWriter* cvCreateVideoWriter_GStreamer( const char* filename, int fourcc,
                                             double fps, CvSize frameSize, int is_color );
-CvVideoWriter* cvCreateVideoWriterWithPreference(int api, const char* filename, int fourcc,
-                                           double fps, CvSize frame_size,
-                                           int is_color CV_DEFAULT(1));
 
 
 namespace cv