[packages/OpenColorIO] - updated to 2.2.1; bootstrap release 0.1

qboosh qboosh at pld-linux.org
Mon Mar 20 21:46:02 CET 2023


commit 52901ddc2c37452e2251356a7e34b315967c00ef
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Mar 20 21:48:12 2023 +0100

    - updated to 2.2.1; bootstrap release 0.1

 OpenColorIO-java.patch | 338 +++++++++++++++++++++++++++++++++++++++++++++++++
 OpenColorIO.spec       | 103 ++++++++++-----
 2 files changed, 406 insertions(+), 35 deletions(-)
---
diff --git a/OpenColorIO.spec b/OpenColorIO.spec
index 4250ad6..7af8921 100644
--- a/OpenColorIO.spec
+++ b/OpenColorIO.spec
@@ -1,55 +1,73 @@
-# TODO (proprietary?):
-# - truelight http://www.filmlight.ltd.uk/products/truelight/overview_tl.php
-# - nuke: http://docs.thefoundry.co.uk/products/nuke/
+# TODO:
+# - OpenFX plugin
+# - truelight http://www.filmlight.ltd.uk/products/truelight/overview_tl.php (proprietary?)
+# - nuke: http://docs.thefoundry.co.uk/products/nuke/ (proprietary)
 #
 # Conditional build:
-%bcond_without	oiio	# OpenImageIO-dependent apps (ocioconvert,ociodisplay)
+%bcond_without	oiio	# use OpenImageIO in apps (ocioconvert,ociodisplay,ociolutimage) instead of OpenEXR
 %bcond_without	opengl	# OpenGL-dependent app (ociodisplay)
-%bcond_with	java	# JNI glue
-%bcond_with	doc	# documentation
+%bcond_with	java	# JNI glue (outdated as of 2.2.1)
+%bcond_without	doc	# documentation
 %bcond_with	sse2	# use SSE2 instructions
 #
-%ifarch %{x8664} pentrium4
+%ifarch %{x8664} pentium4 x32
 %define	with_sse2	1
 %endif
 Summary:	Complete color management solution
 Summary(pl.UTF-8):	Kompletny pakiet do zarządzania kolorami
 Name:		OpenColorIO
-Version:	2.1.1
-Release:	4
+Version:	2.2.1
+Release:	0.1
 License:	BSD
 Group:		Libraries
 #Source0Download: https://github.com/imageworks/OpenColorIO/releases
 Source0:	https://github.com/imageworks/OpenColorIO/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	604f562e073f23d88ce89ed4f7f709ba
+# Source0-md5:	372d6982cf01818a21a12f9628701a91
+Patch0:		%{name}-java.patch
 URL:		http://opencolorio.org/
 BuildRequires:	Imath-devel >= 3.1.2
-BuildRequires:	cmake >= 2.8
+BuildRequires:	OpenEXR-devel >= 3.0
+BuildRequires:	cmake >= 3.12
+BuildRequires:	expat-devel >= 2.4.1
 %{?with_java:BuildRequires:	jdk}
-BuildRequires:	libstdc++-devel >= 6:4.7
+BuildRequires:	libstdc++-devel >= 6:5
+BuildRequires:	minizip-ng-devel >= 3.0.7
 BuildRequires:	pkgconfig
-BuildRequires:	pystring-devel
+BuildRequires:	pystring-devel >= 1.1.3
 BuildRequires:	python3-devel
-BuildRequires:	python3-pybind11 >= 2.6.1
+BuildRequires:	python3-pybind11 >= 2.9.2
+BuildRequires:	rpm-build >= 4.6
+BuildRequires:	rpmbuild(macros) >= 1.742
+BuildRequires:	tinyxml-devel >= 2.6.1
+BuildRequires:	yaml-cpp-devel >= 0.7.0
+BuildRequires:	zlib-devel >= 1.2.13
 %if %{with doc}
+BuildRequires:	python3-breathe
 BuildRequires:	python3-recommonmark
+BuildRequires:	python3-six
+BuildRequires:	python3-sphinx_press_theme
+BuildRequires:	python3-sphinx_tabs
 BuildRequires:	python3-testresources
 BuildRequires:	sphinx-pdg >= 1.1
 %endif
-BuildRequires:	tinyxml-devel >= 2.6.1
-BuildRequires:	yaml-cpp-devel >= 0.3.0
 %if %{with opengl}
+BuildRequires:	OpenGL-GLX-devel
 BuildRequires:	OpenGL-devel
 BuildRequires:	OpenGL-glut-devel
 BuildRequires:	glew-devel >= 1.5.1
 %endif
 %if %{with oiio}
-BuildRequires:	OpenImageIO-devel
-BuildRequires:	lcms2-devel >= 2.1
+BuildRequires:	OpenImageIO-devel >= 2.2.14
+BuildRequires:	lcms2-devel >= 2.2
 %endif
-BuildRequires:	rpmbuild(macros) >= 1.742
+Requires:	expat >= 2.4.1
+Requires:	minizip-ng >= 3.0.7
 Requires:	tinyxml >= 2.6.1
-Requires:	yaml-cpp >= 0.3.0
+Requires:	yaml-cpp >= 0.7.0
+Requires:	zlib >= 1.2.13
+%if %{without java}
+Obsoletes:	java-OpenColorIO < 2
+%endif
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -77,7 +95,7 @@ Summary:	OpenColorIO convert tool
 Summary(pl.UTF-8):	Narzędzie OpenColorIO do konwersji
 Group:		Applications/Graphics
 Requires:	%{name} = %{version}-%{release}
-Requires:	lcms2 >= 2.1
+Requires:	lcms2 >= 2.2
 
 %description convert
 OpenColorIO convert tool.
@@ -102,7 +120,7 @@ Summary:	Header files for OpenColorIO library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki OpenColorIO
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	libstdc++-devel
+Requires:	libstdc++-devel >= 6:5
 
 %description devel
 Header files for OpenColorIO library.
@@ -110,6 +128,18 @@ Header files for OpenColorIO library.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki OpenColorIO.
 
+%package apidocs
+Summary:	API documentation for OpenColorIO library
+Summary(pl.UTF-8):	Dokumentacja API biblioteki OpenColorIO
+Group:		Documentation
+BuildArch:	noarch
+
+%description apidocs
+API documentation for OpenColorIO library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki OpenColorIO.
+
 %package -n java-OpenColorIO
 Summary:	Java binding for OpenColorIO library
 Summary(pl.UTF-8):	Wiązanie Javy do biblioteki OpenColorIO
@@ -136,6 +166,7 @@ Wiązanie Pythona do biblioteki OpenColorIO.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 # required for cmake to find JNI headers/libs when lib64 is in use
@@ -146,13 +177,10 @@ cd build
 %cmake .. \
 	-DCMAKE_CONFIGURATION_TYPES=PLD \
 	-DCMAKE_CXX_STANDARD=14 \
-	%cmake_on_off doc OCIO_BUILD_DOCS \
-	%cmake_on_off java OCIO_BUILD_JAVA \
-	%{!?with_oiio:-DDISABLE_OIIO=ON} \
-	%{!?with_sse2:-DOCIO_USE_SSE=OFF} \
-	-DUSE_EXTERNAL_LCMS=ON \
-	-DUSE_EXTERNAL_TINYXML=ON \
-	-DUSE_EXTERNAL_YAML=ON
+	%{cmake_on_off doc OCIO_BUILD_DOCS} \
+	%{cmake_on_off java OCIO_BUILD_JAVA} \
+	%{?with_oiio:-DOCIO_USE_OIIO_FOR_APPS=ON} \
+	%{!?with_sse2:-DOCIO_USE_SSE=OFF}
 
 %{__make}
 
@@ -164,6 +192,8 @@ rm -rf $RPM_BUILD_ROOT
 
 # not needed when installing to /usr
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/ocio/setup_ocio.sh
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/OpenColorIO
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -180,23 +210,22 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc CHANGELOG.md LICENSE README.md
+%attr(755,root,root) %{_bindir}/ocioarchive
 %attr(755,root,root) %{_bindir}/ociobakelut
 %attr(755,root,root) %{_bindir}/ociocheck
 %attr(755,root,root) %{_bindir}/ociochecklut
 %attr(755,root,root) %{_bindir}/ociomakeclf
+%attr(755,root,root) %{_bindir}/ocioperf
 %attr(755,root,root) %{_bindir}/ociowrite
 %attr(755,root,root) %{_libdir}/libOpenColorIO.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libOpenColorIO.so.2.1
+%attr(755,root,root) %ghost %{_libdir}/libOpenColorIO.so.2.2
 
-%if %{with oiio}
 %files convert
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/ocioconvert
 %attr(755,root,root) %{_bindir}/ociolutimage
-%attr(755,root,root) %{_bindir}/ocioperf
-%endif
 
-%if %{with oiio} && %{with opengl}
+%if %{with opengl}
 %files display
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/ociodisplay
@@ -204,14 +233,18 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(644,root,root,755)
-%{?with_doc:%doc build/docs/build-html/*}
 %attr(755,root,root) %{_libdir}/libOpenColorIO.so
+%{_libdir}/libOpenColorIOimageioapphelpers.a
 %{_libdir}/libOpenColorIOoglapphelpers.a
 %{?with_oiio:%{_libdir}/libOpenColorIOoiiohelpers.a}
 %{_includedir}/OpenColorIO
 %{_pkgconfigdir}/OpenColorIO.pc
 %{_libdir}/cmake/OpenColorIO
 
+%files apidocs
+%defattr(644,root,root,755)
+%doc build/docs/build-html/{_images,_static,api,aswf,concepts,configurations,guides,quick_start,releases,tutorials,*.html,*.js}
+
 %if %{with java}
 %files -n java-OpenColorIO
 %defattr(644,root,root,755)
diff --git a/OpenColorIO-java.patch b/OpenColorIO-java.patch
new file mode 100644
index 0000000..304a9c4
--- /dev/null
+++ b/OpenColorIO-java.patch
@@ -0,0 +1,338 @@
+--- OpenColorIO-2.2.1/src/bindings/java/CMakeLists.txt.orig	2023-01-06 03:05:59.000000000 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/CMakeLists.txt	2023-03-18 13:52:31.360067889 +0100
+@@ -122,7 +122,7 @@ add_custom_command(OUTPUT ${JNIOCIO_HEAD
+ 	COMMENT "Compiling .java files and creating jni C headers"
+ )
+ add_custom_command(OUTPUT ${JNIOCIO_JAR}
+-	COMMAND ${Java_JAVAH_EXECUTABLE} -jni -force ${JNIOCIO_CLASSES}
++	COMMAND ${Java_JAVAH_EXECUTABLE} -jni -force -cp ${CMAKE_CURRENT_BINARY_DIR} ${JNIOCIO_CLASSES}
+ 	COMMAND ${Java_JAR_EXECUTABLE} vcfm ${JNIOCIO_JAR} Manifest.txt org
+ 	DEPENDS ${JNIOCIO_HEADERS} JNI-directory
+ 	WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+--- OpenColorIO-2.2.1/src/bindings/java/Manifest.txt.in.orig	2023-01-06 03:05:59.000000000 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/Manifest.txt.in	2023-03-18 14:11:32.890550354 +0100
+@@ -1,6 +1,3 @@
+-# SPDX-License-Identifier: BSD-3-Clause
+-# Copyright Contributors to the OpenColorIO Project.
+-
+ Name: org/OpenColorIO/
+ Specification-Title: OpenColorIO - Open Source Color Management
+ Specification-Version: @OpenColorIO_VERSION@
+--- OpenColorIO-2.2.1/src/bindings/java/JNIUtil.h.orig	2023-01-06 03:05:59.000000000 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/JNIUtil.h	2023-03-18 21:41:48.937525222 +0100
+@@ -41,7 +41,7 @@ typedef JObject <ConstTransformRcPtr, Tr
+ typedef JObject <ConstAllocationTransformRcPtr, AllocationTransformRcPtr> AllocationTransformJNI;
+ typedef JObject <ConstCDLTransformRcPtr, CDLTransformRcPtr> CDLTransformJNI;
+ typedef JObject <ConstColorSpaceTransformRcPtr, ColorSpaceTransformRcPtr> ColorSpaceTransformJNI;
+-typedef JObject <ConstDisplayTransformRcPtr, DisplayTransformRcPtr> DisplayTransformJNI;
++typedef JObject <ConstDisplayViewTransformRcPtr, DisplayViewTransformRcPtr> DisplayViewTransformJNI;
+ typedef JObject <ConstExponentTransformRcPtr, ExponentTransformRcPtr> ExponentTransformJNI;
+ typedef JObject <ConstFileTransformRcPtr, FileTransformRcPtr> FileTransformJNI;
+ typedef JObject <ConstGroupTransformRcPtr, GroupTransformRcPtr> GroupTransformJNI;
+@@ -197,6 +197,52 @@ private:
+     jfloatArray m_val;
+ };
+ 
++class GetJDoubleArrayValue
++{
++public:
++    GetJDoubleArrayValue(JNIEnv* env, jdoubleArray val, const char* name, int32_t len) {
++        CheckArrayLength(env, name, val, len);
++        m_env = env;
++        m_val = val;
++        if(val != NULL) m_ptr = env->GetDoubleArrayElements(val, JNI_FALSE);
++    }
++    ~GetJDoubleArrayValue() {
++        if(m_val != NULL) m_env->ReleaseDoubleArrayElements(m_val, m_ptr, JNI_FALSE);
++        m_val = NULL;
++        m_ptr = NULL;
++    }
++    jdouble* operator() () {
++        return m_ptr;
++    }
++private:
++    JNIEnv* m_env;
++    jdouble* m_ptr;
++    jdoubleArray m_val;
++};
++
++class SetJDoubleArrayValue
++{
++public:
++    SetJDoubleArrayValue(JNIEnv* env, jdoubleArray val, const char* name, int32_t len) {
++        CheckArrayLength(env, name, val, len);
++        m_env = env;
++        m_val = val;
++        if(val != NULL) m_tmp.resize(len);
++    }
++    ~SetJDoubleArrayValue() {
++        if(m_val != NULL) m_env->SetDoubleArrayRegion(m_val, 0, m_tmp.size(), &m_tmp[0]);
++        m_val = NULL;
++        m_tmp.clear();
++    }
++    double* operator() () {
++        return &m_tmp[0];
++    }
++private:
++    JNIEnv* m_env;
++    std::vector<double> m_tmp;
++    jdoubleArray m_val;
++};
++
+ class GetJIntArrayValue
+ {
+ public:
+--- OpenColorIO-2.2.1/src/bindings/java/JNIBaker.cpp.orig	2023-01-06 03:05:59.000000000 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/JNIBaker.cpp	2023-03-18 20:05:24.725527655 +0100
+@@ -75,42 +75,6 @@ Java_org_OpenColorIO_Baker_getFormat(JNI
+ }
+ 
+ JNIEXPORT void JNICALL
+-Java_org_OpenColorIO_Baker_setType(JNIEnv * env, jobject self, jstring type)
+-{
+-    OCIO_JNITRY_ENTER()
+-    BakerRcPtr bake = GetEditableJOCIO<BakerRcPtr, BakerJNI>(env, self);
+-    bake->setType(GetJStringValue(env, type)());
+-    OCIO_JNITRY_EXIT()
+-}
+-
+-JNIEXPORT jstring JNICALL
+-Java_org_OpenColorIO_Baker_getType(JNIEnv * env, jobject self)
+-{
+-    OCIO_JNITRY_ENTER()
+-    ConstBakerRcPtr bake = GetConstJOCIO<ConstBakerRcPtr, BakerJNI>(env, self);
+-    return env->NewStringUTF(bake->getType());
+-    OCIO_JNITRY_EXIT(NULL)
+-}
+-
+-JNIEXPORT void JNICALL
+-Java_org_OpenColorIO_Baker_setMetadata(JNIEnv * env, jobject self, jstring metadata)
+-{
+-    OCIO_JNITRY_ENTER()
+-    BakerRcPtr bake = GetEditableJOCIO<BakerRcPtr, BakerJNI>(env, self);
+-    bake->setMetadata(GetJStringValue(env, metadata)());
+-    OCIO_JNITRY_EXIT()
+-}
+-
+-JNIEXPORT jstring JNICALL
+-Java_org_OpenColorIO_Baker_getMetadata(JNIEnv * env, jobject self)
+-{
+-    OCIO_JNITRY_ENTER()
+-    ConstBakerRcPtr bake = GetConstJOCIO<ConstBakerRcPtr, BakerJNI>(env, self);
+-    return env->NewStringUTF(bake->getMetadata());
+-    OCIO_JNITRY_EXIT(NULL)
+-}
+-
+-JNIEXPORT void JNICALL
+ Java_org_OpenColorIO_Baker_setInputSpace(JNIEnv * env, jobject self, jstring inputSpace)
+ {
+     OCIO_JNITRY_ENTER()
+--- OpenColorIO-2.2.1/src/bindings/java/JNIConfig.cpp.orig	2023-03-19 08:32:19.096080705 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/JNIConfig.cpp	2023-03-19 08:32:21.976065103 +0100
+@@ -390,21 +390,21 @@ Java_org_OpenColorIO_Config_getView(JNIE
+ }
+ 
+ JNIEXPORT jstring JNICALL
+-Java_org_OpenColorIO_Config_getDisplayColorSpaceName(JNIEnv * env, jobject self, jstring display, jstring view)
++Java_org_OpenColorIO_Config_getDisplayViewColorSpaceName(JNIEnv * env, jobject self, jstring display, jstring view)
+ {
+     OCIO_JNITRY_ENTER()
+     ConstConfigRcPtr cfg = GetConstJOCIO<ConstConfigRcPtr, ConfigJNI>(env, self);
+-    return env->NewStringUTF(cfg->getDisplayColorSpaceName(GetJStringValue(env, display)(),
++    return env->NewStringUTF(cfg->getDisplayViewColorSpaceName(GetJStringValue(env, display)(),
+                                                            GetJStringValue(env, view)()));
+     OCIO_JNITRY_EXIT(NULL)
+ }
+ 
+ JNIEXPORT jstring JNICALL
+-Java_org_OpenColorIO_Config_getDisplayLooks(JNIEnv * env, jobject self, jstring display, jstring view)
++Java_org_OpenColorIO_Config_getDisplayViewLooks(JNIEnv * env, jobject self, jstring display, jstring view)
+ {
+     OCIO_JNITRY_ENTER()
+     ConstConfigRcPtr cfg = GetConstJOCIO<ConstConfigRcPtr, ConfigJNI>(env, self);
+-    return env->NewStringUTF(cfg->getDisplayLooks(GetJStringValue(env, display)(),
++    return env->NewStringUTF(cfg->getDisplayViewLooks(GetJStringValue(env, display)(),
+                                                   GetJStringValue(env, view)()));
+     OCIO_JNITRY_EXIT(NULL)
+ }
+@@ -471,20 +471,20 @@ Java_org_OpenColorIO_Config_getActiveVie
+ }
+ 
+ JNIEXPORT void JNICALL
+-Java_org_OpenColorIO_Config_getDefaultLumaCoefs(JNIEnv * env, jobject self, jfloatArray rgb)
++Java_org_OpenColorIO_Config_getDefaultLumaCoefs(JNIEnv * env, jobject self, jdoubleArray rgb)
+ {
+     OCIO_JNITRY_ENTER()
+     ConstConfigRcPtr cfg = GetConstJOCIO<ConstConfigRcPtr, ConfigJNI>(env, self);
+-    cfg->getDefaultLumaCoefs(SetJFloatArrayValue(env, rgb, "rgb", 3)());
++    cfg->getDefaultLumaCoefs(SetJDoubleArrayValue(env, rgb, "rgb", 3)());
+     OCIO_JNITRY_EXIT()
+ }
+ 
+ JNIEXPORT void JNICALL
+-Java_org_OpenColorIO_Config_setDefaultLumaCoefs(JNIEnv * env, jobject self, jfloatArray rgb)
++Java_org_OpenColorIO_Config_setDefaultLumaCoefs(JNIEnv * env, jobject self, jdoubleArray rgb)
+ {
+     OCIO_JNITRY_ENTER()
+     ConfigRcPtr cfg = GetEditableJOCIO<ConfigRcPtr, ConfigJNI>(env, self);
+-    cfg->setDefaultLumaCoefs(GetJFloatArrayValue(env, rgb, "rgb", 3)());
++    cfg->setDefaultLumaCoefs(GetJDoubleArrayValue(env, rgb, "rgb", 3)());
+     OCIO_JNITRY_EXIT()
+ }
+ 
+--- OpenColorIO-2.2.1/src/bindings/java/JNIGlobals.cpp.orig	2023-01-06 03:05:59.000000000 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/JNIGlobals.cpp	2023-03-19 20:10:46.705714386 +0100
+@@ -209,14 +209,6 @@ Java_org_OpenColorIO_Globals_CombineTran
+ 
+ // ColorSpaceDirection
+ 
+-JNIEXPORT jstring JNICALL
+-Java_org_OpenColorIO_ColorSpaceDirection_toString(JNIEnv * env, jobject self) {
+-    OCIO_JNITRY_ENTER()
+-    return env->NewStringUTF(
+-      ColorSpaceDirectionToString(GetJEnum<ColorSpaceDirection>(env, self)));
+-    OCIO_JNITRY_EXIT(NULL)
+-}
+-
+ JNIEXPORT jboolean JNICALL
+ Java_org_OpenColorIO_ColorSpaceDirection_equals(JNIEnv * env, jobject self, jobject obj) {
+     OCIO_JNITRY_ENTER()
+@@ -225,22 +217,6 @@ Java_org_OpenColorIO_ColorSpaceDirection
+     OCIO_JNITRY_EXIT(false)
+ }
+ 
+-JNIEXPORT jstring JNICALL
+-Java_org_OpenColorIO_Globals_ColorSpaceDirectionToString(JNIEnv * env, jobject, jobject dir) {
+-    OCIO_JNITRY_ENTER()
+-    return env->NewStringUTF(
+-      ColorSpaceDirectionToString(GetJEnum<ColorSpaceDirection>(env, dir)));
+-    OCIO_JNITRY_EXIT(NULL)
+-}
+-
+-JNIEXPORT jobject JNICALL
+-Java_org_OpenColorIO_Globals_ColorSpaceDirectionFromString(JNIEnv * env, jobject, jstring s) {
+-    OCIO_JNITRY_ENTER()
+-    return BuildJEnum(env, "org/OpenColorIO/ColorSpaceDirection",
+-             ColorSpaceDirectionFromString(GetJStringValue(env, s)()));
+-    OCIO_JNITRY_EXIT(NULL)
+-}
+-
+ // BitDepth
+ 
+ JNIEXPORT jstring JNICALL
+--- OpenColorIO-2.2.1/src/bindings/java/JNIGpuShaderDesc.cpp.orig	2023-01-06 03:05:59.000000000 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/JNIGpuShaderDesc.cpp	2023-03-19 21:32:20.619201781 +0100
+@@ -9,16 +9,6 @@
+ #include "JNIUtil.h"
+ using namespace OCIO_NAMESPACE;
+ 
+-namespace
+-{
+-
+-void GpuShaderDesc_deleter(GpuShaderDesc* d)
+-{
+-    delete d;
+-}
+-
+-}; // end anon namespace
+-
+ JNIEXPORT void JNICALL
+ Java_org_OpenColorIO_GpuShaderDesc_create(JNIEnv * env, jobject self) {
+     OCIO_JNITRY_ENTER()
+@@ -26,7 +16,7 @@ Java_org_OpenColorIO_GpuShaderDesc_creat
+     jnistruct->back_ptr = env->NewGlobalRef(self);
+     jnistruct->constcppobj = new ConstGpuShaderDescRcPtr();
+     jnistruct->cppobj = new GpuShaderDescRcPtr();
+-    *jnistruct->cppobj = GpuShaderDescRcPtr(new GpuShaderDesc(), &GpuShaderDesc_deleter);
++    *jnistruct->cppobj = GpuShaderDesc::CreateShaderDesc();
+     jnistruct->isconst = false;
+     jclass wclass = env->GetObjectClass(self);
+     jfieldID fid = env->GetFieldID(wclass, "m_impl", "J");
+@@ -75,22 +65,6 @@ Java_org_OpenColorIO_GpuShaderDesc_getFu
+     OCIO_JNITRY_EXIT(NULL)
+ }
+ 
+-JNIEXPORT void JNICALL
+-Java_org_OpenColorIO_GpuShaderDesc_setLut3DEdgeLen(JNIEnv * env, jobject self, jint len) {
+-    OCIO_JNITRY_ENTER()
+-    GpuShaderDescRcPtr ptr = GetEditableJOCIO<GpuShaderDescRcPtr, GpuShaderDescJNI>(env, self);
+-    ptr->setLut3DEdgeLen((int)len);
+-    OCIO_JNITRY_EXIT()
+-}
+-
+-JNIEXPORT jint JNICALL
+-Java_org_OpenColorIO_GpuShaderDesc_getLut3DEdgeLen(JNIEnv * env, jobject self) {
+-    OCIO_JNITRY_ENTER()
+-    ConstGpuShaderDescRcPtr ptr = GetConstJOCIO<ConstGpuShaderDescRcPtr, GpuShaderDescJNI>(env, self);
+-    return (jint)ptr->getLut3DEdgeLen();
+-    OCIO_JNITRY_EXIT(0)
+-}
+-
+ JNIEXPORT jstring JNICALL
+ Java_org_OpenColorIO_GpuShaderDesc_getCacheID(JNIEnv * env, jobject self) {
+     OCIO_JNITRY_ENTER()
+--- OpenColorIO-2.2.1/src/bindings/java/JNIImageDesc.cpp.orig	2023-01-06 03:05:59.000000000 +0100
++++ OpenColorIO-2.2.1/src/bindings/java/JNIImageDesc.cpp	2023-03-19 21:52:08.522766355 +0100
+@@ -55,7 +55,7 @@ Java_org_OpenColorIO_PackedImageDesc_cre
+     jnistruct->constcppobj = new ConstImageDescRcPtr();
+     jnistruct->cppobj = new ImageDescRcPtr();
+     *jnistruct->cppobj = ImageDescRcPtr(new PackedImageDesc(_data, (long)width,
+-        (long)height, (long)numChannels, (long)chanStrideBytes, (long) xStrideBytes,
++        (long)height, (long)numChannels, BIT_DEPTH_F32, (long)chanStrideBytes, (long) xStrideBytes,
+         (long)yStrideBytes), &ImageDesc_deleter);
+     jnistruct->isconst = false;
+     jclass wclass = env->GetObjectClass(self);
+@@ -79,7 +79,7 @@ Java_org_OpenColorIO_PackedImageDesc_get
+     ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
+     ConstPackedImageDescRcPtr ptr = DynamicPtrCast<const PackedImageDesc>(img);
+     int size = ptr->getWidth() * ptr->getHeight() * ptr->getNumChannels();
+-    return NewJFloatBuffer(env, ptr->getData(), size);
++    return NewJFloatBuffer(env, static_cast<float*>(ptr->getData()), size);
+     OCIO_JNITRY_EXIT(NULL)
+ }
+ 
+@@ -201,7 +201,7 @@ JNICALL Java_org_OpenColorIO_PlanarImage
+     jnistruct->constcppobj = new ConstImageDescRcPtr();
+     jnistruct->cppobj = new ImageDescRcPtr();
+     *jnistruct->cppobj = ImageDescRcPtr(new PlanarImageDesc(_rdata, _gdata, _bdata,
+-        _adata, (long)width, (long)height, (long)yStrideBytes), &ImageDesc_deleter);
++        _adata, (long)width, (long)height, BIT_DEPTH_F32, 0, (long)yStrideBytes), &ImageDesc_deleter);
+     jnistruct->isconst = false;
+     jclass wclass = env->GetObjectClass(self);
+     jfieldID fid = env->GetFieldID(wclass, "m_impl", "J");
+@@ -216,7 +216,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
+     ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
+     ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
+     int size = ptr->getWidth() * ptr->getHeight();
+-    return NewJFloatBuffer(env, ptr->getRData(), size);
++    return NewJFloatBuffer(env, static_cast<float*>(ptr->getRData()), size);
+     OCIO_JNITRY_EXIT(NULL)
+ }
+ 
+@@ -227,7 +227,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
+     ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
+     ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
+     int size = ptr->getWidth() * ptr->getHeight();
+-    return NewJFloatBuffer(env, ptr->getGData(), size);
++    return NewJFloatBuffer(env, static_cast<float*>(ptr->getGData()), size);
+     OCIO_JNITRY_EXIT(NULL)
+ }
+ 
+@@ -238,7 +238,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
+     ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
+     ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
+     int size = ptr->getWidth() * ptr->getHeight();
+-    return NewJFloatBuffer(env, ptr->getBData(), size);
++    return NewJFloatBuffer(env, static_cast<float*>(ptr->getBData()), size);
+     OCIO_JNITRY_EXIT(NULL)
+ }
+ 
+@@ -249,7 +249,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
+     ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
+     ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
+     int size = ptr->getWidth() * ptr->getHeight();
+-    return NewJFloatBuffer(env, ptr->getAData(), size);
++    return NewJFloatBuffer(env, static_cast<float*>(ptr->getAData()), size);
+     OCIO_JNITRY_EXIT(NULL)
+ }
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/OpenColorIO.git/commitdiff/52901ddc2c37452e2251356a7e34b315967c00ef



More information about the pld-cvs-commit mailing list