6 #ifndef INCLUDED_IMF_C_RGBA_FILE_H
7 #define INCLUDED_IMF_C_RGBA_FILE_H
58 #define IMF_MAGIC 20000630
64 #define IMF_VERSION_NUMBER 2
70 #define IMF_INCREASING_Y 0
71 #define IMF_DECREASING_Y 1
72 #define IMF_RANDOM_Y 2
79 #define IMF_NO_COMPRESSION 0
80 #define IMF_RLE_COMPRESSION 1
81 #define IMF_ZIPS_COMPRESSION 2
82 #define IMF_ZIP_COMPRESSION 3
83 #define IMF_PIZ_COMPRESSION 4
84 #define IMF_PXR24_COMPRESSION 5
85 #define IMF_B44_COMPRESSION 6
86 #define IMF_B44A_COMPRESSION 7
87 #define IMF_DWAA_COMPRESSION 8
88 #define IMF_DWAB_COMPRESSION 9
95 #define IMF_WRITE_R 0x01
96 #define IMF_WRITE_G 0x02
97 #define IMF_WRITE_B 0x04
98 #define IMF_WRITE_A 0x08
99 #define IMF_WRITE_Y 0x10
100 #define IMF_WRITE_C 0x20
101 #define IMF_WRITE_RGB 0x07
102 #define IMF_WRITE_RGBA 0x0f
103 #define IMF_WRITE_YC 0x30
104 #define IMF_WRITE_YA 0x18
105 #define IMF_WRITE_YCA 0x38
112 #define IMF_ONE_LEVEL 0
113 #define IMF_MIPMAP_LEVELS 1
114 #define IMF_RIPMAP_LEVELS 2
121 #define IMF_ROUND_DOWN 0
122 #define IMF_ROUND_UP 1
148 int *xMin,
int *yMin,
149 int *xMax,
int *yMax);
158 int *xMin,
int *yMin,
159 int *xMax,
int *yMax);
246 int *xMin,
int *yMin,
247 int *xMax,
int *yMax);
252 float xMin,
float yMin,
253 float xMax,
float yMax);
258 float *xMin,
float *yMin,
259 float *xMax,
float *yMax);
284 int x,
int y,
int z);
289 int *
x,
int *
y,
int *
z);
294 float x,
float y,
float z);
299 float *
x,
float *
y,
float *
z);
304 const float m[3][3]);
314 const float m[4][4]);
367 int xSize,
int ySize,
368 int mode,
int rmode);
386 int dxMin,
int dxMax,
387 int dyMin,
int dyMax,
470 int dxMin,
int dxMax,
471 int dyMin,
int dyMax,
IMF_EXPORT int ImfHeaderBox2iAttribute(const ImfHeader *hdr, const char name[], int *xMin, int *yMin, int *xMax, int *yMax)
IMF_EXPORT int ImfTiledInputReadTiles(ImfTiledInputFile *in, int dxMin, int dxMax, int dyMin, int dyMax, int lx, int ly)
IMF_EXPORT int ImfTiledInputLevelMode(const ImfTiledInputFile *in)
IMF_EXPORT void ImfHeaderSetPixelAspectRatio(ImfHeader *hdr, float pixelAspectRatio)
IMF_EXPORT int ImfTiledOutputLevelMode(const ImfTiledOutputFile *out)
IMF_EXPORT ImfLut * ImfNewRound12logLut(int channels)
IMF_EXPORT const char * ImfErrorMessage(void)
IMF_EXPORT ImfOutputFile * ImfOpenOutputFile(const char name[], const ImfHeader *hdr, int channels)
IMF_EXPORT void ImfFloatToHalfArray(int n, const float f[], ImfHalf h[])
IMF_EXPORT int ImfTiledInputSetFrameBuffer(ImfTiledInputFile *in, ImfRgba *base, size_t xStride, size_t yStride)
IMF_EXPORT const ImfHeader * ImfTiledInputHeader(const ImfTiledInputFile *in)
IMF_EXPORT int ImfHeaderCompression(const ImfHeader *hdr)
IMF_EXPORT void ImfApplyLut(ImfLut *lut, ImfRgba *data, int nData, int stride)
IMF_EXPORT int ImfHeaderV3fAttribute(const ImfHeader *hdr, const char name[], float *x, float *y, float *z)
IMF_EXPORT void ImfHeaderDisplayWindow(const ImfHeader *hdr, int *xMin, int *yMin, int *xMax, int *yMax)
IMF_EXPORT ImfHeader * ImfNewHeader(void)
IMF_EXPORT const char * ImfInputFileName(const ImfInputFile *in)
struct ImfTiledOutputFile ImfTiledOutputFile
IMF_EXPORT int ImfHeaderSetBox2iAttribute(ImfHeader *hdr, const char name[], int xMin, int yMin, int xMax, int yMax)
IMF_EXPORT ImfHeader * ImfCopyHeader(const ImfHeader *hdr)
IMF_EXPORT int ImfHeaderSetBox2fAttribute(ImfHeader *hdr, const char name[], float xMin, float yMin, float xMax, float yMax)
GLdouble GLdouble GLdouble z
IMF_EXPORT int ImfTiledOutputSetFrameBuffer(ImfTiledOutputFile *out, const ImfRgba *base, size_t xStride, size_t yStride)
struct ImfInputFile ImfInputFile
IMF_EXPORT int ImfHeaderV2fAttribute(const ImfHeader *hdr, const char name[], float *x, float *y)
IMF_EXPORT void ImfHeaderSetCompression(ImfHeader *hdr, int compression)
IMF_EXPORT void ImfFloatToHalf(float f, ImfHalf *h)
IMF_EXPORT float ImfHeaderScreenWindowWidth(const ImfHeader *hdr)
IMF_EXPORT int ImfInputReadPixels(ImfInputFile *in, int scanLine1, int scanLine2)
IMF_EXPORT const ImfHeader * ImfTiledOutputHeader(const ImfTiledOutputFile *out)
IMF_EXPORT int ImfHeaderSetV2fAttribute(ImfHeader *hdr, const char name[], float x, float y)
IMF_EXPORT int ImfHeaderSetIntAttribute(ImfHeader *hdr, const char name[], int value)
IMF_EXPORT int ImfHeaderSetM44fAttribute(ImfHeader *hdr, const char name[], const float m[4][4])
IMF_EXPORT int ImfHeaderFloatAttribute(const ImfHeader *hdr, const char name[], float *value)
IMF_EXPORT int ImfHeaderM44fAttribute(const ImfHeader *hdr, const char name[], float m[4][4])
struct ImfHeader ImfHeader
IMF_EXPORT int ImfOutputCurrentScanLine(const ImfOutputFile *out)
struct ImfTiledInputFile ImfTiledInputFile
IMF_EXPORT int ImfInputChannels(const ImfInputFile *in)
IMF_EXPORT int ImfHeaderStringAttribute(const ImfHeader *hdr, const char name[], const char **value)
IMF_EXPORT ImfTiledInputFile * ImfOpenTiledInputFile(const char name[])
IMF_EXPORT int ImfTiledInputChannels(const ImfTiledInputFile *in)
IMF_EXPORT void ImfHeaderSetDataWindow(ImfHeader *hdr, int xMin, int yMin, int xMax, int yMax)
IMF_EXPORT int ImfHeaderSetStringAttribute(ImfHeader *hdr, const char name[], const char value[])
IMF_EXPORT int ImfHeaderBox2fAttribute(const ImfHeader *hdr, const char name[], float *xMin, float *yMin, float *xMax, float *yMax)
IMF_EXPORT int ImfTiledOutputWriteTiles(ImfTiledOutputFile *out, int dxMin, int dxMax, int dyMin, int dyMax, int lx, int ly)
GLint GLenum GLboolean GLsizei stride
IMF_EXPORT int ImfHeaderDoubleAttribute(const ImfHeader *hdr, const char name[], double *value)
IMF_EXPORT void ImfDeleteHeader(ImfHeader *hdr)
IMF_EXPORT int ImfHeaderSetV3fAttribute(ImfHeader *hdr, const char name[], float x, float y, float z)
IMF_EXPORT const char * ImfTiledInputFileName(const ImfTiledInputFile *in)
IMF_EXPORT void ImfHeaderSetScreenWindowCenter(ImfHeader *hdr, float x, float y)
IMF_EXPORT int ImfHeaderSetV2iAttribute(ImfHeader *hdr, const char name[], int x, int y)
GLuint const GLchar * name
IMF_EXPORT int ImfHeaderIntAttribute(const ImfHeader *hdr, const char name[], int *value)
IMF_EXPORT float ImfHalfToFloat(ImfHalf h)
IMF_EXPORT int ImfHeaderSetV3iAttribute(ImfHeader *hdr, const char name[], int x, int y, int z)
HUSD_API const char * pixelAspectRatio()
IMF_EXPORT int ImfOutputWritePixels(ImfOutputFile *out, int numScanLines)
IMF_EXPORT void ImfHeaderDataWindow(const ImfHeader *hdr, int *xMin, int *yMin, int *xMax, int *yMax)
IMF_EXPORT int ImfOutputChannels(const ImfOutputFile *out)
IMF_EXPORT int ImfOutputSetFrameBuffer(ImfOutputFile *out, const ImfRgba *base, size_t xStride, size_t yStride)
IMF_EXPORT int ImfHeaderV2iAttribute(const ImfHeader *hdr, const char name[], int *x, int *y)
IMF_EXPORT int ImfTiledOutputTileXSize(const ImfTiledOutputFile *out)
IMF_EXPORT int ImfHeaderV3iAttribute(const ImfHeader *hdr, const char name[], int *x, int *y, int *z)
IMF_EXPORT ImfInputFile * ImfOpenInputFile(const char name[])
IMF_EXPORT void ImfHeaderSetDisplayWindow(ImfHeader *hdr, int xMin, int yMin, int xMax, int yMax)
GLfloat GLfloat GLfloat GLfloat h
IMF_EXPORT void ImfHeaderSetScreenWindowWidth(ImfHeader *hdr, float width)
IMF_EXPORT int ImfTiledOutputLevelRoundingMode(const ImfTiledOutputFile *out)
IMF_EXPORT void ImfDeleteLut(ImfLut *lut)
IMF_EXPORT int ImfHeaderSetFloatAttribute(ImfHeader *hdr, const char name[], float value)
IMF_EXPORT int ImfCloseInputFile(ImfInputFile *in)
IMF_EXPORT int ImfHeaderLineOrder(const ImfHeader *hdr)
IMF_EXPORT int ImfTiledInputLevelRoundingMode(const ImfTiledInputFile *in)
IMF_EXPORT int ImfCloseTiledOutputFile(ImfTiledOutputFile *out)
IMF_EXPORT const ImfHeader * ImfOutputHeader(const ImfOutputFile *out)
IMF_EXPORT int ImfTiledInputTileXSize(const ImfTiledInputFile *in)
IMF_EXPORT int ImfHeaderM33fAttribute(const ImfHeader *hdr, const char name[], float m[3][3])
IMF_EXPORT void ImfHeaderScreenWindowCenter(const ImfHeader *hdr, float *x, float *y)
struct ImfOutputFile ImfOutputFile
IMF_EXPORT int ImfTiledOutputWriteTile(ImfTiledOutputFile *out, int dx, int dy, int lx, int ly)
IMF_EXPORT const ImfHeader * ImfInputHeader(const ImfInputFile *in)
IMF_EXPORT int ImfInputSetFrameBuffer(ImfInputFile *in, ImfRgba *base, size_t xStride, size_t yStride)
IMF_EXPORT int ImfCloseOutputFile(ImfOutputFile *out)
IMF_EXPORT int ImfTiledInputTileYSize(const ImfTiledInputFile *in)
IMF_EXPORT ImfLut * ImfNewRoundNBitLut(unsigned int n, int channels)
IMF_EXPORT float ImfHeaderPixelAspectRatio(const ImfHeader *hdr)
IMF_EXPORT ImfTiledOutputFile * ImfOpenTiledOutputFile(const char name[], const ImfHeader *hdr, int channels, int xSize, int ySize, int mode, int rmode)
IMF_EXPORT void ImfHeaderSetLineOrder(ImfHeader *hdr, int lineOrder)
IMF_EXPORT int ImfCloseTiledInputFile(ImfTiledInputFile *in)
IMF_EXPORT int ImfTiledOutputChannels(const ImfTiledOutputFile *out)
IMF_EXPORT int ImfHeaderSetDoubleAttribute(ImfHeader *hdr, const char name[], double value)
IMF_EXPORT int ImfHeaderSetM33fAttribute(ImfHeader *hdr, const char name[], const float m[3][3])
IMF_EXPORT int ImfTiledOutputTileYSize(const ImfTiledOutputFile *out)
ImageBuf OIIO_API channels(const ImageBuf &src, int nchannels, cspan< int > channelorder, cspan< float > channelvalues={}, cspan< std::string > newchannelnames={}, bool shuffle_channel_names=false, int nthreads=0)
IMF_EXPORT void ImfHalfToFloatArray(int n, const ImfHalf h[], float f[])
IMF_EXPORT int ImfTiledInputReadTile(ImfTiledInputFile *in, int dx, int dy, int lx, int ly)