Blender
V5.0
source
blender
imbuf
intern
cineon
cineonlib.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 1999-2001 David Hodson <hodsond@acm.org>.
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
11
12
#pragma once
13
14
#include "
logImageCore.h
"
15
16
#define CINEON_FILE_MAGIC 0x802A5FD7
17
#define CINEON_UNDEFINED_U8 0xFF
18
#define CINEON_UNDEFINED_U16 0xFFFF
19
#define CINEON_UNDEFINED_U32 0xFFFFFFFF
20
#define CINEON_UNDEFINED_R32 0x7F800000
21
#define CINEON_UNDEFINED_CHAR 0
22
23
struct
CineonFileHeader
{
24
unsigned
int
magic_num
;
25
unsigned
int
offset
;
26
unsigned
int
gen_hdr_size
;
27
unsigned
int
ind_hdr_size
;
28
unsigned
int
user_data_size
;
29
unsigned
int
file_size
;
30
char
version
[8];
31
char
file_name
[100];
32
char
creation_date
[12];
33
char
creation_time
[12];
34
char
reserved
[36];
35
};
36
37
struct
CineonElementHeader
{
38
uchar
descriptor1
;
39
uchar
descriptor2
;
40
uchar
bits_per_sample
;
41
uchar
filler
;
42
unsigned
int
pixels_per_line
;
43
unsigned
int
lines_per_image
;
44
unsigned
int
ref_low_data
;
45
float
ref_low_quantity
;
46
unsigned
int
ref_high_data
;
47
float
ref_high_quantity
;
48
};
49
50
struct
CineonImageHeader
{
51
uchar
orientation
;
52
uchar
elements_per_image
;
53
unsigned
short
filler
;
54
CineonElementHeader
element
[8];
55
float
white_point_x
;
56
float
white_point_y
;
57
float
red_primary_x
;
58
float
red_primary_y
;
59
float
green_primary_x
;
60
float
green_primary_y
;
61
float
blue_primary_x
;
62
float
blue_primary_y
;
63
char
label
[200];
64
char
reserved
[28];
65
uchar
interleave
;
66
uchar
packing
;
67
uchar
data_sign
;
68
uchar
sense
;
69
unsigned
int
line_padding
;
70
unsigned
int
element_padding
;
71
char
reserved2
[20];
72
};
73
74
struct
CineonOriginationHeader
{
75
int
x_offset
;
76
int
y_offset
;
77
char
file_name
[100];
78
char
creation_date
[12];
79
char
creation_time
[12];
80
char
input_device
[64];
81
char
model_number
[32];
82
char
input_serial_number
[32];
83
float
x_input_samples_per_mm
;
84
float
y_input_samples_per_mm
;
85
float
input_device_gamma
;
86
char
reserved
[40];
87
};
88
89
struct
CineonFilmHeader
{
90
uchar
film_code
;
91
uchar
film_type
;
92
uchar
edge_code_perforation_offset
;
93
uchar
filler
;
94
unsigned
int
prefix
;
95
unsigned
int
count
;
96
char
format
[32];
97
unsigned
int
frame_position
;
98
float
frame_rate
;
99
char
attribute
[32];
100
char
slate
[200];
101
char
reserved
[740];
102
};
103
104
struct
CineonMainHeader
{
105
CineonFileHeader
fileHeader
;
106
CineonImageHeader
imageHeader
;
107
CineonOriginationHeader
originationHeader
;
108
CineonFilmHeader
filmHeader
;
109
};
110
111
void
cineonSetVerbose
(
int
);
112
LogImageFile
*
cineonOpen
(
const
uchar
*byteStuff,
int
fromMemory,
size_t
bufferSize);
113
LogImageFile
*
cineonCreate
(
114
const
char
*filepath,
int
width,
int
height,
int
bitsPerSample,
const
char
*creator);
uchar
unsigned char uchar
Definition
BLI_sys_types.h:67
cineonCreate
LogImageFile * cineonCreate(const char *filepath, int width, int height, int bitsPerSample, const char *creator)
Definition
cineonlib.cc:353
cineonOpen
LogImageFile * cineonOpen(const uchar *byteStuff, int fromMemory, size_t bufferSize)
Definition
cineonlib.cc:124
cineonSetVerbose
void cineonSetVerbose(int)
Definition
cineonlib.cc:32
logImageCore.h
CineonElementHeader
Definition
cineonlib.h:37
CineonElementHeader::ref_low_data
unsigned int ref_low_data
Definition
cineonlib.h:44
CineonElementHeader::filler
uchar filler
Definition
cineonlib.h:41
CineonElementHeader::descriptor1
uchar descriptor1
Definition
cineonlib.h:38
CineonElementHeader::descriptor2
uchar descriptor2
Definition
cineonlib.h:39
CineonElementHeader::ref_high_data
unsigned int ref_high_data
Definition
cineonlib.h:46
CineonElementHeader::pixels_per_line
unsigned int pixels_per_line
Definition
cineonlib.h:42
CineonElementHeader::ref_low_quantity
float ref_low_quantity
Definition
cineonlib.h:45
CineonElementHeader::lines_per_image
unsigned int lines_per_image
Definition
cineonlib.h:43
CineonElementHeader::bits_per_sample
uchar bits_per_sample
Definition
cineonlib.h:40
CineonElementHeader::ref_high_quantity
float ref_high_quantity
Definition
cineonlib.h:47
CineonFileHeader
Definition
cineonlib.h:23
CineonFileHeader::file_size
unsigned int file_size
Definition
cineonlib.h:29
CineonFileHeader::reserved
char reserved[36]
Definition
cineonlib.h:34
CineonFileHeader::file_name
char file_name[100]
Definition
cineonlib.h:31
CineonFileHeader::creation_time
char creation_time[12]
Definition
cineonlib.h:33
CineonFileHeader::magic_num
unsigned int magic_num
Definition
cineonlib.h:24
CineonFileHeader::offset
unsigned int offset
Definition
cineonlib.h:25
CineonFileHeader::version
char version[8]
Definition
cineonlib.h:30
CineonFileHeader::gen_hdr_size
unsigned int gen_hdr_size
Definition
cineonlib.h:26
CineonFileHeader::creation_date
char creation_date[12]
Definition
cineonlib.h:32
CineonFileHeader::ind_hdr_size
unsigned int ind_hdr_size
Definition
cineonlib.h:27
CineonFileHeader::user_data_size
unsigned int user_data_size
Definition
cineonlib.h:28
CineonFilmHeader
Definition
cineonlib.h:89
CineonFilmHeader::filler
uchar filler
Definition
cineonlib.h:93
CineonFilmHeader::edge_code_perforation_offset
uchar edge_code_perforation_offset
Definition
cineonlib.h:92
CineonFilmHeader::prefix
unsigned int prefix
Definition
cineonlib.h:94
CineonFilmHeader::count
unsigned int count
Definition
cineonlib.h:95
CineonFilmHeader::slate
char slate[200]
Definition
cineonlib.h:100
CineonFilmHeader::film_code
uchar film_code
Definition
cineonlib.h:90
CineonFilmHeader::frame_rate
float frame_rate
Definition
cineonlib.h:98
CineonFilmHeader::reserved
char reserved[740]
Definition
cineonlib.h:101
CineonFilmHeader::film_type
uchar film_type
Definition
cineonlib.h:91
CineonFilmHeader::format
char format[32]
Definition
cineonlib.h:96
CineonFilmHeader::attribute
char attribute[32]
Definition
cineonlib.h:99
CineonFilmHeader::frame_position
unsigned int frame_position
Definition
cineonlib.h:97
CineonImageHeader
Definition
cineonlib.h:50
CineonImageHeader::label
char label[200]
Definition
cineonlib.h:63
CineonImageHeader::elements_per_image
uchar elements_per_image
Definition
cineonlib.h:52
CineonImageHeader::reserved2
char reserved2[20]
Definition
cineonlib.h:71
CineonImageHeader::reserved
char reserved[28]
Definition
cineonlib.h:64
CineonImageHeader::packing
uchar packing
Definition
cineonlib.h:66
CineonImageHeader::filler
unsigned short filler
Definition
cineonlib.h:53
CineonImageHeader::line_padding
unsigned int line_padding
Definition
cineonlib.h:69
CineonImageHeader::blue_primary_x
float blue_primary_x
Definition
cineonlib.h:61
CineonImageHeader::white_point_x
float white_point_x
Definition
cineonlib.h:55
CineonImageHeader::orientation
uchar orientation
Definition
cineonlib.h:51
CineonImageHeader::interleave
uchar interleave
Definition
cineonlib.h:65
CineonImageHeader::sense
uchar sense
Definition
cineonlib.h:68
CineonImageHeader::red_primary_y
float red_primary_y
Definition
cineonlib.h:58
CineonImageHeader::blue_primary_y
float blue_primary_y
Definition
cineonlib.h:62
CineonImageHeader::data_sign
uchar data_sign
Definition
cineonlib.h:67
CineonImageHeader::green_primary_y
float green_primary_y
Definition
cineonlib.h:60
CineonImageHeader::red_primary_x
float red_primary_x
Definition
cineonlib.h:57
CineonImageHeader::green_primary_x
float green_primary_x
Definition
cineonlib.h:59
CineonImageHeader::element
CineonElementHeader element[8]
Definition
cineonlib.h:54
CineonImageHeader::element_padding
unsigned int element_padding
Definition
cineonlib.h:70
CineonImageHeader::white_point_y
float white_point_y
Definition
cineonlib.h:56
CineonMainHeader
Definition
cineonlib.h:104
CineonMainHeader::fileHeader
CineonFileHeader fileHeader
Definition
cineonlib.h:105
CineonMainHeader::originationHeader
CineonOriginationHeader originationHeader
Definition
cineonlib.h:107
CineonMainHeader::imageHeader
CineonImageHeader imageHeader
Definition
cineonlib.h:106
CineonMainHeader::filmHeader
CineonFilmHeader filmHeader
Definition
cineonlib.h:108
CineonOriginationHeader
Definition
cineonlib.h:74
CineonOriginationHeader::y_input_samples_per_mm
float y_input_samples_per_mm
Definition
cineonlib.h:84
CineonOriginationHeader::creation_time
char creation_time[12]
Definition
cineonlib.h:79
CineonOriginationHeader::creation_date
char creation_date[12]
Definition
cineonlib.h:78
CineonOriginationHeader::input_device_gamma
float input_device_gamma
Definition
cineonlib.h:85
CineonOriginationHeader::x_input_samples_per_mm
float x_input_samples_per_mm
Definition
cineonlib.h:83
CineonOriginationHeader::file_name
char file_name[100]
Definition
cineonlib.h:77
CineonOriginationHeader::input_device
char input_device[64]
Definition
cineonlib.h:80
CineonOriginationHeader::x_offset
int x_offset
Definition
cineonlib.h:75
CineonOriginationHeader::y_offset
int y_offset
Definition
cineonlib.h:76
CineonOriginationHeader::reserved
char reserved[40]
Definition
cineonlib.h:86
CineonOriginationHeader::input_serial_number
char input_serial_number[32]
Definition
cineonlib.h:82
CineonOriginationHeader::model_number
char model_number[32]
Definition
cineonlib.h:81
LogImageFile
Definition
logImageCore.h:54
Generated on
for Blender by
doxygen
1.16.1