Make functions internal
This commit is contained in:
parent
3f022acf9c
commit
d195086af8
@ -53,16 +53,18 @@ struct strip_data_field {
|
|||||||
u16 type_byte_count;
|
u16 type_byte_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
TiffHdr read_tiff_header(const TiffReader *reader);
|
internal TiffHdr read_tiff_header(const TiffReader *reader);
|
||||||
TiffIFD read_ifd(const TiffReader *reader, Arena *arena);
|
internal TiffIFD read_ifd(const TiffReader *reader, Arena *arena);
|
||||||
TiffImage read_fields(const TiffReader *reader);
|
internal TiffImage read_fields(const TiffReader *reader);
|
||||||
Pixel *load_image_pixels(TiffReader *reader, Arena *arena);
|
internal Pixel *load_image_pixels(TiffReader *reader, Arena *arena);
|
||||||
bool read_strip_data(TiffReader *reader, Arena *arena);
|
internal bool read_strip_data(TiffReader *reader, Arena *arena);
|
||||||
void read_strips(const TiffReader *reader, Pixel *buf);
|
internal void read_strips(const TiffReader *reader, Pixel *buf);
|
||||||
void read_strip_data_field(const TiffReader *reader, StripDataField *field);
|
internal void read_strip_data_field(const TiffReader *reader,
|
||||||
bool read_field(const TiffField *field, TiffImage *img);
|
StripDataField *field);
|
||||||
bool validate_image_type(const TiffImage *img);
|
internal bool read_field(const TiffField *field, TiffImage *img);
|
||||||
void read_from_file_with_offset(FILE *fp, void *dst, u64 count, u64 offset);
|
internal bool validate_image_type(const TiffImage *img);
|
||||||
|
internal void read_from_file_with_offset(FILE *fp, void *dst, u64 count,
|
||||||
|
u64 offset);
|
||||||
|
|
||||||
Image *read_baseline_tiff(const char *file, Arena *arena) {
|
Image *read_baseline_tiff(const char *file, Arena *arena) {
|
||||||
Image *img_out = NULL;
|
Image *img_out = NULL;
|
||||||
@ -137,7 +139,7 @@ READ_BASELINE_RETURN_IMG:
|
|||||||
return img_out;
|
return img_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
TiffHdr read_tiff_header(const TiffReader *reader) {
|
internal TiffHdr read_tiff_header(const TiffReader *reader) {
|
||||||
TiffHdr header = NULL_TIFF_HEADER;
|
TiffHdr header = NULL_TIFF_HEADER;
|
||||||
read_from_file_with_offset(reader->fp, &header, sizeof(TiffHdr), 0);
|
read_from_file_with_offset(reader->fp, &header, sizeof(TiffHdr), 0);
|
||||||
|
|
||||||
@ -167,7 +169,7 @@ TiffHdr read_tiff_header(const TiffReader *reader) {
|
|||||||
return header;
|
return header;
|
||||||
}
|
}
|
||||||
|
|
||||||
TiffIFD read_ifd(const TiffReader *reader, Arena *arena) {
|
internal TiffIFD read_ifd(const TiffReader *reader, Arena *arena) {
|
||||||
TiffIFD ifd = NULL_TIFF_IFD;
|
TiffIFD ifd = NULL_TIFF_IFD;
|
||||||
read_from_file_with_offset(reader->fp, &(ifd.count), sizeof(ifd.count),
|
read_from_file_with_offset(reader->fp, &(ifd.count), sizeof(ifd.count),
|
||||||
reader->header.first_ifd_offset);
|
reader->header.first_ifd_offset);
|
||||||
@ -199,7 +201,7 @@ TiffIFD read_ifd(const TiffReader *reader, Arena *arena) {
|
|||||||
return ifd;
|
return ifd;
|
||||||
}
|
}
|
||||||
|
|
||||||
TiffImage read_fields(const TiffReader *reader) {
|
internal TiffImage read_fields(const TiffReader *reader) {
|
||||||
TiffImage img_out = NULL_TIFF_IMAGE;
|
TiffImage img_out = NULL_TIFF_IMAGE;
|
||||||
img_out.type = TIFF_IMAGE_TYPE_BILEVEL;
|
img_out.type = TIFF_IMAGE_TYPE_BILEVEL;
|
||||||
|
|
||||||
@ -265,7 +267,7 @@ READ_FIELDS_RETURN_IMAGE:
|
|||||||
return img_out;
|
return img_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
Pixel *load_image_pixels(TiffReader *reader, Arena *arena) {
|
internal Pixel *load_image_pixels(TiffReader *reader, Arena *arena) {
|
||||||
Pixel *buf = NULL;
|
Pixel *buf = NULL;
|
||||||
u64 img_byte_count =
|
u64 img_byte_count =
|
||||||
sizeof(Pixel) * reader->img.image_width * reader->img.image_length;
|
sizeof(Pixel) * reader->img.image_width * reader->img.image_length;
|
||||||
@ -292,7 +294,7 @@ LOAD_IMAGE_PIXELS_RETURN:
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool read_strip_data(TiffReader *reader, Arena *arena) {
|
internal bool read_strip_data(TiffReader *reader, Arena *arena) {
|
||||||
reader->img.strips =
|
reader->img.strips =
|
||||||
wapp_mem_arena_alloc(arena, sizeof(TiffStrip) * reader->img.strip_count);
|
wapp_mem_arena_alloc(arena, sizeof(TiffStrip) * reader->img.strip_count);
|
||||||
if (!(reader->img.strips)) {
|
if (!(reader->img.strips)) {
|
||||||
@ -338,7 +340,7 @@ bool read_strip_data(TiffReader *reader, Arena *arena) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void read_strips(const TiffReader *reader, Pixel *buf) {
|
internal void read_strips(const TiffReader *reader, Pixel *buf) {
|
||||||
u64 position = 0;
|
u64 position = 0;
|
||||||
for (u64 i = 0; i < reader->img.strip_count; ++i) {
|
for (u64 i = 0; i < reader->img.strip_count; ++i) {
|
||||||
const TiffStrip *strip = &(reader->img.strips[i]);
|
const TiffStrip *strip = &(reader->img.strips[i]);
|
||||||
@ -358,7 +360,8 @@ void read_strips(const TiffReader *reader, Pixel *buf) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void read_strip_data_field(const TiffReader *reader, StripDataField *field) {
|
internal void read_strip_data_field(const TiffReader *reader,
|
||||||
|
StripDataField *field) {
|
||||||
u16 tiff_long_byte_count = field_types[TIFF_FIELD_TYPE_LONG].byte_count;
|
u16 tiff_long_byte_count = field_types[TIFF_FIELD_TYPE_LONG].byte_count;
|
||||||
|
|
||||||
bool value_is_file_offset = field->length_in_bytes > tiff_long_byte_count;
|
bool value_is_file_offset = field->length_in_bytes > tiff_long_byte_count;
|
||||||
@ -394,7 +397,7 @@ void read_strip_data_field(const TiffReader *reader, StripDataField *field) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool read_field(const TiffField *field, TiffImage *img) {
|
internal bool read_field(const TiffField *field, TiffImage *img) {
|
||||||
switch (field->tag) {
|
switch (field->tag) {
|
||||||
case TIFF_PUBLIC_TAG_IMAGE_WIDTH:
|
case TIFF_PUBLIC_TAG_IMAGE_WIDTH:
|
||||||
if (field->count > 1) {
|
if (field->count > 1) {
|
||||||
@ -531,7 +534,7 @@ bool read_field(const TiffField *field, TiffImage *img) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool validate_image_type(const TiffImage *img) {
|
internal bool validate_image_type(const TiffImage *img) {
|
||||||
if (img->type < TIFF_IMAGE_TYPE_BILEVEL || img->type > TIFF_IMAGE_TYPE_RGB) {
|
if (img->type < TIFF_IMAGE_TYPE_BILEVEL || img->type > TIFF_IMAGE_TYPE_RGB) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -566,7 +569,8 @@ bool validate_image_type(const TiffImage *img) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void read_from_file_with_offset(FILE *fp, void *dst, u64 count, u64 offset) {
|
internal void read_from_file_with_offset(FILE *fp, void *dst, u64 count,
|
||||||
|
u64 offset) {
|
||||||
if (!fp || !dst) {
|
if (!fp || !dst) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user