Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/libopenjpeg')
-rw-r--r--extern/libopenjpeg/CMakeLists.txt2
-rw-r--r--extern/libopenjpeg/dwt.c10
-rw-r--r--extern/libopenjpeg/opj_malloc.h2
-rw-r--r--extern/libopenjpeg/patches/fbsd.patch13
4 files changed, 20 insertions, 7 deletions
diff --git a/extern/libopenjpeg/CMakeLists.txt b/extern/libopenjpeg/CMakeLists.txt
index 0a985aceb37..d7b25ed1412 100644
--- a/extern/libopenjpeg/CMakeLists.txt
+++ b/extern/libopenjpeg/CMakeLists.txt
@@ -28,5 +28,5 @@ SET(INC . src)
FILE(GLOB SRC *.c except t1_generate_luts.c)
ADD_DEFINITIONS(-DWITH_OPENJPEG)
-BLENDERLIB(extern_libopenjpeg "${SRC}" "${INC}")
+BLENDERLIB(extern_openjpeg "${SRC}" "${INC}")
#, libtype=['international','player'], priority=[5, 210])
diff --git a/extern/libopenjpeg/dwt.c b/extern/libopenjpeg/dwt.c
index 78d18d175f4..357b475b9ac 100644
--- a/extern/libopenjpeg/dwt.c
+++ b/extern/libopenjpeg/dwt.c
@@ -610,7 +610,7 @@ static void v4dwt_decode_step1_sse(v4* w, int count, const __m128 c){
int i;
for(i = 0; i < count; ++i){
__m128 tmp = vw[i*2];
- vw[i*2] = tmp * c;
+ vw[i*2] = _mm_mul_ps(tmp, c);
}
}
@@ -622,18 +622,18 @@ static void v4dwt_decode_step2_sse(v4* l, v4* w, int k, int m, __m128 c){
__m128 tmp1 = vl[ 0];
__m128 tmp2 = vw[-1];
__m128 tmp3 = vw[ 0];
- vw[-1] = tmp2 + ((tmp1 + tmp3) * c);
+ vw[-1] = _mm_add_ps(tmp2, _mm_mul_ps(_mm_add_ps(tmp1, tmp3), c));
vl = vw;
vw += 2;
}
if(m >= k){
return;
}
- c += c;
- c *= vl[0];
+ c = _mm_add_ps(c, c);
+ c = _mm_mul_ps(c, vl[0]);
for(; m < k; ++m){
__m128 tmp = vw[-1];
- vw[-1] = tmp + c;
+ vw[-1] = _mm_add_ps(tmp, c);
vw += 2;
}
}
diff --git a/extern/libopenjpeg/opj_malloc.h b/extern/libopenjpeg/opj_malloc.h
index 4e9727af0f3..960bdb3ec4b 100644
--- a/extern/libopenjpeg/opj_malloc.h
+++ b/extern/libopenjpeg/opj_malloc.h
@@ -76,7 +76,7 @@ Allocate memory aligned to a 16 byte boundry
#if defined(__sun)
#define HAVE_MEMALIGN
#elif defined(__GNUC__)
- #ifndef __APPLE__
+ #if !defined(__APPLE__) && !defined(__FreeBSD__)
#define HAVE_MEMALIGN
#include <malloc.h>
#endif
diff --git a/extern/libopenjpeg/patches/fbsd.patch b/extern/libopenjpeg/patches/fbsd.patch
new file mode 100644
index 00000000000..90e77600941
--- /dev/null
+++ b/extern/libopenjpeg/patches/fbsd.patch
@@ -0,0 +1,13 @@
+Index: extern/libopenjpeg/opj_malloc.h
+===================================================================
+--- extern/libopenjpeg/opj_malloc.h (revision 27736)
++++ extern/libopenjpeg/opj_malloc.h (working copy)
+@@ -76,7 +76,7 @@
+ #if defined(__sun)
+ #define HAVE_MEMALIGN
+ #elif defined(__GNUC__)
+- #ifndef __APPLE__
++ #if !defined(__APPLE__) && !defined(__FreeBSD__)
+ #define HAVE_MEMALIGN
+ #include <malloc.h>
+ #endif