*) 2022-02-02 Rene Rebe: r2375 * fixed barcode/ w/ constexpr for newer c++ standards r2374 * fixed dcraw.h for gcc/clang and newer c++ std r2373 * fixed ImageIterator operator/ not to return by reference *) r2372 | (no author) | (no date) | 1 line *) 2022-01-25 Rene Rebe: r2371 * slightly further cleanup the qoi codec *) r2370 | (no author) | (no date) | 1 line *) 2022-01-25 Rene Rebe: r2369 * simplified qoi runlen handling r2368 * implemented qoi encoder, too * slightly iprovoed qoi decoder code style *) 2022-01-24 Rene Rebe: r2367 * micro optimiyed qoi nohistory update r2366 * added qoi decoder *) 2021-10-05 Rene Rebe: r2365 * added basic proof-of-concept jpegxl codec support *) 2021-07-26 Rene Rebe: r2364 * fixed recently converted vaarg codegen to by-reference *) 2021-04-18 Rene Rebe: r2363 * convered manually expanded codegen templates to C++11 variadic templates *) r2362 | (no author) | (no date) | 1 line *) 2020-04-06 Rene Rebe: r2361 * added root window image centering to edisplay and * replocaed hardcoded text size w/ variable r2360 * added basic support to view multi-image files w/ edisplay *) r2359 | (no author) | (no date) | 1 line *) 2020-03-13 Rene Rebe: r2358 * theoretically slightly higher gif color palette precision *) r2357 | (no author) | (no date) | 1 line *) r2356 | (no author) | (no date) | 1 line *) r2355 | (no author) | (no date) | 1 line *) r2354 | (no author) | (no date) | 1 line *) r2353 | (no author) | (no date) | 1 line *) r2352 | (no author) | (no date) | 1 line *) 2019-09-29 Rene Rebe: r2351 * if we can not easily use the input module name for /C*FLASG, at least create the variable name automatically w/o error prone typing r2350 * updated per file C*FLAGS to likely final / delimiter r2349 * adapt for nicer per file _C*FLAGS per source input name r2348 * added -fpermissive where currently necessary *) r2347 | (no author) | (no date) | 1 line *) 2019-09-28 Rene Rebe: r2346 * fixed grayX thumbnail scalling, regressoin since r1931 in 2014 when we introduced fixed scaling *) 2019-09-27 Rene Rebe: r2345 * updated example testsuit filenames and added alternative ruby loader comment r2344 * updated configure script for latest ruby version and re-enable ruby swig api binding *) r2343 | (no author) | (no date) | 1 line *) r2342 | (no author) | (no date) | 1 line *) r2341 | (no author) | (no date) | 1 line *) r2340 | (no author) | (no date) | 1 line *) 2019-01-28 Rene Rebe: r2339 * more more uint, sigh r2338 * tagged 1.0.2 r2337 * bump version to 1.0.2, and update some copyright years r2336 * fixed barcode uint "glibc"ism to just use unsigned, e.g. for musl *) r2335 | (no author) | (no date) | 1 line *) 2018-10-11 Rene Rebe: r2334 * factored out rgb to L conversion to re-usable template function *) r2333 | (no author) | (no date) | 1 line *) r2332 | (no author) | (no date) | 1 line *) r2331 | (no author) | (no date) | 1 line *) r2330 | (no author) | (no date) | 1 line *) 2018-06-06 Rene Rebe: r2329 * imported dcraw 9.28 *) r2328 | (no author) | (no date) | 1 line *) r2327 | (no author) | (no date) | 1 line *) r2326 | (no author) | (no date) | 1 line *) r2325 | (no author) | (no date) | 1 line *) r2324 | (no author) | (no date) | 1 line *) r2323 | (no author) | (no date) | 1 line *) r2322 | (no author) | (no date) | 1 line *) r2321 | (no author) | (no date) | 1 line *) r2320 | (no author) | (no date) | 1 line *) 2018-01-17 Rene Rebe: r2319 * avoid newer gcc to bail out due narrowing in included dcraw code, may need a version check to support older gcc r2318 * fixed tga jump over label error of picky compilers *) r2317 | (no author) | (no date) | 1 line *) r2316 | (no author) | (no date) | 1 line *) 2017-12-01 Rene Rebe: r2315 * improved tga codec to reverse BGR, to RGB while reading *) 2017-11-12 Rene Rebe: r2314 * fixed four channel de-palette bug due copy'n paste typo *) 2017-10-20 Rene Rebe: r2313 * more pleasant / modern text HUD OSD text with shadow, instead of huge filled rectangle *) 2017-10-19 Rene Rebe: r2312 * wow, edisplay non HiDPI HUD OSD was broken, guess I rarely use low res display anymore :-/! *) 2017-10-09 Rene Rebe: r2311 * tagged 1.0.1 r2310 * bump main tool copyright output to 2017 * bump version to 1.0.1 r2309 * fixed strict compiler warnings jumping over "initializer", ... r2308 * fixed new edisplay --root window to work more reliable *) 2017-10-04 Rene Rebe: r2307 * tagged 1.0.0 r2306 * bump version to 1.0.0 r2305 * keep root window pixmap image aspect and center (for now) r2304 * added support to edisplay for showing the iamge on the root window pixmap *) 2017-08-29 Rene Rebe: r2303 * allow path transform, likewise *) 2017-08-24 Rene Rebe: r2302 * fixed recently opmtimized rgb8_to_rgba8 theoretical first scanline pixel undefined store order *) 2017-08-08 Rene Rebe: r2301 * check for jpeg codec "recompress" compression arg first, so we do not get stray warnings if it does not apply r2300 * renamed colorspace_rgb8_to_rgb8a -> _rgba8, and micro-optimized it *) 2017-07-30 Rene Rebe: r2299 * some more tga details, while at it *) r2298 | (no author) | (no date) | 1 line *) r2297 | (no author) | (no date) | 1 line *) 2017-07-22 Rene Rebe: r2296 * let the TGACodec error out for unsupported bit-depths, and style of another debug diagnostic print, likewise r2295 * implemented non-8-byte tga rle compression, likewise * optimized tga rle read to avoid temp. payload buffer * use zero pre-initialized footer, too *) r2294 | (no author) | (no date) | 1 line *) 2017-07-21 Rene Rebe: r2293 * implemented preleminary TGA RLE compression r2292 * adapted bmp.cc code for decompress typo fix, too r2291 * fixed copied decompres_s_ typo in all codecs r2290 * fixed stray tga debug printout by making it a new debug decompress option r2289 * fixed edentify output for tweaked image spp type *) r2288 | (no author) | (no date) | 1 line *) r2287 | (no author) | (no date) | 1 line *) 2017-05-25 Rene Rebe: r2286 * updated bundled dcraw core source (9.24 -> 9.27) *) r2285 | (no author) | (no date) | 1 line *) r2284 | (no author) | (no date) | 1 line *) r2283 | (no author) | (no date) | 1 line *) 2017-05-05 Rene Rebe: r2282 * some more working ruby binding example test code r2281 * started ruby example script * updated api binding example image names r2280 * fix script language API bindings for recently renamed image module directory * finsihed and renabled ruby binding, too *) 2017-05-04 Rene Rebe: r2279 * fixed raw codec return not to always return true by implicitly casting the stream object, but simply returning a if the stream is good() r2278 * introduce new, neegative Codec::Read() return value to signal retained stream pointer for delayed decoding *) r2277 | (no author) | (no date) | 1 line *) 2017-04-05 Rene Rebe: r2276 * optimize image copy to compact data to native stride *) 2017-04-03 Rene Rebe: r2275 * fixed cropping for codes setting explicit stride, sigh *) 2017-03-21 Rene Rebe: r2274 * fixed typo in codegen8 *) r2273 | (no author) | (no date) | 1 line *) r2272 | (no author) | (no date) | 1 line *) r2271 | (no author) | (no date) | 1 line *) r2270 | (no author) | (no date) | 1 line *) r2269 | (no author) | (no date) | 1 line *) 2017-01-30 Rene Rebe: r2268 * simplifiy and fix restride() corner cases after some more testing, ... r2267 * implemented restride() method *) r2266 | (no author) | (no date) | 1 line *) r2265 | (no author) | (no date) | 1 line *) r2264 | (no author) | (no date) | 1 line *) 2017-01-18 Rene Rebe: r2263 * fixed PDF codec for recently hanged bps type *) r2262 | (no author) | (no date) | 1 line *) r2261 | (no author) | (no date) | 1 line *) r2260 | (no author) | (no date) | 1 line *) 2016-12-07 Rene Rebe: r2259 * avoid 0-size re-allocation *) 2016-12-05 Rene Rebe: r2258 * tagged 0.9.2 r2257 * better avoid causing regressions by preserving econvert std::ios::in in fstream open r2256 * reverse iterate de_palette, decrease memory use and increase performance r2255 * assert on Image stride sanity check, likewise *) 2016-12-04 Rene Rebe: r2254 * check for image stride and size allocation overflow r2253 * only truncate econvert output files if append compression is not specified *) r2252 | (no author) | (no date) | 1 line *) r2251 | (no author) | (no date) | 1 line *) r2250 | (no author) | (no date) | 1 line *) r2249 | (no author) | (no date) | 1 line *) 2016-11-24 Rene Rebe: r2248 * fixed crash with invalid compression, RCESEC-2016-011 *) 2016-11-23 Rene Rebe: r2247 * throw bad_alloc if de_palette allocation fails r2246 * slightly simplify custom os resizing *) r2245 | (no author) | (no date) | 1 line *) 2016-11-04 Rene Rebe: r2244 * fixed nullptr deref in jpeg codec for caching without stream *) r2243 | (no author) | (no date) | 1 line *) r2242 | (no author) | (no date) | 1 line *) r2241 | (no author) | (no date) | 1 line *) 2016-10-11 Rene Rebe: r2240 * always use vector instead of stack allocation to avoid crashing stack for huge images * use auto-releasing std::vector instead of manual malloc * updated some style and formating r2239 * updated code formating to modern standards *) r2238 | (no author) | (no date) | 1 line *) r2237 | (no author) | (no date) | 1 line *) r2236 | (no author) | (no date) | 1 line *) 2016-09-26 Rene Rebe: r2235 * added jpeg codec colorspace override support *) r2234 | (no author) | (no date) | 1 line *) r2233 | (no author) | (no date) | 1 line *) r2232 | (no author) | (no date) | 1 line *) 2016-08-31 Rene Rebe: r2231 * only log verbose DCT re-use with new debug compress option set * improved exif resolution warning text *) r2230 | (no author) | (no date) | 1 line *) r2229 | (no author) | (no date) | 1 line *) r2228 | (no author) | (no date) | 1 line *) r2227 | (no author) | (no date) | 1 line *) 2016-08-29 Rene Rebe: r2226 * support rgba16 iteration * reqriete cmyk convertion with new codegen, supporting 16 bits *) r2225 | (no author) | (no date) | 1 line *) r2224 | (no author) | (no date) | 1 line *) r2223 | (no author) | (no date) | 1 line *) 2016-08-09 Rene Rebe: r2222 * fixed stupid use after free bug corruption in the otherwise trivial and new containsPrefixedAndRemove Codec argument helper *) r2221 | (no author) | (no date) | 1 line *) 2016-08-01 Rene Rebe: r2220 * crop.h multi-include guard *) r2219 | (no author) | (no date) | 1 line *) 2016-07-30 Rene Rebe: r2218 * support for 16-bit pallete image,and optimized it slightly *) r2217 | (no author) | (no date) | 1 line *) 2016-07-28 Rene Rebe: r2216 * removed unused O_BINARY define r2215 * added compress argument for multiWrite API calls, likewise *) r2214 | (no author) | (no date) | 1 line *) 2016-07-27 Rene Rebe: r2213 * added de-ieee helper, for some science data import testing *) r2212 | (no author) | (no date) | 1 line *) r2211 | (no author) | (no date) | 1 line *) 2016-07-27 Rene Rebe: r2210 * added asymetric resolution image scaling support to edisplay *) r2209 | (no author) | (no date) | 1 line *) 2016-07-06 Rene Rebe: r2208 * added support to manually overwrite invalid height of JPG files *) r2207 | (no author) | (no date) | 1 line *) 2016-06-21 Rene Rebe: r2206 * switch to the stdint.h the other alien compilier prefers, ... *) r2205 | (no author) | (no date) | 1 line *) 2016-06-18 Rene Rebe: r2204 * more verbose module names r2203 * updated to quite old CODING and README r2202 * renamed lib/ image/ adapt Makefiles accordingly * bump version to 0.9.2 r2201 * some style and spaces while reading over the optimize2bw code r2200 * slightly prettify and micro-optimized rgb8_gray8 conversion r2199 * fixed some stray comment typos *) 2016-06-12 Rene Rebe: r2198 * fixed arg typo and doubel private: *) 2016-06-03 Rene Rebe: r2197 * fixed unbalanced free vs. delete in edisplay r2196 * use const& for image_iterator2 ctor r2195 * zero initialize BMP file padding *) r2194 | (no author) | (no date) | 1 line *) 2016-05-25 Rene Rebe: r2193 * fixed raw codec loading off-by-one, sigh *) 2016-05-16 Rene Rebe: r2192 * implemented a new jpeg cache on write option *) r2191 | (no author) | (no date) | 1 line *) r2190 | (no author) | (no date) | 1 line *) 2016-02-14 Rene Rebe: r2189 * use std::vector for on-the-fly tiff inversion, avoid manual malloc/free in error path * update surrounding comments *) 2015-12-30 Rene Rebe: r2188 * fixed ean checksum (actually patch from 3 years ago, just slipped thru actually comitting, sigh) r2187 * fixed loading (absolute) filenames with colon (was parsed as codec spec) *) r2186 | (no author) | (no date) | 1 line *) 2015-12-22 Rene Rebe: r2185 * updated codecs for new fixed size scaling, likewise *) 2015-12-20 Rene Rebe: r2184 * added fixed size scaling to the econvert frontend r2183 * support fixed size scaling *) r2182 | (no author) | (no date) | 1 line *) r2181 | (no author) | (no date) | 1 line *) r2180 | (no author) | (no date) | 1 line *) r2179 | (no author) | (no date) | 1 line *) 2015-10-16 Rene Rebe: r2178 * added a new --pop option to remove surplus images form the image stack *) r2177 | (no author) | (no date) | 1 line *) r2176 | (no author) | (no date) | 1 line *) r2175 | (no author) | (no date) | 1 line *) r2174 | (no author) | (no date) | 1 line *) r2173 | (no author) | (no date) | 1 line *) r2172 | (no author) | (no date) | 1 line *) r2171 | (no author) | (no date) | 1 line *) r2170 | (no author) | (no date) | 1 line *) r2169 | (no author) | (no date) | 1 line *) r2168 | (no author) | (no date) | 1 line *) r2167 | (no author) | (no date) | 1 line *) r2166 | (no author) | (no date) | 1 line *) r2165 | (no author) | (no date) | 1 line *) 2015-09-28 Rene Rebe: r2164 * removed stray, unused stride variable *) 2015-09-16 Rene Rebe: r2163 * export equalize in header, too *) r2161 | (no author) | (no date) | 1 line *) r2160 | (no author) | (no date) | 1 line *) r2159 | (no author) | (no date) | 1 line *) 2015-09-14 Rene Rebe: r2157 * implemented planar tiff loading *) r2156 | (no author) | (no date) | 1 line *) 2015-09-11 Rene Rebe: r2155 * removed pdf.cc Args class, moved to generic Codec.hh in r2154 *) 2015-09-01 Rene Rebe: r2154 * added new Codec argument parsing helper * updated jpeg codec to allow sub-sampling with recompress r2153 * added jpeg sub-sampling support *) r2152 | (no author) | (no date) | 1 line *) r2151 | (no author) | (no date) | 1 line *) r2150 | (no author) | (no date) | 1 line *) r2149 | (no author) | (no date) | 1 line *) r2148 | (no author) | (no date) | 1 line *) 2015-08-31 Rene Rebe: r2147 * fixed convolution matrix bottom/right border off-by-one *) r2146 | (no author) | (no date) | 1 line *) 2015-08-20 Rene Rebe: r2145 * fixed tiff codec for new abitrary stride * align bmp codec's stride to otherwise used type *) r2144 | (no author) | (no date) | 1 line *) r2143 | (no author) | (no date) | 1 line *) 2015-08-19 Rene Rebe: r2142 * support relative at() addressin in the newer style ImateIterator2 *) 2015-08-11 Rene Rebe: r2141 * fixed recently tweaked and only accidently building denoise_neighbours *) 2015-08-07 Rene Rebe: r2140 * fixed denoise for compilers which can not negatively index with unsigned * optimized gray8_threshold a bit more *) r2139 | (no author) | (no date) | 1 line *) r2138 | (no author) | (no date) | 1 line *) 2015-07-30 Rene Rebe: r2137 * silenced some signed vs. unsigned warnings *) 2015-07-28 Rene Rebe: r2136 * quirk xpm for that other br0ken compiler r2135 * unify usage information / copyright related output formating r2134 * updated some more core codecs for non-native-stride r2133 * further revised various core functions for new non-native-stride r2132 * simplify non-native stride support by introducing a new Image::stripefill() method *) 2015-07-20 Rene Rebe: r2131 * cleaup BMPCodec:writeImage, likewise r2130 * fix hand-optimized rot90 for new, abritrary stride r2129 * further revised BMPCodec rle decompression to unpack oriented in-place *) r2128 | (no author) | (no date) | 1 line *) 2015-07-20 Rene Rebe: r2127 * vastly revise and clean up BMP rle decoding, fixes some decoding issues *) 2015-07-19 Rene Rebe: r2126 * support BMP alphabitfields "compression", likewise * log unknown copression type r2125 * polish some BMPCodec comment and whitespace r2124 * further improve esoteric bmp support * modernized pixel_rearrange and fixed alpha handling *) r2123 | (no author) | (no date) | 1 line *) r2122 | (no author) | (no date) | 1 line *) 2015-07-19 Rene Rebe: r2121 * further clean up and improve BMP version / size handling * start to support BMP alpha channels r2120 * fixed scaling unusual bmp bitfield combinations *) 2015-07-18 Rene Rebe: r2119 * fixed gray1_to_gray4 and grayX_to_rgb8 to wipe non-native stride, likewise r2118 * support 2-bit BMP files, likewise r2117 * vastly optimized BMPCodec image loading, by utilizing new non- native stride support and loading and re-packing row data in-place, 40% faster * polished and modernized surrounding spaces and comments while at it r2116 * Image:resize() check explicit stride for saniy, and warn if smaller than native, and thus likely crash soon r2115 * fixed PNMCodec:write() for non-native strides r2114 * fix colorspace_de_paleete for non-native strides r2113 * fixed edisplay for relatively new support for non-native image strides *) 2015-07-16 Anders Brander : r2109 * backport dcraw inf. loop fix for CVE-2015-3885 Rene Rebe: r2112 * fixed edisplay HUD right side border off-by-4 * added some basic HiDPI support to edisplay r2110 * polished edisplay version output, likewise r2108 * polished edentify output Sven Eckelmann : r2111 * fixed edisplay Image2Evas() memory leak, introduced in r1552, 2009 *) r2107 | (no author) | (no date) | 1 line *) 2015-07-10 Rene Rebe: r2106 * adjust rgb to gray weights, and allow them for 16-bit depth, likewise r2105 * optimized and fix colorspace_8_to_16 * optimized colorspace_rgb16_to_gray16 r2104 * further simplified and more universal useable fastAutoCrop *) r2103 | (no author) | (no date) | 1 line *) r2102 | (no author) | (no date) | 1 line *) 2015-07-09 Rene Rebe: r2101 * finally optimized to avoid 1-bit bw image copy in empty-page *) r2100 | (no author) | (no date) | 1 line *) r2099 | (no author) | (no date) | 1 line *) 2015-06-11 Rene Rebe: r2098 * support -q for --quality, likewise *) 2015-05-21 Rene Rebe: r2097 * ok, ok, exception-less builds get a Image::resize() return value to check for ;-) *) 2015-05-20 Rene Rebe: r2096 * handle zero-dimension jpeg writing more gracefully (libjpeg calls exit(1) in this case, sigh!) * slight code cleanup and scanline write error logging *) 2015-04-28 Rene Rebe: r2095 * fix jpeg/exif reading for real rational tags written by some apps *) r2094 | (no author) | (no date) | 1 line *) r2093 | (no author) | (no date) | 1 line *) r2092 | (no author) | (no date) | 1 line *) r2091 | (no author) | (no date) | 1 line *) 2015-04-14 Rene Rebe: r2090 * stride() and optimize empty-page, do not 0-initialize what we overwrite anyways *) r2089 | (no author) | (no date) | 1 line *) 2015-04-10 Rene Rebe: r2088 * initialize BMC codec structs more elegantly *) r2087 | (no author) | (no date) | 1 line *) r2086 | (no author) | (no date) | 1 line *) 2015-03-29 Rene Rebe: r2085 * avoid /* within commment *) 2015-03-28 Rene Rebe: r2084 * makde our C++ codec glue work with recent giflib (if someone wants older lib(un)gif support we need to #ifdef these :-/ *) r2083 | (no author) | (no date) | 1 line *) r2082 | (no author) | (no date) | 1 line *) 2015-03-24 Rene Rebe: r2081 * added new, optional custom format argument to the bardecode frontend *) r2080 | (no author) | (no date) | 1 line *) r2079 | (no author) | (no date) | 1 line *) r2078 | (no author) | (no date) | 1 line *) r2077 | (no author) | (no date) | 1 line *) r2076 | (no author) | (no date) | 1 line *) 2015-03-05 Rene Rebe: r2075 * do not manually allocate xpm r/g/bmap, shoudl fix CID 38509 r2074 * fixed dcraw CVE fix to be able to load dcraw images, again, sigh *) r2073 | (no author) | (no date) | 1 line *) r2072 | (no author) | (no date) | 1 line *) 2015-03-04 *) r2067 | (no author) | (no date) | 1 line *) 2015-03-04 Rene Rebe: r2066 * special case to convert 1-bit xpm to pure b/w 1-bit date (for now) r2065 * fixed xpm loading pixel data off-by-one * fixed comment typo and added some new while at it *) r2064 | (no author) | (no date) | 1 line *) r2063 | (no author) | (no date) | 1 line *) 2015-03-04 Rene Rebe: r2060 * fixed xpm and gif palette to use array delete CID 38381, 38386 *) 2015-02-27 Rene Rebe: r2059 * further completely rewrote CFLAGS tunining options r2058 * use := for the CFLAGS r2057 * allow CFLAGS to be easily overridden, base CXXFLAGS on CFLAGS *) r2056 | (no author) | (no date) | 1 line *) 2015-02-26 *) r2054 | (no author) | (no date) | 1 line *) r2053 | (no author) | (no date) | 1 line *) 2015-02-23 Rene Rebe: r2052 * format configure tests with less escapes *) r2051 | (no author) | (no date) | 1 line *) r2050 | (no author) | (no date) | 1 line *) r2049 | (no author) | (no date) | 1 line *) 2015-02-14 Rene Rebe: r2048 * tagged 0.9.1 r2047 * bump version to 0.9.1 *) r2046 | (no author) | (no date) | 1 line *) 2015-02-13 Rene Rebe: r2045 * fixed flop/flipX to flip the center byte for uneven strides *) r2044 | (no author) | (no date) | 1 line *) r2043 | (no author) | (no date) | 1 line *) r2042 | (no author) | (no date) | 1 line *) 2015-02-13 Rene Rebe: r2041 * fixed fast-auto-crop off-by-one *) r2040 | (no author) | (no date) | 1 line *) r2039 | (no author) | (no date) | 1 line *) r2038 | (no author) | (no date) | 1 line *) r2037 | (no author) | (no date) | 1 line *) 2015-02-04 Rene Rebe: r2036 * fix accidently regressed (when adding stride support) rgb8_to_gray8 byte support (for alpha channels) *) r2035 | (no author) | (no date) | 1 line *) 2015-01-24 Rene Rebe: r2034 * adapted the latest pnm improvements for this broken kind of compilers, ... *) r2033 | (no author) | (no date) | 1 line *) r2032 | (no author) | (no date) | 1 line *) r2031 | (no author) | (no date) | 1 line *) r2030 | (no author) | (no date) | 1 line *) 2015-01-14 Rene Rebe: r2029 * comment out exif debug logging, sigh r2028 * fixed cmyk_to_rgb8 conversion for case of delayed JPEG decoding * optimize it as well as argb8_to_rgb8 while at it *) 2015-01-09 Rene Rebe: r2027 * tagged 0.9.0 r2026 * bump versino to 0.9.0 *) r2025 | (no author) | (no date) | 1 line *) 2015-01-08 Rene Rebe: r2024 * fixed recently introdoced optimize2bw regression: sometimes C(++) sucks so much: one can not temporarily negate an unsigned??? * polished the function a bit while at it r2023 * fixed another typo due new stride support r2022 * improved correctness and optimized just added stride honoring colorspace conversions * added support for converting 2 to 4 bit gray image, likewise * added some stride comments to the Image header *) r2021 | (no author) | (no date) | 1 line *) 2015-01-08 Rene Rebe: r2020 * update and prettify some BMP constants * write RGBA BMP files, with newer header, too *) r2019 | (no author) | (no date) | 1 line *) 2015-01-07 Rene Rebe: r2018 * made many colorspace low-level code basically "stride" safe *) r2017 | (no author) | (no date) | 1 line *) 2015-01-07 Rene Rebe: r2016 * and another file for less awesome compilers r2015 * fixed another file for not so awesome compilers r2014 * fixed Matrix for not so awesome compilers, likewise r2013 * fixed optimize2bw compilation for some not so awesome compilers r2012 * optimize memory allocation out of colorspace_gray8_to_rgb8 * let colrospace_gray8_to_rgb8 honor new variable stride r2011 * fixed pnm codec for 16-bit ascii output *) r2010 | (no author) | (no date) | 1 line *) 2015-01-06 Rene Rebe: r2009 * ok, better not amke bps, spp char, as some code may write out string bytes instead of numbers *) r2008 | (no author) | (no date) | 1 line *) r2007 | (no author) | (no date) | 1 line *) 2015-01-05 Rene Rebe: r2006 * start to support an Image::rowstride independantly of the image's actual width, most algorithms using the legacy iterator, or the new codegen templates should already support this transparently *) r2005 | (no author) | (no date) | 1 line *) 2015-01-05 Rene Rebe: r2004 * remove some very deprecated Image methods r2003 * converted decomposable_sym_convolution_matrix to template based codegen, so that we now can blur non-8bit image data, likewise r2002 * fixed 5/6 argument codegen typo r2001 * started to convert the convolution_matrix code to new-style template, likewise *) r2000 | (no author) | (no date) | 1 line *) r1999 | (no author) | (no date) | 1 line *) 2014-12-31 Rene Rebe: r1998 * throw std::bad_alloc exception on Image::resize() allocation failure and call it 2015, Happy New Year! *) r1997 | (no author) | (no date) | 1 line *) 2014-12-18 Rene Rebe: r1996 * parse more EXIF, and support using it's resolution encoding, if not present in the JFIF, ... *) r1995 | (no author) | (no date) | 1 line *) r1994 | (no author) | (no date) | 1 line *) r1993 | (no author) | (no date) | 1 line *) r1992 | (no author) | (no date) | 1 line *) 2014-11-27 Rene Rebe: r1991 * use PDF standard formula to convert basic CMYK to RGB *) r1990 | (no author) | (no date) | 1 line *) r1989 | (no author) | (no date) | 1 line *) 2014-11-07 Rene Rebe: r1988 * comment out accidently commited Makefile modification from r1977 *) r1987 | (no author) | (no date) | 1 line *) r1986 | (no author) | (no date) | 1 line *) r1985 | (no author) | (no date) | 1 line *) 2014-10-24 Rene Rebe: r1984 * comment verbose debug logging in the pcx codec * fix some signess warnings while at it r1983 * zero-initialize the bmp header while reading, fixes reading some os2-style images *) r1982 | (no author) | (no date) | 1 line *) 2014-10-24 Rene Rebe: r1981 * fixed bmp scanline read check, and do not try to use the data in case of failure *) r1980 | (no author) | (no date) | 1 line *) 2014-09-18 Rene Rebe: r1979 * better yet, correctly indented r1978 * clarified new hocr2pdf compress option help text *) 2014-09-17 Rene Rebe: r1977 * added --compress and --quality options to hocr2pdf, likewise *) r1976 | (no author) | (no date) | 1 line *) r1975 | (no author) | (no date) | 1 line *) 2014-09-17 Rene Rebe: r1974 * parse econvert/line args as float, to allow center lines in pixel grid *) r1973 | (no author) | (no date) | 1 line *) r1972 | (no author) | (no date) | 1 line *) r1971 | (no author) | (no date) | 1 line *) r1970 | (no author) | (no date) | 1 line *) r1969 | (no author) | (no date) | 1 line *) 2014-09-04 Rene Rebe: r1968 * implemented extended filtered ddt scaling, likewise r1967 * further fixed ddt details *) 2014-09-02 Rene Rebe: r1966 * further fixed up ddt-scale correctness, sigh * fixed accidently commited debug +1 in the nn-scale, sigh, likewise r1965 * allow using econvert --size to create empty, synthetic images *) r1964 | (no author) | (no date) | 1 line *) 2014-08-30 Rene Rebe: r1963 * header include fixes are best without typos, sigh! r1962 * added missing header include, probably broken since r1953 cleanup *) 2014-08-29 Rene Rebe: r1961 * fixed ddt-scale virtual mesh generation *) r1960 | (no author) | (no date) | 1 line *) r1959 | (no author) | (no date) | 1 line *) r1958 | (no author) | (no date) | 1 line *) r1957 | (no author) | (no date) | 1 line *) r1956 | (no author) | (no date) | 1 line *) r1955 | (no author) | (no date) | 1 line *) r1954 | (no author) | (no date) | 1 line *) 2014-07-11 Rene Rebe: r1953 * removed unused header include *) r1952 | (no author) | (no date) | 1 line *) r1951 | (no author) | (no date) | 1 line *) r1950 | (no author) | (no date) | 1 line *) r1949 | (no author) | (no date) | 1 line *) 2014-06-30 Rene Rebe: r1948 * eight argument codegen, likewise *) r1947 | (no author) | (no date) | 1 line *) r1946 | (no author) | (no date) | 1 line *) 2014-06-23 Rene Rebe: r1945 * resize to target colorspace for unsuccessful colorspace scaling *) r1944 | (no author) | (no date) | 1 line *) 2014-05-29 Rene Rebe: r1943 * fixed copyright name utf8 encoding *) r1942 | (no author) | (no date) | 1 line *) r1941 | (no author) | (no date) | 1 line *) r1940 | (no author) | (no date) | 1 line *) r1939 | (no author) | (no date) | 1 line *) r1938 | (no author) | (no date) | 1 line *) r1937 | (no author) | (no date) | 1 line *) r1936 | (no author) | (no date) | 1 line *) r1935 | (no author) | (no date) | 1 line *) r1934 | (no author) | (no date) | 1 line *) 2014-02-02 Rene Rebe: r1933 * added support for optional, 4-component palette indexing *) r1932 | (no author) | (no date) | 1 line *) 2014-01-20 Rene Rebe: r1931 * sometimes we need really precise scaling, started to introduce fixed scaling to bilinear_scale *) 2014-01-11 Rene Rebe: r1930 * fixed last rev last minute edit, ... r1929 * greatly simplified JPEGCodec::doTransform and avoid meta re-read entirely r1928 * simplified and more robust image:operator= *) r1927 | (no author) | (no date) | 1 line *) 2014-01-09 Rene Rebe: r1926 * however, do not free codec if the same is set again (JPEG) r1925 * reset jpeg stream before making the priate snapshot r1924 * free attached codec while setting a new one *) r1923 | (no author) | (no date) | 1 line *) r1922 | (no author) | (no date) | 1 line *) r1921 | (no author) | (no date) | 1 line *) 2013-12-26 Rene Rebe: r1920 * fix comment, typos r1919 * added cmyk2rgb conversion function *) r1918 | (no author) | (no date) | 1 line *) r1917 | (no author) | (no date) | 1 line *) r1916 | (no author) | (no date) | 1 line *) r1915 | (no author) | (no date) | 1 line *) 2013-12-20 Rene Rebe: r1914 * fix upscaling any-gray to rgba8 *) r1913 | (no author) | (no date) | 1 line *) r1912 | (no author) | (no date) | 1 line *) 2013-12-19 Rene Rebe: r1911 * more modern comment style *) r1910 | (no author) | (no date) | 1 line *) 2013-12-18 Rene Rebe: r1909 * improved Image:resize() to check if reallocation was successful * do not alter the image if not, and return error *) r1908 | (no author) | (no date) | 1 line *) r1907 | (no author) | (no date) | 1 line *) r1906 | (no author) | (no date) | 1 line *) r1905 | (no author) | (no date) | 1 line *) r1904 | (no author) | (no date) | 1 line *) r1903 | (no author) | (no date) | 1 line *) r1902 | (no author) | (no date) | 1 line *) r1901 | (no author) | (no date) | 1 line *) r1900 | (no author) | (no date) | 1 line *) 2013-11-07 Rene Rebe: r1899 * some types and initializers to avoid warnings r1898 * added newline at EOF *) r1897 | (no author) | (no date) | 1 line *) r1896 | (no author) | (no date) | 1 line *) r1895 | (no author) | (no date) | 1 line *) r1894 | (no author) | (no date) | 1 line *) 2013-11-01 Rene Rebe: r1893 * bump (C) year of touched file r1892 * added rgba by_name up-scaling *) 2013-10-31 Rene Rebe: r1891 * more agg details in the bridge for more esoteric template mixup *) r1890 | (no author) | (no date) | 1 line *) r1889 | (no author) | (no date) | 1 line *) 2013-10-22 Sven Eckelmann : r1888 * patch for CVE-2013-1438: dcraw world: multiple vulnerabilities r1887 * fixed CVE-2013-1441: exactimage: DoS, econvert crashes, due missing setjmp in dcraw compatibility bridge glue *) r1886 | (no author) | (no date) | 1 line *) r1885 | (no author) | (no date) | 1 line *) r1884 | (no author) | (no date) | 1 line *) r1883 | (no author) | (no date) | 1 line *) r1882 | (no author) | (no date) | 1 line *) r1881 | (no author) | (no date) | 1 line *) r1880 | (no author) | (no date) | 1 line *) r1879 | (no author) | (no date) | 1 line *) r1878 | (no author) | (no date) | 1 line *) r1877 | (no author) | (no date) | 1 line *) r1876 | (no author) | (no date) | 1 line *) r1875 | (no author) | (no date) | 1 line *) r1874 | (no author) | (no date) | 1 line *) r1873 | (no author) | (no date) | 1 line *) r1872 | (no author) | (no date) | 1 line *) r1871 | (no author) | (no date) | 1 line *) r1870 | (no author) | (no date) | 1 line *) r1869 | (no author) | (no date) | 1 line *) 2013-08-21 Rene Rebe: r1868 * guard ImageIterator2.hh for multiple inclusions r1867 * remove unused header include *) 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 : 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 includes as reported by Debian r1821 * include unistd.h for usleep(), as reported by Debian Sven Eckelmann : 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 ( 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 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 ) 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