Lines Matching defs:ifd

59 {   IFD *ifd;
62 ifd = (IFD *)malloc (sizeof (IFD));
63 if (ifd == NULL) return NULL;
65 ifd->ifde = (IFD_ENTRY *)malloc (maxtags * sizeof (IFD_ENTRY));
66 if (ifd->ifde == NULL)
68 free (ifd);
71 ifd->ntags = 0;
72 ifd->maxtags = maxtags;
74 return ifd;
78 free_ifd (IFD *ifd)
81 if (ifd == NULL) return;
82 if (ifd->ifde != NULL)
84 free (ifd->ifde);
85 ifd->ifde = NULL;
87 free (ifd);
88 ifd = NULL;
92 add_ifd_entry (IFD *ifd, int tag, int typ, int nvals, int val)
97 if (ifd == NULL) return;
98 if (ifd->ntags == ifd->maxtags)
100 ifde = (IFD_ENTRY *)realloc (ifd->ifde,
101 (ifd->maxtags+add_entries)*sizeof (IFD_ENTRY));
103 ifd->ifde = ifde;
104 ifd->maxtags += add_entries;
106 ifde = &(ifd->ifde[ifd->ntags]);
111 (ifd->ntags)++;
150 write_ifd (FILE *fptr, IFD *ifd, int motorola)
154 if (!ifd) return;
161 write_i2 (fptr, ifd->ntags, motorola);
163 for (k = 0; k < ifd->ntags; k++)
165 ifde = &(ifd->ifde[k]);
185 {IFD *ifd;
192 ifd = create_ifd ();
210 add_ifd_entry (ifd, 254, IFDE_TYP_LONG, 1, 0);
212 add_ifd_entry (ifd, 256, (width > 0xffff) ? IFDE_TYP_LONG : IFDE_TYP_SHORT,
215 add_ifd_entry (ifd, 257, (height > 0xffff) ? IFDE_TYP_LONG : IFDE_TYP_SHORT,
218 add_ifd_entry (ifd, 258, IFDE_TYP_SHORT, 1, 1);
220 add_ifd_entry (ifd, 259, IFDE_TYP_SHORT, 1, 1);
222 add_ifd_entry (ifd, 262, IFDE_TYP_SHORT, 1, 0);
224 add_ifd_entry (ifd, 266, IFDE_TYP_SHORT, 1, 1);
226 add_ifd_entry (ifd, 273, IFDE_TYP_LONG, 1, strip_offset);
228 add_ifd_entry (ifd, 274, IFDE_TYP_SHORT, 1, 1);
230 add_ifd_entry (ifd, 277, IFDE_TYP_SHORT, 1, 1);
232 add_ifd_entry (ifd, 278, IFDE_TYP_LONG, 1, height);
234 add_ifd_entry (ifd, 279, IFDE_TYP_LONG, 1, strip_bytecount);
238 add_ifd_entry (ifd, 282, IFDE_TYP_RATIONAL, 1, data_offset);
241 add_ifd_entry (ifd, 283, IFDE_TYP_RATIONAL, 1, data_offset);
247 add_ifd_entry (ifd, 296, IFDE_TYP_SHORT, 1, 2);
252 write_ifd (fptr, ifd, motorola);
263 free_ifd (ifd);
269 {IFD *ifd;
283 ifd = create_ifd ();
309 add_ifd_entry (ifd, 254, IFDE_TYP_LONG, 1, 0);
311 add_ifd_entry (ifd, 256, (width > 0xffff) ? IFDE_TYP_LONG : IFDE_TYP_SHORT,
314 add_ifd_entry (ifd, 257, (height > 0xffff) ? IFDE_TYP_LONG : IFDE_TYP_SHORT,
317 add_ifd_entry (ifd, 258, IFDE_TYP_SHORT, 1, depth);
319 add_ifd_entry (ifd, 259, IFDE_TYP_SHORT, 1, 1);
321 add_ifd_entry (ifd, 262, IFDE_TYP_SHORT, 1, 1);
323 add_ifd_entry (ifd, 273, IFDE_TYP_LONG, 1, strip_offset);
325 add_ifd_entry (ifd, 274, IFDE_TYP_SHORT, 1, 1);
327 add_ifd_entry (ifd, 277, IFDE_TYP_SHORT, 1, 1);
329 add_ifd_entry (ifd, 278, IFDE_TYP_LONG, 1, height);
331 add_ifd_entry (ifd, 279, IFDE_TYP_LONG, 1, strip_bytecount);
333 add_ifd_entry (ifd, 280, IFDE_TYP_SHORT, 1, 0);
335 add_ifd_entry (ifd, 281, IFDE_TYP_SHORT, 1, maxsamplevalue);
339 add_ifd_entry (ifd, 282, IFDE_TYP_RATIONAL, 1, data_offset);
342 add_ifd_entry (ifd, 283, IFDE_TYP_RATIONAL, 1, data_offset);
348 add_ifd_entry (ifd, 296, IFDE_TYP_SHORT, 1, 2);
353 add_ifd_entry(ifd, 34675, 7, (int) icc_size, data_offset);
368 write_ifd (fptr, ifd, motorola);
386 free_ifd (ifd);
392 {IFD *ifd;
407 ifd = create_ifd ();
435 add_ifd_entry (ifd, 254, IFDE_TYP_LONG, 1, 0);
437 add_ifd_entry (ifd, 256, (width > 0xffff) ? IFDE_TYP_LONG : IFDE_TYP_SHORT,
440 add_ifd_entry (ifd, 257, (height > 0xffff) ? IFDE_TYP_LONG : IFDE_TYP_SHORT,
443 add_ifd_entry (ifd, 258, IFDE_TYP_SHORT, 3, data_offset);
446 add_ifd_entry (ifd, 259, IFDE_TYP_SHORT, 1, 1);
448 add_ifd_entry (ifd, 262, IFDE_TYP_SHORT, 1, 2);
450 add_ifd_entry (ifd, 273, IFDE_TYP_LONG, 1, strip_offset);
452 add_ifd_entry (ifd, 274, IFDE_TYP_SHORT, 1, 1);
454 add_ifd_entry (ifd, 277, IFDE_TYP_SHORT, 1, 3);
456 add_ifd_entry (ifd, 278, IFDE_TYP_LONG, 1, height);
458 add_ifd_entry (ifd, 279, IFDE_TYP_LONG, 1, strip_bytecount);
460 add_ifd_entry (ifd, 280, IFDE_TYP_SHORT, 3, data_offset);
463 add_ifd_entry (ifd, 281, IFDE_TYP_SHORT, 3, data_offset);
469 add_ifd_entry (ifd, 282, IFDE_TYP_RATIONAL, 1, data_offset);
472 add_ifd_entry (ifd, 283, IFDE_TYP_RATIONAL, 1, data_offset);
479 add_ifd_entry (ifd, 296, IFDE_TYP_SHORT, 1, 2);
484 add_ifd_entry(ifd, 34675, 7, (int) icc_size, data_offset);
500 write_ifd (fptr, ifd, motorola);
534 free_ifd (ifd);