Home | History | Annotate | Download | only in libopenjpeg20

Lines Matching refs:OPJ_UINT32

192 static const struct opj_dec_memory_marker_handler * opj_j2k_get_marker_handler (OPJ_UINT32 p_id);
228 OPJ_UINT32 p_tile_no,
229 OPJ_UINT32 p_comp_no,
231 OPJ_UINT32 * p_header_size,
243 static OPJ_UINT32 opj_j2k_get_SPCod_SPCoc_size (opj_j2k_t *p_j2k,
244 OPJ_UINT32 p_tile_no,
245 OPJ_UINT32 p_comp_no );
256 OPJ_UINT32 compno,
258 OPJ_UINT32 * p_header_size,
270 static OPJ_UINT32 opj_j2k_get_SQcd_SQcc_size ( opj_j2k_t *p_j2k,
271 OPJ_UINT32 p_tile_no,
272 OPJ_UINT32 p_comp_no );
286 OPJ_UINT32 p_tile_no,
287 OPJ_UINT32 p_comp_no,
289 OPJ_UINT32 * p_header_size,
295 static void opj_j2k_update_tlm ( opj_j2k_t * p_j2k, OPJ_UINT32 p_tile_part_size);
308 OPJ_UINT32 compno,
310 OPJ_UINT32 * p_header_size,
335 OPJ_UINT32 p_tile_index,
344 OPJ_UINT32* l_size_comp,
345 OPJ_UINT32* l_width,
346 OPJ_UINT32* l_height,
347 OPJ_UINT32* l_offset_x,
348 OPJ_UINT32* l_offset_y,
349 OPJ_UINT32* l_image_width,
350 OPJ_UINT32* l_stride,
351 OPJ_UINT32* l_tile_offset);
367 OPJ_UINT32 * p_data_written,
368 OPJ_UINT32 p_total_data_size,
374 OPJ_UINT32 * p_data_written,
375 OPJ_UINT32 p_total_data_size,
439 OPJ_UINT32 p_header_size,
462 OPJ_UINT32 p_header_size,
484 OPJ_UINT32 p_header_size,
497 OPJ_UINT32 p_comp_no,
513 OPJ_UINT32 p_comp_no,
515 OPJ_UINT32 * p_data_written,
524 static OPJ_UINT32 opj_j2k_get_max_coc_size(opj_j2k_t *p_j2k);
535 OPJ_UINT32 p_header_size,
558 OPJ_UINT32 p_header_size,
570 OPJ_UINT32 p_comp_no,
586 OPJ_UINT32 p_comp_no,
588 OPJ_UINT32 * p_data_written,
595 static OPJ_UINT32 opj_j2k_get_max_qcc_size (opj_j2k_t *p_j2k);
606 OPJ_UINT32 p_header_size,
628 OPJ_UINT32 * p_data_written,
633 static OPJ_UINT32 opj_j2k_get_max_poc_size(opj_j2k_t *p_j2k);
645 OPJ_UINT32 p_header_size,
651 static OPJ_UINT32 opj_j2k_get_max_toc_size (opj_j2k_t *p_j2k);
658 static OPJ_UINT32 opj_j2k_get_specific_header_sizes(opj_j2k_t *p_j2k);
670 OPJ_UINT32 p_header_size,
682 OPJ_UINT32 p_header_size,
706 OPJ_UINT32 p_header_size,
718 OPJ_UINT32 p_header_size,
733 OPJ_UINT32 p_header_size,
754 OPJ_UINT32 p_header_size,
789 OPJ_UINT32 * p_data_written,
807 OPJ_UINT32 p_header_size,
808 OPJ_UINT32* p_tile_no,
809 OPJ_UINT32* p_tot_len,
810 OPJ_UINT32* p_current_part,
811 OPJ_UINT32* p_num_parts,
823 OPJ_UINT32 p_header_size,
839 OPJ_UINT32 * p_data_written,
840 OPJ_UINT32 p_total_data_size,
855 static void opj_j2k_update_tlm (opj_j2k_t * p_j2k, OPJ_UINT32 p_tile_part_size )
875 OPJ_UINT32 p_tile_no,
876 OPJ_UINT32 p_comp_no,
877 OPJ_UINT32 nb_comps,
891 OPJ_UINT32 p_header_size,
947 static OPJ_BOOL opj_j2k_add_mhmarker(opj_codestream_index_t *cstr_index, OPJ_UINT32 type, OPJ_OFF_T pos, OPJ_UINT32 len) ;
956 static OPJ_BOOL opj_j2k_add_tlmarker(OPJ_UINT32 tileno, opj_codestream_index_t *cstr_index, OPJ_UINT32 type, OPJ_OFF_T pos, OPJ_UINT32 len);
970 OPJ_UINT32 *output_marker,
996 OPJ_UINT32 p_header_size,
1022 OPJ_UINT32 p_header_size,
1046 OPJ_UINT32 p_header_size,
1049 static OPJ_BOOL opj_j2k_add_mct(opj_tcp_t * p_tcp, opj_image_t * p_image, OPJ_UINT32 p_index);
1051 static void opj_j2k_read_int16_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1052 static void opj_j2k_read_int32_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1053 static void opj_j2k_read_float32_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1054 static void opj_j2k_read_float64_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1056 static void opj_j2k_read_int16_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1057 static void opj_j2k_read_int32_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1058 static void opj_j2k_read_float32_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1059 static void opj_j2k_read_float64_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1061 static void opj_j2k_write_float_to_int16 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1062 static void opj_j2k_write_float_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1063 static void opj_j2k_write_float_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32
1064 static void opj_j2k_write_float_to_float64 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1097 OPJ_UINT32 p_header_size,
1162 OPJ_UINT32 p_nb_pocs,
1163 OPJ_UINT32 p_nb_resolutions,
1164 OPJ_UINT32 numcomps,
1165 OPJ_UINT32 numlayers,
1177 static OPJ_UINT32 opj_j2k_get_num_tp( opj_cp_t *cp, OPJ_UINT32 pino, OPJ_UINT32 tileno);
1193 OPJ_UINT32 * p_nb_tiles,
1223 static OPJ_BOOL opj_j2k_need_nb_tile_parts_correction(opj_stream_private_t *p_stream, OPJ_UINT32 tile_no, OPJ_BOOL* p_correction_needed, opj_event_mgr_t * p_manager );
1247 static const OPJ_UINT32 MCT_ELEMENT_SIZE [] =
1255 typedef void (* opj_j2k_mct_function) (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem);
1284 OPJ_UINT32 id;
1286 OPJ_UINT32 states;
1290 OPJ_UINT32 p_header_size,
1332 static void opj_j2k_read_int16_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1336 OPJ_UINT32 i;
1337 OPJ_UINT32 l_temp;
1348 static void opj_j2k_read_int32_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1352 OPJ_UINT32 i;
1353 OPJ_UINT32 l_temp;
1364 static void opj_j2k_read_float32_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1368 OPJ_UINT32 i;
1380 static void opj_j2k_read_float64_to_float (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1384 OPJ_UINT32 i;
1396 static void opj_j2k_read_int16_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1400 OPJ_UINT32 i;
1401 OPJ_UINT32 l_temp;
1412 static void opj_j2k_read_int32_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1416 OPJ_UINT32 i;
1417 OPJ_UINT32 l_temp;
1428 static void opj_j2k_read_float32_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1432 OPJ_UINT32 i;
1444 static void opj_j2k_read_float64_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1448 OPJ_UINT32 i;
1460 static void opj_j2k_write_float_to_int16 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1464 OPJ_UINT32 i;
1465 OPJ_UINT32 l_temp;
1468 l_temp = (OPJ_UINT32) *(l_src_data++);
1476 static void opj_j2k_write_float_to_int32 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1480 OPJ_UINT32 i;
1481 OPJ_UINT32 l_temp;
1484 l_temp = (OPJ_UINT32) *(l_src_data++);
1492 OPJ_UINT32 p_nb_elem)
1496 OPJ_UINT32 i;
1508 static void opj_j2k_write_float_to_float64 (const void * p_src_data, void * p_dest_data, OPJ_UINT32 p_nb_elem)
1512 OPJ_UINT32 i;
1535 OPJ_UINT32 p_nb_pocs,
1536 OPJ_UINT32 p_nb_resolutions,
1537 OPJ_UINT32 p_num_comps,
1538 OPJ_UINT32 p_num_layers,
1541 OPJ_UINT32* packet_array;
1542 OPJ_UINT32 index , resno, compno, layno;
1543 OPJ_UINT32 i;
1544 OPJ_UINT32 step_c = 1;
1545 OPJ_UINT32 step_r = p_num_comps * step_c;
1546 OPJ_UINT32 step_l = p_nb_resolutions * step_r;
1548 OPJ_UINT32 layno0 = 0;
1550 packet_array = (OPJ_UINT32*) opj_calloc(step_l * p_num_layers, sizeof(OPJ_UINT32));
1565 OPJ_UINT32 res_index = index + p_pocs->compno0 * step_c;
1569 OPJ_UINT32 comp_index = res_index + layno0 * step_l;
1587 OPJ_UINT32 l_last_layno1 = (p_pocs-1)->layno1 ;
1594 OPJ_UINT32 res_index = index + p_pocs->compno0 * step_c;
1598 OPJ_UINT32 comp_index = res_index + layno0 * step_l;
1638 static OPJ_UINT32 opj_j2k_get_num_tp(opj_cp_t *cp, OPJ_UINT32 pino, OPJ_UINT32 tileno)
1642 OPJ_UINT32 tpnum = 1;
1698 OPJ_UINT32 * p_nb_tiles,
1703 OPJ_UINT32 pino,tileno;
1704 OPJ_UINT32 l_nb_tiles;
1724 OPJ_UINT32 cur_totnum_tp = 0;
1730 OPJ_UINT32 tp_num = opj_j2k_get_num_tp(cp,pino,tileno);
1754 OPJ_UINT32 cur_totnum_tp = 0;
1759 OPJ_UINT32 tp_num = opj_j2k_get_num_tp(cp,pino,tileno);
1820 OPJ_UINT32 l_marker;
1856 OPJ_UINT32 i;
1857 OPJ_UINT32 l_size_len;
1956 OPJ_UINT32 p_header_size,
1960 OPJ_UINT32 i;
1961 OPJ_UINT32 l_nb_comp;
1962 OPJ_UINT32 l_nb_comp_remain;
1963 OPJ_UINT32 l_remaining_size;
1964 OPJ_UINT32 l_nb_tiles;
1965 OPJ_UINT32 l_tmp, l_tx1, l_ty1;
1996 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_image->x1, 4); /* Xsiz */
1998 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_image->y1, 4); /* Ysiz */
2000 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_image->x0, 4); /* X0siz */
2002 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_image->y0, 4); /* Y0siz */
2004 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_cp->tdx, 4); /* XTsiz */
2006 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_cp->tdy, 4); /* YTsiz */
2008 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_cp->tx0, 4); /* XT0siz */
2010 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_cp->ty0, 4); /* YT0siz */
2012 opj_read_bytes(p_header_data, (OPJ_UINT32*) &l_tmp, 2); /* Csiz */
2106 OPJ_UINT32 tmp;
2113 l_img_comp->dx = (OPJ_UINT32)tmp; /* should be between 1 and 255 */
2116 l_img_comp->dy = (OPJ_UINT32)tmp; /* should be between 1 and 255 */
2158 l_cp->tw = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)(l_image->x1 - l_cp->tx0), (OPJ_INT32)l_cp->tdx);
2159 l_cp->th = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)(l_image->y1 - l_cp->ty0), (OPJ_INT32)l_cp->tdy);
2174 p_j2k->m_specific_param.m_decoder.m_end_tile_x = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)(p_j2k->m_specific_param.m_decoder.m_end_tile_x - l_cp->tx0), (OPJ_INT32)l_cp->tdx);
2175 p_j2k->m_specific_param.m_decoder.m_end_tile_y = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)(p_j2k->m_specific_param.m_decoder.m_end_tile_y - l_cp->ty0), (OPJ_INT32)l_cp->tdy);
2299 OPJ_UINT32 l_comment_size;
2300 OPJ_UINT32 l_total_com_size;
2310 l_comment_size = (OPJ_UINT32)strlen(l_comment);
2355 OPJ_UINT32 p_header_size,
2374 OPJ_UINT32 l_code_size,l_remaining_size;
2448 OPJ_UINT32 p_header_size,
2453 OPJ_UINT32 i;
2454 OPJ_UINT32 l_tmp;
2488 if ((l_tcp->csty & ~(OPJ_UINT32)(J2K_CP_CSTY_PRT | J2K_CP_CSTY_SOP | J2K_CP_CSTY_EPH)) != 0U) {
2543 p_j2k->cstr_info->numdecompos = (OPJ_INT32*) opj_malloc(l_image->numcomps * sizeof(OPJ_UINT32));
2555 OPJ_UINT32 p_comp_no,
2559 OPJ_UINT32 l_coc_size,l_remaining_size;
2560 OPJ_UINT32 l_comp_room;
2602 OPJ_UINT32 p_comp_no,
2604 OPJ_UINT32 * p_data_written,
2610 OPJ_UINT32 l_coc_size,l_remaining_size;
2613 OPJ_UINT32 l_comp_room;
2647 static OPJ_UINT32 opj_j2k_get_max_coc_size(opj_j2k_t *p_j2k)
2649 OPJ_UINT32 i,j;
2650 OPJ_UINT32 l_nb_comp;
2651 OPJ_UINT32 l_nb_tiles;
2652 OPJ_UINT32 l_max = 0;
2677 OPJ_UINT32 p_header_size,
2684 OPJ_UINT32 l_comp_room;
2685 OPJ_UINT32 l_comp_no;
2734 OPJ_UINT32 l_qcd_size,l_remaining_size;
2794 OPJ_UINT32 p_header_size,
2821 OPJ_UINT32 p_comp_no,
2826 OPJ_UINT32 l_qcc_size,l_remaining_size;
2862 OPJ_UINT32 p_comp_no,
2864 OPJ_UINT32 * p_data_written,
2868 OPJ_UINT32 l_qcc_size,l_remaining_size;
2911 static OPJ_UINT32 opj_j2k_get_max_qcc_size (opj_j2k_t *p_j2k)
2925 OPJ_UINT32 p_header_size,
2929 OPJ_UINT32 l_num_comp,l_comp_no;
2960 static OPJ_UINT32 backup_compno = 0;
3008 OPJ_UINT32 l_nb_comp;
3009 OPJ_UINT32 l_nb_poc;
3010 OPJ_UINT32 l_poc_size;
3011 OPJ_UINT32 l_written_size = 0;
3013 OPJ_UINT32 l_poc_room;
3056 OPJ_UINT32 * p_data_written,
3060 OPJ_UINT32 i;
3062 OPJ_UINT32 l_nb_comp;
3063 OPJ_UINT32 l_nb_poc;
3064 OPJ_UINT32 l_poc_size;
3069 OPJ_UINT32 l_poc_room;
3119 l_current_poc->layno1 = (OPJ_UINT32)opj_int_min((OPJ_INT32)l_current_poc->layno1, (OPJ_INT32)l_tcp->numlayers);
3120 l_current_poc->resno1 = (OPJ_UINT32)opj_int_min((OPJ_INT32)l_current_poc->resno1, (OPJ_INT32)l_tccp->numresolutions);
3121 l_current_poc->compno1 = (OPJ_UINT32)opj_int_min((OPJ_INT32)l_current_poc->compno1, (OPJ_INT32)l_nb_comp);
3129 static OPJ_UINT32 opj_j2k_get_max_poc_size(opj_j2k_t *p_j2k)
3132 OPJ_UINT32 l_nb_tiles = 0;
3133 OPJ_UINT32 l_max_poc = 0;
3134 OPJ_UINT32 i;
3149 static OPJ_UINT32 opj_j2k_get_max_toc_size (opj_j2k_t *p_j2k)
3151 OPJ_UINT32 i;
3152 OPJ_UINT32 l_nb_tiles;
3153 OPJ_UINT32 l_max = 0;
3168 static OPJ_UINT32 opj_j2k_get_specific_header_sizes(opj_j2k_t *p_j2k)
3170 OPJ_UINT32 l_nb_bytes = 0;
3171 OPJ_UINT32 l_nb_comps;
3172 OPJ_UINT32 l_coc_bytes,l_qcc_bytes;
3202 OPJ_UINT32 p_header_size,
3206 OPJ_UINT32 i, l_nb_comp, l_tmp;
3208 OPJ_UINT32 l_old_poc_nb, l_current_poc_nb, l_current_poc_remaining;
3209 OPJ_UINT32 l_chunk_size, l_comp_room;
3290 OPJ_UINT32 p_header_size,
3294 OPJ_UINT32 l_nb_comp;
3330 OPJ_UINT32 p_header_size,
3334 OPJ_UINT32 l_Ztlm, l_Stlm, l_ST, l_SP, l_tot_num_tp_remaining, l_quotient, l_Ptlm_size;
3386 OPJ_UINT32 p_header_size,
3456 OPJ_UINT32 p_header_size,
3460 OPJ_UINT32 l_Zplt, l_tmp, l_packet_len = 0, i;
3510 OPJ_UINT32 p_header_size,
3514 OPJ_UINT32 l_Z_ppm;
3536 OPJ_UINT32 l_newCount = l_Z_ppm + 1U; /* can't overflow, l_Z_ppm is UINT8 */
3546 OPJ_UINT32 l_newCount = l_Z_ppm + 1U; /* can't overflow, l_Z_ppm is UINT8 */
3585 OPJ_UINT32 i, l_ppm_data_size, l_N_ppm_remaining;
3600 OPJ_UINT32 l_N_ppm;
3601 OPJ_UINT32 l_data_size = p_cp->ppm_markers[i].m_data_size;
3655 OPJ_UINT32 l_N_ppm;
3656 OPJ_UINT32 l_data_size = p_cp->ppm_markers[i].m_data_size;
3724 OPJ_UINT32 p_header_size,
3730 OPJ_UINT32 l_Z_ppt;
3758 OPJ_UINT32 l_newCount = l_Z_ppt + 1U; /* can't overflow, l_Z_ppt is UINT8 */
3768 OPJ_UINT32 l_newCount = l_Z_ppt + 1U; /* can't overflow, l_Z_ppt is UINT8 */
3806 OPJ_UINT32 i, l_ppt_data_size;
3854 OPJ_UINT32 l_tlm_size;
3904 OPJ_UINT32 * p_data_written,
3947 OPJ_UINT32 p_header_size,
3948 OPJ_UINT32* p_tile_no,
3949 OPJ_UINT32* p_tot_len,
3950 OPJ_UINT32* p_current_part,
3951 OPJ_UINT32* p_num_parts,
3977 OPJ_UINT32 p_header_size,
3982 OPJ_UINT32 l_tot_len, l_num_parts = 0;
3983 OPJ_UINT32 l_current_part;
3984 OPJ_UINT32 l_tile_x,l_tile_y;
4011 OPJ_UINT32 tileno = p_j2k->m_current_tile_number;
4012 static OPJ_UINT32 backup_tileno = 0;
4132 (p_j2k->m_current_tile_number != (OPJ_UINT32)p_j2k->m_specific_param.m_decoder.m_tile_ind_to_dec);
4235 OPJ_UINT32 * p_data_written,
4236 OPJ_UINT32 p_total_data_size,
4242 OPJ_UINT32 l_remaining_data;
4315 OPJ_UINT32 * l_tile_len = 00;
4328 // so its result will fit on OPJ_UINT32 unless we find
4330 p_j2k->m_specific_param.m_decoder.m_sot_length = (OPJ_UINT32)(opj_stream_get_number_byte_left(p_stream) - 2);
4333 /* Check to avoid pass the limit of OPJ_UINT32 */
4384 OPJ_UINT32 l_current_tile_part = l_cstr_index->tile_index[p_j2k->m_current_tile_number].current_tpsno;
4422 *l_tile_len += (OPJ_UINT32)l_current_read_size;
4428 OPJ_UINT32 p_tile_no,
4429 OPJ_UINT32 p_comp_no,
4430 OPJ_UINT32 nb_comps,
4436 OPJ_UINT32 l_rgn_size;
4440 OPJ_UINT32 l_comp_room;
4474 opj_write_bytes(l_current_data, (OPJ_UINT32)l_tccp->roishift,1); /* SPrgn */
4525 OPJ_UINT32 p_header_size,
4529 OPJ_UINT32 l_nb_comp;
4534 OPJ_UINT32 l_comp_room, l_comp_no, l_roi_sty;
4587 opj_read_bytes(p_header_data,(OPJ_UINT32 *) (&(l_tcp->tccps[l_comp_no].roishift)),1); /* SPrgn */
4614 OPJ_UINT32 i,j,k;
4618 OPJ_UINT32 l_bits_empty, l_size_pixel;
4619 OPJ_UINT32 l_tile_size = 0;
4620 OPJ_UINT32 l_last_res;
4657 *l_rates = (( (OPJ_FLOAT32) (l_size_pixel * (OPJ_UINT32)(l_x1 - l_x0) * (OPJ_UINT32)(l_y1 - l_y0)))
4669 *l_rates = (( (OPJ_FLOAT32) (l_size_pixel * (OPJ_UINT32)(l_x1 - l_x0) * (OPJ_UINT32)(l_y1 - l_y0)))
4742 l_tile_size = (OPJ_UINT32) (l_tile_size * 0.1625); /* 1.3/8 = 0.1625 */
4772 OPJ_UINT32 i;
4774 OPJ_UINT32 l_nb_tiles;
4836 OPJ_UINT32 i;
4885 OPJ_UINT32 compno;
4908 OPJ_UINT32 compno;
4931 OPJ_UINT32 compno;
4995 OPJ_UINT32 *output_marker,
4999 OPJ_UINT32 l_unknown_marker;
5001 OPJ_UINT32 l_size_unk = 2;
5035 (OPJ_UINT32) opj_stream_tell(p_stream) - l_size_unk,
5060 OPJ_UINT32 l_mct_size;
5062 OPJ_UINT32 l_tmp;
5123 OPJ_UINT32 p_header_size,
5127 OPJ_UINT32 i;
5129 OPJ_UINT32 l_tmp;
5130 OPJ_UINT32 l_indix;
5232 OPJ_UINT32 i;
5233 OPJ_UINT32 l_mcc_size;
5235 OPJ_UINT32 l_nb_bytes_for_comp;
5236 OPJ_UINT32 l_mask;
5237 OPJ_UINT32 l_tmcc;
5332 OPJ_UINT32 p_header_size,
5335 OPJ_UINT32 i,j;
5336 OPJ_UINT32 l_tmp;
5337 OPJ_UINT32 l_indix;
5341 OPJ_UINT32 l_nb_collections;
5342 OPJ_UINT32 l_nb_comps;
5343 OPJ_UINT32 l_nb_bytes_by_comp;
5555 OPJ_UINT32 l_mco_size;
5558 OPJ_UINT32 i;
5617 OPJ_UINT32 p_header_size,
5621 OPJ_UINT32 l_tmp, i;
5622 OPJ_UINT32 l_nb_stages;
5679 static OPJ_BOOL opj_j2k_add_mct(opj_tcp_t * p_tcp, opj_image_t * p_image, OPJ_UINT32 p_index)
5681 OPJ_UINT32 i;
5684 OPJ_UINT32 l_data_size,l_mct_size, l_offset_size;
5685 OPJ_UINT32 l_nb_elem;
5686 OPJ_UINT32 * l_offset_data, * l_current_offset_data;
5719 l_mct_size = l_nb_elem * (OPJ_UINT32)sizeof(OPJ_FLOAT32);
5738 l_offset_size = l_nb_elem * (OPJ_UINT32)sizeof(OPJ_UINT32);
5739 l_offset_data = (OPJ_UINT32*)opj_malloc(l_offset_size);
5765 OPJ_UINT32 i;
5766 OPJ_UINT32 l_cbd_size;
5828 OPJ_UINT32 p_header_size,
5832 OPJ_UINT32 l_nb_comp,l_num_comp;
5833 OPJ_UINT32 l_comp_def;
5834 OPJ_UINT32 i;
5932 POC[0].resno1 = (OPJ_UINT32)(numres-1);
5936 POC[1].resno0 = (OPJ_UINT32)(numres-1);
5939 POC[1].resno1 = (OPJ_UINT32)numres;
6040 parameters->numpocs = (OPJ_UINT32)opj_j2k_initialise_4K_poc(parameters->POC,parameters->numresolution);
6078 (OPJ_FLOAT32)(((OPJ_UINT32)parameters->max_cs_size) * 8 * image->comps[0].dx * image->comps[0].dy);
6084 OPJ_UINT32 i;
6149 OPJ_UINT32 i, j, tileno, numpocs_tile;
6232 (OPJ_FLOAT32)(((OPJ_UINT32)parameters->max_cs_size) * 8 * image->comps[0].dx * image->comps[0].dy);
6233 for (i = 0; i < (OPJ_UINT32) parameters->tcp_numlayers; i++) {
6290 cp->m_specific_param.m_enc.m_max_comp_size = (OPJ_UINT32)parameters->max_comp_size;
6292 cp->m_specific_param.m_enc.m_disto_alloc = (OPJ_UINT32)parameters->cp_disto_alloc & 1u;
6293 cp->m_specific_param.m_enc.m_fixed_alloc = (OPJ_UINT32)parameters->cp_fixed_alloc & 1u;
6294 cp->m_specific_param.m_enc.m_fixed_quality = (OPJ_UINT32)parameters->cp_fixed_quality & 1u;
6308 cp->tdx = (OPJ_UINT32)parameters->cp_tdx;
6309 cp->tdy = (OPJ_UINT32)parameters->cp_tdy;
6312 cp->tx0 = (OPJ_UINT32)parameters->cp_tx0;
6313 cp->ty0 = (OPJ_UINT32)parameters->cp_ty0;
6353 cp->tw = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)(image->x1 - cp->tx0), (OPJ_INT32)cp->tdx);
6354 cp->th = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)(image->y1 - cp->ty0), (OPJ_INT32)cp->tdy);
6430 opj_j2k_check_poc_val(parameters->POC,parameters->numpocs, (OPJ_UINT32)parameters->numresolution, image->numcomps, (OPJ_UINT32)parameters->tcp_numlayers, p_manager);
6436 tcp->numlayers = (OPJ_UINT32)parameters->tcp_numlayers;
6453 tcp->csty = (OPJ_UINT32)parameters->csty;
6455 tcp->mct = (OPJ_UINT32)parameters->tcp_mct;
6491 OPJ_UINT32 lMctSize = image->numcomps * image->numcomps * (OPJ_UINT32)sizeof(OPJ_FLOAT32);
6571 tccp->numresolutions = (OPJ_UINT32)parameters->numresolution;
6572 tccp->cblkw = (OPJ_UINT32)opj_int_floorlog2(parameters->cblockw_init);
6573 tccp->cblkh = (OPJ_UINT32)opj_int_floorlog2(parameters->cblockh_init);
6574 tccp->cblksty = (OPJ_UINT32)parameters->mode;
6594 tccp->prcw[it_res] = (OPJ_UINT32)opj_int_floorlog2(parameters->prcw_init[p]);
6600 OPJ_UINT32)opj_int_floorlog2(parameters->prch_init[p]);
6616 tccp->prcw[it_res] = (OPJ_UINT32)opj_int_floorlog2(size_prcw);
6622 tccp->prch[it_res] = (OPJ_UINT32)opj_int_floorlog2(size_prch);
6646 static OPJ_BOOL opj_j2k_add_mhmarker(opj_codestream_index_t *cstr_index, OPJ_UINT32 type, OPJ_OFF_T pos, OPJ_UINT32 len)
6653 cstr_index->maxmarknum = (OPJ_UINT32)(100 + (OPJ_FLOAT32) cstr_index->maxmarknum);
6674 static OPJ_BOOL opj_j2k_add_tlmarker(OPJ_UINT32 tileno, opj_codestream_index_t *cstr_index, OPJ_UINT32 type, OPJ_OFF_T pos, OPJ_UINT32 len)
6682 cstr_index->tile_index[tileno].maxmarknum = (OPJ_UINT32)(100 + (OPJ_FLOAT32) cstr_index->tile_index[tileno].maxmarknum);
6704 OPJ_UINT32 l_current_tile_part = cstr_index->tile_index[tileno].current_tpsno;
6830 OPJ_UINT32 i,j;
6838 OPJ_UINT32 l_nb_tiles = p_j2k->m_cp.th * p_j2k->m_cp.tw;
6860 OPJ_UINT32 i;
6861 OPJ_UINT32 l_indix = 1;
6864 OPJ_UINT32 l_mct_size,l_nb_elem;
7064 if ((p_j2k->m_cp.tdx) < (OPJ_UINT32) (1 << (p_j2k->m_cp.tcps->tccps->numresolutions - 1U))) {
7069 if ((p_j2k->m_cp.tdy) < (OPJ_UINT32) (1 << (p_j2k->m_cp.tcps->tccps->numresolutions - 1U))) {
7112 OPJ_UINT32 l_current_marker;
7113 OPJ_UINT32 l_marker_size;
7226 (OPJ_UINT32) opj_stream_tell(p_stream) - l_marker_size - 4,
7263 p_j2k->cstr_index->main_head_end = (OPJ_UINT32) opj_stream_tell(p_stream) - 2;
7278 OPJ_UINT32 l_nb_proc, i;
7307 OPJ_UINT32 l_nb_tiles;
7308 OPJ_UINT32 i,j;
7310 OPJ_UINT32 l_tccp_size;
7311 OPJ_UINT32 l_mct_size;
7313 OPJ_UINT32 l_mcc_records_size,l_mct_records_size;
7316 OPJ_UINT32 l_offset;
7326 l_tccp_size = l_image->numcomps * (OPJ_UINT32)sizeof(opj_tccp_t);
7328 l_mct_size = l_image->numcomps * l_image->numcomps * (OPJ_UINT32)sizeof(OPJ_FLOAT32);
7359 l_mct_records_size = l_default_tcp->m_nb_max_mct_records * (OPJ_UINT32)sizeof(opj_mct_data_t);
7388 l_mcc_records_size = l_default_tcp->m_nb_max_mcc_records * (OPJ_UINT32)sizeof(opj_simple_mcc_decorrelation_data_t);
7403 l_offset = (OPJ_UINT32)(l_src_mcc_rec->m_decorrelation_array - l_default_tcp->m_mct_records);
7408 l_offset = (OPJ_UINT32)(l_src_mcc_rec->m_offset_array - l_default_tcp->m_mct_records);
7439 static const opj_dec_memory_marker_handler_t * opj_j2k_get_marker_handler (OPJ_UINT32 p_id)
7523 OPJ_UINT32 it_tile = 0;
7559 OPJ_UINT32 i;
7599 OPJ_UINT32 i;
7634 OPJ_UINT32 l_nb_tiles;
7643 OPJ_UINT32 i;
7656 OPJ_UINT32 i;
7678 static OPJ_BOOL opj_j2k_need_nb_tile_parts_correction(opj_stream_private_t *p_stream, OPJ_UINT32 tile_no, OPJ_BOOL* p_correction_needed, opj_event_mgr_t * p_manager )
7682 OPJ_UINT32 l_current_marker;
7683 OPJ_UINT32 l_marker_size;
7684 OPJ_UINT32 l_tile_no, l_tot_len, l_current_part, l_num_parts;
7777 OPJ_UINT32 * p_tile_index,
7778 OPJ_UINT32 * p_data_size,
7781 OPJ_UINT32 * p_nb_comps,
7786 OPJ_UINT32 l_current_marker = J2K_MS_SOT;
7787 OPJ_UINT32 l_marker_size;
7896 (OPJ_UINT32) opj_stream_tell(p_stream) - l_marker_size - 4,
7904 OPJ_UINT32 sot_pos = (OPJ_UINT32) opj_stream_tell(p_stream) - l_marker_size - 4 ;
7949 OPJ_UINT32 l_nb_tiles = p_j2k->m_cp.tw * p_j2k->m_cp.th;
7950 OPJ_UINT32 l_tile_no;
8001 OPJ_UINT32 l_nb_tiles = p_j2k->m_cp.th * p_j2k->m_cp.tw;
8043 OPJ_UINT32 p_tile_index,
8045 OPJ_UINT32 p_data_size,
8049 OPJ_UINT32 l_current_marker;
8127 OPJ_UINT32 i,j,k = 0;
8128 OPJ_UINT32 l_width_src,l_height_src;
8129 OPJ_UINT32 l_width_dest,l_height_dest;
8132 OPJ_UINT32 l_start_x_dest , l_start_y_dest;
8133 OPJ_UINT32 l_x0_dest, l_y0_dest, l_x1_dest, l_y1_dest;
8141 OPJ_UINT32 l_size_comp, l_remaining;
8155 OPJ_UINT32 width = l_img_comp_dest->w;
8156 OPJ_UINT32 height = l_img_comp_dest->h;
8157 const OPJ_UINT32 MAX_SIZE = UINT32_MAX / sizeof(OPJ_INT32);
8191 l_width_src = (OPJ_UINT32)(l_res->x1 - l_res->x0);
8192 l_height_src = (OPJ_UINT32)(l_res->y1 - l_res->y0);
8214 if ( l_x0_dest < (OPJ_UINT32)l_res->x0 ) {
8215 l_start_x_dest = (OPJ_UINT32)l_res->x0 - l_x0_dest;
8218 if ( l_x1_dest >= (OPJ_UINT32)l_res->x1 ) {
8223 l_width_dest = l_x1_dest - (OPJ_UINT32)l_res->x0 ;
8231 if ( l_x1_dest >= (OPJ_UINT32)l_res->x1 ) {
8232 l_width_dest = l_width_src - (OPJ_UINT32)l_offset_x0_src;
8241 if ( l_y0_dest < (OPJ_UINT32)l_res->y0 ) {
8242 l_start_y_dest = (OPJ_UINT32)l_res->y0 - l_y0_dest;
8245 if ( l_y1_dest >= (OPJ_UINT32)l_res->y1 ) {
8250 l_height_dest = l_y1_dest - (OPJ_UINT32)l_res->y0 ;
8258 if ( l_y1_dest >= (OPJ_UINT32)l_res->y1 ) {
8259 l_height_dest = l_height_src - (OPJ_UINT32)l_offset_y0_src;
8401 OPJ_UINT32 it_comp;
8429 if ((OPJ_UINT32)p_start_x > l_image->x1 ) {
8435 else if ((OPJ_UINT32)p_start_x < l_image->x0){
8443 p_j2k->m_specific_param.m_decoder.m_start_tile_x = ((OPJ_UINT32)p_start_x - l_cp->tx0) / l_cp->tdx;
8444 p_image->x0 = (OPJ_UINT32)p_start_x;
8448 if ((OPJ_UINT32)p_start_y > l_image->y1){
8454 else if ((OPJ_UINT32)p_start_y < l_image->y0){
8462 p_j2k->m_specific_param.m_decoder.m_start_tile_y = ((OPJ_UINT32)p_start_y - l_cp->ty0) / l_cp->tdy;
8463 p_image->y0 = (OPJ_UINT32)p_start_y;
8467 assert((OPJ_UINT32)p_end_x > 0);
8468 assert((OPJ_UINT32)p_end_y > 0);
8469 if ((OPJ_UINT32)p_end_x < l_image->x0) {
8475 else if ((OPJ_UINT32)p_end_x > l_image->x1) {
8483 p_j2k->m_specific_param.m_decoder.m_end_tile_x = (OPJ_UINT32)opj_int_ceildiv(p_end_x - (OPJ_INT32)l_cp->tx0, (OPJ_INT32)l_cp->tdx);
8484 p_image->x1 = (OPJ_UINT32)p_end_x;
8488 if ((OPJ_UINT32)p_end_y < l_image->y0) {
8494 if ((OPJ_UINT32)p_end_y > l_image->y1){
8502 p_j2k->m_specific_param.m_decoder.m_end_tile_y = (OPJ_UINT32)opj_int_ceildiv(p_end_y - (OPJ_INT32)l_cp->ty0, (OPJ_INT32)l_cp->tdy);
8503 p_image->y1 = (OPJ_UINT32)p_end_y;
8514 l_img_comp->x0 = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)p_image->x0, (OPJ_INT32)l_img_comp->dx);
8515 l_img_comp->y0 = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)p_image->y0, (OPJ_INT32)l_img_comp->dy);
8527 l_img_comp->w = (OPJ_UINT32)l_w;
8537 l_img_comp->h = (OPJ_UINT32)l_h;
8625 static OPJ_UINT32 opj_j2k_get_SPCod_SPCoc_size ( opj_j2k_t *p_j2k,
8626 OPJ_UINT32 p_tile_no,
8627 OPJ_UINT32 p_comp_no )
8653 OPJ_UINT32 p_tile_no,
8654 OPJ_UINT32 p_comp_no,
8656 OPJ_UINT32 * p_header_size,
8659 OPJ_UINT32 i;
8719 OPJ_UINT32 compno,
8721 OPJ_UINT32 * p_header_size,
8724 OPJ_UINT32 i, l_tmp;
8824 OPJ_UINT32 l_data_size = l_tccp->numresolutions * sizeof(OPJ_UINT32);
8844 OPJ_UINT32 i;
8848 OPJ_UINT32 l_prc_size;
8860 l_prc_size = l_ref_tccp->numresolutions * (OPJ_UINT32)sizeof(OPJ_UINT32);
8874 static OPJ_UINT32 opj_j2k_get_SQcd_SQcc_size ( opj_j2k_t *p_j2k,
8875 OPJ_UINT32 p_tile_no,
8876 OPJ_UINT32 p_comp_no )
8878 OPJ_UINT32 l_num_bands;
8906 OPJ_UINT32 p_tile_no,
8907 OPJ_UINT32 p_comp_no,
8909 OPJ_UINT32 * p_header_size,
8912 OPJ_UINT32 l_header_size;
8913 OPJ_UINT32 l_band_no, l_num_bands;
8914 OPJ_UINT32 l_expn,l_mant;
8948 l_expn = (OPJ_UINT32)l_tccp->stepsizes[l_band_no].expn;
8965 l_expn = (OPJ_UINT32)l_tccp->stepsizes[l_band_no].expn;
8966 l_mant = (OPJ_UINT32)l_tccp->stepsizes[l_band_no].mant;
8979 OPJ_UINT32 p_comp_no,
8981 OPJ_UINT32 * p_header_size,
8986 OPJ_UINT32 l_band_no;
8991 OPJ_UINT32 l_tmp, l_num_band;
9097 OPJ_UINT32 i;
9102 OPJ_UINT32 l_size;
9138 OPJ_UINT32 resno;
9196 OPJ_UINT32 l_nb_tiles = p_j2k->m_cp.th * p_j2k->m_cp.tw;
9197 OPJ_UINT32 i;
9225 OPJ_UINT32 it_marker, it_tile, it_tile_part;
9249 OPJ_UINT32 l_acc_nb_of_tile_part = 0;
9259 OPJ_UINT32 nb_of_tile_part = cstr_index->tile_index[it_tile].nb_tps;
9321 OPJ_UINT32 compno;
9353 OPJ_UINT32 compno;
9354 OPJ_UINT32 numcomps = p_j2k->m_private_image->numcomps;
9410 l_tccp_info->stepsizes_mant[bandno] = (OPJ_UINT32)l_tccp->stepsizes[bandno].mant;
9411 l_tccp_info->stepsizes_expn[bandno] = (OPJ_UINT32)l_tccp->stepsizes[bandno].expn;
9460 OPJ_UINT32 it_tile = 0;
9470 OPJ_UINT32 it_tile_free;
9498 OPJ_UINT32 it_tile_free;
9533 OPJ_UINT32 it_tile=0;
9557 OPJ_UINT32 l_current_tile_no;
9558 OPJ_UINT32 l_data_size,l_max_data_size;
9560 OPJ_UINT32 l_nb_comps;
9562 OPJ_UINT32 nr_tiles = 0;
9650 OPJ_UINT32 l_current_tile_no;
9651 OPJ_UINT32 l_tile_no_to_dec;
9652 OPJ_UINT32 l_data_size,l_max_data_size;
9654 OPJ_UINT32 l_nb_comps;
9673 l_tile_no_to_dec = (OPJ_UINT32)p_j2k->m_specific_param.m_decoder.m_tile_ind_to_dec;
9785 OPJ_UINT32 compno;
9827 OPJ_UINT32 tile_index )
9829 OPJ_UINT32 compno;
9830 OPJ_UINT32 l_tile_x, l_tile_y;
9868 l_img_comp->x0 = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)p_image->x0, (OPJ_INT32)l_img_comp->dx);
9869 l_img_comp->y0 = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)p_image->y0, (OPJ_INT32)l_img_comp->dy);
9873 l_img_comp->w = (OPJ_UINT32)(opj_int_ceildivpow2(l_comp_x1, (OPJ_INT32)l_img_comp->factor) - opj_int_ceildivpow2((OPJ_INT32)l_img_comp->x0, (OPJ_INT32)l_img_comp->factor));
9874 l_img_comp->h = (OPJ_UINT32)(opj_int_ceildivpow2(l_comp_y1, (OPJ_INT32)l_img_comp->factor) - opj_int_ceildivpow2((OPJ_INT32)l_img_comp->y0, (OPJ_INT32)l_img_comp->factor));
9918 OPJ_UINT32 res_factor,
9921 OPJ_UINT32 it_comp;
9930 OPJ_UINT32 max_res = p_j2k->m_specific_param.m_decoder.m_default_tcp->tccps[it_comp].numresolutions;
9950 OPJ_UINT32 i, j;
9951 OPJ_UINT32 l_nb_tiles;
9952 OPJ_UINT32 l_max_tile_size = 0, l_current_tile_size;
10068 OPJ_UINT32 it_comp;
10102 OPJ_UINT32 p_tile_index,
10129 OPJ_UINT32* l_size_comp,
10130 OPJ_UINT32* l_width,
10131 OPJ_UINT32* l_height,
10132 OPJ_UINT32* l_offset_x,
10133 OPJ_UINT32* l_offset_y,
10134 OPJ_UINT32* l_image_width,
10135 OPJ_UINT32* l_stride,
10136 OPJ_UINT32* l_tile_offset) {
10137 OPJ_UINT32 l_remaining;
10148 *l_width = (OPJ_UINT32)(l_tilec->x1 - l_tilec->x0);
10149 *l_height = (OPJ_UINT32)(l_tilec->y1 - l_tilec->y0);
10150 *l_offset_x = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)l_image->x0, (OPJ_INT32)l_img_comp->dx);
10151 *l_offset_y = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)l_image->y0, (OPJ_INT32)l_img_comp->dy);
10152 *l_image_width = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)l_image->x1 - (OPJ_INT32)l_image->x0, (OPJ_INT32)l_img_comp->dx);
10154 *l_tile_offset = ((OPJ_UINT32)l_tilec->x0 - *l_offset_x) + ((OPJ_UINT32)l_tilec->y0 - *l_offset_y) * *l_image_width;
10159 OPJ_UINT32 i,j,k = 0;
10166 OPJ_UINT32 l_size_comp,l_width,l_height,l_offset_x,l_offset_y, l_image_width,l_stride,l_tile_offset;
10254 OPJ_UINT32 l_nb_bytes_written;
10256 OPJ_UINT32 l_tile_size = 0;
10257 OPJ_UINT32 l_available_data;
10420 OPJ_UINT32 * p_data_written,
10421 OPJ_UINT32 p_total_data_size,
10425 OPJ_UINT32 l_nb_bytes_written = 0;
10426 OPJ_UINT32 l_current_nb_bytes_written;
10500 OPJ_UINT32 * p_data_written,
10501 OPJ_UINT32 p_total_data_size,
10506 OPJ_UINT32 tilepartno=0;
10507 OPJ_UINT32 l_nb_bytes_written = 0;
10508 OPJ_UINT32 l_current_nb_bytes_written;
10509 OPJ_UINT32 l_part_tile_size;
10510 OPJ_UINT32 tot_num_tp;
10511 OPJ_UINT32 pino;
10613 OPJ_UINT32 l_tlm_size;
10707 OPJ_UINT32 compno;
10779 OPJ_UINT32 p_tile_index,
10781 OPJ_UINT32 p_data_size,
10790 OPJ_UINT32 j;