File ChangeLog-exact-image of Package exact-image
*) 2013-08-19
Rene Rebe:
r1866 * updated WIP version to 0.8.10
r1865 * tagged 0.8.9
*) 2013-08-18
Rene Rebe:
r1864 * improved / fixed BMP resolution rounding
*) 2013-08-13
Rene Rebe:
r1863 * further polish dcraw includes
*) 2013-08-10
Rene Rebe:
r1862 * allow edentify to use the same decompression argument as econvert, likewise
r1861 * fix new dcraw to compile on more, newer, Linux systems
*) 2013-08-09
Rene Rebe:
r1860 * updated dcraw and associated translation macros and glue code to
latest upstream (8.89 -> 9.19)
*) 2013-07-19
Rene Rebe:
r1859 * accept and re-write 16 bit per channel, 48 bit RGB BMP files
*) 2013-07-01
Rene Rebe:
r1858 * non-POD variable length arrays for clang, likewise
*) 2013-06-29
Rene Rebe:
r1857 * indent latest Colorspace change
*) 2013-06-28
Rene Rebe:
r1856 * allow to specify the weight for rgb to gray conversion
*) 2013-06-23
Rene Rebe:
r1855 * cast booleans for latest libjpeg/GCC?
*) 2013-06-20
Rene Rebe:
r1854 * added missing header for newer GCC on Posix
r1851 * adapt econvert for new dither API, likewise
r1850 * adapted empty-page to minor api extension
Sven Eckelmann <sven@narfation.org>:
r1853 * fix "characters" spelling error
r1852 * don't write outside tga signature array
*) 2013-06-13
Rene Rebe:
r1849 * adapt riemersma dither to take the image directly, likewise
r1848 * remove unused variable
r1847 * allow for differing horizontal vs. vertical margins for empty-page detection
*) 2013-06-09
Rene Rebe:
r1846 * use new generic histogram for optimize2bw
*) 2013-05-30
Rene Rebe:
r1845 * port dithering to newer generation iterator, allows to dither
alpha channels, 16bit or float types, etc.
r1844 * prepare to modernize our dithering implementation
*) 2013-05-27
Rene Rebe:
r1843 * added generic histogram computation
*) r1842 | (no author) | (no date) | 1 line
*) r1841 | (no author) | (no date) | 1 line
*) r1840 | (no author) | (no date) | 1 line
*) 2013-02-15
Rene Rebe:
r1839 * bump version to 0.8.9
r1838 * tagged 0.8.8
*) 2013-02-12
Rene Rebe:
r1837 * fixed another file for pre-C99 compilers
r1836 * fixed off-by-one in histogram container size
*) 2013-02-08
Rene Rebe:
r1835 * speedup scale a bit more
r1834 * speedup rotate a bit
*) 2012-11-26
Rene Rebe:
r1833 * fixed in-memory BMP decoding for color table offset
*) 2012-11-08
Rene Rebe:
r1832 * fix out of bounds access during image scaling using M$ cc
*) 2012-11-07
Rene Rebe:
r1831 * don't use obsolete types
*) 2012-06-30
Rene Rebe:
r1830 * putting the realloc logic in resize was not a wise idea,
* instead add a dedicated Image::realloc method, ...
*) 2012-06-21
Rene Rebe:
r1829 * implemented _nn sampled rotate for the fun of it
*) 2012-06-04
Rene Rebe:
r1828 * added 10 arg codegen
*) 2012-05-25
Rene Rebe:
r1827 * added an optional resize bool argument to force reallocation of the image data
*) 2012-05-24
Rene Rebe:
r1826 * realloc memory in more function to optimize memory utilization
*) 2012-05-14
Rene Rebe:
r1825 * removed a stray double semicolon
*) 2012-04-25
Rene Rebe:
r1824 * avoid excess precision in rotate functions, help small scale CPUs
*) 2012-04-04
Rene Rebe:
r1823 * missing <vector> includes as reported by Debian
r1821 * include unistd.h for usleep(), as reported by Debian
Sven Eckelmann <sven@narfation.org>:
r1822 * improve TARGA file format misdection, my making sure we probe them last
*) 2012-03-18
Rene Rebe:
r1820 * more modern Colorspace type
r1819 * cleaned up Matrix whitespace
*) 2012-02-11
Rene Rebe:
r1818 * bump version to 0.8.8
r1817 * tagged 0.8.7
*) 2011-12-19
Rene Rebe:
r1816 * update (c) year, likewise
r1815 * added colorspace_argb8_to_rgb8 conversion, export both low-level (a)rgb(a) converters
*) 2011-11-21
Rene Rebe:
r1814 * allow negative crop offsets, for compatibility and toll-free underflow handling
*) r1813 | (no author) | (no date) | 1 line
*) 2011-10-25
Rene Rebe:
r1812 * fixed subtile eight arg codegen_return typo
r1811 * added eight argument codegen_return
*) r1810 | (no author) | (no date) | 1 line
*) r1809 | (no author) | (no date) | 1 line
*) 2011-07-13
Rene Rebe:
r1808 * wired up tiff codec packbits compression, likewise
*) r1807 | (no author) | (no date) | 1 line
*) r1806 | (no author) | (no date) | 1 line
*) 2011-07-01
Rene Rebe:
r1805 * moved TIFF ctor/dtor to .cc, as well as some other stylistic cleanups
*) 2011-06-30
Rene Rebe:
r1804 * don't check for rare, and unused tiff cxx header
r1803 * no longer link with rare, and unused tiff cxx wrapper
*) 2011-06-16
Rene Rebe:
r1802 * fixed denoise for 64bit builds
*) 2011-06-14
Rene Rebe:
r1801 * bumped version to 0.8.7
r1800 * tagged 0.8.6
r1799 * extended the simple vector font drawing API to indicate an error
if the font could not be loaded
*) 2011-06-13
Rene Rebe:
r1798 * avoid explicit file header size, the compiler knows the size of the struct anyway
r1797 * fix some BMP memory corruption introduced in earlier cleanups,
without loosing the common case, RGB24 allocation optimization
r1796 * fix jump accross initializer introduced in the last revision of the BMP codec
r1795 * some more C++-style polish for the BMP codec
* optimize memory allocation in the BMP codec
r1794 * improved BMP codec to allow reading in-memory Bitmaps without file header
* some C++-style cleanups
*) r1793 | (no author) | (no date) | 1 line
*) r1792 | (no author) | (no date) | 1 line
*) 2011-04-28
Rene Rebe:
r1791 * bumped to next version 0.8.6
r1790 * tagged 0.8.5
r1789 * removed unfinished, complex, easy to segfault canvas copy
r1788 * always expose font API in the vectorial header, not only when freetype is used
r1787 * added cast needed for recent compilers
*) r1786 | (no author) | (no date) | 1 line
*) 2011-01-14
Rene Rebe:
r1785 * support reading raw image with undefined height set to -1
r1784 * fixed econvert frontent raw image data loading, functionatliy
accidently lost during the multi-file re-write, ...
r1783 * added a nice warning indicator to the raw image loader,
instead of just inf. looping on undefined images w/ 0 size
*) r1782 | (no author) | (no date) | 1 line
*) r1781 | (no author) | (no date) | 1 line
*) 2010-11-21
Rene Rebe:
r1780 * bump WIP version to 0.8.5
r1779 * tagged 0.8.4
r1778 * fixed two types in declarations for latest gcc flavours
*) r1777 | (no author) | (no date) | 1 line
*) r1776 | (no author) | (no date) | 1 line
*) 2010-11-02
Rene Rebe:
r1775 * improved the bmp codec to fail immediately on an error writing out any scanline
*) 2010-10-31
Rene Rebe:
r1774 * remove some unused header and namespace usage
*) 2010-10-25
Rene Rebe:
r1773 * oh, we touched the files, so update the Copyright
*) r1772 | (no author) | (no date) | 1 line
*) r1771 | (no author) | (no date) | 1 line
*) 2010-10-23
Rene Rebe:
r1770 * fixed an undefined Makefile module name
*) 2010-10-21
Rene Rebe:
r1768 * stop working around broken compilers
*) r1767 | (no author) | (no date) | 1 line
*) r1766 | (no author) | (no date) | 1 line
*) r1765 | (no author) | (no date) | 1 line
*) r1764 | (no author) | (no date) | 1 line
*) r1763 | (no author) | (no date) | 1 line
*) r1762 | (no author) | (no date) | 1 line
*) r1761 | (no author) | (no date) | 1 line
*) 2010-10-20
Rene Rebe:
r1760 * added 2 more barcodes
*) r1759 | (no author) | (no date) | 1 line
*) r1758 | (no author) | (no date) | 1 line
*) 2010-10-20
Rene Rebe:
r1757 * bumped working version to 0.8.4
r1756 * tagged 0.8.3
r1755 * removed unused debug defines
*) r1754 | (no author) | (no date) | 1 line
*) r1753 | (no author) | (no date) | 1 line
*) 2010-10-18
Rene Rebe:
r1752 * added support for newer evas versions
r1751 * we are not in early drafting anymore, so remove the bugs to: moniker, rather promote our URL
*) r1750 | (no author) | (no date) | 1 line
*) 2010-10-13
Rene Rebe:
r1749 * fix last commit implementation detail format vs mode, char vs int
r1748 * fixed pnm codec for 1bit ascii files (defined TIFF-like MIN IS WHITE)
*) 2010-10-12
Rene Rebe:
r1747 * make TIFFCodec implementation detail private, again, now that we are not hijacking it anymore
*) 2010-09-21
Rene Rebe:
r1746 * bump version to 0.8.3
r1745 * tagged 0.8.2
*) 2010-09-20
Rene Rebe:
r1744 * make the sample cound explicitly available in the new iterators
r1743 * allow indexing into iterator2 components
*) 2010-09-16
Rene Rebe:
r1742 * fixed Height vs. Width typos in API binding example scripts
*) 2010-09-01
Rene Rebe:
r1741 * added another "supposedly tested" mark
*) 2010-08-30
Rene Rebe:
r1740 * removed unfinished and defect prototype code form the release branch
*) 2010-08-29
Rene Rebe:
r1739 * optimized rgba to gray down-scaling with custom shortcut code path
*) 2010-08-25
Rene Rebe:
r1738 * one more omp test
r1737 * fixed econvert multi input file error indication
r1736 * some more omp testing
r1735 * added an illustrating omp example
r1734 * fixed an indenting space
*) 2010-08-19
Rene Rebe:
r1733 * improved bw optimization by allowing to skip of the sharpening
phase by specifing a radius of 0
*) 2010-07-22
Rene Rebe:
r1732 * added a static linking option
*) 2010-06-18
Rene Rebe:
r1731 * remove stray "y" in usage output
r1730 * bump BMP codec copyright year
r1729 * adapted PCX codec for foreign compilers, likewise
r1728 * adapted BMP codec for foreign compilers, likewise
*) 2010-06-10
Rene Rebe:
r1727 * further improve the JPEG EXIF parsing
*) 2010-06-01
Rene Rebe:
r1726 * fixed python install to mkdir the same python libdir as we install into
*) r1725 | (no author) | (no date) | 1 line
*) 2010-05-18
Rene Rebe:
r1724 * bumped version to 0.8.2
r1723 * tagged 0.8.1
*) r1722 | (no author) | (no date) | 1 line
*) 2010-05-17
Rene Rebe:
r1721 * changed JPEG EXIF tag length from 32 to 16 bits
r1720 * adapted configure script for perl 5.10.*
*) r1719 | (no author) | (no date) | 1 line
*) 2010-05-13
Rene Rebe:
r1718 * fixed some Iterator2 setRGB value vs. references
*) 2010-05-12
Rene Rebe:
r1717 * codege_return with one argument
*) 2010-05-11
Rene Rebe:
r1716 * added support for absolute values in the ImageIterator2
r1715 * added support for relative lines
*) r1714 | (no author) | (no date) | 1 line
*) 2010-05-03
Rene Rebe:
r1713 * remove note to LGPL from the LICENSE
*) r1712 | (no author) | (no date) | 1 line
*) 2010-04-29
Rene Rebe:
r1711 * more deterministic denoise
*) 2010-04-23
Rene Rebe:
r1710 * float precision text placement, and new gravity offset (heck, this
ad-hoc parsing doesn't really scale, we need a full-blown geometry
parser sooner than later!)
r1709 * improved the strokeWidth argument handling to allow drawing mixed, stroked and filled text with a single econvert invocation
*) r1708 | (no author) | (no date) | 1 line
*) 2010-04-13
Rene Rebe:
r1707 * polish luminance handling in the 2nd iterator
*) 2010-04-09
Rene Rebe:
r1706 * do not log the blur radius
*) 2010-04-05
Rene Rebe:
r1705 * dynamically determine the python site-prefix
*) 2010-03-30
Rene Rebe:
r1704 * bumped version to 0.8.1
r1703 * tagged 0.8.0
r1702 * bump to the evas version check to the version that got the xcb related .connection glue
r1701 * prepare edisplay to build with display vs. connectino support
r1700 * fix econvert argument --help typos
*) r1699 | (no author) | (no date) | 1 line
*) 2010-03-24
Rene Rebe:
r1698 * updated copyright boilderblate on agg/vectorial files while reviewing reported SVG issues
r1697 * prevent svg codec from crashing for invalid path bounding boxes
*) r1696 | (no author) | (no date) | 1 line
*) 2010-03-24
Rene Rebe:
r1695 * some copyright boilderplate updates
r1694 * no error on --help in optimize2bw, likesie
r1693 * improve empty-page to not report parser error for --help, allow
-h, likewise
r1692 * improve e2mtiff usage to note missing residual input filesnames and
let the usage help note it as well
* immediately print the usage when --help is specified, allow -h as well
*) 2010-03-09
Rene Rebe:
r1691 * fixed econvert --text to correctly appear on all pages
*) 2010-03-05
Rene Rebe:
r1690 * removed some new, multi-page TIFF write logging (with typos :-), likewise
r1689 * warn about unbalance filenames in optimize2bw, likewise
* remove some stray debug logging
r1688 * implement real multi-page file output for optimize2bw
r1687 * save a line of code initializing the e2mtiff image count, moving it into the loop body
r1686 * fixed memory leak in convolution matrix optimization
r1685 * improved optimize2bw to work on multiple input and output files
r1684 * extend multi-image suport in e2mtiff:
* use the new codec methods (no custom C, libtiff state "hack")
* read all imagess from the input file's codec
r1683 * finalized multi-image support
r1682 * implemented wiring the stack of images to multiple, single-image output files, warn if the counts don't map
*) 2010-03-03
Rene Rebe:
r1681 * initial groundwork for multi-image (page, thumbnail, etc.) support
in the image codecs, mostly source backward compatible
* improved econvert, edisplay for the new "more than one image per
file" support, identify and process all of them
r1680 * save some bytes in the TIFF file by ommitting the empty image description
* fixed a memory leak at unsupported photometrics
* comment what we really do not have to free the tiff colormaps
r1679 * compensate for the strange agg-2.4 with missing methods and indicating a 2.3 version
as shipped by RedHat, CentOS, et al.
*) 2010-03-02
Rene Rebe:
r1678 * slightly cleaup low-level, add copyright header
r1677 * bump version to 0.8.0
r1676 * tagged 0.7.6
*) 2010-02-14
Rene Rebe:
r1675 * fix glibc-2.111 related warnings due redefinition of getc, putc macros
*) 2010-02-13
Rene Rebe:
r1674 * removed math files not part of exact-image
*) 2010-02-12
Rene Rebe:
r1673 * remove a stray newline in the raw codec, indicate the stride if reading fails
*) 2010-02-11
Rene Rebe:
r1672 * removed even less used shear trampoline from the econvert frontend
r1671 * removed unimplemented shear function skeleton
r1670 * implemented reverse processing in the new, ImageIterator2
r1669 * define the codegen with _return for more argument counts
*) 2010-02-10
Rene Rebe:
r1668 * vastly optimized the heck out of the HSV transform, use intergers where possible
r1667 * use predictable, depentable types, use 64bit intermediate types
for the 16bit iterators, as the formerly used 32bit types
overflow in some algorithms, ...
r1666 * the first step to more integer processing in the HSV transform
*) r1665 | (no author) | (no date) | 1 line
*) 2010-02-10
Rene Rebe:
r1664 * some whitespace cleanups in the ImageIterator2
*) 2010-01-30
Rene Rebe:
r1663 * removed a debug log output
*) 2010-01-28
Rene Rebe:
r1662 * fix a historically present "off-by-one" bug in the denoise
* fix a newly introduced optimizing vs. gross argument mismatch
r1661 * added more grossy filtering option
*) r1660 | (no author) | (no date) | 1 line
*) 2009-12-10
Rene Rebe:
r1659 * adapt newly initialized Image member order to avoid stupid GCC warnings, ...
r1658 * initialize more image plain old data members to ease debugging, avoid random values
r1657 * corrected __GCC__ conditional, it's __GNUC__, sigh
*) r1656 | (no author) | (no date) | 1 line
*) 2009-11-19
Rene Rebe:
r1655 * mangled the BMP codec for MSC-style packing, ieek
r1654 * a little whitespace cleanup in the PNM codec
r1653 * explicitly open codec file streams in binary mode, for those CP/M derived systems that need it
r1652 * avoid an signed compare warning in the bmp codec
r1651 * improved BMP codec to always read the stream linear, in-order, fixes
EOF failbit hit on first read for flipped (negative height) BMP files
and "esoteric" STL implemtations, certainly optimizes processing
in any case
r1650 * fixed the vmp codec to only read and process as many colors as actualy defined in the color table
* includes converting some commented logging to C++ streams, minimal whitespace fixup
r1649 * fixed bmp codec to free with delete[] where allocated with new[], ...
r1648 * fixx off-by-one access for palette unpacking for 1bit files with just one color in the color-table, -map, -palette
r1647 * workarounded codec spec for systems with drive letters
*) 2009-11-11
Rene Rebe:
r1646 * further drafted sub-image copy
*) 2009-11-10
Rene Rebe:
r1645 * added sub-image copy, untested, needs clipping in any case
r1644 * extend rgba8 colorspace support, rename one rgb8a occurance (???) rgba8
*) 2009-11-04
Rene Rebe:
r1643 * wipe the internal agg-2.4 copy, now it's removed from the configure, Makefile
r1642 * removed built-in, bundled agg, shipping third party copies considered harmful by most standards, let people use the distribution's package system one
*) r1641 | (no author) | (no date) | 1 line
*) r1640 | (no author) | (no date) | 1 line
*) 2009-10-06
Rene Rebe:
r1639 * avoid stray code128 noise
*) r1638 | (no author) | (no date) | 1 line
*) 2009-09-03
Rene Rebe:
r1637 * fixed colorspace conversion input comparision (accidently became
an assignment in r1625 while changing it to a parametric version
*) r1636 | (no author) | (no date) | 1 line
*) 2009-08-24
Rene Rebe:
r1635 * merged 1634 from trunk: PCX hotfix
r1634 * missing, probably wiped wile cleaning debug comments, bit pushing in the pcx loader
* fix overlooked bit oder of sub-byte pcx files
* revisited embedded pcx palette unpacking TODO by computing max color value
r1633 * bumped version to 0.7.6
r1632 * tagged 0.7.5
*) 2009-08-23
Rene Rebe:
r1631 * fixed multi-plane PCX loading, bit packing and associated palette
handlng
* removed some commented early draft logging and fixed a typo
* includes a nice new bitpacker class (to be moved to some common
header and re-used :-)
r1630 * removed some double spaces
*) r1629 | (no author) | (no date) | 1 line
*) 2009-08-23
Rene Rebe:
r1628 * certainly fixed the colormap / palette unpacking for non 8bit input
r1627 * remove trailing C comment end from c++ comment
*) r1626 | (no author) | (no date) | 1 line
*) 2009-08-20
Rene Rebe:
r1625 * allow image colorspace conversion by raw numbers
*) 2009-08-06
Rene Rebe:
r1624 * added pcx colormap decoding
*) 2009-07-15
Rene Rebe:
r1623 * implemented loading undefined height raw files
*) 2009-07-07
Rene Rebe:
r1622 * fixed copy'n paste duplication and correct argument name output
in error messages from econvert --size option parsing
*) r1621 | (no author) | (no date) | 1 line
*) r1620 | (no author) | (no date) | 1 line
*) 2009-06-22
Rene Rebe:
r1619 * fixed the PixelIterator for system without too many STL headers
included by system headers (<vector> this time)
*) r1618 | (no author) | (no date) | 1 line
*) r1617 | (no author) | (no date) | 1 line
*) 2009-06-15
Rene Rebe:
r1616 * less huge and promoting proprietary barcode recognition hint,
people appear to get affraid that the barcode recognition
is not open source, while it is, ...
r1615 * normalized example image test files
r1614 * bumped version to 0.7.5
r1613 * tagged 0.7.4
r1612 * removed not reliably working test draft code to hopefully reduce
the number of upset people asking for help, ...
r1611 * use specified stroke width for stroking text
r1610 * added a new econvert --stroke-width argument, wired text stroking to the presense of this argument, for now
r1609 * added support for stroking text
r1608 * improved econvert CLI text gravity support, including fixing a gravity text typo
r1607 * improved support and accuracy of text metric computation
r1606 * added CLI frontent support for text rotation and gravity
r1605 * allow for more detailed vector text control
*) 2009-06-14
Rene Rebe:
r1604 * implemented preleminary jpeg exif parsing support, so far
to compensate for the Exif rotation tag
r1603 * commented exif orientation tag values
* disabled default debug log of the orientation tag flag
* added another "tested" mark
r1602 * apply RAW image orientation flag rotation on dcraw loaded image
r1601 * fixed 16bps orthogonal rotation optimized code path
r1600 * added exif orientation compensating rotate
*) 2009-05-27
Rene Rebe:
r1599 * do not use dynamically sized arrays for some compilers
r1598 * fixed Image deprecate attribute to only take efect for GCC
r1597 * removed double Image:: specifier in one method signature
r1596 * fixed the Codec.cc not to use unportable temp. ctor constructs
*) 2009-05-22
Rene Rebe:
r1595 * removed accidetly left-over, stray debugging trace mark
*) 2009-05-08
Rene Rebe:
r1594 * if-out debug messages in the optimization
*) 2009-04-28
Rene Rebe:
r1593 * of course we should not log the palette by default
r1592 * further optimized and simplified gray color/palette table detection
* fixed subtile problems with ordered gray maps when the color
bits per pixel do not match the table entries
*) 2009-04-27
Rene Rebe:
r1591 * bump version to 0.7.4
r1590 * tagged 0.7.3
r1589 * more accurate BMP palette to library routine conversion
r1588 * revert r1581 for release
r1587 * added rgba / rgba8 colorspace name, mostly for the
synthetic images and raw image loading, for now
r1586 * improved palette unpacking to recognized unsorted gray
tables and detect the "perfect" gray tables in a second
path
*) r1585 | (no author) | (no date) | 1 line
*) r1584 | (no author) | (no date) | 1 line
*) 2009-04-26
Rene Rebe:
r1583 * implemented pcx writing
r1582 * implemented targa (tga) writing
r1581 * started support for CgBI PNG's, this effectively means we also
have parts of the PNG decoding now and could further implement
full PNG decoding to completely drop libpng!
*) 2009-04-23
Rene Rebe:
r1580 * bumped version to 0.7.3
r1579 * tagged 0.7.2
r1578 * fixed the jpeg codec to really mark transformed data unmodified
so transformed data is still marked unmodified
r1577 * only use the optimized gray thumnail scaling for gray images (not color)
r1576 * export the new thumbnail scale in the stable, external API
r1575 * export new thumnail scale in the CLI econvert frontend
r1574 * new, optimized "not the same colorspace" thumbnail scaling
r1573 * optimize box_scaling by pre-computing a lookup-table for the box indexes
r1572 * added CLI frontend option to specify the font-file to use for drawing text
r1571 * optimized grayX_to_gray8 and grayX_to_rgb8
* discard special cased colorspace_gray1_to_gray8
r1570 * invert 1bit MISISWHITE TIFF files on-the-fly (higher data localilty,
cache hits, more "optimized" code)
*) 2009-04-22
Rene Rebe:
r1569 * fixed 2 special cased colorspace conversions to copy the meta data
r1568 * properly indented jpeg quick magic check
r1567 * attach the codec to the image immediately after construction
(mostly for better readability)
r1566 * avieg jpeg meta data re-read after lossless operation in more cases
* polished the indicator strings printed to stderr
r1565 * avoid expensive meta re-read for color jpeg to gray conversion
* preparation to optimize other cases, likewise
* some code simplification thru tail-calls
* micro optimization thru readMeta tail-call to free some
memory to avoid additional allocations and fragmentation
r1564 * further optimized the jpeg codec not to re-assemble the
stream if just meta-data was changed (due to the new
meta data state tracking)
r1563 * made xres/xres private
* track meta "data" modification state
* convert all xres/yres utilization to new accessors
r1562 * compacted some oververbose comments in the jpeg codec
r1561 * introduced a setResolution taking both arguments
r1560 * optimize memory use while working on JPEG DCT
*) 2009-04-16
Rene Rebe:
r1559 * changed transupp.c not to use system header files for the
crop error message as not all vendors include the lossless
jpeg patches
r1558 * check for all required libtiff headers (specifically
the often ommitted libtiff C++ header)
*) 2009-03-25
Rene Rebe:
r1557 * fixed comment typo, added Contours::iterator typedef and method declarations
*) 2009-03-24
Rene Rebe:
r1556 * gueard vector text drawing methods for null pointers
r1555 * implemented filtering dragged mouse clicks before reporting them to the edisplay derived class
*) r1554 | (no author) | (no date) | 1 line
*) 2009-03-22
Rene Rebe:
r1553 * allow overwriting the keypress handler in the iamge viewer
r1552 * refactored parts of the image viewer to allow for easier re-use of the code
*) 2009-03-21
Rene Rebe:
r1551 * added --apend option to econvert frontend
r1550 * moved external api colorspace name determination into
colorspace library part
r1549 * started new "canvas" library part, currently with a append function
*) 2009-03-20
Rene Rebe:
r1548 * guard optimize2bw.hh for multi-inclusion, likewise
*) r1547 | (no author) | (no date) | 1 line
*) r1546 | (no author) | (no date) | 1 line
*) 2009-03-20
Valentin Ziegler:
r1545 * replaced exit() by os.exit(1) in error cases
*) 2009-03-19
Rene Rebe:
r1544 * guard lib/Contours.hh for multi-inclusion
r1543 * added single pixel RGBA getter and setter to the external API
*) 2009-03-17
Susanne Klaus:
r1542 * only parse jpeg and jpeg2000 option in the pdf codec
if jpeg and jpeg2000 support are built-in
* allow selection of flate encoding
*) 2009-03-04
Rene Rebe:
r1541 * bumped version to 0.7.2
r1540 * tagged 0.7.1
*) 2009-03-03
Rene Rebe:
r1539 * invalided codec cache for vectoral drawing
*) 2009-02-28
Rene Rebe:
r1538 * bumped version to 0.7.1
r1537 * tagged 0.7.0
r1536 * improved fastAutoCrop to not only crop pure white or pure black,
but any solid constant filled bottom
r1535 * removed a superfluous second zero initializer in fastAutoCrop
*) 2009-02-27
Rene Rebe:
r1534 * fixed external API imageDrawTextOnPath not to draw with a 3px offset
* removed #ifdef'ed debug code
r1533 * fixed new-style external Path API to set the line width from
the shared drawing style to the path before stroking
r1532 * extended extral API newImageWithTypeAndSize, new optional flag to
allow filling new images with the background color
r1531 * implemented RGBA image "flopping" (mirroring) and unified all
byte based formats as in r1488 for rot90 (might have minimal
performance impact on very aging silicon due to one more
conditional in the inner loop counting the bytes)
*) 2009-02-26
Rene Rebe:
r1530 * allow conditional compilation of the "rather fragile" PCX and TGA codec
r1529 * extended external EI SWIG API:
* new image creation method to create an empty image to draw on
* added alpha color value setter and getter
* new Path drawing API, including:
* new TextOnPath drawing
r1528 * removed read comment from write part of png codec
r1527 * wire out the new, optional fontfile argument to the external
SWIG API, likewise
*) 2009-02-25
Rene Rebe:
r1526 * implemented manually specifing a destring font file for
EI/vectorial text drawing
Susanne Klaus:
r1525 * added the parameters quality and compress to PDFCodec::showImage
*) r1524 | (no author) | (no date) | 1 line
*) r1523 | (no author) | (no date) | 1 line
*) r1522 | (no author) | (no date) | 1 line
*) r1521 | (no author) | (no date) | 1 line
*) r1520 | (no author) | (no date) | 1 line
*) 2009-01-29
Susanne Klaus:
r1519 * fixed in hocr2pdf to allow non existant streams
*) 2009-01-28
Rene Rebe:
r1518 * renamed hoc2pdf to just hocr.cc (as the header already indicated)
r1517 * moved hocr2pdf code into lib as re-usable module (function)
*) 2009-01-27
Rene Rebe:
r1516 * decode utf8 locally in the pdf codec (only half way and preleminary work around)
r1515 * added meta tag parsing to avoid unmathced tag warning of
HTML / hOCR input with meta tags
*) 2008-12-18
Rene Rebe:
r1514 * adding missing default arg for source compatibility and changed the
other to retain backward compatibility
r1513 * another accurance improvement method
*) r1512 | (no author) | (no date) | 1 line
*) 2008-12-17
Rene Rebe:
r1511 * updated TODO
r1510 * fixed pcx codec file version check
* hardened pcx codec to not accept random data too easily
r1509 * hardened tga codec to not accept random data too easily
r1508 * further fine-tuned the de-skew
r1507 * allow negative numbers for the externally exposed ImageCropRotate
r1506 * added fuzz testing Perl script example
*) 2008-12-16
Rene Rebe:
r1505 * started TGA, Targa codec, already reads many files
r1504 * started PCX codec, already reads many files
*) r1503 | (no author) | (no date) | 1 line
*) r1502 | (no author) | (no date) | 1 line
*) r1501 | (no author) | (no date) | 1 line
*) 2008-12-16
Rene Rebe:
r1500 * look for the Nth differing pixel
*) 2008-12-13
Rene Rebe:
r1499 * bumped version to 0.7.0
r1498 * tagged 0.6.9
r1497 * fixed the external API to not scale 1bps b/w data in optimize2bw, likewise
r1496 * fixed the optimize2bw frontend to not crash on 1bps b/w input
*) 2008-12-09
Rene Rebe:
r1495 * bumped version to 0.6.9
r1494 * tagged 0.6.8
r1493 * fixed the PDF codec to properly use our codec factory to allow saving jpeg without recompression
r1492 * added a real argument parser to the PDF codec, only passing the
residual args down to an image codec - to be factored out into
an own Utility header and re-used in all codecs parsing args
r1491 * revert to install into perl/site_perl as before r1425
*) 2008-12-08
Rene Rebe:
r1490 * fixed single image PDF writing to use the correct vertical dimension
*) r1489 | (no author) | (no date) | 1 line
*) 2008-12-05
Rene Rebe:
r1488 * improved orthogonal rotation optimization to rotate more bit-depths
(avoid rgb/gray custom copy, minimal performance degration for those)
*) 2008-12-03
Rene Rebe:
r1487 * updated dcraw copy 8.88 -> 8.89
*) 2008-11-25
Rene Rebe:
r1486 * ported ddt-scale to the new-style ImageIterator(2) and codegen
r1485 * added some more ImageIterator2 operators and improved
"const correctness"
r1484 * removed a false && in a DDT conditional probably accidently
sneaked in from some debugging session
*) r1483 | (no author) | (no date) | 1 line
*) r1482 | (no author) | (no date) | 1 line
*) r1481 | (no author) | (no date) | 1 line
*) 2008-11-25
Rene Rebe:
r1480 * further hardened pnm parser to grok multiple comment
lines as well as trailing whitespace
*) 2008-11-24
Rene Rebe:
r1479 * bumped version to 0.6.8
r1478 * tagged 0.6.7
r1477 * wired libpng / zlib compression level to quality option
r1476 * fixed xpm.cc to set the samplesPerPixel to 3 (as we have color data
in the worst case), fixes clobbering memory and thus segfault on decode
*) 2008-11-22
Rene Rebe:
r1475 * fixed some compiler warnings in the Contours code
r1474 * implemented utf8 string parsing, newline and tabs
* fixed some whitespacing on-the-way
* do not set the width for fonts, unnecessary
r1473 * break overlong line
*) 2008-11-18
Rene Rebe:
r1472 * limit floyd-steinberg color bending by default: TODO: make optional
*) 2008-11-12
Rene Rebe:
r1471 * bumped version to 0.6.7
r1470 * tagged 0.6.6
r1469 * removed bold ttf fonts, use vera fallback
r1468 * removed uneeded stdlib.h inclusion from floyd-steinberg.cc
r1467 * added copyright header to floyd steinberg dithering
r1466 * allow using the floyd-steinberg ditherer from C code
r1465 * c++ comments in the riemersma code, as well as less explicit casts
r1464 * allow any 8 bit wide input in econvert for the riemersma ditherer, likewise
r1463 * made riemersma ditherer multi-channel aware, includes some more modernizations
r1462 * yet some more riemersma.cc whitespacing :-)
r1461 * yet more riemersma.cc whitespacing and c++-ification
r1460 * proper whitespacing for riemersma.cc
r1459 * prepared multi-channel riemersma dithering
* c++-ification of the direction enum
r1458 * fixed very drastic econvert --text parsing limiations:
* fixed buffer overrun by dynamically let sscanf allocate the buffer
* do not whitelist some characters, but use the hopefully never needed
"\r" as "all-but" exclusion to allow any other character sequence
(limitation of parsing strings with scanf :-()
r1457 * allow any sample account, as long as it's in 8 bit per sample for
the floyed steinberg dither
r1456 * implem ented multi-channel dithering
r1455i * more floyed-steinberg C++-ification
r1454 * in-buffer foid-steinberg dither, improves data locally, avoids
memory allocation, avoid memcpy => overall speedup
r1453 * tiny compacting changes to the floyed-steinberg ditherer
*) 2008-11-11
Rene Rebe:
r1452 * fixed code128.hh for upcoming gcc-4.4 by explicitly including stdio.h
*) 2008-11-05
Rene Rebe:
r1451 * implemented actually parsing the color spec, including some well known names
*) 2008-11-04
Rene Rebe:
r1450 * read text string with spaces for --text
r1449 * wired up text drawing in econvert
* prepared foreground color option
r1448 * unified font rendering, try more font files
r1447 * bumped version to 0.6.6
r1446 * tagged 0.6.5
*) 2008-11-03
Rene Rebe:
r1445 * fixed dcraw C:FILE* to C++:stream wrapping to clear stream state before seeks
r1444 * implemented wrapped fprintf for dcraw
r1443 * added .rw2 as dcraw extension
r1442 * commented out some overly verbose debugging printouts for failed image reads
r1441 * undo dcraw.h thumbnail extractions #if 0
* more FILE* C API macro substitution for thumbnail code
* wire up dcraw thumbnail extractions (only tested with Canon .cr2 files so far)
r1440 * added --decompression method to the econvert frontend
r1439 * added new decompression option to image read/decoding (to specifiy
optional hints, such as thumbnail extraction)
r1438 * sanitized econvert copyright lines
* do not use the SWIG API colorspace convert, but the internal one we have these days
r1437 * added proper copyright header to dcraw files
r1436 * updated imported dcraw code (1.326 -> 1.405, "8.88")
r1435 * improved tiff codec to not crash on invalid TIFF data, such as RAW images
*) 2008-10-31
Rene Rebe:
r1434 * added rgba support to the new-style ImageIterator and codegen
r1433 * moved no-scale optimization from templates to call wrapper
r1431 * removed empty string default argument for the Codec::Write method
witth an iostream, as it must be specified as the codec can not
be guessed and leads to early adaptor programmer errors
Susanne Klaus:
r1432 * changed the bmp codec format to BIH_WIN4SIZE
*) 2008-10-27
Rene Rebe:
r1430 * bumped version to 0.6.5
r1429 * tagged 0.6.4
r1428 * bumped version to 0.6.4
r1427 * fixed/improved jpeg codec to crop the reminder of crops with a
x/y position not devidable by 8 due jpeg 8x8 block borders
*) 2008-10-18
Rene Rebe:
r1426 * make sure real numbers in PDF content streams are not
written in scientific notation
r1425 * fixed api modules to honor DESTDIR
r1424 * fixed python and php api module to create directory before installing files
*) 2008-10-10
Rene Rebe:
r1423 * tagged 0.6.3
r1422 * added some casts to the ImageIterator2 to silence gcc-3 warnings
r1421 * re-use optimize2bw for blank page detection, again
(custom code and matrix was not too sensitive)
*) r1420 | (no author) | (no date) | 1 line
*) 2008-10-10
Rene Rebe:
r1419 * added some new ImageIterator2 methods and type cleanups as needed
for the new normalization implementation
r1418 * use an ordinary vector (instead of a map) for the normalization
histogram (as it's way more efficient for non-HDR pixel types)
r1417 * implemented normalization (formerly only available for gray8 and
rgb8) using the new iterator and codegen templates (yields different
results though!)
r1416 * export normalization thru the external script API
r1415 * added missing default argument for the new imageConvertColorspace
external API threshold argument (for comfort, but more importantly
backward compatibility)
r1414 * allow specifing the threshold for converting to 1bit, bi-level
image data in the external API
r1413 * implemented specifing the threshold for converting colorspace by name
(unified the threshold type in all functions)
r1412 * invalidate cached data in color normalize
*) r1411 | (no author) | (no date) | 1 line
*) 2008-10-07
Rene Rebe:
r1410 * partial reverted r1409
r1409 * started atsui font support and wired up win32 files in Makefile
*) 2008-09-30
Rene Rebe:
r1408 * bumped version to 0.6.3
r1407 * tagged 0.6.2
*) 2008-09-25
Rene Rebe:
r1406 * tuned deskew thresholds
*) 2008-09-20
Rene Rebe:
r1405 * work around OS X 10.5 $non_lazy_ptr compiler/linker bug
*) 2008-09-19
Rene Rebe:
r1404 * added -lz to the codecs libary, as required for the PDF codec
(normally it just works when other libraries, such as -lpng
are linked against it, but on systems without popular image
libraries we have to specify what we really need, anyway)
r1403 * do not build the e2mtiff frontend if the TIFF library is not available
*) 2008-09-17
Rene Rebe:
r1402 * compensate hyphens in the text output for a first test
r1401 * added a functor object for text state tracking
* drop some whitespace due html parsing at the end of lines
r1400 * added " decoding support to hocr2pdf
* added initial support to write the raw text via -t/--text to
hocr2pdf (just the basics, needs further improvements)
* added another comment out debug text point
* fixed a copyright year (2006 -> 2008)
r1399 * updated TODO
*) 2008-09-16
Rene Rebe:
r1398 * simplified default tiff compression initialzation
* mapped "group3" simillar to the "group4" we had already
*) 2008-09-15
Rene Rebe:
r1397 * bumped version to 0.6.2 for next release
r1396 * tagged 0.6.1
*) 2008-09-12
Rene Rebe:
r1395 * improved PDF writer to allow writing multiple text fragments into
a single text object
* adapted hocr2pdf to use the new functionality, to work around a
pre Arcrobat 8 bug, as apparently those older Acrobat versions
crash with more than 780 text objects on a page (?!?!)
*) 2008-09-09
Rene Rebe:
r1394 * fixed sloppyly -> sloppily
r1393 * updated configure version to 0.6.1 (for the next release)
r1392 * fixed typo in hocr2pdf help output, ieek
r1391 * tagged 0.6.0
r1390 * fixed some compiler warnings spit out by gcc-3.4, but
not gcc-4.3?
r1389 * added hocr2pdf frontend, parsing annotated HTML, writing
text layer behind image data as searchable PDF
r1388 * totally revamped our PDFCodec: no more bare image dumping, but:
* object based PDF structure
* writing arbitrary objects and pages
* including vector pathes and vector text
*) 2008-09-04
Rene Rebe:
r1387 * added -h short cut option to econvert and bardecode
*) r1386 | (no author) | (no date) | 1 line
*) r1385 | (no author) | (no date) | 1 line
*) r1384 | (no author) | (no date) | 1 line
*) 2008-08-28
Lars Kuhtz:
r1383 * Reduce false positives for code25i by introducing disprop factor.
* the disprop factor accounts for a proportional mismatch between white
* bars and black bars. Some barcode generators/ printers tend to put more
* emphasis on the black bars than on the white bars. It seems that a
* human reader is faked by well-proportioned barcodes looking somewhat
* "sparse".
* added bpsize and wpsize to bar_vector_t.
* using wdisprop in the bar-vector-check would be a bad idea. The reason
* probably is that some barcode printers are obviously more accurat with
* resprect to black bars, whereas there is much more variance on the
* proportions of white bars.
*) r1382 | (no author) | (no date) | 1 line
*) r1381 | (no author) | (no date) | 1 line
*) 2008-08-27
Rene Rebe:
r1380 * further improved deskew: scan the whole width, formerly we stopped at
50% assuming the content would be centered, however I, myself,
recently scanend an tiny stripe uncentered, failed to properly
auto-crop
* different dynamic threshold computatin to fix a couple of test-
cases
* fixed debug visualization to properly visualize in color
*) r1379 | (no author) | (no date) | 1 line
*) 2008-08-26
Lars Kuhtz:
r1378 * Some fixes and cleanups for code25i.
* includes working around buggy codes from Archivista.
r1377 * Consider edges of width 2 for dynamic threshold adjust, too.
r1376 * Fix a checksum computation bug in code128 and cleanup code.
*) r1375 | (no author) | (no date) | 1 line
*) r1374 | (no author) | (no date) | 1 line
*) r1373 | (no author) | (no date) | 1 line
*) r1372 | (no author) | (no date) | 1 line
*) r1371 | (no author) | (no date) | 1 line
*) r1370 | (no author) | (no date) | 1 line
*) r1369 | (no author) | (no date) | 1 line
*) r1368 | (no author) | (no date) | 1 line
*) r1367 | (no author) | (no date) | 1 line
*) r1366 | (no author) | (no date) | 1 line
*) r1365 | (no author) | (no date) | 1 line
*) r1364 | (no author) | (no date) | 1 line
*) r1363 | (no author) | (no date) | 1 line
*) r1362 | (no author) | (no date) | 1 line
*) r1361 | (no author) | (no date) | 1 line
*) r1360 | (no author) | (no date) | 1 line
*) r1359 | (no author) | (no date) | 1 line
*) 2008-08-26
Rene Rebe:
r1358 * fixed a deskew comment typo
* cleaned some - 1 offset compuation to be hopefully more readable
* silence "uninitialized warning from GCC-4.3)
r1357 * added copyright header to DataMatrix.hh
r1356 * improved deskew debug visualization by converting to rgb before
applying the colorful marks
*) r1355 | (no author) | (no date) | 1 line
*) r1354 | (no author) | (no date) | 1 line
*) r1353 | (no author) | (no date) | 1 line
*) r1352 | (no author) | (no date) | 1 line
*) r1351 | (no author) | (no date) | 1 line
*) r1350 | (no author) | (no date) | 1 line
*) r1349 | (no author) | (no date) | 1 line
*) r1348 | (no author) | (no date) | 1 line
*) r1347 | (no author) | (no date) | 1 line
*) r1346 | (no author) | (no date) | 1 line
*) r1345 | (no author) | (no date) | 1 line
*) 2008-08-22
Rene Rebe:
r1344 * work around broken ccache dependency writing support: explicitly
specify the dependenfy filename so they do not end up in the CWD
r1343 * properly initialize foreground/background color iterators in the extern API
*) 2008-07-26
Susanne Klaus:
r1342 * added imageAutoCropDeskew to the external bindings for SWIG
supported scripting languages
*) 2008-07-23
Rene Rebe:
r1341 * set configure version of 0.5.3 tag
r1340 * tagged 0.5.3
r1339 * fixed double merged jpec.cc copyright lines, added
copyright header to jpeg.hh
r1338 * fixed gif codec reading larger chunks
*) 2008-07-09
Rene Rebe:
r1337 * cleaned up some RGB color setters in the AGG/vectorial
glue code, aside readability, fixes a couple of double to
int cast precision warnings on older GCC's
*) 2008-07-07
Rene Rebe:
r1336 * optimized colorspace_rgb8_to_rgb8a and simplified colorspace_gray8_threshold
r1335 * fixed colorspace_rgb8_to_rgb8a to not set the image buffer to the
end of the new buffer, but the actual begining, fixed immediate
segfault of consecutive access
*) 2008-07-04
Rene Rebe:
r1334 * added image invert, bound to key i, to edisplay
*) r1333 | (no author) | (no date) | 1 line
*) r1332 | (no author) | (no date) | 1 line
*) 2008-06-30
Rene Rebe:
r1331 * always link against libfreetype, also when the built-in Agg is used
*) 2008-06-28
Rene Rebe:
r1330 * set 0.5.2 tag version
r1329 * tagged 0.5.2
*) 2008-06-25
Rene Rebe:
r1328 * removed unnecessary "platform/agg_platform_support.h" include
* made font filename static
* removed unneeded counting of glyphs
*) 2008-06-23
Rene Rebe:
r1327 * further streamlined vector font drawing:
* removed commented line-break code from the TextOnPath function,
likewise
* removed spurious comments
* set rendering color only once
* render accumulated vector path, not single glyphs
* renamed variables in TextOnPath to the naming usin in the
optimized (linear) text drawing function
* fixed the TextOnPath function to actually honor the path
attributed color, and not just use 0,0,0 (black)
r1326 * exported Image::resize (low, level memory canvas, without scaling) thru
the external SWIG API
* fixed external API controlled foreground/background color to enforce
the RGB color type and use the provided Image class API to pass
the double R, G, B values instead of hand-converting them
r1325 * removed already commented out "auto-linebreak" code from
the vector font rendering
*) r1324 | (no author) | (no date) | 1 line
*) r1323 | (no author) | (no date) | 1 line
*) 2008-06-23
Rene Rebe:
r1322 * updated TODO
r1321 * fixed possible access beyond end of temporary buffer in the SVG number parser
* cleaned some spurious newlines on-the-way
r1320 * added support for SVG circle and ellipse elements
r1319 * added implementation / copyright note for the SVG arc's
* cleaned trailing newlines
r1318 * tiny update of the jpeg support file copyright header
*) 2008-06-17
Rene Rebe:
r1317 * removed apparently unneeded agg_pixfmt_rgba.h include
*) r1316 | (no author) | (no date) | 1 line
*) 2008-05-27
Rene Rebe:
r1315 * set 0.5.1 tag version
r1314 * tagged 0.5.1
r1313 * fixed external, binary-blob barcode interface code to honor new
direction flags, convert between our API definition bits and
binary blob ones
r1312 * added control over scan direction support to external API barcode recognition
*) r1311 | (no author) | (no date) | 1 line
*) r1310 | (no author) | (no date) | 1 line
*) r1309 | (no author) | (no date) | 1 line
*) r1308 | (no author) | (no date) | 1 line
*) r1307 | (no author) | (no date) | 1 line
*) r1306 | (no author) | (no date) | 1 line
*) r1305 | (no author) | (no date) | 1 line
*) 2008-05-22
Rene Rebe:
r1304 * moved ContourMatching based segmentation test/examples into
ContourMatching directory
r1303 * fixed some compile warnings, and excessive logging in segmentation examples
*) r1302 | (no author) | (no date) | 1 line
*) 2008-05-21
Rene Rebe:
r1301 * added copy constructur and copyright note to FG-Matrix
*) r1300 | (no author) | (no date) | 1 line
*) 2008-05-20
Rene Rebe:
r1299 * moved external bardecode library linking from lib to the api,
the only usecase nowadays
*) r1298 | (no author) | (no date) | 1 line
*) 2008-05-20
Rene Rebe:
r1297 * added multi stoke generating to the InnerContours
*) r1296 | (no author) | (no date) | 1 line
*) 2008-05-19
Rene Rebe:
r1295 * added a second inner countour work-in-progress tryout
r1294 * added Mid(point of scanline)Contours
*) r1293 | (no author) | (no date) | 1 line
*) r1292 | (no author) | (no date) | 1 line
*) r1291 | (no author) | (no date) | 1 line
*) r1290 | (no author) | (no date) | 1 line
*) r1289 | (no author) | (no date) | 1 line
*) 2008-05-16
Rene Rebe:
r1288 * changed python configure test to use -V (--version is not even
available in python-2.4, ...)
* better only allow ruby since 1.8.5, I have no older 1.8 versions
to test with
*) 2008-05-15
* fixed segmentation/Contours example due to Image::iterator ambiguitiy:
r1287 * introduced in the meantime
*) 2008-05-03
Rene Rebe:
r1286 * updated tags/0.5.0 version to 0.5.0
r1285 * bumped trunk version to 0.6
r1284 * tagged 0.5.0
r1283 * added Lars Kuhtz, ExactCODE GmbH, GPL + commerical option copyright
headers to bardecode files
r1282 * implemented api module installation, more than less
with some hardcoded pathes, as it's not so obvious
for some languages where extensions should be placed
and does also not yet completely work for PHP
r1281 * use box_scale if scale is less then _or equal_ to 0.5
r1280 * converted box_scale to new template based optimized code generation
(removes a hand-crufted 8-bit gray loop)
*) 2008-05-02
Rene Rebe:
r1279 * brought ruby version check sed in-line with the other ones (perl,
python ...)
* removed the use of the \+ GNU extension, as not grok'ed by the BSD
sed, such as on OS X
r1278 * fixed custom string array return code for Lua to return the number
of returned "objects"^Wtables
r1276 * started to custom cruft barcode array return code for Lua
r1275 * only use the custom, perl specific string array return
typemap when building a perl wrapper
r1274 * uncommented lua module in top-level Makefile,
accidently slipped in while disabling ruby
r1273 * fixed a left over perl strings in the ruby Makefile, added
a to be fixed RUBYINCS define, and commented the ruby module
out in the top-level makefile, as it's not yet there
(ruby.h apparently not C++ save?)
r1272 * while at it, started to prepare ruby binding, likewise
*) r1271 | (no author) | (no date) | 1 line
*) 2008-05-02
Rene Rebe:
r1270 * improved support for image decoding from memory variables
for languages other than perl (no explicit length specifier
by using std::string)
*) r1269 | (no author) | (no date) | 1 line
*) r1268 | (no author) | (no date) | 1 line
*) r1267 | (no author) | (no date) | 1 line
*) r1266 | (no author) | (no date) | 1 line
*) 2008-05-02
Rene Rebe:
r1265 * the python shared object has to begin with an underscore (_)
for the python wrapper to load it
*) r1264 | (no author) | (no date) | 1 line
*) r1263 | (no author) | (no date) | 1 line
*) r1262 | (no author) | (no date) | 1 line
*) r1261 | (no author) | (no date) | 1 line
*) 2008-05-02
Rene Rebe:
r1260 * more standard (dosmetic) module binary name for api module
(api, not ExactImage) now the language bindings (named
ExactImage) are seperated
r1259 * enabled lua and php modules in top-level Makefile
r1258 * corrected SWIG per language output
r1257 * adapted built-in agg-2.4/Makefile for new per module CFLAGS
*) 2008-05-01
Rene Rebe:
r1256 * fixed api dependency and perl module api library linkage
r1255 * added principle support for php, python, lua (work in progress,
due to ugly perl hackup in the SWIG API not yet compiling, will
be fixed next)
*) r1254 | (no author) | (no date) | 1 line
*) r1253 | (no author) | (no date) | 1 line
*) r1252 | (no author) | (no date) | 1 line
*) r1251 | (no author) | (no date) | 1 line
*) r1250 | (no author) | (no date) | 1 line
*) 2008-04-24
Rene Rebe:
r1249 * updated fast_auto_crop comment, as we lossless crop jpeg for some
time, now
* made the "actual crop" call a tail call
*) r1248 | (no author) | (no date) | 1 line
*) r1247 | (no author) | (no date) | 1 line
*) r1246 | (no author) | (no date) | 1 line
*) r1245 | (no author) | (no date) | 1 line
*) r1244 | (no author) | (no date) | 1 line
*) r1243 | (no author) | (no date) | 1 line
*) 2008-04-24
Rene Rebe:
r1242 * converted brightness_contrast_gamma to template
* renamed invert template variables for more common naming
* fixed invert template to invalidate possibly possibly attached
codec
*) 2008-04-22
Rene Rebe:
r1241 * fixed jpeg codec to invalidate possible already decoded and
cached image data when transforming DCT coefficients
r1240 * readded optimized rotation thru an attached codec, lost
in r1223
* factored out angle normalization into the template codegen
wrapper
r1239 * removed rotation angle logging, slipped in during templated rotate algorithm
*) 2008-04-19
Rene Rebe:
r1238 * improved the jpeg codec to allow forcing a "recompress"ion, even
if DCT coefficients are available
r1237 * explicitly cast arguments to Image::resize from double to int
to avoid compiler warning
r1236 * implemented (but commented out) 2 bit BMP loading
* guard not to save 2 bit BMP files, as apparently not
supported by at least Windows XP
*) 2008-04-18
Rene Rebe:
r1235 * implemented non-RGB, 1, 4, and 8 bit GRAY encoding in the BMB codec
*) 2008-04-17
Rene Rebe:
r1234 * fixed recently touched ImageIterator2 vtype typedef's, they must be signed
(for expressions that substract and/or saturate, such as convolution matrix)
r1233 * streamlined some copyright lines
r1232 * removed get/setHSV from older ImageIterator, was only used by
the hue_saturatin_value/lightness function and we obsolete
the old Iterator anyway
r1231 * fixed hue_saturation_lightness to not yield NAN intermediate
values resulting in falsely colored pixels, also optimized
it slightly on-the-way
r1230 * new ImageIterator2 support for get and setRGB,
* v(alue)type define
* codegen for 2 and 4 arguments
r1229 * reworked HSL, Huse, Saturation, Lightness function
to utiliize the new ImageIterator2
r1228 * converted Colorspace::invert to new template based code generator
* added operator-=, one() and a one argument codegen to the new
ImageIterator
*) 2008-04-16
Rene Rebe:
r1227 * optimized memory use after 16 to 8 bit conversion
* optimized 16 to 8 bit memory allocation and work in-buffer
* added rgb16 to gray16 downscaling to correctly downscale
that combination
r1226 * replaced pseudo-generic and open coded (hand optimized) convolution
matrix code with new truely generic and faster version
r1225 * added rgb16 and gray16 support and a saturate method to the accumulator
of the ImageIterator2
*) 2008-04-15
Rene Rebe:
r1224 * only try to parse a SVG stream if the first character of a stream is '<'
(avoids parser errors for obviously other file-types)
r1223 * more codegen adapters
* converted nearest_scale, bilinear_scale to the next generation Image::iterator
(removes some open-coded, hand-optimized loops we had before)
* converted rotate and copy_crop_rotate to the new iterator, likewise
r1222 * added automatic template variant instatiator / code generator
r1221 * cleaner, more obvious and equally performance bit-level ImageIterator2
r1220 * added ImageIterator v2 work-in-progress
*) 2008-04-08
Rene Rebe:
r1219 * fixed SVG arc rendering by converting supplied angles from deg to rad
r1218 * set EXPATLIBS if expat is found
r1217 * added expat configure check for SVG codec
r1216 * clear SVG canvas with white, before rendering the path
r1215 * implemented basic, unoptimized renderer_exact_image::clear()
*) r1214 | (no author) | (no date) | 1 line
*) 2008-04-08
Rene Rebe:
r1213 * added SVG proof-of-concept codec
r1212 * adapted agg_svg_parser to read from an C++ STL std::istream
r1211 * removed external, binary-only blob wrapping bardecode.??
* moved wrapper into the external API module, the only place
where we have to continue to support it for a while
r1210 * added Agg SVG example + Arc support
*) 2008-04-07
Rene Rebe:
r1209 * removed unused gpc copy from agg-2.4 copy: not free for non-commercial use
*) 2008-04-04
Rene Rebe:
r1208 * exlicitly include utility (for Endianess.hh, as required
freestanding in escreen/miniescreen)
*) 2008-03-25
Rene Rebe:
r1207 * improved (currently special case) multi-page TIFF writing to
only write the generator software tag for the first page(s)
r1206 * added e2mtiff, an any to multi-page TIFF converter
*) 2008-03-17
Rene Rebe:
r1205 * include config.h from vectorial.hh for WITHFREETYPE define
r1204 * fixed more warnings as spotted by GCC-4.3 (and some even by GCC-4.2)
r1203 * fixed a probably real off by one array initialization in bardecode/code25i as spotted by GCC-4.3.0
r1202 * some exlipcit includes as required for with GCC-4.3.0
*) 2008-03-13
Rene Rebe:
r1201 * ifdef'ed freetype text functions to build on systems without freetype
*) 2008-03-12
Rene Rebe:
r1200 * fixed copy_crop_rotate regression from warning fixup
*) 2008-03-11
Rene Rebe:
r1199 * updated freetype version to the oldest one tested
r1198 * improved external API to allow different scale factors for all the scale functions
r1197 * added line_skip argument to external exported barcode interface
*) 2008-03-03
Valentin Ziegler:
r1196 * colorspace converter rgb8->rgb8a
r1195 * made text argument in Path::drawText* const char*
*) 2008-03-02
Rene Rebe:
r1194 * fixed edisplay segfault on exit and some spurius memory leaks
*) 2008-03-01
Rene Rebe:
r1193 * wire up internal agg copy to build with freetype support, if available
r1192 * added real vector fonts, and text on path functions
to the Agg based vectorial code
r1191 * added missing withval for freetype to the configure script
* added agg and freetype libraries as required for future
freetype font rendering
r1190 * check for freetype in configure, prepare libopenraw in a comment
as well
r1189 * initialize r, g, b, a in agg:blend_pix to avoid uninitialized warning
r1188 * initialize LnearRegression results before returning if no data
is available, avoid uninitialized warning
r1187 * removd duplicate break; return: chains from the ImageIterator,
removed yet unimplemented colorspace cases from the iterator
as we now have the WARN_UNHANDLED macro for the default case
r1186 * removed yet unneeded virtual methods from LinearRegression to avoid
compiler warnings about no matching virtual dtor
r1185 * fixed pdf and ps codecs to compile without jpeg and jpeg2000 support
(e.g. under OS X)
r1184 * improved dcraw c++ iostream wrappr to yield less (statement without effect) warnings
r1183 * added const qualifier to imported dcraw C code to avoid massive warnings
r1182 * avoid more lib/ warnings, mostly sign comparision and unitialized
in ContourMatching (and companion helpers) Matrix and optimize2bw
r1181 * avoid uninitialized warnings in edisplay
r1180 * avoid warning in bardecode code
r1179 * fixed deskew function to return something as beeing non-void
r1178 * avoid more warnings in crop and Contours, marked some values
conts and format a transition matrix for readability
r1177 * avoid uninitialized warning in the gif coded, return 0 in
unimplemented jpeg2000 stream functions to avoid warnings
of not retunring something in non-void function,likewise
r1176 * fixed the bardecode frontend to not try to analyse the image
if it failed to load (might inf. loop on uninitialized data
due iterators not matching on a known bit depth)
*) 2008-02-29
Rene Rebe:
r1175 * adapted the binary-only barcode blob api for unsigned min/max
length, likewise
r1173 * avoid uninitialized and sign comparision warnings in the exported api
r1171 * fixed compile warning in rotate
r1170 * fixed compile warnings in the codecs, uncovered a real bug where
a warning would not be printed, as not added to the output stream
r1169 * fixed sign comparision warning in Colorspace.cc
r1168 * fixed second arc rendering function to not call arc_to as well,
but the proper arc_rel
r1167 * fixed more compile warnings of "uninitialized" wariables, use
ofthe deprecated Image::new method et al.
r1165 * warn on unhandled Image formats at run-time
r1164 * improved edisplay to yield less noise and formated load error warning
Valentin Ziegler:
r1174 * agg bindings now use alpha channel information for blending
r1172 * set/getRGBA methods for Image::iterator
r1166 * for solid fills, load the iterator with actual pixel data before performing setRGB (this fixes problems with images having an alpha channel)
r1163 * forgot one break in *() operator
r1162 * implemented RGB8A versions of set/getRGB methods and set/getL instead of using the RGB8 ones
*) 2008-02-18
Rene Rebe:
r1160 * implemented min/max code content length constraints for new
built-in external API barcode recognition
r1159 * reindet new barcode api code with my primary editor
r1158 * fixed external API to return a const char*, not just char* as
corretly warned about by GCC
r1157 * implemented code bitfield generation from supplied code list for new
external API barcode recognition thru built-in code
r1156 * added argument to allow controlling multiple barcode scan with
the commercial binary only blob
* added same argument (defaulting to false) to the officially
exported API
* changed external API barcode function to use the new built-in
code, added second function with "Ext" extension to use the
binary only blob, if available
r1155 * avoid type warning in econvert, updated copyright years
*) 2008-02-17
Rene Rebe:
r1154 * link the bardecode module into the external api module in
order to later allow barcode decoding
r1153 * conditionalized JPEG2000 PDF code depending on JASPER availability
*) 2008-02-16
Rene Rebe:
r1152 * made the configure extern barcode note sound less encouraging :-)
*) 2008-02-09
Rene Rebe:
r1151 * improved external API to export a second encodeImage returning
a C++ string
* added glue code to make the in-memory functions usable from
languages where SWIG does (not yet) implement cstring support
(e.g. Lua)
r1150 * fixed second public API image encode function (encodeImageFile)
to use the same default quality (75) as the other official and
all internal functions, ...
r1149 * oops, remove #if 0, #endif left over in r1148
r1148 * removed custom SWIG perl5 workaround, fix is upstream long enough now,
allow generating SWIG bindings to other languages, requires swig-1.3.32
*) 2008-02-03
Rene Rebe:
r1147 * implemented rate (quality) control in the jpeg2000 codec (jasper wrapper)
Susanne Klaus:
r1146 * implemented jpeg2000 compression for pdf
r1145 * changed jpeg2000 codec warning/error message mess, to use
the std::cerr stream exclusively (not C stream nor std::cout)
r1144 * implemented jpeg compression for eps, ps and pdf
*) 2008-02-02
Susanne Klaus:
r1143 * added command line option for image encoding eps, ps and pdf:
--compress EncodeASCII85 or EncodeHex
r1142 * changed pdf image encoding: ASCIIHexDecode -> ASCII85Decode
* fixed hardcoded width and height
r1141 * added pdf encoder
*) 2008-01-31
Susanne Klaus:
r1139 * unified encoding image of ps and eps
r1138 * added ps encoder
Valentin Ziegler:
r1140 * use encoding methods from utility/Encodings.hh
* default to ASCII85 encoding
*) 2008-01-30
Susanne Klaus:
r1137 * added eps encoder
*) 2008-01-27
Susanne Klaus:
r1136 * fixed addRect to draw a rect
*) 2008-01-20
Rene Rebe:
r1135 * tagged 0.4.2
r1134 * bumped version to 0.4.2
r1133 * merged r1125 and r1126 from trunk: fixed and accelerated
Image::iterator::getHSV for gray* data (RGB code yields NaN
on pure gray data for the Hue channel)
* fixed former merges to actually compile cleanly ... :-)
(minor function vs. variable re-names in the trunk)
r1132 * merged r1120, r1121, r1122, r1123, and r1124 from trunk:
* added new colorspace_gray8_threshold (keeping 8bit data while
thresholding) and colorspace_gray8_denoise_neighbours (de-noising
stray, single pixels)
* introduced -n/--denoise option for optimize2bw that removes stray
single pixels as introduced per last commits' functions
* removed lazy thr option that was no longer in use
* switched optimize2bw to new, sym. decomposeable matrix code,
faster and more accurate (except border pixels)
r1131 * merged r1118 and r1119 from trunk: implemented acceleration of any
8bps image data convolution
r1130 * merged r1116 from trunk: fixed codecs/Makefile to include the
top.make build portion in the first line
r1129 * merged r1113 from trunk: added gaussian blur operation for econvert
r1128 * merged r1106, r1107, r1108, r1109, r1110, r1111, r1112, r1114, and
r1115 from trunk: added fast convolution algorithm for symmetric
decomposable matrices
r1127 * merged r899 from trunk: "fixed" copy_crop_rotate to allow passing a
dedicated background color to fill "out of bounds" pixels
*) 2008-01-18
Rene Rebe:
r1126 * fixed and accelerated Image::iterator::getHSV for gray* data (RGB code yields NaN on pure gray data for the Hue channel)
r1125 * removed stray test code line left over from initial HVL drafting
*) 2008-01-15
Rene Rebe:
r1124 * re-optimized optimize2bw without denoising to threshold to 1bit in
one-path, again
r1123 * finalized denoise_neighbours to also take border pixels into account,
optimized the resulting code so that the border conditionals do not
waste too much CPU cylces
r1122 * switched optimize2bw to new, sym. decomposeable matrix code,
faster and more accurate (except border pixels)
* removed obsolete private hacky convolution
* improved / cleaned commented debug timer to have more style
r1121 * introduced -n/--denoise option for optimize2bw that removes stray
single pixels as introduced per last commits' functions
* removed lazy thr option that was no longer in use
r1120 * added new colorspace_gray8_threshold (keeping 8bit data while thresholding)
and colorspace_gray8_denoise_neighbours (de-noising stray, single pixels)
*) 2008-01-14
Rene Rebe:
r1119 * oops, of course the former convolution matrix code should have been committed without the -1 sanity check
r1118 * implemented acceleration of any 8bps image data convolution
*) 2008-01-12
Rene Rebe:
r1117 * fixed lib/Makefile Agg comment
r1116 * fixed codecs/Makefile to include the top.make build portion
in the first line, not somewhere in the middle where the NOT_SRC
are not effective ...
*) 2008-01-11
Valentin Ziegler:
r1115 * also transform the bottom border
r1114 * fixed radius calculation
r1113 * gaussian blur operation for econvert
r1112 * make symetric decomposable convolution work for images with
* multiple channels
r1111 * reverted some accidental code changes
r1110 * added gaussian blur implementation
r1109 * do not apply source multiplication if src_add==0.0
r1108 * also use the last entry of v_matrix for transformation
*) 2008-01-10
Valentin Ziegler:
r1107 * use new convolution code for bluring (inactive because of
* OLDCODE define)
r1106 * added fast convolution algorithm for symmetric decomposable
* matrices (i.e. gaussian blur)
*) 2008-01-09
Rene Rebe:
r1105 * added multile inclusion guard to deskew.hh
*) 2008-01-04
Rene Rebe:
r1104 * fixed negative deskew angle computation, sigh
r1103 * factored deskew.cc:Line class into own math/Line.hh header
* further fixed deskew angle computation, sigh
r1102 * compute the skew angle from the corrected lines, not the original lin. reg.
r1101 * guide all deskew borders with a 5% min point rate safeguard
*) 2008-01-03
Rene Rebe:
r1100 * guard top de-skew line to lock on the top background border
if too few points are available for the linear regression
(fixes cropping if the paper is straight on the top raster line)
*) 2007-12-21
Rene Rebe:
r1099 * compute and store back side deskew parameters to ease utilisation
r1098 * further fine-tuned deskew parameters
r1097 * improved deskew rebustness by moving near 0 bottom lines
to the image bottom
r1096 * seperated deskew parameter computation from actual crop / rotate
(to optimize performance by caching the front parameters for
application on the back side, but also because some scanners
do not yield valid background raster on the back side at all)
* fixed optimized "just crop, no rotate" to compare for greater
than (not smaller than angle!)
* optimized and enhanced "border margin" match discarding, especially
for the top side at all, because some scanners yield a overlight
first real paper line in combination with background raster read
* do not enable debug visualization in the repository version
*) 2007-12-13
Rene Rebe:
r1095 * use Image::resize instead of deprecated image::New in rotate and matrix
*) 2007-12-10
Rene Rebe:
r1093 * improved de-skew threshold computation, debug marker visualization,
added a "small angle" fast-path and polished the concept docu-
mentation and some source code whitespacing
r1092 * work around uint on OS X, include sys/types.h for APPLE compilers, ...
*) r1091 | (no author) | (no date) | 1 line
*) r1090 | (no author) | (no date) | 1 line
*) r1089 | (no author) | (no date) | 1 line
*) r1088 | (no author) | (no date) | 1 line
*) r1087 | (no author) | (no date) | 1 line
*) r1086 | (no author) | (no date) | 1 line
*) r1085 | (no author) | (no date) | 1 line
*) 2007-12-07
* BarDecode: Relax right-quiet-zone constraints for code39,:
r1084 * code128 and code25.
* BarDecode: filter output of frontend for non-printable:
r1081 * characters.
* BarDecode: fix decoding of code128 if last symbol is:
r1083 * from code set C.
*) r1080 | (no author) | (no date) | 1 line
*) r1079 | (no author) | (no date) | 1 line
*) 2007-12-07
* BarDecode: make code39 scanner a bit laxer. Most of all:
r1077 * improves reverse scanning.
* BarDecode: make recognition of ean middle marker more:
r1078 * precise.
*) r1076 | (no author) | (no date) | 1 line
*) r1075 | (no author) | (no date) | 1 line
*) r1074 | (no author) | (no date) | 1 line
*) r1073 | (no author) | (no date) | 1 line
*) r1072 | (no author) | (no date) | 1 line
*) r1071 | (no author) | (no date) | 1 line
*) r1070 | (no author) | (no date) | 1 line
*) r1069 | (no author) | (no date) | 1 line
*) 2007-12-05
* BarDecode: fix comparsion of signed and unsigned int:
r1064 * in PixelIterator.hh.
* BarDecode: try harder (and be laxer) in order to get a:
r1067 * valid module_word out of a bar_vector.
* BarDecode: use this penetrant modulizer everywhere in
* ean and code128 scanners.
*) r1063 | (no author) | (no date) | 1 line
*) r1062 | (no author) | (no date) | 1 line
*) r1061 | (no author) | (no date) | 1 line
*) r1060 | (no author) | (no date) | 1 line
*) r1059 | (no author) | (no date) | 1 line
*) 2007-12-04
*) r1057 | (no author) | (no date) | 1 line
*) r1056 | (no author) | (no date) | 1 line
*) r1055 | (no author) | (no date) | 1 line
*) r1054 | (no author) | (no date) | 1 line
*) r1053 | (no author) | (no date) | 1 line
*) 2007-12-04
* BarDecode: relax ean-quiet zone constraint a bit.:
r1051 * BarDecode: define NDEBUG in ean.hh.
*) r1049 | (no author) | (no date) | 1 line
*) r1048 | (no author) | (no date) | 1 line
*) r1047 | (no author) | (no date) | 1 line
*) r1046 | (no author) | (no date) | 1 line
*) r1045 | (no author) | (no date) | 1 line
*) r1044 | (no author) | (no date) | 1 line
*) r1043 | (no author) | (no date) | 1 line
*) r1042 | (no author) | (no date) | 1 line
*) r1041 | (no author) | (no date) | 1 line
*) r1040 | (no author) | (no date) | 1 line
*) r1039 | (no author) | (no date) | 1 line
*) r1038 | (no author) | (no date) | 1 line
*) r1037 | (no author) | (no date) | 1 line
*) r1036 | (no author) | (no date) | 1 line
*) r1035 | (no author) | (no date) | 1 line
*) r1034 | (no author) | (no date) | 1 line
*) r1033 | (no author) | (no date) | 1 line
*) r1032 | (no author) | (no date) | 1 line
*) r1031 | (no author) | (no date) | 1 line
*) r1030 | (no author) | (no date) | 1 line
*) r1029 | (no author) | (no date) | 1 line
*) r1028 | (no author) | (no date) | 1 line
*) r1027 | (no author) | (no date) | 1 line
*) r1026 | (no author) | (no date) | 1 line
*) r1025 | (no author) | (no date) | 1 line
*) r1024 | (no author) | (no date) | 1 line
*) r1023 | (no author) | (no date) | 1 line
*) 2007-12-01
Rene Rebe:
r1022 * include Image.hh for the Image class in Colorspace.hh
*) 2007-11-30
* BarDecode: Fix a typo in dynamic threshold-adjust code.:
r1020 * BarDecode: define NDEBUG in Tokenizer.hh.
*) 2007-11-29
Rene Rebe:
r1019 * added deinterlace support, just shuffling every second line,
to help me working on the SANE/Avision backend (visualizing
RAW data)
*) r1018 | (no author) | (no date) | 1 line
*) 2007-11-28
Rene Rebe:
r1017 * merged r1013 from trunk: fixed the pnm codec to also skip multiple comment lines
*) r1016 | (no author) | (no date) | 1 line
*) r1015 | (no author) | (no date) | 1 line
*) r1014 | (no author) | (no date) | 1 line
*) 2007-11-28
Rene Rebe:
r1013 * fixed the pnm codec to also skip multiple comment lines, not just
a single one (aside valid use, occures in files saved by xsane)
*) r1012 | (no author) | (no date) | 1 line
*) r1011 | (no author) | (no date) | 1 line
*) r1010 | (no author) | (no date) | 1 line
*) r1009 | (no author) | (no date) | 1 line
*) 2007-11-24
* BarDecode: Cache whole token lines. Results in huge:
r1006 * performance improvement and more flexibility for the
* scanners.
* BarDecode: do only accept ean-codes of lenght 8, 12, adn 13.:
r1007 * do not accept code128 barcodes of length 0.
*) r1005 | (no author) | (no date) | 1 line
*) 2007-11-22
Lars Kuhtz:
r1004 * Fix scan-direction parameter in bardecode frontend.
r1003 * Add #define to bardecode/Tokenizer.hh that allows disabling
* of subpixel adjust code.
*) 2007-11-21
* New version of bardecode. New Features:
r1002 * scanning of all four orientations
* parameter for line-skip
* parameter for number of concurrently scanned lines
*) 2007-11-18
Rene Rebe:
r1000 * fixed two deprecated function calls
*) r999 | (no author) | (no date) | 1 line
*) r998 | (no author) | (no date) | 1 line
*) r997 | (no author) | (no date) | 1 line
*) r996 | (no author) | (no date) | 1 line
*) r995 | (no author) | (no date) | 1 line
*) 2007-11-16
Lars Kuhtz:
r992 * Remove prefix "BarDecode" from file in bardecode/*.
Rene Rebe:
r994 * added missing File object dependency due edentify to the frontends module
r993 * fixed earch -> each typo in the segmentation/Makefile, likewise
r991 * moved all commandline frontends including edentify into
a single frontends module
r990 * moved bardecode parts into an own subdir
* moved bardecode frontend into econvert frontend directory
*) r989 | (no author) | (no date) | 1 line
*) r988 | (no author) | (no date) | 1 line
*) r987 | (no author) | (no date) | 1 line
*) r986 | (no author) | (no date) | 1 line
*) r985 | (no author) | (no date) | 1 line
*) 2007-11-14
Rene Rebe:
r984 * #ifdef'ed debug code in the deskew function, as we want to build
it without Agg code in releases
*) r983 | (no author) | (no date) | 1 line
*) r982 | (no author) | (no date) | 1 line
*) r981 | (no author) | (no date) | 1 line
*) r980 | (no author) | (no date) | 1 line
*) r979 | (no author) | (no date) | 1 line
*) r978 | (no author) | (no date) | 1 line
*) r977 | (no author) | (no date) | 1 line
*) r976 | (no author) | (no date) | 1 line
*) r975 | (no author) | (no date) | 1 line
*) r974 | (no author) | (no date) | 1 line
*) r973 | (no author) | (no date) | 1 line
*) r972 | (no author) | (no date) | 1 line
*) r971 | (no author) | (no date) | 1 line
*) r970 | (no author) | (no date) | 1 line
*) r969 | (no author) | (no date) | 1 line
*) r968 | (no author) | (no date) | 1 line
*) r967 | (no author) | (no date) | 1 line
*) r966 | (no author) | (no date) | 1 line
*) r965 | (no author) | (no date) | 1 line
*) r964 | (no author) | (no date) | 1 line
*) r963 | (no author) | (no date) | 1 line
*) r962 | (no author) | (no date) | 1 line
*) r961 | (no author) | (no date) | 1 line
*) r960 | (no author) | (no date) | 1 line
*) r959 | (no author) | (no date) | 1 line
*) r958 | (no author) | (no date) | 1 line
*) r957 | (no author) | (no date) | 1 line
*) r956 | (no author) | (no date) | 1 line
*) r955 | (no author) | (no date) | 1 line
*) r954 | (no author) | (no date) | 1 line
*) r953 | (no author) | (no date) | 1 line
*) r952 | (no author) | (no date) | 1 line
*) r951 | (no author) | (no date) | 1 line
*) r950 | (no author) | (no date) | 1 line
*) r949 | (no author) | (no date) | 1 line
*) r948 | (no author) | (no date) | 1 line
*) r947 | (no author) | (no date) | 1 line
*) 2007-11-06
Rene Rebe:
r946 * fixed if scoping in the bardecode frontend which I broke during
inserting conditional filename printing for multiple files
r945 * improved bardecode to not use the -i syntax, but residuals to
iterate over multiple files
* output the filename before recognized codes if multiple filenames
are specified
* removed - 2008 copyright year as it's still 2007, added ExactCODE
r944 * fixed comment typo in Makefiles: earch -> each
r943 * renamed BarDecode -> bardecode and install
*) r942 | (no author) | (no date) | 1 line
*) r941 | (no author) | (no date) | 1 line
*) r940 | (no author) | (no date) | 1 line
*) r939 | (no author) | (no date) | 1 line
*) r938 | (no author) | (no date) | 1 line
*) r937 | (no author) | (no date) | 1 line
*) r936 | (no author) | (no date) | 1 line
*) r935 | (no author) | (no date) | 1 line
*) r934 | (no author) | (no date) | 1 line
*) r933 | (no author) | (no date) | 1 line
*) 2007-11-01
* Add a namespace BarDecode::debug for debugging utilities:
r927 * (most of all for pretty-printing of complex structures
* in gdb-sessions).
* Fix BarDecode::PixelIterator::at() to set x and y coordinates:
r928 * correctly.
* Add method BarDecode::Tokenizer::at().
Lars Kuhtz:
r932 * Do not include leading 0 (from ean13) into upc-a barcodes.
r931 * Fix decoding of code128 barcodes for symbol set C:
* fill with zeros on the left (instead of spaces).
r930 * Weaken constraints for recognition of code39 barcodes.
* improves recognition rate of code39 barcodes.
r929 * For barcode types without checksums require more
* than one matching sample in the BarDecode-frontend
* in order to accept the code.
r926 * Remove some dead (out-commented) code from BarDecodeScanner.hh.
Rene Rebe:
r925 * adapted segmentation and deskew debugging visualization and
econvert as well as the SWIG exported external API module
for the de-crufted vectorial module
r924 * removed vectorial module of histroic cruft
* added Path::clear() method to allow reusing the Path by wiping
vetex data
*) 2007-10-31
Rene Rebe:
r923 * fixed Path::end to call Agg in a way I intended the method's
functionality
r922 * prepared ending sub-pathes without closing
* added fill method specification (non-zero, even-odd)
r921 * added support for two Path::addArc* methods
r920 * initialize vector path style parameters
* implemented support to fill pathes
r919 * added one control point quadratic bezier curve method
* fixed rectangle drawing to force miter join
r918 * added line cap and join controls
r917 * fixed old style line drawing functions to setup the path dash style, again
*) 2007-10-30
Lars Kuhtz:
r916 * Add a comment to BarDecodeScanner.cc.
r915 * Add checksum test for ean/upc class barcodes.
r914 * Dynamically adjust threshold while scanning barcodes.
* this feature improves the overall recognition rate. However,
* it can break the recognition of particullar cases. Moreover,
* it might introduce more spurious matches than without this
* feature. Hence, in the future its usage should be made optional
* through the interface.
r913 * Add a comment to BarDecodePixelIterator.hh.
r911 * Add some general checks (that apply to all scanners) to
* barCodeIterator::next().
* this improves performance, because this checks are not
* repeated by each scanner but performed once now.
r910 * Rename BarDecodeModulizer.hh into BarDecodeTokenizer.hh.
* Remove some dead (outcommented) code on the way.
r907 * Added interleaved code25 barcode recognition.
Rene Rebe:
r909 * quick and dirty bezier curve support, probably slows down
the non curve (e.g. line) code pathes alot
r906 * started to draft a real path class
r905 * added dashed line drawing of pre-distance filter boundaries
to the deskew function
* unified debugging conditionals and indented them
r904 * implemented dashed vectors, refactored code
r903 * somre vectorial unified naming and example code factoring
r902 * fixed typo in drawRectangle fuction (sadly this was even exported
thru the external "set in stone" API, but as it was a grave typo
we decided to correct this
* fixed drawText to use the color specified (and not a hardcoded
RGB (0, 0, 0)
* implemented more elegant rectangle drawing (directly stroking
the path, not composing out of 4 single lines, ...)
*) r901 | (no author) | (no date) | 1 line
*) 2007-10-29
Rene Rebe:
r900 * fixed rotate functions to use a const Image::iterator& (should be
const_iterator, later)
r899 * "fixed" copy_crop_rotate to allow passing a dedicated background
color to fill "out of bounds" pixels with
r898 * tagged 0.4.1
r897 * bumped version to 0.4.1
r896 * merged 891, 892, and 893 from trunk:
* implemented accelerated, and lossless JPEG cropping
* do not crop/rotate in the deskew function if the debugging
conditional is set
* fixed the new jpeg cropping to return "true" to indicate the caller
that the crop thru codec was successful, ...
r895 * merged r805, r805, r810, r811, r812, r813, r814, r815, r816, r817, r825,
r827, r847, r851, r868, r868, r875, and r883 from trunk:
* fixed hardcoded lcms to use LCMSLIBS, as pointed out by Felix von Leitner
* higher default angle accurancy
* sacrified a little-performance while encoding TIFFs by inverting
1-bit data to MINISWHIE to please some historic junk applications,
including Apple's Preview.app included in OS X 10.4
* optimized inverting 1bit and 8bit image data
* fixed serveral aspects of the new on-the-fly invertion code of
the TIFCodec, including invalid free, and format conditionals, oh my
* fixed saving non single bit images as MINISBLACK, regression
from the former commit that was intended to save single bit
data as MINISWHITE, inverting the data on-the-fly
* invert all MINISWHITE files while decoding, not just 1bit data
* fixed (very tiny) memory leaks in the JPEG codec spotted by valgrind
(while I was looking for something else), probably only slipped in
due to the endless rewrites of the partial JPEG decoding and
transforming that is so ugly due to libjpeg uglyness, ...
* fixed codecs to not segfault on read/write without any codec
registered
* fixed the TIFF codec to actually really use G4 compression if
G4 compression is requested
* get rid of the switch warnings, for now
* made DataMatrix dtor virtual
* fixed edentify physical size computation, ieek!
* fixed TIFCodec to zero-initialize the resolution if the TIFF
stream contains none
* fixed copy_crop_rotate to also allow negative start coordinates
* get rid of unused dnd x/y warnings
* moved the edisplay dnd x/y variable initialization to the correct location
r894 * created 0.4 branch fom 0.4.0 release
r893 * fixed the new jpeg cropping to return "true" to indicate the caller
that the crop thru codec was successful, ...
r892 * do not crop/rotate in the deskew function if the debugging
conditional is set
r891 * implemented accelerated, and lossless JPEG cropping
*) 2007-10-28
* BarDecode change default value of BarDecodePixelIterator::it_size:
r889 * form 6 to 4.
* BarDecode: Add some ideas for further features to:
r886 * barDecode/concept.txt.
* BarDecode: Make number of simultaneously scanned vertical:
r887 * pixels a static parameter.
* Define NDEBUG in BarDecodePixelIterator.hh.
* NOTE: this should be better defined by the Makefile.
* Bugfixes for BarDecode:
r884 * possibly segmentation fault in get_bars()
* computation of checksum for code128
Lars Kuhtz:
r888 * Some performance improvements for barcode scanning.
Rene Rebe:
r883 * moved the edisplay dnd x/y variable initialization to the correct location
*) r882 | (no author) | (no date) | 1 line
*) r881 | (no author) | (no date) | 1 line
*) r880 | (no author) | (no date) | 1 line
*) r879 | (no author) | (no date) | 1 line
*) 2007-10-28
Rene Rebe:
r878 * some TODO polishing
r877 * moved deskew visualization and debug text to debug a conditional
*) r876 | (no author) | (no date) | 1 line
*) 2007-10-28
Rene Rebe:
r875 * get rid of unused dnd x/y warnings
*) r874 | (no author) | (no date) | 1 line
*) r873 | (no author) | (no date) | 1 line
*) r872 | (no author) | (no date) | 1 line
*) r871 | (no author) | (no date) | 1 line
*) 2007-10-28
Rene Rebe:
r870 * finalized deskew by adding width and hight determination and cropping
* moved deskew functionality into it's own library module
r869 * prepared line styles for vector graphics
r868 * fixed copy_crop_rotate to also allow negative start coordinates
*) r867 | (no author) | (no date) | 1 line
*) r866 | (no author) | (no date) | 1 line
*) 2007-10-27
Rene Rebe:
r865 * removed old deskew test code
r864 * improved deskew by searching 5/6 of the sides,
filter points that are too far off the determined
border line, and improved the code and comments on
the way
*) r862 | (no author) | (no date) | 1 line
*) 2007-10-27
Rene Rebe:
r861 * fixed spelling: comperator -> comparator
*) 2007-10-26
Lars Kuhtz:
r853 * let BarDecode be more concerned about specific barcode types.
Rene Rebe:
r860 * do not search the whole area during deskew
r859 * fixed a deskew debug line drawing mixed up coordinate
r858 * some more concept text for the deskew
r857 * implemented skipping on-border pixels (as they are clipped and
decrease accurancy)
r856 * some const correctness cleanup in the Image class
r855 * further deskew implementation, fixed an off-by-one error, introduced more
marks and compute the linear regressions of the border areas
r854 * cleaned up some spacing in the new LinearRegression
r852 * added LinearRegression code
r851 * fixed TIFCodec to zero-initialize the resolution if the TIFF
stream contains none
r849 * started a finally usable deskew
*) r848 | (no author) | (no date) | 1 line
*) 2007-10-26
Rene Rebe:
r847 * fixed edentify physical size computation, ieek!
*) r846 | (no author) | (no date) | 1 line
*) r845 | (no author) | (no date) | 1 line
*) r844 | (no author) | (no date) | 1 line
*) r843 | (no author) | (no date) | 1 line
*) r842 | (no author) | (no date) | 1 line
*) r841 | (no author) | (no date) | 1 line
*) 2007-10-24
* Possibly improve performance of BarDecode::Modulizer::next():
r836 * a little.
Lars Kuhtz:
r840 * Make size of vector of simultanously considered pixels
* in BarDecode::PixelIterator a parameter.
r839 * Fix a segmentation fault and update a comment in
* barDecodeModulizer.hh.
r838 * Cleanup code in BarDecode.cc.
r837 * Improve performance of BarDecode by using a vector of 4
* (vertically aligned) pixels when iterating over the image.
r835 * Actually disable debugging in BarDecodeScanner.cc
* (as claimed in rev. 834).
r834 * Move DEBUG switch to the top of BarDecodeScanner.cc
* and comment it out.
r833 * Make BarDecode binary a little bit more quiet.
*) 2007-10-23
Lars Kuhtz:
r832 * Improved recognition rate of BarDecode.
* caution: This is prototypic, quiet ineffcient code.
r831 * Make BarDecode code compile, at least.
*) r830 | (no author) | (no date) | 1 line
*) 2007-10-23
Lars Kuhtz:
r828 * initial barcode decoding implementation
r827 * made DataMatrix dtor virtual
Rene Rebe:
r829 * fixed spelling - it's useful (not usefull)
*) 2007-10-19
Rene Rebe:
r826 * some more real Image class method drafting
r825 * get rid of the switch warnings, for now
*) 2007-10-18
Rene Rebe:
r823 * vectorial "TODO" annotation
r822 * added proper set/get functions to the Image class
r821 * converted crop to const_iterator
r820 * added const_iterator cast to the Image::iterator
r818 * started Image::const_iterator
*) 2007-10-17
Rene Rebe:
r817 * fixed the TIFF codec to actually really use G4 compression if
G4 compression is requested
*) 2007-10-12
Rene Rebe:
r816 * fixed codecs to not segfault on read/write without any codec
registered
*) 2007-08-08
Rene Rebe:
r815 * fixed (very tiny) memory leaks in the JPEG codec spotted by valgrind
(while I was looking for something else), probably only slipped in
due to the endless rewrites of the partial JPEG decoding and
transforming that is so ugly due to libjpeg uglyness, ...
r814 * invert all MINISWHITE files while decoding, not just 1bit data
r813 * fixed saving non single bit images as MINISBLACK, regression
from the former commit that was intended to save single bit
data as MINISWHITE, inverting the data on-the-fly
r812 * fixed serveral aspects of the new on-the-fly invertion code of
the TIFCodec, including invalid free, and format conditionals, oh my
r811 * optimized inverting 1bit and 8bit image data
r810 * sacrified a little-performance while encoding TIFFs by inverting
1-bit data to MINISWHIE to please some historic junk applications,
including Apple's Preview.app included in OS X 10.4
r809 * fixed hackish multi-page TIFF writing to write out the Directories
* made method static and public as currently it is only possible
to write multi-page TIFF with custom streams that support reading
(the std::ostreams do not :-()
r808 * removed test code comments from codecs/tiff.cc
*) 2007-08-07
Rene Rebe:
r807 * factored TIFCodec image data writing into an own method,
in preparation for multi-page TIFF files
r806 * higher default angle accurancy
*) 2007-08-05
Rene Rebe:
r805 * fixed hardcoded lcms to use LCMSLIBS, as pointed out by Felix von Leitner
*) 2007-08-03
Rene Rebe:
r804 * tagged 0.4.0
r803 * do not install the ContourMatching test
*) 2007-07-31
Rene Rebe:
r802 * if the auto-computed divisor in the econvert frontend is 0 default
to 1, instead of dividing by 0
r799 * some spelling fixes in econvert
Susanne Klaus:
r801 * renamed convolution matrix functions as the other functions are post-fixed
r800 * implemented generic normalize for non-gray images
*) 2007-07-30
Susanne Klaus:
r798 * added mirrored border parts to the generic convolution matrix
r797 * normalize manually specified convolution matrix in econvert
*) 2007-07-29
Susanne Klaus:
r796 * implemented convolution_matrix_generic for none gray images
r795 * fixed convolve argument to not force an argument
*) 2007-07-28
Susanne Klaus:
r794 * implemented --convolve in econvert
* fixed const correctness in Matrix.{hh,cc}
*) 2007-07-27
Rene Rebe:
r791 * updated TODO
Susanne Klaus:
r793 * exported imageInvert, imageBrightnessContrastGamma and
imageHueSaturationLightness via SWIG
r792 * fixed brightness_contrast_gamma and hue_saturation_lightness
to invalidate the pixel cache
r790 * implemented invert for images
* exported invert function as negate in econvert (for
imagemagick compatiblity)
*) 2007-07-26
Rene Rebe:
r789 * improved jpeg codec to print an expicit note for less than 8 bps data
r788 * synced C++ ContourMatching and perl ContourMatching API default
values to the currently known best combination, matches some more
test files by default
*) r787 | (no author) | (no date) | 1 line
*) r786 | (no author) | (no date) | 1 line
*) r785 | (no author) | (no date) | 1 line
*) 2007-07-26
Rene Rebe:
r784 * added line style, just width so far
* exported lineWidth thru swig
* exported foreground / background color, likewise
r783 * silence compile warning in FG-Matrix.cc due to signed vs unigned compare
*) 2007-07-25
Rene Rebe:
r782 * added hue_saturation_lightness function
* including necessary getHSV/setHSV Image::iterator helper
* exported via econvert
r781 * fixed new brightness_contrast_gamma function to work on 16bit data
* introduced new getRGB/setRGB with double arguments for more correct
and comfortable handling
* needed to explicitly cast some other code places as the with the
overloaded getRGB/setRGB the code became ambegious
r780 * added brightness, contrast, gamma support (in Colorspace.*, and econvert)
r779 * fixed the png codec to swap 16bit data while writing on little-endian CPUs
r778 * added 16bit support to flipX and flipY, removed TODO: 16bit comment
* removed stray tiff.hh inclusion
r777 * inject -fPIC for non-i686
r776 * added "no-op" checks to all individual scale functions
*) 2007-07-24
Rene Rebe:
r775 * re-enabled partial convolution code in optimize2bw
r774 * reverted r773, decided such const noise is not worth it, ...
*) 2007-07-23
Rene Rebe:
r773 * const'ed some Matrix::* arguments, just in case it helps some compilers
r772 * moved coding comments I formerly had lingering in a working-copy into the TODO
r771 * free temp. matrix in "older" optimize2bw code
* setRawData to potentially invalidate compressed data cache
* removed debug printf
r767 * added documentation to optimize2bw and implemented an lossy
optimized private convolution matrix checking for edges at the
center in order to optimize the expensive matrix computation away
Valentin Ziegler:
r770 * fixed new optimize2bw code (reminder: -1*-1==1)
r769 * some code cleanups, temporarly made bw optimization matrix a
* gausian blur
r768 * added code for decomposable convolution matrices
* optimize2bw using new code now (work in progress)
*) r766 | (no author) | (no date) | 1 line
*) 2007-07-23
Rene Rebe:
r765 * fixed comment function name upper vs. lower-case
r764 * do not re-optimize already b/w images in the optimize2bw routines
r763 * added forgotten agg-2.4/Makefile needed for non-system agg builds
*) 2007-07-06
Rene Rebe:
r762 * fixed our blend_solid_vspan bridge to actually blend correctly :-)
r761 * changed the build infrastructure to build the internal agg-2.4 if
no in-system one is present
r760 * importeted a agg-2.4, without the makefiles and instead with our exact-build Makefile
*) 2007-07-05
Rene Rebe:
r759 * updated TODO as Agg is now integrated
r758 * adapted former Line users to the new functions, as we only have
anti-aliasing versions, anymore - with double parameters featuring
sub-pixel accurancy
* export Font rendering in the Perl API, likewise
r757 * Agg bridge part II (actually should have been in the last revision, but ...)
r756 * removed custom, aging and imperfect line drawing code in favour of
Agg integration, including Text rendering (will later allow to
raster arbitrary vector elements :-)
*) 2007-07-04
Valentin Ziegler:
r755 * adjust the translation after heuristic matching
* centroid drawing versions of contour plot functions (commented out)
*) r754 | (no author) | (no date) | 1 line
*) 2007-07-04
Rene Rebe:
r753 * updated TODO
r752 * export AALine drawing via Swig
r751 * ported the AALine to exact-image (from the old GSMP/pixmap)
r750 * marked Image::getRGB and Image.getL const
* added coypright boilderplate
r749 * added an work in progress differential image thresholding
*) 2007-07-03
*) r747 | (no author) | (no date) | 1 line
*) r746 | (no author) | (no date) | 1 line
*) r745 | (no author) | (no date) | 1 line
*) 2007-07-03
Rene Rebe:
r744 * export copyImageCropRotate thru the Swig API
r743 * added a ueber fast copy_crop_rotate() function
* made Image::copyMeta public, ...
*) r742 | (no author) | (no date) | 1 line
*) 2007-07-03
Rene Rebe:
r741 * fixed a first pixel inversted x/y bug that was introduced by a
factor out optimization just yesterday evening :-(
*) r740 | (no author) | (no date) | 1 line
*) 2007-07-02
Valentin Ziegler:
r739 * implemented drawMatchedContours perl binding
*) r738 | (no author) | (no date) | 1 line
*) 2007-07-02
Rene Rebe:
r737 * exported Line and Rectangle drawing thru the Swig API
r736 * added drawRectangle, yay!
* completely removed raw H/V line wrappers from the segmentation, use the new drawRectangle instead
r735 * corrected messed up line drawing, factored out initial pixel blending of all line drawing cases
r734 * fixed line color blending and econvert argument order
r733 * fixed GSMP/line code into exact-image hack pass
r732 * first pass segmentation to new drawLine conversion as well as first
pass drawLine infrastructure adaption
Susanne Klaus:
r731 * partial line drawing code from the old GSMP code-base, incomplete
*) r730 | (no author) | (no date) | 1 line
*) r729 | (no author) | (no date) | 1 line
*) r728 | (no author) | (no date) | 1 line
*) 2007-07-01
Rene Rebe:
r727 * tagged 0.3.8
r726 * merged r696 from trunk to branches/0.3: changed Matrix to build as a module
r725 * imported all non-countour and log detection changes and bug fixes
into the 0.3 branch:
* r722: fixed some configure messages to include exact-image as package name
* r721: fixed various bugs in the crop function
* r708: added rgba -> rgb downscaling to the colorspace converters
* r701: changed remaining endianess dependant parts to use the new Exact::Endianess helpers
* r700: reverted custom color premultiplication, now done per-version in the gfx base
* r699: simplified edisplay background pattern
* r698: fixed new rotation binding to not display the zoom leve after rotation
* r697: added rotate to edisplay (bound to < and >)
* r693: removed a stray empty line
* r692: changed the tiff encoder to not write palette TIFFs for 1, 2 and 4 bps data, but use MINISBLACK
* r691: exported the fast-auto-crop function in econvert, likewise
* r690: fixed gray table detection and gray TIFF table writing
* r689: indented crop function
* r688: moved fastAutoCrop code from the api module into lib/crop
* r687: export imageCrop thru the SWIG API
r724 * bumped work in progress version of trunk to 0.4.0
r723 * 0.3.7 as 0.3 branch
r722 * fixed some configure messages to include exact-image as package name
r721 * fixed various bugs in the crop function - sigh
*) 2007-06-21
Valentin Ziegler:
r720 * generic functions to cache contour arrays on disk
*) 2007-06-07
Valentin Ziegler:
r719 * support for inverse translation coordinate calculation
r718 * fixed an off-by-one error wich sometimes crashed rotate(...)
*) 2007-06-06
Valentin Ziegler:
r717 * perl bindings for logo matching
r716 * changed default parameters to omit rotations in pre-matching
r715 * finetuning of superpositioning parameters
r714 * contour matching demo programm
r713 * contour plotting
*) 2007-06-05
Rene Rebe:
r708 * added rgba -> rgb downscaling to the colorspace converters, as well
as the copyright plate
Valentin Ziegler:
r712 * contour matching algorithm, currently without post
* optimization
r711 * reverted some Makefile changes i did by accident
r710 * added Contours destructor
r709 * some simple tools for working with contours
*) 2007-06-04
Valentin Ziegler:
r707 * distance matrix and contour visualisation
r706 * made DataMatrix operator() return a reference
* Fast Contour extraction
*) 2007-06-01
Valentin Ziegler:
r705 * Protected DataMatrix and FG-Matrix headers
* allow instantiation of DistanceMatrix from FGMatrix object
*) 2007-05-31
Valentin Ziegler:
r704 * correct segment_image signature for new code
r703 * added a generic image data matrix class featuring subimaging
* foreground pixel matrix based on data matrix
* euklidean distance matrix based on data matrix
* ported segmentation algorithm to use foreground pixel matrix
*) 2007-05-28
Rene Rebe:
r702 * updated TODO and added some TODO notes to the lib/Image.hh
r701 * changed remaining endianess dependant parts to use the new Exact::Endianess helpers
r700 * reverted custom color premultiplication, now done per-version in the gfx base
r699 * test of simplified edisplay background pattern
r698 * fixed new rotation binding to not display the zoom leve after rotation
r697 * added rotate to edisplay (bound to < and >)
*) 2007-05-23
Rene Rebe:
r696 * changed Matrix to build as a module
*) 2007-05-22
Valentin Ziegler:
r695 * test program for the segmentation algorithm
r694 * added image segmentation code
*) 2007-05-21
Rene Rebe:
r693 * removed a stray empty line
*) 2007-05-20
Rene Rebe:
r692 * changed the tiff encoder to not write palette TIFFs for 1, 2 and 4 bps
data, as other software will often interprete it as RGB and we have
to parse the table on load as well: Just use MINISBLACK, works with
ImageMagick and Gimp as well, though only we and Gimp load 2 and 4
bps MINISBLACK TIFF files correctly :-)
r691 * exported the fast-auto-crop function in econvert, likewise
r690 * fixed gray table detection and gray TIFF table writing
r689 * indented crop function
r688 * moved fastAutoCrop code from the api module into lib/crop
r687 * export imageCrop thru the SWIG API
r686 * bumped version to 0.3.8
r685 * tagged 0.3.7
r684 * do not build with -s by default, silently corrupts binaries on OS X
*) r683 | (no author) | (no date) | 1 line
*) 2007-05-20
Rene Rebe:
r682 * converted remaining endianess conversions to new-style Templates and Traits
r681 * removed overlook old-style, explicit endianess swaping from the bmp codec
r680 * avoid log2 in riemersma ditherer as not available on BSD, OS X, ...
r679 * de-lagacied bmp codec:
* use standard inttypes instead of custom typedefs
* use auto endianess converter
*) 2007-05-19
Rene Rebe:
r678 * next matrix test
r677 * next compiler guiding attempt
r676 * manual matrix loop unrolling that appears to save a few more cycles
on a Core 2 Duo, pushing to the Pentium4 for testing
*) 2007-05-18
Rene Rebe:
r675 * further optimized the convolution matrix, multiple instead of divide in the inner loop
r674 * implemented generic offset crop, optized thru memmove
*) 2007-05-17
Rene Rebe:
r673 * added crop option to econvert
*) 2007-05-16
Rene Rebe:
r672 * skip the last pixel in the fastAutoCrop for now due to residual sub-byte pixels
* do not crop the image to a size of 0x0, do nothing in that case
r671 * started crop function and added a fastAutoCrop function
to the public API
*) 2007-05-15
Rene Rebe:
r670 * removed the OSD alpha debugging printout
*) 2007-05-01
Rene Rebe:
r669 * bumped version to 0.3.7
r668 * tagged 0.3.6
r667 * commented some debug output in the palette parsing code
r666 * fixed edisplay OSD for pre-multiplied alpha, sigh
r665 * fixed bmp codec to correctly read bitfield files
*) 2007-04-30
Rene Rebe:
r664 * removed obsolete comment from empty-page
r663 * renamed colorspace_convert -> colorspace_by_name
* removed normalize case of optimize2bw, it break the
newly introduced min-delta and the bg color is
nearly the same, just more advanced for this case by
matching on the bg color
* custom matrix for empty-page, it must be fast and
rather produce bright images
r662 * added min-delta to optimiize2bw so that a nearly empty blank page's
color-space is not stretched over the full brightness range
r661 * optimized background color search of optimize2bw
r660 * moved colorspace convert by name helper from the api.cc into Colorspace.cc
*) r659 | (no author) | (no date) | 1 line
*) 2007-04-15
Rene Rebe:
r658 * bumped version to 0.3.6
r657 * tagged 0.3.5
r656 * added support to build edisplay without Evas_GL support
r655 * added affine transform TODO note
*) 2007-04-14
Rene Rebe:
r654 * fixed codecs/pnm to correctly byteswap all of the passed
data (e.g. not just 1/3 of RGB images, ...)
*) 2007-02-07
Rene Rebe:
r653 * fixed a typo in the bicubic scaler introduced with the
assignment operator / copy ownership migration, spotted by
Evan Weaver <eweaver.spamtrap@gmail.com>
r652 * bumped version to 0.3.5
r651 * tagged 0.3.4
r650 * updated the TODO
*) 2007-02-06
Rene Rebe:
r649 * include algorithm and ctype.h explicitly (for compilation with
dietlibc / embeddedSTL)
* fixed a u_int vs. uint on-the-fly
r648 * silenced debuging printout in the xpm codec
r647 * optimized xpm loader to cache the last pixel name match lookup
r646 * implemented loading XPM files with 2 characters per pixel
*) 2007-02-04
Rene Rebe:
r645 * free the xpm colormap after decoding the stream
r644 * added equally hacky and preleminary XPM writing
r643 * added preleminary, basic XPM decoding support
*) 2007-02-01
Rene Rebe:
r642 * bumped work-in-progress version to 0.3.4
r641 * tagged 0.3.3
*) 2007-01-31
Rene Rebe:
r640 * free JPEG decompressor after decoding JPEG data
*) 2007-01-26
Rene Rebe:
r639 * bumped 0.3.2 release version to 0.3.2
r638 * bumped work-in-progress version to 0.3.3
r637 * tagged 0.3.2
r636 * fixed explicit endianess swab in the BMP loader
*) 2007-01-24
Rene Rebe:
r635 * further optimized matrix convolution: use the available src_ptr and
substract a pre-computed kernel "begin" offset
r634 * reverted r625, tune for pentium4 on 686, again - it makes a noticeable
difference on those deep piplined CPUs
r633 * fixed optimized optimize2bw to correctly increment the (unused) src_ptr
in the convolution area and thus use the correct pixels for the right
border
r632 * manually unswitched and peeled the matrix convolution loop
r631 * tiny Matrix refactoring on the way to squeeze a bit more
performance out of it
r630 * removed unnecessary includes from bardecode.cc
*) 2007-01-22
Rene Rebe:
r629 * fixed the Image::iterator::at method to set the internal _x counter
to fix issues when decrement/increment is used after positioning
via at() due to unhandled remainder byte wrapping
r628 * fixed optimiized sub-byte colorspace conversin functions to take
the remainder bites at the end of reach row into account
r627 * fixes braces and spacing in the box_scale function, including
a commented debug pattern
r626 * fixed the sub-byte image iterator to not accumulate the new pixel
data over existing "noise", but mask out the bits currently be set
r625 * do not try to tune for pentium4, someone reported problems that I have to review
r624 * default to an commonly known "objdir" since most exact-image users prefer it
*) 2007-01-20
Rene Rebe:
r623 * tagged 0.3.1
*) 2007-01-13
Rene Rebe:
r622 * implemented fast jpeg downscaling by partial DCT unpacking
*) 2007-01-12
Rene Rebe:
r621 * removed one and commented another debug printout
r620 * implemented "lossless" toGray conversion in the JPEG codec
* optimiized writing the final JPEG data by not needlessly writing
into the private shadow copy
r619 * added a toGray method to the Codec class
r618 * added bw and gray1 to the econvert colorspace help text
r617 * added bw and bilevel to the list of known colorspace conversions
*) 2007-01-11
Rene Rebe:
r616 * tagged 0.3.0
r615 * avoid a memcpy before eaach scaler operation
r614 * new Image::copyTransferOwnership method for copying an Image with
transfering the raw-data ownership (allows optimizing some algorithms)
* new protected Image::copyMeta to avoid code duplication
* do not debug pring image modifications anymore
r613 * light debug printout cleanup before release
r612 * initialize the Image::codec member, prevents random crashes in the dtor :-)
r611 * release attached codec in the Image dtor
r610 * support for freestanding codecs (that do not auto-unregister in the dtor)
* allows multiple instances of JPEG DCT to be alive
* fixes saving and transforming JPEG DCT that do not belog to the actual image
* simpilifies reuse on write detection as the freestanding instance is
automatically called by the Codec demuxer
r609 * adapted bardecode support for the removed Image::Clone method
*) 2007-01-10
Rene Rebe:
r608 * fixed a typo in the API export
r607 * fixed the Image assignment operator (does really clone and
on-demand load the data, now)
* removed obsolete Image::Clone method
* converted the official api to use the new cloning assignment
operator instead the former ::Clone method
r606 * fixed latest jpec codec regression by seeking to the beginning in the private
stream copy before performing a transformation
r605 * mark data modifed in optimize2bw and added a copyright header to Matrix.hh
r604 * mark more methods modifing
r603 * mark more algorithms modifing the image data
*) r602 | (no author) | (no date) | 1 line
*) r601 | (no author) | (no date) | 1 line
*) 2007-01-10
Rene Rebe:
r600 * added flipX and flipY to the Perl API
r599 * some light jpeg codec refactoring, name cleanup
* encode new meta-data (resolution, etc.) when transforming JPEGs,
so they match when the image might finally be decompressed
* re-write jpeg stream on final write even if we have shadowed
data as meta data might have changed
* added JXFORM_NONE suport for this in JPEGCodec::doTransform()
* correctly transform meta data (width, height, resolution, etc.)
when the jpeg transformation is applied
r598 * removed a "time(1)" output comment from lib/scale.cc that was added whilte benchmarking
r597 * readded jpeg, classic encoding colorspace assignment that got lost in
rewriting the jpeg codec support for fast and lossless DCT transforms
r596 * fixed update of meta data after jpeg transformations have been applied
r595 * exported nearest neighbor scaling thru the stable scripting API
r594 * handoptimized bilinear scaler, 7x faster than the generic iterator ...
*) r593 | (no author) | (no date) | 1 line
*) 2007-01-10
Rene Rebe:
r592 * fix a second quality default in econvert and update the help text
r591 * fixed econvert to not trigger decoding of images that might still live
uncompressed on output
* default to a quality of 75 as it is the overall default, now, likewise
r590 * less optimized and pretty but working lossless jpeg rotation and flipping
(we now save a complete copy of the image, not just the DCT etc., because
the libjpeg is very picky about memory management and layout and for
not yet determined reasons crashes if an exact order is not followed, this
does somewhat limit the ability to read the coefficients in the beginning
and allocate the transformation workspace later on - it just crashes
libjpeg ...)
*) 2007-01-09
Rene Rebe:
r589 * lossless jpeg transformation support work
r588 * rehacked jpeg lossless encoding
r587 * added more Codec documentation
r586 * added an expicit double to int cast in optimize2bw to avoid compiler warning
r585 * blanko optimizing skelton for upcomming optimizing jpeg transforms
r584 * finalized new optimizing Codec methods
* added support for codec flipX, flipY, rotate
* introduced a generic scale function with support for codec scale
* converted econvert and the stable api to the new generic scale
function
* introduced new BilinearScale function in the stable api
r583 * implemented ImageCodec prototypes for the ptional optimizing and/or
lossless implementations (JPEG, et.al.)
r582 * fixed econvert to not use the work-in-progress ddt scaller but the standard bilinear one
r581 * implemeneded on-demand image decoding callback
r580 * added removal note to the OLD ImageCodec API
r579 * changed default encoding quality in Codecs.hh from 80 to 75
and api.hh from 100 to 75, likewise (libjpeg defaults)
r578 * fixed memory corruption due freeing realloc'ed memory in Image::New (must
use ::setRawDataWithoutDelete instead of just ::setRawData which free's
the data if the pointer differ)
r577 * added new decoder ID to the image class, because I decided that always attaching
a codec is too expensive (so far only JPEG will - however maybe later we always
want to attach it to allow more decoder details retrival [quality, compression
algo and such])
r576 * added introductionary documentation to the Codec.hh
r575 * moved static Codec methods out of the header, initialize the loader vector
and check if a loader vector is available on unregistration
r574 * minimal Image documentation, whitespacing, and setCodec 0 check
r573 * more Image documentation drafting before final coding
r572 * updated lib/Image class documentation
r571 * s/unsigned char/uint8_t/ for edisplay
r570 * cleanups by s/unsigned char/uint8_t/
r569 * cleaned up codecs by less manual C data allocation
r568 * more "mark-dirty" logic in the morning
*) 2007-01-08
Rene Rebe:
r567 * moved codec unregistration into the ImageCodec base class
r566 * more "next-gen" on-demand loading and compressed data reuse work
r565 * minimal whitespacing and copyright notes
r564 * mover Image implementation out of the header into the .cc (to prevent further
whole project rebuidls and avoid inlining
r563 * jpeg white spacing and documentation
r562 * matching image class preparations
r561 * next preparations to attach the ImageCodec to the image object,
also allow edentify to output the codec name
* temporarily disabled original jpeg coefficent writing as it
relied on a hack now removed
r560 * fixed jpeg loader to not skip non JFIF, e.g. EXIF, JPEG images
r559 * encapsulate Image::data, RawData access and set to soon allow decode
on access, so save cycles when just the dimeneions are edentified
and allow lossless optimizations for JPEG
r558 * implemented rot90 for 2 and 4 bps bit-modes
*) 2007-01-07
Rene Rebe:
r557 * prepared jpegsupport stuff for rotation, flipping and cropping
r556 * bumped work-in-progress-version: 0.3.0
r555 * the upcomming Image iterator first thoughts - DRAFT
r554 * another tiny optimization for the bit-level bilevel-scaler and commented out debugging output
r553 * correctness fixes for the handcrafted bit scaler
r552 * handcrafted bilinear scaler for bps < 8
r551 * handcrufted 8bps bilinear saler for a test
*) 2007-01-06
Rene Rebe:
r550 * tagged 0.2.6
r549 * implemented rotate.c::flipX for 2 and 4 bit per sample
r548 * removed custom byte stride computation in lib/rotate, use image::Stride instead
*) 2006-12-09
Rene Rebe:
r547 * and image::Clone should better actually return the clone :-)
r546 * fixed copied image::Clone method to actually build :-) (that happens when you commit on OSs that do not allow fully building exact-image, yet ...)
r545 * moved stable api copyimage functionality into a image::Clone mehtod
*) 2006-12-08
Rene Rebe:
r544 * hacked Colorspace.cc for Mac OS X - but I'll soon start to resurrect
the exact-audio endianess templates for ths tasks which will
significantly beautify the code ...
r543 * removed unnecessary includes from optimize and emmpty-page
*) 2006-11-30
Rene Rebe:
r542 * changed the new debug conditional in optimize2bw to use const bool, not int (too much C the last days ...)
r541 * updated empty-page to use the non-color quickpass of optimize2bw
r540 * experimental static noise for descew analyzation inside econvert
r539 * adapted the official stable API internals for the optimize2bw color changes
r538 * adapted the optimize2bw CLI for the color optimization changes
r537 * added background color detection to the b/w optimization
r536 * added operator+ and limit to the Image class as well as some
comments for future color spaces
*) 2006-11-29
Rene Rebe:
r535 * marked some scaler intermediate values const, allowing more compiler
optimizations
*) 2006-10-28
Rene Rebe:
r534 * bumped working version to 0.2.6
r533 * tagged 0.2.5
*) 2006-10-27
Rene Rebe:
r532 * final base aligning code that works for me (tm)
r531 * only set min/max length if non-zero, otherwise CODE39 with chars
are not read quite right (with an slightly older version)
r530 * new alignment code that dos not crop pixels, allows aligning the base
* set photometric back to 1 as otherwise some barcodes are not recognized
(as I correctly had somewhere stored in memory)
r529 * tiny comments for the X/Y res API
r528 * document bardecode threshold setting
r527 * added comment about bardecode color crashes
* print xres
* set photometric to 0 as document - does not appear to change anything right now
r526 * disabled debugging by default again, moved two more prints to the static debug switch
* set xres in the temp. image for bardecode and only
* scale gray2 to gray8
r525 * indended and line wrapper bardecode
r524 * fixed a comment typo
r523 * do not lowercase the colorspace string in ecovert, do it in the
official API so the script calling convetion is the same ans easier
* lowercase the barcode in the official api no in the internal function
* implemented support for "any" in the barcode decoding interface
*) 2006-10-26
Rene Rebe:
r522 * so - sledghhammer - always scale the image passed into bardecode
to gray8 and allign every damn pixel row to a DWORD addressa ...
r521 * fixed the bardecode support to copy the image to mangle it
(and not alter the original image)
* added some debugging code along-the-lines
r520 * fixed grayX_to_gray8 to not set samples per pixels to 3 ...
*) 2006-10-19
Rene Rebe:
r519 * hand expanded the bilinear_scale function as long as we have no better image iterator ...
(vital for optimize2bw performance)
r518 * implemented imageColorspace in the public API
* added qualiy and compression default arguments (100 and "") to the
stable API encode functions
* added a target DPI argument to the public optimize2BW function
defaulting to 0
r517 * added multiple imclusion guard to Colorspace.hh
r516 * added a new imageConvertColorspace function to the stable api and
also let econvert use it so we do not have duplicate code
* fixed the former econvert colorspace conversion typo to be able
to convert to gray4
r515 * bumped working version to 0.2.5
r514 * tagged 0.2.4
r513 * prepared the jpeg codec for CMYK
*) 2006-10-18
Rene Rebe:
r512 * fixed the pnm codec to correctly read and write 1bps files and also
to be exorbitantly faster (in any bps/spp combination) compared to
the former "first pass" implementation
r511 * fixed the api/api.cc to incldue api.hh in a non-system way
r510 * now that we have per module FLAGS let the api inject the perl cruft flags only for the api files (greatly reduces compiler shouting about unsupported C flags in C++ mode ...)
r509 * TODO notes
r508 * added a big, fat warning when evas support was not found
r507 * updated TODO
r506 * fixed econvert to display the usage if no argument was given
r505 * cleaned some spacing while reading some files
r504 * fixed endian inclusions for FreeBSD, sigh (we need a central place for them ...)
r503 * fixed the dcraw loader to build without jpeg support
r502 * use env for the bash call in the configure script, not all systems have bash in /bin/ ...
*) 2006-10-17
Rene Rebe:
r501 * fixed the jpeg codec to clear the istream fail/eof state so we are
able to get the new position fo set the buffer size appropriately
r500 * changed working target version to 0.2.4
r499 * tagged 0.2.3
r498 * removed two debugging printouts in the bmp writer
r497 * implemented basic, umcompressed RGB8 BMP files writing
*) 2006-10-16
Rene Rebe:
r496 * fixed big-endian typo in the new edisplay channel cycle code
r495 * support shift+tab backward cycling thru the channels
r494 * not only color dropout but also intensity maps
r493 * implemented color dropout (via <tab>) in the edisplay viewer
*) r492 | (no author) | (no date) | 1 line
*) 2006-10-16
Rene Rebe:
r491 * bumpd work-in-progress version to 0.2.3
r490 * added a function to copy an image
*) 2006-10-14
Rene Rebe:
r489 * tagged 0.2.2
r488 * added the 90 degree special case to the rot function
*) 2006-09-15
Rene Rebe:
r487 * added X11R7 font path (share now)
*) 2006-09-12
Rene Rebe:
r486 * fixed build without bardecode by correcting preprocessor conditionals
*) 2006-09-08
Rene Rebe:
r485 * fixed codecs/bmp for gcc < 4.x
*) r484 | (no author) | (no date) | 1 line
*) r483 | (no author) | (no date) | 1 line
*) r482 | (no author) | (no date) | 1 line
*) 2006-09-06
Rene Rebe:
r481 * simplified barcode passing, use of strdup, thanks Valentin
*) r480 | (no author) | (no date) | 1 line
*) 2006-09-06
Rene Rebe:
r479 * return the barcode strings
r478 * code and length control for the barcode library
r477 * bumped version to 0.2.2 and added a note where to get the barcode library from
r476 * tagged 0.2.1
r475 * version bump to 0.2.1
*) r474 | (no author) | (no date) | 1 line
*) 2006-09-06
Rene Rebe:
r473 * detailed API for optimize and empty-page
r472 * more api wraps
*) r471 | (no author) | (no date) | 1 line
*) 2006-09-06
Rene Rebe:
r470 * removed a debug output from optimize2bw
* fixed all the scalers to set the new_image.data to 0
as New does realloc for some time
r469 * let empty-page use the new library function and fixed said function
*) r468 | (no author) | (no date) | 1 line
*) 2006-09-06
Rene Rebe:
r467 * converted optimize2bw to use the optimize2bw function and
changed said function to not threshold the data for the
sake of scaling quality that can be performed by the callee
r466 * moved empty-page and optimize2bw over into the lib as functions
and made them build as that
r465 * added bardecode header
r464 * fixed swig api to include the config.h
* added more wrappers, including scaling and bardecode
* made the api print out the swig status line
r463 * moved the barcode code over into the lib for easier handling
r462 * prepared bardecode for library inclusion and added a configure check
*) 2006-09-05
Rene Rebe:
r461 * re-tagged 0.2.0
r460 * remove 0.2.0, needs the api fix
r459 * fixed api build, sigh
r458 * tagged 0.2.0
r457 * install the perl module
*) 2006-09-04
Rene Rebe:
r456 * reverted pai debug test code back to read code
*) r455 | (no author) | (no date) | 1 line
*) 2006-09-04
Rene Rebe:
r454 * finally worked around swig perl string return bug, fix commited upstream anyway
(gives a SWIG deprecated warning - BUT WORKS!)
*) r453 | (no author) | (no date) | 1 line
*) 2006-09-03
Rene Rebe:
r452 * improved decodeImage binding, though the encodeImage counterpart does still not work right
*) r451 | (no author) | (no date) | 1 line
*) 2006-09-03
Rene Rebe:
r450 * more api bindings
r449 * added the next to be implemented functions to the API
*) r448 | (no author) | (no date) | 1 line
*) 2006-09-03
Rene Rebe:
r447 * more official api blessing
*) r446 | (no author) | (no date) | 1 line
*) 2006-09-03
Rene Rebe:
r445 * updated svn:externals as gsmp became exact-audio
r444 * better also clear the error state ono the stream for now
r443 * the swig api will be releases as 0.2.0
*) 2006-09-02
Rene Rebe:
r442 * first working api bits
r441 * more work-in-progress sorting the swig and perl binding bits into the tree
r440 * tagged 0.1.0
r439 * inaccurate, quick openexr magic check
r438 * fixed the codecs Makefile to actually build the new pnm loader
* fixed the new pnm loader to not confuse w and h
r437 * added more magic matching
r436 * added the first quick magick checks
r435 * prepared loading via magic, now the codecs have to be adapted to check the magic early on
r434 * updated TODO
r433 * macro preprocess dcraw.h to C++ on-the-fly, my Canon test image works ok!
r432 * disabled some dcraw fragments we do not need and are harder to convert to C++
(there is only one chunk left that would be nice to have back again)
*) 2006-09-01
Rene Rebe:
r431 * fixed long oustanding "tiny" "at-exit" memory leak by freeing the codec table
(mostly to make my valgrind more joy)
-This line, and those below, will be ignored--
M codecs/Codecs.hh
r430 * fixed the new codec multiplexer to actually free the allocated streams
r429 * fixed a typo in the new jpeg codec to fix bogus out of space warning
r428 * first-pass jpeg loader conversion
r427 * removed some big example comment chunks and some whitespacing in the jpeg loader
*) r426 | (no author) | (no date) | 1 line
*) 2006-09-01
Rene Rebe:
r425 * fixed the same jpeg2000 w vs. h typo as in 0.0.17
* whitespacing cleanup in jpeg2000 on the way
r424 * removed netpbm check and bumped configure version to 0.1.0
r423 * set svn:ignore to ignore core dumps
r422 * added a Image::iterator::setRGB method, used in the new PNM loader
r421 * fixed whitespacing, typos and removed comments in the bmp and tiff loader
r420 * fixed a jpeg2000 loader typo and bumpged version to 0.0.17
r419 * copied 0.0.16 to 0.0.17 to fix segfault
r418 * basically ported jpeg2000, jasper, library to a custom C++ iostream bridge
*) r417 | (no author) | (no date) | 1 line
*) r416 | (no author) | (no date) | 1 line
*) 2006-09-01
Rene Rebe:
r415 * implemented pnm asci / plain text loading, tested for gray1, gray8 and rgb8
r414 * implemented pnm binary loading (tested for bileve, gray8 and rgb8)
r413 * implemented non ascii/plain pnm writing
r412 * implemented ASCII pnm writing
r411 * more cleanups for the bmp codec
r410 * gave up external libbmp, this gets too ugly, instead converted it to use C++ streams directly
*) 2006-08-31
Rene Rebe:
r409 * ported the tiff codec (libtiff has a std::stream bridge itself - nice!)
* temp. disabled by codec loading as it would not load non-primary key
files such as .tif - this by codec bool will vanish in some hours anyway
r408 * basically ported the png codec
r407 * work in progress codec migratoin to use std::{i,o}stream for future extendability
(and reading images from RAM), gig, raw and openexr are converted and work to
some degree again, the remaining ones will be ported in the next hour (I hope)
*) r406 | (no author) | (no date) | 1 line
*) 2006-08-30
Rene Rebe:
r405 * added upcoming new API Read/Write to the Codecs and removed iostream out of the public headers
r404 * added some thoughts to the api.hh
r403 * Loader -> Codec translation
r402 * added blanko api rules
r401 * readded ArgumentList dependency to edisplay
r400 * added a swig option and check
r399 * set top-level svn-ignore
r398 * moved all the codecs over into the new codecs directory
r397 * the first thought about a stable, external, script API
r396 * one more TODO item
r395 * top-level and edisplay changes due codec seperation
r394 * started to factor the codecs out into a seperate module
r393 * some more TODO notes
*) 2006-08-28
Rene Rebe:
r392 * removed old, non-doc doc dir
r391 * added a note to the scale algorithm
*) 2006-08-17
Rene Rebe:
r390 * working bardecode interfacing, ugly but appears to work
r389 * added skeleton for a bardecode frontend using ExactImage file i/o and
the bardecode library backend
r388 * added size option and improved colorspace conversion to set the information
even if no image data is loaded to finally allow comfortable raw data loading
*) 2006-08-06
Rene Rebe:
r387 * finalized the openexr coder/decoder to use the C FILE stream and
thus honor the filename requested by edisplay / econvert et.al.
r386 * preleminary openexr writing code
r385 * first workingn openexr reading, changed Image::New() to use realloc
r384 * prepared OpenEXR support
r383 * changed preprocessor code disabling to normal C++ conditionals
* re-enable font and image cache
r382 * tagged 0.0.16
r381 * version bump to 0.0.16
r380 * accumulate the detected scew angles and perform the rotation
r379 * moved the new descew code into an own function with an own option as it should be
r378 * removed unneded local variable in rotate()
r377 * fixed ddt_scale to work again at all
*) 2006-08-05
Rene Rebe:
r376 * background parameter for rotate.hh, likewise
r375 * fixed rotate whitespacing and added a background parameter
r374 * iterator comment changes
r373 * started background option in econvert
r372 * added bilinear interpolation to the generic rotation
r371 * fixed the image::iterator + and * operators to actually work correctly, again
r370 * cache sin/cos for transformation
r369 * tiny OSD background tweak
r368 * trivial rotation and shearing preparations
*) 2006-08-04
Rene Rebe:
r367 * a more than less functional scew detection, and shear / rotate preparations
*) 2006-08-03
Rene Rebe:
r366 * some colormap bit form the evas_gl_x11_test that does not appear to make a difference
r365 * added experimental OpenGL rendering to edisplay, flickers strangely right now
*) 2006-08-01
Rene Rebe:
r364 * commit work in progress edge code
r363 * flussh TODO on the other box
r362 * more useful OSD code and added zoom OSD info
r361 * improved the OSD bg color
r360 * start of a OSD system for edisplay, displaying x,y,r,g,b and smothly zooming it out
r359 * fixed the new big-endial checkboard pattern ,-)
*) 2006-07-31
Rene Rebe:
r358 * do not free the tiff colormaps, glibc complaints about it, they
appear to be freed in TIFFClose ...
*) r357 | (no author) | (no date) | 1 line
*) 2006-07-29
Rene Rebe:
r356 * more readable checkboard define
r355 * tagged 0.0.15
r354 * version bump to 0.0.15
r353 * decreased sleep time if no X event is pending for quicker zooming and panning
r352 * removed TODO entries done
r351 * fixed edisplay to bot crash if no image can be loaded at startup, or
at runtime (e.g. the files vanished)
r350 * further improved edisplay to keep the zoom and position across images
* fixed a huge memory leak
* removed a debugging printout in the center zoom code
*) 2006-07-28
Rene Rebe:
r349 * implement keeping the same center zoomed in edisplay
* implemented toggling "smooth" scale in edisplay
* denoised edisplay from exlicit std namespace specification for cout, cerr and endl
r348 * resize the checkboard on window configure, so a resize window has
neither garbage or black but a well-defined content
r347 * fix edisplay to limit/clip properly after zoom and window resize
r346 * implemented mouse dragging in edisplay
r345 * improved edisplay to set the window title according to the image filename
*) r344 | (no author) | (no date) | 1 line
*) r343 | (no author) | (no date) | 1 line
*) 2006-07-21
Rene Rebe:
r342 * temporary test code
*) r340 | (no author) | (no date) | 1 line
*) r339 | (no author) | (no date) | 1 line
*) 2006-07-20
Rene Rebe:
r338 * check for libjpeg, libtiff, libpng, likewise
r337 * check for netpbm, likewise
r336 * fixed typo in the new libungif conditional
r335 * added libungif check, likewise
r334 * check for lcms (little cms - used in dcraw) and properly disable
it's use if not found
r333 * fixed the endianess ifdef around edisplay's background checkboard
r332 * explicitly limit the window size to the screen dimensions since
some window managers allow unlimited window sizes
r331 * tagged 0.0.14
r330 * bumped version to 0.0.14
r329 * added sparc64 optimazation tests to the Makefile
r328 * fixed edisplay to show the usage and exit gracefully when no
image filename is specified instead of segfaulting later on
r327 * not crash with zero division on x86 while checking for gray colormaps
r326 * fixed edisplay image -> evas conversion to actually use the
endianess define, oops
r325 * updated edisplay TODO
r324 * removed a debug #warning
r323 * fixed lib/png.cc to include endian.h, not a byteorder.h
r322 * converted endianess checks to use the libc endian.h and thus works on Linux/SPARC
r321 * added bmp testsuite files
r320 * make sure -I . is in the CPP options, needed for config.h
(no idea why it built on other machines before ...)
*) 2006-06-08
Rene Rebe:
r319 * fixed the image loader facility to not accept any extension as codec
(only the primary registered one)
* to only accept raw: (raw data) only via the codec specification,
not implicitly by extension
* and last but not least added the missing .raw extension to the
dcraw loader, now that it does not collide with the raw loader
that is not only accesible via the codec specification in which
case dcraw does not match (not primary name registration)
* the primary name for the dcraw loader is now dcraw
*) 2006-06-07
Rene Rebe:
r318 * added a TODO
*) 2006-06-06
Rene Rebe:
r317 * added all digital camera raw extensions I could find on the internet
thru google to the dcraw loader
*) 2006-06-03
Rene Rebe:
r316 * and %P for page width, height
r315 * t and q (sort of) for --format of edentify
r314 * added directory,file,extension fluff to edentify using our gsmp File class
r313 * implemented --format parsing in edentify
r312 * tagged 0.0.13
r311 * polished Copyright printout and added a version string
*) 2006-06-02
Rene Rebe:
r310 * added a basic edentify and not warn on sign compare due dcraw
*) 2006-06-01
Rene Rebe:
r309 * fixed jpeg writer to set the file density to unknwon if the source
resolution is undefined
*) 2006-05-21
Rene Rebe:
r308 * new, more complete econvert colorspace conversion
* associated support functions
r307 * convert the dcraw data to non-linear 16 bit values
r306 * do not use the background color to paint the image over when
loading png files, it results in unexpectedly non-transparent
files
*) 2006-05-20
Rene Rebe:
r305 * tagged 0.0.12
r304 * fixed the dcraw loader to correctly abort if the file is not a recognized raw file (instead of segfault ,-)
r303 * improved the ImageLoader to lower case the file extension / coder name
* lower cases the dcraw extension currently registered
r302 * merged dcraw v8.15 -> v8.18
r301 * fixed typo in unused variable in dcraw.cc
*) 2006-05-19
Rene Rebe:
r300 * dcraw loader class around the "tweaked" dcraw included from within the loader
r299 * the final building dcraw.h
r298 * added dcraw as header because I'll now start modifing it more to allow compilation with a C++ compiler
*) 2006-05-18
Rene Rebe:
r297 * stricter gray table checking in _de_palette but allow lower bps
combinations as well - not too much tested but no longer uses
non-gray palettes often in GIFs
r296 * fixed gif loader crash due overly large stack allocation - whatever
r295 * gif writing and a getRGB method for the Image::iterator on the way
r294 * fixed comment typo
r293 * added GIF loading (and unfinished writing) code
*) 2006-05-10
Rene Rebe:
r292 * Makfile changes, removed spurious -O2 and made singles lines for debug vs. !debug
r291 * removed specialized gray to rgb function call from edisplay, let
it use the new, generic grayX_to_rgb8 function
r290 * added a grayX_to_rgb function to the Colorspace file, using the
Image::iterator, tested for 1 and 2 bit files
r289 * fixed the Image::iterator end() generation and the luminance value
generation for single bit gray colorspaces
* added a setL method to the interator
* fixed iterator-- for single bit types, though untested
r288 * fixed the png loader for palette images with alpha values and
disabled scaling single bit gray images to rgb, the library
allows such colorspaces these days and the next commit will
add such support for edisplay
*) 2006-05-09
Rene Rebe:
r287 * tagged 0.0.11
r286 * fixed 16 to 8 bit colorspace conversion for big endian machines
r285 * added yet another parameter to write, compression - a std::string
* added a --copmress option to econvert and compression selection
support to the tiff writer
*) 2006-05-08
Rene Rebe:
r284 * moved the i686 special casing below the cc option test construct
* made -mtune=pentium4 conditionally based on availability
r283 * explicitly included inttypes.h in Image.hh for older compilers
r282 * fixed typo in the quality option help and rephrased the sentence
r281 * substitued u_int to uint for portability
r280 * protected the pnm "pam.h" include with extern "C" for not extremely new
systems ...
r279 * the --quality option for econvert and fixes for --split
r278 * added a quality argument to the ImageLoader write method and added a --quality switch to econvert
r277 *`implemented writing pnm images
r276 * fixed the pnm loader for the less than 8 bps not on boundary case
r275 * added pnm loader, writer not yet finished and the loader will
produce a shifting images for less than 8 bits per sample that
have a width not ending on a byte boundary
*) 2006-05-06
Rene Rebe:
r274 * more verbosity to the -i / -o option and the format prefix
r273 * and strip
r272 * enable optimization by default
r271 * clarified econvert help texts
r270 * resolution help text
r269 * added a priv_data tag to the Image class and let the jpeg loader
attach the decompression object for later use of the DTC coefficients
r268 * added --resolution to econvert, just alters the meta data, no scaling
(equivalent to convert's -density - but some questioning revealed
few like that name, thus --resolution for econvert ...)
TODO: write a nice geometry parser in modern C++ (currently it uses
sscanf ...)
r267 * tagged 0.0.10
r266 * fixed typo in little-endian background checkboard
r265 * fixed png loader to not discard the alpha channel (rendering to
a random background color)
* fixed png loader to byteswap 16 bit data on little-endian machines
(png is in network byteorder inside the file - untested but should do)
* fixed png writing to correctly write RGBA files
r264 * implemented real RGBA support in edisplay including a dark/light
gray checkboard
* fixed cpu load by adding a usleep (TODO: need to review X standards
about a real way to fix that)
r263 * fixed jpeg loader to write x/y resolution information (that was a major pain, my o my)
* fixed memory leak in the jpeg loader when for colorspaces it fails to write
r262 * fixed x/y resolution load/store in the png loader
r261 * fixed tiff loader x/y resolution load and store
*) 2006-05-05
Rene Rebe:
r260 * added testsuite preparations
r259 * fixed rot90 to exchange the resolution and a tiny readability tweak
r258 * temporary tweak to allow loading RGBA images by skipping the Alpha channel
*) 2006-05-03
Rene Rebe:
r257 * tagged 0.0.9
r256 * removed debugging printout
r255 * allow explicit codec specification with a delimitting colon
(jpg:whatever-name)
* allow using stdin and stdout needing an explicit format
prefix (raw:- or jpg:-, ...)
r254 * added preleminary not too much tested raw read/write support
r253 * added jpeg amoung jpg in the for the extension / codec name list
r252 * oops, a stray emacs-a-like y slipped in
r251 * fixed one debug print to use stderr so we soon can output to stdout
r250 * converted libbmp to use FILE*(, for exact-image)
r249 * converted ImageLoader* to take a FILE* not a filename, removed some
duplicate code and later allows using stdin/stdout
* fixed jpeg200 loader to assign the image data to the Image object
* fixed the tiff loader to close (deallocate) the tiff control structure
*) 2006-04-29
Rene Rebe:
r248 * only print the long Usage for --help and list the possible colorspace conversions
r247 * econvert scaler changes
*) 2006-04-28
Rene Rebe:
r246 * removed directional_average prototype
* improved bilinear scaling for low-pixel count and speed
* ddt debugging on the way
r245 * fixed boolean options
r244 * more ddt scale work
*) 2006-04-27
Rene Rebe:
r243 * the next scaler changes, new getL(uminance) method to the Image::iterator
* started data-dependent triangulation scaling
*) 2006-04-26
Rene Rebe:
r242 * renamed --near-scale to --nearest-scale
r241 * added bicubic scale option and use it for --scale > 2.0
r240 * implemented more operators for the Image::iterator (I fear the
current code got less effective, e.g. benchmark --bilinear-scale)
* partly implemented bicubic_scale
r239 * hopfefully sort of final bilinear scaler, finally
r238 * fixed box_scale to not scale to a different output size than the other scalers
r237 * added a econvert --scale option that chooses a suitable algorithm depending on the factor
*) 2006-04-24
Rene Rebe:
r236 * tagged 0.0.8
r235 * changed svn:externals to use http:// by default thus we can write into them
r234 * converted econvert options to use the new reset option and thus works as expected
r233 * converted edisplay to use residuals to obtain the images to be displayed
(no -i no more)
*) 2006-04-22
Rene Rebe:
r232 * commented out -mfpmath=sse, gcc accepts it but spits out a warning if
the architecture does not include sse support ...
r231 * adapted edisplay for latest colorspace function renaming
* added gray1_to_gray{2,4} conversion functions
r230 * added bitdepth to colorspace conversion functions
r229 * added trailing bitdepth to the GRAY, RGB, CMYK and YUV color
space names, renamed BILEVEL to GRAY1 and added GRAY2 and GRAY4
r228 * automatic cc option support detection ,-))
r227 * better cc option selection
r226 * saner Image::iterator (::at does not dereference automatically
anymore, there is a ::operator* now)
* speed up box_scale not using at, but just iterator linearly thru the
image (now possible due iterator changes)
* hand crafted gray8 box filter due popular demand
r225 * GRAY4, likewise
r224 * implemented gray8_to_gray2 (appears to work with the png backend)
r223 * fixed box scaling for for some machines with different fp rounding
* removed debugging output
* removed custom image copy data assignment, added a assignment operator
that takes over ownership of the image data instead
r222 * reverted ImageLoader change, deallocation needs to be done differently
r221 * fixed ImageLoader to not leak (a few) bytes of memory
r220 * removed lingering code in the tiff loader leaking memory
r219 * sanitzed Makefile to not include x86-64 specific optimization setings ,-)
r218 * converted scalers to allow seperate x and y scaling factors
* fixed Image::iterator.clear() (to clear the intermediate value as expected)
* implemented box scaling for thumbnail-style downscaling
r217 * some unfinished scaling work
*) 2006-04-21
Rene Rebe:
r216 * tiny fixes and improvements in the scaler, do be reworked now, anyway
r215 * tagged 0.0.7
*) 2006-04-20
Rene Rebe:
r214 * removed HAVE_PROTOTYPE cludge, was a local install problem
r213 * added BIGENDIAN tweak to edisplay
*) 2006-04-19
Rene Rebe:
r212 * filled CMYK and YUV cases in the Image::iterator and fixed the
1bps case
r211 * silence gcc warnings on variable initialization and removed an trailing
newline in Colorspace.cc
*) 2006-04-17
Rene Rebe:
r210 * exported nearest scaling to econvert
r209 * new Image::iterator and nearest scaling as well as scaling using the
iterator
r208 * fixed compile warning and issue building on my latest installation
in the jpeg loader
*) 2006-04-13
Rene Rebe:
r207 * workarounded missing generic scaling for bilevel by upscaling to gray
*) 2006-04-09
Rene Rebe:
r206 * renamed submodule dirs: bin -> econvert, viewer -> edisplay
r205 * added note with address to send unloadable pictures (to me)
*) 2006-03-29
Rene Rebe:
r204 * fixed viewer to not crash on too tiny zoom and tiny toom factors
to always zoom at least 1%
r203 * tagged 0.0.6
r202 * fixed handling of palette and >1 <8 bps PNG files
r201 * fixed one missing F in the bigendian #ifdefs in libbmp
*) 2006-03-23
Rene Rebe:
r200 * tagged 0.0.5
*) 2006-03-22
Rene Rebe:
r199 * merged split into convert
r198 * removed now unused variable clr from libbmp
*) 2006-03-18
Rene Rebe:
r197 * tagged 0.0.4
r196 * fixed colorspace convesion in edisplay to scale 16->8bit before
gray to rgb, so that 16bit gray images are display correctly
r195 * removed and disabled debugging prints from libbmp
r194 * removed correcting inverted 1bit images from libbmp to the
generic colorspace conveted, so it applies to other palette
files as well
r193 * readded palette support to the bmp loader (convert the
ugly bmp colortables to our internal (TIFF) format
* added a table-size argument to the generic colormap
method since bmps often have 8bit with just parts used
for the values (e.g. colormaps with just 64 entries ...)
r192 * fixed newly introduced segfaults in the tiff loader
r191 * generic (unfinished) colorspace_de_palette method
* converted all loaders to a non-C parameter passing, but to pass the Image
r190 * added support to detect strange 16bit gray TIFF images (written by
imagemagick?), removed some debugging prints again and free the
colormaps
r189 * implemented reading of palette tiff images
*) 2006-03-16
Rene Rebe:
r188 * tagged 0.0.3
r187 * added support to conditionally enable jasper (jpeg2000) support
r186 * fixed writing to actually work
r185 * mostly finished proper deallocating the loader vector on exit
* removed debugging prints
* added write multiplexer
r184 * changed loader to be a POD pointer so it is initialized
before run-time initializers and thus the loader works
reliable (at least on GNU/Linux)
r183 * added ImageLoader.cc
r182 * new ImageLoader framework work (does not yet fully work,
backup commit)
*) 2006-03-15
Rene Rebe:
r181 * tagged 0.0.2
r180 * fixed colorspace_16_to_8 to modify the right variable
*) 2006-03-14
Rene Rebe:
r179 * implemented 16bit to RGB conversion in libbmp and it is
now able to read all example images I have
r178 * fixed the viewer to skip unloadable files on Next() / Previous()
and not crash on unrecognized / unloadable files
*) 2006-03-12
Rene Rebe:
r177 * added support to display 16bit data and a 16_to_8 colorspace conversion
r176 * also recognize .tiff for TIFF files
r175 * fixed memory leaks (just for the fun of it)
r174 * removed obsolute hack code from edisplay
r173 * update esplit to new Argument API
r172 * removed superflous debugging output from the jpeg loader and viewer
r171 * added suport to slideshow multiple image files
r170 * renamed split to esplit, since split is shipped by
binutils
r169 * svn:external for gfx
r168 * zoom 1:1 with 1
r167 * implemented wheel zooming and scrolling and increased the
key panning distance
*) 2006-03-11
Rene Rebe:
r166 * removed pkg-config style x11 detection, not needed for
lib64, works the old way (at leat on T2)
r165 * some more notes to by tine bench script
r164 * added a configure and Makefile to exact-image
*) 2006-03-09
Rene Rebe:
r163 * implemented panning in edisplay
*) 2006-03-07
Rene Rebe:
r162 * more stable zooming
r161 * improved zooming, but still needs more code
r160 * create a Viewer class and adapted the code accordingly, zoom now
handled by a Zoom() method
r159 * implemented zoomin (bound to +/-)
r158 * added colorspace conversion to edisplay to be able to display any
bw or gray image as well
r157 * implemended some more quick 'n dirty colorspacing for edisplay
r156 * first edisplay viewer that is able to bring RGB images on the screen
thru evas
*) 2006-03-06
Rene Rebe:
r155 * backup of my work in progress viewer code
r154 * removed obsolete direct jpeg and tiff include from econvert
*) 2006-03-02
Rene Rebe:
r153 * extremely simplified fillin the edge matrix
r152 * moved edge code into econvert
*) 2006-02-28
Rene Rebe:
r151 * prototyped some more Image methods and let scale use them
*) 2006-02-27
Rene Rebe:
r150 * fixed CODIN with some real content
r149 * fixed .hh ending of some headers
* let optimize2bw use the factored out linear_scale
* added --scale using linear_scale to econvert
r148 * factored scaling out of optimize2bw
r147 * added a check whether image data is available to write out
r146 * changed colorspace_gray_to_bilevel to have a default value for the
threshold
* exported a lot more features in econvert
r145 * export flip and flop in econvert
r144 * finally started the real econvert application and migrated rotate and
dither2bw to the new framework - well - all stil protyping stage
r143 * factored rotoate functions out into lib/
r142 * fixed various aspects of rle4 decompression in libbmp
*) 2006-02-26
Rene Rebe:
r141 * unified and further fixed rle 4/8 uncompression in libbmp and removed
one more debug print - rle4 still appears to be broken
r140 * reversed bit usage of packed less than 8 bit BMP imges and thus
fixed handling of all the test files I have
r139 * fixed bmp 1bps b/w table detection, implemented conversion to GRAY
colorspace instead of blowing the data up to RGB if possible and
fixed alligning for padded files
r138 * export more color table details in libbmp
* convert BMP palete data to RGB colorspace in the exact-image code
r137 * finalized extern "C", include bmp.h in bmp.c for checking, factored
1bps inverted table deteciton out, pass the color table back and
skip inverted and corrected color tables
r136 * implemented inverting inverted 1bps b/w data to libbmp
r135 * removed libbmp code to convert to TIFF color tables, we'll use /
export the BMP one
*) 2006-02-25
Rene Rebe:
r134 * basically implemented the missing bits for rle* compressed BMPs
r133 * rearranged if () else constructs in libbmp into a case, and added
BMPC_BITFIELDS to the _RGB case so those work as well and fixed
the file vs. real stride computation to work for 32 bit RGBx files
r132 * implemented extracting the x and y resolution for libbmp
r131 * fixed libbmp stride for non RGB files
r130 * some cleanups and fixed RGB file loading with odd strides (due
4 byte alligning)
r129 * fixes to start to be able to read some RGB BMP files
r128 * fixed a printf typo, added a exterb "C" abd let lib/bmp.cc directly
call the bmp/bmp.c function
r127 * more libbmp freestanding work, fixed lib/bmp.cc empty functions
and added a yet empty libbmp/bmp.h
r126 * the next libbmp/bmp.c edit
r125 * first stand-alonification of bmp.c
r124 * fixed typo in lib/bmp.hh and added the bmp functions to the
Image Read/Write multiplexer
r123 * added libbmp skeleton from libtiff and the associated files for
exact-image itself as well as makefile entries
r122 * fixed png.hh
*) 2006-02-22
Rene Rebe:
r121 * added writing png files equivalently
r120 * implemented png loading, tested with 1bit b/w as well as 8bit gray and color
*) 2006-02-20
* implemended basic, preleminary Image::Read() and Image.:Write() that guess:
r116 * the type via the supplied filename
* adapted bin/split to use that (and thus support jpg not just tif)
Rene Rebe:
r119 * factored convolution matrix code out of optimize2bw
* converted edge to all the "new style" pseudo class code and seperated
functions
r118 * factored colorspace manipulation out of optimize2bw into lib/Colorspace*
r117 * convert optimize2bw, rotate, empty-page and dither2bw to use the new
Image::Read/Write multiplexers
r115 * allow more than two slices in bin/split and check if the resulting
image is atleast one pixel high
r114 * removed one line in the image data check in each bin/ program
r113 * added vertical image splitter (e.g. to split book pages)
r112 * changed copyright year in rotate to 2006
r111 * use CPPFLAGS in lib/Makefile to allow CXXFLAG setting from user
r110 * fixed optimized2bw color -> gray conversion that broke some time in
the past
r109 * converted optimize2bw to the skelton Image class
r108 * converted dither2bw to the new Image skeleton
r107 * converted empty-page to use the new Image class skeleton
r106 * factored the bare Image class from rotate into an own Image class
*) 2006-02-19
Rene Rebe:
r105 * finally fixed bw rotation due overwriting memory on not fully packed
1bit images
r104 * fixed rot90 for unpadded bw images, removed a debug comment on the way
r103 * fixed tiff loader for 1bps files that have not filled bytes
* do not round the image size up to the next multiple of 8 in
optimize2bw
* tiny whitespacing and debug print removal on the way
r102 * fixed off-by-one line error in flipY
r101 * fixed b/w 1bit counter clockwise rot90
* removed a comment, tweaked the usage output
r100 * fixed 0 degree NOP case and implemented b/w rot90
r99 * added rgb rot90 to bin/rotate
r98 * here goes 90 and -90 degree rotation for 8bit gray data
r97 * implemented 1bit flipX and thus 1bit 180 degree rotation does work now
r96 * made 0 degree a NOP and implemented 8 and 24 bpp image X flipping
bin/rotate
r95 * added a way incomplete bin/rotate - a optiized image rotator - so far
it only contains the skeleton to read / write the tif file, arg
parsing and a one functional flipY() as well as finally starting to
draft a real Image class
*) 2006-02-18
Rene Rebe:
r94 * a many more tiny optimizations for optimize2bw, only a few percent
faster though - but with -frename-registers -funroll-loops it
really speeds up by 20% on x86-64, also use double as matrix_type,
it is faster than int or float on both, x86 and x86-64
*) 2006-02-17
Rene Rebe:
r93 * added a tiny bench.sh script for gcc optimzation review
r92 * added tiny optimizations to the optimize2bw, ifdef'ed tiling code,
and a new threshold to control what pixels to skip in the unsharp
mask matrix
*) 2006-02-12
Rene Rebe:
r91 * added empty files to mark which formats are next (due to
client priority)
r90 * factored out colorspace addition and fixed writing of jpeg2000 data
by adding the necessary component types
r89 * perform colorspace conversion thru jasper mechanisms for every
colorspace not *RGB or *GRAY
*) 2006-02-11
Rene Rebe:
r88 * added jpeg2000 write support, does write but kuicktime does crash
when it tries to display the result ...
r87 * added support for more bit-depths and other formats to jpeg2000 reading
r86 * added jpeg2000 read support
r85 * removed some cut'n paste junk from jpeg.cc
r84 * added jpeg writing code
r83 * added two reference testfiles to have them around
*) 2006-02-10
Rene Rebe:
r82 * build exact-image with -Wall
r81 * allow control of the dither algorithm and the shades / quantization
steps to use to the dither2bw example binary
r80 * added support to specifiy quantisation / shades for the riemersma
ditherizer
r79 * dimplified quantisation in the floyd-steinberg dither
r78 * added saving the colormaps for 8bit gray as required in the TIFF format
r77 * fixed rimersma mallog.c, should be stdlib.h
r76 * added Floyd Steinberg and Riemersma (A Balanced Dithering
Technique alon a Hilbert curve) with a example binary driver
*) 2005-09-21
Rene Rebe:
r75 * generate the list of binaries on-the-fly
*) 2005-09-20
Rene Rebe:
r74 * drafted how I would like multiple binaries per module to work out
does not yiet work yet - due to brokeness of make ...
*) 2005-09-19
Rene Rebe:
r73 * tiny spacing cleanup
r72 * placed libraries in LDFLAGS
*) 2005-09-17
Rene Rebe:
r70 * added tiny note
Valentin Ziegler:
r71 * added sobel edge detection filter code
*) 2005-09-12
Rene Rebe:
r69 * well - finally building Makefile setup, again
r68 * well - shuffled again - I decied to do the example work to draft multiple binaries per target ...
r67 * reshuffling
r66 * fixed empty-page.cc for new .hh prefixes
* updated some Makefiles
r65 * removed stray test code
r64 * removed build/ which is now an svn:external
r63 * migrated to new exact-build svn:externals
r62 * moved Makefile* build system into build/ (to be svn:external soon)
*) 2005-09-11
Rene Rebe:
r61 * one more Makefile
r60 * new Makefile* drafting (not yet ready)
r59 * adaptions for new filenames
r58 * ouhm - 2nd half of the propper bin/ renaming
r57 * proper extensions for the bin files
r56 * propper renaming in lib
r55 * exec -> bin (or exe?)
r54 * shufled files for next-gen build system
r53 * clean: empty-page even
r52 * clean: emptypage ...
r51 * fixed comment typo
r50 * added support for reading MINISWHITE TIFF files (...)
*) 2005-09-10
Rene Rebe:
r49 * allow to specify another compiler
*) 2005-09-09
Rene Rebe:
r48 * sane threshold again
r47 * finally really fixed up the convolution matrix generation (sigh)
* new defaults for the correct matrix, generated now
* removed the miscompiling optimization
r46 * no debug code
r45 * new defaults and different optimizations (fast-math seems to miscompile here)
r44 * optimization options that increase speed on my Athlon
r43 * allow standard deviation for Gaussian distribution overwrite
* compute divisor
* better defaults for difficult input
*) 2005-09-07
Rene Rebe:
r42 * fixed and sanitized return()s in empty-page
r41 * bail out on negative scaling value
r40 * allow downscaling
r39 * removed -h from empty-page just for consistency
r38 * injected GPL and improved the release rule
r37 * added copyright notes to the .c files
r36 * added dirty release tarball code
r35 * output the Usage to std::cerr and hide that it is "only" linear
interpolatoin
r34 * compile the ArgumentList seperately
r33 * protect the code to attempt to scale via dpi if the image does not include DPI information
r32 * implemented reading and writing resolution tags
* implemetned scaling by DPI specification
* removed double "h" argument (needs more base class work)
* implemented smart optimization guessing (to make this code
compile on non-x86 CPUs by default)
* a tiny comment for the image magick shell code test
r31 * the basic scaling bits
*) 2005-08-22
Rene Rebe:
r30 * more value tweaking and removed dead, formerly used matrix
r29 * really added radius option, removed debug printout and optimizations
r28 * speed tuning and one default value tuning
r27 * removed example code
r26 * added matrix computation and threashold as well as radius option
*) 2005-08-20
Rene Rebe:
r25 * use pentiumpro instead of athlon to allow default binaries to be run
on more boxes
r24 * implemented histogram range overwrites for optimize2bw
r23 * missing optimize2bw.c
r22 * some more finalizing
r21 * well - this might be final empty-page for now
r20 * more empty-page finalizing
r19 * ported stuff over to G++ compilation and used the existing
ArgumentList for empty-page.c
r18 * fixed convulation matrix operation to not leave the margin pixels
out - instead copy them (for now)
r17 * pixel counting with optimzed bit_set table (generated at runtime)
*) 2005-08-19
Rene Rebe:
r16 * thy headers
r15 * tiff loading and empty-pages work-in-progress code
r14 * finalized resorting
r13 * some restrucuturing
r12 * support to write to arbitrary files
r11 * added code to convert RGB to gray, tweaked my normalize denoise
constant and added using a argv as filename
r10 * removed 2nd matrix verify code
*) 2005-08-18
Rene Rebe:
r9 * optmization settings ... ,-)
r8 * fixed the damned comma typo - f*ck C
r7 * indented version for a test
r6 * reference snapshot
r5 * some random junk
r4 * some work in progress hacking - does bi-level tiff export as well
as normalization and thresholding now
*) 2005-08-17
Rene Rebe:
r3 * some random tinkering
r2 * some first proof of concept cut'n paste code (the next weeks ExactImage
will not be a high end class framework - but just code to get two
contract programs done - real rocket sience work thereafter ...)
*) 2005-08-16
Rene Rebe:
r1 * initial dir layout