1 --- OpenColorIO-2.2.1/src/bindings/java/CMakeLists.txt.orig 2023-01-06 03:05:59.000000000 +0100
2 +++ OpenColorIO-2.2.1/src/bindings/java/CMakeLists.txt 2023-03-18 13:52:31.360067889 +0100
3 @@ -122,7 +122,7 @@ add_custom_command(OUTPUT ${JNIOCIO_HEAD
4 COMMENT "Compiling .java files and creating jni C headers"
6 add_custom_command(OUTPUT ${JNIOCIO_JAR}
7 - COMMAND ${Java_JAVAH_EXECUTABLE} -jni -force ${JNIOCIO_CLASSES}
8 + COMMAND ${Java_JAVAH_EXECUTABLE} -jni -force -cp ${CMAKE_CURRENT_BINARY_DIR} ${JNIOCIO_CLASSES}
9 COMMAND ${Java_JAR_EXECUTABLE} vcfm ${JNIOCIO_JAR} Manifest.txt org
10 DEPENDS ${JNIOCIO_HEADERS} JNI-directory
11 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
12 --- OpenColorIO-2.2.1/src/bindings/java/Manifest.txt.in.orig 2023-01-06 03:05:59.000000000 +0100
13 +++ OpenColorIO-2.2.1/src/bindings/java/Manifest.txt.in 2023-03-18 14:11:32.890550354 +0100
15 -# SPDX-License-Identifier: BSD-3-Clause
16 -# Copyright Contributors to the OpenColorIO Project.
18 Name: org/OpenColorIO/
19 Specification-Title: OpenColorIO - Open Source Color Management
20 Specification-Version: @OpenColorIO_VERSION@
21 --- OpenColorIO-2.2.1/src/bindings/java/JNIUtil.h.orig 2023-01-06 03:05:59.000000000 +0100
22 +++ OpenColorIO-2.2.1/src/bindings/java/JNIUtil.h 2023-03-18 21:41:48.937525222 +0100
23 @@ -41,7 +41,7 @@ typedef JObject <ConstTransformRcPtr, Tr
24 typedef JObject <ConstAllocationTransformRcPtr, AllocationTransformRcPtr> AllocationTransformJNI;
25 typedef JObject <ConstCDLTransformRcPtr, CDLTransformRcPtr> CDLTransformJNI;
26 typedef JObject <ConstColorSpaceTransformRcPtr, ColorSpaceTransformRcPtr> ColorSpaceTransformJNI;
27 -typedef JObject <ConstDisplayTransformRcPtr, DisplayTransformRcPtr> DisplayTransformJNI;
28 +typedef JObject <ConstDisplayViewTransformRcPtr, DisplayViewTransformRcPtr> DisplayViewTransformJNI;
29 typedef JObject <ConstExponentTransformRcPtr, ExponentTransformRcPtr> ExponentTransformJNI;
30 typedef JObject <ConstFileTransformRcPtr, FileTransformRcPtr> FileTransformJNI;
31 typedef JObject <ConstGroupTransformRcPtr, GroupTransformRcPtr> GroupTransformJNI;
32 @@ -197,6 +197,52 @@ private:
36 +class GetJDoubleArrayValue
39 + GetJDoubleArrayValue(JNIEnv* env, jdoubleArray val, const char* name, int32_t len) {
40 + CheckArrayLength(env, name, val, len);
43 + if(val != NULL) m_ptr = env->GetDoubleArrayElements(val, JNI_FALSE);
45 + ~GetJDoubleArrayValue() {
46 + if(m_val != NULL) m_env->ReleaseDoubleArrayElements(m_val, m_ptr, JNI_FALSE);
50 + jdouble* operator() () {
59 +class SetJDoubleArrayValue
62 + SetJDoubleArrayValue(JNIEnv* env, jdoubleArray val, const char* name, int32_t len) {
63 + CheckArrayLength(env, name, val, len);
66 + if(val != NULL) m_tmp.resize(len);
68 + ~SetJDoubleArrayValue() {
69 + if(m_val != NULL) m_env->SetDoubleArrayRegion(m_val, 0, m_tmp.size(), &m_tmp[0]);
73 + double* operator() () {
78 + std::vector<double> m_tmp;
82 class GetJIntArrayValue
85 --- OpenColorIO-2.2.1/src/bindings/java/JNIBaker.cpp.orig 2023-01-06 03:05:59.000000000 +0100
86 +++ OpenColorIO-2.2.1/src/bindings/java/JNIBaker.cpp 2023-03-18 20:05:24.725527655 +0100
87 @@ -75,42 +75,6 @@ Java_org_OpenColorIO_Baker_getFormat(JNI
90 JNIEXPORT void JNICALL
91 -Java_org_OpenColorIO_Baker_setType(JNIEnv * env, jobject self, jstring type)
94 - BakerRcPtr bake = GetEditableJOCIO<BakerRcPtr, BakerJNI>(env, self);
95 - bake->setType(GetJStringValue(env, type)());
99 -JNIEXPORT jstring JNICALL
100 -Java_org_OpenColorIO_Baker_getType(JNIEnv * env, jobject self)
102 - OCIO_JNITRY_ENTER()
103 - ConstBakerRcPtr bake = GetConstJOCIO<ConstBakerRcPtr, BakerJNI>(env, self);
104 - return env->NewStringUTF(bake->getType());
105 - OCIO_JNITRY_EXIT(NULL)
108 -JNIEXPORT void JNICALL
109 -Java_org_OpenColorIO_Baker_setMetadata(JNIEnv * env, jobject self, jstring metadata)
111 - OCIO_JNITRY_ENTER()
112 - BakerRcPtr bake = GetEditableJOCIO<BakerRcPtr, BakerJNI>(env, self);
113 - bake->setMetadata(GetJStringValue(env, metadata)());
117 -JNIEXPORT jstring JNICALL
118 -Java_org_OpenColorIO_Baker_getMetadata(JNIEnv * env, jobject self)
120 - OCIO_JNITRY_ENTER()
121 - ConstBakerRcPtr bake = GetConstJOCIO<ConstBakerRcPtr, BakerJNI>(env, self);
122 - return env->NewStringUTF(bake->getMetadata());
123 - OCIO_JNITRY_EXIT(NULL)
126 -JNIEXPORT void JNICALL
127 Java_org_OpenColorIO_Baker_setInputSpace(JNIEnv * env, jobject self, jstring inputSpace)
130 --- OpenColorIO-2.2.1/src/bindings/java/JNIConfig.cpp.orig 2023-03-19 08:32:19.096080705 +0100
131 +++ OpenColorIO-2.2.1/src/bindings/java/JNIConfig.cpp 2023-03-19 08:32:21.976065103 +0100
132 @@ -390,21 +390,21 @@ Java_org_OpenColorIO_Config_getView(JNIE
135 JNIEXPORT jstring JNICALL
136 -Java_org_OpenColorIO_Config_getDisplayColorSpaceName(JNIEnv * env, jobject self, jstring display, jstring view)
137 +Java_org_OpenColorIO_Config_getDisplayViewColorSpaceName(JNIEnv * env, jobject self, jstring display, jstring view)
140 ConstConfigRcPtr cfg = GetConstJOCIO<ConstConfigRcPtr, ConfigJNI>(env, self);
141 - return env->NewStringUTF(cfg->getDisplayColorSpaceName(GetJStringValue(env, display)(),
142 + return env->NewStringUTF(cfg->getDisplayViewColorSpaceName(GetJStringValue(env, display)(),
143 GetJStringValue(env, view)()));
144 OCIO_JNITRY_EXIT(NULL)
147 JNIEXPORT jstring JNICALL
148 -Java_org_OpenColorIO_Config_getDisplayLooks(JNIEnv * env, jobject self, jstring display, jstring view)
149 +Java_org_OpenColorIO_Config_getDisplayViewLooks(JNIEnv * env, jobject self, jstring display, jstring view)
152 ConstConfigRcPtr cfg = GetConstJOCIO<ConstConfigRcPtr, ConfigJNI>(env, self);
153 - return env->NewStringUTF(cfg->getDisplayLooks(GetJStringValue(env, display)(),
154 + return env->NewStringUTF(cfg->getDisplayViewLooks(GetJStringValue(env, display)(),
155 GetJStringValue(env, view)()));
156 OCIO_JNITRY_EXIT(NULL)
158 @@ -471,20 +471,20 @@ Java_org_OpenColorIO_Config_getActiveVie
161 JNIEXPORT void JNICALL
162 -Java_org_OpenColorIO_Config_getDefaultLumaCoefs(JNIEnv * env, jobject self, jfloatArray rgb)
163 +Java_org_OpenColorIO_Config_getDefaultLumaCoefs(JNIEnv * env, jobject self, jdoubleArray rgb)
166 ConstConfigRcPtr cfg = GetConstJOCIO<ConstConfigRcPtr, ConfigJNI>(env, self);
167 - cfg->getDefaultLumaCoefs(SetJFloatArrayValue(env, rgb, "rgb", 3)());
168 + cfg->getDefaultLumaCoefs(SetJDoubleArrayValue(env, rgb, "rgb", 3)());
172 JNIEXPORT void JNICALL
173 -Java_org_OpenColorIO_Config_setDefaultLumaCoefs(JNIEnv * env, jobject self, jfloatArray rgb)
174 +Java_org_OpenColorIO_Config_setDefaultLumaCoefs(JNIEnv * env, jobject self, jdoubleArray rgb)
177 ConfigRcPtr cfg = GetEditableJOCIO<ConfigRcPtr, ConfigJNI>(env, self);
178 - cfg->setDefaultLumaCoefs(GetJFloatArrayValue(env, rgb, "rgb", 3)());
179 + cfg->setDefaultLumaCoefs(GetJDoubleArrayValue(env, rgb, "rgb", 3)());
183 --- OpenColorIO-2.2.1/src/bindings/java/JNIGlobals.cpp.orig 2023-01-06 03:05:59.000000000 +0100
184 +++ OpenColorIO-2.2.1/src/bindings/java/JNIGlobals.cpp 2023-03-19 20:10:46.705714386 +0100
185 @@ -209,14 +209,6 @@ Java_org_OpenColorIO_Globals_CombineTran
187 // ColorSpaceDirection
189 -JNIEXPORT jstring JNICALL
190 -Java_org_OpenColorIO_ColorSpaceDirection_toString(JNIEnv * env, jobject self) {
191 - OCIO_JNITRY_ENTER()
192 - return env->NewStringUTF(
193 - ColorSpaceDirectionToString(GetJEnum<ColorSpaceDirection>(env, self)));
194 - OCIO_JNITRY_EXIT(NULL)
197 JNIEXPORT jboolean JNICALL
198 Java_org_OpenColorIO_ColorSpaceDirection_equals(JNIEnv * env, jobject self, jobject obj) {
200 @@ -225,22 +217,6 @@ Java_org_OpenColorIO_ColorSpaceDirection
201 OCIO_JNITRY_EXIT(false)
204 -JNIEXPORT jstring JNICALL
205 -Java_org_OpenColorIO_Globals_ColorSpaceDirectionToString(JNIEnv * env, jobject, jobject dir) {
206 - OCIO_JNITRY_ENTER()
207 - return env->NewStringUTF(
208 - ColorSpaceDirectionToString(GetJEnum<ColorSpaceDirection>(env, dir)));
209 - OCIO_JNITRY_EXIT(NULL)
212 -JNIEXPORT jobject JNICALL
213 -Java_org_OpenColorIO_Globals_ColorSpaceDirectionFromString(JNIEnv * env, jobject, jstring s) {
214 - OCIO_JNITRY_ENTER()
215 - return BuildJEnum(env, "org/OpenColorIO/ColorSpaceDirection",
216 - ColorSpaceDirectionFromString(GetJStringValue(env, s)()));
217 - OCIO_JNITRY_EXIT(NULL)
222 JNIEXPORT jstring JNICALL
223 --- OpenColorIO-2.2.1/src/bindings/java/JNIGpuShaderDesc.cpp.orig 2023-01-06 03:05:59.000000000 +0100
224 +++ OpenColorIO-2.2.1/src/bindings/java/JNIGpuShaderDesc.cpp 2023-03-19 21:32:20.619201781 +0100
227 using namespace OCIO_NAMESPACE;
232 -void GpuShaderDesc_deleter(GpuShaderDesc* d)
237 -}; // end anon namespace
239 JNIEXPORT void JNICALL
240 Java_org_OpenColorIO_GpuShaderDesc_create(JNIEnv * env, jobject self) {
242 @@ -26,7 +16,7 @@ Java_org_OpenColorIO_GpuShaderDesc_creat
243 jnistruct->back_ptr = env->NewGlobalRef(self);
244 jnistruct->constcppobj = new ConstGpuShaderDescRcPtr();
245 jnistruct->cppobj = new GpuShaderDescRcPtr();
246 - *jnistruct->cppobj = GpuShaderDescRcPtr(new GpuShaderDesc(), &GpuShaderDesc_deleter);
247 + *jnistruct->cppobj = GpuShaderDesc::CreateShaderDesc();
248 jnistruct->isconst = false;
249 jclass wclass = env->GetObjectClass(self);
250 jfieldID fid = env->GetFieldID(wclass, "m_impl", "J");
251 @@ -75,22 +65,6 @@ Java_org_OpenColorIO_GpuShaderDesc_getFu
252 OCIO_JNITRY_EXIT(NULL)
255 -JNIEXPORT void JNICALL
256 -Java_org_OpenColorIO_GpuShaderDesc_setLut3DEdgeLen(JNIEnv * env, jobject self, jint len) {
257 - OCIO_JNITRY_ENTER()
258 - GpuShaderDescRcPtr ptr = GetEditableJOCIO<GpuShaderDescRcPtr, GpuShaderDescJNI>(env, self);
259 - ptr->setLut3DEdgeLen((int)len);
263 -JNIEXPORT jint JNICALL
264 -Java_org_OpenColorIO_GpuShaderDesc_getLut3DEdgeLen(JNIEnv * env, jobject self) {
265 - OCIO_JNITRY_ENTER()
266 - ConstGpuShaderDescRcPtr ptr = GetConstJOCIO<ConstGpuShaderDescRcPtr, GpuShaderDescJNI>(env, self);
267 - return (jint)ptr->getLut3DEdgeLen();
268 - OCIO_JNITRY_EXIT(0)
271 JNIEXPORT jstring JNICALL
272 Java_org_OpenColorIO_GpuShaderDesc_getCacheID(JNIEnv * env, jobject self) {
274 --- OpenColorIO-2.2.1/src/bindings/java/JNIImageDesc.cpp.orig 2023-01-06 03:05:59.000000000 +0100
275 +++ OpenColorIO-2.2.1/src/bindings/java/JNIImageDesc.cpp 2023-03-19 21:52:08.522766355 +0100
276 @@ -55,7 +55,7 @@ Java_org_OpenColorIO_PackedImageDesc_cre
277 jnistruct->constcppobj = new ConstImageDescRcPtr();
278 jnistruct->cppobj = new ImageDescRcPtr();
279 *jnistruct->cppobj = ImageDescRcPtr(new PackedImageDesc(_data, (long)width,
280 - (long)height, (long)numChannels, (long)chanStrideBytes, (long) xStrideBytes,
281 + (long)height, (long)numChannels, BIT_DEPTH_F32, (long)chanStrideBytes, (long) xStrideBytes,
282 (long)yStrideBytes), &ImageDesc_deleter);
283 jnistruct->isconst = false;
284 jclass wclass = env->GetObjectClass(self);
285 @@ -79,7 +79,7 @@ Java_org_OpenColorIO_PackedImageDesc_get
286 ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
287 ConstPackedImageDescRcPtr ptr = DynamicPtrCast<const PackedImageDesc>(img);
288 int size = ptr->getWidth() * ptr->getHeight() * ptr->getNumChannels();
289 - return NewJFloatBuffer(env, ptr->getData(), size);
290 + return NewJFloatBuffer(env, static_cast<float*>(ptr->getData()), size);
291 OCIO_JNITRY_EXIT(NULL)
294 @@ -201,7 +201,7 @@ JNICALL Java_org_OpenColorIO_PlanarImage
295 jnistruct->constcppobj = new ConstImageDescRcPtr();
296 jnistruct->cppobj = new ImageDescRcPtr();
297 *jnistruct->cppobj = ImageDescRcPtr(new PlanarImageDesc(_rdata, _gdata, _bdata,
298 - _adata, (long)width, (long)height, (long)yStrideBytes), &ImageDesc_deleter);
299 + _adata, (long)width, (long)height, BIT_DEPTH_F32, 0, (long)yStrideBytes), &ImageDesc_deleter);
300 jnistruct->isconst = false;
301 jclass wclass = env->GetObjectClass(self);
302 jfieldID fid = env->GetFieldID(wclass, "m_impl", "J");
303 @@ -216,7 +216,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
304 ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
305 ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
306 int size = ptr->getWidth() * ptr->getHeight();
307 - return NewJFloatBuffer(env, ptr->getRData(), size);
308 + return NewJFloatBuffer(env, static_cast<float*>(ptr->getRData()), size);
309 OCIO_JNITRY_EXIT(NULL)
312 @@ -227,7 +227,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
313 ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
314 ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
315 int size = ptr->getWidth() * ptr->getHeight();
316 - return NewJFloatBuffer(env, ptr->getGData(), size);
317 + return NewJFloatBuffer(env, static_cast<float*>(ptr->getGData()), size);
318 OCIO_JNITRY_EXIT(NULL)
321 @@ -238,7 +238,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
322 ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
323 ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
324 int size = ptr->getWidth() * ptr->getHeight();
325 - return NewJFloatBuffer(env, ptr->getBData(), size);
326 + return NewJFloatBuffer(env, static_cast<float*>(ptr->getBData()), size);
327 OCIO_JNITRY_EXIT(NULL)
330 @@ -249,7 +249,7 @@ Java_org_OpenColorIO_PlanarImageDesc_get
331 ConstImageDescRcPtr img = GetConstJOCIO<ConstImageDescRcPtr, ImageDescJNI>(env, self);
332 ConstPlanarImageDescRcPtr ptr = DynamicPtrCast<const PlanarImageDesc>(img);
333 int size = ptr->getWidth() * ptr->getHeight();
334 - return NewJFloatBuffer(env, ptr->getAData(), size);
335 + return NewJFloatBuffer(env, static_cast<float*>(ptr->getAData()), size);
336 OCIO_JNITRY_EXIT(NULL)