Skip to content

Instantly share code, notes, and snippets.

@BigRoy
Last active April 23, 2025 10:57
Show Gist options
  • Save BigRoy/327f3c978b32182348c54ed9f30a5cbe to your computer and use it in GitHub Desktop.
Save BigRoy/327f3c978b32182348c54ed9f30a5cbe to your computer and use it in GitHub Desktop.
Debug speed issue with oiiotool.exe with multichannel EXRs
==================
>> oiiotool --buildinfo
Invalid option "--buildinfo"
oiiotool -- simple image processing operations
OpenImageIO 2.3.10 http://www.openimageio.org
Usage: oiiotool [filename|command]...
Important usage tips:
* The oiiotool command line is processed in order, LEFT to RIGHT.
* The command line consists of image NAMES ('image.tif') and COMMANDS ('--over'). Commands start with dashes (one or two dashes are equivalent). Some commands have required arguments which must follow on the command line. For example, the '-o' command is
followed by a filename.
* oiiotool is STACK-based: naming an image pushes it on the stack, and most commands pop the top image (or sometimes more than one image), perform a calculation, and push the result image back on the stack. For example, the '--over' command pops the top two
images off the stack, composites them, then pushes the result back onto the stack.
* Some commands allow one or more optional MODIFIERS in the form 'name=value', which are appended directly to the command itself (no spaces), separated by colons ':'. For example,
oiiotool in.tif --text:x=100:y=200:color=1,0,0 "Hello" -o out.tif
* Using numerical wildcards will run the whole command line on each of several sequentially-named files, for example:
oiiotool fg.#.tif bg.#.tif -over -o comp.#.tif
See the manual for info about subranges, number of digits, etc.
* Command line arguments containing substrings enclosed in braces {} are replaced by evaluating their contents as expressions. Simple math is allowed as well as retrieving metadata such as {TOP.'foo:bar'}, {IMG[0].filename}, or {FRAME_NUMBER/24.0}.
Options (general flags, usually not positional):
--help Print help message
-v Verbose status messages
-q Quiet mode (turn verbose off)
-n No saved output (dry run)
-a Do operations on all subimages/miplevels
--debug Debug mode
--runstats Print runtime statistics
--info Print resolution and basic info on all inputs, detailed metadata if -v is also used (options: format=xml:verbose=1)
--list-formats List all supported file formats and their filename extensions
--metamatch REGEX Which metadata is printed with -info -v
--no-metamatch REGEX Which metadata is excluded with -info -v
--stats Print pixel statistics of all inputs files
--dumpdata Print all pixel data values of input files (options: empty=1, C=arrayname)
--hash Print SHA-1 hash of each input image
-u Update mode: skip outputs when the file exists and is newer than all inputs
--no-clobber Do not overwrite existing files
--threads N Number of threads (default 0 == #cores)
--frames FRAMERANGE Frame range for '#' or printf-style wildcards
--framepadding NDIGITS Frame number padding digits (ignored when using printf-style wildcards)
--views VIEWNAMES Views for %V/%v wildcards (comma-separated, defaults to "left,right")
--skip-bad-frames Skip to next frame in range if there's an error, rather than exiting
--wildcardoff Disable numeric wildcard expansion for subsequent command line arguments
--wildcardon Enable numeric wildcard expansion for subsequent command line arguments
--evaloff Disable {expression} evaluation for subsequent command line arguments
--evalon Enable {expression} evaluation for subsequent command line arguments
--no-autopremult Turn off automatic premultiplication of images with unassociated alpha
--autopremult Turn on automatic premultiplication of images with unassociated alpha
--autoorient Automatically --reorient all images upon input
--autocc Automatically color convert based on filename (options: unpremult=)
--noautocc Turn off automatic color conversion
--native Keep native pixel data type (bypass cache if necessary)
--cache MB ImageCache size (in MB: default=4096)
--autotile TILESIZE Autotile enable for cached images (the argument is the tile size, default 0 means no autotile)
--metamerge Always merge metadata of all inputs into output
--oiioattrib NAME VALUE Sets global OpenImageIO attribute (options: type=...)
Commands that read images:
-i FILENAME Input file (options: autocc=, ch=, info=, infoformat=, now=, type=, unpremult=)
--iconfig NAME VALUE Sets input config attribute (options: type=...)
--missingfile OPTION Set policy for missing input files: 'error' (default), 'black', 'checker'
Commands that write images:
-o FILENAME Output the current image to the named file (options: all=, autocc=, autocrop=, autotrim=, bits=, contig=, datatype=, dither=, fileformatname=, scanline=, separate=, tile=, unpremult=)
-otex FILENAME Output the current image as a texture
-oenv FILENAME Output the current image as a latlong env map
-obump FILENAME Output the current bump texture map as a 6 channels texture including the first and second moment of the bump slopes (options: bumpformat=height|normal|auto, uvslopes_scale=val>=0)
Options that affect subsequent image output:
-d TYPE '-d TYPE' sets the output data format of all channels, '-d CHAN=TYPE' overrides a single named channel (multiple -d args are allowed). Data types include: uint8, sint8, uint10, uint12, uint16, sint16, uint32, sint32, half, float,
double
--scanline Output scanline images
--tile WIDTH HEIGHT Output tiled images with this tile size
--compression NAME Set the compression method (in the form "name" or "name:quality")
--dither Add dither when writing <= 8-bit output from > 8 bit input
--planarconfig CONFIG Force planarconfig (contig, separate, default)
--adjust-time Adjust file times to match DateTime metadata
--noautocrop Do not automatically crop images whose formats don't support separate pixel data and full/display windows
--autotrim Automatically trim black borders upon output to file formats that support separate pixel data and full/display windows
Options that print data (usually about the current image):
--echo TEXT Echo message to console (options: newline=0)
--printinfo Print info and metadata of the current top image
--printstats Print pixel statistics of the current top image (options: roi=<geom>)
--colorcount COLORLIST Count of how many pixels have the given color (argument: color;color;...) (options: eps=color)
--rangecheck MIN MAX Count of how many pixels are outside the min/max color range (each is a comma-separated color value list)
Options that change current image metadata (but not pixel values):
--attrib NAME VALUE Sets metadata attribute (options: type=...)
--sattrib NAME VALUE Sets string metadata attribute
--eraseattrib REGEX Erase attributes matching regex
--caption TEXT Sets caption (ImageDescription metadata)
--keyword KEYWORD Add a keyword
--clear-keywords Clear all keywords
--nosoftwareattrib Do not write command line into Exif:ImageHistory, Software metadata attributes
--sansattrib Write command line into Software & ImageHistory but remove --sattrib and --attrib options
--orientation ORIENT Set the assumed orientation
--orientcw Rotate orientation metadata 90 deg clockwise
--orientccw Rotate orientation metadata 90 deg counter-clockwise
--orient180 Rotate orientation metadata 180 deg
--origin +X+Y Set the pixel data window origin (e.g. +20+10, -16-16)
--originoffset +X+Y Offset the pixel data window origin from its current position (e.g. +20+10, -16-16)
--fullsize GEOM Set the display window (e.g., 1920x1080, 1024x768+100+0, -20-30)
--fullpixels Set the 'full' image range to be the pixel data window
--chnames NAMELIST Set the channel names (comma-separated)
Options that affect subsequent actions:
--fail THRESH Failure threshold difference (0.000001)
--failpercent PCNT Allow this percentage of failures in diff (0)
--hardfail THRESH Fail diff if any one pixel exceeds this error (infinity)
--warn THRESH Warning threshold difference (0.00001)
--warnpercent PCNT Allow this percentage of warnings in diff (0)
--hardwarn THRESH Warn if any one pixel difference exceeds this error (infinity)
Actions:
--create GEOM NCHANS Create a blank image
--pattern NAME GEOM NCHANS Create a patterned image. Pattern name choices: black, constant, fill, checker, noise
--kernel NAME GEOM Create a centered convolution kernel
--capture Capture an image (options: camera=%d)
--diff Print report on the difference of two images (modified by --fail, --failpercent, --hardfail, --warn, --warnpercent --hardwarn)
--pdiff Print report on the perceptual difference of two images (modified by --fail, --failpercent, --hardfail, --warn, --warnpercent --hardwarn)
--add Add two images
--addc VAL Add to all channels a scalar or per-channel constants (e.g.: 0.5 or 1,1.25,0.5)
--sub Subtract two images
--subc VAL Subtract from all channels a scalar or per-channel constants (e.g.: 0.5 or 1,1.25,0.5)
--mul Multiply two images
--mulc VAL Multiply the image values by a scalar or per-channel constants (e.g.: 0.5 or 1,1.25,0.5)
--div Divide first image by second image
--divc VAL Divide the image values by a scalar or per-channel constants (e.g.: 0.5 or 1,1.25,0.5)
--mad Multiply two images, add a third
--invert Take the color inverse (subtract from 1) (options: chbegin=0, chend=3
--abs Take the absolute value of the image pixels
--absdiff Absolute difference between two images
--absdiffc VAL Absolute difference versus a scalar or per-channel constant (e.g.: 0.5 or 1,1.25,0.5)
--powc VAL Raise the image values to a scalar or per-channel power (e.g.: 2.2 or 2.2,2.2,2.2,1.0)
--noise Add noise to an image (options: type=gaussian:mean=0:stddev=0.1, type=uniform:min=0:max=0.1, type=salt:value=0:portion=0.1, seed=0
--chsum Turn into 1-channel image by summing channels (options: weight=r,g,...)
--colormap MAPNAME Color map based on channel 0 (arg: "inferno", "viridis", "magma", "turbo", "plasma", "blue-red", "spectrum", "heat", or comma-separated list of RGB triples)
--crop GEOM Set pixel data resolution and offset, cropping or padding if necessary (WxH+X+Y or xmin,ymin,xmax,ymax)
--croptofull Crop or pad to make pixel data region match the "full" region
--trim Crop to the minimal ROI containing nonzero pixel values
--cut GEOM Cut out the ROI and reposition to the origin (WxH+X+Y or xmin,ymin,xmax,ymax)
--paste +X+Y Paste fg over bg at the given position (e.g., +100+50; '-' or 'auto' indicates using the data window position as-is; options: all=%d, mergeroi=%d)
--pastemeta Copy the metadata from the first image to the second image and write the combined result.
--mosaic WxH Assemble images into a mosaic (arg: WxH; options: pad=0, fit=WxH)
--over 'Over' composite of two images
--zover Depth composite two images with Z channels (options: zeroisinf=%d)
--deepmerge Merge/composite two deep images
--deepholdout Hold out one deep image by another
--rotate90 Rotate the image 90 degrees clockwise
--rotate180 Rotate the image 180 degrees
--rotate270 Rotate the image 270 degrees clockwise (or 90 degrees CCW)
--flip Flip the image vertically (top<->bottom)
--flop Flop the image horizontally (left<->right)
--reorient Rotate and/or flop the image to transform the pixels to match the Orientation metadata
--transpose Transpose the image
--cshift +X+Y Circular shift the image (e.g.: +20-10)
--resample GEOM Resample (640x480, 50%) (options: interp=0)
--resize GEOM Resize (640x480, 50%) (options: filter=%s)
--fit GEOM Resize to fit within a window size (options: filter=%s, pad=%d, exact=%d)
--pixelaspect ASPECT Scale up the image's width or height to match the given pixel aspect ratio (options: filter=%s)
--rotate DEGREES Rotate pixels (degrees clockwise) around the center of the display window (options: filter=%s, center=%f,%f, recompute_roi=%d
--warp MATRIX Warp pixels (argument is a 3x3 matrix, separated by commas) (options: filter=%s, recompute_roi=%d)
--convolve Convolve with a kernel
--blur WxH Blur the image (options: kernel=name)
--median WxH Median filter the image
--dilate WxH Dilate (area maximum) the image
--erode WxH Erode (area minimum) the image
--unsharp Unsharp mask (options: kernel=gaussian, width=3, contrast=1, threshold=0)
--laplacian Laplacian filter the image
--fft Take the FFT of the image
--ifft Take the inverse FFT of the image
--polar Convert complex (real,imag) to polar (amplitude,phase)
--unpolar Convert polar (amplitude,phase) to complex (real,imag)
--fixnan STRATEGY Fix NaN/Inf values in the image (choices: none, black, box3, error)
--fillholes Fill in holes (where alpha is not 1)
--max Pixel-by-pixel max of two images
--maxc VAL Max all values with a scalar or per-channel constants (e.g.: 0.5 or 1,1.25,0.5)
--maxchan Maximum of all channels of the image
--min Pixel-by-pixel min of two images
--minc VAL Min all values with a scalar or per-channel constants (e.g.: 0.5 or 1,1.25,0.5)
--minchan Minimum of all channels of the image
--clamp Clamp values (options: min=..., max=..., clampalpha=0)
--contrast Remap values (options: black=0..., white=1..., sthresh=0.5..., scontrast=1.0..., gamma=1, clamp=0|1)
--saturate SCALE Scale saturation of the color channels
--rangecompress Compress the range of pixel values with a log scale (options: luma=0|1)
--rangeexpand Un-rangecompress pixel values back to a linear scale (options: luma=0|1)
--line X1,Y1,X2,Y2,... Render a poly-line (options: color=)
--box X1,Y1,X2,Y2 Render a box (options: color=)
--fill GEOM Fill a region (options: color=)
--text TEXT Render text into the current image (options: x=, y=, size=, color=)
Manipulating channels or subimages:
--ch CHANLIST Select or shuffle channels (e.g., "R,G,B", "B,G,R", "2,3,4")
--chappend Append the channels of the last two images
--unmip Discard all but the top level of a MIPmap
--selectmip MIPLEVEL Select just one MIP level (0 = highest res)
--subimage SUBIMAGEINDEX Select just one subimage by index or name (options: delete=1)
--sisplit Split the top image's subimges into separate images
--siappend Append the last two images into one multi-subimage image
--siappendall Append all images on the stack into a single multi-subimage image
--deepen Deepen normal 2D image to deep
--flatten Flatten deep image to non-deep
Image stack manipulation:
--dup Duplicate the current image (push a copy onto the stack)
--swap Swap the top two images on the stack.
--pop Throw away the current image
--label %s Label the top image
Color management:
--colorconfig FILENAME Explicitly specify an OCIO configuration file
--iscolorspace COLORSPACE Set the assumed color space (without altering pixels)
--tocolorspace COLORSPACE Convert the current image's pixels to a named color space
--colorconvert SRC DST Convert pixels from 'src' to 'dst' color space (options: key=, value=, unpremult=, strict=)
--ccmatrix MATRIXVALS Color convert pixels with a 3x3 or 4x4 matrix (options: unpremult=,transpose=)
--ociolook LOOK Apply the named OCIO look (options: from=, to=, inverse=, key=, value=, unpremult=)
--ociodisplay DISPLAY VIEW Apply the named OCIO display and view (options: from=, looks=, key=, value=, unpremult=)
--ociofiletransform FILENAME Apply the named OCIO filetransform (options: inverse=, unpremult=)
--unpremult Divide all color channels of the current image by the alpha to "un-premultiply"
--premult Multiply all color channels of the current image by the alpha
--repremult Multiply all color channels of the current image by the alpha, but don't crush alpha=0 pixels to black.
Input formats supported: bmp, cineon, dds, dpx, ffmpeg, fits, gif, hdr, iff, jpeg, null, openexr, png, pnm, psd, raw, rla, sgi, socket, softimage, targa, tiff, webp, zfile
Output formats supported: bmp, dpx, fits, gif, hdr, iff, jpeg, null, openexr, png, pnm, rla, sgi, socket, targa, term, tiff, webp, zfile
OpenColorIO 2.1.1, color config: built-in
Known color spaces: "linear", "default", "rgb", "RGB", "sRGB", "Rec709"
Filters available: box, triangle, gaussian, sharp-gaussian, catmull-rom, blackman-harris, sinc, lanczos3, radial-lanczos3, nuke-lanczos6, mitchell, bspline, disk, cubic, keys, simon, rifman
Dependent libraries: FFMpeg 4.4.1 (Lavf58.76.100), gif_lib 5.2.1, jpeg-turbo 2.1.3/jp62, null 1.0, OpenEXR 2.5.0, libpng 1.6.37, libraw 0.19.0-Beta1, LIBTIFF Version 4.3.0, Webp 1.2.2
OIIO 2.3.10 built for C++14/199711 sse2
Running on 32 cores 127.9GB sse2,sse3,ssse3,sse41,sse42,avx,popcnt
Full OIIO documentation can be found at
https://openimageio.readthedocs.io
Full command line was:
> oiiotool.exe --buildinfo
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 410
Ticks : 4104105
TotalDays : 4.75012152777778E-06
TotalHours : 0.000114002916666667
TotalMinutes : 0.006840175
TotalSeconds : 0.4104105
TotalMilliseconds : 410.4105
==================
>> oiiotool -info -v input.exr
Reading input.exr
input.exr : 2996 x 2058, 78 channel, half/half/half/half/float/float/float/float/float/float/float/float/half/half/half/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half openexr
channel list: R (half), G (half), B (half), A (half), Z (float), fresnel (float), N.X (float), N.Y (float), N.Z (float), Pref.X (float), Pref.Y (float), Pref.Z (float), coat.R (half), coat.G (half), coat.B (half), crypto_asset.R (float), crypto_asset.G (float), crypto_asset.B (float), crypto_asset00.R (float), crypto_asset00.G (float), crypto_asset00.B (float), crypto_asset00.A (float), crypto_asset01.R (float), crypto_asset01.G (float), crypto_asset01.B (float), crypto_asset01.A (float), crypto_asset02.R (float), crypto_asset02.G (float), crypto_asset02.B (float), crypto_asset02.A (float), crypto_material.R (float), crypto_material.G (float), crypto_material.B (float), crypto_material00.R (float), crypto_material00.G (float), crypto_material00.B (float), crypto_material00.A (float), crypto_material01.R (float), crypto_material01.G (float), crypto_material01.B (float), crypto_material01.A (float), crypto_material02.R (float), crypto_material02.G (float), crypto_material02.B (float), crypto_material02.A (float), crypto_object.R (float), crypto_object.G (float), crypto_object.B (float), crypto_object00.R (float), crypto_object00.G (float), crypto_object00.B (float), crypto_object00.A (float), crypto_object01.R (float), crypto_object01.G (float), crypto_object01.B (float), crypto_object01.A (float), crypto_object02.R (float), crypto_object02.G (float), crypto_object02.B (float), crypto_object02.A (float), diffuse_direct.R (half), diffuse_direct.G (half), diffuse_direct.B (half), diffuse_indirect.R (half), diffuse_indirect.G (half), diffuse_indirect.B (half), emission.R (half), emission.G (half), emission.B (half), specular_direct.R (half), specular_direct.G (half), specular_direct.B (half), specular_indirect.R (half), specular_indirect.G (half), specular_indirect.B (half), sss.R (half), sss.G (half), sss.B (half)
tile size: 64 x 64
arnold/AA_adaptive_threshold: 0.015
arnold/AA_samples: 2
arnold/AA_samples_max: 2
arnold/AA_seed: 344023205
arnold/aovs/coat/filter: "gaussian_filter"
arnold/aovs/coat/filter_width: 2
arnold/aovs/coat/lpe: 1
arnold/aovs/coat/lpe_expression: "C<RS'coat'>.*"
arnold/aovs/coat/source: "coat"
arnold/aovs/crypto_asset/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset/filter_width: 2
arnold/aovs/crypto_asset/source: "crypto_asset"
arnold/aovs/crypto_asset00/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset00/filter_width: 2
arnold/aovs/crypto_asset00/source: "crypto_asset00"
arnold/aovs/crypto_asset01/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset01/filter_width: 2
arnold/aovs/crypto_asset01/source: "crypto_asset01"
arnold/aovs/crypto_asset02/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset02/filter_width: 2
arnold/aovs/crypto_asset02/source: "crypto_asset02"
arnold/aovs/crypto_material/filter: "cryptomatte_filter"
arnold/aovs/crypto_material/filter_width: 2
arnold/aovs/crypto_material/source: "crypto_material"
arnold/aovs/crypto_material00/filter: "cryptomatte_filter"
arnold/aovs/crypto_material00/filter_width: 2
arnold/aovs/crypto_material00/source: "crypto_material00"
arnold/aovs/crypto_material01/filter: "cryptomatte_filter"
arnold/aovs/crypto_material01/filter_width: 2
arnold/aovs/crypto_material01/source: "crypto_material01"
arnold/aovs/crypto_material02/filter: "cryptomatte_filter"
arnold/aovs/crypto_material02/filter_width: 2
arnold/aovs/crypto_material02/source: "crypto_material02"
arnold/aovs/crypto_object/filter: "cryptomatte_filter"
arnold/aovs/crypto_object/filter_width: 2
arnold/aovs/crypto_object/source: "crypto_object"
arnold/aovs/crypto_object00/filter: "cryptomatte_filter"
arnold/aovs/crypto_object00/filter_width: 2
arnold/aovs/crypto_object00/source: "crypto_object00"
arnold/aovs/crypto_object01/filter: "cryptomatte_filter"
arnold/aovs/crypto_object01/filter_width: 2
arnold/aovs/crypto_object01/source: "crypto_object01"
arnold/aovs/crypto_object02/filter: "cryptomatte_filter"
arnold/aovs/crypto_object02/filter_width: 2
arnold/aovs/crypto_object02/source: "crypto_object02"
arnold/aovs/diffuse_direct/filter: "gaussian_filter"
arnold/aovs/diffuse_direct/filter_width: 2
arnold/aovs/diffuse_direct/lpe: 1
arnold/aovs/diffuse_direct/lpe_expression: "C<RD>L"
arnold/aovs/diffuse_direct/source: "diffuse_direct"
arnold/aovs/diffuse_indirect/filter: "gaussian_filter"
arnold/aovs/diffuse_indirect/filter_width: 2
arnold/aovs/diffuse_indirect/lpe: 1
arnold/aovs/diffuse_indirect/lpe_expression: "C<RD>[DSVOB].*"
arnold/aovs/diffuse_indirect/source: "diffuse_indirect"
arnold/aovs/emission/filter: "gaussian_filter"
arnold/aovs/emission/filter_width: 2
arnold/aovs/emission/lpe: 1
arnold/aovs/emission/lpe_expression: "C[LO]"
arnold/aovs/emission/source: "emission"
arnold/aovs/fresnel/filter: "box_filter"
arnold/aovs/fresnel/source: "fresnel"
arnold/aovs/N/filter: "box_filter"
arnold/aovs/N/source: "N"
arnold/aovs/Pref/filter: "box_filter"
arnold/aovs/Pref/source: "Pref"
arnold/aovs/RGBA/filter: "gaussian_filter"
arnold/aovs/RGBA/filter_width: 2
arnold/aovs/RGBA/lpe: 1
arnold/aovs/RGBA/lpe_expression: "C.*"
arnold/aovs/RGBA/source: "RGBA"
arnold/aovs/specular_direct/filter: "gaussian_filter"
arnold/aovs/specular_direct/filter_width: 2
arnold/aovs/specular_direct/lpe: 1
arnold/aovs/specular_direct/lpe_expression: "C<RS[^'coat''sheen']>L"
arnold/aovs/specular_direct/source: "specular_direct"
arnold/aovs/specular_indirect/filter: "gaussian_filter"
arnold/aovs/specular_indirect/filter_width: 2
arnold/aovs/specular_indirect/lpe: 1
arnold/aovs/specular_indirect/lpe_expression: "C<RS[^'coat''sheen']>[DSVOB].*"
arnold/aovs/specular_indirect/source: "specular_indirect"
arnold/aovs/sss/filter: "gaussian_filter"
arnold/aovs/sss/filter_width: 2
arnold/aovs/sss/lpe: 1
arnold/aovs/sss/lpe_expression: "C<TD>.*"
arnold/aovs/sss/source: "sss"
arnold/aovs/Z/filter: "box_filter"
arnold/aovs/Z/source: "Z"
arnold/auto_transparency_depth: 10
arnold/bounds_max_x: 2995
arnold/bounds_max_y: 2057
arnold/bounds_min_x: 0
arnold/bounds_min_y: 0
arnold/camera/far_clip: 1000
arnold/camera/near_clip: 0.1
arnold/color_manager: "color_manager_ocio"
arnold/color_space: "ACEScg"
arnold/diffuse_depth: 1
arnold/diffuse_samples: 2
arnold/fis_filter: "gaussian"
arnold/fis_filter_width: 2
arnold/fps: 24
arnold/frame: 0
arnold/host/hw: "1 x AMD Ryzen 9 9950X 16-Core Processor (16 cores, 32 logical) with 130710MB"
arnold/host/name: "Maqina-RTX-09"
arnold/host/os: "Windows 10 (version 10.0, build 26100)"
arnold/license_state: "valid"
arnold/specular_depth: 1
arnold/specular_samples: 2
arnold/sss_samples: 3
arnold/stats/date: "Tue Apr 1 23:27:34 2025"
arnold/stats/geo/curve_segments: 8.65504e+07
arnold/stats/geo/triangles: 1.94083e+06
arnold/stats/memory/peak: 26679
arnold/stats/memory/start: 408.539
arnold/stats/rays/all/pixel: 147.915
arnold/stats/rays/all/total: 9.12007e+08
arnold/stats/rays/camera/pixel: 4.25781
arnold/stats/rays/camera/total: 2.62526e+07
arnold/stats/time/render: 62.2762
arnold/stats/time/setup: 34.9591
arnold/texture_max_memory_MB: 4096
arnold/threads: 31
arnold/total_depth: 10
arnold/transmission_depth: 8
arnold/transmission_samples: 2
arnold/version: "Arnold 7.4.1.0 [cc3e15d4] windows x86_64 clang-15.0.7 oiio-2.6.3 osl-1.13.3 vdb-11.0.0 adlsdk-9.5.0.53 clmhub-3.1.1.43 rlm-14.2.5 optix-8.0.0 2025/03/25 22:00:52"
arnold/volume_depth: 0
arnold/volume_samples: 2
CameraFilmApertureHorizontal: 1
CameraFilmApertureVertical: 0.686916
CameraFocalLength: 1.25045
CameraFov: 43.5887
compression: "zip"
cryptomatte/28322e9/conversion: "uint32_to_float32"
cryptomatte/28322e9/hash: "MurmurHash3_32"
cryptomatte/28322e9/manifest: "{"\/character\/char_toy_bear\/geo\/body_GES":"0c1755c6","\/character\/prop_toy_robot\/geo\/Leg_L_GRP\/Foot_L_GRP":"ba7b541c","\/tracking_data\/standin_geo\/floor\/object0":"60863094","\/ibl_reference\/geo":"d6136e07","\/character\/char_toy_bear\/geo\/screen_content_GES":"e635431b","\/character\/prop_toy_robot\/geo\/arm_L_GRP\/lower_arm_L_GRP":"405d1859","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/plateau_GES\/plateau_GESShape":"942f71c3","\/character\/char_slimpie\/geo\/knob_GRP":"1aeefe43","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/stand_GES\/stand_GESShape":"b92ec3b5","\/character\/char_slimpie\/geo":"836fefe9","\/character\/char_toy_bear\/geo\/R_arm_GES":"eadaa9f9","\/character\/prop_toy_robot\/geo\/head_GRP":"01fe1f3a","\/character\/char_slimpie\/geo\/bottom_GRP":"5891ac94","\/character\/char_toy_bear\/geo\/screen_GES":"150214e7","\/character\/prop_toy_robot\/geo":"b8488925","\/character\/char_toy_bear\/geo\/bowtie_GES":"71e3e13a","\/character\/prop_toy_robot\/geo\/Leg_R_GRP":"95ef728e","\/character\/prop_toy_robot\/geo\/Leg_R_GRP\/Foot_R_GRP":"6322670f","\/character\/prop_toy_robot\/geo\/Leg_L_GRP":"eae7695f","\/character\/prop_toy_robot\/geo\/arm_L_GRP":"b25c21ed","\/character\/prop_toy_robot\/geo\/arm_R_GRP":"502906f5","\/character\/char_toy_bear\/geo\/eyes_GES":"b552ae8d","\/character\/prop_toy_robot\/geo\/arm_R_GRP\/lower_arm_R_GRP":"b2774a0b","\/character\/char_toy_bear\/geo\/mouth_GES":"d80ebb77","\/character\/char_toy_bear\/geo\/R_leg_GES":"21ff5e23","\/character\/char_toy_bear\/geo\/head_GES":"fee96276","\/character\/char_toy_bear\/geo\/ears_GES":"4690de75","\/character\/char_toy_bear\/geo\/L_arm_GES":"c1324b6a","\/character\/char_toy_bear\/geo\/L_leg_GES":"8c47a8a3","\/character\/char_toy_bear\/groom":"f42842ac"}"
cryptomatte/28322e9/name: "crypto_asset"
cryptomatte/bda530a/conversion: "uint32_to_float32"
cryptomatte/bda530a/hash: "MurmurHash3_32"
cryptomatte/bda530a/manifest: "{"inside_MTL":"55ce85ef","screen":"aa0ac5dc","flat1":"3654a9dc","glass":"c17feb92","glass_MTL":"ac128a30","bottom_MTL":"c4f1e999","metal_MTL":"cfe4893e","grid_MTL":"15db812d","robot":"5527a8c0","eyes":"3c4b7c32","standard_surface1":"0105d8b5","standard_hair1":"2ab1a9c2","mtlxstandard_surface1":"75baba89"}"
cryptomatte/bda530a/name: "crypto_material"
cryptomatte/f834d0a/conversion: "uint32_to_float32"
cryptomatte/f834d0a/hash: "MurmurHash3_32"
cryptomatte/f834d0a/manifest: "{"bottom_GES":"aa0490fc","Leg_1_R_GES":"4c203bc5","Battery_Cover_GES":"750f9523","mesh":"6e4fa4ca","glass_GES":"7b37169c","ring_GES":"1304f4e7","iron_ring_GES":"2ff0cc0c","gauze_GES":"11c6b11a","inside_GES":"6f2ed9e9","edges_GES":"cde92053","Hand_2_L_Screw_GES":"8d90284d","Head_Part_1_GES":"02911e82","sun_GES":"10d032c8","Torso_GES":"86600e7a","Torso_Screw_GES":"83618a0c","Hand_1_R_GES":"e87e2e36","Glass_Frame_GES":"011881d0","Head_Part_3_GES":"1a0ed5af","Head_Screws_GES":"1248f152","Battery_Cover_Screw_GES":"8805c3d6","bowtie_GESShape":"dc4c0117","Leg_2_R_Screw_GES":"389a3a2a","Head_Part_2_GES":"b532b23d","Head_GES":"4fb77ec7","Glass_GES":"987d699e","Hand_3_L_GES":"e34a71f6","On_Button_GES":"618cf0b9","body_GESShape":"25b88caf","Neck_GES":"2bc65cdb","Leg_2_L_001_GES":"53e018ab","Leg_1_L_GES":"7d0f8166","Leg_2_L_Screw_GES":"793ad8a8","ears_GESShape":"16c1ac47","R_arm_GESShape":"be9c3d65","Leg_2_L_GES":"f3b89228","Hand_1_L_GES":"5c23e33c","Hand_2_L_GES":"3b2904c8","Hand_3_R_GES":"c37e91c9","Hand_2_R_GES":"0c618d5f","Hand_2_R_Screw_GES":"4b242b9b","mouth_GESShape":"da3d7f9b","eyes_GESShape":"90a3f8b0","R_leg_GESShape":"6179a9d9","head_GESShape":"93df4f06","L_arm_GESShape":"7f268699","L_leg_GESShape":"12b7c567","screen_GESShape":"f6a369a2","screen_content_GESShape":"db3f30d4","hair":"65edc56d","hair_short":"9c921132","chrome_ball":"fb15e188","grey_ball":"be20df01","macbeth":"c9d74198"}"
cryptomatte/f834d0a/name: "crypto_object"
DateTime: "2025:04:01 23:27:34"
PixelAspectRatio: 1
screenWindowCenter: 0, 0
screenWindowWidth: 1
worldToCamera: -0.997227, -0.00747155, -0.0740386, 0, 0.00675685, 0.981745, -0.19008, 0, -0.0741072, 0.190054, 0.978973, 0, 10.2405, -31.8519, 57.6854, 1
worldToScreen: -2.49396, -0.0272021, -0.074046, -0.0740386, 0.0168982, 3.5743, -0.190099, -0.19008, -0.185334, 0.691938, 0.979071, 0.978973, 25.6105, -115.965, 57.5912, 57.6854
oiio:ColorSpace: "Linear"
oiio:subimages: 1
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 172
Ticks : 1725042
TotalDays : 1.99657638888889E-06
TotalHours : 4.79178333333333E-05
TotalMinutes : 0.00287507
TotalSeconds : 0.1725042
TotalMilliseconds : 172.5042
==================
>> oiiotool -v input.exr -o output.exr
Reading input.exr
Writing output.exr
Days : 0
Hours : 0
Minutes : 0
Seconds : 30
Milliseconds : 791
Ticks : 307915802
TotalDays : 0.000356384030092593
TotalHours : 0.00855321672222222
TotalMinutes : 0.513193003333333
TotalSeconds : 30.7915802
TotalMilliseconds : 30791.5802
==================
>> oiiotool -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only R,G,B,A
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 24
Milliseconds : 307
Ticks : 243079233
TotalDays : 0.000281341704861111
TotalHours : 0.00675220091666667
TotalMinutes : 0.405132055
TotalSeconds : 24.3079233
TotalMilliseconds : 24307.9233
==================
>> oiiotool --runstats -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only R,G,B,A
Writing output.png
Threads: 32
oiiotool runtime statistics:
Total time: 24.32s
-i : 354.14
-o : 1.57
Peak memory: 2.2 GB
Current memory: 2.1 GB
OpenImageIO ImageCache statistics (shared) ver 2.3.10
Options: max_memory_MB=4096.0 max_open_files=100 autotile=0
autoscanline=0 automip=0 forcefloat=1 accept_untiled=1
accept_unmipped=1 deduplicate=1 unassociatedalpha=0
failure_retries=0
Images : 1 unique
ImageInputs : 2 created, 1 current, 1 peak
Total pixel data size of all images referenced : 1.8 GB
Total actual file size of all images referenced : 53.9 MB
Pixel data read : 1.8 GB
File I/O time : 5m 54.1s (11.1s average per thread, for 32 threads)
File open time only : 0.0s
ImageInput mutex locking time : 0.2s
Tiles: 2302 created, 1551 current, 1551 peak
total tile requests : 96726
micro-cache misses : 96726 (100%)
main cache misses : 2302 (2.37992%)
redundant reads: 0 tiles, 0 B
Peak cache memory : 1.8 GB
Image file statistics:
opens tiles MB read --redundant-- I/O time res File
1 2 1551 1890.3 5m 54.1s 2996x2058x78.f32 input.exr
Tot: 2 1551 1890.3 ( 0 0.0) 5m 54.1s
Broken or invalid files: 0
Days : 0
Hours : 0
Minutes : 0
Seconds : 24
Milliseconds : 787
Ticks : 247876838
TotalDays : 0.000286894488425926
TotalHours : 0.00688546772222222
TotalMinutes : 0.413128063333333
TotalSeconds : 24.7876838
TotalMilliseconds : 24787.6838
==================
>> oiiotool -v -i:ch=R,G,B,A input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 33
Milliseconds : 677
Ticks : 336773497
TotalDays : 0.000389784140046296
TotalHours : 0.00935481936111111
TotalMinutes : 0.561289161666667
TotalSeconds : 33.6773497
TotalMilliseconds : 33677.3497
==================
>> oiiotool -v -i:ch=R,G,B,A input.exr -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 32
Milliseconds : 247
Ticks : 322474215
TotalDays : 0.000373234045138889
TotalHours : 0.00895761708333333
TotalMinutes : 0.537457025
TotalSeconds : 32.2474215
TotalMilliseconds : 32247.4215
==================
>> oiiotool -v input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 25
Milliseconds : 69
Ticks : 250695669
TotalDays : 0.000290157024305556
TotalHours : 0.00696376858333333
TotalMinutes : 0.417826115
TotalSeconds : 25.0695669
TotalMilliseconds : 25069.5669
==================
>> oiiotool -i:ch=R,G,B,A input.exr --cut 1x1 -o out.exr
Days : 0
Hours : 0
Minutes : 0
Seconds : 28
Milliseconds : 679
Ticks : 286793718
TotalDays : 0.000331937173611111
TotalHours : 0.00796649216666667
TotalMinutes : 0.47798953
TotalSeconds : 28.6793718
TotalMilliseconds : 28679.3718
==================
>> oiiotool --buildinfo
OIIO 3.1.1.0dev | unknown arch?
Build compiler: MSVS 1943 | C++17/199711
HW features enabled at build: sse2
No CUDA support (disabled / unavailable at build time)
Dependencies: BZip2 NONE, DCMTK NONE, expat 2.7.1, FFmpeg NONE, fmt 10.2.1, Freetype 2.13.2, GIF NONE, Imath
3.2.0, JPEG 80, JXL NONE, Libheif NONE, libjpeg-turbo 3.0.4, LibRaw NONE, libuhdr, minizip-ng 4.0.7, OpenColorIO
2.4.1, OpenCV NONE, OpenEXR 3.4.0, OpenJPEG NONE, PNG 1.6.47, Ptex NONE, Ptex NONE, pystring, Robinmap 1.4.0, TBB
NONE, TIFF 4.6.0, WebP 1.4.0, yaml-cpp 0.8.0, ZLIB 1.3.1, ZLIB 1.3.1
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 240
Ticks : 2408024
TotalDays : 2.78706481481481E-06
TotalHours : 6.68895555555556E-05
TotalMinutes : 0.00401337333333333
TotalSeconds : 0.2408024
TotalMilliseconds : 240.8024
==================
>> oiiotool -info -v input.exr
Reading input.exr
input.exr : 2996 x 2058, 78 channel, half/half/half/half/float/float/float/float/float/float/float/float/half/half/half/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half openexr
channel list: R (half), G (half), B (half), A (half), Z (float), fresnel (float), N.X (float), N.Y (float), N.Z (float), Pref.X (float), Pref.Y (float), Pref.Z (float), coat.R (half), coat.G (half), coat.B (half), crypto_asset.R (float), crypto_asset.G (float), crypto_asset.B (float), crypto_asset00.R (float), crypto_asset00.G (float), crypto_asset00.B (float), crypto_asset00.A (float), crypto_asset01.R (float), crypto_asset01.G (float), crypto_asset01.B (float), crypto_asset01.A (float), crypto_asset02.R (float), crypto_asset02.G (float), crypto_asset02.B (float), crypto_asset02.A (float), crypto_material.R (float), crypto_material.G (float), crypto_material.B (float), crypto_material00.R (float), crypto_material00.G (float), crypto_material00.B (float), crypto_material00.A (float), crypto_material01.R (float), crypto_material01.G (float), crypto_material01.B (float), crypto_material01.A (float), crypto_material02.R (float), crypto_material02.G (float), crypto_material02.B (float), crypto_material02.A (float), crypto_object.R (float), crypto_object.G (float), crypto_object.B (float), crypto_object00.R (float), crypto_object00.G (float), crypto_object00.B (float), crypto_object00.A (float), crypto_object01.R (float), crypto_object01.G (float), crypto_object01.B (float), crypto_object01.A (float), crypto_object02.R (float), crypto_object02.G (float), crypto_object02.B (float), crypto_object02.A (float), diffuse_direct.R (half), diffuse_direct.G (half), diffuse_direct.B (half), diffuse_indirect.R (half), diffuse_indirect.G (half), diffuse_indirect.B (half), emission.R (half), emission.G (half), emission.B (half), specular_direct.R (half), specular_direct.G (half), specular_direct.B (half), specular_indirect.R (half), specular_indirect.G (half), specular_indirect.B (half), sss.R (half), sss.G (half), sss.B (half)
tile size: 64 x 64
arnold/AA_adaptive_threshold: 0.015
arnold/AA_samples: 2
arnold/AA_samples_max: 2
arnold/AA_seed: 344023205
arnold/aovs/coat/filter: "gaussian_filter"
arnold/aovs/coat/filter_width: 2
arnold/aovs/coat/lpe: 1
arnold/aovs/coat/lpe_expression: "C<RS'coat'>.*"
arnold/aovs/coat/source: "coat"
arnold/aovs/crypto_asset/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset/filter_width: 2
arnold/aovs/crypto_asset/source: "crypto_asset"
arnold/aovs/crypto_asset00/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset00/filter_width: 2
arnold/aovs/crypto_asset00/source: "crypto_asset00"
arnold/aovs/crypto_asset01/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset01/filter_width: 2
arnold/aovs/crypto_asset01/source: "crypto_asset01"
arnold/aovs/crypto_asset02/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset02/filter_width: 2
arnold/aovs/crypto_asset02/source: "crypto_asset02"
arnold/aovs/crypto_material/filter: "cryptomatte_filter"
arnold/aovs/crypto_material/filter_width: 2
arnold/aovs/crypto_material/source: "crypto_material"
arnold/aovs/crypto_material00/filter: "cryptomatte_filter"
arnold/aovs/crypto_material00/filter_width: 2
arnold/aovs/crypto_material00/source: "crypto_material00"
arnold/aovs/crypto_material01/filter: "cryptomatte_filter"
arnold/aovs/crypto_material01/filter_width: 2
arnold/aovs/crypto_material01/source: "crypto_material01"
arnold/aovs/crypto_material02/filter: "cryptomatte_filter"
arnold/aovs/crypto_material02/filter_width: 2
arnold/aovs/crypto_material02/source: "crypto_material02"
arnold/aovs/crypto_object/filter: "cryptomatte_filter"
arnold/aovs/crypto_object/filter_width: 2
arnold/aovs/crypto_object/source: "crypto_object"
arnold/aovs/crypto_object00/filter: "cryptomatte_filter"
arnold/aovs/crypto_object00/filter_width: 2
arnold/aovs/crypto_object00/source: "crypto_object00"
arnold/aovs/crypto_object01/filter: "cryptomatte_filter"
arnold/aovs/crypto_object01/filter_width: 2
arnold/aovs/crypto_object01/source: "crypto_object01"
arnold/aovs/crypto_object02/filter: "cryptomatte_filter"
arnold/aovs/crypto_object02/filter_width: 2
arnold/aovs/crypto_object02/source: "crypto_object02"
arnold/aovs/diffuse_direct/filter: "gaussian_filter"
arnold/aovs/diffuse_direct/filter_width: 2
arnold/aovs/diffuse_direct/lpe: 1
arnold/aovs/diffuse_direct/lpe_expression: "C<RD>L"
arnold/aovs/diffuse_direct/source: "diffuse_direct"
arnold/aovs/diffuse_indirect/filter: "gaussian_filter"
arnold/aovs/diffuse_indirect/filter_width: 2
arnold/aovs/diffuse_indirect/lpe: 1
arnold/aovs/diffuse_indirect/lpe_expression: "C<RD>[DSVOB].*"
arnold/aovs/diffuse_indirect/source: "diffuse_indirect"
arnold/aovs/emission/filter: "gaussian_filter"
arnold/aovs/emission/filter_width: 2
arnold/aovs/emission/lpe: 1
arnold/aovs/emission/lpe_expression: "C[LO]"
arnold/aovs/emission/source: "emission"
arnold/aovs/fresnel/filter: "box_filter"
arnold/aovs/fresnel/source: "fresnel"
arnold/aovs/N/filter: "box_filter"
arnold/aovs/N/source: "N"
arnold/aovs/Pref/filter: "box_filter"
arnold/aovs/Pref/source: "Pref"
arnold/aovs/RGBA/filter: "gaussian_filter"
arnold/aovs/RGBA/filter_width: 2
arnold/aovs/RGBA/lpe: 1
arnold/aovs/RGBA/lpe_expression: "C.*"
arnold/aovs/RGBA/source: "RGBA"
arnold/aovs/specular_direct/filter: "gaussian_filter"
arnold/aovs/specular_direct/filter_width: 2
arnold/aovs/specular_direct/lpe: 1
arnold/aovs/specular_direct/lpe_expression: "C<RS[^'coat''sheen']>L"
arnold/aovs/specular_direct/source: "specular_direct"
arnold/aovs/specular_indirect/filter: "gaussian_filter"
arnold/aovs/specular_indirect/filter_width: 2
arnold/aovs/specular_indirect/lpe: 1
arnold/aovs/specular_indirect/lpe_expression: "C<RS[^'coat''sheen']>[DSVOB].*"
arnold/aovs/specular_indirect/source: "specular_indirect"
arnold/aovs/sss/filter: "gaussian_filter"
arnold/aovs/sss/filter_width: 2
arnold/aovs/sss/lpe: 1
arnold/aovs/sss/lpe_expression: "C<TD>.*"
arnold/aovs/sss/source: "sss"
arnold/aovs/Z/filter: "box_filter"
arnold/aovs/Z/source: "Z"
arnold/auto_transparency_depth: 10
arnold/bounds_max_x: 2995
arnold/bounds_max_y: 2057
arnold/bounds_min_x: 0
arnold/bounds_min_y: 0
arnold/camera/far_clip: 1000
arnold/camera/near_clip: 0.1
arnold/color_manager: "color_manager_ocio"
arnold/color_space: "ACEScg"
arnold/diffuse_depth: 1
arnold/diffuse_samples: 2
arnold/fis_filter: "gaussian"
arnold/fis_filter_width: 2
arnold/fps: 24
arnold/frame: 0
arnold/host/hw: "1 x AMD Ryzen 9 9950X 16-Core Processor (16 cores, 32 logical) with 130710MB"
arnold/host/name: "Maqina-RTX-09"
arnold/host/os: "Windows 10 (version 10.0, build 26100)"
arnold/license_state: "valid"
arnold/specular_depth: 1
arnold/specular_samples: 2
arnold/sss_samples: 3
arnold/stats/date: "Tue Apr 1 23:27:34 2025"
arnold/stats/geo/curve_segments: 8.65504e+07
arnold/stats/geo/triangles: 1.94083e+06
arnold/stats/memory/peak: 26679
arnold/stats/memory/start: 408.539
arnold/stats/rays/all/pixel: 147.915
arnold/stats/rays/all/total: 9.12007e+08
arnold/stats/rays/camera/pixel: 4.25781
arnold/stats/rays/camera/total: 2.62526e+07
arnold/stats/time/render: 62.2762
arnold/stats/time/setup: 34.9591
arnold/texture_max_memory_MB: 4096
arnold/threads: 31
arnold/total_depth: 10
arnold/transmission_depth: 8
arnold/transmission_samples: 2
arnold/version: "Arnold 7.4.1.0 [cc3e15d4] windows x86_64 clang-15.0.7 oiio-2.6.3 osl-1.13.3 vdb-11.0.0 adlsdk-9.5.0.53 clmhub-3.1.1.43 rlm-14.2.5 optix-8.0.0 2025/03/25 22:00:52"
arnold/volume_depth: 0
arnold/volume_samples: 2
CameraFilmApertureHorizontal: 1
CameraFilmApertureVertical: 0.686916
CameraFocalLength: 1.25045
CameraFov: 43.5887
compression: "zip"
cryptomatte/28322e9/conversion: "uint32_to_float32"
cryptomatte/28322e9/hash: "MurmurHash3_32"
cryptomatte/28322e9/manifest: "{"\/character\/char_toy_bear\/geo\/body_GES":"0c1755c6","\/character\/prop_toy_robot\/geo\/Leg_L_GRP\/Foot_L_GRP":"ba7b541c","\/tracking_data\/standin_geo\/floor\/object0":"60863094","\/ibl_reference\/geo":"d6136e07","\/character\/char_toy_bear\/geo\/screen_content_GES":"e635431b","\/character\/prop_toy_robot\/geo\/arm_L_GRP\/lower_arm_L_GRP":"405d1859","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/plateau_GES\/plateau_GESShape":"942f71c3","\/character\/char_slimpie\/geo\/knob_GRP":"1aeefe43","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/stand_GES\/stand_GESShape":"b92ec3b5","\/character\/char_slimpie\/geo":"836fefe9","\/character\/char_toy_bear\/geo\/R_arm_GES":"eadaa9f9","\/character\/prop_toy_robot\/geo\/head_GRP":"01fe1f3a","\/character\/char_slimpie\/geo\/bottom_GRP":"5891ac94","\/character\/char_toy_bear\/geo\/screen_GES":"150214e7","\/character\/prop_toy_robot\/geo":"b8488925","\/character\/char_toy_bear\/geo\/bowtie_GES":"71e3e13a","\/character\/prop_toy_robot\/geo\/Leg_R_GRP":"95ef728e","\/character\/prop_toy_robot\/geo\/Leg_R_GRP\/Foot_R_GRP":"6322670f","\/character\/prop_toy_robot\/geo\/Leg_L_GRP":"eae7695f","\/character\/prop_toy_robot\/geo\/arm_L_GRP":"b25c21ed","\/character\/prop_toy_robot\/geo\/arm_R_GRP":"502906f5","\/character\/char_toy_bear\/geo\/eyes_GES":"b552ae8d","\/character\/prop_toy_robot\/geo\/arm_R_GRP\/lower_arm_R_GRP":"b2774a0b","\/character\/char_toy_bear\/geo\/mouth_GES":"d80ebb77","\/character\/char_toy_bear\/geo\/R_leg_GES":"21ff5e23","\/character\/char_toy_bear\/geo\/head_GES":"fee96276","\/character\/char_toy_bear\/geo\/ears_GES":"4690de75","\/character\/char_toy_bear\/geo\/L_arm_GES":"c1324b6a","\/character\/char_toy_bear\/geo\/L_leg_GES":"8c47a8a3","\/character\/char_toy_bear\/groom":"f42842ac"}"
cryptomatte/28322e9/name: "crypto_asset"
cryptomatte/bda530a/conversion: "uint32_to_float32"
cryptomatte/bda530a/hash: "MurmurHash3_32"
cryptomatte/bda530a/manifest: "{"inside_MTL":"55ce85ef","screen":"aa0ac5dc","flat1":"3654a9dc","glass":"c17feb92","glass_MTL":"ac128a30","bottom_MTL":"c4f1e999","metal_MTL":"cfe4893e","grid_MTL":"15db812d","robot":"5527a8c0","eyes":"3c4b7c32","standard_surface1":"0105d8b5","standard_hair1":"2ab1a9c2","mtlxstandard_surface1":"75baba89"}"
cryptomatte/bda530a/name: "crypto_material"
cryptomatte/f834d0a/conversion: "uint32_to_float32"
cryptomatte/f834d0a/hash: "MurmurHash3_32"
cryptomatte/f834d0a/manifest: "{"bottom_GES":"aa0490fc","Leg_1_R_GES":"4c203bc5","Battery_Cover_GES":"750f9523","mesh":"6e4fa4ca","glass_GES":"7b37169c","ring_GES":"1304f4e7","iron_ring_GES":"2ff0cc0c","gauze_GES":"11c6b11a","inside_GES":"6f2ed9e9","edges_GES":"cde92053","Hand_2_L_Screw_GES":"8d90284d","Head_Part_1_GES":"02911e82","sun_GES":"10d032c8","Torso_GES":"86600e7a","Torso_Screw_GES":"83618a0c","Hand_1_R_GES":"e87e2e36","Glass_Frame_GES":"011881d0","Head_Part_3_GES":"1a0ed5af","Head_Screws_GES":"1248f152","Battery_Cover_Screw_GES":"8805c3d6","bowtie_GESShape":"dc4c0117","Leg_2_R_Screw_GES":"389a3a2a","Head_Part_2_GES":"b532b23d","Head_GES":"4fb77ec7","Glass_GES":"987d699e","Hand_3_L_GES":"e34a71f6","On_Button_GES":"618cf0b9","body_GESShape":"25b88caf","Neck_GES":"2bc65cdb","Leg_2_L_001_GES":"53e018ab","Leg_1_L_GES":"7d0f8166","Leg_2_L_Screw_GES":"793ad8a8","ears_GESShape":"16c1ac47","R_arm_GESShape":"be9c3d65","Leg_2_L_GES":"f3b89228","Hand_1_L_GES":"5c23e33c","Hand_2_L_GES":"3b2904c8","Hand_3_R_GES":"c37e91c9","Hand_2_R_GES":"0c618d5f","Hand_2_R_Screw_GES":"4b242b9b","mouth_GESShape":"da3d7f9b","eyes_GESShape":"90a3f8b0","R_leg_GESShape":"6179a9d9","head_GESShape":"93df4f06","L_arm_GESShape":"7f268699","L_leg_GESShape":"12b7c567","screen_GESShape":"f6a369a2","screen_content_GESShape":"db3f30d4","hair":"65edc56d","hair_short":"9c921132","chrome_ball":"fb15e188","grey_ball":"be20df01","macbeth":"c9d74198"}"
cryptomatte/f834d0a/name: "crypto_object"
DateTime: "2025:04:01 23:27:34"
PixelAspectRatio: 1
screenWindowCenter: 0, 0
screenWindowWidth: 1
worldToCamera: -0.997227, -0.00747155, -0.0740386, 0, 0.00675685, 0.981745, -0.19008, 0, -0.0741072, 0.190054, 0.978973, 0, 10.2405, -31.8519, 57.6854, 1
worldToScreen: -2.49396, -0.0272021, -0.074046, -0.0740386, 0.0168982, 3.5743, -0.190099, -0.19008, -0.185334, 0.691938, 0.979071, 0.978973, 25.6105, -115.965, 57.5912, 57.6854
oiio:ColorSpace: "lin_rec709"
oiio:subimages: 1
openexr:lineOrder: "randomY"
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 320
Ticks : 3201665
TotalDays : 3.70563078703704E-06
TotalHours : 8.89351388888889E-05
TotalMinutes : 0.00533610833333333
TotalSeconds : 0.3201665
TotalMilliseconds : 320.1665
==================
>> oiiotool -v input.exr -o output.exr
Reading input.exr
Writing output.exr
Days : 0
Hours : 0
Minutes : 1
Seconds : 19
Milliseconds : 622
Ticks : 796224082
TotalDays : 0.000921555650462963
TotalHours : 0.0221173356111111
TotalMinutes : 1.32704013666667
TotalSeconds : 79.6224082
TotalMilliseconds : 79622.4082
==================
>> oiiotool -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only channels R,G,B,A
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 18
Milliseconds : 631
Ticks : 186310361
TotalDays : 0.000215636991898148
TotalHours : 0.00517528780555556
TotalMinutes : 0.310517268333333
TotalSeconds : 18.6310361
TotalMilliseconds : 18631.0361
==================
>> oiiotool --runstats -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only channels R,G,B,A
Writing output.png
Threads: 32
oiiotool runtime statistics:
Total time: 18.22s
-i : 268.44
-o : 0.84
Peak memory: 2.1 GB
Current memory: 1.9 GB
ImageBuf local memory: current 0 B, peak 94.1 MB
ImageBuf direct read time: 0.00s, open time 0.00s
OpenImageIO ImageCache statistics (0000022338AFE040) ver 3.1.1.0dev
Options: max_memory_MB=4096.0 max_open_files=100 autotile=0
autoscanline=false automip=false forcefloat=true
accept_untiled=true accept_unmipped=true deduplicate=true
unassociatedalpha=false failure_retries=0 openexr:core=1
Images : 1 unique
ImageInputs : 2 created, 1 current, 1 peak
Total pixel data size of all images referenced : 1.8 GB
Total actual file size of all images referenced : 53.9 MB
Pixel data read : 1.8 GB
File I/O time : 4m 28.4s (8.4s average per thread, for 32 threads)
File open time only : 0.1s
ImageInput mutex locking time : 1.6s
Tiles: 2403 created, 1551 current, 1551 peak
total tile requests : 96726
micro-cache misses : 96726 (100.0%)
main cache misses : 2403 (2.5%)
redundant reads: 0 tiles, 0 B
Peak cache memory : 1.8 GB
Cache : 1.8 GB
Strings : 0 B, count : 2
Thread info : 11 KB, count : 32
Fingerprints : 0 B, count : 0
Tiles : 1.8 GB, count : 1551
Files : 10 KB, count : 1
Format 'openexr' : 10 KB, count : 1
Image inputs : 4 KB, count : 1
Image specs : 8 B, count : 1
Subimages : 5 KB, count : 1
Level infos : 4 KB, count : 1
Image specs : 4 KB, count : 2
Members : 320 B
Extra attributes : 24 B
Channel names : 4 KB
Image file statistics:
opens tiles MB read --redundant-- I/O time res File
1 2 1551 1890.3 4m 28.4s 2996x2058x78.f32 input.exr
Tot: 2 1551 1890.3 ( 0 0.0) 4m 28.4s
Broken or invalid files: 0
Days : 0
Hours : 0
Minutes : 0
Seconds : 18
Milliseconds : 586
Ticks : 185863079
TotalDays : 0.000215119304398148
TotalHours : 0.00516286330555555
TotalMinutes : 0.309771798333333
TotalSeconds : 18.5863079
TotalMilliseconds : 18586.3079
==================
>> oiiotool -v -i:ch=R,G,B,A input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 952
Ticks : 199522977
TotalDays : 0.000230929371527778
TotalHours : 0.00554230491666667
TotalMinutes : 0.332538295
TotalSeconds : 19.9522977
TotalMilliseconds : 19952.2977
==================
>> oiiotool -v -i:ch=R,G,B,A input.exr -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 881
Ticks : 198812314
TotalDays : 0.000230106844907407
TotalHours : 0.00552256427777778
TotalMinutes : 0.331353856666667
TotalSeconds : 19.8812314
TotalMilliseconds : 19881.2314
==================
>> oiiotool -v input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 69
Ticks : 190699690
TotalDays : 0.000220717233796296
TotalHours : 0.00529721361111111
TotalMinutes : 0.317832816666667
TotalSeconds : 19.069969
TotalMilliseconds : 19069.969
==================
>> oiiotool -i:ch=R,G,B,A input.exr --cut 1x1 -o out.exr
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 267
Ticks : 192675217
TotalDays : 0.00022300372337963
TotalHours : 0.00535208936111111
TotalMinutes : 0.321125361666667
TotalSeconds : 19.2675217
TotalMilliseconds : 19267.5217
==================
> oiiotool --buildinfo
OIIO 3.0.5.0 | unknown arch?
Build compiler: MSVS 1943 | C++17/199711
HW features enabled at build: sse2
No CUDA support (disabled / unavailable at build time)
Dependencies: DCMTK NONE, expat 2.6.3, FFmpeg NONE, fmt 10.2.1, Freetype 2.13.2, GIF NONE, Imath 3.1.10, JPEG 80, JXL NONE, libdeflate 1.23, Libheif NONE, libjpeg-turbo 3.0.4, LibRaw NONE, libuhdr 1.2.0, minizip-ng 4.0.7, OpenColorIO 2.4.1, OpenCV NONE, OpenEXR
3.2.4, OpenGL, OpenJPEG NONE, PNG 1.6.47, Ptex NONE, Ptex NONE, pybind11 2.13.6, pystring 1.1.4, Python3 3.11.9, Qt5 NONE, Qt6 NONE, Robinmap 1.3.0, TBB NONE, TIFF 4.6.0, WebP 1.4.0, yaml-cpp 0.8.0, ZLIB 1.3.1, ZLIB 1.3.1
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 384
Ticks : 3843581
TotalDays : 4.44858912037037E-06
TotalHours : 0.000106766138888889
TotalMinutes : 0.00640596833333333
TotalSeconds : 0.3843581
TotalMilliseconds : 384.3581
==================
> oiiotool -info -v input.exr
Reading input.exr
input.exr : 2996 x 2058, 78 channel, half/half/half/half/float/float/float/float/float/float/float/float/half/half/half/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half openexr
channel list: R (half), G (half), B (half), A (half), Z (float), fresnel (float), N.X (float), N.Y (float), N.Z (float), Pref.X (float), Pref.Y (float), Pref.Z (float), coat.R (half), coat.G (half), coat.B (half), crypto_asset.R (float), crypto_asset.G (float), crypto_asset.B (float), crypto_asset00.R (float), crypto_asset00.G (float), crypto_asset00.B (float), crypto_asset00.A (float), crypto_asset01.R (float), crypto_asset01.G (float), crypto_asset01.B (float), crypto_asset01.A (float), crypto_asset02.R (float), crypto_asset02.G (float), crypto_asset02.B (float), crypto_asset02.A (float), crypto_material.R (float), crypto_material.G (float), crypto_material.B (float), crypto_material00.R (float), crypto_material00.G (float), crypto_material00.B (float), crypto_material00.A (float), crypto_material01.R (float), crypto_material01.G (float), crypto_material01.B (float), crypto_material01.A (float), crypto_material02.R (float), crypto_material02.G (float), crypto_material02.B (float), crypto_material02.A (float), crypto_object.R (float), crypto_object.G (float), crypto_object.B (float), crypto_object00.R (float), crypto_object00.G (float), crypto_object00.B (float), crypto_object00.A (float), crypto_object01.R (float), crypto_object01.G (float), crypto_object01.B (float), crypto_object01.A (float), crypto_object02.R (float), crypto_object02.G (float), crypto_object02.B (float), crypto_object02.A (float), diffuse_direct.R (half), diffuse_direct.G (half), diffuse_direct.B (half), diffuse_indirect.R (half), diffuse_indirect.G (half), diffuse_indirect.B (half), emission.R (half), emission.G (half), emission.B (half), specular_direct.R (half), specular_direct.G (half), specular_direct.B (half), specular_indirect.R (half), specular_indirect.G (half), specular_indirect.B (half), sss.R (half), sss.G (half), sss.B (half)
tile size: 64 x 64
arnold/AA_adaptive_threshold: 0.015
arnold/AA_samples: 2
arnold/AA_samples_max: 2
arnold/AA_seed: 344023205
arnold/aovs/coat/filter: "gaussian_filter"
arnold/aovs/coat/filter_width: 2
arnold/aovs/coat/lpe: 1
arnold/aovs/coat/lpe_expression: "C<RS'coat'>.*"
arnold/aovs/coat/source: "coat"
arnold/aovs/crypto_asset/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset/filter_width: 2
arnold/aovs/crypto_asset/source: "crypto_asset"
arnold/aovs/crypto_asset00/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset00/filter_width: 2
arnold/aovs/crypto_asset00/source: "crypto_asset00"
arnold/aovs/crypto_asset01/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset01/filter_width: 2
arnold/aovs/crypto_asset01/source: "crypto_asset01"
arnold/aovs/crypto_asset02/filter: "cryptomatte_filter"
arnold/aovs/crypto_asset02/filter_width: 2
arnold/aovs/crypto_asset02/source: "crypto_asset02"
arnold/aovs/crypto_material/filter: "cryptomatte_filter"
arnold/aovs/crypto_material/filter_width: 2
arnold/aovs/crypto_material/source: "crypto_material"
arnold/aovs/crypto_material00/filter: "cryptomatte_filter"
arnold/aovs/crypto_material00/filter_width: 2
arnold/aovs/crypto_material00/source: "crypto_material00"
arnold/aovs/crypto_material01/filter: "cryptomatte_filter"
arnold/aovs/crypto_material01/filter_width: 2
arnold/aovs/crypto_material01/source: "crypto_material01"
arnold/aovs/crypto_material02/filter: "cryptomatte_filter"
arnold/aovs/crypto_material02/filter_width: 2
arnold/aovs/crypto_material02/source: "crypto_material02"
arnold/aovs/crypto_object/filter: "cryptomatte_filter"
arnold/aovs/crypto_object/filter_width: 2
arnold/aovs/crypto_object/source: "crypto_object"
arnold/aovs/crypto_object00/filter: "cryptomatte_filter"
arnold/aovs/crypto_object00/filter_width: 2
arnold/aovs/crypto_object00/source: "crypto_object00"
arnold/aovs/crypto_object01/filter: "cryptomatte_filter"
arnold/aovs/crypto_object01/filter_width: 2
arnold/aovs/crypto_object01/source: "crypto_object01"
arnold/aovs/crypto_object02/filter: "cryptomatte_filter"
arnold/aovs/crypto_object02/filter_width: 2
arnold/aovs/crypto_object02/source: "crypto_object02"
arnold/aovs/diffuse_direct/filter: "gaussian_filter"
arnold/aovs/diffuse_direct/filter_width: 2
arnold/aovs/diffuse_direct/lpe: 1
arnold/aovs/diffuse_direct/lpe_expression: "C<RD>L"
arnold/aovs/diffuse_direct/source: "diffuse_direct"
arnold/aovs/diffuse_indirect/filter: "gaussian_filter"
arnold/aovs/diffuse_indirect/filter_width: 2
arnold/aovs/diffuse_indirect/lpe: 1
arnold/aovs/diffuse_indirect/lpe_expression: "C<RD>[DSVOB].*"
arnold/aovs/diffuse_indirect/source: "diffuse_indirect"
arnold/aovs/emission/filter: "gaussian_filter"
arnold/aovs/emission/filter_width: 2
arnold/aovs/emission/lpe: 1
arnold/aovs/emission/lpe_expression: "C[LO]"
arnold/aovs/emission/source: "emission"
arnold/aovs/fresnel/filter: "box_filter"
arnold/aovs/fresnel/source: "fresnel"
arnold/aovs/N/filter: "box_filter"
arnold/aovs/N/source: "N"
arnold/aovs/Pref/filter: "box_filter"
arnold/aovs/Pref/source: "Pref"
arnold/aovs/RGBA/filter: "gaussian_filter"
arnold/aovs/RGBA/filter_width: 2
arnold/aovs/RGBA/lpe: 1
arnold/aovs/RGBA/lpe_expression: "C.*"
arnold/aovs/RGBA/source: "RGBA"
arnold/aovs/specular_direct/filter: "gaussian_filter"
arnold/aovs/specular_direct/filter_width: 2
arnold/aovs/specular_direct/lpe: 1
arnold/aovs/specular_direct/lpe_expression: "C<RS[^'coat''sheen']>L"
arnold/aovs/specular_direct/source: "specular_direct"
arnold/aovs/specular_indirect/filter: "gaussian_filter"
arnold/aovs/specular_indirect/filter_width: 2
arnold/aovs/specular_indirect/lpe: 1
arnold/aovs/specular_indirect/lpe_expression: "C<RS[^'coat''sheen']>[DSVOB].*"
arnold/aovs/specular_indirect/source: "specular_indirect"
arnold/aovs/sss/filter: "gaussian_filter"
arnold/aovs/sss/filter_width: 2
arnold/aovs/sss/lpe: 1
arnold/aovs/sss/lpe_expression: "C<TD>.*"
arnold/aovs/sss/source: "sss"
arnold/aovs/Z/filter: "box_filter"
arnold/aovs/Z/source: "Z"
arnold/auto_transparency_depth: 10
arnold/bounds_max_x: 2995
arnold/bounds_max_y: 2057
arnold/bounds_min_x: 0
arnold/bounds_min_y: 0
arnold/camera/far_clip: 1000
arnold/camera/near_clip: 0.1
arnold/color_manager: "color_manager_ocio"
arnold/color_space: "ACEScg"
arnold/diffuse_depth: 1
arnold/diffuse_samples: 2
arnold/fis_filter: "gaussian"
arnold/fis_filter_width: 2
arnold/fps: 24
arnold/frame: 0
arnold/host/hw: "1 x AMD Ryzen 9 9950X 16-Core Processor (16 cores, 32 logical) with 130710MB"
arnold/host/name: "Maqina-RTX-09"
arnold/host/os: "Windows 10 (version 10.0, build 26100)"
arnold/license_state: "valid"
arnold/specular_depth: 1
arnold/specular_samples: 2
arnold/sss_samples: 3
arnold/stats/date: "Tue Apr 1 23:27:34 2025"
arnold/stats/geo/curve_segments: 8.65504e+07
arnold/stats/geo/triangles: 1.94083e+06
arnold/stats/memory/peak: 26679
arnold/stats/memory/start: 408.539
arnold/stats/rays/all/pixel: 147.915
arnold/stats/rays/all/total: 9.12007e+08
arnold/stats/rays/camera/pixel: 4.25781
arnold/stats/rays/camera/total: 2.62526e+07
arnold/stats/time/render: 62.2762
arnold/stats/time/setup: 34.9591
arnold/texture_max_memory_MB: 4096
arnold/threads: 31
arnold/total_depth: 10
arnold/transmission_depth: 8
arnold/transmission_samples: 2
arnold/version: "Arnold 7.4.1.0 [cc3e15d4] windows x86_64 clang-15.0.7 oiio-2.6.3 osl-1.13.3 vdb-11.0.0 adlsdk-9.5.0.53 clmhub-3.1.1.43 rlm-14.2.5 optix-8.0.0 2025/03/25 22:00:52"
arnold/volume_depth: 0
arnold/volume_samples: 2
CameraFilmApertureHorizontal: 1
CameraFilmApertureVertical: 0.686916
CameraFocalLength: 1.25045
CameraFov: 43.5887
compression: "zip"
cryptomatte/28322e9/conversion: "uint32_to_float32"
cryptomatte/28322e9/hash: "MurmurHash3_32"
cryptomatte/28322e9/manifest: "{"\/character\/char_toy_bear\/geo\/body_GES":"0c1755c6","\/character\/prop_toy_robot\/geo\/Leg_L_GRP\/Foot_L_GRP":"ba7b541c","\/tracking_data\/standin_geo\/floor\/object0":"60863094","\/ibl_reference\/geo":"d6136e07","\/character\/char_toy_bear\/geo\/screen_content_GES":"e635431b","\/character\/prop_toy_robot\/geo\/arm_L_GRP\/lower_arm_L_GRP":"405d1859","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/plateau_GES\/plateau_GESShape":"942f71c3","\/character\/char_slimpie\/geo\/knob_GRP":"1aeefe43","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/stand_GES\/stand_GESShape":"b92ec3b5","\/character\/char_slimpie\/geo":"836fefe9","\/character\/char_toy_bear\/geo\/R_arm_GES":"eadaa9f9","\/character\/prop_toy_robot\/geo\/head_GRP":"01fe1f3a","\/character\/char_slimpie\/geo\/bottom_GRP":"5891ac94","\/character\/char_toy_bear\/geo\/screen_GES":"150214e7","\/character\/prop_toy_robot\/geo":"b8488925","\/character\/char_toy_bear\/geo\/bowtie_GES":"71e3e13a","\/character\/prop_toy_robot\/geo\/Leg_R_GRP":"95ef728e","\/character\/prop_toy_robot\/geo\/Leg_R_GRP\/Foot_R_GRP":"6322670f","\/character\/prop_toy_robot\/geo\/Leg_L_GRP":"eae7695f","\/character\/prop_toy_robot\/geo\/arm_L_GRP":"b25c21ed","\/character\/prop_toy_robot\/geo\/arm_R_GRP":"502906f5","\/character\/char_toy_bear\/geo\/eyes_GES":"b552ae8d","\/character\/prop_toy_robot\/geo\/arm_R_GRP\/lower_arm_R_GRP":"b2774a0b","\/character\/char_toy_bear\/geo\/mouth_GES":"d80ebb77","\/character\/char_toy_bear\/geo\/R_leg_GES":"21ff5e23","\/character\/char_toy_bear\/geo\/head_GES":"fee96276","\/character\/char_toy_bear\/geo\/ears_GES":"4690de75","\/character\/char_toy_bear\/geo\/L_arm_GES":"c1324b6a","\/character\/char_toy_bear\/geo\/L_leg_GES":"8c47a8a3","\/character\/char_toy_bear\/groom":"f42842ac"}"
cryptomatte/28322e9/name: "crypto_asset"
cryptomatte/bda530a/conversion: "uint32_to_float32"
cryptomatte/bda530a/hash: "MurmurHash3_32"
cryptomatte/bda530a/manifest: "{"inside_MTL":"55ce85ef","screen":"aa0ac5dc","flat1":"3654a9dc","glass":"c17feb92","glass_MTL":"ac128a30","bottom_MTL":"c4f1e999","metal_MTL":"cfe4893e","grid_MTL":"15db812d","robot":"5527a8c0","eyes":"3c4b7c32","standard_surface1":"0105d8b5","standard_hair1":"2ab1a9c2","mtlxstandard_surface1":"75baba89"}"
cryptomatte/bda530a/name: "crypto_material"
cryptomatte/f834d0a/conversion: "uint32_to_float32"
cryptomatte/f834d0a/hash: "MurmurHash3_32"
cryptomatte/f834d0a/manifest: "{"bottom_GES":"aa0490fc","Leg_1_R_GES":"4c203bc5","Battery_Cover_GES":"750f9523","mesh":"6e4fa4ca","glass_GES":"7b37169c","ring_GES":"1304f4e7","iron_ring_GES":"2ff0cc0c","gauze_GES":"11c6b11a","inside_GES":"6f2ed9e9","edges_GES":"cde92053","Hand_2_L_Screw_GES":"8d90284d","Head_Part_1_GES":"02911e82","sun_GES":"10d032c8","Torso_GES":"86600e7a","Torso_Screw_GES":"83618a0c","Hand_1_R_GES":"e87e2e36","Glass_Frame_GES":"011881d0","Head_Part_3_GES":"1a0ed5af","Head_Screws_GES":"1248f152","Battery_Cover_Screw_GES":"8805c3d6","bowtie_GESShape":"dc4c0117","Leg_2_R_Screw_GES":"389a3a2a","Head_Part_2_GES":"b532b23d","Head_GES":"4fb77ec7","Glass_GES":"987d699e","Hand_3_L_GES":"e34a71f6","On_Button_GES":"618cf0b9","body_GESShape":"25b88caf","Neck_GES":"2bc65cdb","Leg_2_L_001_GES":"53e018ab","Leg_1_L_GES":"7d0f8166","Leg_2_L_Screw_GES":"793ad8a8","ears_GESShape":"16c1ac47","R_arm_GESShape":"be9c3d65","Leg_2_L_GES":"f3b89228","Hand_1_L_GES":"5c23e33c","Hand_2_L_GES":"3b2904c8","Hand_3_R_GES":"c37e91c9","Hand_2_R_GES":"0c618d5f","Hand_2_R_Screw_GES":"4b242b9b","mouth_GESShape":"da3d7f9b","eyes_GESShape":"90a3f8b0","R_leg_GESShape":"6179a9d9","head_GESShape":"93df4f06","L_arm_GESShape":"7f268699","L_leg_GESShape":"12b7c567","screen_GESShape":"f6a369a2","screen_content_GESShape":"db3f30d4","hair":"65edc56d","hair_short":"9c921132","chrome_ball":"fb15e188","grey_ball":"be20df01","macbeth":"c9d74198"}"
cryptomatte/f834d0a/name: "crypto_object"
DateTime: "2025:04:01 23:27:34"
PixelAspectRatio: 1
screenWindowCenter: 0, 0
screenWindowWidth: 1
worldToCamera: -0.997227, -0.00747155, -0.0740386, 0, 0.00675685, 0.981745, -0.19008, 0, -0.0741072, 0.190054, 0.978973, 0, 10.2405, -31.8519, 57.6854, 1
worldToScreen: -2.49396, -0.0272021, -0.074046, -0.0740386, 0.0168982, 3.5743, -0.190099, -0.19008, -0.185334, 0.691938, 0.979071, 0.978973, 25.6105, -115.965, 57.5912, 57.6854
oiio:ColorSpace: "lin_rec709"
oiio:subimages: 1
openexr:lineOrder: "randomY"
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 448
Ticks : 4480517
TotalDays : 5.18578356481481E-06
TotalHours : 0.000124458805555556
TotalMinutes : 0.00746752833333333
TotalSeconds : 0.4480517
TotalMilliseconds : 448.0517
==================
> oiiotool -v input.exr -o output.exr
Reading input.exr
Writing output.exr
Days : 0
Hours : 0
Minutes : 1
Seconds : 23
Milliseconds : 178
Ticks : 831786824
TotalDays : 0.000962716231481481
TotalHours : 0.0231051895555556
TotalMinutes : 1.38631137333333
TotalSeconds : 83.1786824
TotalMilliseconds : 83178.6824
==================
>
+
oiiotool -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only channels R,G,B,A
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 16
Milliseconds : 368
Ticks : 163689600
TotalDays : 0.000189455555555556
TotalHours : 0.00454693333333333
TotalMinutes : 0.272816
TotalSeconds : 16.36896
TotalMilliseconds : 16368.96
==================
> oiiotool --runstats -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only channels R,G,B,A
Writing output.png
Threads: 32
oiiotool runtime statistics:
Total time: 15.89s
-i : 232.18
-o : 0.85
Peak memory: 2.3 GB
Current memory: 2.1 GB
ImageBuf local memory: current 0 B, peak 94.1 MB
ImageBuf direct read time: 0.00s, open time 0.00s
OpenImageIO ImageCache statistics (000002428C85E040) ver 3.0.5.0
Options: max_memory_MB=4096.0 max_open_files=100 autotile=0
autoscanline=false automip=false forcefloat=true
accept_untiled=true accept_unmipped=true deduplicate=true
unassociatedalpha=false failure_retries=0 openexr:core=0
Images : 1 unique
ImageInputs : 2 created, 1 current, 1 peak
Total pixel data size of all images referenced : 1.8 GB
Total actual file size of all images referenced : 53.9 MB
Pixel data read : 1.8 GB
File I/O time : 3m 52.2s (7.3s average per thread, for 32 threads)
File open time only : 0.0s
ImageInput mutex locking time : 0.1s
Tiles: 2424 created, 1551 current, 1551 peak
total tile requests : 96726
micro-cache misses : 96726 (100.0%)
main cache misses : 2424 (2.5%)
redundant reads: 0 tiles, 0 B
Peak cache memory : 1.8 GB
Cache : 1.8 GB
Strings : 0 B, count : 2
Thread info : 11 KB, count : 32
Fingerprints : 0 B, count : 0
Tiles : 1.8 GB, count : 1551
Files : 10 KB, count : 1
Format 'openexr' : 10 KB, count : 1
Image inputs : 4 KB, count : 1
Image specs : 8 B, count : 1
Subimages : 5 KB, count : 1
Level infos : 4 KB, count : 1
Image specs : 4 KB, count : 2
Members : 320 B
Extra attributes : 24 B
Channel names : 4 KB
Image file statistics:
opens tiles MB read --redundant-- I/O time res File
1 2 1551 1890.3 3m 52.2s 2996x2058x78.f32 input.exr
Tot: 2 1551 1890.3 ( 0 0.0) 3m 52.2s
Broken or invalid files: 0
Days : 0
Hours : 0
Minutes : 0
Seconds : 16
Milliseconds : 584
Ticks : 165844903
TotalDays : 0.000191950119212963
TotalHours : 0.00460680286111111
TotalMinutes : 0.276408171666667
TotalSeconds : 16.5844903
TotalMilliseconds : 16584.4903
==================
> oiiotool -v -i:ch=R,G,B,A input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 234
Ticks : 192349075
TotalDays : 0.000222626244212963
TotalHours : 0.00534302986111111
TotalMinutes : 0.320581791666667
TotalSeconds : 19.2349075
TotalMilliseconds : 19234.9075
==================
> oiiotool -v -i:ch=R,G,B,A input.exr -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 40
Ticks : 190405977
TotalDays : 0.000220377288194444
TotalHours : 0.00528905491666667
TotalMinutes : 0.317343295
TotalSeconds : 19.0405977
TotalMilliseconds : 19040.5977
==================
> oiiotool -v input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days : 0
Hours : 0
Minutes : 0
Seconds : 16
Milliseconds : 170
Ticks : 161704054
TotalDays : 0.000187157469907407
TotalHours : 0.00449177927777778
TotalMinutes : 0.269506756666667
TotalSeconds : 16.1704054
TotalMilliseconds : 16170.4054
==================
> oiiotool -i:ch=R,G,B,A input.exr --cut 1x1 -o out.exr
Days : 0
Hours : 0
Minutes : 0
Seconds : 18
Milliseconds : 69
Ticks : 180699363
TotalDays : 0.00020914278125
TotalHours : 0.00501942675
TotalMinutes : 0.301165605
TotalSeconds : 18.0699363
TotalMilliseconds : 18069.9363
@BigRoy
Copy link
Author

BigRoy commented Apr 23, 2025

Specs:

  • Windows 10
  • 2x Intel(R) Xeon(R) CPU E5-2680 0 @2.70Ghz
    • Dual Xeon in HP workstation
  • 128 GB RAM
  • 4 GB GPU

Got asked about whether adding tbb support would make a difference on my slow dual xeon machine:

Years ago I noticed OIIO’s parallel scheduling code had a bunch of overhead. I vaguely recall lots of work being done to schedule out each individual pixel. Assuming I am not misremembering, and I might be, I am not surprised you are not seeing a scaling benefit, especially on multiple sockets where there is a large cost in cache line sharing. I’m curious if rebuilding with TBB support improves performance?

My response:

So, I've been testing some build variants.

When enabling more hardware features like SSSE3, SSE4.1 SSE4.2, AVX etc. makes it so that the executable doesn't work on my machine - likely due to some AVX (it does work on newer machines but there was no real measurable performance difference on this simple read/write test cases) so I opted going back to just the sse2 default but adding OpenTBB which does run.

Here is the output from using that build:

==================
>> oiiotool --buildinfo
OIIO 3.1.1.0dev | unknown arch?
    Build compiler: MSVS 1943 | C++17/199711
    HW features enabled at build: sse2
    No CUDA support (disabled / unavailable at build time)
Dependencies: DCMTK NONE, expat 2.6.3, FFmpeg NONE, fmt 10.2.1, Freetype 2.13.2, GIF NONE, Imath 3.2.0, JPEG 80,
    JXL NONE, libdeflate 1.23, Libheif NONE, libjpeg-turbo 3.0.4, LibRaw NONE, libuhdr 1.2.0, minizip-ng 4.0.7,
    OpenColorIO 2.4.1, OpenCV NONE, OpenEXR 3.4.0, OpenJPEG NONE, OpenVDB NONE, PNG 1.6.47, Ptex NONE, Ptex NONE,
    pystring 1.1.4, Robinmap 1.4.0, TBB 2022.2.0, TIFF 4.6.0, WebP 1.4.0, yaml-cpp 0.8.0, ZLIB 1.3.1, ZLIB 1.3.1


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 123
Ticks             : 1239272
TotalDays         : 1.43434259259259E-06
TotalHours        : 3.44242222222222E-05
TotalMinutes      : 0.00206545333333333
TotalSeconds      : 0.1239272
TotalMilliseconds : 123.9272

==================
>> oiiotool -info -v input.exr
Reading input.exr
input.exr            : 2996 x 2058, 78 channel, half/half/half/half/float/float/float/float/float/float/float/float/half/half/half/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/float/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half/half openexr
    channel list: R (half), G (half), B (half), A (half), Z (float), fresnel (float), N.X (float), N.Y (float), N.Z (float), Pref.X (float), Pref.Y (float), Pref.Z (float), coat.R (half), coat.G (half), coat.B (half), crypto_asset.R (float), crypto_asset.G (float), crypto_asset.B (float), crypto_asset00.R (float), crypto_asset00.G (float), crypto_asset00.B (float), crypto_asset00.A (float), crypto_asset01.R (float), crypto_asset01.G (float), crypto_asset01.B (float), crypto_asset01.A (float), crypto_asset02.R (float), crypto_asset02.G (float), crypto_asset02.B (float), crypto_asset02.A (float), crypto_material.R (float), crypto_material.G (float), crypto_material.B (float), crypto_material00.R (float), crypto_material00.G (float), crypto_material00.B (float), crypto_material00.A (float), crypto_material01.R (float), crypto_material01.G (float), crypto_material01.B (float), crypto_material01.A (float), crypto_material02.R (float), crypto_material02.G (float), crypto_material02.B (float), crypto_material02.A (float), crypto_object.R (float), crypto_object.G (float), crypto_object.B (float), crypto_object00.R (float), crypto_object00.G (float), crypto_object00.B (float), crypto_object00.A (float), crypto_object01.R (float), crypto_object01.G (float), crypto_object01.B (float), crypto_object01.A (float), crypto_object02.R (float), crypto_object02.G (float), crypto_object02.B (float), crypto_object02.A (float), diffuse_direct.R (half), diffuse_direct.G (half), diffuse_direct.B (half), diffuse_indirect.R (half), diffuse_indirect.G (half), diffuse_indirect.B (half), emission.R (half), emission.G (half), emission.B (half), specular_direct.R (half), specular_direct.G (half), specular_direct.B (half), specular_indirect.R (half), specular_indirect.G (half), specular_indirect.B (half), sss.R (half), sss.G (half), sss.B (half)
    tile size: 64 x 64
    arnold/AA_adaptive_threshold: 0.015
    arnold/AA_samples: 2
    arnold/AA_samples_max: 2
    arnold/AA_seed: 344023205
    arnold/aovs/coat/filter: "gaussian_filter"
    arnold/aovs/coat/filter_width: 2
    arnold/aovs/coat/lpe: 1
    arnold/aovs/coat/lpe_expression: "C<RS'coat'>.*"
    arnold/aovs/coat/source: "coat"
    arnold/aovs/crypto_asset/filter: "cryptomatte_filter"
    arnold/aovs/crypto_asset/filter_width: 2
    arnold/aovs/crypto_asset/source: "crypto_asset"
    arnold/aovs/crypto_asset00/filter: "cryptomatte_filter"
    arnold/aovs/crypto_asset00/filter_width: 2
    arnold/aovs/crypto_asset00/source: "crypto_asset00"
    arnold/aovs/crypto_asset01/filter: "cryptomatte_filter"
    arnold/aovs/crypto_asset01/filter_width: 2
    arnold/aovs/crypto_asset01/source: "crypto_asset01"
    arnold/aovs/crypto_asset02/filter: "cryptomatte_filter"
    arnold/aovs/crypto_asset02/filter_width: 2
    arnold/aovs/crypto_asset02/source: "crypto_asset02"
    arnold/aovs/crypto_material/filter: "cryptomatte_filter"
    arnold/aovs/crypto_material/filter_width: 2
    arnold/aovs/crypto_material/source: "crypto_material"
    arnold/aovs/crypto_material00/filter: "cryptomatte_filter"
    arnold/aovs/crypto_material00/filter_width: 2
    arnold/aovs/crypto_material00/source: "crypto_material00"
    arnold/aovs/crypto_material01/filter: "cryptomatte_filter"
    arnold/aovs/crypto_material01/filter_width: 2
    arnold/aovs/crypto_material01/source: "crypto_material01"
    arnold/aovs/crypto_material02/filter: "cryptomatte_filter"
    arnold/aovs/crypto_material02/filter_width: 2
    arnold/aovs/crypto_material02/source: "crypto_material02"
    arnold/aovs/crypto_object/filter: "cryptomatte_filter"
    arnold/aovs/crypto_object/filter_width: 2
    arnold/aovs/crypto_object/source: "crypto_object"
    arnold/aovs/crypto_object00/filter: "cryptomatte_filter"
    arnold/aovs/crypto_object00/filter_width: 2
    arnold/aovs/crypto_object00/source: "crypto_object00"
    arnold/aovs/crypto_object01/filter: "cryptomatte_filter"
    arnold/aovs/crypto_object01/filter_width: 2
    arnold/aovs/crypto_object01/source: "crypto_object01"
    arnold/aovs/crypto_object02/filter: "cryptomatte_filter"
    arnold/aovs/crypto_object02/filter_width: 2
    arnold/aovs/crypto_object02/source: "crypto_object02"
    arnold/aovs/diffuse_direct/filter: "gaussian_filter"
    arnold/aovs/diffuse_direct/filter_width: 2
    arnold/aovs/diffuse_direct/lpe: 1
    arnold/aovs/diffuse_direct/lpe_expression: "C<RD>L"
    arnold/aovs/diffuse_direct/source: "diffuse_direct"
    arnold/aovs/diffuse_indirect/filter: "gaussian_filter"
    arnold/aovs/diffuse_indirect/filter_width: 2
    arnold/aovs/diffuse_indirect/lpe: 1
    arnold/aovs/diffuse_indirect/lpe_expression: "C<RD>[DSVOB].*"
    arnold/aovs/diffuse_indirect/source: "diffuse_indirect"
    arnold/aovs/emission/filter: "gaussian_filter"
    arnold/aovs/emission/filter_width: 2
    arnold/aovs/emission/lpe: 1
    arnold/aovs/emission/lpe_expression: "C[LO]"
    arnold/aovs/emission/source: "emission"
    arnold/aovs/fresnel/filter: "box_filter"
    arnold/aovs/fresnel/source: "fresnel"
    arnold/aovs/N/filter: "box_filter"
    arnold/aovs/N/source: "N"
    arnold/aovs/Pref/filter: "box_filter"
    arnold/aovs/Pref/source: "Pref"
    arnold/aovs/RGBA/filter: "gaussian_filter"
    arnold/aovs/RGBA/filter_width: 2
    arnold/aovs/RGBA/lpe: 1
    arnold/aovs/RGBA/lpe_expression: "C.*"
    arnold/aovs/RGBA/source: "RGBA"
    arnold/aovs/specular_direct/filter: "gaussian_filter"
    arnold/aovs/specular_direct/filter_width: 2
    arnold/aovs/specular_direct/lpe: 1
    arnold/aovs/specular_direct/lpe_expression: "C<RS[^'coat''sheen']>L"
    arnold/aovs/specular_direct/source: "specular_direct"
    arnold/aovs/specular_indirect/filter: "gaussian_filter"
    arnold/aovs/specular_indirect/filter_width: 2
    arnold/aovs/specular_indirect/lpe: 1
    arnold/aovs/specular_indirect/lpe_expression: "C<RS[^'coat''sheen']>[DSVOB].*"
    arnold/aovs/specular_indirect/source: "specular_indirect"
    arnold/aovs/sss/filter: "gaussian_filter"
    arnold/aovs/sss/filter_width: 2
    arnold/aovs/sss/lpe: 1
    arnold/aovs/sss/lpe_expression: "C<TD>.*"
    arnold/aovs/sss/source: "sss"
    arnold/aovs/Z/filter: "box_filter"
    arnold/aovs/Z/source: "Z"
    arnold/auto_transparency_depth: 10
    arnold/bounds_max_x: 2995
    arnold/bounds_max_y: 2057
    arnold/bounds_min_x: 0
    arnold/bounds_min_y: 0
    arnold/camera/far_clip: 1000
    arnold/camera/near_clip: 0.1
    arnold/color_manager: "color_manager_ocio"
    arnold/color_space: "ACEScg"
    arnold/diffuse_depth: 1
    arnold/diffuse_samples: 2
    arnold/fis_filter: "gaussian"
    arnold/fis_filter_width: 2
    arnold/fps: 24
    arnold/frame: 0
    arnold/host/hw: "1 x AMD Ryzen 9 9950X 16-Core Processor  (16 cores, 32 logical) with 130710MB"
    arnold/host/name: "Maqina-RTX-09"
    arnold/host/os: "Windows 10 (version 10.0, build 26100)"
    arnold/license_state: "valid"
    arnold/specular_depth: 1
    arnold/specular_samples: 2
    arnold/sss_samples: 3
    arnold/stats/date: "Tue Apr  1 23:27:34 2025"
    arnold/stats/geo/curve_segments: 8.65504e+07
    arnold/stats/geo/triangles: 1.94083e+06
    arnold/stats/memory/peak: 26679
    arnold/stats/memory/start: 408.539
    arnold/stats/rays/all/pixel: 147.915
    arnold/stats/rays/all/total: 9.12007e+08
    arnold/stats/rays/camera/pixel: 4.25781
    arnold/stats/rays/camera/total: 2.62526e+07
    arnold/stats/time/render: 62.2762
    arnold/stats/time/setup: 34.9591
    arnold/texture_max_memory_MB: 4096
    arnold/threads: 31
    arnold/total_depth: 10
    arnold/transmission_depth: 8
    arnold/transmission_samples: 2
    arnold/version: "Arnold 7.4.1.0 [cc3e15d4] windows x86_64 clang-15.0.7 oiio-2.6.3 osl-1.13.3 vdb-11.0.0 adlsdk-9.5.0.53 clmhub-3.1.1.43 rlm-14.2.5 optix-8.0.0 2025/03/25 22:00:52"
    arnold/volume_depth: 0
    arnold/volume_samples: 2
    CameraFilmApertureHorizontal: 1
    CameraFilmApertureVertical: 0.686916
    CameraFocalLength: 1.25045
    CameraFov: 43.5887
    compression: "zip"
    cryptomatte/28322e9/conversion: "uint32_to_float32"
    cryptomatte/28322e9/hash: "MurmurHash3_32"
    cryptomatte/28322e9/manifest: "{"\/character\/char_toy_bear\/geo\/body_GES":"0c1755c6","\/character\/prop_toy_robot\/geo\/Leg_L_GRP\/Foot_L_GRP":"ba7b541c","\/tracking_data\/standin_geo\/floor\/object0":"60863094","\/ibl_reference\/geo":"d6136e07","\/character\/char_toy_bear\/geo\/screen_content_GES":"e635431b","\/character\/prop_toy_robot\/geo\/arm_L_GRP\/lower_arm_L_GRP":"405d1859","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/plateau_GES\/plateau_GESShape":"942f71c3","\/character\/char_slimpie\/geo\/knob_GRP":"1aeefe43","\/tracking_data\/standin_geo\/modelTable_var02_bear_si_Geo_shoot02\/root\/si_Geo_shoot02\/geo\/table_02_Geo_shoot02\/geo\/table_bear_GRP\/stand_GES\/stand_GESShape":"b92ec3b5","\/character\/char_slimpie\/geo":"836fefe9","\/character\/char_toy_bear\/geo\/R_arm_GES":"eadaa9f9","\/character\/prop_toy_robot\/geo\/head_GRP":"01fe1f3a","\/character\/char_slimpie\/geo\/bottom_GRP":"5891ac94","\/character\/char_toy_bear\/geo\/screen_GES":"150214e7","\/character\/prop_toy_robot\/geo":"b8488925","\/character\/char_toy_bear\/geo\/bowtie_GES":"71e3e13a","\/character\/prop_toy_robot\/geo\/Leg_R_GRP":"95ef728e","\/character\/prop_toy_robot\/geo\/Leg_R_GRP\/Foot_R_GRP":"6322670f","\/character\/prop_toy_robot\/geo\/Leg_L_GRP":"eae7695f","\/character\/prop_toy_robot\/geo\/arm_L_GRP":"b25c21ed","\/character\/prop_toy_robot\/geo\/arm_R_GRP":"502906f5","\/character\/char_toy_bear\/geo\/eyes_GES":"b552ae8d","\/character\/prop_toy_robot\/geo\/arm_R_GRP\/lower_arm_R_GRP":"b2774a0b","\/character\/char_toy_bear\/geo\/mouth_GES":"d80ebb77","\/character\/char_toy_bear\/geo\/R_leg_GES":"21ff5e23","\/character\/char_toy_bear\/geo\/head_GES":"fee96276","\/character\/char_toy_bear\/geo\/ears_GES":"4690de75","\/character\/char_toy_bear\/geo\/L_arm_GES":"c1324b6a","\/character\/char_toy_bear\/geo\/L_leg_GES":"8c47a8a3","\/character\/char_toy_bear\/groom":"f42842ac"}"
    cryptomatte/28322e9/name: "crypto_asset"
    cryptomatte/bda530a/conversion: "uint32_to_float32"
    cryptomatte/bda530a/hash: "MurmurHash3_32"
    cryptomatte/bda530a/manifest: "{"inside_MTL":"55ce85ef","screen":"aa0ac5dc","flat1":"3654a9dc","glass":"c17feb92","glass_MTL":"ac128a30","bottom_MTL":"c4f1e999","metal_MTL":"cfe4893e","grid_MTL":"15db812d","robot":"5527a8c0","eyes":"3c4b7c32","standard_surface1":"0105d8b5","standard_hair1":"2ab1a9c2","mtlxstandard_surface1":"75baba89"}"
    cryptomatte/bda530a/name: "crypto_material"
    cryptomatte/f834d0a/conversion: "uint32_to_float32"
    cryptomatte/f834d0a/hash: "MurmurHash3_32"
    cryptomatte/f834d0a/manifest: "{"bottom_GES":"aa0490fc","Leg_1_R_GES":"4c203bc5","Battery_Cover_GES":"750f9523","mesh":"6e4fa4ca","glass_GES":"7b37169c","ring_GES":"1304f4e7","iron_ring_GES":"2ff0cc0c","gauze_GES":"11c6b11a","inside_GES":"6f2ed9e9","edges_GES":"cde92053","Hand_2_L_Screw_GES":"8d90284d","Head_Part_1_GES":"02911e82","sun_GES":"10d032c8","Torso_GES":"86600e7a","Torso_Screw_GES":"83618a0c","Hand_1_R_GES":"e87e2e36","Glass_Frame_GES":"011881d0","Head_Part_3_GES":"1a0ed5af","Head_Screws_GES":"1248f152","Battery_Cover_Screw_GES":"8805c3d6","bowtie_GESShape":"dc4c0117","Leg_2_R_Screw_GES":"389a3a2a","Head_Part_2_GES":"b532b23d","Head_GES":"4fb77ec7","Glass_GES":"987d699e","Hand_3_L_GES":"e34a71f6","On_Button_GES":"618cf0b9","body_GESShape":"25b88caf","Neck_GES":"2bc65cdb","Leg_2_L_001_GES":"53e018ab","Leg_1_L_GES":"7d0f8166","Leg_2_L_Screw_GES":"793ad8a8","ears_GESShape":"16c1ac47","R_arm_GESShape":"be9c3d65","Leg_2_L_GES":"f3b89228","Hand_1_L_GES":"5c23e33c","Hand_2_L_GES":"3b2904c8","Hand_3_R_GES":"c37e91c9","Hand_2_R_GES":"0c618d5f","Hand_2_R_Screw_GES":"4b242b9b","mouth_GESShape":"da3d7f9b","eyes_GESShape":"90a3f8b0","R_leg_GESShape":"6179a9d9","head_GESShape":"93df4f06","L_arm_GESShape":"7f268699","L_leg_GESShape":"12b7c567","screen_GESShape":"f6a369a2","screen_content_GESShape":"db3f30d4","hair":"65edc56d","hair_short":"9c921132","chrome_ball":"fb15e188","grey_ball":"be20df01","macbeth":"c9d74198"}"
    cryptomatte/f834d0a/name: "crypto_object"
    DateTime: "2025:04:01 23:27:34"
    PixelAspectRatio: 1
    screenWindowCenter: 0, 0
    screenWindowWidth: 1
    worldToCamera: -0.997227, -0.00747155, -0.0740386, 0, 0.00675685, 0.981745, -0.19008, 0, -0.0741072, 0.190054, 0.978973, 0, 10.2405, -31.8519, 57.6854, 1
    worldToScreen: -2.49396, -0.0272021, -0.074046, -0.0740386, 0.0168982, 3.5743, -0.190099, -0.19008, -0.185334, 0.691938, 0.979071, 0.978973, 25.6105, -115.965, 57.5912, 57.6854
    oiio:ColorSpace: "lin_rec709"
    oiio:subimages: 1
    openexr:lineOrder: "randomY"
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 357
Ticks             : 3571855
TotalDays         : 4.13409143518519E-06
TotalHours        : 9.92181944444444E-05
TotalMinutes      : 0.00595309166666667
TotalSeconds      : 0.3571855
TotalMilliseconds : 357.1855

==================
>> oiiotool -v input.exr -o output.exr
Reading input.exr
Writing output.exr
Days              : 0
Hours             : 0
Minutes           : 1
Seconds           : 24
Milliseconds      : 812
Ticks             : 848120519
TotalDays         : 0.000981620971064815
TotalHours        : 0.0235589033055556
TotalMinutes      : 1.41353419833333
TotalSeconds      : 84.8120519
TotalMilliseconds : 84812.0519

==================
>> oiiotool -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only channels R,G,B,A
Writing output.png
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 18
Milliseconds      : 744
Ticks             : 187442626
TotalDays         : 0.000216947483796296
TotalHours        : 0.00520673961111111
TotalMinutes      : 0.312404376666667
TotalSeconds      : 18.7442626
TotalMilliseconds : 18744.2626

==================
>> oiiotool --runstats -v input.exr -o output.png
Reading input.exr
oiiotool WARNING: -o : Can't save 78 channels to png... saving only channels R,G,B,A
Writing output.png

Threads: 32
oiiotool runtime statistics:
  Total time: 18.15s
      -i           : 267.87
      -o           :  0.81
  Peak memory:    2.1 GB
  Current memory: 1.9 GB

ImageBuf local memory: current 0 B, peak 94.1 MB
ImageBuf direct read time: 0.00s, open time 0.00s

OpenImageIO ImageCache statistics (000001E11B85E040) ver 3.1.1.0dev
  Options:  max_memory_MB=4096.0 max_open_files=100 autotile=0
            autoscanline=false automip=false forcefloat=true
            accept_untiled=true accept_unmipped=true deduplicate=true
            unassociatedalpha=false failure_retries=0 openexr:core=1
  Images : 1 unique
    ImageInputs : 2 created, 1 current, 1 peak
    Total pixel data size of all images referenced : 1.8 GB
    Total actual file size of all images referenced : 53.9 MB
    Pixel data read : 1.8 GB
    File I/O time : 4m 27.9s (8.4s average per thread, for 32 threads)
    File open time only : 0.1s
    ImageInput mutex locking time : 1.7s
  Tiles: 2489 created, 1551 current, 1551 peak
    total tile requests : 96726
    micro-cache misses : 96726 (100.0%)
    main cache misses : 2489 (2.6%)
    redundant reads: 0 tiles, 0 B
    Peak cache memory : 1.8 GB
  Cache : 1.8 GB
    Strings : 0 B, count : 2
    Thread info : 11 KB, count : 32
    Fingerprints : 0 B, count : 0
    Tiles : 1.8 GB, count : 1551
    Files : 10 KB, count : 1
      Format 'openexr' : 10 KB, count : 1
        Image inputs : 4 KB, count : 1
        Image specs : 8 B, count : 1
        Subimages : 5 KB, count : 1
          Level infos : 4 KB, count : 1
            Image specs : 4 KB, count : 2
              Members : 320 B
              Extra attributes : 24 B
              Channel names : 4 KB
  Image file statistics:
        opens   tiles    MB read   --redundant--   I/O time  res              File
      1    2     1551     1890.3                  4m 27.9s   2996x2058x78.f32  input.exr

  Tot:     2     1551     1890.3   (    0    0.0) 4m 27.9s
  Broken or invalid files: 0

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 18
Milliseconds      : 435
Ticks             : 184351679
TotalDays         : 0.000213369998842593
TotalHours        : 0.00512087997222222
TotalMinutes      : 0.307252798333333
TotalSeconds      : 18.4351679
TotalMilliseconds : 18435.1679

==================
>> oiiotool -v -i:ch=R,G,B,A input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 19
Milliseconds      : 117
Ticks             : 191174308
TotalDays         : 0.000221266560185185
TotalHours        : 0.00531039744444444
TotalMinutes      : 0.318623846666667
TotalSeconds      : 19.1174308
TotalMilliseconds : 19117.4308

==================
>> oiiotool -v -i:ch=R,G,B,A input.exr -o output.png
Reading input.exr
Writing output.png
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 19
Milliseconds      : 37
Ticks             : 190376082
TotalDays         : 0.0002203426875
TotalHours        : 0.0052882245
TotalMinutes      : 0.31729347
TotalSeconds      : 19.0376082
TotalMilliseconds : 19037.6082

==================
>> oiiotool -v input.exr -ch R=R,G=G,B=B,A=A -o output.png
Reading input.exr
Writing output.png
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 18
Milliseconds      : 469
Ticks             : 184694306
TotalDays         : 0.00021376655787037
TotalHours        : 0.00513039738888889
TotalMinutes      : 0.307823843333333
TotalSeconds      : 18.4694306
TotalMilliseconds : 18469.4306

==================
>> oiiotool -i:ch=R,G,B,A input.exr --cut 1x1 -o out.exr
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 18
Milliseconds      : 408
Ticks             : 184083081
TotalDays         : 0.000213059121527778
TotalHours        : 0.00511341891666667
TotalMinutes      : 0.306805135
TotalSeconds      : 18.4083081
TotalMilliseconds : 18408.3081

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment