src/include/imageio.h File Reference

#include <vector>
#include <string>
#include <limits>
#include <cmath>
#include "export.h"
#include "typedesc.h"
#include "paramlist.h"

Go to the source code of this file.

Classes

class  OpenImageIO::QuantizationSpec
class  OpenImageIO::ImageSpec
class  OpenImageIO::ImageInput
class  OpenImageIO::ImageOutput

Namespaces

namespace  OpenImageIO
 

Main namespace enclosing most OpenImageIO functionality.


Defines

#define OPENIMAGEIO_VERSION_STRING   "0.7.0"
#define OPENIMAGEIO_VERSION_MAJOR   0
#define OPENIMAGEIO_VERSION_MINOR   7
#define OPENIMAGEIO_VERSION_PATCH   0
#define OPENIMAGEIO_VERSION
#define OPENIMAGEIO_INTRO_STRING   "OpenImageIO " OPENIMAGEIO_VERSION_STRING " http://www.openimageio.org"
#define OPENIMAGEIO_PLUGIN_VERSION   10
#define IMAGEIO_VERSION   OPENIMAGEIO_PLUGIN_VERSION

Typedefs

typedef ptrdiff_t OpenImageIO::stride_t
typedef unsigned long long OpenImageIO::imagesize_t
typedef bool(* OpenImageIO::ProgressCallback )(void *opaque_data, float portion_done)
typedef ParamValue OpenImageIO::ImageIOParameter
typedef ParamValueList OpenImageIO::ImageIOParameterList
typedef ImageSpec OpenImageIO::ImageIOFormatSpec

Functions

DLLPUBLIC int OpenImageIO::openimageio_version ()
DLLPUBLIC std::string OpenImageIO::geterror ()
std::string OpenImageIO::error_message ()
DLLPUBLIC int OpenImageIO::quantize (float value, int quant_black, int quant_white, int quant_min, int quant_max, float quant_dither)
float OpenImageIO::exposure (float value, float gain, float invgamma)
DLLPUBLIC bool OpenImageIO::convert_types (TypeDesc src_type, const void *src, TypeDesc dst_type, void *to, int n, float gain=1, float gamma=1)
DLLPUBLIC bool OpenImageIO::convert_image (int nchannels, int width, int height, int depth, const void *src, TypeDesc src_type, stride_t src_xstride, stride_t src_ystride, stride_t src_zstride, void *dst, TypeDesc dst_type, stride_t dst_xstride, stride_t dst_ystride, stride_t dst_zstride, float gain=1, float gamma=1)
DLLPUBLIC bool OpenImageIO::decode_iptc_iim (const void *exif, int length, ImageSpec &spec)
DLLPUBLIC void OpenImageIO::encode_iptc_iim (const ImageSpec &spec, std::vector< char > &iptc)
DLLPUBLIC bool OpenImageIO::decode_xmp (const std::string &xml, ImageSpec &spec)
DLLPUBLIC std::string OpenImageIO::encode_xmp (const ImageSpec &spec, bool minimal=false)
DLLPUBLIC void OpenImageIO::_ImageIO_force_link ()

Variables

const stride_t OpenImageIO::AutoStride = std::numeric_limits<stride_t>::min()

Detailed Description

Provides a simple API that abstracts the reading and writing of images. Subclasses, which may be found in DSO/DLL's, implement particular formats.


Define Documentation

#define IMAGEIO_VERSION   OPENIMAGEIO_PLUGIN_VERSION

Strictly for back-compatibility -- this is deprecated

#define OPENIMAGEIO_PLUGIN_VERSION   10

Each imageio DSO/DLL should include this statement: DLLPUBLIC int FORMAT_imageio_version = OPENIMAGEIO_PLUGIN_VERSION; libOpenImageIO will check for compatibility this way. This should get bumped any time we change the API in any way that will make previously-compiled plugins break.

History: Version 3 added supports_rectangles() and write_rectangle() to ImageOutput, and added stride parameters to the ImageInput read routines. Version 10 represents forking from NVIDIA's open source version, with which we break backwards compatibility.

#define OPENIMAGEIO_VERSION
Value:
(10000 * OPENIMAGEIO_VERSION_MAJOR + \
                               100 * OPENIMAGEIO_VERSION_MINOR + \
                                     OPENIMAGEIO_VERSION_PATCH)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Tue Oct 27 06:30:40 2009 for OpenImageIO by  doxygen 1.6.1