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_RAMDOM_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 
117 
118 /*
119 ** Channels; values must be the same as in Imf::RgbaChannels.
120 */
121 
122 #define IMF_WRITE_R 0x01
123 #define IMF_WRITE_G 0x02
124 #define IMF_WRITE_B 0x04
125 #define IMF_WRITE_A 0x08
126 #define IMF_WRITE_Y 0x10
127 #define IMF_WRITE_C 0x20
128 #define IMF_WRITE_RGB 0x07
129 #define IMF_WRITE_RGBA 0x0f
130 #define IMF_WRITE_YC 0x30
131 #define IMF_WRITE_YA 0x18
132 #define IMF_WRITE_YCA 0x38
133 
134 
135 /*
136 ** Level modes; values must be the same as in Imf::LevelMode
137 */
138 
139 #define IMF_ONE_LEVEL 0
140 #define IMF_MIPMAP_LEVELS 1
141 #define IMF_RIPMAP_LEVELS 2
142 
143 
144 /*
145 ** Level rounding modes; values must be the same as in Imf::LevelRoundingMode
146 */
147 
148 #define IMF_ROUND_DOWN 0
149 #define IMF_ROUND_UP 1
150 
151 
152 /*
153 ** RGBA file header
154 */
155 
156 struct ImfHeader;
157 typedef struct ImfHeader ImfHeader;
158 
159 IMF_EXPORT
160 ImfHeader * ImfNewHeader (void);
161 
162 IMF_EXPORT
163 void ImfDeleteHeader (ImfHeader *hdr);
164 
165 IMF_EXPORT
166 ImfHeader * ImfCopyHeader (const ImfHeader *hdr);
167 
168 IMF_EXPORT
170  int xMin, int yMin,
171  int xMax, int yMax);
172 
173 IMF_EXPORT
174 void ImfHeaderDisplayWindow (const ImfHeader *hdr,
175  int *xMin, int *yMin,
176  int *xMax, int *yMax);
177 
178 IMF_EXPORT
180  int xMin, int yMin,
181  int xMax, int yMax);
182 
183 IMF_EXPORT
184 void ImfHeaderDataWindow (const ImfHeader *hdr,
185  int *xMin, int *yMin,
186  int *xMax, int *yMax);
187 
188 IMF_EXPORT
190  float pixelAspectRatio);
191 
192 IMF_EXPORT
193 float ImfHeaderPixelAspectRatio (const ImfHeader *hdr);
194 
195 IMF_EXPORT
197  float x, float y);
198 
199 IMF_EXPORT
200 void ImfHeaderScreenWindowCenter (const ImfHeader *hdr,
201  float *x, float *y);
202 
203 IMF_EXPORT
205  float width);
206 
207 IMF_EXPORT
208 float ImfHeaderScreenWindowWidth (const ImfHeader *hdr);
209 
210 IMF_EXPORT
212  int lineOrder);
213 
214 IMF_EXPORT
215 int ImfHeaderLineOrder (const ImfHeader *hdr);
216 
217 IMF_EXPORT
219  int compression);
220 
221 IMF_EXPORT
222 int ImfHeaderCompression (const ImfHeader *hdr);
223 
224 IMF_EXPORT
226  const char name[],
227  int value);
228 
229 IMF_EXPORT
230 int ImfHeaderIntAttribute (const ImfHeader *hdr,
231  const char name[],
232  int *value);
233 
234 IMF_EXPORT
236  const char name[],
237  float value);
238 
239 IMF_EXPORT
241  const char name[],
242  double value);
243 
244 IMF_EXPORT
245 int ImfHeaderFloatAttribute (const ImfHeader *hdr,
246  const char name[],
247  float *value);
248 
249 IMF_EXPORT
250 int ImfHeaderDoubleAttribute (const ImfHeader *hdr,
251  const char name[],
252  double *value);
253 
254 IMF_EXPORT
256  const char name[],
257  const char value[]);
258 
259 IMF_EXPORT
260 int ImfHeaderStringAttribute (const ImfHeader *hdr,
261  const char name[],
262  const char **value);
263 
264 IMF_EXPORT
266  const char name[],
267  int xMin, int yMin,
268  int xMax, int yMax);
269 
270 IMF_EXPORT
271 int ImfHeaderBox2iAttribute (const ImfHeader *hdr,
272  const char name[],
273  int *xMin, int *yMin,
274  int *xMax, int *yMax);
275 
276 IMF_EXPORT
278  const char name[],
279  float xMin, float yMin,
280  float xMax, float yMax);
281 
282 IMF_EXPORT
283 int ImfHeaderBox2fAttribute (const ImfHeader *hdr,
284  const char name[],
285  float *xMin, float *yMin,
286  float *xMax, float *yMax);
287 
288 IMF_EXPORT
290  const char name[],
291  int x, int y);
292 
293 IMF_EXPORT
294 int ImfHeaderV2iAttribute (const ImfHeader *hdr,
295  const char name[],
296  int *x, int *y);
297 
298 IMF_EXPORT
300  const char name[],
301  float x, float y);
302 
303 IMF_EXPORT
304 int ImfHeaderV2fAttribute (const ImfHeader *hdr,
305  const char name[],
306  float *x, float *y);
307 
308 IMF_EXPORT
310  const char name[],
311  int x, int y, int z);
312 
313 IMF_EXPORT
314 int ImfHeaderV3iAttribute (const ImfHeader *hdr,
315  const char name[],
316  int *x, int *y, int *z);
317 
318 IMF_EXPORT
320  const char name[],
321  float x, float y, float z);
322 
323 IMF_EXPORT
324 int ImfHeaderV3fAttribute (const ImfHeader *hdr,
325  const char name[],
326  float *x, float *y, float *z);
327 
328 IMF_EXPORT
330  const char name[],
331  const float m[3][3]);
332 
333 IMF_EXPORT
334 int ImfHeaderM33fAttribute (const ImfHeader *hdr,
335  const char name[],
336  float m[3][3]);
337 
338 IMF_EXPORT
340  const char name[],
341  const float m[4][4]);
342 
343 IMF_EXPORT
344 int ImfHeaderM44fAttribute (const ImfHeader *hdr,
345  const char name[],
346  float m[4][4]);
347 
348 /*
349 ** RGBA output file
350 */
351 
352 struct ImfOutputFile;
354 
355 IMF_EXPORT
356 ImfOutputFile * ImfOpenOutputFile (const char name[],
357  const ImfHeader *hdr,
358  int channels);
359 
360 IMF_EXPORT
362 
363 IMF_EXPORT
365  const ImfRgba *base,
366  size_t xStride,
367  size_t yStride);
368 
369 IMF_EXPORT
371  int numScanLines);
372 
373 IMF_EXPORT
374 int ImfOutputCurrentScanLine (const ImfOutputFile *out);
375 
376 IMF_EXPORT
377 const ImfHeader * ImfOutputHeader (const ImfOutputFile *out);
378 
379 IMF_EXPORT
380 int ImfOutputChannels (const ImfOutputFile *out);
381 
382 
383 /*
384 ** Tiled RGBA output file
385 */
386 
387 struct ImfTiledOutputFile;
389 
390 IMF_EXPORT
392  const ImfHeader *hdr,
393  int channels,
394  int xSize, int ySize,
395  int mode, int rmode);
396 
397 IMF_EXPORT
399 
400 IMF_EXPORT
402  const ImfRgba *base,
403  size_t xStride,
404  size_t yStride);
405 
406 IMF_EXPORT
408  int dx, int dy,
409  int lx, int ly);
410 
411 IMF_EXPORT
413  int dxMin, int dxMax,
414  int dyMin, int dyMax,
415  int lx, int ly);
416 
417 IMF_EXPORT
419 
420 IMF_EXPORT
422 
423 IMF_EXPORT
425 
426 IMF_EXPORT
428 
429 IMF_EXPORT
431 
432 IMF_EXPORT
434  (const ImfTiledOutputFile *out);
435 
436 
437 /*
438 ** RGBA input file
439 */
440 
441 struct ImfInputFile;
442 typedef struct ImfInputFile ImfInputFile;
443 
444 ImfInputFile * ImfOpenInputFile (const char name[]);
445 
446 IMF_EXPORT
448 
449 IMF_EXPORT
451  ImfRgba *base,
452  size_t xStride,
453  size_t yStride);
454 
455 IMF_EXPORT
457  int scanLine1,
458  int scanLine2);
459 
460 IMF_EXPORT
461 const ImfHeader * ImfInputHeader (const ImfInputFile *in);
462 
463 IMF_EXPORT
464 int ImfInputChannels (const ImfInputFile *in);
465 
466 IMF_EXPORT
467 const char * ImfInputFileName (const ImfInputFile *in);
468 
469 
470 /*
471 ** Tiled RGBA input file
472 */
473 
474 struct ImfTiledInputFile;
476 
477 IMF_EXPORT
479 
480 IMF_EXPORT
482 
483 IMF_EXPORT
485  ImfRgba *base,
486  size_t xStride,
487  size_t yStride);
488 
489 IMF_EXPORT
491  int dx, int dy,
492  int lx, int ly);
493 
494 IMF_EXPORT
496  int dxMin, int dxMax,
497  int dyMin, int dyMax,
498  int lx, int ly);
499 
500 IMF_EXPORT
502 
503 IMF_EXPORT
505 
506 IMF_EXPORT
507 const char * ImfTiledInputFileName (const ImfTiledInputFile *in);
508 
509 IMF_EXPORT
511 
512 IMF_EXPORT
514 
515 IMF_EXPORT
517 
518 IMF_EXPORT
520  (const ImfTiledInputFile *in);
521 
522 /*
523 ** Lookup tables
524 */
525 
526 struct ImfLut;
527 typedef struct ImfLut ImfLut;
528 
529 IMF_EXPORT
530 ImfLut * ImfNewRound12logLut (int channels);
531 
532 IMF_EXPORT
533 ImfLut * ImfNewRoundNBitLut (unsigned int n, int channels);
534 
535 IMF_EXPORT
536 void ImfDeleteLut (ImfLut *lut);
537 
538 IMF_EXPORT
539 void ImfApplyLut (ImfLut *lut,
540  ImfRgba *data,
541  int nData,
542  int stride);
543 /*
544 ** Most recent error message
545 */
546 
547 IMF_EXPORT
548 const char * ImfErrorMessage (void);
549 
550 
551 #ifdef __cplusplus
552 } /* extern "C" */
553 #endif
554 
555 #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:527
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
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
Definition: ImfCRgbaFile.h:388
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
Definition: glcorearb.h:847
GLint y
Definition: glcorearb.h:102
IMF_EXPORT int ImfTiledOutputSetFrameBuffer(ImfTiledOutputFile *out, const ImfRgba *base, size_t xStride, size_t yStride)
struct ImfInputFile ImfInputFile
Definition: ImfCRgbaFile.h:442
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])
GLint GLsizei width
Definition: glcorearb.h:102
GLdouble n
Definition: glcorearb.h:2007
IMF_EXPORT int ImfHeaderFloatAttribute(const ImfHeader *hdr, const char name[], float *value)
GLfloat f
Definition: glcorearb.h:1925
IMF_EXPORT int ImfHeaderM44fAttribute(const ImfHeader *hdr, const char name[], float m[4][4])
struct ImfHeader ImfHeader
Definition: ImfCRgbaFile.h:157
IMF_EXPORT int ImfOutputCurrentScanLine(const ImfOutputFile *out)
struct ImfTiledInputFile ImfTiledInputFile
Definition: ImfCRgbaFile.h:475
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[])
GLint GLenum GLboolean GLsizei stride
Definition: glcorearb.h:871
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)
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)
#define IMF_EXPORT
Definition: ImfExport.h:59
GLboolean * data
Definition: glcorearb.h:130
GLuint const GLchar * name
Definition: glcorearb.h:785
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)
GLenum mode
Definition: glcorearb.h:98
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)
GLfloat GLfloat GLfloat GLfloat h
Definition: glcorearb.h:2001
GLsizei const GLfloat * value
Definition: glcorearb.h:823
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:353
GLint GLenum GLint x
Definition: glcorearb.h:408
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])
ImfHalf r
Definition: ImfCRgbaFile.h:75
IMF_EXPORT int ImfTiledOutputTileYSize(const ImfTiledOutputFile *out)
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)