* Wed Nov 30 2022 Steve Kowalik <steven.kowalik@suse.com>
- Remove unneeded BuildRequires on python 2.
* Wed Jun 30 2021 Bernhard Wiedemann <bwiedemann@suse.com>
- Stop building with march=native (boo#1100677)
* Wed Apr 28 2021 Martin Pluskal <mpluskal@suse.com>
- Update to version 1.2.1+git.20201230:
* fix #122 by setting compiler flags to safer default without march=native optimizations
* fix #144
* Tue Feb 18 2020 Martin Pluskal <mpluskal@suse.com>
- Update to version 1.2.1+git.20190820:
* Fix #125
* Mon May 27 2019 Martin Pluskal <mpluskal@suse.com>
- Update to version 1.2.1+git.20190517:
* Correctly check if CXXFLAGS is set
* Include <functional> to fix build failure on Windows
* fix warnings, fix #36
* fix #111
* fix #114 by checking for header payloads greater than max file size
* some additional checks to prevent an infinite loop when presented with certain corrupt files. Also fixing CI.
* make automake not to install `test_invariants'
* Wed Nov 21 2018 Martin Pluskal <mpluskal@suse.com>
- Update to version 1.2.1+git.20180824:
* only assert similarity of last_dc if segment_size > 1 since the overhang byte will clobber any incorrect value
* only exit on encode for items that could hazard a divide by zero on decode
* relax strictness in singlethreaded decompression mode, otherwise we are checking items that multithread mode cannot validate
* check hpos before reading from hdrs-size array
* initialize hdr memory to zero when allocating
* Fix #110 by providing a more explicit error message
* fix permissive mode on windows
* Fri Apr 13 2018 mpluskal@suse.com
- Update to version 1.2.1+git.20180410:
* support one version future, so we can roll out smoothly
* do not trust 16 bit length value to stay below the header length
* Fri Feb 09 2018 mpluskal@suse.com
- Update to version 1.2.1+git.20180111:
* include version.hh from generic compressor
* process md5 of entire input, even if subprocess fails. cap out max generic lepton file at 32 megs: users can concatenate files to make larger generic files
* turn on seccomp for generic lepton compression
* Relax criteria for Huffman table existence check
* Fix #101 by allowing a permissive flag to accept any type of nonstandard jpeg and create a valid lepton file to represent a bitexact copy of the nonstandard jpeg
* integrate concatenation test suite into the make check system
* test suite for new mechanisms
* fix concatenation of permissive lepton files
* better header allowing for multithreaded decoding of the jpeg
* more permissive with small files and no random SIGPIPE or other hurried subprocess error codes from larger ones
* prototyping a new version of lepton that can compress arbitrary images or files by having a fallback path to encode data in a passthrough manner
* unless EOF reached, read next header in addition to the current buffer--this lets us consume all data even if we never have a desire to read past the end
* put ANS behind an experimental feature flag
* Have all inter-thread communication use the same length buffers so we can distinguish between extra data after threads have closed and new types of work
* tweaks to observation and update paremeters to make them slightly faster
* initialize last pointer for packet reader
* this worked a little too well.. call me skeptical
* instantiate some ans functions
* tests pass by keeping the boolwriters in scope until threads have been joined upon: do so by refactoring function so duplicate code would be in thhreaded_encode_inner and ANSBoolWriter can also lean on that templatized function
* Add BoolDecoder and BoolEncoder as template arguments rather than as toplevel defines. This required a significant amount of threading of the BoolDecoder through each of the state classes
* add unit test for ans bool reader and writer
* move to 512 resolution probability space (considering reducing resolution on 256 instead--but lets get correctness first
* simplify some of the flushing behavior
* link to ANS encoder
* avoid required size from zlib0 plugin
* Thu Oct 19 2017 mpluskal@suse.com
- Update to version 1.2.1+git.20171018:
* Fix #91 by adding asserts that the garbage data is never more or equal to the full file size
* Fix #90 by checking for nonzero width/height
* deal with malformed lepton files that have incorrect ThreadHandoff sizes
* Fix #95 by adding a workaround for GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81015 that breaks builtin_clz. Also made every run of lepton error out if bitlen(1024) != 11
* pin local brotli dep
* first cut at brotli support
* add missing files
* fix brotli compression: add test for brotli header compression
* quality 9 uses too much memory--move to quality 10--which seems to be more acceptible for memory consumption
* can now produce a .lep file that represents a file with a single embedded jpeg within
* fix verification to properly understand embedded files (by blanking out the -embedding command line flag on decode) on OSX and linux. Add a test for embedding
* add an EOF marker at the end of any stream, so that we don't intrude upon concatenated lepton files
* process files one-by-one if they are concatenated together. Current failure upon threads reading second work-items
* resetting works for concatenation of 2x the same file
* fix single-threaded decode of two copies of the same image concatenated
* clear grbgdata and prefix data between runs
* proper deallocation of grbgdata
* account for some variations between the first and second file by calling reset_buffers
* clear min_noise_threshold if it would be <= 0, so that a second runthrough doesn't reuse previously set values
* allow number of threads to taper off over time
* max and min encode threads so you can force a particular thread count for a file....will help with multi-file concatenations where you want a single thread count everywhere
* get rid of printf
* do not specify a thread count outside [minthread,maxthread] range
* fix some memory leaks between decodes of concatenated lepton files
* teach lepton to understand concatenated huffman tables, JPEG headers, prefix or postfix junk etc...
* lepcat mode that can concatenate two .lep images together in a more efficient way by putting all header material in the same place
* checks to make sure files are compatible before concatenation
* Move concatenation code into its own header
* fix llvm build
* allow more than 2 files to be concatenated
* fix undefined behavior in brotli bit reader, fix allocator type, and have a better strategy for picking a max size for brotlic ompression
* fix for threads having no work and more even work split by row count rather than by bit density
* revert thread splitting change for version 1 lepton
* default to old thread splitting strategy
* don't allocate extra memory if zlib0 output is selected
* Thu Apr 13 2017 mpluskal@suse.com
- Update to version 1.2.1+git.20170405:
* explicitly make padbit signed. Try to fix some quirks in cmake for powerpc
* make autotools use sane default compiler flags if none are provided in the command line
* on ppc when -std=c++11 is defined, the __linux macro goes away
* added documentation to seeming typo
* fix #87 : always check that threads_required set up the appropriate number of threads---fire off nop functions on unused threads for consistency
* check divide by zero, fixing #86
* only build -scalar in ppc case
* Tue Mar 28 2017 mpluskal@suse.com
- Update to version 1.2.1+git.20170328:
* Fix #85 32 bit platform support
* Thu Mar 16 2017 mpluskal@suse.com
- Update to version 1.2.1+git.20170311:
* Cleaned up cmake config. CMake Config was messy, it is less so now Fixed inconsistent case usage Fixed indentation
* Get lepton building with emscripten + cmake
* Add a lepton-scalar target
* Reduce memory usage by disabling custom malloc under emscripten, enabled -O2 optimizations (only work for lepton-scalar)
* Added a javascript wrapper for the emscripten compiled lepton-scalar
* added scalar checks to ./configure and to travis.yml
* added config options to force standard memory allocators and adjust seccomp rules accordingly
* be explicit about if a dev_assert happens versus a always_assert... demote any assert() that's costly to dev_assert
* add billing as an option independent of NDEBUG
* added a PacketReader interface to allow for streaming of data into the vpx_reader
* change rand to simply use modular arithmetic for the test reader class
* make the streaming work for single threaded case
* intrusive list nodes
* use correct thread_id for setting up the packet readers
* plumb the thread communication through the whole stack. Ugly init semantics for SendToVirtualThread state)
* getting close: initialize the bool decoder later, when the streams are available
* make single thread work again for progressive files
* added baseline version of the progressive reading of data
* remove some debug printouts:
* remove preload of the mux_reader, since that is allocated bit-by-bit
* receive data queued up in batches from the main thread, if available
* trying to make a unified model where every thread is treated equally, and thus can finish at a more similar timestamp
* fix singlethread progressive case
* make unified framework operate with progressive files...both single threaded and multi
* give the first worker its own full thread to fully decouple the I/O with the processing so that we don't starve the other workers
* set the thread mapping before kicking off the first thread
* setup memmgr with right number of threads
* added test of an image encoded with more threads than available by default
* fix multithreaded issue when more virtual threads exist than workers
* remove the legacy nonunified thread model code, coalesce single-threaded code in the recode.cc case
* simplified the decode_chunk progressive inner loop
* startup all threads before waiting for them to start
* wipe pthread
* fewer assert statements... simpler reasoning?
* Include a copy of the Apache license
* added a test for failing round trip
* prewarm get_nprocs for ubuntu12.04 compatibility with using posix_memalign under seccomp filters
* this should make perf significantly worse; but it gets better... unclear why
* Added a benchmark mode for lepton take filename as arg instead of including it... the reasonable include in smalljpg.hh is sufficient benchmark to produce meaningful stats
* use std::mutex instead of std::atomic for thread synchronization when STANDARD_MEMORY_ALLOCATORS are on...this helps race detection tools and is simpler to reason about.
* no longer define __APPLE__ to isolate threads
* added some extra error handling and fixed a loop for decoding of progressive zero runs
* add some initialization to constructors to make it easier to reason about. Also set EOBrun to better detect runs
* remove buffer leak from benchmark
* allow benchmark to finish early if you want to test less system load
* windows support
* between logical threads, never assume previous thread overran its bound
* prewarm get_nprocs for ubuntu12.04 compatibility with using posix_memalign under seccomp filters
* Fixed benchmark to work with custom allocators. Also added better help explanations to the help output display
* minor changes to make unused items only defined when they are used
* better help message on windows
* Sun Dec 18 2016 mpluskal@suse.com
- Update to version 1.2.1+git.20161213:
* Ensure proc.terminate() is called after unit test
* ioutil: poll.h -> sys/select.h
* close opened file descriptors properly
* Revert "close opened file descriptors properly"
* resource leak: fp
* Fix posix_memalign call
* Added missing 'defined'.
* fix uninitialized variable
* Fri Oct 21 2016 mpluskal@suse.com
- Update to version 1.2.1+git.20160921:
* make sockettester and forktester python3 compatible
* Ensure proc.terminate() is called after unit test
* ioutil: poll.h -> sys/select.h
* close opened file descriptors properly
* Revert "close opened file descriptors properly"
* resource leak: fp
* Fix posix_memalign call
* Added missing 'defined'.
* Thu Aug 25 2016 mpluskal@suse.com
- Update to version 1.2.1+git.20160813:
* ioutil: poll.h -> sys/select.h
* close opened file descriptors properly
* Thu Aug 04 2016 mpluskal@suse.com
- Update to version 1.2.1+git.20160802:
* Added wrapper libraries section to README
* formatting
* rename it to LICENSE.md
* removing the extension
* fixes for #47 : i386 compat
* Add php bindings notice to README.md
* make sockettester and forktester python3 compatible
* Ensure proc.terminate() is called after unit test
* Tue Jul 19 2016 mpluskal@suse.com
- Update to version 1.2.1+git.20160718:
* /build for .gitignore
* 64-bit-related fixes
* Win32 build improvements
* Fixed types to be 32-bit in all cases, fixed comments
* Unified types
* remove unused components of zlib
* it builds now, but will it run; the way things are going I don't know...
* Fri Jul 15 2016 mpluskal@suse.com
- Initial package for version 1.0