From 942931d2daa9baed09c6c4645be6fc826a278a26 Mon Sep 17 00:00:00 2001 From: Larry Gritz Date: Fri, 26 May 2017 13:55:03 -0700 Subject: [PATCH] Fix broken diff printing for deep images --- src/idiff/idiff.cpp | 14 ++++++++------ src/oiiotool/diff.cpp | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/idiff/idiff.cpp b/src/idiff/idiff.cpp index d64cc1f1fd..7e8b0e9aff 100644 --- a/src/idiff/idiff.cpp +++ b/src/idiff/idiff.cpp @@ -302,12 +302,14 @@ main (int argc, char *argv[]) std::cout << ", " << img1.spec().channelnames[cr.maxc] << ')'; else std::cout << ", channel " << cr.maxc << ')'; - std::cout << " values are "; - for (int c = 0; c < img0.spec().nchannels; ++c) - std::cout << (c ? ", " : "") << img0.getchannel(cr.maxx, cr.maxy, 0, c); - std::cout << " vs "; - for (int c = 0; c < img1.spec().nchannels; ++c) - std::cout << (c ? ", " : "") << img1.getchannel(cr.maxx, cr.maxy, 0, c); + if (! img0.deep()) { + std::cout << " values are "; + for (int c = 0; c < img0.spec().nchannels; ++c) + std::cout << (c ? ", " : "") << img0.getchannel(cr.maxx, cr.maxy, 0, c); + std::cout << " vs "; + for (int c = 0; c < img1.spec().nchannels; ++c) + std::cout << (c ? ", " : "") << img1.getchannel(cr.maxx, cr.maxy, 0, c); + } } std::cout << "\n"; #if OIIO_MSVS_BEFORE_2015 diff --git a/src/oiiotool/diff.cpp b/src/oiiotool/diff.cpp index 3534a424aa..152bb19d48 100644 --- a/src/oiiotool/diff.cpp +++ b/src/oiiotool/diff.cpp @@ -165,12 +165,14 @@ OiioTool::do_action_diff (ImageRec &ir0, ImageRec &ir1, std::cout << ", " << img1.spec().channelnames[cr.maxc] << ')'; else std::cout << ", channel " << cr.maxc << ')'; - std::cout << " values are "; - for (int c = 0; c < img0.spec().nchannels; ++c) - std::cout << (c ? ", " : "") << img0.getchannel(cr.maxx, cr.maxy, 0, c); - std::cout << " vs "; - for (int c = 0; c < img1.spec().nchannels; ++c) - std::cout << (c ? ", " : "") << img1.getchannel(cr.maxx, cr.maxy, 0, c); + if (! img0.deep()) { + std::cout << " values are "; + for (int c = 0; c < img0.spec().nchannels; ++c) + std::cout << (c ? ", " : "") << img0.getchannel(cr.maxx, cr.maxy, 0, c); + std::cout << " vs "; + for (int c = 0; c < img1.spec().nchannels; ++c) + std::cout << (c ? ", " : "") << img1.getchannel(cr.maxx, cr.maxy, 0, c); + } } std::cout << "\n";