- l_rx0 = opj_int_ceildivpow2(l_tcx0, (OPJ_INT32)l_level_no);
- l_ry0 = opj_int_ceildivpow2(l_tcy0, (OPJ_INT32)l_level_no);
- l_rx1 = opj_int_ceildivpow2(l_tcx1, (OPJ_INT32)l_level_no);
- l_ry1 = opj_int_ceildivpow2(l_tcy1, (OPJ_INT32)l_level_no);
- l_px0 = opj_int_floordivpow2(l_rx0, (OPJ_INT32)l_pdx) << l_pdx;
- l_py0 = opj_int_floordivpow2(l_ry0, (OPJ_INT32)l_pdy) << l_pdy;
- l_px1 = opj_int_ceildivpow2(l_rx1, (OPJ_INT32)l_pdx) << l_pdx;
- py1 = opj_int_ceildivpow2(l_ry1, (OPJ_INT32)l_pdy) << l_pdy;
- l_pw = (l_rx0 == l_rx1) ? 0 : (OPJ_UINT32)((l_px1 - l_px0) >> l_pdx);
- l_ph = (l_ry0 == l_ry1) ? 0 : (OPJ_UINT32)((py1 - l_py0) >> l_pdy);
- *lResolutionPtr++ = l_pw;
- *lResolutionPtr++ = l_ph;
+ l_rx0 = opj_uint_ceildivpow2(l_tcx0, l_level_no);
+ l_ry0 = opj_uint_ceildivpow2(l_tcy0, l_level_no);
+ l_rx1 = opj_uint_ceildivpow2(l_tcx1, l_level_no);
+ l_ry1 = opj_uint_ceildivpow2(l_tcy1, l_level_no);
+ l_px0 = opj_uint_floordivpow2(l_rx0, l_pdx) << l_pdx;
+ l_py0 = opj_uint_floordivpow2(l_ry0, l_pdy) << l_pdy;
+ l_px1 = opj_uint_ceildivpow2(l_rx1, l_pdx) << l_pdx;
+ py1 = opj_uint_ceildivpow2(l_ry1, l_pdy) << l_pdy;
+ l_pw = (l_rx0 == l_rx1) ? 0 : ((l_px1 - l_px0) >> l_pdx);
+ l_ph = (l_ry0 == l_ry1) ? 0 : ((py1 - l_py0) >> l_pdy);
+ if (lResolutionPtr) {
+ *lResolutionPtr++ = l_pw;
+ *lResolutionPtr++ = l_ph;
+ }