Hi, i wrote: > > halve_jpeg.c
Dan Hitt wrote: > It was unwilling to deal with a non-color image that i had ("Unsuitable JPEG > format with 1 components per pixel"), [...] > if i need to deal with non-color images, i can try to modify it. It is much ad-hoc work, i have to confess. The images which made my computer mad came from a professional camera and all were in 3 colors. Every occurence of 3 between "2013" and "if(argc < 3)" would have to become hjpg->cinfo_in.output_components. Next problem is the hardcoded cinfo_out->in_color_space= JCS_RGB; which must become hjpg->cinfo_in.out_color_space. Another need for change might come from the program's habit to size down to half edge length by default. (Originally this was its only mode because it was only intended to make the image size digestible for ImageMagick "convert". Then i got carried away and implemented more flexible scaling.) ------------------------------------------------------------------------- I forked a new program reformat_jpeg.c and implemented those changes. It seems to work with grayscale https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Nine_steps_stair_in_Lysekil_-_bw.jpg/800px-Nine_steps_stair_in_Lysekil_-_bw.jpg and with the color images i tested up to now. (Ye olde halve_jpeg got lots of testing during the years.) Download: http://scdbackup.sourceforge.net/reformat_jpeg.c (if sourceforge gets over its 503 and 504 errors of today) SHA256: 64ab46e8102e304558f0a10c85cc2dd08010d4346c50ab4eca678049d2b9c260 Compilation: cc -g -Wall -o reformat_jpeg reformat_jpeg.c -ljpeg Usage is like with halve_jpeg, except the size default. Have a nice day :) Thomas