1 Star 0 Fork 0

swenzhai / oiio

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

README for OpenImageIO

License Build Status Windows Build Status CII Best Practices

Introduction

The primary target audience for OIIO is VFX studios and developers of tools such as renderers, compositors, viewers, and other image-related software you'd find in a production pipeline.

OpenImageIO consists of:

  • Simple but powerful ImageInput and ImageOutput APIs that provide an abstraction for reading and writing image files of nearly any format, without the calling application needing to know any of the details of these file formats, and indeed without the calling application needing to be aware of which formats are available.

  • A library that manages subclasses of ImageInput and ImageOutput that implement I/O from specific file formats, with each file format's implementation stored as a plug-in. Therefore, an application using OpenImageIO's APIs can read and write any image file for which a plugin can be found at runtime.

  • Plugins implementing I/O for several popular image file formats, including TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, ICO, BMP, Targa, JPEG-2000, RMan Zfile, FITS, DDS, Softimage PIC, PNM, DPX, Cineon, IFF, Field3D, OpenVDB, Ptex, Photoshop PSD, Wavefront RLA, SGI, WebP, GIF, DICOM, HEIC/HEIF, many "RAW" digital camera formats, and a variety of movie formats (readable as individual frames). More are being developed all the time.

  • Several command line image tools based on these classes, including oiiotool (command-line format conversion and image processing), iinfo (print detailed info about images), iconvert (convert among formats, data types, or modify metadata), idiff (compare images), igrep (search images for matching metadata), and iv (an image viewer). Because these tools are based on ImageInput/ImageOutput, they work with any image formats for which ImageIO plugins are available.

  • An ImageCache class that transparently manages a cache so that it can access truly vast amounts of image data (tens of thousands of image files totaling multiple TB) very efficiently using only a tiny amount (tens of megabytes at most) of runtime memory.

  • A TextureSystem class that provides filtered MIP-map texture lookups, atop the nice caching behavior of ImageCache. This is used in commercial renderers and has been used on many large VFX and animated films.

  • ImageBuf and ImageBufAlgo functions -- a simple class for storing and manipulating whole images in memory, and a collection of the most useful computations you might want to do involving those images, including many image processing operations.

  • Python bindings for all of the major APIs.

Licensing

OpenImageIO is (c) Copyright Contributors to the OpenImageIO project.

OpenImageIO is distributed using the modified BSD license (also known as the "new BSD" or "3-clause BSD" license). The documentation is licensed under the Creative Commons Attribution 3.0 Unported License.

The plain English bottom line is that OpenImageIO is free, as well as freely modifiable and redistributable (in both source and binary form). You may use part or all of it in your own applications, whether proprietary or open, free or commercial. Using it in a commercial or proprietary application DOES NOT obligate you to pay us, or to use any particular licensing terms in your own application.

Some code and resources are distributed along with OIIO that have highly compatible, though slightly different, licenses (generally MIT or Apache). See the PDF documentation Acknowledgements section, and the LICENSE-THIRD-PARTY file for details.

Building and Installation

Please read the INSTALL.md file for detailed instructions on how to build and install OpenImageIO.

If you build with EMBEDPLUGINS=0, remember that you need to set the environment variable OIIO_LIBRARY_PATH to point to the 'lib' directory where OpenImageIO is installed, or else it will not be able to find the plugins.

Documentation

The primary user and programmer documentation can be found on openimageio.readthedocs.io as html or as PDF.

Contact & reporting problems

Simple "how do I...", "I'm having trouble", or "is this a bug" questions are best asked on the oiio-dev developer mail list. That's where the most people will see it and potentially be able to answer your question quickly (moreso than a GH "issue").

Bugs, build problems, and discovered vulnerabilities that you are relatively certain is a legit problem in the code, and for which you can give clear instructions for how to reproduce, should be reported as issues.

If confidentiality precludes a public question or issue, you may contact us privately at info@openimageio.org, or for security-related issues security@openimageio.org.

Contributing

OpenImageIO welcomes code contributions, and nearly 150 people have done so over the years. We take code contributions via the usual GitHub pull request (PR) mechanism. Please see CONTRIBUTING for detailed instructions.

Web Resources

Main web page: http://www.openimageio.org

GitHub page: http://github.com/OpenImageIO/oiio

Mail list subscriptions and archives:

See [LICENSE.md](LICENSE.md) for the main open source license of original code written for the OpenImageIO project. The remainder of this file reproduces the open source licensing details of other projects that have been imported, incorporated into, or derived into parts of OIIO. In no particular order: ------------------------------------------------------------------------- BSD 3-Clause License SPDX-License-Identifier: BSD-3-Clause * Gelato, Copyright (c) 2004 by NVIDIA Corp. The initial (version 0.1) code found in imageio.h, fmath.h, filter.h, argparse, and the JPEG reader/writer had elements derived from BSD-licensed example code and headers from NVIDIA's Gelato Renderer. It's not clear that any of that original code still survives in the modern OIIO, but since some elements are derived from that, we still acknowledge the original copyright here. * Open Shading Language. Copyright Sony Pictures Imageworks Inc. A few parts here and there, notably parts of fmath.h and many of the CMake files, contain code that was originally developed for Open Shading Language but subsequently moved to OIIO. * DPX reader/writer (c) Copyright 2009 Patrick A. Palmer. https://github.com/patrickpalmer/dpx * KissFFT (c) Copyright 2003-2010 Mark Borgerding https://github.com/mborgerding/kissfft * FindOpenVDB.cmake (c) Copyright 2015 Blender Foundation, BSD license. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of Patrick A. Palmer nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------- BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) SPDX-License-Identifier: BSD-2-Clause * xxHash - Fast Hash algorithm Copyright (C) 2012-2014, Yann Collet. You can contact the author at : - xxHash source repository : https://github.com/Cyan4973/xxHash - public discussion board : https://groups.google.com/forum/#!forum/lz4c Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------- MIT License SPDX-License-Identifier: MIT * Squish Copyright 2006 Simon Brown si@sjbrown.co.uk http://sjbrown.co.uk/?code=squish * PugiXML http://pugixml.org/ https://github.com/zeux/pugixml Copyright (c) 2006-2018 Arseny Kapoulkine * FarmHash, by Geoff Pike https://github.com/google/farmhash (c) Copyright 2014 Google, Inc., MIT license. * FindTBB.cmake. Copyright (c) 2015 Justus Calvin * {fmt} library - https://github.com/fmtlib/fmt Copyright (c) 2012 - present, Victor Zverovich * UTF-8 decoder function from http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de> * fasthash Copyright (C) 2012 Zilong Tan (eric.zltan@gmail.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------- Apache 2.0 License. SPDX-License-Identifier: Apache-2.0 * CTPL thread pool https://github.com/vit-vit/CTPL Copyright 2014 Vitaliy Vitsentiy. * Droid fonts from the Android SDK. http://www.droidfonts.com Copyright Google, Inc. * function_view.h contains code derived from LLVM. https://llvm.org Copyright (c) 2003-2018 University of Illinois at Urbana-Champaign. This is licensed under the Apache 2.0 license with LLVM Exceptions. https://llvm.org/docs/DeveloperPolicy.html#open-source-licensing-terms Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------- Boost Software License - Version 1.0 SPDX-License-Identifier: BSL-1.0 * Some math functions in fmath.h are derived from the [Sleef library](https://sleef.org) Copyright Naoki Shibata and contributors 2010 - 2017. https://github.com/shibatch/sleef/blob/master/LICENSE.txt * tinyformat.h http://github.com/c42f/tinyformat Copyright (C) 2011, Chris Foster. Boost Software License - Version 1.0 - August 17th, 2003 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------- Zlib license SPDX-License-Identifier: Zlib * Base-64 encoder from http://www.adp-gmbh.ch/cpp/common/base64.html Copyright (C) 2004-2008 René Nyffenegger This source code is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this source code must not be misrepresented; you must not claim that you wrote the original source code. If you use this source code in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original source code. 3. This notice may not be removed or altered from any source distribution. René Nyffenegger rene.nyffenegger@adp-gmbh.ch ------------------------------------------------------------------------- Unlicense SPDX-License-Identifier: Unlicense * gif.h by Charlie Tangora. Public domain / Unlicense. https://github.com/ginsweater/gif-h This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to <http://unlicense.org> ------------------------------------------------------------------------- Public domain * lookup3 code by Bob Jenkins, Public Domain. http://burtleburtle.net/bob/c/lookup3.c * The SHA-1 implemenation we use is public domain by Dominik Reichl. http://www.dominik-reichl.de ------------------------------------------------------------------------- If we have left anything out, it is unintentional. Please let us know.

简介

暂无描述 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/swenzhai/oiio.git
git@gitee.com:swenzhai/oiio.git
swenzhai
oiio
oiio
master

搜索帮助