PhotoStructure’s image validation uses libjpeg
, which is the source of that warning:
$ jpegtran -outfile /dev/null ~/Desktop/0153.jpg
Caution: quantization tables are too coarse for baseline JPEG
You can disable all image validation within PhotoStructure by setting PS_VALIDATE_JPEG_IMAGES=0
.
(The images in my older libraries haven’t succumbed to these sorts of bitrot: they tend to be either fine, or completely scrambled).
It might be nicer to have a middle ground here, so if libjpeg only has a “caution” or “warning”, those images would still be imported. If you think that’d be nice, feel free to open a new feature request nevermind, I just implemented it:
# +----------------------------+
# | validationErrorBlocklist |
# +----------------------------+
#
# If any of the following patterns match a validation error found in a photo
# or video, the file will be considered corrupt and not be imported into your
# library.
#
# Note the patterns are case-insensitive, will be converted into a regular
# expression, and only need to partially match the error message, so, for
# example, a value of "caution" will ignore any error message that contains
# the string "caution".
#
# PS_VALIDATION_ERROR_BLOCKLIST="[\"corrupt\",\"invalid\",\"error\",\"failed\",\"nothing was written into output file\",\"partial file\",\"Cannot determine format of input stream\"]"