Blender V2.61 - r43446
|
00001 00004 /* 00005 * Cineon image file format library definitions. 00006 * Also handles DPX files (almost) 00007 * 00008 * Copyright 1999,2000,2001 David Hodson <hodsond@acm.org> 00009 * 00010 * This program is free software; you can redistribute it and/or modify it 00011 * under the terms of the GNU General Public License as published by the Free 00012 * Software Foundation; either version 2 of the License, or (at your option) 00013 * any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00017 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00018 * for more details. 00019 * 00020 * You should have received a copy of the GNU General Public License 00021 * along with this program; if not, write to the Free Software 00022 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00023 * 00024 */ 00025 00026 #ifndef _CINEON_LIB_H_ 00027 #define _CINEON_LIB_H_ 00028 00029 #include "logImageCore.h" 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif 00034 00035 /* 00036 * Cineon image structure. You don't care what this is. 00037 */ 00038 00039 typedef struct _Log_Image_File_t_ CineonFile; 00040 00041 /* int functions return 0 for OK */ 00042 00043 void cineonSetVerbose(int); 00044 00045 CineonFile* cineonOpenFromMem(unsigned char *mem, unsigned int size); 00046 00047 CineonFile* cineonOpen(const char* filename); 00048 int cineonGetSize(const CineonFile* cineon, int* xsize, int* ysize, int* channels); 00049 CineonFile* cineonCreate(const char* filename, int xsize, int ysize, int channels); 00050 int cineonIsMemFileCineon(unsigned char *mem); 00051 00052 /* get / set header block NYI */ 00053 int cineonGetHeader(CineonFile*, int*, void**); 00054 int cineonSetHeader(CineonFile*, int, void*); 00055 00056 /* get/set scanline of converted bytes */ 00057 int cineonGetRowBytes(CineonFile* cineon, unsigned short* row, int y); 00058 int cineonSetRowBytes(CineonFile* cineon, const unsigned short* row, int y); 00059 00060 /* get/set scanline of unconverted shorts */ 00061 int cineonGetRow(CineonFile* cineon, unsigned short* row, int y); 00062 int cineonSetRow(CineonFile* cineon, const unsigned short* row, int y); 00063 00064 /* closes file and deletes data */ 00065 void cineonClose(CineonFile* cineon); 00066 00067 #ifdef __cplusplus 00068 } 00069 #endif 00070 00071 #endif /* _CINEON_LIB_H_ */