media-plugins/frei0r-plugins: update patch to restore opencv-2 compatibility
authorMichael Palimaka <kensington@gentoo.org>
Fri, 6 May 2016 15:59:32 +0000 (01:59 +1000)
committerMichael Palimaka <kensington@gentoo.org>
Fri, 6 May 2016 16:01:01 +0000 (02:01 +1000)
Patch by PhobosK <phobosk@fastmail.fm>.

Gentoo-bug: 568608

Package-Manager: portage-2.2.28

media-plugins/frei0r-plugins/files/frei0r-plugins-1.4-opencv3.patch

index 6188c98edb8398d992876510614a718ab773e4f5..d6d96b04729660086664c5a78bfb8011dcde09ac 100644 (file)
@@ -1,50 +1,64 @@
---- ./frei0r-plugins-1.4/src/filter/facedetect/facedetect.c.opencv3    2013-02-24 14:43:22.000000000 +0100
-+++ ./frei0r-plugins-1.4/src/filter/facedetect/facedetect.c    2015-07-08 12:44:30.987056878 +0200
-@@ -211,8 +211,8 @@ CvSeq* detect_and_draw( IplImage* img, C
+diff -ur a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c
+--- a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c    2013-02-24 15:43:22.000000000 +0200
++++ b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.c    2015-12-19 12:27:05.984180725 +0200
+@@ -211,8 +211,13 @@
  
    double scale = 1.3;
    IplImage* gray = cvCreateImage( cvSize(img->width,img->height), 8, 1 );
--  IplImage* small_img = cvCreateImage( cvSize( cvRound (img->width/scale),
--                                               cvRound (img->height/scale)),
++#if (CV_VERSION_EPOCH != 2)
 +  IplImage* small_img = cvCreateImage( cvSize( cvRound ((double)img->width/scale),
 +                                               cvRound ((double)img->height/scale)),
++#else
+   IplImage* small_img = cvCreateImage( cvSize( cvRound (img->width/scale),
+                                                cvRound (img->height/scale)),
++#endif
                                         8, 1 );
    int i;
  
---- ./frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp.opencv3  2013-02-24 14:43:22.000000000 +0100
-+++ ./frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp  2015-07-08 12:48:32.754615885 +0200
-@@ -259,11 +259,11 @@ private:
+diff -ur a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp
+--- a/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp  2013-02-24 15:43:22.000000000 +0200
++++ b/frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp  2015-12-19 12:24:00.023349871 +0200
+@@ -259,11 +259,19 @@
      {
          double scale = this->scale == 0? 1.0 : this->scale;
          CvScalar colors[5] = {
--            {{cvRound(color[0].r * 255), cvRound(color[0].g * 255), cvRound(color[0].b * 255), cvRound(alpha * 255)}},
--            {{cvRound(color[1].r * 255), cvRound(color[1].g * 255), cvRound(color[1].b * 255), cvRound(alpha * 255)}},
--            {{cvRound(color[2].r * 255), cvRound(color[2].g * 255), cvRound(color[2].b * 255), cvRound(alpha * 255)}},
--            {{cvRound(color[3].r * 255), cvRound(color[3].g * 255), cvRound(color[3].b * 255), cvRound(alpha * 255)}},
--            {{cvRound(color[4].r * 255), cvRound(color[4].g * 255), cvRound(color[4].b * 255), cvRound(alpha * 255)}},
++#if (CV_VERSION_EPOCH != 2)
 +            CvScalar(cvRound(color[0].r * 255), cvRound(color[0].g * 255), cvRound(color[0].b * 255), cvRound(alpha * 255)),
 +            CvScalar(cvRound(color[1].r * 255), cvRound(color[1].g * 255), cvRound(color[1].b * 255), cvRound(alpha * 255)),
 +            CvScalar(cvRound(color[2].r * 255), cvRound(color[2].g * 255), cvRound(color[2].b * 255), cvRound(alpha * 255)),
 +            CvScalar(cvRound(color[3].r * 255), cvRound(color[3].g * 255), cvRound(color[3].b * 255), cvRound(alpha * 255)),
 +            CvScalar(cvRound(color[4].r * 255), cvRound(color[4].g * 255), cvRound(color[4].b * 255), cvRound(alpha * 255)),
++#else
+             {{cvRound(color[0].r * 255), cvRound(color[0].g * 255), cvRound(color[0].b * 255), cvRound(alpha * 255)}},
+             {{cvRound(color[1].r * 255), cvRound(color[1].g * 255), cvRound(color[1].b * 255), cvRound(alpha * 255)}},
+             {{cvRound(color[2].r * 255), cvRound(color[2].g * 255), cvRound(color[2].b * 255), cvRound(alpha * 255)}},
+             {{cvRound(color[3].r * 255), cvRound(color[3].g * 255), cvRound(color[3].b * 255), cvRound(alpha * 255)}},
+             {{cvRound(color[4].r * 255), cvRound(color[4].g * 255), cvRound(color[4].b * 255), cvRound(alpha * 255)}},
++#endif
          };
          
          for (int i = 0; i < (objects ? objects->total : 0); i++)
-@@ -287,14 +287,14 @@ private:
+@@ -287,14 +295,23 @@
                  }
              case 1:
                  {
--                    CvBox2D box = {{center.x, center.y}, {r->width / scale, (r->height / scale) * 1.2}, 90};
++#if (CV_VERSION_EPOCH != 2)
 +                    CvBox2D box = CvBox2D(CvPoint2D32f(center.x, center.y), CvSize2D32f(r->width / scale, (r->height / scale) * 1.2), 90);
++#else
+                     CvBox2D box = {{center.x, center.y}, {r->width / scale, (r->height / scale) * 1.2}, 90};
++#endif
                      cvEllipseBox(image, box, colors[i % 5], thickness, linetype);
                      break;
                  }
              case 2:
                  {
--                    CvPoint pt1 = {r->x / scale, r->y / scale};
--                    CvPoint pt2 = {(r->x + r->width) / scale, (r->y + r->height) / scale};
++#if (CV_VERSION_EPOCH != 2)
 +                    CvPoint pt1 = CvPoint(r->x / scale, r->y / scale);
 +                    CvPoint pt2 = CvPoint((r->x + r->width) / scale, (r->y + r->height) / scale);
++#else
+                     CvPoint pt1 = {r->x / scale, r->y / scale};
+                     CvPoint pt2 = {(r->x + r->width) / scale, (r->y + r->height) / scale};
++#endif
                      cvRectangle(image, pt1, pt2, colors[i % 5], thickness, linetype);
                      break;
                  }