Coverage Report

Created: 2026-02-14 06:48

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libraw/internal/dcraw_defs.h
Line
Count
Source
1
/* -*- C++ -*-
2
 * Copyright 2019-2025 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
40.2k
#define stmread(buf, maxlen, fp) stread(buf, MIN(maxlen, sizeof(buf)), fp)
28
19.2k
#define strbuflen(buf) strnlen(buf, sizeof(buf) - 1)
29
589k
#define makeIs(idx) (maker_index == idx)
30
#define strnXcat(buf, string)                                                  \
31
11.5k
  strncat(buf, string, LIM(sizeof(buf) - strbuflen(buf) - 1, 0, sizeof(buf)))
32
33
// DNG was written by:
34
8.90M
#define nonDNG    0
35
526k
#define CameraDNG 1
36
545k
#define AdobeDNG  2
37
38
// Makernote tag type:
39
11.1k
#define is_0x927c 0 /* most cameras */
40
169
#define is_0xc634 2 /* Adobe DNG, Sony SR2, Pentax */
41
42
// abbreviations
43
1.44M
#define ilm imgdata.lens.makernotes
44
1.75M
#define icWBC imgdata.color.WB_Coeffs
45
1.03M
#define icWBCCTC imgdata.color.WBCT_Coeffs
46
769k
#define imCanon imgdata.makernotes.canon
47
824k
#define imFuji imgdata.makernotes.fuji
48
58.3k
#define imHassy imgdata.makernotes.hasselblad
49
7.50M
#define imKodak imgdata.makernotes.kodak
50
172k
#define imNikon imgdata.makernotes.nikon
51
188k
#define imOly imgdata.makernotes.olympus
52
7.85k
#define imPana imgdata.makernotes.panasonic
53
23.3k
#define imPentax imgdata.makernotes.pentax
54
2.12k
#define imPhaseOne imgdata.makernotes.phaseone
55
9.33k
#define imRicoh imgdata.makernotes.ricoh
56
16.9k
#define imSamsung imgdata.makernotes.samsung
57
835k
#define imSony imgdata.makernotes.sony
58
853k
#define imCommon imgdata.makernotes.common
59
60
61
80.5M
#define ph1_bits(n) ph1_bithuff(n, 0)
62
19.0M
#define ph1_huff(h) ph1_bithuff(*h, h + 1)
63
172M
#define getbits(n)  getbithuff(n, 0)
64
173M
#define gethuff(h)  getbithuff(*h, h + 1)
65
66
#endif