Hello community,

here is the log from the commit of package frei0r-plugins for openSUSE:Factory 
checked in at 2017-12-12 21:19:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frei0r-plugins (Old)
 and      /work/SRC/openSUSE:Factory/.frei0r-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "frei0r-plugins"

Tue Dec 12 21:19:36 2017 rev:14 rq:556381 version:1.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/frei0r-plugins/frei0r-plugins.changes    
2016-03-05 11:21:39.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.frei0r-plugins.new/frei0r-plugins.changes       
2017-12-12 21:19:38.888047974 +0100
@@ -1,0 +2,32 @@
+Sat Dec  9 14:22:55 UTC 2017 - davejpla...@gmail.com
+
+- Split off plugins built against OpenCV because they cause
+  multiprocessing issues in shotcut and kdenlive. See boo#1068792
+  and https://github.com/mltframework/mlt/issues/274.
+
+-------------------------------------------------------------------
+Wed Dec  6 14:08:29 UTC 2017 - tchva...@suse.com
+
+- Reduce bit operations we do in the spec and convert to pkgconfig
+  dependencies
+- Switch LICENSE to GPL-3.0+ even tho upstream says 2.0+ is enough
+  quite few filters and generators are 3.0+ only
+
+-------------------------------------------------------------------
+Tue Nov 28 06:12:12 UTC 2017 - davejpla...@gmail.com
+
+- Update to version 1.6.1
+- Rebase frei0r-plugins-1.4-missing_include.patch
+- Rebase frei0r-plugins-openCV-3.0-compatibility.patch it is mostly
+  included upstream.
+- Upstream changes:
+  *Minor fixes to the build system. Version correctly updated.
+  *This release contains new filters and some bugfixes to parameters
+   and building environment, documentation is updated accordingly.
+  *New filters (3): bgsubtract0r, glitch0r, rgbsplit0r
+  *Updated (2): Distort0r now mode and velocity, Curves has improved
+   precision.
+  *This release fixes several major bugs in existing plugins and adds
+   one new filter: NDVI (Normalized Difference Vegetation Index).
+
+-------------------------------------------------------------------

Old:
----
  frei0r-plugins-1.4.tar.gz

New:
----
  frei0r-plugins-1.6.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ frei0r-plugins.spec ++++++
--- /var/tmp/diff_new_pack.Hvdfr4/_old  2017-12-12 21:19:39.544016308 +0100
+++ /var/tmp/diff_new_pack.Hvdfr4/_new  2017-12-12 21:19:39.548016115 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package frei0r-plugins
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,40 +17,44 @@
 
 
 Name:           frei0r-plugins
-Version:        1.4
+Version:        1.6.1
 Release:        0
 Summary:        Collection of video sources and filters plugins
-License:        GPL-2.0+
+# Upstream says 2.0+ but quite few of their plugins are GPL-3.0+
+License:        GPL-3.0+
 Group:          Productivity/Multimedia/Video/Editors and Convertors
 Url:            http://frei0r.dyne.org/
-Source:         
http://files.dyne.org/frei0r/releases/frei0r-plugins-%{version}.tar.gz
+Source0:        
http://files.dyne.org/frei0r/releases/frei0r-plugins-%{version}.tar.gz
 # PATCH-FIX-UPSTREAM frei0r-plugins-1.4-missing_include.patch 
http://www.piksel.no/projects/frei0r/ticket/41 reddw...@opensuse.org -- Add 
missing header
 Patch0:         frei0r-plugins-1.4-missing_include.patch
 # PATCH-FIX-UPSTREAM frei0r-plugins-openCV-3.0-compatibility.patch  
tittiatc...@gmail.com -- Make it compile with openCV3. This is a rebase of the 
two usptream commits by Dan Dennedy
 Patch1:         frei0r-plugins-openCV-3.0-compatibility.patch
-BuildRequires:  gcc-c++
-# For the automatic pkgconfig() Provides
 BuildRequires:  autoconf
 BuildRequires:  automake
+BuildRequires:  gcc-c++
 BuildRequires:  libtool
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(cairo) >= 1.0.0
 BuildRequires:  pkgconfig(gavl) >= 0.2.3
-%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
-BuildRequires:  opencv-qt5-devel
-%else
-BuildRequires:  opencv-devel
-%endif
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  pkgconfig(opencv)
 
 %description
 This package provides a collection of video sources and filters plugins,
 using the Frei0r API.
 
+%package opencv
+Summary:        OpenCV video sources and filters plugins
+Group:          Productivity/Multimedia/Video/Editors and Convertors
+Requires:       %{name} = %{version}-%{release}
+
+%description opencv
+These plugins may cause slow exports due to multiprocessing issues
+in kdenlive and shotcut. plugins facebl0r and facedetect.
+See boo#1068792
+
 %package devel
 Summary:        Frei0r plugin API for video sources and filters
 Group:          Development/Libraries/C and C++
-# No Requires on main subpackage as there is no dependency between the two
 
 %description devel
 Frei0r is a minimalistic plugin API for video sources and filters. The
@@ -62,27 +66,28 @@
 %setup -q
 %patch0
 %patch1 -p1
-# Timestamp problem. Remove in next release.
-touch include/config.h.in
 
 %build
-find -name Makefile.in -delete
-autoreconf -fi
+autoreconf -fvi
 %configure
 make %{?_smp_mflags}
 
 %install
 %make_install
-# we'll package the relevant files with %%doc
-rm %{buildroot}%{_datadir}/doc/frei0r-plugins/{AUTHORS,ChangeLog,README,TODO}
+rm 
%{buildroot}%{_datadir}/doc/frei0r-plugins/{AUTHORS.txt,ChangeLog.txt,README.txt,TODO.txt}
 
 %files
-%defattr(-,root,root)
-%doc AUTHORS ChangeLog COPYING README
+%doc AUTHORS.txt ChangeLog.txt COPYING.txt README.txt
 %{_libdir}/frei0r-1/
+%exclude %{_libdir}/frei0r-1/facebl0r.so
+%exclude %{_libdir}/frei0r-1/facedetect.so
+
+%files opencv
+%dir %{_libdir}/frei0r-1
+%{_libdir}/frei0r-1/facebl0r.so
+%{_libdir}/frei0r-1/facedetect.so
 
 %files devel
-%defattr(-,root,root)
 %{_libdir}/pkgconfig/frei0r.pc
 %{_includedir}/frei0r.h
 

++++++ frei0r-plugins-1.4-missing_include.patch ++++++
--- /var/tmp/diff_new_pack.Hvdfr4/_old  2017-12-12 21:19:39.576014763 +0100
+++ /var/tmp/diff_new_pack.Hvdfr4/_new  2017-12-12 21:19:39.576014763 +0100
@@ -1,12 +1,12 @@
 Index: include/frei0r_cairo.h
 ===================================================================
---- include/frei0r_cairo.h.orig
-+++ include/frei0r_cairo.h
+--- include/frei0r_cairo.h.orig        2017-05-31 07:57:25.000000000 +0200
++++ include/frei0r_cairo.h     2017-11-28 07:32:54.492982138 +0200
 @@ -20,6 +20,7 @@
   */
  
  
 +#include <string.h>
  #include <cairo.h>
- 
- /**
+ #include <string.h>
+ #include "frei0r_math.h"

++++++ frei0r-plugins-1.4.tar.gz -> frei0r-plugins-1.6.1.tar.gz ++++++
++++ 40049 lines of diff (skipped)

++++++ frei0r-plugins-openCV-3.0-compatibility.patch ++++++
--- /var/tmp/diff_new_pack.Hvdfr4/_old  2017-12-12 21:19:40.079990434 +0100
+++ /var/tmp/diff_new_pack.Hvdfr4/_new  2017-12-12 21:19:40.079990434 +0100
@@ -4,11 +4,11 @@
  src/filter/facedetect/facedetect.cpp |   19 ++
  3 files changed, 19 insertions(+), 268 deletions(-)
 
-Index: frei0r-plugins-1.4/src/Makefile.am
+Index: frei0r-plugins-1.6.1/src/Makefile.am
 ===================================================================
---- frei0r-plugins-1.4.orig/src/Makefile.am
-+++ frei0r-plugins-1.4/src/Makefile.am
-@@ -153,7 +153,7 @@ facebl0r_la_CFLAGS = @OPENCV_CFLAGS@ @CF
+--- frei0r-plugins-1.6.1.orig/src/Makefile.am  2017-11-28 07:45:05.578831357 
+0200
++++ frei0r-plugins-1.6.1/src/Makefile.am       2017-11-28 07:45:25.475732451 
+0200
+@@ -157,7 +157,7 @@ facebl0r_la_CFLAGS = @OPENCV_CFLAGS@ @CF
  facebl0r_la_LIBADD = @OPENCV_LIBS@
  plugin_LTLIBRARIES += facedetect.la
  facedetect_la_SOURCES = filter/facedetect/facedetect.cpp
@@ -17,281 +17,10 @@
  facedetect_la_LIBADD = @OPENCV_LIBS@
  endif
  
-Index: frei0r-plugins-1.4/src/filter/facedetect/facedetect.c
+Index: frei0r-plugins-1.6.1/src/filter/facedetect/facedetect.cpp
 ===================================================================
---- frei0r-plugins-1.4.orig/src/filter/facedetect/facedetect.c
-+++ /dev/null
-@@ -1,266 +0,0 @@
--/**
-- * binarymillenium 2007
-- *
-- * This code is released under the GPL
-- *
-- * *
-- */
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <assert.h>
--#include <math.h>
--#include <float.h>
--#include <limits.h>
--#include <time.h>
--#include <ctype.h>
--
--
--#include "cv.h"
--//#include "highgui.h"
--
--#include "frei0r.h"
--
--#ifdef _EiC
--#define WIN32
--#endif
--
--
--CvSeq* detect_and_draw( IplImage* img, CvMemStorage* storage,
--                        CvHaarClassifierCascade* cascade);
--
--#ifndef OPENCV_PREFIX
--#error OPENCV_PREFIX must contain the installation prefix of OpenCV
--#endif
--
--#define STR(x) #x
--#define TOSTR(x) STR(x)
--
--static const char* const cascade_name =
--   
TOSTR(OPENCV_PREFIX)"/share/opencv/haarcascades/haarcascade_frontalface_alt2.xml";
--/*    "haarcascade_frontalface_alt.xml";*/
--/*    "haarcascade_profileface.xml";*/
--
--
--typedef struct facedetect_instance{
--
--  IplImage *frame, *frame_copy;
--
--  int width;
--  int height;
--
--  CvMemStorage* storage;
--  CvHaarClassifierCascade* cascade;
--
--} facedetect_instance_t;
--
--int f0r_init()
--{
--  return 1;
--}
--
--f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
--{
--  facedetect_instance_t* inst =
--    (facedetect_instance_t*)malloc(sizeof(facedetect_instance_t));
--
--  inst->width = width;
--  inst->height = height;
--
--  /// tbd - put this in init instead?
--  inst->storage = 0;
--  inst->cascade = 0;
--
--  inst->frame = 0;
--  inst->frame_copy = 0;
--
--  inst->cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );
--    
--  if( !inst->cascade )
--    {
--      fprintf(stderr, "ERROR: Could not load classifier cascade %s\n",
--              cascade_name);
--      free(inst);
--      return (f0r_instance_t)0;
--    }
--  else
--    {
--      inst->storage = cvCreateMemStorage(0);
--
--      //cvNamedWindow( "result", 1 );
--
--      return (f0r_instance_t)inst;
--    }
--}
--
--
--void f0r_deinit()
--{
--}
--
--void f0r_destruct(f0r_instance_t instance)
--{
--  free(instance);
--  //cvDestroyWindow("result");
--}
--
--void f0r_set_param_value(f0r_instance_t instance,
--                         f0r_param_t param, int param_index)
--{
--}
--
--void f0r_get_param_value(f0r_instance_t instance,
--                         f0r_param_t param, int param_index)
--{
--}
--
--void f0r_get_plugin_info(f0r_plugin_info_t* facedetectInfo)
--{
--  facedetectInfo->name = "opencvfacedetect";
--  facedetectInfo->author = "binarymillenium";
--  facedetectInfo->plugin_type = F0R_PLUGIN_TYPE_FILTER;
--  facedetectInfo->color_model = F0R_COLOR_MODEL_BGRA8888;
--  facedetectInfo->frei0r_version = FREI0R_MAJOR_VERSION;
--  facedetectInfo->major_version = 0;
--  facedetectInfo->minor_version = 1;
--  facedetectInfo->num_params =  1;
--  facedetectInfo->explanation = "detect faces";
--}
--
--void f0r_get_param_info(f0r_param_info_t* info, int param_index)
--{
--  switch(param_index)
--    {
--    case 0:
--      info->name = "test";
--      info->type = F0R_PARAM_DOUBLE;
--      info->explanation = "test";
--      break;
--    }
--
--}
--
--void f0r_update(f0r_instance_t instance, double time,
--                const uint32_t* inframe, uint32_t* outframe)
--{
--  assert(instance);
--
--  facedetect_instance_t* inst = (facedetect_instance_t*)instance;
--
--  unsigned char* dst = (unsigned char*)outframe;
--  const unsigned char* src = (unsigned char*)inframe;
--
--
--  if( !inst->frame_copy )
--    inst->frame_copy = cvCreateImage( cvSize(inst->width,inst->height),
--                                      IPL_DEPTH_8U, 4 );
--
--  unsigned char* ipli = (unsigned char*)inst->frame_copy->imageData;
--  int step = inst->frame_copy->widthStep;
--  unsigned i, j;
--  for (i = 0; (i < inst->height); i++) {
--    for (j = 0; (j < inst->width); j++) {
--      ipli[i*step+j*4+2] = src[2];
--      ipli[i*step+j*4+1] = src[1];
--      ipli[i*step+j*4+0] = src[0];
--
--      //ipli += 4;
--      src += 4;
--
--    }
--
--  }
--
--  /*CvSeq* faces =*/ detect_and_draw( inst->frame_copy,
--                                  inst->storage,
--                                  inst->cascade );
--
--  ipli = (unsigned char*)inst->frame_copy->imageData;
--
--  for (i = 0; (i < inst->height); i++) {
--    for (j = 0; (j < inst->width); j++) {
--      dst[2] = ipli[2];
--      dst[1] = ipli[1];
--      dst[0] = ipli[0];
--
--      ipli += 4;
--      dst += 4;
--    }
--  }
--
--  cvReleaseImage( &(inst->frame_copy) );
--
--}
--
--CvSeq* detect_and_draw( IplImage* img, CvMemStorage* storage,
--                        CvHaarClassifierCascade* cascade)
--{
--  static CvScalar colors[] =
--    {
--      {{255,255,255}},
--      {{0,128,255}},
--      {{0,255,255}},
--      {{0,255,0}},
--      {{255,128,0}},
--      {{255,255,0}},
--      {{255,0,0}},
--      {{255,0,255}},
--      {{0,0,0}}
--    };
--
--  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)),
--                                       8, 1 );
--  int i;
--
--  cvCvtColor( img, gray, CV_BGR2GRAY );
--  cvResize( gray, small_img, CV_INTER_LINEAR );
--  cvEqualizeHist( small_img, small_img );
--  //cvClearMemStorage( storage );
--
--  CvSeq* faces = 0;
--
--  if( cascade )
--    {
--      double t = (double)cvGetTickCount();
--      faces = cvHaarDetectObjects( small_img, cascade, storage,
--                                   1.1, 2, 0/*CV_HAAR_DO_CANNY_PRUNING*/,
--                                   cvSize(30, 30) );
--      t = (double)cvGetTickCount() - t;
--      //printf( "detection time = %gms\n", 
t/((double)cvGetTickFrequency()*1000.) );
--
--      CvPoint pt1, pt2;
--      pt1.x = 0;
--      pt1.y = 0;
--      pt2.x = img->width;
--      pt2.y = img->height;
--      cvRectangle( img, pt1, pt2, colors[8],CV_FILLED, 8, 0 );
--
--      for( i = 0; i < (faces ? faces->total : 0); i++ )
--        {
--          CvRect* r = (CvRect*)cvGetSeqElem( faces, i );
--          CvPoint center;
--          int radius;
--          center.x = cvRound((r->x + r->width*0.5)*scale);
--          center.y = cvRound((r->y + r->height*0.5)*scale);
--          radius = cvRound((r->width + r->height)*0.25*scale);
--
--          pt1.x = r->x;// - r->width*0.5; 
--          pt1.y = r->y;// - r->height*0.5; 
--          pt2.x = r->x + r->width;
--          pt2.y = r->y + r->height;
--          //printf( " faces %d %d \n",  center.x, center.y);
--          cvCircle( img, center, radius, colors[i%8],CV_FILLED, 8, 0); // 3, 
8, 0 );
--          //cvRectangle( img, pt1, pt2, colors[i%8], CV_FILLED );
--        }
--    }
--
--  //cvShowImage( "result", img );
--  cvReleaseImage( &gray );
--  cvReleaseImage( &small_img );
--
--  return faces;
--}
-Index: frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp
-===================================================================
---- frei0r-plugins-1.4.orig/src/filter/facedetect/facedetect.cpp
-+++ frei0r-plugins-1.4/src/filter/facedetect/facedetect.cpp
+--- frei0r-plugins-1.6.1.orig/src/filter/facedetect/facedetect.cpp     
2017-11-28 07:45:05.578831357 +0200
++++ frei0r-plugins-1.6.1/src/filter/facedetect/facedetect.cpp  2017-11-28 
07:45:25.475732451 +0200
 @@ -25,7 +25,7 @@
  #include <limits.h>
  #include <time.h>
@@ -301,47 +30,3 @@
  #include "frei0r.hpp"
  #include "frei0r_math.h"
  
-@@ -259,11 +259,19 @@ private:
-     {
-         double scale = this->scale == 0? 1.0 : this->scale;
-         CvScalar colors[5] = {
-+#if defined(CV_MAJOR_VERSION) && (CV_MAJOR_VERSION >= 3)
-+            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 +295,23 @@ private:
-                 }
-             case 1:
-                 {
-+#if defined(CV_MAJOR_VERSION) && (CV_MAJOR_VERSION >= 3)
-+                    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:
-                 {
-+#if defined(CV_MAJOR_VERSION) && (CV_MAJOR_VERSION >= 3)
-+                    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;
-                 }


Reply via email to