Date: Friday, March 11, 2016 @ 08:03:37 Author: arojas Revision: 166023
opencv 3.1 rebuild Added: frei0r-plugins/trunk/frei0r-plugins-opencv3.patch Modified: frei0r-plugins/trunk/PKGBUILD ------------------------------+ PKGBUILD | 15 +++++++++--- frei0r-plugins-opencv3.patch | 50 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 4 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-03-11 06:52:09 UTC (rev 166022) +++ PKGBUILD 2016-03-11 07:03:37 UTC (rev 166023) @@ -3,7 +3,7 @@ pkgname=frei0r-plugins pkgver=1.4 -pkgrel=3 +pkgrel=4 pkgdesc="A minimalistic plugin API for video sources and filters" arch=(i686 x86_64) url="http://www.piksel.org/frei0r" @@ -11,13 +11,20 @@ depends=('gcc-libs' 'gavl>=1.0.0' 'opencv>=2.4.3') makedepends=('doxygen') options=('!emptydirs') -source=(https://files.dyne.org/frei0r/releases/$pkgname-$pkgver.tar.gz) -md5sums=('202375d1bcb545c1b6eb8f34e0260ec5') +source=(https://files.dyne.org/frei0r/releases/$pkgname-$pkgver.tar.gz frei0r-plugins-opencv3.patch) +md5sums=('202375d1bcb545c1b6eb8f34e0260ec5' + '52d21eee99b5f38a97b905c5243e9143') +prepare() { + cd $pkgname-$pkgver +# Fix build with opencv 3 (Gentoo) + patch -p2 -i ../frei0r-plugins-opencv3.patch +} + build() { cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr - make + make -j1 } package() { Added: frei0r-plugins-opencv3.patch =================================================================== --- frei0r-plugins-opencv3.patch (rev 0) +++ frei0r-plugins-opencv3.patch 2016-03-11 07:03:37 UTC (rev 166023) @@ -0,0 +1,50 @@ +--- ./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 + + 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)), ++ IplImage* small_img = cvCreateImage( cvSize( cvRound ((double)img->width/scale), ++ cvRound ((double)img->height/scale)), + 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: + { + 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)}}, ++ 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)), + }; + + for (int i = 0; i < (objects ? objects->total : 0); i++) +@@ -287,14 +287,14 @@ private: + } + case 1: + { +- CvBox2D box = {{center.x, center.y}, {r->width / scale, (r->height / scale) * 1.2}, 90}; ++ CvBox2D box = CvBox2D(CvPoint2D32f(center.x, center.y), CvSize2D32f(r->width / scale, (r->height / scale) * 1.2), 90); + 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}; ++ CvPoint pt1 = CvPoint(r->x / scale, r->y / scale); ++ CvPoint pt2 = CvPoint((r->x + r->width) / scale, (r->y + r->height) / scale); + cvRectangle(image, pt1, pt2, colors[i % 5], thickness, linetype); + break; + }
