Squashed 'rtengine/libraw/' changes from 12b0e5d60..8afe44cd0

8afe44cd0 Snapshot 202502
29d9785c2 Do not apply canon metadata crop to DNG files
015b27fff Changelog updated
d1a27c26e Merge branch 'master' of git.lexa.ru:LibRaw
ca1368d8e check split_col/split_row values in phase_one_correct
fb23332a9 UINT32=>unsigned as defined in structure declaration
354bc2907 Revert "build: add handling of openmp library"
797ac1934 Merge pull request #680 from ssssota/remove-duplicated-camera
52421b19e fix: remove duplicated supported camera
ca57a1103 Merge pull request #679 from dlemstra/fix-profile-length
25bb86fe7 Merge pull request #678 from clan/openmp
591239482 Changelog updated
42fce9f8e Make sure the profile_length is the same size as the allocated memory.
f767a2fbe prevent OOB reads in phase_one_correct
638154a5b build: add handling of openmp library
bdd9e3436 Prevent out-of-bounds read in fuji 0xf00c tag parser
59cfa8b8a Prevent out-of-bounds read in fuji 0xf00c tag parser
3240fb21f Merge pull request #677 from ssssota/windows-makefile-invalid-indent
416912f43 build: fix indentation (8 spaces -> tab)
bf7a0346d Merge pull request #676 from lance5/master
6a0ef2483 [fix] use LIBRAW_OWN_SWAB control swab
816ab359b [feature] support android NDK 21
cc118c1c1 H265 and JPEG-XL thumbnails support for dcraw_make_mem_thumb
9bcb8a1d9 LIBRAW_CALLOC_RAWSTORE; replace for w/ memmove in dng_sdk glue
bf1a9140e panasonic decoder: limit load_flags to 0x4000
77a46b319 panasonic loader: zero buf to avoid uninitalized data leak
4f5a4cfb3 null-terminate xmp block
f9bb7d126 small allocations: replace malloc with calloc
70f511871 define NOMINMAX before including winsock2 in public header file => do not provide min/max maco
3772d1be2 Merge pull request #661 from nekopsykose/end
f2d1070f7 fix endian detection for ppc64le
47c7a2394 Ignore vendor crops for Fuji S6000/6500
17f16837e Prevent Sony-LJPEG decoder buffer overrun
9c9c04b44 Ensure SR2 block is fully read from file
d3cbbd0e9 4-component DNG-JPEG support
891630152 additional check for imgdata.color.WB_Coeffs index range
54c6af90b prevent possible imgdata.color.WBCT_Coeffs overrun
158e635e5 X100V color updated w/ actual data; X-T4 and X-Pro3 typo fixed
393dc925d Fuji X-T3x colormatrix: fixed typo
66a81c333 removed extra Pentax KP colordata
6475fd04b pass all images with wrong bayer filter data to vng_interpolate
fe2a7e2b7 Refuse images with colors==2
c2e8a908d additional offset checks in Sony metadata parser
c9facb4b7 Clean wrong aber values; allocate extra data to image to avoid overrun on specially crafted test images
83bf3ad5e Merge pull request #640 from Calandracas606/fix-clback-docs
c294e7075 fix the docs to properly reflect the size of cblack[LIBRAW_CBLACK_SIZE]
072eeaeb4 fixed integer overflow in largest frame selection code
e58e8e43a additional checked_buffer_t offset checks
73d6daa05 Check for negatife offset checked_buffer_t
0d011198b Oops. Forgot to increase version
a625a7d53 Merge pull request #633 from thesamesam/openmp
b396d92d8 README.md: removed unprintable symbols
9893eb825 README.md: update policy actualized to match libraw.org site
54fbe8f47 libraw_adjust_to_raw_inset_crop
2f75ef793 m4: update ax_openmp.m4 from autoconf-archive (8->14)

git-subtree-dir: rtengine/libraw
git-subtree-split: 8afe44cd0e96611ba3cb73779b83ad05e945634c
This commit is contained in:
Lawrence Lee
2025-03-23 15:05:07 -07:00
parent 4c61b7d3c3
commit 16e502f1c5
98 changed files with 2840 additions and 1457 deletions

View File

@@ -51,8 +51,8 @@ it under the terms of the one of two licenses as you choose:
static libraw_static_table_t Sony_SR2_wb_list;
static libraw_static_table_t Sony_SR2_wb_list1;
/* */
int find_ifd_by_offset(int );
void libraw_swab(void *arr, size_t len);
int find_ifd_by_offset(INT64 );
void libraw_swab(void *arr, int len);
ushort sget2 (uchar *s);
ushort sget2Rev(uchar *s);
libraw_area_t get_CanonArea();
@@ -70,24 +70,24 @@ it under the terms of the one of two licenses as you choose:
void parseCanonMakernotes (unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void processNikonLensData (uchar *LensData, unsigned len);
void Nikon_NRW_WBtag (int wb, int skip);
void parseNikonMakernote (int base, int uptag, unsigned dng_writer);
void parseEpsonMakernote (int base, int uptag, unsigned dng_writer);
void parseSigmaMakernote (int base, int uptag, unsigned dng_writer);
void parseNikonMakernote (INT64 base, int uptag, unsigned dng_writer);
void parseEpsonMakernote (INT64 base, int uptag, unsigned dng_writer);
void parseSigmaMakernote (INT64 base, int uptag, unsigned dng_writer);
void setOlympusBodyFeatures (unsigned long long id);
void getOlympus_CameraType2 ();
void getOlympus_SensorTemperature (unsigned len);
void parseOlympus_Equipment (unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseOlympus_CameraSettings (int base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseOlympus_CameraSettings (INT64 base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseOlympus_ImageProcessing (unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseOlympus_RawInfo (unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseOlympusMakernotes (int base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseOlympusMakernotes (INT64 base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void setPhaseOneFeatures (unsigned long long id);
void setPentaxBodyFeatures (unsigned long long id);
void PentaxISO (ushort c);
void PentaxLensInfo (unsigned long long id, unsigned len);
void parsePentaxMakernotes(int base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseRicohMakernotes(int base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseSamsungMakernotes(int base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parsePentaxMakernotes(INT64 base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseRicohMakernotes(INT64 base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void parseSamsungMakernotes(INT64 base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer);
void setSonyBodyFeatures (unsigned long long id);
void parseSonyLensType2 (uchar a, uchar b);
void parseSonyLensFeatures (uchar a, uchar b);
@@ -100,7 +100,7 @@ it under the terms of the one of two licenses as you choose:
void process_Sony_0x9406 (uchar * buf, ushort);
void process_Sony_0x940c (uchar * buf, ushort);
void process_Sony_0x940e (uchar * buf, ushort, unsigned long long id);
void parseSonyMakernotes (int base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer,
void parseSonyMakernotes (INT64 base, unsigned tag, unsigned type, unsigned len, unsigned dng_writer,
uchar *&table_buf_0x0116, ushort &table_buf_0x0116_len,
uchar *&table_buf_0x2010, ushort &table_buf_0x2010_len,
uchar *&table_buf_0x9050, ushort &table_buf_0x9050_len,
@@ -121,7 +121,7 @@ it under the terms of the one of two licenses as you choose:
void parseLeicaLensID();
int parseLeicaLensName(unsigned len);
int parseLeicaInternalBodySerial(unsigned len);
void parseLeicaMakernote(int base, int uptag, unsigned MakernoteTagType);
void parseLeicaMakernote(INT64 base, int uptag, unsigned MakernoteTagType);
void parseAdobePanoMakernote ();
void parseAdobeRAFMakernote ();
void GetNormalizedModel ();
@@ -132,6 +132,7 @@ it under the terms of the one of two licenses as you choose:
unsigned getint(int type);
float int_to_float (int i);
double getreal (int type);
float getrealf(int type) { return float(getreal(type)); }
double sgetreal(int type, uchar *s);
void read_shorts (ushort *pixel, unsigned count);
@@ -143,7 +144,7 @@ it under the terms of the one of two licenses as you choose:
void canon_600_load_raw();
void canon_600_correct();
int canon_s2is();
void parse_ciff (int offset, int length, int);
void parse_ciff (INT64 offset, int length, int);
void ciff_block_1030();
@@ -199,8 +200,8 @@ it under the terms of the one of two licenses as you choose:
// Fuji
// void fuji_load_raw();
int guess_RAFDataGeneration (uchar *RAFData_start);
void parse_fuji (int offset);
void parse_fuji_thumbnail(int offset);
void parse_fuji (INT64 offset);
void parse_fuji_thumbnail(INT64 offset);
// Rollei
void rollei_load_raw();
@@ -232,7 +233,7 @@ it under the terms of the one of two licenses as you choose:
void unpacked_load_raw_reversed();
void unpacked_load_raw_fuji_f700s20();
void parse_sinar_ia();
void parse_phase_one (int base);
void parse_phase_one (INT64 base);
// Misc P&S cameras
void parse_broadcom();
@@ -243,7 +244,8 @@ it under the terms of the one of two licenses as you choose:
unsigned pana_data (int nb, unsigned *bytes);
void panasonic_load_raw();
// void panasonic_16x10_load_raw();
void olympus_load_raw();
// void olympus_load_raw();
void olympus14_load_raw();
// void olympus_cseries_load_raw();
void minolta_rd175_load_raw();
void quicktake_100_load_raw();
@@ -260,8 +262,8 @@ it under the terms of the one of two licenses as you choose:
void smal_v9_load_raw();
void parse_riff(int maxdepth);
void parse_cine();
void parse_smal (int offset, int fsize);
int parse_jpeg (int offset);
void parse_smal (INT64 offset, INT64 fsize);
int parse_jpeg (INT64 offset);
// Kodak
void kodak_262_load_raw();
@@ -287,7 +289,7 @@ it under the terms of the one of two licenses as you choose:
void samsung_load_raw();
void samsung2_load_raw();
void samsung3_load_raw();
void parse_minolta (int base);
void parse_minolta (INT64 base);
#ifdef USE_X3FTOOLS
// Foveon/Sigma
@@ -313,7 +315,7 @@ it under the terms of the one of two licenses as you choose:
void dng_ycbcr_thumb_loader();
#ifdef USE_X3FTOOLS
void x3f_thumb_loader();
INT64 x3f_thumb_size();
int x3f_thumb_size();
#endif
@@ -327,37 +329,37 @@ it under the terms of the one of two licenses as you choose:
// Tiff/Exif parsers
void tiff_get (unsigned base,unsigned *tag, unsigned *type, unsigned *len, unsigned *save);
void tiff_get (INT64 base,unsigned *tag, unsigned *type, unsigned *len, INT64 *save);
short tiff_sget(unsigned save, uchar *buf, unsigned buf_len, INT64 *tag_offset,
unsigned *tag_id, unsigned *tag_type, INT64 *tag_dataoffset,
unsigned *tag_datalen, int *tag_dataunit_len);
void parse_thumb_note (int base, unsigned toff, unsigned tlen);
void parse_makernote (int base, int uptag);
void parse_makernote_0xc634(int base, int uptag, unsigned dng_writer);
void parse_exif (int base);
void parse_exif_interop(int base);
void parse_thumb_note (INT64 base, unsigned toff, unsigned tlen);
void parse_makernote (INT64 base, int uptag);
void parse_makernote_0xc634(INT64 base, int uptag, unsigned dng_writer);
void parse_exif (INT64 base);
void parse_exif_interop(INT64 base);
void linear_table(unsigned len);
void Kodak_DCR_WBtags(int wb, unsigned type, int wbi);
void Kodak_KDC_WBtags(int wb, int wbi);
short KodakIllumMatrix (unsigned type, float *romm_camIllum);
void parse_kodak_ifd (int base);
int parse_tiff_ifd (int base);
int parse_tiff (int base);
void parse_kodak_ifd (INT64 base);
int parse_tiff_ifd (INT64 base);
int parse_tiff (INT64 base);
void apply_tiff(void);
void parse_gps (int base);
void parse_gps_libraw(int base);
void parse_gps (INT64 base);
void parse_gps_libraw(INT64 base);
void aRGB_coeff(double aRGB_cam[3][3]);
void romm_coeff(float romm_cam[3][3]);
void parse_mos (INT64 offset);
void parse_qt (int end);
void parse_qt (INT64 end);
void get_timestamp (int reversed);
// The identify
short guess_byte_order (int words);
void identify_process_dng_fields();
void identify_finetune_pentax();
void identify_finetune_by_filesize(int);
void identify_finetune_dcr(char head[64],int,int);
void identify_finetune_by_filesize(INT64);
void identify_finetune_dcr(char head[64],INT64,INT64);
// Tiff writer
void tiff_set(struct tiff_hdr *th, ushort *ntag,ushort tag, ushort type, int count, int val);
void tiff_head (struct tiff_hdr *th, int full);
@@ -379,7 +381,7 @@ it under the terms of the one of two licenses as you choose:
void fuji_14bit_load_raw();
void parse_fuji_compressed_header();
void crxLoadRaw();
int crxParseImageHeader(uchar *cmp1TagData, int nTrack, int size);
int crxParseImageHeader(uchar *cmp1TagData, int nTrack, INT64 size);
void panasonicC6_load_raw();
void panasonicC7_load_raw();
void panasonicC8_load_raw();