1 /* -*- C++ -*- 2 * Copyright 2020 LibRaw LLC (info@libraw.org) 3 * 4 5 LibRaw is free software; you can redistribute it and/or modify 6 it under the terms of the one of two licenses as you choose: 7 8 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1 9 (See file LICENSE.LGPL provided in LibRaw distribution archive for details). 10 11 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 12 (See file LICENSE.CDDL provided in LibRaw distribution archive for details). 13 14 */ 15 16 #ifndef DCRAW_DEFS_H 17 #define DCRAW_DEFS_H 18 19 #include <math.h> 20 #define LIBRAW_LIBRARY_BUILD 21 #define LIBRAW_IO_REDEFINED 22 #include "libraw/libraw.h" 23 #include "libraw/libraw_types.h" 24 #include "internal/defines.h" 25 #include "internal/var_defines.h" 26 27 #define stmread(buf, maxlen, fp) stread(buf, MIN(maxlen, sizeof(buf)), fp) 28 #define strbuflen(buf) strnlen(buf, sizeof(buf) - 1) 29 #define makeIs(idx) (maker_index == idx) 30 #define strnXcat(buf, string) \ 31 strncat(buf, string, LIM(sizeof(buf) - strbuflen(buf) - 1, 0, sizeof(buf))) 32 33 // DNG was written by: 34 #define nonDNG 0 35 #define CameraDNG 1 36 #define AdobeDNG 2 37 38 // Makernote tag type: 39 #define is_0x927c 0 /* most cameras */ 40 #define is_0xc634 2 /* Adobe DNG, Sony SR2, Pentax */ 41 #define ilm imgdata.lens.makernotes 42 #define icWBC imgdata.color.WB_Coeffs 43 #define icWBCCTC imgdata.color.WBCT_Coeffs 44 #define imCanon imgdata.makernotes.canon 45 #define imFuji imgdata.makernotes.fuji 46 #define imHassy imgdata.makernotes.hasselblad 47 #define imKodak imgdata.makernotes.kodak 48 #define imNikon imgdata.makernotes.nikon 49 #define imOly imgdata.makernotes.olympus 50 #define imPana imgdata.makernotes.panasonic 51 #define imPentax imgdata.makernotes.pentax 52 #define imSamsung imgdata.makernotes.samsung 53 #define imSony imgdata.makernotes.sony 54 #define imCommon imgdata.makernotes.common 55 56 57 #define ph1_bits(n) ph1_bithuff(n, 0) 58 #define ph1_huff(h) ph1_bithuff(*h, h + 1) 59 #define getbits(n) getbithuff(n, 0) 60 #define gethuff(h) getbithuff(*h, h + 1) 61 62 #endif 63