Compare commits
5
Commits
master
...
Release-1.7.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
222dee3eab | ||
|
|
0eabfaa077 | ||
|
|
0da340a795 | ||
|
|
4a5d564e13 | ||
|
|
6834e98788 |
+4
-1
@@ -1,4 +1,4 @@
|
||||
Release 1.7 (scheduled: 1 Oct 2016) -- compared to 1.6.x
|
||||
Release 1.7 (1 Oct 2016) -- compared to 1.6.x
|
||||
----------------------------------------------
|
||||
Major new features and improvements:
|
||||
* New oiiotool commands:
|
||||
@@ -131,6 +131,9 @@ Fixes, minor enhancements, and performance improvements:
|
||||
oiiotool multi.tif -sisplit -o:all=1 sub%04d.tif
|
||||
will output the subimges as sub0001.tif, sub0002.tif, and so on.
|
||||
#1494 (1.7.6)
|
||||
* --mosaic MxN would fail mysteriously if the number of images on the
|
||||
stack was less then M*N. This has been fixed to handle too-few images
|
||||
gracefully and just leave blank spaces as needed. #1501 (1.7.7)
|
||||
* ImageBuf:
|
||||
* ImageBuf::iterator performance is improved -- roughly cutting in half
|
||||
the overhead of iterating over pixels. #1308 (1.7.1/1.6.10)
|
||||
|
||||
+3
-2
@@ -3,8 +3,8 @@ project (OpenImageIO)
|
||||
# Release version of the library
|
||||
set (OIIO_VERSION_MAJOR 1)
|
||||
set (OIIO_VERSION_MINOR 7)
|
||||
set (OIIO_VERSION_PATCH 6)
|
||||
set (OIIO_VERSION_RELEASE_TYPE "RC1") # "dev", "betaX", "RCY", ""
|
||||
set (OIIO_VERSION_PATCH 7)
|
||||
set (OIIO_VERSION_RELEASE_TYPE "") # "dev", "betaX", "RCY", ""
|
||||
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 2.8.4)
|
||||
@@ -211,6 +211,7 @@ set (USE_CPP11 ON CACHE BOOL "Compile in C++11 mode")
|
||||
set (USE_CPP14 OFF CACHE BOOL "Compile in C++14 mode")
|
||||
set (USE_LIBCPLUSPLUS OFF CACHE BOOL "Compile with clang libc++")
|
||||
set (EXTRA_CPP_ARGS "" CACHE STRING "Extra C++ command line definitions")
|
||||
set (EXTRA_DSO_LINK_ARGS "" CACHE STRING "Extra command line definitions when building DSOs")
|
||||
set (USE_SIMD "" CACHE STRING "Use SIMD directives (0, sse2, sse3, ssse3, sse4.1, sse4.2, avx, avx2, avx512f, f16c)")
|
||||
set (USE_CCACHE ON CACHE BOOL "Use ccache if found")
|
||||
set (CODECOV OFF CACHE BOOL "Build code coverage tests")
|
||||
|
||||
@@ -122,6 +122,7 @@ ifeq ($(SP_OS), rhel7)
|
||||
-DTIFF_LIBRARIES:STRING=/net/soft_scratch/users/lg/tiff-4.0.3/rhel7/lib/libtiff.a
|
||||
MY_CMAKE_FLAGS += -DHIDE_SYMBOLS=1
|
||||
MY_CMAKE_FLAGS += -DVISIBILITY_MAP_FILE:STRING="${working_dir}/site/spi/libOpenImageIO.map"
|
||||
MY_CMAKE_FLAGS += -DEXTRA_DSO_LINK_ARGS:STRING="-Wl,--exclude-libs,libtiff.a"
|
||||
|
||||
# end rhel7
|
||||
|
||||
|
||||
@@ -168,6 +168,7 @@ ifeq ($(SP_OS), rhel7)
|
||||
-DTIFF_LIBRARIES:STRING=/net/soft_scratch/users/lg/tiff-4.0.3/rhel7/lib/libtiff.a
|
||||
MY_CMAKE_FLAGS += -DHIDE_SYMBOLS=1
|
||||
MY_CMAKE_FLAGS += -DVISIBILITY_MAP_FILE:STRING="${working_dir}/site/spi/libOpenImageIO.map"
|
||||
MY_CMAKE_FLAGS += -DEXTRA_DSO_LINK_ARGS:STRING="-Wl,--exclude-libs,libtiff.a"
|
||||
|
||||
# end rhel7
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
global: *;
|
||||
local: TIFF*;
|
||||
local: TIFF*; _TIFF*; _tiff*;
|
||||
};
|
||||
|
||||
Binary file not shown.
@@ -94,7 +94,7 @@
|
||||
\bigskip \\
|
||||
}
|
||||
\date{{\large
|
||||
Date: 22 Sep 2016
|
||||
Date: 1 Oct 2016
|
||||
%\\ (with corrections, 5 Sep 2016)
|
||||
}}
|
||||
|
||||
|
||||
@@ -3674,6 +3674,16 @@ OIIO_FORCEINLINE int8 insert (const int8& a, int val) {
|
||||
}
|
||||
|
||||
|
||||
OIIO_FORCEINLINE int int8::x () const { return extract<0>(*this); }
|
||||
OIIO_FORCEINLINE int int8::y () const { return extract<1>(*this); }
|
||||
OIIO_FORCEINLINE int int8::z () const { return extract<2>(*this); }
|
||||
OIIO_FORCEINLINE int int8::w () const { return extract<3>(*this); }
|
||||
OIIO_FORCEINLINE void int8::set_x (int val) { *this = insert<0>(*this, val); }
|
||||
OIIO_FORCEINLINE void int8::set_y (int val) { *this = insert<1>(*this, val); }
|
||||
OIIO_FORCEINLINE void int8::set_z (int val) { *this = insert<2>(*this, val); }
|
||||
OIIO_FORCEINLINE void int8::set_w (int val) { *this = insert<3>(*this, val); }
|
||||
|
||||
|
||||
OIIO_FORCEINLINE int8 bitcast_to_int (const bool8& x)
|
||||
{
|
||||
#if OIIO_SIMD_AVX
|
||||
|
||||
@@ -163,6 +163,10 @@ if(DEFINED OVERRIDE_SHARED_LIBRARY_SUFFIX)
|
||||
)
|
||||
endif(DEFINED OVERRIDE_SHARED_LIBRARY_SUFFIX)
|
||||
|
||||
if (EXTRA_DSO_LINK_ARGS)
|
||||
set_target_properties (OpenImageIO PROPERTIES LINK_FLAGS ${EXTRA_DSO_LINK_ARGS})
|
||||
endif()
|
||||
|
||||
oiio_install_targets (OpenImageIO)
|
||||
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@ bool
|
||||
Oiiotool::postpone_callback (int required_images, CallbackFunction func,
|
||||
int argc, const char *argv[])
|
||||
{
|
||||
if (((curimg ? 1 : 0) + (int)image_stack.size()) < required_images) {
|
||||
if (image_stack_depth() < required_images) {
|
||||
// Not enough have inputs been specified so far, so put this
|
||||
// function on the "pending" list.
|
||||
m_pending_callback = func;
|
||||
@@ -3477,6 +3477,8 @@ action_paste (int argc, const char *argv[])
|
||||
static int
|
||||
action_mosaic (int argc, const char *argv[])
|
||||
{
|
||||
Timer timer (ot.enable_function_timing);
|
||||
|
||||
// Mosaic is tricky. We have to parse the argument before we know
|
||||
// how many images it wants to pull off the stack.
|
||||
string_view command = ot.express (argv[0]);
|
||||
@@ -3489,9 +3491,15 @@ action_mosaic (int argc, const char *argv[])
|
||||
}
|
||||
int nimages = ximages * yimages;
|
||||
|
||||
if (ot.postpone_callback (nimages, action_paste, argc, argv))
|
||||
return 0;
|
||||
Timer timer (ot.enable_function_timing);
|
||||
// Make the matrix complete with placeholder images
|
||||
ImageRecRef blank_img;
|
||||
while (ot.image_stack_depth() < nimages) {
|
||||
if (! blank_img) {
|
||||
ImageSpec blankspec (1, 1, 1, TypeDesc::UINT8);
|
||||
blank_img.reset (new ImageRec ("blank", blankspec, ot.imagecache));
|
||||
}
|
||||
ot.push (blank_img);
|
||||
}
|
||||
|
||||
int widest = 0, highest = 0, nchannels = 0;
|
||||
std::vector<ImageRecRef> images (nimages);
|
||||
|
||||
@@ -179,6 +179,11 @@ public:
|
||||
|
||||
ImageRecRef top () { return curimg; }
|
||||
|
||||
// How many images are on the stack?
|
||||
int image_stack_depth () const {
|
||||
return curimg ? 1+int(image_stack.size()) : 0;
|
||||
}
|
||||
|
||||
// Parse geom in the form of "x,y" to retrieve a 2D integer position.
|
||||
bool get_position (string_view command, string_view geom, int &x, int &y);
|
||||
|
||||
|
||||
Binary file not shown.
@@ -133,10 +133,10 @@ command += oiiotool ( "-a --create 320x240 3 -fill:color=.1,.5,.1 120x80+50+70
|
||||
+ "--siappend -trim -origin +0+0 -fullpixels -d uint8 -o trimsubimages.tif")
|
||||
|
||||
# test mosaic
|
||||
# Purposely test with fewer images than the mosaic array size
|
||||
command += oiiotool ("--pattern constant:color=1,0,0 50x50 3 "
|
||||
+ "--pattern constant:color=0,1,0 50x50 3 "
|
||||
+ "--pattern constant:color=0,0,1 50x50 3 "
|
||||
+ "--pattern constant:color=1,1,1 50x50 3 "
|
||||
+ "--mosaic:pad=10 2x2 -d uint8 -o mosaic.tif")
|
||||
|
||||
# test flip
|
||||
|
||||
Reference in New Issue
Block a user