Commit Graph

571 Commits

Author SHA1 Message Date
Stefan Weil c00ee8bff7 Fix support of posix_memalign for Linux
posix_memalign is only declared conditionally in stdlib.h,
so add one of the possible definitions to get the declaration.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06 18:06:45 +01:00
Stefan Weil 99c4f621bd Fix duplicate article in comments
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06 08:55:29 +01:00
Stefan Weil a834ab305f Fix grammar in comment
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-12-31 10:13:26 +01:00
Jakub Wilk 4ddc2627dd Fix typos 2015-11-27 21:38:41 +01:00
mayeut fb4be3894e Fix undefined size jp2 box handling
Update #653
2015-11-07 01:35:43 +01:00
mayeut 38ffbbe42e Fin compiler warnings 2015-11-01 17:08:47 +01:00
Stefan Weil 9f78c68953 Fix typo in comments
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-10-29 20:37:27 +01:00
mayeut e975ca2832 Merge branch 'master' into coc-qcc 2015-10-21 20:45:50 +02:00
Stephan Mühlstrasser b7a162348d Avoid pointer arithmetic with (void *) pointers. 2015-10-21 09:01:31 +02:00
mayeut d48be27f5a Generic aligned malloc implementation update.
Update #642
2015-10-21 00:09:04 +02:00
Stephan Mühlstrasser eaf55b677c Generic aligned malloc implementation.
Used for platforms where none of posix_memalign(), memalign() and
_aligned_malloc() is available.
2015-10-20 21:34:54 +02:00
Stephan Mühlstrasser a1fc83cc25 Fix HP compiler warning about redeclaration of function (#640)
HP compiler warns:
cc: "dwt.c", line 798: warning 562: Redeclaration of "opj_v4dwt_decode"
with a different storage class specifier: "opj_v4dwt_decode" will have
internal linkage.
cc: "t2.c", line 1341: warning 562: Redeclaration of "opj_t2_init_seg"
with a different storage class specifier: "opj_t2_init_seg" will have
internal linkage.
2015-10-19 12:14:27 +02:00
mayeut 80be580d50 Merge branch 'master' into coc-qcc 2015-10-18 03:23:38 +02:00
Matthieu Darbois 05b3afd28f Merge pull request #636 from uclouvain/opj_malloc-625
Update allocation functions
Fix #625 
Fix #624
Fix #635
2015-10-18 03:14:55 +02:00
mayeut e1122a8f50 Cleanup includes 2015-10-18 02:52:33 +02:00
mayeut f9d47e28b9 Fix _aligned_malloc usage 2015-10-18 02:23:01 +02:00
mayeut 8034ffde8b Fix inconsistent behavior of malloc(0)
Update #635
Update #625
2015-10-17 02:55:09 +02:00
mayeut b3a15954f6 Add missing checks. Fix crash on failed allocation. 2015-10-17 02:16:17 +02:00
mayeut 83249c318f Fixed crash on encoding
Update #624
Update #625
2015-10-17 01:30:23 +02:00
Stephan Mühlstrasser b3c581760f Fix OpenJPEG GitHub issue #633.
"opj_includes.h" must be included before system headers, otherwise
inconsistent definitions of configuration macros lead to build
failures on AIX.
2015-10-15 10:53:33 +02:00
mayeut c8d03fea9b Merge branch 'master' into coc-qcc 2015-10-13 21:57:58 +02:00
Mathieu Malaterre 372fead0d7 Remove the explicit restrict keyword
It would trigger a compiler error on xlc compiler.  Fixes #620
2015-10-13 21:07:11 +02:00
Giuseppe Baruffa 98324bbd6b I do not recall exactly... I would say that the correct version should be
if (!JPWL_ASSUME)
    return false;

meaning that once JPWL_ASSUME=1 the code will pass over such errors and try to decode anyway (just paired with the other JPWL_ASSUME on line 1112).

Fixes #596
2015-10-13 15:20:54 +02:00
Mathieu Malaterre 26dcb7c125 Remove a possible uninitialized variable
Fixes #629
2015-10-12 21:29:12 +02:00
Mathieu Malaterre dd81b5892d minor tweaks to the code 2015-10-12 21:24:10 +02:00
Mathieu Malaterre ab8929262a Fix an issue with parenthesis 2015-10-10 21:03:44 +02:00
Mathieu Malaterre dc869c2985 Add paranoid sentinels 2015-10-10 18:38:08 +02:00
Mathieu Malaterre d753441028 implement a portable aligned realloc 2015-10-10 17:51:29 +02:00
Mathieu Malaterre 2d410fc74b do not use aligned_alloc since it requires c11 2015-10-10 14:54:21 +02:00
Mathieu Malaterre 0dc4914b4e cleanup header file and move to implementation 2015-10-09 22:04:04 +02:00
mayeut de0a9ed103 Revert "Make sure to allocate on 16bits alignement. Fix issue #624"
This reverts commit 553714a87a.
2015-10-09 21:13:06 +02:00
Mathieu Malaterre 553714a87a Make sure to allocate on 16bits alignement. Fix issue #624 2015-10-09 15:37:09 +02:00
mayeut 3259fe2ff8 Merge branch 'master' into coc-qcc 2015-10-08 19:11:52 +02:00
Stephan Mühlstrasser 8414870ca7 Fixed problem that C++ compilation failed because of enum variable.
Replaced usage of an enum typedef for a variable that is used
for bit flags with OPJ_UINT32 type.
2015-10-07 12:28:12 +02:00
mayeut 2dab5fed59 Merge branch 'master' into coc-qcc 2015-10-06 20:55:36 +02:00
Stephan Mühlstrasser d6b51b7041 Added missing casts for return values of opj_malloc()/opj_calloc(). 2015-10-06 15:33:46 +02:00
mayeut db23831d57 Add check for seek support before trying TPsot==TNsot workaround 2015-10-02 22:33:44 +02:00
Stefan Weil 05235963d9 Fix typo in variable name
This makes checks with codespell easier.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-09-29 05:57:09 +02:00
Stefan Weil 99fc1ab306 Fix typos in comments and string
Most typos were found by codespell.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-09-29 05:55:43 +02:00
mayeut 55dbf8acff Fix resource leak in opj_j2k_create_cstr_index
Fixes #599
2015-09-17 12:46:42 +02:00
mayeut c16c91797f Fix resource leak in opj_j2k_encode
Fixes #598
2015-09-17 12:41:41 +02:00
mayeut a4e93c3b0a fix resource leak in opj_j2k_decode_one_tile
Fixes #597
2015-09-17 12:31:18 +02:00
mayeut 4bb5e24d23 Merge branch 'master' into coc-qcc 2015-09-17 02:12:27 +02:00
Matthieu Darbois bac2c9e0a3 Change test in opj_tcd_makelayer
Remove float equality test. Such a test has no meaning.
2015-09-11 14:17:30 +02:00
Matthieu Darbois ee0f313848 Update check in opj_tcd_makelayer to be robust to different float precisions 2015-09-10 15:46:51 +02:00
Matthieu Darbois ccdce606f1 Fix threshold calculation
It doesn't change the outcome of the test suite, that's weird...
2015-09-10 15:10:14 +02:00
mayeut 5f02757eef Correct lossless issue on linux x86
Update uclouvain/openjpeg#571
2015-09-10 00:39:23 +02:00
mayeut 66d890bf22 Merge remote-tracking branch 'uclouvain/master' into coc-qcc 2015-09-08 22:33:07 +02:00
mayeut 940100c28a Fix potential use-after-free in opj_j2k_write_mco function
Fixes #563
2015-09-06 17:24:03 +02:00
mayeut c5dd6035c9 Correct CMake version requirements
Update uclouvain/openjpeg#488
2015-09-01 20:43:43 +02:00
mayeut 38770403d4 Fix some calculations in opj_tcd_init_tile
Fixes #486
Fixes #394
Update #480
Update #388
2015-08-23 11:38:04 +02:00
mayeut fa9142b7e4 Fix formatting 2015-08-21 20:15:50 +02:00
Matthieu Darbois 3109759fd7 Merge pull request #559 from szukw000/cmyk-cielab-esycc
Add support for CIELab, EYCC and CMYK
2015-08-21 19:48:31 +02:00
szukw000 238f4419ab Defines three new functions
Declares three new functions
Calls the three new functions
Collects data for CIELab, sets the color_space for EYCC and CMYK
2015-07-30 23:31:12 +00:00
mayeut 60301842c7 Sync coc-qcc branch with master 2015-07-31 01:07:14 +02:00
ak-dxdy 4fc1073809 French comments replaced by English ones 2015-07-31 00:51:08 +02:00
Matthieu Darbois 7c688c3453 Merge pull request #558 from mayeut/remove-printf
Remove printf/fprintf to stdout/stderr throughout openjp2 lib
2015-07-30 23:37:20 +02:00
mayeut 372c887aad Fix typo (that brakes building with '-DBUILD_MJ2:bool=on')
Fixes #556
2015-07-30 23:34:12 +02:00
mayeut 0df90afdf7 Remove printf/fprintf to stdout/stderr throughout openjp2 lib
Update uclouvain/openjpeg#246
2015-07-30 23:26:31 +02:00
Rex Dieter e4735c703d better -ffast-math handling
issue #488

See also
http://public.kitware.com/pipermail/cmake/2015-April/060479.html
2015-07-30 09:54:07 -05:00
mayeut c3d9719cd4 Write COC/QCC in Main Header
Update uclouvain/openjpeg#459
2015-07-29 00:29:49 +02:00
mayeut 2263b6bacc Start support for qcc/coc 2015-07-28 23:58:10 +02:00
mayeut b0035538af Use __emul under msvc x86 for fast 64 = 32 * 32
Update uclouvain/openjpeg#220
2015-07-27 20:12:48 +02:00
mayeut 45ccf501f0 Fix ARM build with Visual Studio 2015-07-26 21:12:36 +02:00
mayeut c423cc84e7 Remove some warnings when building
Update #442
2015-07-26 02:41:39 +02:00
Matthieu Darbois 8c4afeff40 Merge pull request #521 from manisandro/bigendian
Fix opj_write_bytes_BE
Fixes #472 
Fixes #345 
Fixes #518
2015-07-25 15:54:26 +02:00
mayeut b190a91ab5 Remove some warnings when building
Update #442
2015-07-24 23:55:45 +02:00
mayeut a56819eaab Add some missing static keywords
Update uclouvain/openjpeg#243
2015-07-23 07:48:42 +02:00
mayeut 9ac3a1572e Prevent overflow when coding 16 bits images
Update uclouvain/openjpeg#539
2015-07-22 00:10:32 +02:00
Matthieu Darbois 28c6f54798 Merge pull request #533 from mayeut/refactor-read-ppX
Refactor opj_j2k_read_ppm & opj_j2k_read_ppt
Fixes uclouvain/openjpeg#470
Fixes uclouvain/openjpeg#288
Fixes uclouvain/openjpeg#532
2015-07-21 01:26:02 +02:00
mayeut 1bbb607069 Merge remote-tracking branch 'uclouvain/master' into issue-235 2015-07-21 00:20:05 +02:00
mayeut ae4799ad07 Add some missing static
Still needs to check j2k.c & jp2.c
Update uclouvain/openjpeg#243
2015-07-18 02:39:32 +02:00
mayeut b88025b38f Add headers to CMake target 2015-07-18 01:50:17 +02:00
mayeut 775ee87776 Add checks for odd looking cmap & for cmap outside jp2h box
Update uclouvain/openjpeg#235
Update uclouvain/openjpeg#447
2015-07-12 19:39:30 +02:00
mayeut 0b1f8eb6f7 Merge pull request #529 from renevanderark/master
fix Suspicious code in j2k.c
Fixes #517
2015-07-12 19:20:57 +02:00
mayeut c887df12a3 Refactor opj_read_ppm
Update uclouvain/openjpeg#470
Update uclouvain/openjpeg#288
2015-07-12 18:09:30 +02:00
mayeut d1b053afe2 Refactor opj_j2k_read_ppt
Update uclouvain/openjpeg#470
Update uclouvain/openjpeg#532
2015-07-12 15:55:58 +02:00
mayeut dc43ebf96c Add option to force component splitting in imagetopnm
Update uclouvain/openjpeg#289
2015-07-11 11:35:21 +02:00
Rene van der Ark ba05549b0f fix Suspicious code in j2k.c #517 2015-07-08 11:13:31 +02:00
mayeut 237ddd72f1 Merge pull request #514 from mayeut/issue-254
Correctly decode files with incorrect tile-part header fields (TPsot==TNsot)
Fixes uclouvain/openjpeg#254
2015-07-04 00:47:59 +02:00
mayeut c999b6c0f0 uclouvain/openjpeg#254 Add build option to disable the fix 2015-07-04 00:04:55 +02:00
Aaron Boxer c9e231508b various small T1 optimizations 2015-07-03 15:23:15 +02:00
Aaron Boxer 6347686385 fixed a few bugs 2015-07-03 15:22:58 +02:00
Aaron Boxer 1a8f929111 visual studio lrintf is very slow - do not use 2015-07-03 15:22:42 +02:00
Sandro Mani c665e81a39 Fix opj_write_bytes_BE (#518) 2015-06-25 23:11:22 +02:00
mayeut c7535d084e Merge branch 'master' into issue-254 2015-06-05 20:42:57 +02:00
Matthieu Darbois c0d7afe15c [trunk] Fix offset computations in opj_j2k_update_image_data
Update issue 481
2015-06-03 20:56:13 +00:00
Matthieu Darbois 6def7e38b4 [trunk] Fix wrong return value for opj_setup_encoder & opj_set_decoded_resolution_factor (fixes issue 497)
Thanks Aaron.
2015-05-29 21:58:08 +00:00
Matthieu Darbois e3291c4e1f [trunk] Fix overflow in opj_image_comp_header_update (fixes issue 495) 2015-05-27 23:05:16 +00:00
Matthieu Darbois 0fa5a17c98 [trunk] Correct potential double free on malloc failure in opj_j2k_copy_default_tcp_and_create_tcp (fixes issue 492) 2015-05-19 21:57:27 +00:00
Matthieu Darbois 757f9394bf [trunk] Add check for number of layers & cblkw/cblkh values (fixes issue 475) 2015-05-19 21:24:44 +00:00
Matthieu Darbois daed8cc919 [trunk] Add check for at most 1 COD marker per tile. 1 COD marker for MH (fixes issue 476) 2015-05-19 20:13:37 +00:00
mayeut d1a941ea50 Revert "Correct overflows in opj_j2k_update_image_data"
This reverts commit 1fb24aba4b.
2015-05-16 14:22:16 +02:00
mayeut 00a47c1e06 Implement TNsot correction for non conforming files 2015-05-16 11:15:29 +02:00
mayeut 1fb24aba4b Correct overflows in opj_j2k_update_image_data 2015-05-16 02:51:31 +02:00
Antonin Descampe 2d24b6000d [trunk] added overflow checks (fixes issue 431)
Thanks mdarbois
2015-02-02 16:11:31 +00:00
Matthieu Darbois 3ed5858902 [trunk] use hidden visibility for static library (fixes issue 354) 2015-01-25 16:59:39 +00:00
Antonin Descampe 7a8cdc4bb0 [trunk] fixed a bug encoutntered when multiple MCT markers are provided
Update issue 430
Cc: savmickael@gmail.com
@Mickael: this revision affects your work on custom MCT. Is there a way
you could provide test data to add to our test suite ? Thanks
2015-01-20 16:29:16 +00:00
Antonin Descampe 4c0ed02806 [trunk] checks for JP2 signature and file type boxes more carefully
Update issue 430
2015-01-20 14:27:20 +00:00
Antonin Descampe 5d00b719f4 [trunk] fixed a buffer overflow in opj_tcd_init_decode_tile
Update issue 431
2015-01-15 18:16:29 +00:00
Matthieu Darbois 78a7762e3f [trunk] removed unnecessary operation in opj_bio_flush (fixes issue 461) 2014-12-23 16:05:19 +00:00
Matthieu Darbois bde5ba6ae8 [trunk] fixed compression check for 1 bit unsigned component (fixes issue 457) 2014-12-22 15:00:12 +00:00
Matthieu Darbois e966fef3eb [trunk] fixed a possible overflow in opj_t1_encode_cblks call to opj_int_fix_mul (fixes issue 141) 2014-12-20 13:03:11 +00:00
Matthieu Darbois dde788b59e [trunk] Updated checks regarding number of decomposition levels when compressing
Update  issue 215
2014-12-19 22:56:00 +00:00
Matthieu Darbois 58fc86452d [trunk] Fixed a crash on illegal tile offset when decoding
Update  issue 427
2014-12-18 22:56:38 +00:00
Matthieu Darbois c0cb119c0e [trunk] Fixed a crash on 0xh or wx0 image size decoding
Update  issue 427
2014-12-18 22:19:52 +00:00
Matthieu Darbois 9a21e1eef0 [trunk] removed warnings when building tcd.c (Update issue 442) 2014-12-15 18:48:50 +00:00
Matthieu Darbois a0688a9874 [trunk] Add SSE2/SSE41 implementations for mct.c (fixes issue 451) 2014-12-13 12:29:22 +00:00
Matthieu Darbois d0ce2ced53 [trunk] Speed-up opj_int_fix_mul by removing unneeded operation
Update  issue 220
2014-12-13 10:27:21 +00:00
Matthieu Darbois e05d2901ec [trunk] Reduce encoder code block memory usage for non 64x64 code block sizes (fixes issue 444) 2014-12-12 21:54:22 +00:00
Antonin Descampe 8d320bbdf8 [trunk] check number of components when getting mct norm (fixes issue 436) 2014-12-09 12:09:08 +00:00
Matthieu Darbois 776b83ddbc [trunk] Fixed compilation error under Visual Studio 2003 (fixes issue 351) 2014-12-09 05:44:55 +00:00
Matthieu Darbois 570dd13f55 [trunk] removed some warnings when configuring with CMake 3.x on MacOS
Update  issue 443

Warnings related to OPJ_USE_DSYMUTIL are fixed
2014-11-25 21:52:24 +00:00
Matthieu Darbois 04c6bb4a72 [trunk] removed warnings when building jp2.c (Update issue 442) 2014-11-24 21:31:09 +00:00
Matthieu Darbois 548aff34f4 [trunk] added check for tile component data size overflow (fixes issue 432) 2014-11-21 21:35:43 +00:00
Matthieu Darbois 8397eac382 [trunk] added check for pclr box validity (fixes issue 429) 2014-11-20 23:47:09 +00:00
Matthieu Darbois a2c2d86d3d [trunk] fixed memleak in abnormal condition (fixes issue 437) 2014-11-20 20:13:47 +00:00
Matthieu Darbois ae1da37558 [trunk] replace OPJ_MACRO_TCD_ALLOCATE macro by inlined function (fixes issue 433) 2014-11-19 19:08:09 +00:00
Matthieu Darbois f57f59b10d [trunk] remove warning during build (fixes issue 435) 2014-11-18 18:30:44 +00:00
Matthieu Darbois f123ce8f8a [trunk] fixed a bug preventing palette image with cdef to decode properly using opj_get_decoded_tile (fixes issue 428) 2014-11-17 21:46:43 +00:00
Antonin Descampe c3629e37a2 [trunk] significantly reduces memory for single tile RGB encoding (fixes
issue 375)
2014-11-03 14:51:41 +00:00
Antonin Descampe cf5153c518 [trunk] add a cdef box when alpha component is present (fixes issue 416) 2014-11-03 14:12:01 +00:00
Antonin Descampe 3b7dced8e6 [trunk] fixed a bug preventing palette image with cdef to decode properly (fixes issue 412) 2014-10-30 18:26:10 +00:00
Antonin Descampe 03a410e03d [trunk] fixed a bug that was preventing image with per channel alpha to decode properly (fixes issue 414) 2014-10-30 18:26:04 +00:00
Antonin Descampe 0a6eaaa605 [trunk] add a check on precinct size (fixes issue 420) 2014-10-30 18:00:45 +00:00
Antonin Descampe 7f8f284ee5 [trunk] prevent overflow in j2k.c
Update issue 392

Issue left open to solve problem on x64-Asan and to investigate Matthieu's suggestion
2014-10-30 11:53:06 +00:00
Antonin Descampe 3e1fad2da4 [trunk] resets resno_decoded for each tile (fixes issue 399) 2014-10-22 13:16:35 +00:00
Antonin Descampe d72940c56b [trunk] resets code-blocks reused for other tiles than the first one (fixes issue 418) 2014-10-22 13:16:12 +00:00
Antonin Descampe ad4fad0965 [trunk] add a check on mandatory headers in Main Header (fixes issue 408) 2014-10-22 10:30:35 +00:00
Antonin Descampe 0a3f234df7 [trunk] verify channel definitions is complete when cdef is present (fixes issue 397) 2014-10-21 12:54:08 +00:00
Antonin Descampe efb70af001 [trunk] add a check on the number of resolution passed to cmdline (fixes issue 352) 2014-10-21 12:47:48 +00:00
Antonin Descampe e65303b903 [trunk] added check on JP2_IHDR box (fixes issue 364) 2014-10-21 12:35:16 +00:00
Antonin Descampe 413de4fbfa [trunk] add a check on Zppm value in PPM markers (fixes issue 393) 2014-10-21 12:27:58 +00:00
Antonin Descampe 984351f86f [trunk] Add option to call dsymutil on built binaries (fixes issue 409) 2014-10-15 10:24:49 +00:00
Antonin Descampe f8796711e8 [trunk] add a check on progression order (fixes issue 413) 2014-10-15 10:14:54 +00:00
Antonin Descampe 0b540067b1 [trunk] add a check for illegal SCod value (fixes issue 400) 2014-10-15 08:48:19 +00:00
Antonin Descampe 3df347eded [trunk] additional checks for marker size inconsistency (fixes issue 363) 2014-10-14 15:15:09 +00:00
Antonin Descampe eb7c6d295a [trunk] fixed potential negative size params (fixes issue 390) 2014-10-06 21:05:32 +00:00
Antonin Descampe f126eb0d41 [trunk] added box length inconsistency check
Update issue 364

issue364-38.patch applied. Thanks Matthieu.
2014-10-06 21:05:27 +00:00
Antonin Descampe 7256e43c48 [trunk] fixed PDF crash in Chrome (fixes issue 362) 2014-10-06 21:05:21 +00:00
Antonin Descampe a0a3af1dee [trunk] removed illegal character in comment 2014-10-03 19:52:20 +00:00
Antonin Descampe 48832d944f [trunk]fixes buffer overflow in t2.c
Update issue 390
Summary: check for negative-size params in code
Patch from Matthieu applied. Left open to apply this to other places in
code.
2014-10-03 10:15:28 +00:00
Antonin Descampe 06bd61b571 [trunk] c++-style comment removed (fixes issue 407) 2014-10-02 07:44:53 +00:00
Antonin Descampe a1c754c737 [trunk] fixed warning from r2891 2014-10-01 12:11:43 +00:00
Antonin Descampe fef1276901 [trunk] fixed bad use of case statement (fixes issue 381) 2014-09-30 12:19:13 +00:00
Antonin Descampe 45f33cdbd6 [trunk] check possible overflow on size in opj_t2_read_packet_data
Update issue 390
Labels: Priority-Critical
Should be rechecked with ASan and pdfium
2014-09-30 10:07:09 +00:00
Antonin Descampe 2f3fd1194e [trunk] prevent overflow in opj_t2_read_packet_header (update issue 389) 2014-09-30 09:26:44 +00:00
Antonin Descampe f08af3ed82 [trunk] Ensure cblk->data pointer is correctly initialized (updates issue 391). Still need to check if it does not fail anymore with ASan. 2014-09-29 12:03:50 +00:00
Antonin Descampe 2720a1a405 [trunk] fixed tile numbering in output message (fixes issue 370) 2014-09-29 12:03:36 +00:00
Antonin Descampe 6868ee373e added memory allocation checks (fixes issue 355) 2014-09-19 10:26:35 +00:00