diff options
author | JUN FANG <jun_fang@foxitsoftware.com> | 2015-02-27 10:00:00 -0800 |
---|---|---|
committer | JUN FANG <jun_fang@foxitsoftware.com> | 2015-02-27 10:00:00 -0800 |
commit | ec61a859344dc6d2a60e4cbcd1555e6d317f2add (patch) | |
tree | aefdff9a82c0b205573c54e899bf582022ac54a6 /core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/pi.c | |
parent | 42a8adad1c53c060bb93457902243a53270cec36 (diff) | |
download | pdfium-ec61a859344dc6d2a60e4cbcd1555e6d317f2add.tar.xz |
Upgrade openjpeg to revision 2997.
BUG=457493
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/960183004
Diffstat (limited to 'core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/pi.c')
-rw-r--r-- | core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/pi.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/pi.c b/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/pi.c index 65ff6263e0..393a1e5540 100644 --- a/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/pi.c +++ b/core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/pi.c @@ -693,6 +693,9 @@ void opj_get_all_encoding_parameters( const opj_image_t *p_image, /* position in x and y of tile*/ OPJ_UINT32 p, q; + /* non-corrected (in regard to image offset) tile offset */ + OPJ_UINT32 l_tx0, l_ty0; + /* preconditions in debug*/ assert(p_cp != 00); assert(p_image != 00); @@ -708,10 +711,12 @@ void opj_get_all_encoding_parameters( const opj_image_t *p_image, q = tileno / p_cp->tw; /* here calculation of tx0, tx1, ty0, ty1, maxprec, l_dx and l_dy */ - *p_tx0 = opj_int_max((OPJ_INT32)(p_cp->tx0 + p * p_cp->tdx), (OPJ_INT32)p_image->x0); - *p_tx1 = opj_int_min((OPJ_INT32)(p_cp->tx0 + (p + 1) * p_cp->tdx), (OPJ_INT32)p_image->x1); - *p_ty0 = opj_int_max((OPJ_INT32)(p_cp->ty0 + q * p_cp->tdy), (OPJ_INT32)p_image->y0); - *p_ty1 = opj_int_min((OPJ_INT32)(p_cp->ty0 + (q + 1) * p_cp->tdy), (OPJ_INT32)p_image->y1); + l_tx0 = p_cp->tx0 + p * p_cp->tdx; /* can't be greater than p_image->x1 so won't overflow */ + *p_tx0 = (OPJ_INT32)opj_uint_max(l_tx0, p_image->x0); + *p_tx1 = (OPJ_INT32)opj_uint_min(opj_uint_adds(l_tx0, p_cp->tdx), p_image->x1); + l_ty0 = p_cp->ty0 + q * p_cp->tdy; /* can't be greater than p_image->y1 so won't overflow */ + *p_ty0 = (OPJ_INT32)opj_uint_max(l_ty0, p_image->y0); + *p_ty1 = (OPJ_INT32)opj_uint_min(opj_uint_adds(l_ty0, p_cp->tdy), p_image->y1); /* max precision and resolution is 0 (can only grow)*/ *p_max_prec = 0; |