openjpeg/CHANGELOG.md

58 KiB

Changelog

v2.2.0 (2017-08-10)

Full Changelog

Implemented enhancements:

  • Memory consumption reduction at decoding side #968 (rouault)
  • T1 & DWT multithreading decoding optimizations #786 (rouault)
  • Tier1 decoder speed optimizations #783 (rouault)
  • Inverse DWT 5x3: lift implementation / SSE accelerated version #953
  • install static libraries #969 (jeroen)
  • IDWT 5x3 single-pass lifting and SSE2/AVX2 implementation #957 (rouault)
  • build both shared and static library #954 (jeroen)
  • T1 flag optimizations \#172 #945 (rouault)
  • CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement #936 (rouault)
  • Quiet mode for opj_decompress via -quiet long parameter. #928 (RussellMcOrmond)
  • Implement predictive termination check #800 (rouault)

Fixed bugs:

  • Several issues spotted by Google OSS Fuzz - see here
  • Missing fclose #976
  • Heap buffer overflow read in openjpeg imagetopnm #970
  • opj_decompress opj_j2k_update_image_data() Segment falut #948
  • Generic Crash in 1.5.0 #941
  • Segmentation Faults #940
  • Assertions thrown #939
  • Floating Point Errors #938
  • Division by zero crash #937
  • malformed jp2 can cause heap-buffer-overflow #909
  • NULL dereference can cause by malformed file #908
  • Out of bound read in opj_j2k_add_mct #907
  • Check bpno_plus_one in opj_t1_decode_cblk #903
  • Undefined-shift in opj_j2k_read_siz #902
  • opj_compress v2.1.2 can create images opj_decompress cannot read #891
  • Improper usage of opj_int_ceildiv can cause overflows #889
  • Undefined shift in opj_get_all_encoding_parameters #885
  • Denial of service crash due to use-after-free when decoding an illegal JPEG2000 image file v2.1.2 (2017-04 #880
  • Denial of service crash when decoding an illegal JPEG2000 image file v2.1.2 2017-03 #879
  • bug png 2 j2k #868
  • Inconsistent compression using cinema settings on folder of non-compliant image #864
  • Openjpeg-2.1.2 Heap Buffer Overflow Vulnerability due to Insufficient check #862
  • Heap Buffer Overflow in function pnmtoimage of convert.c #861
  • CVE-2016-9112 FPE(Floating Point Exception) in lib/openjp2/pi.c:523 #855
  • CVE-2016-5139, CVE-2016-5152, CVE-2016-5158, CVE-2016-5159 #854
  • Undefined Reference error #853
  • opj_compress with lossy compression results in strange pixel values #851
  • CVE-2016-1626 and CVE-2016-1628 #850
  • Out-of-Bounds Write in opj_mqc_byteout of mqc.c #835
  • WARNING in tgt_create tree->numnodes == 0, no tree created. #794
  • Potential overflow when precision is larger than 32 #781
  • division-by-zero in function opj_pi_next_rpcl of pi.c line 366 #780
  • division-by-zero in function opj_pi_next_rpcl of pi.c line 363 #779
  • division-by-zero in function opj_pi_next_pcrl of pi.c line 447 #778
  • division-by-zero in function opj_pi_next_pcrl of pi.c line 444 #777
  • Encoding the following file with 32x32 tiling produces jp2 image with artifact #737
  • division-by-zero SIGFPE error in opj_pi_next_cprl function line 526 of pi.c #732
  • division-by-zero SIGFPE error in opj_pi_next_cprl function line 523 of pi.c #731
  • OpenJpeg 2.1 and 1.4 fails to decompress this file correctly #721
  • MQ Encode :uninitialized memory access when first pass does not output any bytes #709
  • Out-of-bounds read in opj_j2k_update_image_data and opj_tgt_reset function #704
  • Remove opj_aligned_malloc / opj_aligned_realloc / opj_aligned_free? #689
  • There is an issue with rendering some type of jpeg file. Please ref the link. #672
  • Null Dereference in tcd_malloc_decode_tile #657
  • ETS-C1P0-p0_12.j2k-compare2ref & NR-C1P0-p0_12.j2k-compare2base failing under windows #655
  • Memory leak #631
  • Test 481 reports error in valgrind memcheck #612
  • reserved identifier violation #587
  • Buffer overflow when compressing some 16 bits images of the test suite #539
  • Heap-buffer-overflow in opj_dwt_decode_1 #480
  • Automated fuzz testing #468
  • Expected to find EPH marker #425
  • read: segment too long 6182 with max 35872 for codeblock 0 p=19, b=2, r=5, c=1 #284
  • building 64bit version has lots of warnings #244
  • Wrong encoding of small tiles with high level number #239
  • Errors raised in pi.c by VS11 analyzer #190
  • Undocumented optimization found in v2 branch of openjpeg #183
  • T1 optimisations jpeg2000 #172
  • Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() \#761 #955 (rouault)
  • Fix bypass pterm termall and lossless decomposition issue \#891, \#892 #949 (rouault)
  • Escape quotes to ensure README renders on GitHub correctly #914 (alexwlchan)
  • Remove spurious .R macros from manpages #899 (jwilk)
  • Remove warnings related to empty tag-trees. #893 (rouault)

Maintenance-related tasks:

  • Submit OpenJPEG to oss-fuzz #965
  • Updates for Doxygen to suppress warnings #849
  • Remove useless knownfailures since LAZY encoding is fixed #964 (rouault)
  • Enable AVX2 at runtime on Travis-CI and AppVeyor #963 (rouault)
  • Tests: test opj_compress in VSC mode related to \#172 #935 (rouault)
  • Reformat: apply reformattin on .h files \#128 #926 (rouault)
  • Add mechanisms to reformat and check code style, and reformat whole codebase \#128 #919 (rouault)
  • Add profiling of CPU and memory usage \#912 #918 (rouault)
  • Add performance benchmarking scripts #917 (rouault)
  • Fix retrieval of jpylyzer in AppVeyor #915 (rouault)

v2.1.2 (2016-09-28)

Full Changelog

Closed issues:

  • null ptr dereference in convert.c:1331 #843
  • Out-of-Bounds Read in function bmp24toimage of convertbmp.c #833
  • Disable automatic compilation of t1_generate_luts in CMakeLists.txt #831
  • CVE-2016-7163 Integer overflow in opj_pi_create_decode #826
  • Security Advisory for OpenJPEG #810
  • Add dashboard with static lib #804
  • hidden visibility for the static library / building with -DOPJ_STATIC against shared lib #802
  • Optimization when building library from source #799
  • unsigned int16 on Solaris 11.2/sparc #796
  • appveyor #793
  • FFMpeg will not link to 2.1.1 release built as shared library #766
  • API change since v2: opj_event_mgr_t not available #754
  • openjpeg.h needs dependencies #673
  • "master" does not build on ubuntu #658
  • Package 'openjp2', required by 'libopenjpip', not found #594

Merged pull requests:

v2.1.1 (2016-07-05)

Full Changelog

Implemented enhancements:

  • opj_malloc replacement #625
  • backport "-p" and "-force-rgb" options in 1.5 #606
  • Use travis-ci matrix build #581
  • Add Coverity Scan analysis #580
  • Unnecessary rate distortion calculations #479
  • Add images from various security issues to test suite #415
  • Coding speed for 9/7 on 32bits platforms x86/ARM can be improved with a quick fix #220

Fixed bugs:

  • Out-of-Bounds Access in function opj_tgt_reset of tgt.c #775
  • Heap Buffer Overflow in function color_cmyk_to_rgb of color.c #774
  • division-by-zero SIGFPE error in opj_tcd_init_tile function line 730 of tcd.c #733
  • Out-Of-Bounds Read in sycc422_to_rgb function #726
  • Heap Corruption in opj_free function #725
  • Out-Of-Bounds Read in opj_tcd_free_tile function #724
  • Cannot handle box of undefined size #653
  • Compilation fails without platform-supplied aligned malloc #642
  • HP compiler warns about redeclaration of static function #640
  • Implementation-defined behavior of malloc causes different behavior on Linux and AIX #635
  • Build on AIX fails because "opj_includes.h" is included after system headers #633
  • Compiling with SSE2 on Linux 32-bit causes crashes in OpenJPEG #624
  • Build on AIX fails because of "restrict" pointers #620
  • bug in new tif conversion code #609
  • bin/jp2/convert.c line 1085 Resource leak #607
  • bin/jp2/convert.c memory leak #601
  • Resource leak in opj_j2k_create_cstr_index in case of failure #599
  • Resource leak in opj_j2k_encode in case of failure #598
  • Resource leak in opj_j2k_decode_one_tile in case of failure #597
  • Resource Leak #573
  • opj_compress fails to compress lossless on gcc/x86 -m32 #571
  • Use-after-free in opj_j2k_write_mco #563
  • openjpeg-master-2015-07-30 failed to compile on LINUX #556
  • PNG images are always read as RGB(A) images #536
  • g4_colr.j2c not handled properly #532
  • Bigendian: opj_compress + opj_decompress fails #518
  • Suspicious code in j2k.c #517
  • Decode times almost double(!!) on Visual Studio 2013, 2015 #505
  • opj_data/input/nonregression/issue226.j2k #500
  • opj_setup_encoder always returns true #497
  • Double free in j2k_read_ppm_v3 parsing \(presumably invalid image. #496
  • Invalid write in opj_j2k_update_image_data #495
  • Undefined printf format specifier %ud used in code #494
  • Potential double free on malloc failure in opj_j2k_copy_default_tcp_and_create_tcp() #492
  • Do not link with -ffast-math #488
  • Heap-buffer-overflow in opj_dwt_decode #486
  • opj_dump fails on Windows 7, 64 bits #482
  • SIGSEGV in opj_j2k_update_image_data via pdfium_test #481
  • Heap-buffer-overflow in opj_j2k_tcp_destroy #477
  • Invalid image causes write past end of heap buffer #476
  • Assertion `l_res->x0 >= 0' fails when parsing invalid images #475
  • Bug on opj_write_bytes_BE function #472
  • Refactor j2k_read_ppm_v3 function #470
  • compression: strange precinct dimensions #466
  • :- Console message in opj\_decompress -: #465
  • opj_decompress fails to decompress any files #463
  • bio->ct is unnecessarily set to zero in opj_bio_flush method #461
  • Maximal unsigned short is 65535, not 65536 #460
  • OpenJpeg fails to encode components with different precision properly #459
  • component precision upscaling isn't correct in opj_decompress #458
  • Multiple precision components won't get encoded to jp2 if 1 component is unsigned 1 bit #457
  • Incorrect code in ../bin/jp2/convert.c, function rawtoimage_common(...) #456
  • OpenJPEG-trunk
  • NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5 fails randomly when running tests in parallel #454
  • compare_raw_files doesn't report an error on invalid arguments / missing input files #453
  • Forward discrete wavelet transform: implement periodic symmetric extension at boundaries #452
  • Bug in tiff reading method in convert.c #449
  • Image in pdf don't display #447
  • Multiple issues causing opj_decompress to segfault #446
  • opj_compress: 40% of encode time is spent freeing data #445
  • Multiple warnings when configuring OpenJPEG on MacOS with CMake 3.x trunk #443
  • valgrind memleak found #437
  • global-buffer-overflow src/lib/openjp2/t1.c:1146 opj_t1_getwmsedec #436
  • Warning introduced on trunk r2923 & r2924 #435
  • heap-buffer-overflow in opj_t1_decode_cblks #432
  • Heap-buffer-overflow in opj_tcd_init_decode_tile #431
  • Heap-buffer-overflow in opj_j2k_tcp_destroy #430
  • Heap-buffer-overflow in opj_jp2_apply_pclr #429
  • issue412 revisited #428
  • Image distorted sides look cankered #423
  • openjpeg-2.x-trunk-r2918 is broken in color.c #422
  • Heap-buffer-overflow in opj_tcd_init_decode_tile #420
  • Heap-use-after-free in opj_t1_decode_cblks #418
  • UNKNOWN in opj_read_bytes_LE #417
  • Transparency problem #416
  • Image with per channel alpha cdef does not decode properly #414
  • OpenJPEG crashes with attached image #413
  • Palette image with cdef fails to decompress #412
  • Invalid member values from opj_read_header or opj_decode ? #411
  • MD5 Checksum hangs under valgrind on MacOS X #410
  • Heap-buffer-overflow in opj_tcd_get_decoded_tile_size #408
  • C++ style comments in trunk/src/lib/openjp2/j2k.c #407
  • Backport bugfixes from trunk to 2.1 branch #405
  • Heap-buffer-overflow in parse_cmdline_encoder #403
  • Heap-buffer-overflow in opj_v4dwt_interleave_h #400
  • Heap-buffer-overflow in opj_dwt_decode #399
  • Heap-use-after-free in opj_t1_decode_cblks #398
  • Heap-buffer-overflow in opj_jp2_apply_cdef #397
  • Heap-buffer-overflow in opj_t2_read_packet_header #396
  • Heap-buffer-overflow in opj_t2_read_packet_header #395
  • Heap-buffer-overflow in opj_dwt_decode_1 #394
  • Heap-double-free in j2k_read_ppm_v3 #393
  • Security hole in j2k.c #392
  • Security: double-free in opj_tcd_code_block_dec_deallocate #391
  • check for negative-size params in code #390
  • Heap-buffer-overflow in opj_t2_read_packet_header #389
  • Heap overflow in OpenJpeg 1.5.2 #388
  • openjpip.so.6 file too short #387
  • Corrupted JP3D file #386
  • variable assigned to itself #383
  • Null pointer dereferencing #382
  • bad use of case statement #381
  • Release 2.1 as a Ubuntu package #380
  • Bug in libopenjpwl.pc #374
  • inconsistent tile numbering in decode output message #370
  • error in code block calculations #369
  • r2872 fails to compile due to "attempt to use poisoned malloc" error in j2k.c #368
  • OSX build gives libopenjp2.6.dylib with not-absolute install name id #367
  • opj_decompress gives error but successfully decompress in OPJ 2.1 #366
  • pngtoimage() and imagetopng() have wrong byte order for 16-Bit image #365
  • PDF crash in chrome - part2 due to attachment limit #364
  • PDF crash in chrome - part1 #363
  • PDF crash in chrome - part0 #362
  • Compilation fails on Windows with mingw32 gcc4.8 #361
  • security issue #360
  • improve memory management #359
  • how to compress a yuv420 raw data using opj_compress #357
  • Some memory allocation are not checked #355
  • Static library symbols shall be marked as hidden #354
  • opj_compress rejects valid bmp files #353
  • opj_compress crashes when number of resolutions is set to zero #352
  • Compilation error under Visual Studio 2003 #351
  • opj_compress description example error [Low priority] #350
  • opj_write_bytes_BE is wrong in trunk #345
  • PART1ONLY option in release.sh doesn't work properly #332
  • openjpeg crash error #330
  • openjpeg decompress error #329
  • openjpeg decompress issue #326
  • limited tif support #322
  • asoc value of 65536 is allowed #321
  • opj_skip_from_file error #314
  • Heavy quota usage in openjpeg #309
  • Verify -help actually match letter #307
  • g3_colr.j2c not handled #288
  • reopen/fix issue 165 #280
  • kakadu conformance tests #279
  • missing break after case statement in opj_dwt_decode_real #274
  • Run Coverity on trunk #270
  • NR-ENC-random-issue-0005.tif-12-encode #259
  • Use new add_test signature to handle cross compilation #258
  • Loss decoding quality in 2.0.0 #254
  • Decompress that worked in 1.5.1 fails in 2.0 #252
  • Expected endianness with raw input is not documented leading to SEGFAULT #251
  • OpenJPEG writes to stderr #246
  • Inconsistent logging of tile index #245
  • patch for openjpeg-trunk-r2347 and BIG_ENDIAN #242
  • CMAP: MTYP == 0 direct use not handled properly #235
  • Black Pixel #233
  • opj_compress runtime error after fresh Linux install due to apparent failure to execute ldconfig #219
  • openjp2 debug works, release build does not #217
  • openjpeg-branch15-r2299 and openjpeg-trunk-r2299 fail to decode a JP2 file #212
  • openjpeg-trunk issue with Win7 #201
  • undefined reference to `opj_version' #200
  • In tgt.c we used fprintf not the openjpeg message reporter #184
  • Windows binaries not working under WinXP #176
  • add ability to use intel ipp performance primitive within OpenJPEG #164
  • Migration guide v2 #160
  • Cannot decompress JPEG2000Aware3.18.7.3Win32_kdutranscode6.3.1.j2k #158
  • Cannot decompress JPEG2000Aware3.18.7.3Win32.j2k #157
  • openjpeg@googlegroups.com has disappeard #153
  • OpenJPEG 1.5.0 crashes on a ridiculously big file... #151
  • opj_image vs free #146
  • Windows .dll file invalid #140
  • Problem with second layer of a 2 layer coded LRCP with precincts #135
  • version 1.4 crashes when opening PDF file with JPEG2000 images #133
  • Setup a win64 dashboard #132
  • J2KP4files/codestreams_profile0/p0_13.j2k question jpeg2000 #131
  • Out of memory: Kill process 11204 opj\_server score 917 or sacrifice child #123
  • FILE* in opj API is unsafe #120
  • third-party lib order #119
  • openjpeg-1.5.0-Darwin-powerpc.dmg is huge ! #113
  • misleading info in JP2 box lead to wrong number of components #110
  • Image_to_j2k says that j2k files is generated but no file is on the HDD #109
  • Error in openjpegV1.4 on compiling image_to_j2k: crash on reading bmp file #108
  • Update to abi-compliance-checker 1.96 #106
  • Decode error on the attached JPEG...works in KDU and with JASPER...please help! #101
  • Mac binaries v1.4 is broken #95
  • jp2_read_boxhdr() has size bug in version 1 #92
  • Support for Java JAI Imageio #90
  • encoding test failing #86
  • source archive on demand #85
  • CMakeLists.txt and Makefile.am for JPIP are buggy #84
  • pclr-cmap-cdef #82
  • Error when compiling openjpeg_v1_4_sources_r697 #79
  • J2K codec issue on Windows Mobile #77
  • image_to_j2k.exe crashes on large .bmp file #75
  • fatal error C1900 building the project on windows #65
  • same option but different size #54
  • Missing openjpegConfigure.h #38
  • Not an issue in openjpeg, but ... #37
  • OpenJPEG-1.3.0 pclr, cmap and cdef #27
  • realloc maybe too big t2.c #26
  • libopenjpeg/opj_malloc.h breaks on FreeBSD/Darwin systems #20
  • image_to_j2k not outputting to win32 console properly #18
  • OpenJPEG
  • JP2 Color Space modification by Matteo Italia #13
  • Patch submission exotic video formats, and a few things #12
  • 16 bits lossy compression #10
  • pnm file formats not accepting bitdepth greater than 8 bpp #8
  • Heap corruption in j2k encoder #5
  • JPWL crash in marker reallocation(+patch), segfault while decoding image with main header protection #4
  • a couple of small errors in libopenjpeg detected by coverity #1

Closed issues:

  • Shared library build broken on ubuntu #728
  • opj_includes.h shouldn't define \_\_attribute\_\_ #727
  • Possible website problems due to Jekyll upgrade #713
  • Stable Release? #712
  • Meta Issue : try to fix some of these critical bugs before thinking about optimizing the library #710
  • Tiled encoding broken for images with non power of 2 dimensions #702
  • install_name still not set on OS X #700
  • Add section in wiki describing where one can get test images #699
  • Make EvenManager into singleton #698
  • Remove old branches from repo #696
  • MQ Coder encode: Conditional jump or move depends on uninitialised value(s) #695
  • Can we add these files to our test suite ? #688
  • -t and -d command line flags for decode are not documented on OpenJPEG website #685
  • Decoding at the precinct level #676
  • Support unscaled 10 bit data for 2K cinema @ 48 FPS, as per DCI standard #671
  • Use parallel jobs in ctest #664
  • Security
  • lossy encoding a 16 bit TIF file : severe artifiacts in decompressed image #660
  • opj_compress and opj_decompress : get_next_file method uses hard-coded unix path separator #630
  • Uninitialized variable #629
  • Use of enum variable for bit flags prevents compilation as C++ source #619
  • Serious problem with quantization during lossy encoding #615
  • Decompression does not work with sequential data source #613
  • potential overflow in opj_tcd_tile_t #605
  • Logical condition #596
  • file9.jp2 does not dump correctly on 1.5 #595
  • opj_compress man page is missing documentation of -jpip option #593
  • opj_compress fails to compress lossless on gcc/x86 -m32 in 1.5 branch #591
  • Example: opj_compress -i image.j2k -o image.pgm #577
  • Mismatching delete #575
  • Compilation fails on Win7 #546
  • NR-JP2-file5.jp2-compare2base fails with third party libcms #540
  • CTest spits out an error at the end of the test run #516
  • opj_uint_adds() is questionable #515
  • Might consider renaming this method: #491
  • opj_compress run twice gives different fiile sizes for same file #490
  • Android Support #483
  • Add SSE2/SSE41 implementations for mct.c #451
  • Reduce encoder code block memory usage for non 64x64 code block sizes #444
  • valgrind "Uninitialized Memory Read" & "Uninitialized Memory Conditional" found #438
  • No way to debug opj_tcd_init_encode_tile or opj_tcd_init_decode_tile #433
  • Add option to call dsymutil on built binaries #409
  • Allow opj_compress and opj_decompress to read/write images over stdin/stdout #379
  • reduce memory significantly for single tile RGB encoding #375
  • Switch code repo to github and start using pull request workflow #373
  • This is a BigTIFF file. This format not supported #125
  • Add a test suite to check the convert functions #99
  • Add build config to the dashboard to verify the autotools build #88

Merged pull requests:

version.2.1 (2014-04-29)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.2.0.1 (2014-04-22)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.1.5.2 (2014-03-28)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.2.0 (2014-03-28)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.1.5.1 (2012-09-13)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.1.5 (2012-02-07)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.1.3 (2011-07-03)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.1.4 (2011-07-03)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.1.2 (2007-06-04)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

version.1.1 (2007-01-31)

List of fixed issues and enhancements unavailable, see NEWS or Full Changelog

* This Change Log was automatically generated by github_changelog_generator