# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: address@hidden # d7ohzvndj65f1phb # target_branch: bzr://bzr.savannah.gnu.org/pdf/libgnupdf/trunk/ # testament_sha1: ef8ef5a99f548c69ad00afb3b849548fa9ac3d1f # timestamp: 2011-11-10 11:59:23 +0100 # base_revision_id: address@hidden # # Begin patch === modified file 'ChangeLog' --- ChangeLog 2011-10-11 21:17:52 +0000 +++ ChangeLog 2011-11-10 10:52:45 +0000 @@ -1,3 +1,8 @@ +2011-11-10 Georg Gottleuber + + base,stm: Bugfix in prediction filter. + * src/base/pdf-stm-f-pred.c: predictor type inside PNG with offset + 2011-10-11 Jose E. Marchesi prmgt: converters to html reverted to a previous revision. === modified file 'src/base/pdf-stm-f-pred.c' --- src/base/pdf-stm-f-pred.c 2011-07-30 21:08:22 +0000 +++ src/base/pdf-stm-f-pred.c 2011-11-10 10:52:45 +0000 @@ -969,6 +969,7 @@ pdf_char_t *out_buf; pdf_size_t in_size; + pdf_uchar_t png_pred_type; PDF_ASSERT (in->wp >= in->rp); size_t tocpy; @@ -1008,7 +1009,11 @@ { /* write/read PNG predictor at first byte of a row */ if (is_png_predictor) - fs->out_row_buf->data[fs->out_row_buf->wp++] = fs->predictor; + { + /* predictor numbers inside PNG start with 0 (see RFC-2083) */ + png_pred_type = fs->predictor - PDF_STM_F_PREDDEC_PNG_NONE; + fs->out_row_buf->data[fs->out_row_buf->wp++] = png_pred_type; + } curr_row = (pdf_char_t*) fs->curr_row_buf->data; out_buf = (pdf_char_t*) fs->out_row_buf->data @@ -1143,7 +1148,11 @@ { /* write/read PNG predictor at first byte of a row */ if (is_png_predictor) - fs->predictor = fs->curr_row_buf->data[fs->curr_row_buf->rp++]; + { + fs->predictor = fs->curr_row_buf->data[fs->curr_row_buf->rp++]; + /* predictor numbers inside PNG start with 0 (see RFC-2083) */ + fs->predictor += PDF_STM_F_PREDDEC_PNG_NONE; + } curr_row = (pdf_char_t*) fs->curr_row_buf->data + fs->curr_row_buf->rp; # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWXpQLbIAAm3fgCA1UH///1+H 3Aq////6UAVGrxQUNrAoAASiKepmo000mmT1NoaTTTTQ0APUBhGQ0eocZMmTEYmAEyYJkANGEYAh gEogJTT09Jkgaep6gNGmgAB6gAHqNBxkyZMRiYATJgmQA0YRgCGASSBA00E0yIptoJppGGhkmQ0D QNGkgDSNcGzfa2kUwa/AeS35kqpSt5i1aipEy7BYQRrHPvunYzDAyeUBBghOr2Fc2kx7nmOUFVV+ dIXqj1VZGBrcFKxRr1pFIX08bchh8zgywApPXM89MxcRMRGcIrCxK+IzkmOBG0DAeQjS5NdLl+bT V5DidaRqohUjtwxnC4+xeYxDJFApOOGAoHWbpjFQsPgVBjtA/s5c0umRuXY47kjo5rvKE0jJI+gd Z4Gxr0bsNk/hJC2c5lvR1e4B7xJha8k9HqN6iBF48eyaBcN2A9f0OtKtq5GuAOA9FuAVsQZ0IQHd zk9QyszgGwuK7KXgQvLFGgxQFAJhoRmeD93CVl1n4lNArLYWds4T0m8NT38bcTpaRQo806gMrmec QaOqPayFBDEmMguDaJZvJ43lZOJxKwNpjjjnREue9XKnNeTrGHDjC5t1hHWjitjYs3YHrMwnvTpB txtAeuLzV5w5g47i4yxqMlgVBmTqTqxncQIf5xDmRAYCJNVz1dOhhKhZSqiCdw9OqkPdQA5oxLzX X5DFMEZpTAyM4oqOodCQSiRGpCAZF1W5nDBdMJF8if0VVB1LbVaBGq2advHv0YiZFCMjOROBa1zy hZgOLpVzqjiX1vyJKwueN7bFv0OQ622+TDUqe+546O5DlFwNJoKpFVTNofp4Nx6TMb1OXoqXCgx5 hns3X3nSD2S9ITSJkAZVsRGoYPU1G02ELT6Rym4aOEf0KQeR9lYSEgHuiI4HkGjUdcT5TULjwLSo qUzBksMOsolqd9dcFVBcKdOccJzZDMQjKbvBioks2UKPG2RVLKV16wrIjjtB5oN4SScF5X3m/LL2 lvgbfKMvXVf8kKhbmFfcHrA+NGNXY4nvOjQY0JV+Jyflsue8PJtwlfDcyDd8y1GnLPx062LKsQrD xAdBEFaS4QDVIw4oqQMqwI/N/OET4jzJQQPHQOU/jzDtG7O7U1vO46zAvj5mHV4jI8sD5eUz6wxY FoOMZ5vaO27CLNzuMD8gqX1TB7CCRSwnpq4ekYuBxtz8CJwQpoqRDsDpLjEBlMnKZh16TClstJjN xlKAlHztI7ZkG061VixmJVwRSwYckrV52ZDEfSelMOyOY/4MQ9KRmHkDYXIXvcuoC7IDilikVnnX doQ1QdfrRQHVwXECoHnOvcibg/3hjCRcj7UeIdEyB59+AG9XBqaaI3hYiy196ZdgsELpy6AUSJXI ZIk4gGyiEiJR5IiZ4ykuFUBhkbEXovAg7RQVyRU0AmJmDsCwesb3n1xOcCi1rS+6s3ApnIGSJrKC oGfoHJHqLA+xtt2zDBIO3tgzor2Iu7wMfPWY83PuG5KJmmDH5h6AqLyYy5MOANB70R6nhQAo5K3q msFYgLsGByocYXMGMyomNXUywMUn4RkHaYyGVJnYHQhxavK2dwxUfUtLRRnZQm9jE+APMU6rto2Y YA7IK4XXnYVoVwnJMi8IRcFdSFS4YgE0LN/APgZ6JFR6kidMFeRU0d68wFqiGAccjxOqxF6t3o1q UfeB9Q/8XckU4UJB6UC2yA==