]> git.pld-linux.org Git - packages/XIMEA.git/commitdiff
- new, probably non-distributable package
authorJakub Bogusz <qboosh@pld-linux.org>
Wed, 1 Feb 2012 17:39:42 +0000 (17:39 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- glib patch to fix C++ type conflicts with current glib 2.x
- gcc patch to convert SSE assembler from intel/masm compiler to gcc syntax

Changed files:
    XIMEA-gcc.patch -> 1.1
    XIMEA-glib.patch -> 1.1
    XIMEA.spec -> 1.1

XIMEA-gcc.patch [new file with mode: 0644]
XIMEA-glib.patch [new file with mode: 0644]
XIMEA.spec [new file with mode: 0644]

diff --git a/XIMEA-gcc.patch b/XIMEA-gcc.patch
new file mode 100644 (file)
index 0000000..bd42ee0
--- /dev/null
@@ -0,0 +1,44 @@
+--- XIMEA-1.04/examples/vaViewer/acquisition.cpp.orig  2011-11-29 22:53:23.000000000 +0100
++++ XIMEA-1.04/examples/vaViewer/acquisition.cpp       2012-02-01 18:16:03.439775467 +0100
+@@ -204,23 +204,24 @@
+                       char * byte_data = surface_p+surface_image.offsets[0]+i*surface_image.pitches[0];
+                       int bitshift = lps->sgf.curBPP - 8;
+                       int cnt = (lps->sgf.curCX * sizeof(WORD)) / 32;
+-                      _asm{
+-                              mov                     esi,            [data]                          ;
+-                              mov                     edi,            [byte_data]                     ;
+-                              movd            xmm2,           [bitshift]                      ;
+-t00:
+-                              movdqa          xmm0,           [esi]           ;
+-                              movdqa          xmm1,           [esi+16]        ;
+-                              psrlw           xmm0,           xmm2                            ;
+-                              psrlw           xmm1,           xmm2                            ;
+-                              packuswb        xmm0,           xmm1                            ;
+-                              movntdq         [edi],          xmm0                            ;
+-                              add                     edi,            16                                      ;
+-                              add                     esi,            32                                      ;
+-
+-                              sub                     [cnt],          1                                       ;
+-                              ja                      t00                                                             ;
+-                      }
++                      __asm__(
++                              "movl (%1), %%esi\n"            // mov esi, [data]
++                              "movl (%2), %%edi\n"            // mov edi, [byte_data]
++                              "movd (%3), %%xmm2\n"           // movd xmm2, [bitshift]
++                      "1:      movdqa (%%esi), %%xmm0\n"      // movdqa xmm0, [esi]
++                              "movdqa $16(%%esi), %%xmm1\n"   // movdqa xmm1, [esi+16]
++                              "psrlw %%xmm2, %%xmm0\n"        // psrlw xmm0, xmm2
++                              "psrlw %%xmm2, %%xmm1\n"        // psrlw xmm1, xmm2
++                              "packuswb %%xmm1, %%xmm0\n"     // packuswb xmm0, xmm1
++                              "movntdq %%xmm0, (%%edi)\n"     // movntdq [edi], xmm0
++                              "addl $16, %%edi\n"             // add edi, 16
++                              "addl $32, %%esi\n"             // add esi, 32
++                              "sub $1, (%0)\n"                // sub [cnt], 1
++                              "ja 1b\n"
++                              : "=&r"(cnt)
++                              : "mr"(data), "mr"(byte_data), "mr"(bitshift)
++                              : "memory", "cc", "esi", "edi"
++                             );
+               } else {
+                       memcpy(surface_p+surface_image.offsets[0]+i*surface_image.pitches[0], (char*)lps->sgf.bp+i*surface_width, surface_width);
+               }
diff --git a/XIMEA-glib.patch b/XIMEA-glib.patch
new file mode 100644 (file)
index 0000000..98bca39
--- /dev/null
@@ -0,0 +1,20 @@
+--- XIMEA-1.04/examples/vaViewer/main.cpp.orig 2011-11-29 22:53:23.000000000 +0100
++++ XIMEA-1.04/examples/vaViewer/main.cpp      2012-02-01 18:36:06.409815747 +0100
+@@ -390,7 +390,7 @@
+                       return TRUE;
+               }
+               startLive();
+-              g_signal_handlers_block_matched(ctrl->mode, G_SIGNAL_MATCH_FUNC, 0, 0, 0, G_CALLBACK(update_mode),0);
++              g_signal_handlers_block_matched(ctrl->mode, G_SIGNAL_MATCH_FUNC, 0, 0, 0, (gpointer)(update_mode),0);
+               while(gtk_combo_box_get_active_text(GTK_COMBO_BOX(ctrl->mode))) {
+                       gtk_combo_box_remove_text(GTK_COMBO_BOX(ctrl->mode), 0);
+                       gtk_combo_box_set_active(GTK_COMBO_BOX(ctrl->mode), 0);
+@@ -402,7 +402,7 @@
+                       gtk_combo_box_append_text(GTK_COMBO_BOX(ctrl->mode), szMode);
+               }
+               gtk_combo_box_set_active(GTK_COMBO_BOX(ctrl->mode), 0);
+-              g_signal_handlers_unblock_matched(ctrl->mode, G_SIGNAL_MATCH_FUNC, 0, 0, 0, G_CALLBACK(update_mode),0);
++              g_signal_handlers_unblock_matched(ctrl->mode, G_SIGNAL_MATCH_FUNC, 0, 0, 0, (gpointer)(update_mode),0);
+       } else {
+               stopLive();
+       }
diff --git a/XIMEA.spec b/XIMEA.spec
new file mode 100644 (file)
index 0000000..b498984
--- /dev/null
@@ -0,0 +1,104 @@
+Summary:       XIMEA API Software Package for Linux
+Summary(pl.UTF-8):     Pakiet XIMEA API dla Linuksa
+Name:          XIMEA
+# see version_LINUX_SP.txt
+Version:       1.04
+Release:       1
+# probably non-distributable: contains some mix of binaries and sources with no licensing information;
+# there is also binary .ko module (probably for some particular Ubuntu kernel) with license=GPL
+# and no sources included
+License:       unknown
+Group:         Libraries
+Source0:       http://www.ximea.com/support/attachments/271/XIMEA_Linux_SP.tgz
+# NoSource0-md5:       2dabc84fe3a9bd5d31f5882c9d0aff21
+NoSource:      0
+Patch0:                %{name}-gcc.patch
+Patch1:                %{name}-glib.patch
+URL:           http://www.ximea.com/support/wiki/currera/XIMEA_Linux_Software_Package
+BuildRequires: gtk+2-devel
+BuildRequires: libva-devel
+BuildRequires: libstdc++-devel
+BuildRequires: pkgconfig
+BuildArch:     %{ix86}
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+XIMEA Linux Software Package contains of
+ * Kernel Driver of CURRERA-R cameras for Ubuntu 10.04
+ * xiAPI
+ * Examples:
+   * xiSample - sample showing basic image acquisition in xiAPI
+   * vaViewer - camera live image viewer for picture check
+
+%description -l pl.UTF-8
+Pakiet XIMEA Linux Software Package składa się z:
+ - modułu jądra dla kamer CURRERA-R dla Ubuntu 10.04
+ - biblioteki xiAPI
+ - przykładów:
+   - xiSample - przykładu pokazującego proste ściąganie obrazu przy
+     użyciu xiAPI
+   - vaViewer - podgląd kamery na żywo
+
+%package devel
+Summary:       Header files for xiAPI library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki xiAPI
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description devel
+Header files for xiAPI library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki xiAPI.
+
+%package viewer
+Summary:       XIMEA vaViewer utility
+Summary(pl.UTF-8):     Narzędzie vaViewer dla urządzeń XIMEA
+Group:         X11/Applications/Graphics
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description viewer
+XIMEA vaViewer utility.
+
+%description viewer -l pl.UTF-8
+Narzędzie vaViewer dla urządzeń XIMEA.
+
+%prep
+%setup -q -c
+%patch0 -p1
+%patch1 -p1
+
+%build
+cd examples/vaViewer
+
+CXXFLAGS="%{rpmcxxflags} %{rpmcppflags} $(pkg-config --cflags libva libva-x11 gtk+-2.0) -I ../../include"
+%{__cxx} $CXXFLAGS -c acquisition.cpp
+%{__cxx} $CXXFLAGS -c main.cpp
+%{__cxx} %{rpmldflags} %{rpmcxxflags} -o vaViewer acquisition.o main.o $(pkg-config --libs libva libva-x11 gtk+-2.0) -L../../api -lm3api
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_libdir},%{_bindir},%{_includedir}/ximea}
+
+cp -p include/*.h $RPM_BUILD_ROOT%{_includedir}/ximea
+install api/libm3api.so $RPM_BUILD_ROOT%{_libdir}
+install examples/vaViewer/vaViewer $RPM_BUILD_ROOT%{_bindir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README
+%attr(755,root,root) %{_libdir}/libm3api.so
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/ximea
+
+%files viewer
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/vaViewer
This page took 0.118525 seconds and 4 git commands to generate.