48 #ifdef OJPH_ENABLE_TIFF_SUPPORT
109 void open(
const char* filename);
151 #ifdef OJPH_ENABLE_TIFF_SUPPORT
160 line_buffer_for_planar_support_uint8 = NULL;
161 line_buffer_for_planar_support_uint16 = NULL;
163 width = height = num_comps = 0;
164 bytes_per_sample = 0;
167 planar_configuration = 0;
171 bit_depth[3] = bit_depth[2] = bit_depth[1] = bit_depth[0] = 0;
172 is_signed[3] = is_signed[2] = is_signed[1] = is_signed[0] =
false;
173 subsampling[3] = subsampling[2] =
point(1, 1);
174 subsampling[1] = subsampling[0] =
point(1, 1);
181 if (line_buffer_for_planar_support_uint8)
182 free(line_buffer_for_planar_support_uint8);
183 if (line_buffer_for_planar_support_uint16)
184 free(line_buffer_for_planar_support_uint16);
187 void open(
const char* filename);
188 virtual ui32 read(
const line_buf* line,
ui32 comp_num);
191 TIFFClose(tiff_handle);
197 size get_size() { assert(tiff_handle);
return size(width, height); }
198 ui32 get_num_components() { assert(tiff_handle);
return num_comps; }
199 void set_bit_depth(
ui32 num_bit_depths,
ui32* bit_depth);
202 assert(tiff_handle && comp_num < num_comps);
return bit_depth[comp_num];
204 bool get_is_signed(
ui32 comp_num)
206 assert(tiff_handle && comp_num < num_comps);
return is_signed[comp_num];
208 point get_comp_subsampling(
ui32 comp_num)
210 assert(tiff_handle && comp_num < num_comps);
return subsampling[comp_num];
215 size_t bytes_per_line;
216 ui16 planar_configuration;
220 ui8* line_buffer_for_planar_support_uint8;
221 ui16* line_buffer_for_planar_support_uint16;
224 ui32 bytes_per_sample;
228 point subsampling[4];
247 for (
int i = 0; i < 3; ++i)
268 void open(
const char* filename);
274 ui32 num_downsampling,
const point *downsampling);
338 void open(
char* filename);
361 #ifdef OJPH_ENABLE_TIFF_SUPPORT
370 width = height = num_components = 0;
371 bytes_per_sample = 0;
372 bit_depth_of_data[0] = bit_depth_of_data[1] = bit_depth_of_data[2] = bit_depth_of_data[3] = 0;
374 cur_line = samples_per_line = 0;
377 planar_configuration = 0;
386 void open(
char* filename);
387 void configure(
ui32 width,
ui32 height,
ui32 num_components,
389 virtual ui32 write(
const line_buf* line,
ui32 comp_num);
390 virtual void close() {
392 TIFFClose(tiff_handle);
400 size_t bytes_per_line;
401 unsigned short planar_configuration;
404 ui32 width, height, num_components;
405 ui32 bit_depth_of_data[4];
406 ui32 bytes_per_sample;
409 ui32 cur_line, samples_per_line;
436 void open(
char* filename);
virtual ui32 read(const line_buf *line, ui32 comp_num)=0
virtual ui32 write(const line_buf *line, ui32 comp_num)=0
virtual ~image_out_base()
void open(const char *filename)
ui32 get_num_components()
void set_planar(bool planar)
ui32 get_bit_depth(ui32 comp_num)
ppm_in(mem_fixed_allocator *p=NULL)
point get_comp_subsampling(ui32 comp_num)
mem_fixed_allocator * alloc_p
bool get_is_signed(ui32 comp_num)
virtual ui32 read(const line_buf *line, ui32 comp_num)
void open(char *filename)
virtual ui32 write(const line_buf *line, ui32 comp_num)
void configure(ui32 width, ui32 height, ui32 num_components, ui32 bit_depth)
virtual ui32 read(const line_buf *line, ui32 comp_num)
void open(const char *filename)
void set_img_props(const size &s, ui32 num_components, ui32 num_downsampling, const point *downsampling)
void set_bit_depth(ui32 num_bit_depths, ui32 *bit_depth)
point * get_comp_subsampling()
ui32 get_num_components()
void open(char *filename)
void configure(ui32 bit_depth, ui32 num_components, ui32 *comp_width)
virtual ui32 write(const line_buf *line, ui32 comp_num)