JPEGSnoop (источник теперь доступен @ sourceforge) сообщает о значительном переполнении яркости еще до того, как мы перейдем к преобразованию Y'CbCr в RGB. Я получаю эти ошибки в некоторых других файлах, но переполнение обычно небольшое - 256 или 257 против максимального значения 255. Рассчитанная здесь яркость равна 729!
Комментарии автора JPEGSnoop к переполнению YCC:
YCC отсечение в DC - каждый MCU добавляет или
вычитает из постоянного (среднего) значения
в предыдущем MCU. Это должно все
оставаться в пределах 8-битного диапазона, но
коррупция в коэффициенте постоянного тока может
заставить это значение выйти из
спектр. Этот тип ошибки приведет к
внезапные крупномасштабные изменения в цвете или
яркость в вашем изображении. Как этот тип
ошибки обычно не восстанавливаются,
JPEGsnoop сообщит только о первом
10 из них в файле журнала.
Я не был знаком с DC между MCU, но Pennebaker & Mitchel concur .
*** Decoding SCAN Data ***
OFFSET: 0x00000160
Scan Decode Mode: Full IDCT (AC + DC)
Scan Data encountered marker 0xFFD9 @ 0x00027CA9.0
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 729, 109, 171) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 682, 109, 172) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 741, 109, 173) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 629, 109, 174) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 841, 109, 175) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 319, 109, 176) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 928, 109, 177) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 0, 0) YCC=( 624, 109, 177) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 1, 0) YCC=( 785, 107, 171) Y Overflow @ Offset 0x00027CA8.2
*** NOTE: YCC Clipped. MCU=( 1, 0) YCC=( 559, 107, 171) Y Overflow @ Offset 0x00027CA8.2
Only reported first 10 instances of this message...