diff options
Diffstat (limited to 'src/lib/openjp2/t2.c')
| -rw-r--r-- | src/lib/openjp2/t2.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/lib/openjp2/t2.c b/src/lib/openjp2/t2.c index 781a6a59..6a2ee523 100644 --- a/src/lib/openjp2/t2.c +++ b/src/lib/openjp2/t2.c @@ -390,15 +390,16 @@ static void opj_null_jas_fprintf(FILE* file, const char * format, ...) #define JAS_FPRINTF opj_null_jas_fprintf #endif -OPJ_BOOL opj_t2_decode_packets(opj_tcd_t* tcd, - opj_t2_t *p_t2, - OPJ_UINT32 p_tile_no, - opj_tcd_tile_t *p_tile, - OPJ_BYTE *p_src, - OPJ_UINT32 * p_data_read, - OPJ_UINT32 p_max_len, - opj_codestream_index_t *p_cstr_index, - opj_event_mgr_t *p_manager) +OPJ_RESULT opj_t2_decode_packets(opj_tcd_t* tcd, + opj_t2_t *p_t2, + OPJ_UINT32 p_tile_no, + opj_tcd_tile_t *p_tile, + OPJ_BYTE *p_src, + OPJ_UINT32 * p_data_read, + OPJ_UINT32 p_max_len, + opj_codestream_index_t *p_cstr_index, + opj_event_mgr_t *p_manager, + opj_cancel_t *p_cancel) { OPJ_BYTE *l_current_data = p_src; opj_pi_iterator_t *l_pi = 00; @@ -462,6 +463,10 @@ OPJ_BOOL opj_t2_decode_packets(opj_tcd_t* tcd, l_current_pi->poc.prg1, l_current_pi->compno, l_current_pi->resno, l_current_pi->precno, l_current_pi->layno); + if (opj_should_cancel(p_cancel)) { + return OPJ_CANCEL; + } + /* If the packet layer is greater or equal than the maximum */ /* number of layers, skip the packet */ if (l_current_pi->layno >= l_tcp->num_layers_to_decode) { |
