Blender V2.61 - r43446

cineonlib.h

Go to the documentation of this file.
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_ */