HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImfCRgbaFile.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
4 Digital Ltd. LLC
5 
6 All rights reserved.
7 
8 Redistribution and use in source and binary forms, with or without
9 modification, are permitted provided that the following conditions are
10 met:
11 * Redistributions of source code must retain the above copyright
12 notice, this list of conditions and the following disclaimer.
13 * Redistributions in binary form must reproduce the above
14 copyright notice, this list of conditions and the following disclaimer
15 in the documentation and/or other materials provided with the
16 distribution.
17 * Neither the name of Industrial Light & Magic nor the names of
18 its contributors may be used to endorse or promote products derived
19 from this software without specific prior written permission.
20 
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 
33 */
34 
35 #ifndef INCLUDED_IMF_C_RGBA_FILE_H
36 #define INCLUDED_IMF_C_RGBA_FILE_H
37 
38 #include "ImfExport.h"
39 
40 #include <stdlib.h>
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 /*
47 ** Interpreting unsigned shorts as 16-bit floating point numbers
48 */
49 
50 typedef unsigned short ImfHalf;
51 
53 void ImfFloatToHalf (float f,
54  ImfHalf *h);
55 
57 void ImfFloatToHalfArray (int n,
58  const float f[/*n*/],
59  ImfHalf h[/*n*/]);
60 
62 float ImfHalfToFloat (ImfHalf h);
63 
65 void ImfHalfToFloatArray (int n,
66  const ImfHalf h[/*n*/],
67  float f[/*n*/]);
68 
69 /*
70 ** RGBA pixel; memory layout must be the same as struct Imf::Rgba.
71 */
72 
73 struct ImfRgba
74 {
75  ImfHalf r;
76  ImfHalf g;
77  ImfHalf b;
78  ImfHalf a;
79 };
80 
81 typedef struct ImfRgba ImfRgba;
82 
83 /*
84 ** Magic number; this must be the same as Imf::MAGIC
85 */
86 
87 #define IMF_MAGIC 20000630
88 
89 /*
90 ** Version number; this must be the same as Imf::EXR_VERSION
91 */
92 
93 #define IMF_VERSION_NUMBER 2
94 
95 /*
96 ** Line order; values must the the same as in Imf::LineOrder.
97 */
98 
99 #define IMF_INCREASING_Y 0
100 #define IMF_DECREASING_Y 1
101 #define IMF_RANDOM_Y 2
102 
103 
104 /*
105 ** Compression types; values must be the same as in Imf::Compression.
106 */
107 
108 #define IMF_NO_COMPRESSION 0
109 #define IMF_RLE_COMPRESSION 1
110 #define IMF_ZIPS_COMPRESSION 2
111 #define IMF_ZIP_COMPRESSION 3
112 #define IMF_PIZ_COMPRESSION 4
113 #define IMF_PXR24_COMPRESSION 5
114 #define IMF_B44_COMPRESSION 6
115 #define IMF_B44A_COMPRESSION 7
116 #define IMF_DWAA_COMPRESSION 8
117 #define IMF_DWAB_COMPRESSION 9
118 
119 
120 /*
121 ** Channels; values must be the same as in Imf::RgbaChannels.
122 */
123 
124 #define IMF_WRITE_R 0x01
125 #define IMF_WRITE_G 0x02
126 #define IMF_WRITE_B 0x04
127 #define IMF_WRITE_A 0x08
128 #define IMF_WRITE_Y 0x10
129 #define IMF_WRITE_C 0x20
130 #define IMF_WRITE_RGB 0x07
131 #define IMF_WRITE_RGBA 0x0f
132 #define IMF_WRITE_YC 0x30
133 #define IMF_WRITE_YA 0x18
134 #define IMF_WRITE_YCA 0x38
135 
136 
137 /*
138 ** Level modes; values must be the same as in Imf::LevelMode
139 */
140 
141 #define IMF_ONE_LEVEL 0
142 #define IMF_MIPMAP_LEVELS 1
143 #define IMF_RIPMAP_LEVELS 2
144 
145 
146 /*
147 ** Level rounding modes; values must be the same as in Imf::LevelRoundingMode
148 */
149 
150 #define IMF_ROUND_DOWN 0
151 #define IMF_ROUND_UP 1
152 
153 
154 /*
155 ** RGBA file header
156 */
157 
158 struct ImfHeader;
159 typedef struct ImfHeader ImfHeader;
160 
161 IMF_EXPORT
162 ImfHeader * ImfNewHeader (void);
163 
164 IMF_EXPORT
165 void ImfDeleteHeader (ImfHeader *hdr);
166 
167 IMF_EXPORT
168 ImfHeader * ImfCopyHeader (const ImfHeader *hdr);
169 
170 IMF_EXPORT
172  int xMin, int yMin,
173  int xMax, int yMax);
174 
175 IMF_EXPORT
176 void ImfHeaderDisplayWindow (const ImfHeader *hdr,
177  int *xMin, int *yMin,
178  int *xMax, int *yMax);
179 
180 IMF_EXPORT
182  int xMin, int yMin,
183  int xMax, int yMax);
184 
185 IMF_EXPORT
186 void ImfHeaderDataWindow (const ImfHeader *hdr,
187  int *xMin, int *yMin,
188  int *xMax, int *yMax);
189 
190 IMF_EXPORT
192  float pixelAspectRatio);
193 
194 IMF_EXPORT
195 float ImfHeaderPixelAspectRatio (const ImfHeader *hdr);
196 
197 IMF_EXPORT
199  float x, float y);
200 
201 IMF_EXPORT
202 void ImfHeaderScreenWindowCenter (const ImfHeader *hdr,
203  float *x, float *y);
204 
205 IMF_EXPORT
207  float width);
208 
209 IMF_EXPORT
210 float ImfHeaderScreenWindowWidth (const ImfHeader *hdr);
211 
212 IMF_EXPORT
214  int lineOrder);
215 
216 IMF_EXPORT
217 int ImfHeaderLineOrder (const ImfHeader *hdr);
218 
219 IMF_EXPORT
221  int compression);
222 
223 IMF_EXPORT
224 int ImfHeaderCompression (const ImfHeader *hdr);
225 
226 IMF_EXPORT
228  const char name[],
229  int value);
230 
231 IMF_EXPORT
232 int ImfHeaderIntAttribute (const ImfHeader *hdr,
233  const char name[],
234  int *value);
235 
236 IMF_EXPORT
238  const char name[],
239  float value);
240 
241 IMF_EXPORT
243  const char name[],
244  double value);
245 
246 IMF_EXPORT
247 int ImfHeaderFloatAttribute (const ImfHeader *hdr,
248  const char name[],
249  float *value);
250 
251 IMF_EXPORT
252 int ImfHeaderDoubleAttribute (const ImfHeader *hdr,
253  const char name[],
254  double *value);
255 
256 IMF_EXPORT
258  const char name[],
259  const char value[]);
260 
261 IMF_EXPORT
262 int ImfHeaderStringAttribute (const ImfHeader *hdr,
263  const char name[],
264  const char **value);
265 
266 IMF_EXPORT
268  const char name[],
269  int xMin, int yMin,
270  int xMax, int yMax);
271 
272 IMF_EXPORT
273 int ImfHeaderBox2iAttribute (const ImfHeader *hdr,
274  const char name[],
275  int *xMin, int *yMin,
276  int *xMax, int *yMax);
277 
278 IMF_EXPORT
280  const char name[],
281  float xMin, float yMin,
282  float xMax, float yMax);
283 
284 IMF_EXPORT
285 int ImfHeaderBox2fAttribute (const ImfHeader *hdr,
286  const char name[],
287  float *xMin, float *yMin,
288  float *xMax, float *yMax);
289 
290 IMF_EXPORT
292  const char name[],
293  int x, int y);
294 
295 IMF_EXPORT
296 int ImfHeaderV2iAttribute (const ImfHeader *hdr,
297  const char name[],
298  int *x, int *y);
299 
300 IMF_EXPORT
302  const char name[],
303  float x, float y);
304 
305 IMF_EXPORT
306 int ImfHeaderV2fAttribute (const ImfHeader *hdr,
307  const char name[],
308  float *x, float *y);
309 
310 IMF_EXPORT
312  const char name[],
313  int x, int y, int z);
314 
315 IMF_EXPORT
316 int ImfHeaderV3iAttribute (const ImfHeader *hdr,
317  const char name[],
318  int *x, int *y, int *z);
319 
320 IMF_EXPORT
322  const char name[],
323  float x, float y, float z);
324 
325 IMF_EXPORT
326 int ImfHeaderV3fAttribute (const ImfHeader *hdr,
327  const char name[],
328  float *x, float *y, float *z);
329 
330 IMF_EXPORT
332  const char name[],
333  const float m[3][3]);
334 
335 IMF_EXPORT
336 int ImfHeaderM33fAttribute (const ImfHeader *hdr,
337  const char name[],
338  float m[3][3]);
339 
340 IMF_EXPORT
342  const char name[],
343  const float m[4][4]);
344 
345 IMF_EXPORT
346 int ImfHeaderM44fAttribute (const ImfHeader *hdr,
347  const char name[],
348  float m[4][4]);
349 
350 /*
351 ** RGBA output file
352 */
353 
354 struct ImfOutputFile;
356 
357 IMF_EXPORT
358 ImfOutputFile * ImfOpenOutputFile (const char name[],
359  const ImfHeader *hdr,
360  int channels);
361 
362 IMF_EXPORT
364 
365 IMF_EXPORT
367  const ImfRgba *base,
368  size_t xStride,
369  size_t yStride);
370 
371 IMF_EXPORT
373  int numScanLines);
374 
375 IMF_EXPORT
376 int ImfOutputCurrentScanLine (const ImfOutputFile *out);
377 
378 IMF_EXPORT
379 const ImfHeader * ImfOutputHeader (const ImfOutputFile *out);
380 
381 IMF_EXPORT
382 int ImfOutputChannels (const ImfOutputFile *out);
383 
384 
385 /*
386 ** Tiled RGBA output file
387 */
388 
389 struct ImfTiledOutputFile;
391 
392 IMF_EXPORT
394  const ImfHeader *hdr,
395  int channels,
396  int xSize, int ySize,
397  int mode, int rmode);
398 
399 IMF_EXPORT
401 
402 IMF_EXPORT
404  const ImfRgba *base,
405  size_t xStride,
406  size_t yStride);
407 
408 IMF_EXPORT
410  int dx, int dy,
411  int lx, int ly);
412 
413 IMF_EXPORT
415  int dxMin, int dxMax,
416  int dyMin, int dyMax,
417  int lx, int ly);
418 
419 IMF_EXPORT
421 
422 IMF_EXPORT
424 
425 IMF_EXPORT
427 
428 IMF_EXPORT
430 
431 IMF_EXPORT
433 
434 IMF_EXPORT
436  (const ImfTiledOutputFile *out);
437 
438 
439 /*
440 ** RGBA input file
441 */
442 
443 struct ImfInputFile;
444 typedef struct ImfInputFile ImfInputFile;
445 
446 ImfInputFile * ImfOpenInputFile (const char name[]);
447 
448 IMF_EXPORT
450 
451 IMF_EXPORT
453  ImfRgba *base,
454  size_t xStride,
455  size_t yStride);
456 
457 IMF_EXPORT
459  int scanLine1,
460  int scanLine2);
461 
462 IMF_EXPORT
463 const ImfHeader * ImfInputHeader (const ImfInputFile *in);
464 
465 IMF_EXPORT
466 int ImfInputChannels (const ImfInputFile *in);
467 
468 IMF_EXPORT
469 const char * ImfInputFileName (const ImfInputFile *in);
470 
471 
472 /*
473 ** Tiled RGBA input file
474 */
475 
476 struct ImfTiledInputFile;
478 
479 IMF_EXPORT
481 
482 IMF_EXPORT
484 
485 IMF_EXPORT
487  ImfRgba *base,
488  size_t xStride,
489  size_t yStride);
490 
491 IMF_EXPORT
493  int dx, int dy,
494  int lx, int ly);
495 
496 IMF_EXPORT
498  int dxMin, int dxMax,
499  int dyMin, int dyMax,
500  int lx, int ly);
501 
502 IMF_EXPORT
504 
505 IMF_EXPORT
507 
508 IMF_EXPORT
509 const char * ImfTiledInputFileName (const ImfTiledInputFile *in);
510 
511 IMF_EXPORT
513 
514 IMF_EXPORT
516 
517 IMF_EXPORT
519 
520 IMF_EXPORT
522  (const ImfTiledInputFile *in);
523 
524 /*
525 ** Lookup tables
526 */
527 
528 struct ImfLut;
529 typedef struct ImfLut ImfLut;
530 
531 IMF_EXPORT
533 
534 IMF_EXPORT
535 ImfLut * ImfNewRoundNBitLut (unsigned int n, int channels);
536 
537 IMF_EXPORT
538 void ImfDeleteLut (ImfLut *lut);
539 
540 IMF_EXPORT
541 void ImfApplyLut (ImfLut *lut,
542  ImfRgba *data,
543  int nData,
544  int stride);
545 /*
546 ** Most recent error message
547 */
548 
549 IMF_EXPORT
550 const char * ImfErrorMessage (void);
551 
552 
553 #ifdef __cplusplus
554 } /* extern "C" */
555 #endif
556 
557 #endif
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)
struct ImfLut ImfLut
Definition: ImfCRgbaFile.h:529
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)
unsigned short ImfHalf
Definition: ImfCRgbaFile.h:50
GLuint const GLchar * name
Definition: glew.h:1814
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)
GLenum mode
Definition: glew.h:2163
GLint GLint GLint GLint GLint GLint GLsizei width
Definition: glew.h:1252
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
Definition: ImfCRgbaFile.h:390
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)
const GLdouble * m
Definition: glew.h:9124
IMF_EXPORT int ImfTiledOutputSetFrameBuffer(ImfTiledOutputFile *out, const ImfRgba *base, size_t xStride, size_t yStride)
struct ImfInputFile ImfInputFile
Definition: ImfCRgbaFile.h:444
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])
GLdouble GLdouble z
Definition: glew.h:1559
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
Definition: ImfCRgbaFile.h:159
IMF_EXPORT int ImfOutputCurrentScanLine(const ImfOutputFile *out)
struct ImfTiledInputFile ImfTiledInputFile
Definition: ImfCRgbaFile.h:477
GLclampf f
Definition: glew.h:3499
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252
IMF_EXPORT int ImfInputChannels(const ImfInputFile *in)
GLuint in
Definition: glew.h:11510
IMF_EXPORT int ImfHeaderStringAttribute(const ImfHeader *hdr, const char name[], const char **value)
IMF_EXPORT ImfTiledInputFile * ImfOpenTiledInputFile(const char name[])
GLint GLenum GLsizei GLint GLsizei const void * data
Definition: glew.h:1379
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)
GLsizei n
Definition: glew.h:4040
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)
GLfloat GLfloat GLfloat GLfloat h
Definition: glew.h:8011
#define IMF_EXPORT
Definition: ImfExport.h:44
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)
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)
ImfHalf a
Definition: ImfCRgbaFile.h:78
IMF_EXPORT int ImfHeaderV2iAttribute(const ImfHeader *hdr, const char name[], int *x, int *y)
GLsizei stride
Definition: glew.h:1523
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 void ImfHeaderSetDisplayWindow(ImfHeader *hdr, int xMin, int yMin, int xMax, int yMax)
ImfInputFile * ImfOpenInputFile(const char name[])
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
Definition: ImfCRgbaFile.h:355
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)
ImfHalf b
Definition: ImfCRgbaFile.h:77
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)
ImfHalf g
Definition: ImfCRgbaFile.h:76
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])
GLsizei const GLfloat * value
Definition: glew.h:1849
ImfHalf r
Definition: ImfCRgbaFile.h:75
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)