upgrade t0 openexr-2.4.0, fix file probe for openexr
authorGood Guy <good1.2guy@gmail.com>
Fri, 27 Sep 2019 00:39:02 +0000 (18:39 -0600)
committerGood Guy <good1.2guy@gmail.com>
Fri, 27 Sep 2019 00:39:02 +0000 (18:39 -0600)
cinelerra-5.1/cinelerra/file.C
cinelerra-5.1/cinelerra/fileexr.C
cinelerra-5.1/configure.ac
cinelerra-5.1/thirdparty/Makefile
cinelerra-5.1/thirdparty/downloads.txt
cinelerra-5.1/thirdparty/src/openexr-2.4.0.tar.xz [moved from cinelerra-5.1/thirdparty/src/openexr-2.2.1.tar.xz with 57% similarity]

index ad8cf7f..fe5b9f5 100644 (file)
@@ -422,7 +422,7 @@ int File::probe()
                        else continue;
                        return FILE_OK;
                }
-#ifdef HAVE_EXR
+#ifdef HAVE_OPENEXR
                if( !strcmp(pref->name,"EXR") ) { // EXR file
                        if( !FileEXR::check_sig(this->asset, data)) continue;
                        file = new FileEXR(this->asset, this);
index 351da2a..78f339c 100644 (file)
 #include "mwindow.inc"
 #include "vframe.h"
 
-#include "ImfChannelList.h"
-#include "ImfChromaticities.h"
-#include "ImfCompression.h"
-#include "ImfIO.h"
-#include "ImfInputFile.h"
-#include "ImfOutputFile.h"
-#include "ImfPixelType.h"
-#include "ImfRgbaFile.h"
-#include "ImfRgbaYca.h"
-#include "ImfVersion.h"
+#include "OpenEXR/ImfChannelList.h"
+#include "OpenEXR/ImfChromaticities.h"
+#include "OpenEXR/ImfCompression.h"
+#include "OpenEXR/ImfIO.h"
+#include "OpenEXR/ImfInputFile.h"
+#include "OpenEXR/ImfOutputFile.h"
+#include "OpenEXR/ImfPixelType.h"
+#include "OpenEXR/ImfRgbaFile.h"
+#include "OpenEXR/ImfRgbaYca.h"
+#include "OpenEXR/ImfVersion.h"
 
 class EXRIStream : public Imf::IStream
 {
index 7d4cdca..e6ee56a 100644 (file)
@@ -236,15 +236,6 @@ PKG_3RD([giflib],[yes],
   [ libgif.a ],
   [ . ])
 
-PKG_3RD([ilmbase],[auto],
-  [ilmbase-2.2.1],
-  [ Iex/.libs/libIex.a \
-    IexMath/.libs/libIexMath.a \
-    Half/.libs/libHalf.a \
-    Imath/.libs/libImath.a \
-    IlmThread/.libs/libIlmThread.a ],
-  [ Iex Half Imath config IlmThread ])
-
 PKG_DEF([ladspa], [ladspa-0.4.17], [], [])
 
 PKG_3RD([lame],[auto],
@@ -336,10 +327,15 @@ PKG_3RD([mjpegtools],[yes],
   [ .  lavtools utils ])
 
 PKG_3RD([openexr],[auto],
-  [openexr-2.2.1],
-  [ IlmImf/.libs/libIlmImf.a \
-    IlmImfUtil/.libs/libIlmImfUtil.a ],
-  [ IlmImf config ])
+  [openexr-2.4.0],
+  [ build/usr/local/lib/libIlmImfUtil.a \
+    build/usr/local/lib/libIlmImf.a \
+    build/usr/local/lib/libIlmThread.a \
+    build/usr/local/lib/libImath.a \
+    build/usr/local/lib/libIexMath.a \
+    build/usr/local/lib/libIex.a \
+    build/usr/local/lib/libHalf.a ],
+  [ build/usr/local/include ])
 
 #PKG_3RD([festival],[no],
 #  [festival],
@@ -562,8 +558,6 @@ CHECK_LIB([openjpeg], [openjp2], [opj_version])
 CHECK_HEADERS([openjpeg], [openjpeg headers], [openjpeg.h])
 CHECK_LIB([libsndfile], [sndfile], [sf_open])
 CHECK_HEADERS([libsndfile], [sndfile headers], [sndfile.h])
-CHECK_LIB([ilmbase], [IlmImf], [ImfOpenInputFile])
-CHECK_HEADERS([ilmbase], [IlmImf headers], [OpenEXR/ImfCRgbaFile.h])
 CHECK_LIB([libtheora], [theora], [theora_info_init], [-ltheoraenc -ltheoradec -logg])
 CHECK_HEADERS([libtheora], [threora headers], [theora/theoraenc.h])
 CHECK_LIB([libvorbis], [vorbisenc], [vorbis_encode_init], [-lvorbis -lvorbisfile -logg])
@@ -714,8 +708,6 @@ CHECK_WANT([CUDA], [auto], [build cuda plugins], [
 CHECK_WANT([DL], [auto], [system has libdl], [
  CHECK_LIB([DL], [dl], [dlopen])])
 
-CHECK_WANT([EXR], [auto], [use exr], [])
-
 CHECK_WANT([OPENCV], [no], [opencv=sys/sta/dyn,git/tar=url], [
 ])
 
@@ -726,7 +718,6 @@ CHECK_WANT([OPENEXR], [auto], [use openexr], [
  AC_MSG_CHECKING([for openexr available])
  saved_LIBS="$LIBS"
  saved_CXXFLAGS="$CXXFLAGS"
- # ilmbase libs
  LIBS=" -lIlmImf -lIlmThread -lIex -lpthread"
  CXXFLAGS="-I/usr/include/OpenEXR -I/usr/local/include/OpenEXR"
  AC_LANG_PUSH(C++)
@@ -746,8 +737,9 @@ EXRIStream() : Imf::IStream("mypath") {} };
 class EXROStream : public Imf::OStream { public: 
 EXROStream() : Imf::OStream("mypath") {} };
 ]])], [HAVE_OPENEXR=yes], [HAVE_OPENEXR=no])
+ HAVE_openexr="$HAVE_OPENEXR"
  RESULT="$HAVE_OPENEXR"
- if test "x$RESULT" = "xyes"; then
+ if test "x$RESULT" = "xyes" -a "x$WANT_STATIC_BUILD" = "xno"; then
    SHARED_openexr="$LIBS"
    CFG_CFLAGS+=" -I/usr/include/OpenEXR -I/usr/local/include/OpenEXR"
  fi
@@ -796,7 +788,6 @@ for dep in \
         ffmpeg/twolame ffmpeg/lame ffmpeg/openjpeg \
         ffmpeg/libvorbis ffmpeg/libtheora ffmpeg/x264 ffmpeg/x265 \
         libiec61883/libraw1394 libavc1394/librom1394 \
-        openexr/ilmbase ilmbase/libogg \
         libtheora/libogg libtheora/libvorbis ; do
   lib=`dirname $dep`;  needs=`basename $dep`
   eval pkg_lib="\$PKG_$lib"; eval needs_lib="\$HAVE_$needs";
@@ -831,7 +822,6 @@ PKG_PROVIDE([ffmpeg])
 PKG_PROVIDE([fftw])
 PKG_PROVIDE([flac])
 PKG_PROVIDE([giflib])
-PKG_PROVIDE([ilmbase], [$WANT_OPENEXR])
 PKG_PROVIDE([ladspa],[$WANT_LADSPA_BUILD])
 PKG_PROVIDE([lame])
 PKG_PROVIDE([libavc1394],[$WANT_FIREWIRE])
index 846a843..27c3b9a 100644 (file)
@@ -191,9 +191,6 @@ audiofile.mak_params?=LIBS="-lm -lstdc++"
 flac.cfg_params?= --enable-shared=no
 flac.cflags?="$(call inc_path,libogg) $(call ld_path,libogg,src/.libs)"
 giflib.cfg_params=echo "exec true" > ./configure; chmod +x ./configure;
-ilmbase.cfg_vars= CFLAGS+=" -Wno-narrowing" CXXFLAGS+=" -Wno-narrowing"
-ilmbase.cfg_params?=--prefix=$(call bld_path,ilmbase,usr)
-ilmbase.mak_params?=; $(MAKE) -C ilmbase* install; cd $(call bld_path,ilmbase); ln -sf lib64 usr/lib
 lame.cfg_vars?= CFLAGS+=" -O"
 lame.cfg_params?=--enable-shared=no
 lame.mak_params?= ; cd $(call bld_path,lame,include); ln -sf . lame
@@ -235,8 +232,14 @@ openjpeg.cfg_vars?=$(call cmake_config,.)
 openjpeg.mak_params?= ; cd $(call bld_path,openjpeg,src/lib/openjp2); ln -sf . openjpeg-2.1
 opencv.cfg_vars?=$(call cmake_config,.)
 opencv.cfg_params?= -DBUILD_SHARED_LIBS:BOOL=OFF
-openexr.cfg_vars?=LD_LIBRARY_PATH=$(call bld_path,ilmbase,usr/lib)
-openexr.cfg_params?=--enable-shared=no --with-ilmbase-prefix=$(call bld_path,ilmbase,usr)
+openexr.cfg_params?=\
+ -DILMBASE_BUILD_BOTH_STATIC_SHARED:BOOL=ON \
+ -DOPENEXR_BUILD_BOTH_STATIC_SHARED:BOOL=ON \
+ -DILMBASE_LIB_SUFFIX= -DILMBASE_STATIC_LIB_SUFFIX= \
+ -DOPENEXR_LIB_SUFFIX= -DOPENEXR_STATIC_LIB_SUFFIX= \
+ -DCMAKE_INSTALL_LIBDIR=lib
+openexr.cfg_vars?= mkdir build && cd build && $(call cmake_config,..)
+openexr.mak_params?= -C build install DESTDIR=.
 speech_tools.mak_params?=-j1
 tiff.cfg_params+= --enable-shared=no --disable-zstd $(call if_npkg,libwebp,--without-webp)
 twolame.cfg_params?=--enable-shared=no
@@ -318,7 +321,6 @@ $(call rules,$(call std-build,ffmpeg, twolame lame openjpeg opus \
 $(call rules,$(call std-build,fftw))
 $(call rules,$(call std-build,flac,libogg))
 $(call rules,$(call std-build,giflib))
-$(call rules,$(call std-build,ilmbase))
 $(call rules,$(call std-build,ladspa))
 $(call rules,$(call std-build,lame))
 $(call rules,$(call std-build,libaom))
@@ -336,7 +338,7 @@ $(call rules,$(call std-build,libuuid))
 $(call rules,$(call std-build,libvorbis))
 $(call rules,$(call std-build,mjpegtools, libjpeg))
 $(call rules,$(call std-build,opencv))
-$(call rules,$(call std-build,openexr, ilmbase))
+$(call rules,$(call std-build,openexr))
 $(call rules,$(call std-build,openjpeg))
 $(call rules,$(call std-build,opus))
 $(call rules,$(call std-build,speech_tools))
index 142cc17..8bdf6ce 100644 (file)
@@ -1,6 +1,7 @@
 https://www.cybercom.net/~dcoffin/dcraw/dcraw.c
 http://download-mirror.savannah.gnu.org/releases//openexr/ilmbase-2.2.1.tar.gz
 http://gnu.mirrors.pair.com/savannah/savannah//openexr/openexr-2.2.1.tar.gz
+https://github.com/openexr/openexr/releases/tag/v2.4.0
 https://sourceforge.net/projects/opencvlibrary/files/latest/download?source=directory = 3.2.0
 #https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.2.0.tar.gz/download
 http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz
similarity index 57%
rename from cinelerra-5.1/thirdparty/src/openexr-2.2.1.tar.xz
rename to cinelerra-5.1/thirdparty/src/openexr-2.4.0.tar.xz
index 80cc3d6..45745ca 100644 (file)
Binary files a/cinelerra-5.1/thirdparty/src/openexr-2.2.1.tar.xz and b/cinelerra-5.1/thirdparty/src/openexr-2.4.0.tar.xz differ