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);
201 assert(tiff_handle && comp_num < num_comps);
202 return bit_depth[comp_num];
204 bool get_is_signed(
ui32 comp_num) {
205 assert(tiff_handle && comp_num < num_comps);
206 return is_signed[comp_num];
208 point get_comp_subsampling(
ui32 comp_num) {
209 assert(tiff_handle && comp_num < num_comps);
210 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];
273 void open(
const char* filename);
355 for (
int i = 0; i < 3; ++i)
375 void open(
const char* filename);
381 ui32 num_downsampling,
const point *downsampling);
429 void open(
const char* filename);
550 void open(
char* filename);
568#ifdef OJPH_ENABLE_TIFF_SUPPORT
585 width = height = num_components = 0;
586 bytes_per_sample = 0;
587 bit_depth_of_data[0] = bit_depth_of_data[1] = 0;
588 bit_depth_of_data[2] = bit_depth_of_data[3] = 0;
590 cur_line = samples_per_line = 0;
593 planar_configuration = 0;
602 void open(
char* filename);
603 void configure(
ui32 width,
ui32 height,
ui32 num_components,
605 virtual ui32 write(
const line_buf* line,
ui32 comp_num);
606 virtual void close() {
608 TIFFClose(tiff_handle);
616 size_t bytes_per_line;
617 unsigned short planar_configuration;
620 ui32 width, height, num_components;
621 ui32 bit_depth_of_data[4];
622 ui32 bytes_per_sample;
625 ui32 cur_line, samples_per_line;
652 void open(
char* filename);
691 void open(
char* filename);
ui32 get_num_components()
bool get_is_signed(ui32 comp_num)
size_t number_of_32_bit_words_per_line
void open(const char *filename)
ui16 packing_for_image_element_1
ui8 descriptor_for_image_element_1
ui32 offset_to_data_for_image_element_1
ui32 total_image_file_size_in_bytes
ui16 number_of_image_elements
ui8 bitdepth_for_image_element_1
virtual ui32 read(const line_buf *line, ui32 comp_num)
ui16 * line_buffer_16bit_samples
ui32 offset_to_image_data_in_bytes
ui32 get_bit_depth(ui32 comp_num)
ui16 encoding_for_image_element_1
ui32 number_of_samples_per_line
ui8 transfer_characteristic_for_image_element_1
point get_comp_subsampling(ui32 comp_num)
ui8 colormetric_specification_for_image_element_1
ui32 lines_per_image_element
bool is_byte_swapping_necessary
ui32 data_sign_for_image_element_1
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)
void set_img_props(const size &s, ui32 bit_depth, bool is_signed)
void open(const char *filename)
virtual ui32 read(const line_buf *line, ui32 comp_num=0)
void open(char *filename)
void configure(bool is_signed, ui32 bit_depth, ui32 width)
virtual ui32 write(const line_buf *line, ui32 comp_num=0)
point * get_comp_subsampling()
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)
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)
void sse41_cvrt_32b3c_to_8ub3c(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void(* conversion_fun)(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void sse41_cvrt_32b3c_to_16ub3c_le(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void gen_cvrt_32b3c_to_16ub3c_le(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void avx2_cvrt_32b3c_to_8ub3c(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void gen_cvrt_32b1c_to_16ub1c_le(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void sse41_cvrt_32b1c_to_16ub1c_be(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void avx2_cvrt_32b1c_to_16ub1c_be(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void sse41_cvrt_32b1c_to_8ub1c(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void avx2_cvrt_32b1c_to_8ub1c(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void gen_cvrt_32b3c_to_16ub3c_be(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void sse41_cvrt_32b1c_to_16ub1c_le(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void avx2_cvrt_32b1c_to_16ub1c_le(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void gen_cvrt_32b1c_to_8ub1c(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void sse41_cvrt_32b3c_to_16ub3c_be(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void gen_cvrt_32b1c_to_16ub1c_be(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)
void gen_cvrt_32b3c_to_8ub3c(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, ui32 bit_depth, ui32 count)