Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.
This report summarizes scanner evidence for AcademySoftwareFoundation/OpenImageIO, a C++ project with 2,391 GitHub stars. SynthScan examined 349,878 lines of code across 963 source files, recording 1415 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 4.1 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1297 finding(s).
Are imports declared and package/API names verified? 56 finding(s).
Are wrappers, guards, and repeated structures necessary? 75 finding(s).
Which changes need focused human review? 1415 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1415 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | conanfile.txt | 21 | # pybind11/2.4.3 - conan doesn't have this minimum version | COMMENT |
| LOW | testsuite/jpeg-corrupt/run.py | 21 | # nonsensical length, that before being fixed, caused a buffer overrun. | COMMENT |
| LOW | testsuite/jpeg-corrupt/run.py | 41 | COMMENT | |
| LOW | testsuite/jpeg-corrupt/run.py | 101 | # Same bomb, but progressive (SOF2). Progressive decoding allocates a | COMMENT |
| LOW | testsuite/ffmpeg/run.py | 41 | # Frame indexing. Each of these is 10 frames of well-formed video: check that | COMMENT |
| LOW | testsuite/ffmpeg/src/make_test_movies.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | testsuite/oiiotool-deep/run.py | 61 | # only over A's samples, so if A had no samples in a pixel but B had | COMMENT |
| LOW | testsuite/openvdb-damaged/src/make_malformed_vdb.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | testsuite/openexr-partialtile/run.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …stsuite/openexr-partialtile/src/read-partial-tiles.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | testsuite/jpeg2000-j2kp4files/run.py | 41 | # for f in files: | COMMENT |
| LOW | …/docs-examples-python/src/docs-examples-imageoutput.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …/docs-examples-python/src/docs-examples-imageoutput.py | 21 | def example1() -> None: | COMMENT |
| LOW | …cs-examples-python/src/docs-examples-writingplugins.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …cs-examples-python/src/docs-examples-writingplugins.py | 21 | def example1() -> None: | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-imageinput.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-imageinput.py | 21 | def example1() -> None: | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-texturesys.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-texturesys.py | 21 | def example1() -> None: | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-imageioapi.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-imageioapi.py | 21 | def example1() -> None: | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-imagecache.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 21 | COMMENT | |
| LOW | …ite/docs-examples-python/src/docs-examples-imagebuf.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | …ite/docs-examples-python/src/docs-examples-imagebuf.py | 21 | def example1() -> None: | COMMENT |
| LOW | testsuite/tiff-subimage-seek/run.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | testsuite/psd/run.py | 41 | # Corruption where short per-channel rows could overrun interleaving | COMMENT |
| LOW | testsuite/texture-device/texture_device_impl.h | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | testsuite/texture-device/stream.h | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | testsuite/texture-device/texture_device_decl.h | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | testsuite/texture-device/texture_device_decl.h | 261 | #undef OPT_FIELD | COMMENT |
| LOW | testsuite/texture-device/closed_hashmap.h | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | testsuite/texture-device/arena.h | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | testsuite/texture-device/host.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …suite/docs-examples-cpp/src/docs-examples-imagebuf.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …ite/docs-examples-cpp/src/docs-examples-texturesys.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …ite/docs-examples-cpp/src/docs-examples-texturesys.cpp | 21 | // Example code fragment from the docs goes here. | COMMENT |
| LOW | …ite/docs-examples-cpp/src/docs-examples-imagecache.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …docs-examples-cpp/src/docs-examples-writingplugins.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …docs-examples-cpp/src/docs-examples-writingplugins.cpp | 21 | // Example code fragment from the docs goes here. | COMMENT |
| LOW | …e/docs-examples-cpp/src/docs-examples-imagebufalgo.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …e/docs-examples-cpp/src/docs-examples-imagebufalgo.cpp | 21 | #include <OpenImageIO/imagebuf.h> | COMMENT |
| LOW | …ite/docs-examples-cpp/src/docs-examples-imageioapi.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …ite/docs-examples-cpp/src/docs-examples-imageioapi.cpp | 21 | // Example code fragment from the docs goes here. | COMMENT |
| LOW | …te/docs-examples-cpp/src/docs-examples-imageoutput.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …te/docs-examples-cpp/src/docs-examples-imageoutput.cpp | 21 | // Example code fragment from the docs goes here. | COMMENT |
| LOW | …ite/docs-examples-cpp/src/docs-examples-imageinput.cpp | 1 | // Copyright Contributors to the OpenImageIO project. | COMMENT |
| LOW | …ite/docs-examples-cpp/src/docs-examples-imageinput.cpp | 21 | // Example code fragment from the docs goes here. | COMMENT |
| LOW | testsuite/texture-overscan/run.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | testsuite/hdr/run.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | testsuite/maketx/run.py | 181 | # --mipimage | COMMENT |
| LOW | testsuite/tiff-suite/run.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | testsuite/tiff-suite/run.py | 21 | command += rw_command (OIIO_TESTSUITE_IMAGEDIR, "dscf0013.tif") | COMMENT |
| LOW | testsuite/tiff-suite/run.py | 41 | # off_luv24.tif 333x225 8-bit CIE LogLuv (SGILog24) office from " " | COMMENT |
| LOW | testsuite/tiff-suite/run.py | 81 | # oxford.tif 601x81 8-bit RGB (lzw) screendump off oxford | COMMENT |
| LOW | testsuite/png-damaged/run.py | 21 | command += info_command ("src/exif-deep-ifds.png", safematch=True) | COMMENT |
| LOW | testsuite/openexr-multires/run.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | testsuite/tiff-misc/run.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | testsuite/tiff-misc/run.py | 41 | command += info_command ("src/crash-cmyk-1bit.tif", safematch=True) | COMMENT |
| 1134 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | testsuite/python-imagebuf/src/test_imagebuf.py | 317 | # Create a small buffer, do various pixel reads and writes | COMMENT |
| MEDIUM | …/docs-examples-python/src/docs-examples-imageoutput.py | 10 | # This file contains code examples from the ImageOutput chapter of the | COMMENT |
| MEDIUM | …/docs-examples-python/src/docs-examples-imageoutput.py | 116 | # Create the output file and copy the image | COMMENT |
| MEDIUM | …cs-examples-python/src/docs-examples-writingplugins.py | 10 | # This file contains code examples from the Writing Plugins chapter of the | COMMENT |
| MEDIUM | …e/docs-examples-python/src/docs-examples-imageinput.py | 10 | # This file contains code examples from the ImageInput chapter of the | COMMENT |
| MEDIUM | …e/docs-examples-python/src/docs-examples-texturesys.py | 10 | # This file contains code examples from the TextureSystem chapter of the | COMMENT |
| MEDIUM | …e/docs-examples-python/src/docs-examples-imageioapi.py | 10 | # This file contains code examples from the ImageIO API chapter of the | COMMENT |
| MEDIUM | …e/docs-examples-python/src/docs-examples-imagecache.py | 10 | # This file contains code examples from the ImageCache chapter of the | COMMENT |
| MEDIUM | …e/docs-examples-python/src/docs-examples-imagecache.py | 22 | # Create an image cache and set some options | COMMENT |
| MEDIUM | …docs-examples-python/src/docs-examples-imagebufalgo.py | 10 | # This file contains code examples from the ImageBufAlgo chapter of the | COMMENT |
| MEDIUM | …docs-examples-python/src/docs-examples-imagebufalgo.py | 79 | # Create a new 3-channel, 512x512 float image filled with 0.0 values. | COMMENT |
| MEDIUM | …docs-examples-python/src/docs-examples-imagebufalgo.py | 104 | # Create a new 640x480 RGB image, with a top-to-bottom gradient | COMMENT |
| MEDIUM | …docs-examples-python/src/docs-examples-imagebufalgo.py | 121 | # Create a new 640x480 RGB image, fill it with a two-toned gray | COMMENT |
| MEDIUM | …docs-examples-python/src/docs-examples-imagebufalgo.py | 136 | # Create a new 256x256 field of grayscale white noise on [0,1) | COMMENT |
| MEDIUM | …docs-examples-python/src/docs-examples-imagebufalgo.py | 140 | # Create a new 256x256 field of grayscale blue noise on [0,1) | COMMENT |
| MEDIUM | …ite/docs-examples-python/src/docs-examples-imagebuf.py | 10 | # This file contains code examples from the ImageBuf chapter of the | COMMENT |
| MEDIUM | testsuite/missingcolor/src/makepartialexr.py | 12 | # Create an exr file with deliberately missing tiles | COMMENT |
| MEDIUM | testsuite/openexr-decreasingy/run.py | 24 | # Create an image in decreasing order (Tests ImageOutput::write_image() logic) | COMMENT |
| MEDIUM | testsuite/openexr-decreasingy/run.py | 28 | # Create an image in decreasing order via copying a reference image. (Tests ImageBuf::write() logic) | COMMENT |
| MEDIUM | testsuite/oiiotool-demosaic/run.py | 13 | # Create a test image with color gradient | COMMENT |
| MEDIUM | testsuite/texture-env/run.py | 9 | # Create a ramped checker | COMMENT |
| MEDIUM⚡ | testsuite/python-imageinput/src/test_imageinput.py | 212 | # Create a file that has unassociated alpha | COMMENT |
| MEDIUM | testsuite/python-imageinput/src/test_imageinput.py | 236 | # Create a file that has unassociated alpha | COMMENT |
| MEDIUM | testsuite/perchannel/run.py | 36 | # Create a file with per-channel data types, make sure that works | COMMENT |
| MEDIUM | testsuite/oiiotool-spi/run.py | 13 | # Define a handy function that runs an oiiotool command, and | COMMENT |
| MEDIUM | testsuite/nonwhole-tiles/run.py | 12 | # Create a file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/wheel.yml | 55 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 57 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 94 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 96 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 192 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 194 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 205 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 207 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 299 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 301 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 312 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 314 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 391 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 393 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 404 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 406 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 474 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 476 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 487 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/wheel.yml | 489 | # ------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | testsuite/python-deep/src/test_deep.py | 324 | except Exception as detail: | CODE |
| MEDIUM | testsuite/python-imagebuf/src/test_imagebuf.py | 58 | print ("Error writing", filename, ":", image.geterror()) | CODE |
| MEDIUM⚡ | testsuite/python-imagebuf/src/test_imagebuf.py | 142 | print ("Error on initial open:", out.geterror()) | CODE |
| MEDIUM⚡ | testsuite/python-imagebuf/src/test_imagebuf.py | 146 | print ("Error on write:", img.geterror()) | CODE |
| MEDIUM⚡ | testsuite/python-imagebuf/src/test_imagebuf.py | 149 | print ("Error on open for append:", out.geterror()) | CODE |
| MEDIUM⚡ | testsuite/python-imagebuf/src/test_imagebuf.py | 153 | print ("Error on write:", img.geterror()) | CODE |
| LOW | testsuite/python-imagebuf/src/test_imagebuf.py | 363 | except Exception as detail: | CODE |
| MEDIUM | …e/docs-examples-python/src/docs-examples-imageinput.py | 128 | print("Error closing", filename, ", error =", inp.geterror()) | CODE |
| LOW | testsuite/tiff-subimage-seek/src/test_subimage_seek.py | 64 | except Exception as detail: | CODE |
| MEDIUM⚡ | testsuite/python-imageoutput/src/test_imageoutput.py | 23 | print ("Error reading input pixels in", in_filename) | CODE |
| MEDIUM⚡ | testsuite/python-imageoutput/src/test_imageoutput.py | 29 | print ("Error reading input pixels in", in_filename) | CODE |
| MEDIUM⚡ | testsuite/python-imageoutput/src/test_imageoutput.py | 38 | print ("Error reading input pixels in", in_filename) | CODE |
| MEDIUM⚡ | testsuite/python-imageoutput/src/test_imageoutput.py | 44 | print ("Error reading input pixels in", in_filename) | CODE |
| MEDIUM | testsuite/python-imageoutput/src/test_imageoutput.py | 56 | print ("Error reading input pixels in", in_filename) | CODE |
| LOW | testsuite/python-imageoutput/src/test_imageoutput.py | 230 | except Exception as detail: | CODE |
| LOW | testsuite/python-typedesc/src/test_typedesc.py | 270 | except Exception as detail: | CODE |
| LOW | testsuite/python-paramlist/src/test_paramlist.py | 155 | except Exception as detail: | CODE |
| LOW | testsuite/python-roi/src/test_roi.py | 93 | except Exception as detail: | CODE |
| MEDIUM | testsuite/python-imageinput/src/test_imageinput.py | 151 | print ("Error: tiled") | CODE |
| MEDIUM | testsuite/python-imageinput/src/test_imageinput.py | 181 | print ("Error: not tiled") | CODE |
| MEDIUM⚡ | testsuite/python-imageinput/src/test_imageinput.py | 206 | print ("Error writing", filename, ":", image.geterror()) | CODE |
| LOW | testsuite/python-imageinput/src/test_imageinput.py | 428 | except Exception as detail: | CODE |
| LOW | testsuite/python-texturesys/src/test_texture_sys.py | 227 | except Exception as detail: | CODE |
| LOW | testsuite/python-colorconfig/src/test_colorconfig.py | 117 | except Exception as detail: | CODE |
| LOW | testsuite/jpeg2000/run.py | 30 | except Exception: | CODE |
| LOW | testsuite/htj2k/run.py | 47 | except Exception: | CODE |
| LOW | testsuite/python-imagecache/src/test_imagecache.py | 140 | except Exception as detail: | CODE |
| LOW | testsuite/python-imagespec/src/test_imagespec.py | 251 | except Exception as detail: | CODE |
| MEDIUM | testsuite/python-imagebufalgo/src/test_imagebufalgo.py | 33 | print ("Error writing", filename, ":", image.geterror()) | CODE |
| LOW | testsuite/python-imagebufalgo/src/test_imagebufalgo.py | 661 | except Exception as detail: | CODE |
| LOW | testsuite/gif/src/test_gif_seek.py | 96 | except Exception as detail: | CODE |
| LOW | testsuite/python-oiio/src/test_oiio.py | 192 | except Exception as detail: | CODE |
| MEDIUM | src/doc/imageoutput.md | 1764 | print("Error closing", filename, ", error = ", out.geterror()) | CODE |
| MEDIUM | src/doc/pythonbindings.md | 2160 | print ("Error reading the file:", buf.geterror()) | CODE |
| MEDIUM | src/doc/pythonbindings.md | 4347 | print ("Error writing", filename, ":", image.geterror()) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | testsuite/runtest.py | 16 | CODE | |
| LOW | testsuite/python-deep/src/test_deep.py | 7 | CODE | |
| LOW | …geinput-colorconfig/src/test_imageinput_colorconfig.py | 12 | CODE | |
| LOW | testsuite/python-imagebuf/src/test_imagebuf.py | 7 | CODE | |
| LOW | …cs-examples-python/src/docs-examples-writingplugins.py | 18 | CODE | |
| LOW | …cs-examples-python/src/docs-examples-writingplugins.py | 19 | CODE | |
| LOW | …e/docs-examples-python/src/docs-examples-imageinput.py | 19 | CODE | |
| LOW | …e/docs-examples-python/src/docs-examples-imageinput.py | 110 | CODE | |
| LOW | …e/docs-examples-python/src/docs-examples-texturesys.py | 18 | CODE | |
| LOW | …e/docs-examples-python/src/docs-examples-texturesys.py | 19 | CODE | |
| LOW | …e/docs-examples-python/src/docs-examples-imageioapi.py | 18 | CODE | |
| LOW | …e/docs-examples-python/src/docs-examples-imageioapi.py | 19 | CODE | |
| LOW | …e/docs-examples-python/src/docs-examples-imagecache.py | 19 | CODE | |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 19 | CODE | |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 20 | CODE | |
| LOW | …ite/docs-examples-python/src/docs-examples-imagebuf.py | 18 | CODE | |
| LOW | …ite/docs-examples-python/src/docs-examples-imagebuf.py | 19 | CODE | |
| LOW | testsuite/tiff-subimage-seek/src/test_subimage_seek.py | 7 | CODE | |
| LOW | testsuite/python-imageoutput/src/test_imageoutput.py | 6 | CODE | |
| LOW | testsuite/targa-thumbnail/run.py | 9 | CODE | |
| LOW | testsuite/oiiotool-color/run.py | 8 | CODE | |
| LOW | testsuite/python-typedesc/src/test_typedesc.py | 7 | CODE | |
| LOW | testsuite/python-paramlist/src/test_paramlist.py | 7 | CODE | |
| LOW | testsuite/sourceprovenance/src/test_sourceprovenance.py | 11 | CODE | |
| LOW | testsuite/openexr-decreasingy/run.py | 7 | CODE | |
| LOW | testsuite/openexr-decreasingy/run.py | 7 | CODE | |
| LOW | testsuite/python-roi/src/test_roi.py | 7 | CODE | |
| LOW | testsuite/python-imageinput/src/test_imageinput.py | 7 | CODE | |
| LOW | testsuite/python-texturesys/src/test_texture_sys.py | 7 | CODE | |
| LOW | testsuite/python-colorconfig/run.py | 8 | CODE | |
| LOW | testsuite/python-colorconfig/src/test_colorconfig.py | 7 | CODE | |
| LOW | testsuite/python-colorconfig/src/test_colorconfig.py | 9 | CODE | |
| LOW | testsuite/openexr-copy/run.py | 7 | CODE | |
| LOW | testsuite/python-imagecache/src/test_imagecache.py | 7 | CODE | |
| LOW | testsuite/python-imagecache/src/test_imagecache.py | 9 | CODE | |
| LOW | testsuite/python-imagespec/src/test_imagespec.py | 7 | CODE | |
| LOW | testsuite/python-imagebufalgo/src/test_imagebufalgo.py | 7 | CODE | |
| LOW | testsuite/gif/src/test_gif_seek.py | 7 | CODE | |
| LOW | testsuite/python-oiio/src/test_oiio.py | 7 | CODE | |
| LOW | src/python/__init__.py | 33 | CODE | |
| LOW | src/python-nanobind/__init__.py | 35 | CODE | |
| LOW | src/doc/conf.py | 21 | CODE | |
| LOW | src/fuzz/populate_corpora.py | 26 | CODE | |
| LOW | src/fuzz/populate_corpora.py | 28 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/cineon.imageio/cineoninput.cpp | 224 | // FIXME: making this more robust would require the per-channel transfer | COMMENT |
| MEDIUM | src/include/OpenImageIO/vecparam.h | 22 | /// application that have seamless conversion to and from similar types. | COMMENT |
| MEDIUM | src/include/OpenImageIO/fmath.h | 1501 | // are much faster at the expense of some accuracy and robust handling of | COMMENT |
| MEDIUM | src/include/OpenImageIO/function_view.h | 64 | /// callable object. It's more robust, especially with respect to object | COMMENT |
| MEDIUM | src/include/OpenImageIO/imagecache.h | 147 | /// only be able to utilize that single subimage. | COMMENT |
| MEDIUM | src/include/OpenImageIO/imagecache.h | 151 | /// subimages (that don't really exist). Essentially this | COMMENT |
| MEDIUM | src/include/OpenImageIO/imagecache.h | 181 | /// number (like 3) may help make an application more robust to | COMMENT |
| MEDIUM | src/iv/imageviewer.cpp | 115 | // FIXME -- would be nice to have a more nuanced approach to display | COMMENT |
| MEDIUM | src/libutil/xxhash.cpp | 363 | if ((((size_t)input) & 3) == 0) // Input is aligned, let's leverage the speed advantage | CODE |
| MEDIUM | src/libutil/xxhash.cpp | 503 | if ((((size_t)input) & 7)==0) // Input is aligned, let's leverage the speed advantage | CODE |
| MEDIUM | src/libtexture/texturesys.cpp | 1867 | // Tiny dx and dy: Essentially point sampling. Substitute a | COMMENT |
| MEDIUM | src/libtexture/texturesys.cpp | 2715 | // To utilize SIMD ops in an inherently scalar loop, every fourth | COMMENT |
| MEDIUM | src/libtexture/texturesys.cpp | 3070 | // To utilize SIMD ops in an inherently scalar loop, every fourth | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | testsuite/jpeg-corrupt/run.py | 76 | iconvert short-exif-app1-len4.jpg out.null && echo short-exif-app1-len4-ok | STRING |
| HIGH⚡ | testsuite/jpeg-corrupt/run.py | 77 | iconvert short-exif-app1-len5.jpg out.null && echo short-exif-app1-len5-ok | STRING |
| HIGH⚡ | testsuite/jpeg-corrupt/run.py | 78 | iconvert short-icc-app2-len11.jpg out.null && echo short-icc-app2-len11-ok | STRING |
| HIGH⚡ | testsuite/jpeg-corrupt/run.py | 79 | iconvert short-icc-app2-len12.jpg out.null && echo short-icc-app2-len12-ok | STRING |
| HIGH⚡ | testsuite/jpeg-corrupt/run.py | 80 | iconvert short-icc-app2-len13.jpg out.null && echo short-icc-app2-len13-ok | STRING |
| HIGH | testsuite/oiiotool/run.py | 252 | command += oiiotool ("--missingfile black box.tif missing.tif --over -o box_over_missing2.tif || true") | STRING |
| HIGH | testsuite/oiiotool/run.py | 254 | command += oiiotool ("--missingfile checker box.tif missing.tif --over -o box_over_missing3.tif || true") | STRING |
| HIGH | testsuite/webp/run.py | 31 | command += iconvert(f"{f} out.null && echo {f}-ok") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 68 | ## Step 0: environment | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 80 | ## Step 1: choose the run | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 92 | ## Step 2: fetch job logs and parse buildinfo | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 153 | ## Step 3: read the claims | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 165 | ## Step 4: find latest upstream releases | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 177 | ## Step 5: analyses to perform | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 250 | ## Step 6: report (phase 1 ends here) | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 258 | ## Step 7: simple fixes, done unconditionally (phase 2) | COMMENT |
| LOW | .agents/skills/check-dependency-minmax/SKILL.md | 283 | ## Step 8: fixes that change code or workflows (phase 3) | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1509 | // Step 1: accumulate the first and second moments of the channels of | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1538 | // Step 2: the eigenvectors of the covariance matrix are the principal | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1558 | // Step 3: build the matrix that scales each principal axis to unit | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1595 | // Step 4: apply it to every pixel. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 477 | // Step 1: Convert both images to YCxCz, clamping to [0,1] first. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 510 | // Step 2: Spatial CSF filter — separable, two kernel variants. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 566 | // Step 3: y-direction pass + compute color difference. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 631 | // Step 4: Feature (edge/point) filter — x-direction pass. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 681 | // Step 5: Feature filter y-direction pass + final combine. | COMMENT |
| LOW | src/dds.imageio/ddsinput.cpp | 698 | // NOTE: This function has no sanity checks! It's a private method and relies | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | testsuite/docs-examples-python/run.py | 20 | except FileExistsError : | CODE |
| HIGH | testsuite/jpeg2000/run.py | 30 | except Exception: | CODE |
| HIGH | testsuite/htj2k/run.py | 47 | except Exception: | CODE |
| HIGH | src/fuzz/populate_corpora.py | 219 | except OSError: | CODE |
| HIGH | src/build-scripts/ninjatracing.py | 131 | except IOError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1509 | // Step 1: accumulate the first and second moments of the channels of | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1538 | // Step 2: the eigenvectors of the covariance matrix are the principal | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1558 | // Step 3: build the matrix that scales each principal axis to unit | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_pixelmath.cpp | 1595 | // Step 4: apply it to every pixel. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 477 | // Step 1: Convert both images to YCxCz, clamping to [0,1] first. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 510 | // Step 2: Spatial CSF filter — separable, two kernel variants. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 566 | // Step 3: y-direction pass + compute color difference. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 631 | // Step 4: Feature (edge/point) filter — x-direction pass. | COMMENT |
| LOW | src/libOpenImageIO/imagebufalgo_flip.cpp | 681 | // Step 5: Feature filter y-direction pass + final combine. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | testsuite/runtest.py | 398 | CODE | |
| LOW | testsuite/runtest.py | 440 | CODE | |
| LOW | testsuite/python-deep/src/test_deep.py | 49 | CODE | |
| LOW | testsuite/python-imagebuf/src/test_imagebuf.py | 88 | CODE | |
| LOW | testsuite/psd-empty-layers/src/make-empty-layer-psds.py | 12 | CODE | |
| LOW | testsuite/python-imageoutput/src/test_imageoutput.py | 17 | CODE | |
| LOW | testsuite/openexr-scanlines/src/test_scanlines.py | 13 | CODE | |
| LOW | testsuite/raw/src/make_crop_dng.py | 43 | CODE | |
| LOW | testsuite/python-imagebufalgo/src/test_imagebufalgo.py | 35 | CODE | |
| LOW | src/fuzz/populate_corpora.py | 206 | CODE | |
| LOW | src/build-scripts/ninjatracing.py | 120 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | testsuite/jpeg-metadata/run.py | 13 | # Check if the comments are correctly decoded as attributes, and that writing | COMMENT |
| LOW | …e/docs-examples-python/src/docs-examples-imageinput.py | 97 | # Open the file, passing in the config. | COMMENT |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 288 | # Set B to be a copy of A, but converted to float | COMMENT |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 299 | # Set B to be a 200x100 region of A starting at (50,50), trimming | COMMENT |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 311 | # Set B to be a 200x100 region of A starting at (50,50), but | COMMENT |
| LOW | src/build-scripts/build_ninja.bash | 19 | # Check if the tar exist, download it if not | COMMENT |
| LOW | src/build-scripts/ninjatracing.py | 104 | # Check if any event duration is greater than the duration from ninja. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/doc/imagebufalgo.md | 1754 | > > # In this example, we are careful to deal with alpha in an RGBA image. | CODE |
| HIGH | src/doc/imagebufalgo.md | 1771 | > > # In this example, invert only the RGB channels (which is the default | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …e/psd-colormodes/src/make-indexed-transparency-psds.py | 29 | def find_transparency_index_resource(data): | CODE |
| LOW | testsuite/python-imagebuf/src/test_imagebuf.py | 211 | def test_outofrange_subimage_miplevel() : | CODE |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 346 | def example_flip_flop_transpose() -> None: | CODE |
| LOW | …docs-examples-python/src/docs-examples-imagebufalgo.py | 544 | def example_fillholes_pushpull() -> None: | CODE |
| LOW | testsuite/tiff-subimage-seek/src/test_subimage_seek.py | 24 | def test_seek_back_after_rejection () : | CODE |
| LOW | testsuite/tiff-subimage-seek/src/test_subimage_seek.py | 49 | def test_imagecache_after_rejection () : | CODE |
| LOW⚡ | testsuite/python-imageinput/src/test_imageinput.py | 211 | def test_tiff_remembering_config() : | CODE |
| LOW | testsuite/gif/src/test_gif_seek.py | 74 | def test_seek_back_after_failure (colors) : | CODE |
| LOW | testsuite/python-oiio/src/test_oiio.py | 12 | def version_string_looks_valid(version: str) -> bool: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/jpeg.imageio/jpeginput.cpp | 703 | // Don't forget to save and restore any configuration settings. | COMMENT |
| LOW | src/r3d.imageio/r3dinput.cpp | 398 | // Don't forget to save and restore any configuration settings. | COMMENT |
| LOW | src/png.imageio/pnginput.cpp | 342 | // Don't forget to save and restore any configuration settings. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | testsuite/runtest.py | 304 | CODE | |
| LOW | testsuite/runtest.py | 354 | CODE | |
| LOW | testsuite/rla/src/make_malformed_rla.py | 31 | CODE | |
| LOW | testsuite/ptex/src/make_malformed_ptex.py | 18 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/fuzz/fuzz_image.cpp | 133 | static std::string fake_name; // fake filename for open, e.g., "input.jpg" | CODE |
| LOW | src/fuzz/fuzz_image.cpp | 221 | fake_name = "input." + oiio_format_primary_ext(format_name); | CODE |
| LOW | src/fuzz/fuzz_image.cpp | 232 | oiio_fuzz_read_dispatch(data, size, fake_name.c_str()); | CODE |
| LOW | src/fuzz/fuzz_image.cpp | 234 | oiio_fuzz_read(data, size, fake_name.c_str()); | CODE |