Compare commits

...
Author SHA1 Message Date
Larry Gritz 222dee3eab Release! 2016-09-30 21:43:09 -07:00
Larry Gritz 0eabfaa077 Rebuild PDF docs for release 2016-09-30 21:41:56 -07:00
Larry Gritz 0da340a795 Fix oiiotool --mosaic MxN when the image stack has < M*N images on it. (#1501)
Fill in with black spots, rather than fail mysteriously.
2016-09-30 21:41:56 -07:00
Larry Gritz 4a5d564e13 simd.h: add missing int8 functions (#1507) 2016-09-30 21:30:01 -07:00
Larry Gritz 6834e98788 SPI: squash libtiff symbols even harder 2016-09-28 12:55:46 -07:00
13 changed files with 43 additions and 10 deletions
+4 -1
View File
@@ -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
View File
@@ -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")
+1
View File
@@ -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
+1
View File
@@ -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 -1
View File
@@ -1,4 +1,4 @@
{
global: *;
local: TIFF*;
local: TIFF*; _TIFF*; _tiff*;
};
Binary file not shown.
+1 -1
View File
@@ -94,7 +94,7 @@
\bigskip \\
}
\date{{\large
Date: 22 Sep 2016
Date: 1 Oct 2016
%\\ (with corrections, 5 Sep 2016)
}}
+10
View File
@@ -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
+4
View File
@@ -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)
+12 -4
View File
@@ -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);
+5
View File
@@ -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.
+1 -1
View File
@@ -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