forked from LibRaw/LibRaw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog.txt
1376 lines (1060 loc) · 56.8 KB
/
Changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2012-08-20 Alex Tutubalin <lexa@lexa.ru>
* reverted (internal) changes to PhaseOne processing
* subtract_black() works again
* cropping works again (note: for Fuji SuperCCD files cropping is
approximate)
* color_data.channel_maximum[4] is replaced to color_data.data_maximum
(max value from all image color channels). This value is calculated
on subtract_black() call.
* PhaseOne (compressed RAW): black level subtracted on postprocessing
stage (or in raw2image() call). It requires addtional memory
allocation.
* Fixed minor problem in lossy DNG tone curve generation
* Imported dcraw 1.452:
- Changed color data for Canon 1D-X camera
- New camera support: Samsung NX-1000, Sony DSC-RX100
* LibRaw 0.15.0-Alpha2
2012-07-03 Alex Tutubalin <lexa@lexa.ru>
=== LibRaw 0.15 (Alpha1) ===
1) API Changes:
=> Removed, because no one uses it:
* LibRaw::dcraw_document_mode_processing (and C-API call)
* Data field imgdata.color.color_flags
=> Removed, because internal logic changed:
* LIBRAW_DECODER_4COMPONENTS
Now unpack() unpacks RAW data in only two possible formats:
i. imgdata.rawdata.raw_image[] - flat buffer with bayer data
(one value per pixel) with masked pixels.
ii. imgdata.rawdata.color_image - 4-components array (similar
to imgdata.image) with 3 or 4 components per pixel and
without masked pixels.
=> Changed:
* imgdata.color.cblack[4] instead of [8] - for now cblack[4..7]
(count of pixels used for black level calculation) is not used,
so removed
* LibRaw::fc() renamed to LibRaw::fcol() to maintain compatibility
with dcraw internals
=> Temporary not working properly or disabled (to be fixed in next
Alpha-versions, see also TODO section below)
* imgdata.params.cropbox[] - cropping not works yet, so disabled
* LibRaw::subtract_black() - don't works properly, so not used
in LibRaw internals until next Alpha
=> Added:
* WF debanding code (banding suppression):
int imgdata.params.wf_debanding - enables debanding
float imgdata.params.wf_deband_threshold[4] - set threshold
levels for debanding (in pixel values, so usual value is several units)
* LibRaw::open_wfile(wchar_t *filename) (WIN32 only) - opens
RAW filename passed in Windows unicode encoding.
* imgdata.params.user_cblack[4] - allows to set per-channel
black levels
* User-provided data streams (derived from
LibRaw_abstract_datastream) should implement jpeg_src() method
to provide data source for JPEG decoder used in lossy DNG
processing. See src/libraw_datastream.cpp for sample
implementation.
2) Imported dcraw 9.16/1.450, added support for several cameras:
Adobe DNG: Fast Load DNG (LightRoom 4.x),lossy-compressed DNG (LR 4.x,
you need to compile with -DUSE_JPEG and link with libjpeg 8)
Canon: G1 X, SX220 HS, EOS 5D Mark III, EOS 650D, EOS 1D-X
Casio: EX-Z8
Fujifilm: X-S1, HS30EXR, X1-Pro
Nikon: D4, D3200, D800, D800E
Olympus: E-M5
Panasonic: DMC-GF5
Samsung: NX20, NX210, ?>445@6:0 =>2>3> firmware NX100
Sigma: SD15,SD1, SD1 Merill, DP1, DP1S, DP1X, DP2, DP2S, DP2X
(in LibRaw-demosaic-pack-GPL2)
Sony: NEX-F3, SLT-A37, SLT-A57
3) TODO (additional to 'not working' section above)
* Sony ARW2 Hack - turns off division by 4 of RAW values unpacked from
sony ARW2 files.
int imgdata.params.sony_arw2_hack;
* Some optimizations introduced in previous LibRaw versions are
temporarilyy removed:
- OpenMP
- One pass data copy + black subtraction + fuji data rotation
(LibRaw::raw2image_ex() )
- Callbacks for more efficient data handling (SSE2 or multithreaded)
introduced in 0.15-PreAlpha
- Fast LJPEG decoder
* Black level subtraction for Phase One files is performed on unpack()
stage, not on postprocessing one.
2012-04-11 Alex Tutubalin <lexa@lexa.ru>
* Fixed thumbnail processing (esp. for Adobe Lightroom DNGs)
2012-04-05 Alex Tutubalin <lexa@lexa.ru>
* Casio EX-Z500 support
* (possible) I/O exceptions on file open catched in open_datastream
* Fixed possible read-after-buffer in Sony ARW2 decoder
* Fixed mingw32 errors when compiling LibRaw_windows_datastream
* Makefile.msvc: support of OpenMP and LCMS (uncomment to use)
* Fixed decoding of some Leaf Aptus II files
* LibRaw 0.14.6-Release
2011-12-24 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug (uninitialized variable) in SMAL format decoding.
* Imported new dcraw 9.12 (1.446): support for Leica V-LUX 3,
updated color data for Canon S100, Fujifilm X10, Nikon 1 J1/V1,
Panasonic GX1, Samsung NX200, Sony NEX-7
* LibRaw 0.14.5-Release
2011-12-12 Alex Tutubalin <lexa@lexa.ru>
* Fixes to Panasonic/Leica file parser to prevent crash
on broken jpegs.
* Fixes to include order in src/libraw_datastream.cpp to
better compile with KDEWIN
* Floating-point DNGs are rejected on early processing stage.
* Support for new cameras: Canon S100, Fuji X10, Panasonic GX1,
Samsung NX200, Sony NEX-7.
* LibRaw 0.14.4-Release
2011-10-26 Alex Tutubalin <lexa@lexa.ru>
* Bug fixes in black level subtraction code for PhaseOne files
* New API call LibRaw::get_internal_data_pointer() for developers
who need access to libraw_internal_data fields (i.e.
Fuji SuperCCD layout).
* doc/API-overview fixes to reflect 0.14 changes
* LibRaw 0.14.3-Release
2011-10-19 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug in Canon 1D and 1Ds files decoding.
* New decoder information bit DECODER_HASRAWCURVE
* LibRaw 0.14.2-Release
2011-10-11 Alex Tutubalin <lexa@lexa.ru>
* Imported dcraw 9.11/1.445:
+ Support for new cameras added: Fujifilm F600EXR, Nikon P7100,
Olympus E-PL3 and E-PM1, Panasonic DMC-FZ150, Sony NEX-5N,
A65 and A77.
+ Changed color data for: Olympus E-P3, Panasonic G3 and GF3,
PhaseOne H25, P40 and P65, Sony NEX-C3, NEX-5, NEX-3, A35 and A55.
+ Support for dark frame extraction on Sony cameras.
* DCB demosaicing: reserving 6 pixels instead of 3 to suppress
colored image frame.
* LibRaw 0.14.1-Release
2011-09-21 Alex Tutubalin <lexa@lexa.ru>
* Cosmetic changes to make Visual C++/OpenMP more happy
* Fix megapixel calculation for postprocessing_benchmark in half mode
* Shlib version number increment
* LibRaw 0.14.0-Release
2011-09-04 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug with Kodak thumbnail extraction
* raw2image_ex() always return value
* LibRaw 0.14.0-Beta2
2011-09-02 Alex Tutubalin <lexa@lexa.ru>
* Cosmetic changes to LibRaw_file_datastream interface
* OpenMP speedup of postprocessing steps (up to 50% for
half mode and 4-core machine)
* LibRaw 0.14.0-Beta1
2011-08-20 Alex Tutubalin <lexa@lexa.ru>
* Patch to dcraw_emu for SunStudio compiler compatibility
* Fixed crash in unprocessed_raw sample due to uninitialized
timestamp variable.
* Fixed crash in raw decoding if raw_width/raw_height is
less than resulting image width/height.
* imgdata.sizes.flip is set from user_flip only on
postprocessing and/or adjust_sizes_info_only()
* Fixed buffer overrun for some LJPEG-compressed files
* Most of LibRaw_datastream function bodies are moved to
separate source file
* LibRaw_windows_datastream is merged to main sourcetree
* LibRaw 0.14.0-Alpha5
2011-08-11 Alex Tutubalin <lexa@lexa.ru>
* Imported dcraw 9.10 (1.444), support for new cameras added:
ARRIRAW format, Canon SX30 IS, Leica D-LUX 5 and V-LUX2,
Olympus E-P3, Panasonic G3 and GF3, Sony NEX-C3 and SLT-A35
* Support for RedOne digital movie cameras (R3D format).
To enable this support you should:
+ install libjasper JPEG2000 support library
+ compile LibRaw with -DUSE_JASPER compiler switch (./configure
will do it for you)
+ If you use own LibRaw_datastream implementation, you should
implement make_jas_stream() call for your datastream. See
bottom of src/libraw_cxx.cpp for implementations in datafile
and mem-buffer LibRaw streams.
* Bugfix: green matching is turned off if output image is shrinked
due to wavelet filtering or aberration correction.
* fixed open_file()/adjust_sizes_info_only() code path
* Removed imgdata.sizes.bottom_margin and right_margin data fields
use imgdata.sizes.raw_width - width - left_margin to get right one,
the same with bottom_margin.
* minor ./configure cleanup
* Qmake files and Visual Studio Project files are updated.
* New version check macros:
For use at runtime checks:
LIBRAW_RUNTIME_CHECK_VERSION_EXACT() - checks that runtime
major/minor version numbers are same with compile-time values.
LIBRAW_RUNTIME_CHECK_VERSION_NOTLESS() - checks that runtime
version is not less that compile-time one.
For use at compile-time in preprocessor directives:
LIBRAW_COMPILE_CHECK_VERSION_EXACT(major,minor) - Compile-time
check that LibRaw version is exact major.minor.
LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(major,minor) - Compile-time
check that version is not less than major.minor.
* all client code should be recompiled due to internals change.
* LibRaw 0.14.0-Alpha4
2011-07-19 Alex Tutubalin <lexa@lexa.ru>
* New sample samples/postprocessing_benchmark.cpp
This sample measures postprocessing speed.
All demosaic methods, averaged white balance, median
filtering, wavelet filtration, highlight recovery, and
cropping are supported.
* Removed LibRaw::rotate_fuji_raw() call and corresponding C-API call.
* The LibRaw::adjust_sizes_info_only() call may be called repeated
and mixed with dcraw_process() call.
* Postprocessing speedup and optimization, especially if cropping set.
* Cropping works for FujiCCD raws. For the technical reasons, the position
of top-left corner of crop area will be rounded to the nearest
multiple of 4 (the corner is shifted top-left).
* LibRaw 0.14.0-Alpha3
2011-07-15 Alex Tutubalin <lexa@lexa.ru>
* imported cropping code from 0.13 branch
2011-07-12 Alex Tutubalin <lexa@lexa.ru>
* samples/multirender_test - check for different clip settings
2011-07-11 Alex Tutubalin <lexa@lexa.ru>
* New call LibRaw::free_image(), deallocates imgdata.image buffer.
Use this call if current postprocessing results are not
needed, but it is to early to call recycle() because
dcraw_process() may be called later.
* New C-API calls
libraw_raw2image() - C API for LibRaw::raw2image()
libraw_free_image() - C API for LibRaw::free_image()
libraw_get_decoder_info() - C API for LibRaw::get_decoder_info()
* Bugfix: change of params.user_flip aftee open()/unpack()
calls should work.
* LibRaw 0.14.0-Alpha2
2011-07-10 Alex Tutubalin <lexa@lexa.ru>
* Multiple rendering (LibRaw::dcraw_process() calls) allowed
without re-opening RAW file thrfough the sequence of open()/unpack()
calls.
You should be able to change any processing parameters (except
shot_select parameter) between dcraw_process() calls.
+ New sample in samples/multirender_test.cpp: renders data 4 times:
in half and full modes with different white balance settings.
+ Unprocessed RAW data is stored in separate data buffer:
(2 bytes per pixel for all Bayer-pattern images,
8 bytes per pixel for Foveon, sRAW, and other full-color raw
formats), so now LibRaw uses 25% more memory for full processing of
most common Bayer images; while for just unpack memory is reduced
4 times.
+ New call LibRaw::raw2image() fills imgdata.image array
with fresh copy of data.
There is no need to call raw2image() separately if you use
dcraw_process() or dcraw_document_mode_processing() calls.
+ New call LibRaw::get_decoder_info() to determine raw data
storage layout. See samples/unprocessed_raw.cpp for an example
of how to use it.
If your code uses usual open()/unpack()/dcraw_process() call
sequence, then NOTHING CHANGED: your program should produce same
results. For interactive programs you may skip open()/unpack()
calls after adjusting processing parameters, so user should see
image refreshed much faster.
If your code uses raw data (open+unpack calls), you need to call
LibRaw::raw2image(), and imgdata.image will contain same bitmap
as in LibRaw 0.13.x
If you code uses access to masked borders data, you need to
rewrite it. See samples/unprocessed_raw.cpp as a sample.
Unfortunately, documentation is untouched yet. This problem will be
fixed in next Alpha release.
Other changes:
* No separate imgdata.masked_pixels buffers, Bayer raw formats are read
to buffer with borders. So, no ugly add_masked_border_to_bitmap()
call.
* No filtering_mode parameter. Raw tone curve is applied
at unpack() stage; zero pixels removed on postprocesing stage.
* unprocessed_raw and 4colors samples are adjusted to use
new RAW data storage layout.
* all client code should be recompiled due to internals change.
* LibRaw 0.14.0-Alpha1
2011-07-03 Alex Tutubalin <lexa@lexa.ru>
* Cosmetic cleanup in Libraw_memmgr code
* Permit OpenMP support on MS VS2008
* More general mem_image interface:
+ New call get_mem_image_format returns bitmap size and bit depth
+ New call copy_mem_image can copy bitmap into buffer with
different color order (RGB/BGR) and line stride
+ dcraw_make_mem_image() uses calls mentioned above
+ see documentation for info on these function parameters.
* libraw/librawwindows.h implements LibRaw_datastream class based
on Windows memory mapped files.Win32/64-only
Thanks to Linc Brookes.
* Fixed parallel make errors in configure/Makefile.am
* LibRaw 0.13.6-Release
2011-05-18 Alex Tutubalin <lexa@lexa.ru>
* Imported new dcraw 9.08/1.443:
+ New color data for Canon 600D and 1100D, Fuji S200EXR
+ New camera supported: Fuji HS20EXR and F550EXR, Kodak Z990,
Nikon D5100, Olympus E-PL1s and XZ-1,
Samsung NX11, Sony A230 and 290.
* LibRaw 0.13.5-Release
2011-04-02 Alex Tutubalin <lexa@lexa.ru>
* Imported new dcraw 9.07/1.442:
+ Support for Canon 600D and 1100D, Hasselblad H4D-60,
Olympus E-PL2
* Color data for Leaf Aptus II and Canon Powershot S2 IS
* LibRaw 0.13.4-Release
2011-03-30 Alex Tutubalin <lexa@lexa.ru>
* Preliminary support for Leaf Aptus II cameras (no color data yet):
Leaf Aptus II 6,7,8,10 and 12 are tested, Aptus II 5 should work.
* Preliminary support for Fujifilm X100 camera (again, no color data).
* Fixed possible after the end of buffer read when working with
in-memory data.
* Fixed possible loss of JPEG stream sync marks in LJPEG decoder
(this bug was found only for Leaf Aptus II RAWs).
* LibRaw 0.13.3-Release
2011-03-08 Alex Tutubalin <lexa@lexa.ru>
* Fixed broken camera white balance reading for some Sony cameras
* LibRaw 0.13.2-Release
2011-02-25 Alex Tutubalin <lexa@lexa.ru>
* Sony A390 support (colordata from A380)
* Leica D-LUX 4: fixed typo in camera name in colordata
2011-02-15 Alex Tutubalin <lexa@lexa.ru>
* New -mem option for dcraw_emu: I/O via allocated buffer
* Removed debug printf from LibRaw_memory_buffer code
* Preliminary shared library support
2011-02-12 Alex Tutubalin <lexa@lexa.ru>
* Added qmake .pro and Visual Studio 2008 sln/vcproj project files
2011-02-07 Alex Tutubalin <lexa@lexa.ru>
* dcraw_emu documentation updated
* ./configure stuff changed for correct linking on some systems
* FBDD denoising is disabled for full-color images and 4-color bayer
data (including forced 4-color via four_color_rgb option)
* LibRaw 0.13.1-Release
2011-02-05 Alex Tutubalin <lexa@lexa.ru>
* ./configure fixes for PACKAGE_REQUIRES
* Makefile.msvc: correct compiler flags for demosaic packs
* dcraw.c 9.06/1.440 imported:
+ New camera support: Canon S95, Casio EX-Z1080, Panasonic GF2
and GH2, Samsung NX100, Sony A-580
+ New color data for: Canon G12, Nikon D3100, D7000 and P7000,
Olympus E-5, Pentax K-r and K-5, Samsung NX10 and WB2000
* green_matching() code is disabled for half-size processing
* LibRaw 0.13.0-Release
2011-01-15 Alex Tutubalin <lexa@lexa.ru>
* Fallback to old huffman decoder for Sony files with unspecified
data length (Sony A100)
* Fixed incomplete data fields reset in LibRaw::recycle()
* LibRaw 0.13.0-Beta3
2011-01-13 Alex Tutubalin <lexa@lexa.ru>
* Better parsing of unknown command-line params in dcraw_emu sample
* Brigtness table in ahd_demosaic is calculated in reversed order
to prevent possible (very unlikely) multithreaded app problem.
* New exposure correction code based on linear-cubic root combination.
New working correction range is from 0.25 (-2 stops) to 8 (+3 stops)
* LibRaw 0.13.0-Beta2
2011-01-10 Alex Tutubalin <lexa@lexa.ru>
* Fixed file extension in half_mt.c sample
2011-01-10 Alex Tutubalin <lexa@lexa.ru>
* Three patches provided by Jacques Desmis:
- Exposure correction before demosaic (demosaic pack GPL3)
- OpenMP speed-up in median filters (demosaic pack GPL2)
- OpenMP speed-up in green equilibration (demosaic pack GPL3)
* Merged 0.12.2-0.12.3 changes:
- Patches for ./configure system for better LCMS2 support
- Patches for ./configure system
- math.h included before any other includes to make KDE compile
with Visual C++ happy
- Fuji FinePix S5500 size adjusted to ignore (rare?) garbage
at top of frame.
* all client code should be recompiled due to internals change.
* LibRaw 0.13.0-Beta1
2010-12-22 Alex Tutubalin <lexa@lexa.ru>
* Zero copy huffman buffer for LibRaw_buffer_datastream
* Fixed memory leak in compressed NEFs handling
* LibRaw 0.13.0-Alpha2
2010-12-20 Alex Tutubalin <lexa@lexa.ru>
* Demosaic-pack-GPL3 changes:
+ New noise reduction methods before demosaic
- Banding suppression
- High-frequency noise suppression
- Green channel equalization
+ New chromatic abberration correction.
All three methods are written by Emil Martinec for Raw Therapee.
Adapted to LibRaw by Jacques Desmis
* Merged Foveon code fix from LibRaw 0.12.1
* LJPEG decompressor speed-up (about 1.5 times for Canon cameras
and slightly less for others). Some ideas are from RawSpeed library.
* all client code should be recompiled due to internals change.
* LibRaw 0.13.0-Alpha1
2010-12-12 Alex Tutubalin <lexa@lexa.ru>
* Thread-safe and demosaic packs support for MinGW build
* Demosaic packs support for MS VC build
* LibRaw 0.12.0-Release
2010-12-09 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug in add_masked_borders_to_bitmap() call for cameras
with odd pixels border.
* New command line options for unprocessed_raw sample:
-B - subtract black level, -M - add masked pixels to bitmap.
* Foveon-sensor cameras added to supported camera list if
compiled with demosaic pack GPL2
* LibRaw 0.12.0-Beta4
2010-12-05 Alex Tutubalin <lexa@lexa.ru>
* Demosaic packs support in Makefile.dist
* Foveon support in LibRaw demosaic pack GPL2
* all client code should be recompiled due to internals change.
* LibRaw 0.12.0-Beta3
2010-11-27 Alex Tutubalin <lexa@lexa.ru>
* Fixed allocation bug in lmmse_interpolation (demosaic-pack-GPL2)
* In LMMSE and AMaZE interpolators allocation changed to calloc
to make valgrind happy with uninitialized values
* Changes in distribution-making scripts
* LibRaw 0.12.0-Beta2
2010-11-21 Alex Tutubalin <lexa@lexa.ru>
* Fixes to green_matching code by Sergey Pavlov
2010-11-20 Alex Tutubalin <lexa@lexa.ru>
* Update for new demosaic-pack-GPL3
* LibRaw 0.12.0-Beta1
2010-11-19 Alex Tutubalin <lexa@lexa.ru>
* Demosaic pack(s) supported via ./configure
2010-11-17 Alex Tutubalin <lexa@lexa.ru>
* LCMS2 support
* afd_interpolate(2,1) instead of (5,0)
* dcraw_emu sample command line keys added and reordered
to reflect changes in LibRaw 0.12.
* Nikon P7000: color matrix data and black level patch for ISO >=400
Thanks to Gunnar Thorburn
* Support for several industrial cameras based on Sony ICX 625/655
sensor: JAI BB500CL/GE, SVS625CL, ptGrey GRAS-50S5C
Thanks to kaare
2010-11-15 Alex Tutubalin <lexa@lexa.ru>
* Several demosaic algorithms, found in other open-source RAW processing
packages are implemented in LibRaw.
1) DCB demosaic and FBDD denoise by Jacek Gozdz are included in
main LibRaw source.
2) GPL2 demosaic pack with these demosaic methods:
* AFD and LMMSE implementations from PerfectRaw by Manuel Llorens
* VCD, Modified AHD, post-demosaic refinemend and median
filters by Paul Lee
3) GPL3 demosaic pack with AMaZe interpolation by Emil Martinec
See more details in README.demosaic-packs
* Current implementation of dcraw_emu sample allows only selection
of demosaic method (via -q) options. All other parameters change
will be implemented later.
* LibRaw 0.12-alpha1
2010-11-11 Alex Tutubalin <lexa@lexa.ru>
* Imported 0.11(2) version changes:
+ Fixed dcraw_emu command line processing code
+ OpenMP is completely disabled on MacOS X if compiled with -pthread
due to well-known MacOS problem.
+ dcraw 9.05 (1.439) imported, many new cameras supported:
Canon: G12, SX120, 60D,
Hasselblad H4D, Nokia X2, Olympus E-5,
Nikon: D3100, D7000, P7000,
Panasonic: FZ40, FZ100, LX5,
Pentax: K-r, K-5, 645D,
Samsung GX20, WB2000
* LibRaw 0.12-alpha0
2010-11-08 Alex Tutubalin <lexa@lexa.ru>
* Fixes for Sun Studio compiler compatibility
* Fixes for Visual Studio 2010 compatibility
* All russian-language files are converted to UTF-8
* LibRaw 0.11.0-Release
2010-10-18 Alex Tutubalin <lexa@lexa.ru>
* Disabled OpenMP for wavelet_denoise under Mac OS X
* More Visual C++ 2003 warnings cleaned in libraw/*h files
* LibRaw 0.11-Beta7
2010-10-16 Alex Tutubalin <lexa@lexa.ru>
* internal/dcraw_fileio.c can be compiled with -DDCRAW_VERBOSE again
* fixed comment style in libraw_datastream.h
* LibRaw 0.11-Beta6
2010-10-15 Alex Tutubalin <lexa@lexa.ru>
* New changes to I/O layer. Three LibRaw_*datastream clasees are
exists:
+ LibRaw_buffer_datastream - buffer reaging
+ LibRaw_file_datastream - file reading using iostreams
(large files are no supported on some systems)
+ LibRaw_bigfile_datastream - FILE*-based file I/O
* file/bigfile_datastream is selected automatically by
LibRaw::open_file based on input file size.
By default, files larger than 250Mb are opened using
bigfile interface, you may change this behaviour
by using second optional parameter of open_file()
* There is no way to use default parameter values in C API,
so new call libraw_open_file_ex added with two parameters
(file name and minimal file size for bigfile_datastream use).
* all client code should be recompiled due to internals change.
* All LibRaw_abstract_datastream functions are virtual again. You may
(again) use your own I/O layer.
* new -d key for dcraw_emu sample: print timings of processing stages
* simple_dcraw sample simplified: no mmap code
* LibRaw 0.11-Beta5
2010-10-08 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug in exception handling in OpenMP sections in
AHD interpolation code.
* LibRaw_datastreams are now C++ iostreams based instead of old
plain FILE* calls.
LibRaw::open_file() in multithreaded programs are WAY faster
on many OSes (Linux, Windows, MacOSX) because of no extra locks.
* all client code should be recompiled due to internals change.
* LibRaw 0.11-Beta4
2010-10-01 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug in LibRaw::dcraw_process() code: for half_size
processing, params.four_color_rgb was set to 1 internally
and not returned back after postprocessing.
* Several Visual Studio 2003 compatibility fixes
* AHD interpolation refactored. Now it is about 10% faster than
dcraw in single-process mode and up to 1.5 times faster on
4-core and OpenMP (total execution time counted, not AHD itself)
Thanks to Adam Hooper
* AHD interpolation refactored. Now it is about 10% faster than
dcraw in single-process mode and up to 1.5 times faster on
4-core and OpenMP (total execution time counted, not AHD itself)
Thanks to Adam Hooper
* LibRaw 0.11-Beta3
2010-09-07 Alex Tutubalin <lexa@lexa.ru>
* Phase One files: LibRaw::unpack() sets colordata.black to
approximately correct value.
* Fixed minor error in setting colordata.maximum value
for Phase One files.
* LibRaw::subtract_black() sets colordata.black and
colordata.cblack[] to zero to preserve data integrity.
* LibRaw 0.11-Beta2
2010-09-04 Alex Tutubalin <lexa@lexa.ru>
* It is now possible to crop output image on postprocessing
stage (dcraw_process). Coordinates and size of the output box
are set via imgdata.params.cropbox[4] parameter. Look into
LibRaw documentation for more details.
+ New fatal error code LIBRAW_BAD_CROP
+ New dcraw_emu sample command line switch: -B x y w h
(sets cropbox)
Thanks to Patrick and Jan.
* Processing pipeline has changed: the black level is subtracted
from data on postprocessing stage either automatically
(on dcraw_process() stage) or by special LibRaw API call:
+ New API calls: LibRaw::subtract_black() (C++ API) and
libraw_subtract_black (C API).
If you use dcraw_process() or dcraw_document_mode_processing()
calls YOU DON'T NEED to call subtract_black() directly.
+ The raw preprocessing mode LIBRAW_FILTERING_NOBLACKS
is deprecated and removed from LibRaw.
* New ./configure script.
Use ./configure -h for usage details.
Thanks to Siddhesh Poyarekar
* New API cals static LibRaw::dcraw_clear_mem() (C++ API)
and libraw_dcraw_clear_mem(..) (C API).
This calls are used to free memory, allocated by
dcraw_make_mem_image() and dcraw_make_mem_thumb() instead
of free() call.
In some cases LibRaw and calling process have different
memory managers, so free() of make_mem_image() data
results to program crash (especially in Win32/VisualStudio
enviroment).
* LibRaw::free() is now private instead of public (again).
* Minor changes and bugfixes:
+ Memory allocation exceptions (std::bad_alloc) are caught,
so LibRaw API calls will return reasonable error codes
instead of C++ exception (possibly unhandled).
This problem is very unlikely to see in wild: if application
cannot allocate small data for internal structure, it will
always fail on allocation for RAW image data.
+ WIN32/VisualStudio 2008/2010: fopen,fscanf and sscanf calls
in Libraw_datastream code are changed to *_s (secure) ones.
+ Debug print removed from fatal error handler.
+ Mmaped I/O for dcraw_emu sample is turned on via -E switch
now (because old -B switch is used for settng cropbox).
* all client code should be recompiled due to structures size change
* LibRaw 0.11-Beta1
2010-07-31 Alex Tutubalin <lexa@lexa.ru>
* dcraw 9.04 (1.438) imported: changes in tiff metadata parser,
fixed a typo in Canon A720 model name
* small patch in Sony ARW2 unpacking code to make valgrind happy
* LibRaw 0.10.0-Beta3.
2010-07-05 Alex Tutubalin <lexa@lexa.ru>
* dcraw 9.03 (1.437) imported:
+ New cameras: Canon SX20, Nikon D3s, Olympus E-P2, Panasoni DMC-GF1,
Samsung EX1, Sony A450
+ Color data changed for some cameras
* LibRaw 0.10.0-Beta2.
2010-06-06 Alex Tutubalin <lexa@lexa.ru>
* dcraw 9.01 (1.434) imported:
+ Separate black levels for each color channel.
+ New cameras: Canon 550D, Casio EX-Z1050, Fuji HS10/HS11,
Kodak Z981, Panasonic G2 and G10, Phase One P65,
Samsung NX-10 and WB550, Sony NEX-3 and NEX-5.
+ Fixed file descriptor leak in dark frame subtraction processing
* Fixed dcraw 9.01's bug in DNG black level processing
* Preliminary support for Sony A450 camera.
* New command-line switch -h in mem_image sample (half_size support)
* Some patches by Johannes Hanika (darktable author):
+ OpenMP speedup for PPG-interpolation
+ green_matching - suppress of 'color maze' on cameras with
different green channel sensitivity. This option is turns on
by filed with same name in imgdata.params
* all client code should be recompiled due to structures size
change
* LibRaw::free() is now public instead of private.
* LibRaw 0.10.0-Beta1.
2010-05-15 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug in 8-bit RAW processing code
* LibRaw 0.9.1-Release
2010-04-26 Alex Tutubalin <lexa@lexa.ru>
* OpenMP support: OpenMP is possible under MinGW (untested)
* LibRaw 0.9.0-Release
2010-04-21 Alex Tutubalin <lexa@lexa.ru>
* Finally fixed inconsistency in Fuji files processing
* New COLOR(row,col) call to get bayer color index in image[] array
* Old FC() call is deprecated and will be removed in future releases
* unprocessed_raw sample switched to COLOR() call
* LibRaw 0.9.0-Beta5
2010-04-10 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug in unpacking DNG files made from Fuji RAFs.
* LibRaw 0.9.0-Beta4
2010-04-09 Alex Tutubalin <lexa@lexa.ru>
* Fixed typecast error (problem reported only on gcc 4.2.1/32bit)
in CRW files processing.
* C++ API call LibRaw::adjust_maximum() is now deprecated and
de-documented, use params.adjust_maximum_thr instead (on by default)
* C-API call libraw_adjust_maximum() removed.
* New postprocessing parameter params.adjust_maximum_thr
This parameter replaces LibRaw::adjust_maximum(), but more flexible
Defaults are reasonable (0.75, same as in old adjust_maximum),
look into documentation for more details.
* Removed last OpenMP warning
* dcraw_emu's -c parameter now wants numeric (float) argument. This value
is assigned to params.adjust_maximum_thr.
Use -c 0.0 for dcraw compatibility.
* all client code should be recompiled due to structures size
change
* LibRaw 0.9.0-Beta3
2010-03-29 Alex Tutubalin <lexa@lexa.ru>
* Fixed a bug in channel_maximum[] calculation for
Panasonic cameras.
* channel_maximum[] data now calculated for ALL cameras.
* OpenMP warnings suppressed.
* Documented the -c command-line switch for dcraw_emu sample.
* Removed extra messages from dcraw_emu sample.
* LibRaw 0.9.0-Beta2
2010-03-28 Alex Tutubalin <lexa@lexa.ru>
New licensing:
* Triple licensing (selected by LibRaw user):
+ LGPL 2.1 (http://www.gnu.org/licenses/lgpl-2.1.html)
+ CDDL 1.0 (http://www.opensource.org/licenses/cddl1.txt)
+ LibRaw Software License (27 March 2010 version)
(http://www.libraw.org/data/LICENSE.LibRaw.pdf)
* There is no separate LibRaw-Lite and LibRaw-Commercial versions,
only single LibRaw.
Current LibRaw-Lite and LibRaw-Commercial users should switch
to LibRaw without loss of functionality.
It is possible to change licensig too (e.g. from LGPL to CDDL
for LibRaw-Lite users and from LibRaw License to LGPL or CDDL
for LibRaw-Commercial users).
* No Foveon support :(
It is not possible to get good color from Foveon sensors with
*any* converter. So, there is no need to support these cameras.
Dcraw's Foveon-processing code is too strict licensed (GPL),
so we choose to drop it.
New Features:
* New data field colordata.channel_maximum[4] - per channel data
maximum (calculated for most cameras, 0 for others).
* New call LibRaw::adjust_maximum() (and libraw_adjust_maximum() in C API).
This call changes hardcoded colordata.maximum value to calculated
at unpack stage. This helps suppress false color in highlights
(magenta clouds and so).
* New command line parameter -c for dcraw_emu sample. Calls adjust_maximum()
for each processed file.
* all client code should be recompiled due to structures size
change
* LibRaw 0.9.0-Beta1
2010-02-06 Alex Tutubalin <lexa@lexa.ru>
* Fixed ambiguity in pow/sqrt calls (to make Sun C++ compiler happy)
* OpenMP is not supported under MS Visual Studio
* Masked a bug in RIFF format parser
* LibRaw 0.8.6
2009-12-30 Alex Tutubalin <lexa@lexa.ru>
* Fixed bug in simple_dcraw sample parameters processing
* Imported dcraw 8.99 (1.432):
+ New cameras: Canon: 1D mk IV, Canon S90; Casio Z750,
Nikon D3S, Pentax K-x, Sony A-500/550, Fuji S200EXR
+ New color data for Canon G11 and Sony A850
+ Changes in Canon sRAW processing
+ Changes in Kodak metadata processing
+ Changes in uncompressed Fuji files processing (FinePix S5xxx)
* LibRaw 0.8.5
2009-11-21 Alex Tutubalin <lexa@lexa.ru>
+ Fixed a bug in processing of uncompressed Phase One files
* LibRaw 0.8.4
2009-10-24 Alex Tutubalin <lexa@lexa.ru>
+ Imported dcraw 8.98/1.431:
* New Cameras: Canon 7D, Panasonic GF1, Sony A850 and A380,
Casio Z850, Nikon D300s
+ changes in libraw_datastream.h to make compilers more happy
* LibRaw 0.8.3
2009-09-02 Alex Tutubalin <lexa@lexa.ru>
+ Fixed bug in Hasselblad .3FR unpacking code
* Imported dcraw 8.97/1.428: Nikon D3000 image width fix
* LibRaw 0.8.2
2009-08-31 Alex Tutubalin <lexa@lexa.ru>
+ Enum LibRaw_thumbnail_formats (LIBRAW_IMAGE_*) values changed to
match values in enum LibRaw_image_formats (LIBRAW_THUMBNAIL_*).
You need to recompile all sources using these constants.
2009-08-30 Alex Tutubalin <lexa@lexa.ru>
* Imported dcraw 8.97/1.427:
+ new cameras: Canon A470, Canon G11 (without color data),
Nikon D3000, Olympus E-P1, Panasonic DMC-FZ35/FZ38
+ some changes in decoding code.
* Fixes for Microsoft Visual C++ 6.0 compatibility
* C-API dcraw_make_mem_thumb() call finally exported in API
* LibRaw 0.8.1
2009-08-24 Alex Tutubalin <lexa@lexa.ru>
* Imported dcraw 8.96/1.426
+ New cameras: Casio EX-Z60 and EX-Z75, Kodak Z980,
Nikon D5000, Olympus X200, D560Z,C350Z,E620,
Pentax K7, Sony A330.
+ New color data for many cameras
+ Generalized unpacker code for Canon and Casio P&S cameras
* LibRaw 0.8.0-Release
2009-08-13 Alex Tutubalin <lexa@lexa.ru>
* RAW files larger than 2Gb are supported on:
- Unix (all supported: FreeBSD, MacOS X, Linux)
- Windows (with C runtime version >= 8.0)
* bzero replaced with memset to make Solaris users happy
* All applications on 32-bit systems should be recompiled
due to data structures size changes.
* Minor fixes in windows makefile
* LibRaw 0.8.0-Beta5
2009-07-21 Alex Tutubalin <lexa@lexa.ru>
* Imported dcraw 8.95 (1.425):
+ new huffman tree code
+ New cameras supported: AGFAPHOTO DC-833m, Casio EX-S20,
Phase One P65, Samsung S850
+ Removed hardcoded white-balance data for many P&S cameras.
It is recommended to set params.use_camera_wb to 1 for
safe WB.
* Fixes for Nikon D5000 files: no pink stripe at
right side of frame
* C-wrapper: added missed calls
libraw_dcraw_make_mem_image
libraw_dcraw_ make_mem_thumb
* Minor fixes to make non-gcc compilers more happy
* Internal structures changed, full recompilation of all client
code is needed.
* LibRaw 0.8.0-Beta4
2009-06-08 Alex Tutubalin <lexa@lexa.ru>
* Fixes: gamma curve processing was not performed in
dcraw_write_mem_image()
* Fixes: gamma curve processing was not performed for
Kodak thumbnails
* LibRaw 0.8.0-Beta3
2009-06-05 Alex Tutubalin <lexa@lexa.ru>
* Fixes in documentation: params.gamm[] described more precisely
* Fixes in version number, 0.8-beta1 was mistakenly 0.0.0-beta1
* LibRaw 0.8.0-Beta2
2009-06-04 Alex Tutubalin <lexa@lexa.ru>
* Imported dcraw 8.94 (1.423):
+ New camera support:
Canon: SX1, 500D/Rebel T1i, A570, A590, SX110
Kodak Z1015, Motorola PIXL, Olympus E30, Panasonic DMC-GH1
+ Improved color data for Nikon D3X
+ New gamma curve model
+ Many changes in RAW unpacking code
+ Canon cameras: black level is not subtracted if set
params.document_mode > 1
* API changed: params.gamma_16bit field removed. Gamma curve is
set via params.gamm[0]/gamm[1] values (see documentation and
samples for details)
* LibRaw::identify() splitted to avoid MS VS2008 bug (too many
nested blocks)
* Samples: dcraw_emu and mem_image samples supports new dcraw
16bit/gamma semantics:
-6: set 16 bit output
-4: set 16 bit output and linear gamma curve and no auto
brighness
* LibRaw 0.8.0-Beta1
2009-04-28 Alex Tutubalin <lexa@lexa.ru>
* Identify sample renamed to raw-identify (name conflict
with ImageMagic)
* Copyright notice changes
* Many compiler warnings removed
2009-04-07 Alex Tutubalin <lexa@lexa.ru>
* More accurate types conversion in libraw_datastream.h
* New postprocessing parameter auto_bright_thr: set portion of
clipped pixels for auto brightening code (instead of
dcraw-derived hardcoded 1%)
* -U option for dcraw_emu sample sets auto_bright_thr parameter
* all client code should be recompiled due to structures size
change
* LibRaw 0.7.2-Release
2009-03-22 Alex Tutubalin <lexa@lexa.ru>
* Fixed typo in OpenMP support code
* MinGW support