1 module libraw.const_; 2 3 enum LIBRAW_DEFAULT_ADJUST_MAXIMUM_THRESHOLD = 0.75; 4 enum LIBRAW_DEFAULT_AUTO_BRIGHTNESS_THRESHOLD = 0.01; 5 6 static if (!is(typeof(LIBRAW_MAX_ALLOC_MB_DEFAULT))) { 7 enum LIBRAW_MAX_ALLOC_MB_DEFAULT = 2048L; 8 } 9 10 11 static if (!is(typeof(LIBRAW_MAX_NONDNG_RAW_FILE_SIZE))) { 12 enum LIBRAW_MAX_NONDNG_RAW_FILE_SIZE = 2147483647UL; 13 } 14 15 static if (!is(typeof(LIBRAW_MAX_DNG_RAW_FILE_SIZE))) { 16 version (USE_DNGSDK) 17 enum LIBRAW_MAX_DNG_RAW_FILE_SIZE = 4294967295UL; 18 else 19 enum LIBRAW_MAX_DNG_RAW_FILE_SIZE = 2147483647UL; 20 } 21 22 static if (!is(typeof(LIBRAW_MAX_THUMBNAIL_MB_DEFAULT))) { 23 enum LIBRAW_MAX_THUMBNAIL_MB_DEFAULT = 512L; 24 } 25 26 static if (!is(typeof(LIBRAW_METADATA_LOOP_PREVENTION))) { 27 enum LIBRAW_METADATA_LOOP_PREVENTION = 0; 28 } 29 30 version (LIBRAW_NO_IOSPACE_CHECK) {} 31 else version = LIBRAW_IOSPACE_CHECK; 32 33 version (LIBRAW_NO_CR3_MEMPOOL) {} 34 else version = LIBRAW_CR3_MEMPOOL; 35 36 version (LIBRAW_NO_MEMPOOL_CHECK) {} 37 else version = LIBRAW_MEMPOOL_CHECK; 38 39 enum LIBRAW_MAX_METADATA_BLOCKS = 1024; 40 enum LIBRAW_CBLACK_SIZE = 4104; 41 enum LIBRAW_IFD_MAXCOUNT = 10; 42 enum LIBRAW_CRXTRACKS_MAXCOUNT = 16; 43 enum LIBRAW_AFDATA_MAXCOUNT = 4; 44 45 enum LIBRAW_AHD_TILE = 512; 46 47 version (LIBRAW_NO_IOSTREAMS_DATASTREAM) {} 48 else { 49 enum LibRaw_open_flags { 50 LIBRAW_OPEN_BIGFILE = 1, 51 LIBRAW_OPEN_FILE = 1<<1 52 } 53 } 54 55 56 enum LibRaw_openbayer_patterns { 57 RGGB = 0x94, 58 BGGR = 0x16, 59 GRBG = 0x61, 60 GBRG = 0x49 61 } 62 63 enum LibRaw_dngfields_marks { 64 FORWARDMATRIX = 1, 65 ILLUMINANT = 1 << 1, 66 COLORMATRIX = 1 << 2, 67 CALIBRATION = 1 << 3, 68 ANALOGBALANCE = 1 << 4, 69 BLACK = 1 << 5, 70 WHITE = 1 << 6, 71 OPCODE2 = 1 << 7, 72 LINTABLE = 1 << 8, 73 CROPORIGIN = 1 << 9, 74 CROPSIZE = 1 << 10, 75 PREVIEWCS = 1 << 11, 76 ASSHOTNEUTRAL = 1 << 12, 77 BASELINEEXPOSURE = 1 << 13, 78 LINEARRESPONSELIMIT = 1 << 14, 79 LIBRAW_DNGFM_USERCROP = 1 << 15, 80 } 81 82 enum LibRaw_As_Shot_WB_Applied_codes 83 { 84 APPLIED = 1, 85 CANON = 2, 86 NIKON = 4, 87 NIKON_SRAW = 8, 88 PENTAX = 16 89 } 90 91 //#define tagtypeIs(typex) (type == typex) 92 enum LibRaw_ExifTagTypes { 93 LIBRAW_EXIFTAG_TYPE_UNKNOWN = 0, 94 LIBRAW_EXIFTAG_TYPE_BYTE = 1, 95 LIBRAW_EXIFTAG_TYPE_ASCII = 2, 96 LIBRAW_EXIFTAG_TYPE_SHORT = 3, 97 LIBRAW_EXIFTAG_TYPE_LONG = 4, 98 LIBRAW_EXIFTAG_TYPE_RATIONAL = 5, 99 LIBRAW_EXIFTAG_TYPE_SBYTE = 6, 100 LIBRAW_EXIFTAG_TYPE_UNDEFINED = 7, 101 LIBRAW_EXIFTAG_TYPE_SSHORT = 8, 102 LIBRAW_EXIFTAG_TYPE_SLONG = 9, 103 LIBRAW_EXIFTAG_TYPE_SRATIONAL = 10, 104 LIBRAW_EXIFTAG_TYPE_FLOAT = 11, 105 LIBRAW_EXIFTAG_TYPE_DOUBLE = 12, 106 LIBRAW_EXIFTAG_TYPE_IFD = 13, 107 LIBRAW_EXIFTAG_TYPE_UNICODE = 14, 108 LIBRAW_EXIFTAG_TYPE_COMPLEX = 15, 109 LIBRAW_EXIFTAG_TYPE_LONG8 = 16, 110 LIBRAW_EXIFTAG_TYPE_SLONG8 = 17, 111 LIBRAW_EXIFTAG_TYPE_IFD8 = 18 112 } 113 114 enum LIBRAW_EXIFTOOLTAGTYPE_int8u = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_BYTE; 115 enum LIBRAW_EXIFTOOLTAGTYPE_string = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_ASCII; 116 enum LIBRAW_EXIFTOOLTAGTYPE_int16u = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_SHORT; 117 enum LIBRAW_EXIFTOOLTAGTYPE_int32u = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_LONG; 118 enum LIBRAW_EXIFTOOLTAGTYPE_rational64u = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_RATIONAL; 119 enum LIBRAW_EXIFTOOLTAGTYPE_int8s = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_SBYTE; 120 enum LIBRAW_EXIFTOOLTAGTYPE_undef = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_UNDEFINED; 121 enum LIBRAW_EXIFTOOLTAGTYPE_binary = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_UNDEFINED; 122 enum LIBRAW_EXIFTOOLTAGTYPE_int16s = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_SSHORT; 123 enum LIBRAW_EXIFTOOLTAGTYPE_int32s = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_SLONG; 124 enum LIBRAW_EXIFTOOLTAGTYPE_rational64s = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_SRATIONAL; 125 enum LIBRAW_EXIFTOOLTAGTYPE_float = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_FLOAT; 126 enum LIBRAW_EXIFTOOLTAGTYPE_double = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_DOUBLE; 127 enum LIBRAW_EXIFTOOLTAGTYPE_ifd = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_IFD; 128 enum LIBRAW_EXIFTOOLTAGTYPE_unicode = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_UNICODE; 129 enum LIBRAW_EXIFTOOLTAGTYPE_complex = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_COMPLEX; 130 enum LIBRAW_EXIFTOOLTAGTYPE_int64u = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_LONG8; 131 enum LIBRAW_EXIFTOOLTAGTYPE_int64s = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_SLONG8; 132 enum LIBRAW_EXIFTOOLTAGTYPE_ifd64 = LibRaw_ExifTagTypes.LIBRAW_EXIFTAG_TYPE_IFD8; 133 134 enum LIBRAW_LENS_NOT_SET = 0xffffffffffffffffUL; 135 136 enum LibRaw_whitebalance_code { 137 Unknown = 0, 138 Daylight = 1, 139 Fluorescent = 2, 140 Tungsten = 3, 141 Flash = 4, 142 FineWeather = 9, 143 Cloudy = 10, 144 Shade = 11, 145 FL_D = 12, 146 FL_N = 13, 147 FL_W = 14, 148 FL_WW = 15, 149 FL_L = 16, 150 Ill_A = 17, 151 Ill_B = 18, 152 Ill_C = 19, 153 D55 = 20, 154 D65 = 21, 155 D75 = 22, 156 D50 = 23, 157 StudioTungsten = 24, 158 Sunset = 64, 159 Underwater = 65, 160 FluorescentHigh = 66, 161 HT_Mercury = 67, 162 AsShot = 81, 163 Auto = 82, 164 Custom = 83, 165 Auto1 = 85, 166 Auto2 = 86, 167 Auto3 = 87, 168 Auto4 = 88, 169 Custom1 = 90, 170 Custom2 = 91, 171 Custom3 = 92, 172 Custom4 = 93, 173 Custom5 = 94, 174 Custom6 = 95, 175 PC_Set1 = 96, 176 PC_Set2 = 97, 177 PC_Set3 = 98, 178 PC_Set4 = 99, 179 PC_Set5 = 100, 180 Measured = 110, 181 BW = 120, 182 Kelvin = 254, 183 Other = 255, 184 None = 0xffff 185 } 186 187 enum LibRaw_MultiExposure_related { 188 NONE = 0, 189 SIMPLE = 1, 190 OVERLAY = 2, 191 HDR = 3 192 } 193 194 enum LibRaw_dng_processing { 195 NONE = 0, 196 FLOAT = 1, 197 LINEAR = 2, 198 DEFLATE = 4, 199 XTRANS = 8, 200 OTHER = 16, 201 _8BIT = 32, 202 /*LARGERANGE=64,*/ /* more than 16 bit integer */ 203 ALL = FLOAT | LINEAR | DEFLATE | XTRANS | _8BIT | OTHER /* |LARGERANGE */, 204 DEFAULT = FLOAT | LINEAR | DEFLATE | _8BIT 205 } 206 207 enum LibRaw_output_flags { 208 LIBRAW_OUTPUT_FLAGS_NONE = 0, 209 LIBRAW_OUTPUT_FLAGS_PPMMETA = 1 210 } 211 212 enum LibRaw_runtime_capabilities { 213 RAWSPEED = 1, 214 DNGSDK = 1<<1, 215 GPRSDK = 1<<2, 216 UNICODEPATHS = 1<<3, 217 X3FTOOLS = 1<<4, 218 RPI6BY9 = 1<<5, 219 ZLIB = 1<<6, 220 JPEG = 1<<7 221 } 222 223 enum LibRaw_colorspace { 224 NotFound = 0, 225 sRGB, 226 AdobeRGB, 227 WideGamutRGB, 228 ProPhotoRGB, 229 ICC, 230 Uncalibrated, // Tag 0x0001 InteropIndex containing "R03" + LIBRAW_COLORSPACE_Uncalibrated = Adobe RGB 231 CameraLinearUniWB, 232 CameraLinear, 233 CameraGammaUniWB, 234 CameraGamma, 235 MonochromeLinear, 236 MonochromeGamma, 237 Unknown = 255 238 } 239 240 enum LibRaw_cameramaker_index { 241 Unknown = 0, 242 Agfa, 243 Alcatel, 244 Apple, 245 Aptina, 246 AVT, 247 Baumer, 248 Broadcom, 249 Canon, 250 Casio, 251 CINE, 252 Clauss, 253 Contax, 254 Creative, 255 DJI, 256 DXO, 257 Epson, 258 Foculus, 259 Fujifilm, 260 Generic, 261 Gione, 262 GITUP, 263 Google, 264 GoPro, 265 Hasselblad, 266 HTC, 267 I_Mobile, 268 Imacon, 269 JK_Imaging, 270 Kodak, 271 Konica, 272 Leaf, 273 Leica, 274 Lenovo, 275 LG, 276 Logitech, 277 Mamiya, 278 Matrix, 279 Meizu, 280 Micron, 281 Minolta, 282 Motorola, 283 NGM, 284 Nikon, 285 Nokia, 286 Olympus, 287 OmniVison, 288 Panasonic, 289 Parrot, 290 Pentax, 291 PhaseOne, 292 PhotoControl, 293 Photron, 294 Pixelink, 295 Polaroid, 296 RED, 297 Ricoh, 298 Rollei, 299 RoverShot, 300 Samsung, 301 Sigma, 302 Sinar, 303 SMaL, 304 Sony, 305 ST_Micro, 306 THL, 307 VLUU, 308 Xiaomi, 309 XIAOYI, 310 YI, 311 Yuneec, 312 Zeiss, 313 OnePlus, 314 ISG, 315 VIVO, 316 HMD_Global, 317 HUAWEI, 318 RaspberryPi, 319 OmDigital, 320 TheLastOne 321 } 322 323 enum LibRaw_camera_mounts { 324 Alpa, 325 C, /* C-mount */ 326 Canon_EF_M, 327 Canon_EF_S, 328 Canon_EF, 329 Canon_RF, 330 Contax_N, 331 Contax645, 332 FT, /* original 4/3 */ 333 mFT, /* micro 4/3 */ 334 Fuji_GF, /* Fujifilm GFX cameras, G mount */ 335 Fuji_GX, /* Fujifilm GX680 */ 336 Fuji_X, 337 Hasselblad_H, /* Hasselblad Hn cameras, HC & HCD lenses */ 338 Hasselblad_V, 339 Hasselblad_XCD, /* Hasselblad Xn cameras, XCD lenses */ 340 Leica_M, /* Leica rangefinder bayonet */ 341 Leica_R, /* Leica SLRs, 'R' for reflex */ 342 Leica_S, /* LIBRAW_FORMAT_LeicaS 'MF' */ 343 Leica_SL, /* lens, mounts on 'L' throat, FF */ 344 Leica_TL, /* lens, mounts on 'L' throat, APS-C */ 345 LPS_L, /* Leica/Panasonic/Sigma camera mount, takes L, SL and TL lenses */ 346 Mamiya67, /* Mamiya RB67, RZ67 */ 347 Mamiya645, 348 Minolta_A, 349 Nikon_CX, /* used in 'Nikon 1' series */ 350 Nikon_F, 351 Nikon_Z, 352 PhaseOne_iXM_MV, 353 PhaseOne_iXM_RS, 354 PhaseOne_iXM, 355 Pentax_645, 356 Pentax_K, 357 Pentax_Q, 358 RicohModule, 359 Rollei_bayonet, /* Rollei Hy-6: Leaf AFi, Sinar Hy6- models */ 360 Samsung_NX_M, 361 Samsung_NX, 362 Sigma_X3F, 363 Sony_E, 364 LF, 365 DigitalBack, 366 FixedLens, 367 IL_UM, /* Interchangeable lens, mount unknown */ 368 TheLastOne 369 } 370 371 enum LibRaw_camera_formats { 372 APSC, 373 FF, 374 MF, 375 APSH, 376 _1INCH, 377 _1div2p3INCH, /* 1/2.3" */ 378 _1div1p7INCH, /* 1/1.7" */ 379 FT, /* sensor size in FT & mFT cameras */ 380 CROP645, /* 44x33mm */ 381 LeicaS, /* 'MF' Leicas */ 382 _645, 383 _66, 384 _69, 385 LF, 386 Leica_DMR, 387 _67, 388 SigmaAPSC, /* DP1, DP2, SD15, SD14, SD10, SD9 */ 389 SigmaMerrill, /* SD1, 'SD1 Merrill', 'DP1 Merrill', 'DP2 Merrill' */ 390 SigmaAPSH, /* 'sd Quattro H' */ 391 _3648, /* DALSA FTF4052C (Mamiya ZD) */ 392 _68, /* Fujifilm GX680 */ 393 TheLastOne 394 } 395 396 enum LibRawImageAspects { 397 UNKNOWN = 0, 398 OTHER = 1, 399 MINIMAL_REAL_ASPECT_VALUE = 99, /* 1:10*/ 400 MAXIMAL_REAL_ASPECT_VALUE = 10000, /* 10: 1*/ 401 // Value: width / height * 1000 402 _3to2 = (1000 * 3)/2, 403 _1to1 = 1000, 404 _4to3 = (1000 * 4)/ 3, 405 _16to9 = (1000 * 16) / 9, 406 //6to6, // what is the difference with 1:1 ? 407 _5to4 = (1000 * 5) / 4, 408 _7to6 = (1000 * 7) / 6, 409 _6to5 = (1000 * 6) / 5, 410 _7to5 = (1000 * 7) / 5 411 } 412 413 enum LibRaw_lens_focal_types { 414 UNDEFINED = 0, 415 PRIME_LENS = 1, 416 ZOOM_LENS = 2, 417 ZOOM_LENS_CONSTANT_APERTURE = 3, 418 ZOOM_LENS_VARIABLE_APERTURE = 4 419 } 420 421 enum LibRaw_Canon_RecordModes { 422 UNDEFINED = 0, 423 JPEG, 424 CRW_THM, 425 AVI_THM, 426 TIF, 427 TIF_JPEG, 428 CR2, 429 CR2_JPEG, 430 UNKNOWN, 431 MOV, 432 MP4, 433 CRM, 434 CR3, 435 CR3_JPEG, 436 HEIF, 437 CR3_HEIF, 438 TheLastOne 439 } 440 441 enum LibRaw_minolta_storagemethods 442 { 443 UNPACKED = 0x52, 444 PACKED = 0x59 445 } 446 447 enum LibRaw_minolta_bayerpatterns 448 { 449 RGGB = 0x01, 450 G2BRG1 = 0x04 451 } 452 453 enum LibRaw_sony_cameratypes { 454 DSC = 1, 455 DSLR = 2, 456 NEX = 3, 457 SLT = 4, 458 ILCE = 5, 459 ILCA = 6, 460 UNKNOWN = 0xffff 461 } 462 463 enum LibRaw_Sony_0x2010_Type { 464 Tag2010None = 0, 465 Tag2010a, 466 Tag2010b, 467 Tag2010c, 468 Tag2010d, 469 Tag2010e, 470 Tag2010f, 471 Tag2010g, 472 Tag2010h, 473 Tag2010i 474 } 475 476 enum LibRaw_Sony_0x9050_Type { 477 Tag9050None = 0, 478 Tag9050a, 479 Tag9050b, 480 Tag9050c 481 } 482 483 enum LIBRAW_SONY_FOCUSMODEmodes 484 { 485 MF = 0, 486 AF_S = 2, 487 AF_C = 3, 488 AF_A = 4, 489 DMF = 6, 490 AF_D = 7, 491 AF = 101, 492 PERMANENT_AF = 104, 493 SEMI_MF = 105, 494 UNKNOWN = -1 495 } 496 497 enum LibRaw_KodakSensors 498 { 499 UnknownSensor = 0, 500 M1 = 1, 501 M15 = 2, 502 M16 = 3, 503 M17 = 4, 504 M2 = 5, 505 M23 = 6, 506 M24 = 7, 507 M3 = 8, 508 M5 = 9, 509 M6 = 10, 510 C14 = 11, 511 X14 = 12, 512 M11 = 13 513 } 514 515 enum LibRaw_HasselbladFormatCodes { 516 Unknown = 0, 517 _3FR, 518 FFF, 519 Imacon, 520 HasselbladDNG, 521 AdobeDNG, 522 AdobeDNG_fromPhocusDNG 523 } 524 525 enum LibRaw_rawspecial_t 526 { 527 SONYARW2_NONE = 0, 528 SONYARW2_BASEONLY = 1, 529 SONYARW2_DELTAONLY = 1 << 1, 530 SONYARW2_DELTAZEROBASE = 1 << 2, 531 SONYARW2_DELTATOVALUE = 1 << 3, 532 SONYARW2_ALLFLAGS = 533 SONYARW2_BASEONLY + 534 SONYARW2_DELTAONLY + 535 SONYARW2_DELTAZEROBASE + 536 SONYARW2_DELTATOVALUE, 537 NODP2Q_INTERPOLATERG = 1<<4, 538 NODP2Q_INTERPOLATEAF = 1 << 5, 539 SRAW_NO_RGB = 1 << 6, 540 SRAW_NO_INTERPOLATE = 1 << 7 541 }; 542 543 enum LibRaw_processing_options { 544 PENTAX_PS_ALLFRAMES = 1, 545 CONVERTFLOAT_TO_INT = 1 << 1, 546 ARQ_SKIP_CHANNEL_SWAP = 1 << 2, 547 NO_ROTATE_FOR_KODAK_THUMBNAILS = 1 << 3, 548 // USE_DNG_DEFAULT_CROP = 1 << 4, 549 USE_PPM16_THUMBS = 1 << 5, 550 DONT_CHECK_DNG_ILLUMINANT = 1 << 6, 551 DNGSDK_ZEROCOPY = 1 << 7, 552 ZEROFILTERS_FOR_MONOCHROMETIFFS = 1 << 8, 553 DNG_ADD_ENHANCED = 1 << 9, 554 DNG_ADD_PREVIEWS = 1 << 10, 555 DNG_PREFER_LARGEST_IMAGE = 1 << 11, 556 DNG_STAGE2 = 1 << 12, 557 DNG_STAGE3 = 1 << 13, 558 DNG_ALLOWSIZECHANGE = 1 << 14, 559 DNG_DISABLEWBADJUST = 1 << 15, 560 PROVIDE_NONSTANDARD_WB = 1 << 16, 561 CAMERAWB_FALLBACK_TO_DAYLIGHT = 1 << 17, 562 CHECK_THUMBNAILS_KNOWN_VENDORS = 1 << 18, 563 CHECK_THUMBNAILS_ALL_VENDORS = 1 << 19 564 } 565 566 enum LibRaw_decoder_flags { 567 HASCURVE = 1 << 4, 568 SONYARW2 = 1 << 5, 569 TRYRAWSPEED = 1 << 6, 570 OWNALLOC = 1 << 7, 571 FIXEDMAXC = 1 << 8, 572 ADOBECOPYPIXEL = 1 << 9, 573 LEGACY_WITH_MARGINS = 1 << 10, 574 _3CHANNEL = 1 << 11, 575 SINAR4SHOT = 1 << 11, 576 FLATDATA = 1 << 12, 577 FLAT_BG2_SWAPPED = 1<<13, 578 NOTSET = 1 << 15 579 } 580 581 enum LIBRAW_XTRANS = 9; 582 583 enum LibRaw_constructor_flags { 584 NONE = 0, 585 NO_MEMERR_CALLBACK = 1, 586 NO_DATAERR_CALLBACK = 1 << 1 587 } 588 589 enum LibRaw_warnings { 590 NONE = 0, 591 BAD_CAMERA_WB = 1 << 2, 592 NO_METADATA = 1 << 3, 593 NO_JPEGLIB = 1 << 4, 594 NO_EMBEDDED_PROFILE = 1 << 5, 595 NO_INPUT_PROFILE = 1 << 6, 596 BAD_OUTPUT_PROFILE = 1 << 7, 597 NO_BADPIXELMAP = 1 << 8, 598 BAD_DARKFRAME_FILE = 1 << 9, 599 BAD_DARKFRAME_DIM = 1 << 10, 600 NO_JASPER = 1 << 11, 601 RAWSPEED_PROBLEM = 1 << 12, 602 RAWSPEED_UNSUPPORTED = 1 << 13, 603 RAWSPEED_PROCESSED = 1 << 14, 604 FALLBACK_TO_AHD = 1 << 15, 605 PARSEFUJI_PROCESSED = 1 << 16, 606 DNGSDK_PROCESSED = 1 << 17, 607 DNG_IMAGES_REORDERED = 1 << 18, 608 DNG_STAGE2_APPLIED = 1 << 19, 609 DNG_STAGE3_APPLIED = 1 << 20, 610 } 611 612 enum LibRaw_exceptions { 613 NONE = 0, 614 ALLOC = 1, 615 DECODE_RAW = 2, 616 DECODE_JPEG = 3, 617 IO_EOF = 4, 618 IO_CORRUPT = 5, 619 CANCELLED_BY_CALLBACK = 6, 620 BAD_CROP = 7, 621 IO_BADFILE = 8, 622 DECODE_JPEG2000 = 9, 623 TOOBIG = 10, 624 MEMPOOL = 11 625 } 626 627 enum LibRaw_progress { 628 START = 0, 629 OPEN = 1, 630 IDENTIFY = 1 << 1, 631 SIZE_ADJUST = 1 << 2, 632 LOAD_RAW = 1 << 3, 633 RAW2_IMAGE = 1 << 4, 634 REMOVE_ZEROES = 1 << 5, 635 BAD_PIXELS = 1 << 6, 636 DARK_FRAME = 1 << 7, 637 FOVEON_INTERPOLATE = 1 << 8, 638 SCALE_COLORS = 1 << 9, 639 PRE_INTERPOLATE = 1 << 10, 640 INTERPOLATE = 1 << 11, 641 MIX_GREEN = 1 << 12, 642 MEDIAN_FILTER = 1 << 13, 643 HIGHLIGHTS = 1 << 14, 644 FUJI_ROTATE = 1 << 15, 645 FLIP = 1 << 16, 646 APPLY_PROFILE = 1 << 17, 647 CONVERT_RGB = 1 << 18, 648 STRETCH = 1 << 19, 649 /* reserved */ 650 STAGE20 = 1 << 20, 651 STAGE21 = 1 << 21, 652 STAGE22 = 1 << 22, 653 STAGE23 = 1 << 23, 654 STAGE24 = 1 << 24, 655 STAGE25 = 1 << 25, 656 STAGE26 = 1 << 26, 657 STAGE27 = 1 << 27, 658 659 THUMB_LOAD = 1 << 28, 660 TRESERVED1 = 1 << 29, 661 TRESERVED2 = 1 << 30 662 } 663 enum LIBRAW_PROGRESS_THUMB_MASK = 0x0fffffff; 664 665 enum LibRaw_errors { 666 SUCCESS = 0, 667 UNSPECIFIED_ERROR = -1, 668 FILE_UNSUPPORTED = -2, 669 REQUEST_FOR_NONEXISTENT_IMAGE = -3, 670 OUT_OF_ORDER_CALL = -4, 671 NO_THUMBNAIL = -5, 672 UNSUPPORTED_THUMBNAIL = -6, 673 INPUT_CLOSED = -7, 674 NOT_IMPLEMENTED = -8, 675 UNSUFFICIENT_MEMORY = -100007, 676 DATA_ERROR = -100008, 677 IO_ERROR = -100009, 678 CANCELLED_BY_CALLBACK = -100010, 679 BAD_CROP = -100011, 680 TOO_BIG = -100012, 681 MEMPOOL_OVERFLOW = -100013 682 } 683 684 auto LIBRAW_FATAL_ERROR(E)(E ec) { return ec < -100000; } 685 686 enum LibRaw_thumbnail_formats { 687 UNKNOWN = 0, 688 JPEG = 1, 689 BITMAP = 2, 690 BITMAP16 = 3, 691 LAYER = 4, 692 ROLLEI = 5, 693 H265 = 6 694 } 695 696 enum LibRaw_image_formats { 697 JPEG = 1, 698 BITMAP = 2 699 }