From f0389cfd7ce8526d058ba81e1885977f7a414c4b Mon Sep 17 00:00:00 2001 From: Antonin Descampe Date: Fri, 10 Jul 2015 18:06:19 +0200 Subject: [PATCH] added doxygen for latest release --- doxygen/_doxyfile-html_8dox.html | 59 + doxygen/annotated.html | 177 + doxygen/arrowdown.png | Bin 0 -> 246 bytes doxygen/arrowright.png | Bin 0 -> 229 bytes doxygen/auxtrans__manager_8c.html | 464 + doxygen/auxtrans__manager_8h.html | 242 + doxygen/auxtrans__manager_8h_source.html | 127 + doxygen/bc_s.png | Bin 0 -> 676 bytes doxygen/bdwn.png | Bin 0 -> 147 bytes doxygen/bio_8c.html | 110 + doxygen/bio_8h.html | 119 + doxygen/bio_8h_source.html | 147 + doxygen/box__manager_8c.html | 1071 +++ doxygen/box__manager_8h.html | 1065 +++ doxygen/box__manager_8h_source.html | 213 + doxygen/boxheader__manager_8c.html | 241 + doxygen/boxheader__manager_8h.html | 221 + doxygen/boxheader__manager_8h_source.html | 131 + doxygen/byte__manager_8c.html | 513 ++ doxygen/byte__manager_8h.html | 522 ++ doxygen/byte__manager_8h_source.html | 145 + doxygen/cache__manager_8c.html | 651 ++ doxygen/cache__manager_8h.html | 665 ++ doxygen/cache__manager_8h_source.html | 184 + doxygen/cachemodel__manager_8c.html | 364 + doxygen/cachemodel__manager_8h.html | 362 + doxygen/cachemodel__manager_8h_source.html | 157 + doxygen/channel__manager_8c.html | 395 + doxygen/channel__manager_8h.html | 419 + doxygen/channel__manager_8h_source.html | 163 + doxygen/cidx__manager_8c.html | 307 + doxygen/cidx__manager_8h.html | 176 + doxygen/cidx__manager_8h_source.html | 134 + doxygen/cio_8c.html | 519 ++ doxygen/cio_8h.html | 204 + doxygen/cio_8h_source.html | 312 + doxygen/classes.html | 109 + doxygen/closed.png | Bin 0 -> 132 bytes doxygen/codestream__manager_8c.html | 378 + doxygen/codestream__manager_8h.html | 358 + doxygen/codestream__manager_8h_source.html | 139 + doxygen/dec__clientmsg__handler_8c.html | 486 ++ doxygen/dec__clientmsg__handler_8h.html | 482 ++ .../dec__clientmsg__handler_8h_source.html | 137 + .../dir_0b20524d8f8835ca75acc430451c8412.html | 63 + .../dir_181a881edfcb8646dab693a228fa6bde.html | 63 + .../dir_3ca1ad36e65e03f9e8d67ddc2553765b.html | 63 + .../dir_5064bb5511811c3176850b7e47443f14.html | 63 + .../dir_68013e83e260d17d49dee5e209315608.html | 193 + .../dir_694e20c96f4fc1be4aed4f026eadce94.html | 63 + .../dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html | 181 + .../dir_d522931ffa1371640980b621734a4381.html | 63 + .../dir_da83fe5fdfb6c4554d36abffc03790ad.html | 65 + .../dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html | 63 + doxygen/doc.png | Bin 0 -> 746 bytes doxygen/doxygen.css | 1449 ++++ doxygen/doxygen.png | Bin 0 -> 3779 bytes doxygen/dwt_8c.html | 367 + doxygen/dwt_8h.html | 103 + doxygen/dwt_8h_source.html | 136 + doxygen/dynsections.js | 97 + doxygen/event_8c.html | 142 + doxygen/event_8h.html | 182 + doxygen/event_8h_source.html | 139 + doxygen/faixbox__manager_8c.html | 426 + doxygen/faixbox__manager_8h.html | 505 ++ doxygen/faixbox__manager_8h_source.html | 195 + doxygen/files.html | 176 + doxygen/folderclosed.png | Bin 0 -> 616 bytes doxygen/folderopen.png | Bin 0 -> 597 bytes doxygen/function__list_8c.html | 112 + doxygen/function__list_8h.html | 112 + doxygen/function__list_8h_source.html | 142 + doxygen/functions.html | 113 + doxygen/functions_b.html | 146 + doxygen/functions_c.html | 329 + doxygen/functions_d.html | 189 + doxygen/functions_e.html | 148 + doxygen/functions_f.html | 143 + doxygen/functions_g.html | 97 + doxygen/functions_h.html | 121 + doxygen/functions_i.html | 178 + doxygen/functions_j.html | 193 + doxygen/functions_k.html | 97 + doxygen/functions_l.html | 181 + doxygen/functions_m.html | 521 ++ doxygen/functions_n.html | 257 + doxygen/functions_o.html | 182 + doxygen/functions_p.html | 278 + doxygen/functions_q.html | 105 + doxygen/functions_r.html | 181 + doxygen/functions_s.html | 197 + doxygen/functions_t.html | 302 + doxygen/functions_u.html | 103 + doxygen/functions_v.html | 100 + doxygen/functions_vars.html | 113 + doxygen/functions_vars_b.html | 146 + doxygen/functions_vars_c.html | 329 + doxygen/functions_vars_d.html | 189 + doxygen/functions_vars_e.html | 148 + doxygen/functions_vars_f.html | 143 + doxygen/functions_vars_g.html | 97 + doxygen/functions_vars_h.html | 121 + doxygen/functions_vars_i.html | 178 + doxygen/functions_vars_j.html | 193 + doxygen/functions_vars_k.html | 97 + doxygen/functions_vars_l.html | 181 + doxygen/functions_vars_m.html | 521 ++ doxygen/functions_vars_n.html | 257 + doxygen/functions_vars_o.html | 182 + doxygen/functions_vars_p.html | 278 + doxygen/functions_vars_q.html | 105 + doxygen/functions_vars_r.html | 181 + doxygen/functions_vars_s.html | 197 + doxygen/functions_vars_t.html | 302 + doxygen/functions_vars_u.html | 103 + doxygen/functions_vars_v.html | 100 + doxygen/functions_vars_w.html | 110 + doxygen/functions_vars_x.html | 143 + doxygen/functions_vars_y.html | 143 + doxygen/functions_w.html | 110 + doxygen/functions_x.html | 143 + doxygen/functions_y.html | 143 + doxygen/globals.html | 100 + doxygen/globals_a.html | 161 + doxygen/globals_b.html | 136 + doxygen/globals_c.html | 178 + doxygen/globals_d.html | 225 + doxygen/globals_defs.html | 91 + doxygen/globals_defs_b.html | 91 + doxygen/globals_defs_e.html | 103 + doxygen/globals_defs_f.html | 140 + doxygen/globals_defs_h.html | 91 + doxygen/globals_defs_i.html | 91 + doxygen/globals_defs_j.html | 328 + doxygen/globals_defs_l.html | 114 + doxygen/globals_defs_m.html | 118 + doxygen/globals_defs_n.html | 91 + doxygen/globals_defs_o.html | 343 + doxygen/globals_defs_p.html | 91 + doxygen/globals_defs_r.html | 91 + doxygen/globals_defs_t.html | 193 + doxygen/globals_e.html | 162 + doxygen/globals_enum.html | 113 + doxygen/globals_eval.html | 366 + doxygen/globals_f.html | 245 + doxygen/globals_func.html | 150 + doxygen/globals_func_b.html | 104 + doxygen/globals_func_c.html | 125 + doxygen/globals_func_d.html | 214 + doxygen/globals_func_e.html | 139 + doxygen/globals_func_f.html | 176 + doxygen/globals_func_g.html | 309 + doxygen/globals_func_h.html | 128 + doxygen/globals_func_i.html | 152 + doxygen/globals_func_j.html | 139 + doxygen/globals_func_m.html | 129 + doxygen/globals_func_o.html | 1862 ++++ doxygen/globals_func_p.html | 235 + doxygen/globals_func_r.html | 175 + doxygen/globals_func_s.html | 222 + doxygen/globals_func_t.html | 105 + doxygen/globals_func_u.html | 104 + doxygen/globals_func_w.html | 95 + doxygen/globals_g.html | 314 + doxygen/globals_h.html | 139 + doxygen/globals_i.html | 178 + doxygen/globals_j.html | 498 ++ doxygen/globals_l.html | 144 + doxygen/globals_m.html | 227 + doxygen/globals_n.html | 103 + doxygen/globals_o.html | 2554 ++++++ doxygen/globals_p.html | 255 + doxygen/globals_q.html | 103 + doxygen/globals_r.html | 189 + doxygen/globals_s.html | 251 + doxygen/globals_t.html | 233 + doxygen/globals_type.html | 617 ++ doxygen/globals_u.html | 115 + doxygen/globals_vars.html | 146 + doxygen/globals_w.html | 100 + doxygen/globals_x.html | 100 + doxygen/group___b_i_o.html | 605 ++ doxygen/group___c_i_o.html | 1395 +++ doxygen/group___d_w_t.html | 1467 ++++ doxygen/group___e_v_e_n_t.html | 140 + doxygen/group___i_m_a_g_e.html | 171 + doxygen/group___i_n_v_e_r_t.html | 111 + doxygen/group___j2_k.html | 7698 +++++++++++++++++ doxygen/group___j_p2.html | 2726 ++++++ doxygen/group___m_c_t.html | 553 ++ doxygen/group___m_i_s_c.html | 354 + doxygen/group___m_q_c.html | 1158 +++ doxygen/group___o_p_j___i_n_t_m_a_t_h.html | 719 ++ doxygen/group___p_i.html | 1314 +++ doxygen/group___r_a_w.html | 257 + doxygen/group___t1.html | 2751 ++++++ doxygen/group___t2.html | 1046 +++ doxygen/group___t_c_d.html | 948 ++ doxygen/group___t_g_t.html | 436 + doxygen/group___v_a_l.html | 303 + doxygen/ihdrbox__manager_8c.html | 117 + doxygen/ihdrbox__manager_8h.html | 147 + doxygen/ihdrbox__manager_8h_source.html | 125 + doxygen/image_8c.html | 207 + doxygen/image_8h.html | 86 + doxygen/image_8h_source.html | 115 + doxygen/imgreg__manager_8c.html | 399 + doxygen/imgreg__manager_8h.html | 372 + doxygen/imgreg__manager_8h_source.html | 136 + doxygen/imgsock__manager_8c.html | 522 ++ doxygen/imgsock__manager_8h.html | 620 ++ doxygen/imgsock__manager_8h_source.html | 148 + doxygen/index.html | 75 + doxygen/index__manager_8c.html | 1060 +++ doxygen/index__manager_8h.html | 575 ++ doxygen/index__manager_8h_source.html | 255 + doxygen/indexbox__manager_8h.html | 829 ++ doxygen/indexbox__manager_8h_source.html | 225 + doxygen/invert_8c.html | 267 + doxygen/invert_8h.html | 79 + doxygen/invert_8h_source.html | 109 + doxygen/j2k_8c.html | 1809 ++++ doxygen/j2k_8h.html | 1376 +++ doxygen/j2k_8h_source.html | 826 ++ doxygen/j2kheader__manager_8c.html | 473 + doxygen/j2kheader__manager_8h.html | 252 + doxygen/j2kheader__manager_8h_source.html | 118 + doxygen/jp2_8c.html | 944 ++ doxygen/jp2_8h.html | 262 + doxygen/jp2_8h_source.html | 485 ++ doxygen/jp2k__decoder_8c.html | 272 + doxygen/jp2k__decoder_8h.html | 106 + doxygen/jp2k__decoder_8h_source.html | 107 + doxygen/jp2k__encoder_8c.html | 1729 ++++ doxygen/jp2k__encoder_8h.html | 259 + doxygen/jp2k__encoder_8h_source.html | 116 + doxygen/jpip__parser_8c.html | 680 ++ doxygen/jpip__parser_8h.html | 366 + doxygen/jpip__parser_8h_source.html | 147 + doxygen/jpip_architect.png | Bin 0 -> 62577 bytes doxygen/jpip_protocol.png | Bin 0 -> 6376 bytes doxygen/jpipstream__manager_8c.html | 253 + doxygen/jpipstream__manager_8h.html | 249 + doxygen/jpipstream__manager_8h_source.html | 116 + doxygen/jquery.js | 68 + doxygen/mainpage_8dox.html | 59 + doxygen/manfbox__manager_8c.html | 258 + doxygen/manfbox__manager_8h.html | 240 + doxygen/manfbox__manager_8h_source.html | 131 + doxygen/marker__manager_8c.html | 304 + doxygen/marker__manager_8h.html | 288 + doxygen/marker__manager_8h_source.html | 134 + doxygen/mct_8c.html | 315 + doxygen/mct_8h.html | 109 + doxygen/mct_8h_source.html | 152 + doxygen/metadata__manager_8c.html | 531 ++ doxygen/metadata__manager_8h.html | 542 ++ doxygen/metadata__manager_8h_source.html | 180 + doxygen/mhixbox__manager_8c.html | 291 + doxygen/mhixbox__manager_8h.html | 290 + doxygen/mhixbox__manager_8h_source.html | 153 + doxygen/modules.html | 76 + doxygen/mqc_8c.html | 181 + doxygen/mqc_8h.html | 159 + doxygen/mqc_8h_source.html | 191 + doxygen/msgqueue__manager_8c.html | 1332 +++ doxygen/msgqueue__manager_8h.html | 825 ++ doxygen/msgqueue__manager_8h_source.html | 202 + doxygen/nav_f.png | Bin 0 -> 153 bytes doxygen/nav_g.png | Bin 0 -> 95 bytes doxygen/nav_h.png | Bin 0 -> 98 bytes doxygen/open.png | Bin 0 -> 123 bytes doxygen/openjpeg_8c.html | 1676 ++++ doxygen/openjpeg_8h.html | 4143 +++++++++ doxygen/openjpeg_8h_source.html | 1314 +++ doxygen/openjpip_8c.html | 526 ++ doxygen/openjpip_8dox.html | 59 + doxygen/openjpip_8h.html | 656 ++ doxygen/openjpip_8h_source.html | 299 + doxygen/openjpippage.html | 105 + doxygen/opj__clock_8c.html | 76 + doxygen/opj__clock_8h.html | 79 + doxygen/opj__clock_8h_source.html | 107 + doxygen/opj__codec_8h.html | 97 + doxygen/opj__codec_8h_source.html | 236 + doxygen/opj__includes_8h.html | 267 + doxygen/opj__includes_8h_source.html | 296 + doxygen/opj__intmath_8h.html | 122 + doxygen/opj__intmath_8h_source.html | 215 + doxygen/opj__inttypes_8h.html | 66 + doxygen/opj__inttypes_8h_source.html | 111 + doxygen/opj__malloc_8h.html | 101 + doxygen/opj__malloc_8h_source.html | 218 + doxygen/opj__stdint_8h.html | 66 + doxygen/opj__stdint_8h_source.html | 115 + doxygen/pages.html | 58 + doxygen/phix__manager_8c.html | 194 + doxygen/pi_8c.html | 128 + doxygen/pi_8h.html | 121 + doxygen/pi_8h_source.html | 214 + doxygen/placeholder__manager_8c.html | 347 + doxygen/placeholder__manager_8h.html | 347 + doxygen/placeholder__manager_8h_source.html | 169 + doxygen/ppix__manager_8c.html | 194 + doxygen/query__parser_8c.html | 448 + doxygen/query__parser_8h.html | 312 + doxygen/query__parser_8h_source.html | 186 + doxygen/raw_8c.html | 85 + doxygen/raw_8h.html | 106 + doxygen/raw_8h_source.html | 137 + doxygen/session__manager_8c.html | 380 + doxygen/session__manager_8h.html | 377 + doxygen/session__manager_8h_source.html | 156 + doxygen/sock__manager_8c.html | 390 + doxygen/sock__manager_8h.html | 377 + doxygen/sock__manager_8h_source.html | 134 + doxygen/splitbar.png | Bin 0 -> 314 bytes doxygen/struct_c_o_dmarker__param.html | 209 + doxygen/struct_s_i_zmarker__param.html | 381 + doxygen/structaux__response__param.html | 154 + doxygen/structauxtrans__param.html | 152 + doxygen/structbox__param.html | 190 + doxygen/structboxcontents__param.html | 109 + doxygen/structboxheader__param.html | 152 + doxygen/structboxlist__param.html | 114 + doxygen/structcache__param.html | 228 + doxygen/structcachelist__param.html | 109 + doxygen/structcachemodel__param.html | 209 + doxygen/structcachemodellist__param.html | 114 + doxygen/structchannel__param.html | 171 + doxygen/structchannellist__param.html | 114 + doxygen/structcodestream__param.html | 133 + doxygen/structdec__server__record.html | 171 + doxygen/structdwt__local.html | 133 + doxygen/structfaixbox__param.html | 115 + doxygen/structfaixelem4__param.html | 114 + doxygen/structfaixelem8__param.html | 114 + doxygen/structihdrbox__param.html | 146 + doxygen/structimgreg__param.html | 232 + doxygen/structindex__param.html | 247 + doxygen/structj2k__prog__order.html | 101 + doxygen/structjpip__dec__param.html | 209 + doxygen/structmanfbox__param.html | 96 + doxygen/structmarker__param.html | 152 + doxygen/structmarkeridx__param.html | 172 + doxygen/structmessage__param.html | 263 + doxygen/structmetadata__param.html | 171 + doxygen/structmetadatalist__param.html | 114 + doxygen/structmhixbox__param.html | 116 + doxygen/structmsgqueue__param.html | 152 + doxygen/structopj__bio.html | 172 + doxygen/structopj__codec__private.html | 533 ++ doxygen/structopj__codestream__index.html | 222 + doxygen/structopj__codestream__info.html | 474 + doxygen/structopj__codestream__info__v2.html | 247 + doxygen/structopj__cp.html | 878 ++ doxygen/structopj__cparameters.html | 1211 +++ ...ructopj__dec__memory__marker__handler.html | 126 + doxygen/structopj__decoding__param.html | 109 + doxygen/structopj__dparameters.html | 390 + doxygen/structopj__encoding__param.html | 224 + doxygen/structopj__event__mgr.html | 198 + doxygen/structopj__image.html | 247 + doxygen/structopj__image__comp.html | 323 + doxygen/structopj__image__comptparm.html | 247 + doxygen/structopj__j2k.html | 291 + doxygen/structopj__j2k__dec.html | 430 + doxygen/structopj__j2k__enc.html | 251 + doxygen/structopj__jp2.html | 501 ++ doxygen/structopj__jp2__box.html | 122 + doxygen/structopj__jp2__cdef.html | 108 + doxygen/structopj__jp2__cdef__info.html | 124 + doxygen/structopj__jp2__cmap__comp.html | 124 + doxygen/structopj__jp2__color.html | 156 + doxygen/structopj__jp2__comps.html | 120 + doxygen/structopj__jp2__header__handler.html | 101 + ...pj__jp2__img__header__writer__handler.html | 119 + doxygen/structopj__jp2__index.html | 90 + doxygen/structopj__jp2__metadata.html | 90 + doxygen/structopj__jp2__pclr.html | 172 + doxygen/structopj__marker__info.html | 133 + doxygen/structopj__mct__data.html | 156 + doxygen/structopj__mqc.html | 204 + doxygen/structopj__mqc__state.html | 146 + doxygen/structopj__packet__info.html | 152 + doxygen/structopj__pi__comp.html | 143 + doxygen/structopj__pi__iterator.html | 479 + doxygen/structopj__pi__resolution.html | 140 + doxygen/structopj__poc.html | 683 ++ doxygen/structopj__procedure__list.html | 133 + doxygen/structopj__raw.html | 207 + ...opj__simple__mcc__decorrelation__data.html | 156 + doxygen/structopj__stepsize.html | 114 + doxygen/structopj__stream__private.html | 365 + doxygen/structopj__t1.html | 258 + doxygen/structopj__t2.html | 115 + doxygen/structopj__tccp.html | 323 + doxygen/structopj__tccp__info.html | 340 + doxygen/structopj__tcd.html | 285 + doxygen/structopj__tcd__band.html | 220 + doxygen/structopj__tcd__cblk__dec.html | 295 + doxygen/structopj__tcd__cblk__enc.html | 284 + doxygen/structopj__tcd__image.html | 92 + doxygen/structopj__tcd__layer.html | 140 + doxygen/structopj__tcd__pass.html | 140 + doxygen/structopj__tcd__precinct.html | 285 + doxygen/structopj__tcd__resolution.html | 204 + doxygen/structopj__tcd__seg.html | 204 + doxygen/structopj__tcd__tile.html | 236 + doxygen/structopj__tcd__tilecomp.html | 284 + doxygen/structopj__tcp.html | 624 ++ doxygen/structopj__tgt__node.html | 140 + doxygen/structopj__tgt__tree.html | 156 + doxygen/structopj__tile__index.html | 266 + doxygen/structopj__tile__info.html | 392 + doxygen/structopj__tile__v2__info.html | 188 + doxygen/structopj__tp__index.html | 133 + doxygen/structopj__tp__info.html | 167 + doxygen/structplaceholder__param.html | 198 + doxygen/structplaceholderlist__param.html | 114 + doxygen/structquery__param.html | 568 ++ doxygen/structrange__param.html | 114 + doxygen/structsession__param.html | 133 + doxygen/structsessionlist__param.html | 114 + doxygen/structsubfaixbox4__param.html | 152 + doxygen/structsubfaixbox8__param.html | 152 + doxygen/structtarget__param.html | 247 + doxygen/structtargetlist__param.html | 114 + doxygen/structv4dwt__local.html | 133 + doxygen/sync_off.png | Bin 0 -> 853 bytes doxygen/sync_on.png | Bin 0 -> 845 bytes doxygen/t1_8c.html | 165 + doxygen/t1_8h.html | 187 + doxygen/t1_8h_source.html | 216 + doxygen/t1__generate__luts_8c.html | 239 + doxygen/t1__luts_8h.html | 340 + doxygen/t1__luts_8h_source.html | 216 + doxygen/t2_8c.html | 172 + doxygen/t2_8h.html | 102 + doxygen/t2_8h_source.html | 159 + doxygen/tab_a.png | Bin 0 -> 142 bytes doxygen/tab_b.png | Bin 0 -> 169 bytes doxygen/tab_h.png | Bin 0 -> 177 bytes doxygen/tab_s.png | Bin 0 -> 184 bytes doxygen/tabs.css | 60 + doxygen/target__manager_8c.html | 594 ++ doxygen/target__manager_8h.html | 532 ++ doxygen/target__manager_8h_source.html | 185 + doxygen/tcd_8c.html | 791 ++ doxygen/tcd_8h.html | 198 + doxygen/tcd_8h_source.html | 458 + doxygen/tgt_8c.html | 91 + doxygen/tgt_8h.html | 118 + doxygen/tgt_8h_source.html | 169 + doxygen/thix__manager_8c.html | 170 + doxygen/tpix__manager_8c.html | 239 + doxygen/unionopj__v4__t.html | 85 + doxygen/unionsubfaixbox__param.html | 114 + 459 files changed, 136200 insertions(+) create mode 100644 doxygen/_doxyfile-html_8dox.html create mode 100644 doxygen/annotated.html create mode 100644 doxygen/arrowdown.png create mode 100644 doxygen/arrowright.png create mode 100644 doxygen/auxtrans__manager_8c.html create mode 100644 doxygen/auxtrans__manager_8h.html create mode 100644 doxygen/auxtrans__manager_8h_source.html create mode 100644 doxygen/bc_s.png create mode 100644 doxygen/bdwn.png create mode 100644 doxygen/bio_8c.html create mode 100644 doxygen/bio_8h.html create mode 100644 doxygen/bio_8h_source.html create mode 100644 doxygen/box__manager_8c.html create mode 100644 doxygen/box__manager_8h.html create mode 100644 doxygen/box__manager_8h_source.html create mode 100644 doxygen/boxheader__manager_8c.html create mode 100644 doxygen/boxheader__manager_8h.html create mode 100644 doxygen/boxheader__manager_8h_source.html create mode 100644 doxygen/byte__manager_8c.html create mode 100644 doxygen/byte__manager_8h.html create mode 100644 doxygen/byte__manager_8h_source.html create mode 100644 doxygen/cache__manager_8c.html create mode 100644 doxygen/cache__manager_8h.html create mode 100644 doxygen/cache__manager_8h_source.html create mode 100644 doxygen/cachemodel__manager_8c.html create mode 100644 doxygen/cachemodel__manager_8h.html create mode 100644 doxygen/cachemodel__manager_8h_source.html create mode 100644 doxygen/channel__manager_8c.html create mode 100644 doxygen/channel__manager_8h.html create mode 100644 doxygen/channel__manager_8h_source.html create mode 100644 doxygen/cidx__manager_8c.html create mode 100644 doxygen/cidx__manager_8h.html create mode 100644 doxygen/cidx__manager_8h_source.html create mode 100644 doxygen/cio_8c.html create mode 100644 doxygen/cio_8h.html create mode 100644 doxygen/cio_8h_source.html create mode 100644 doxygen/classes.html create mode 100644 doxygen/closed.png create mode 100644 doxygen/codestream__manager_8c.html create mode 100644 doxygen/codestream__manager_8h.html create mode 100644 doxygen/codestream__manager_8h_source.html create mode 100644 doxygen/dec__clientmsg__handler_8c.html create mode 100644 doxygen/dec__clientmsg__handler_8h.html create mode 100644 doxygen/dec__clientmsg__handler_8h_source.html create mode 100644 doxygen/dir_0b20524d8f8835ca75acc430451c8412.html create mode 100644 doxygen/dir_181a881edfcb8646dab693a228fa6bde.html create mode 100644 doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html create mode 100644 doxygen/dir_5064bb5511811c3176850b7e47443f14.html create mode 100644 doxygen/dir_68013e83e260d17d49dee5e209315608.html create mode 100644 doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html create mode 100644 doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html create mode 100644 doxygen/dir_d522931ffa1371640980b621734a4381.html create mode 100644 doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html create mode 100644 doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html create mode 100644 doxygen/doc.png create mode 100644 doxygen/doxygen.css create mode 100644 doxygen/doxygen.png create mode 100644 doxygen/dwt_8c.html create mode 100644 doxygen/dwt_8h.html create mode 100644 doxygen/dwt_8h_source.html create mode 100644 doxygen/dynsections.js create mode 100644 doxygen/event_8c.html create mode 100644 doxygen/event_8h.html create mode 100644 doxygen/event_8h_source.html create mode 100644 doxygen/faixbox__manager_8c.html create mode 100644 doxygen/faixbox__manager_8h.html create mode 100644 doxygen/faixbox__manager_8h_source.html create mode 100644 doxygen/files.html create mode 100644 doxygen/folderclosed.png create mode 100644 doxygen/folderopen.png create mode 100644 doxygen/function__list_8c.html create mode 100644 doxygen/function__list_8h.html create mode 100644 doxygen/function__list_8h_source.html create mode 100644 doxygen/functions.html create mode 100644 doxygen/functions_b.html create mode 100644 doxygen/functions_c.html create mode 100644 doxygen/functions_d.html create mode 100644 doxygen/functions_e.html create mode 100644 doxygen/functions_f.html create mode 100644 doxygen/functions_g.html create mode 100644 doxygen/functions_h.html create mode 100644 doxygen/functions_i.html create mode 100644 doxygen/functions_j.html create mode 100644 doxygen/functions_k.html create mode 100644 doxygen/functions_l.html create mode 100644 doxygen/functions_m.html create mode 100644 doxygen/functions_n.html create mode 100644 doxygen/functions_o.html create mode 100644 doxygen/functions_p.html create mode 100644 doxygen/functions_q.html create mode 100644 doxygen/functions_r.html create mode 100644 doxygen/functions_s.html create mode 100644 doxygen/functions_t.html create mode 100644 doxygen/functions_u.html create mode 100644 doxygen/functions_v.html create mode 100644 doxygen/functions_vars.html create mode 100644 doxygen/functions_vars_b.html create mode 100644 doxygen/functions_vars_c.html create mode 100644 doxygen/functions_vars_d.html create mode 100644 doxygen/functions_vars_e.html create mode 100644 doxygen/functions_vars_f.html create mode 100644 doxygen/functions_vars_g.html create mode 100644 doxygen/functions_vars_h.html create mode 100644 doxygen/functions_vars_i.html create mode 100644 doxygen/functions_vars_j.html create mode 100644 doxygen/functions_vars_k.html create mode 100644 doxygen/functions_vars_l.html create mode 100644 doxygen/functions_vars_m.html create mode 100644 doxygen/functions_vars_n.html create mode 100644 doxygen/functions_vars_o.html create mode 100644 doxygen/functions_vars_p.html create mode 100644 doxygen/functions_vars_q.html create mode 100644 doxygen/functions_vars_r.html create mode 100644 doxygen/functions_vars_s.html create mode 100644 doxygen/functions_vars_t.html create mode 100644 doxygen/functions_vars_u.html create mode 100644 doxygen/functions_vars_v.html create mode 100644 doxygen/functions_vars_w.html create mode 100644 doxygen/functions_vars_x.html create mode 100644 doxygen/functions_vars_y.html create mode 100644 doxygen/functions_w.html create mode 100644 doxygen/functions_x.html create mode 100644 doxygen/functions_y.html create mode 100644 doxygen/globals.html create mode 100644 doxygen/globals_a.html create mode 100644 doxygen/globals_b.html create mode 100644 doxygen/globals_c.html create mode 100644 doxygen/globals_d.html create mode 100644 doxygen/globals_defs.html create mode 100644 doxygen/globals_defs_b.html create mode 100644 doxygen/globals_defs_e.html create mode 100644 doxygen/globals_defs_f.html create mode 100644 doxygen/globals_defs_h.html create mode 100644 doxygen/globals_defs_i.html create mode 100644 doxygen/globals_defs_j.html create mode 100644 doxygen/globals_defs_l.html create mode 100644 doxygen/globals_defs_m.html create mode 100644 doxygen/globals_defs_n.html create mode 100644 doxygen/globals_defs_o.html create mode 100644 doxygen/globals_defs_p.html create mode 100644 doxygen/globals_defs_r.html create mode 100644 doxygen/globals_defs_t.html create mode 100644 doxygen/globals_e.html create mode 100644 doxygen/globals_enum.html create mode 100644 doxygen/globals_eval.html create mode 100644 doxygen/globals_f.html create mode 100644 doxygen/globals_func.html create mode 100644 doxygen/globals_func_b.html create mode 100644 doxygen/globals_func_c.html create mode 100644 doxygen/globals_func_d.html create mode 100644 doxygen/globals_func_e.html create mode 100644 doxygen/globals_func_f.html create mode 100644 doxygen/globals_func_g.html create mode 100644 doxygen/globals_func_h.html create mode 100644 doxygen/globals_func_i.html create mode 100644 doxygen/globals_func_j.html create mode 100644 doxygen/globals_func_m.html create mode 100644 doxygen/globals_func_o.html create mode 100644 doxygen/globals_func_p.html create mode 100644 doxygen/globals_func_r.html create mode 100644 doxygen/globals_func_s.html create mode 100644 doxygen/globals_func_t.html create mode 100644 doxygen/globals_func_u.html create mode 100644 doxygen/globals_func_w.html create mode 100644 doxygen/globals_g.html create mode 100644 doxygen/globals_h.html create mode 100644 doxygen/globals_i.html create mode 100644 doxygen/globals_j.html create mode 100644 doxygen/globals_l.html create mode 100644 doxygen/globals_m.html create mode 100644 doxygen/globals_n.html create mode 100644 doxygen/globals_o.html create mode 100644 doxygen/globals_p.html create mode 100644 doxygen/globals_q.html create mode 100644 doxygen/globals_r.html create mode 100644 doxygen/globals_s.html create mode 100644 doxygen/globals_t.html create mode 100644 doxygen/globals_type.html create mode 100644 doxygen/globals_u.html create mode 100644 doxygen/globals_vars.html create mode 100644 doxygen/globals_w.html create mode 100644 doxygen/globals_x.html create mode 100644 doxygen/group___b_i_o.html create mode 100644 doxygen/group___c_i_o.html create mode 100644 doxygen/group___d_w_t.html create mode 100644 doxygen/group___e_v_e_n_t.html create mode 100644 doxygen/group___i_m_a_g_e.html create mode 100644 doxygen/group___i_n_v_e_r_t.html create mode 100644 doxygen/group___j2_k.html create mode 100644 doxygen/group___j_p2.html create mode 100644 doxygen/group___m_c_t.html create mode 100644 doxygen/group___m_i_s_c.html create mode 100644 doxygen/group___m_q_c.html create mode 100644 doxygen/group___o_p_j___i_n_t_m_a_t_h.html create mode 100644 doxygen/group___p_i.html create mode 100644 doxygen/group___r_a_w.html create mode 100644 doxygen/group___t1.html create mode 100644 doxygen/group___t2.html create mode 100644 doxygen/group___t_c_d.html create mode 100644 doxygen/group___t_g_t.html create mode 100644 doxygen/group___v_a_l.html create mode 100644 doxygen/ihdrbox__manager_8c.html create mode 100644 doxygen/ihdrbox__manager_8h.html create mode 100644 doxygen/ihdrbox__manager_8h_source.html create mode 100644 doxygen/image_8c.html create mode 100644 doxygen/image_8h.html create mode 100644 doxygen/image_8h_source.html create mode 100644 doxygen/imgreg__manager_8c.html create mode 100644 doxygen/imgreg__manager_8h.html create mode 100644 doxygen/imgreg__manager_8h_source.html create mode 100644 doxygen/imgsock__manager_8c.html create mode 100644 doxygen/imgsock__manager_8h.html create mode 100644 doxygen/imgsock__manager_8h_source.html create mode 100644 doxygen/index.html create mode 100644 doxygen/index__manager_8c.html create mode 100644 doxygen/index__manager_8h.html create mode 100644 doxygen/index__manager_8h_source.html create mode 100644 doxygen/indexbox__manager_8h.html create mode 100644 doxygen/indexbox__manager_8h_source.html create mode 100644 doxygen/invert_8c.html create mode 100644 doxygen/invert_8h.html create mode 100644 doxygen/invert_8h_source.html create mode 100644 doxygen/j2k_8c.html create mode 100644 doxygen/j2k_8h.html create mode 100644 doxygen/j2k_8h_source.html create mode 100644 doxygen/j2kheader__manager_8c.html create mode 100644 doxygen/j2kheader__manager_8h.html create mode 100644 doxygen/j2kheader__manager_8h_source.html create mode 100644 doxygen/jp2_8c.html create mode 100644 doxygen/jp2_8h.html create mode 100644 doxygen/jp2_8h_source.html create mode 100644 doxygen/jp2k__decoder_8c.html create mode 100644 doxygen/jp2k__decoder_8h.html create mode 100644 doxygen/jp2k__decoder_8h_source.html create mode 100644 doxygen/jp2k__encoder_8c.html create mode 100644 doxygen/jp2k__encoder_8h.html create mode 100644 doxygen/jp2k__encoder_8h_source.html create mode 100644 doxygen/jpip__parser_8c.html create mode 100644 doxygen/jpip__parser_8h.html create mode 100644 doxygen/jpip__parser_8h_source.html create mode 100644 doxygen/jpip_architect.png create mode 100644 doxygen/jpip_protocol.png create mode 100644 doxygen/jpipstream__manager_8c.html create mode 100644 doxygen/jpipstream__manager_8h.html create mode 100644 doxygen/jpipstream__manager_8h_source.html create mode 100644 doxygen/jquery.js create mode 100644 doxygen/mainpage_8dox.html create mode 100644 doxygen/manfbox__manager_8c.html create mode 100644 doxygen/manfbox__manager_8h.html create mode 100644 doxygen/manfbox__manager_8h_source.html create mode 100644 doxygen/marker__manager_8c.html create mode 100644 doxygen/marker__manager_8h.html create mode 100644 doxygen/marker__manager_8h_source.html create mode 100644 doxygen/mct_8c.html create mode 100644 doxygen/mct_8h.html create mode 100644 doxygen/mct_8h_source.html create mode 100644 doxygen/metadata__manager_8c.html create mode 100644 doxygen/metadata__manager_8h.html create mode 100644 doxygen/metadata__manager_8h_source.html create mode 100644 doxygen/mhixbox__manager_8c.html create mode 100644 doxygen/mhixbox__manager_8h.html create mode 100644 doxygen/mhixbox__manager_8h_source.html create mode 100644 doxygen/modules.html create mode 100644 doxygen/mqc_8c.html create mode 100644 doxygen/mqc_8h.html create mode 100644 doxygen/mqc_8h_source.html create mode 100644 doxygen/msgqueue__manager_8c.html create mode 100644 doxygen/msgqueue__manager_8h.html create mode 100644 doxygen/msgqueue__manager_8h_source.html create mode 100644 doxygen/nav_f.png create mode 100644 doxygen/nav_g.png create mode 100644 doxygen/nav_h.png create mode 100644 doxygen/open.png create mode 100644 doxygen/openjpeg_8c.html create mode 100644 doxygen/openjpeg_8h.html create mode 100644 doxygen/openjpeg_8h_source.html create mode 100644 doxygen/openjpip_8c.html create mode 100644 doxygen/openjpip_8dox.html create mode 100644 doxygen/openjpip_8h.html create mode 100644 doxygen/openjpip_8h_source.html create mode 100644 doxygen/openjpippage.html create mode 100644 doxygen/opj__clock_8c.html create mode 100644 doxygen/opj__clock_8h.html create mode 100644 doxygen/opj__clock_8h_source.html create mode 100644 doxygen/opj__codec_8h.html create mode 100644 doxygen/opj__codec_8h_source.html create mode 100644 doxygen/opj__includes_8h.html create mode 100644 doxygen/opj__includes_8h_source.html create mode 100644 doxygen/opj__intmath_8h.html create mode 100644 doxygen/opj__intmath_8h_source.html create mode 100644 doxygen/opj__inttypes_8h.html create mode 100644 doxygen/opj__inttypes_8h_source.html create mode 100644 doxygen/opj__malloc_8h.html create mode 100644 doxygen/opj__malloc_8h_source.html create mode 100644 doxygen/opj__stdint_8h.html create mode 100644 doxygen/opj__stdint_8h_source.html create mode 100644 doxygen/pages.html create mode 100644 doxygen/phix__manager_8c.html create mode 100644 doxygen/pi_8c.html create mode 100644 doxygen/pi_8h.html create mode 100644 doxygen/pi_8h_source.html create mode 100644 doxygen/placeholder__manager_8c.html create mode 100644 doxygen/placeholder__manager_8h.html create mode 100644 doxygen/placeholder__manager_8h_source.html create mode 100644 doxygen/ppix__manager_8c.html create mode 100644 doxygen/query__parser_8c.html create mode 100644 doxygen/query__parser_8h.html create mode 100644 doxygen/query__parser_8h_source.html create mode 100644 doxygen/raw_8c.html create mode 100644 doxygen/raw_8h.html create mode 100644 doxygen/raw_8h_source.html create mode 100644 doxygen/session__manager_8c.html create mode 100644 doxygen/session__manager_8h.html create mode 100644 doxygen/session__manager_8h_source.html create mode 100644 doxygen/sock__manager_8c.html create mode 100644 doxygen/sock__manager_8h.html create mode 100644 doxygen/sock__manager_8h_source.html create mode 100644 doxygen/splitbar.png create mode 100644 doxygen/struct_c_o_dmarker__param.html create mode 100644 doxygen/struct_s_i_zmarker__param.html create mode 100644 doxygen/structaux__response__param.html create mode 100644 doxygen/structauxtrans__param.html create mode 100644 doxygen/structbox__param.html create mode 100644 doxygen/structboxcontents__param.html create mode 100644 doxygen/structboxheader__param.html create mode 100644 doxygen/structboxlist__param.html create mode 100644 doxygen/structcache__param.html create mode 100644 doxygen/structcachelist__param.html create mode 100644 doxygen/structcachemodel__param.html create mode 100644 doxygen/structcachemodellist__param.html create mode 100644 doxygen/structchannel__param.html create mode 100644 doxygen/structchannellist__param.html create mode 100644 doxygen/structcodestream__param.html create mode 100644 doxygen/structdec__server__record.html create mode 100644 doxygen/structdwt__local.html create mode 100644 doxygen/structfaixbox__param.html create mode 100644 doxygen/structfaixelem4__param.html create mode 100644 doxygen/structfaixelem8__param.html create mode 100644 doxygen/structihdrbox__param.html create mode 100644 doxygen/structimgreg__param.html create mode 100644 doxygen/structindex__param.html create mode 100644 doxygen/structj2k__prog__order.html create mode 100644 doxygen/structjpip__dec__param.html create mode 100644 doxygen/structmanfbox__param.html create mode 100644 doxygen/structmarker__param.html create mode 100644 doxygen/structmarkeridx__param.html create mode 100644 doxygen/structmessage__param.html create mode 100644 doxygen/structmetadata__param.html create mode 100644 doxygen/structmetadatalist__param.html create mode 100644 doxygen/structmhixbox__param.html create mode 100644 doxygen/structmsgqueue__param.html create mode 100644 doxygen/structopj__bio.html create mode 100644 doxygen/structopj__codec__private.html create mode 100644 doxygen/structopj__codestream__index.html create mode 100644 doxygen/structopj__codestream__info.html create mode 100644 doxygen/structopj__codestream__info__v2.html create mode 100644 doxygen/structopj__cp.html create mode 100644 doxygen/structopj__cparameters.html create mode 100644 doxygen/structopj__dec__memory__marker__handler.html create mode 100644 doxygen/structopj__decoding__param.html create mode 100644 doxygen/structopj__dparameters.html create mode 100644 doxygen/structopj__encoding__param.html create mode 100644 doxygen/structopj__event__mgr.html create mode 100644 doxygen/structopj__image.html create mode 100644 doxygen/structopj__image__comp.html create mode 100644 doxygen/structopj__image__comptparm.html create mode 100644 doxygen/structopj__j2k.html create mode 100644 doxygen/structopj__j2k__dec.html create mode 100644 doxygen/structopj__j2k__enc.html create mode 100644 doxygen/structopj__jp2.html create mode 100644 doxygen/structopj__jp2__box.html create mode 100644 doxygen/structopj__jp2__cdef.html create mode 100644 doxygen/structopj__jp2__cdef__info.html create mode 100644 doxygen/structopj__jp2__cmap__comp.html create mode 100644 doxygen/structopj__jp2__color.html create mode 100644 doxygen/structopj__jp2__comps.html create mode 100644 doxygen/structopj__jp2__header__handler.html create mode 100644 doxygen/structopj__jp2__img__header__writer__handler.html create mode 100644 doxygen/structopj__jp2__index.html create mode 100644 doxygen/structopj__jp2__metadata.html create mode 100644 doxygen/structopj__jp2__pclr.html create mode 100644 doxygen/structopj__marker__info.html create mode 100644 doxygen/structopj__mct__data.html create mode 100644 doxygen/structopj__mqc.html create mode 100644 doxygen/structopj__mqc__state.html create mode 100644 doxygen/structopj__packet__info.html create mode 100644 doxygen/structopj__pi__comp.html create mode 100644 doxygen/structopj__pi__iterator.html create mode 100644 doxygen/structopj__pi__resolution.html create mode 100644 doxygen/structopj__poc.html create mode 100644 doxygen/structopj__procedure__list.html create mode 100644 doxygen/structopj__raw.html create mode 100644 doxygen/structopj__simple__mcc__decorrelation__data.html create mode 100644 doxygen/structopj__stepsize.html create mode 100644 doxygen/structopj__stream__private.html create mode 100644 doxygen/structopj__t1.html create mode 100644 doxygen/structopj__t2.html create mode 100644 doxygen/structopj__tccp.html create mode 100644 doxygen/structopj__tccp__info.html create mode 100644 doxygen/structopj__tcd.html create mode 100644 doxygen/structopj__tcd__band.html create mode 100644 doxygen/structopj__tcd__cblk__dec.html create mode 100644 doxygen/structopj__tcd__cblk__enc.html create mode 100644 doxygen/structopj__tcd__image.html create mode 100644 doxygen/structopj__tcd__layer.html create mode 100644 doxygen/structopj__tcd__pass.html create mode 100644 doxygen/structopj__tcd__precinct.html create mode 100644 doxygen/structopj__tcd__resolution.html create mode 100644 doxygen/structopj__tcd__seg.html create mode 100644 doxygen/structopj__tcd__tile.html create mode 100644 doxygen/structopj__tcd__tilecomp.html create mode 100644 doxygen/structopj__tcp.html create mode 100644 doxygen/structopj__tgt__node.html create mode 100644 doxygen/structopj__tgt__tree.html create mode 100644 doxygen/structopj__tile__index.html create mode 100644 doxygen/structopj__tile__info.html create mode 100644 doxygen/structopj__tile__v2__info.html create mode 100644 doxygen/structopj__tp__index.html create mode 100644 doxygen/structopj__tp__info.html create mode 100644 doxygen/structplaceholder__param.html create mode 100644 doxygen/structplaceholderlist__param.html create mode 100644 doxygen/structquery__param.html create mode 100644 doxygen/structrange__param.html create mode 100644 doxygen/structsession__param.html create mode 100644 doxygen/structsessionlist__param.html create mode 100644 doxygen/structsubfaixbox4__param.html create mode 100644 doxygen/structsubfaixbox8__param.html create mode 100644 doxygen/structtarget__param.html create mode 100644 doxygen/structtargetlist__param.html create mode 100644 doxygen/structv4dwt__local.html create mode 100644 doxygen/sync_off.png create mode 100644 doxygen/sync_on.png create mode 100644 doxygen/t1_8c.html create mode 100644 doxygen/t1_8h.html create mode 100644 doxygen/t1_8h_source.html create mode 100644 doxygen/t1__generate__luts_8c.html create mode 100644 doxygen/t1__luts_8h.html create mode 100644 doxygen/t1__luts_8h_source.html create mode 100644 doxygen/t2_8c.html create mode 100644 doxygen/t2_8h.html create mode 100644 doxygen/t2_8h_source.html create mode 100644 doxygen/tab_a.png create mode 100644 doxygen/tab_b.png create mode 100644 doxygen/tab_h.png create mode 100644 doxygen/tab_s.png create mode 100644 doxygen/tabs.css create mode 100644 doxygen/target__manager_8c.html create mode 100644 doxygen/target__manager_8h.html create mode 100644 doxygen/target__manager_8h_source.html create mode 100644 doxygen/tcd_8c.html create mode 100644 doxygen/tcd_8h.html create mode 100644 doxygen/tcd_8h_source.html create mode 100644 doxygen/tgt_8c.html create mode 100644 doxygen/tgt_8h.html create mode 100644 doxygen/tgt_8h_source.html create mode 100644 doxygen/thix__manager_8c.html create mode 100644 doxygen/tpix__manager_8c.html create mode 100644 doxygen/unionopj__v4__t.html create mode 100644 doxygen/unionsubfaixbox__param.html diff --git a/doxygen/_doxyfile-html_8dox.html b/doxygen/_doxyfile-html_8dox.html new file mode 100644 index 00000000..51763a14 --- /dev/null +++ b/doxygen/_doxyfile-html_8dox.html @@ -0,0 +1,59 @@ + + + + + + +OpenJPEG: Doxyfile-html.dox File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
Doxyfile-html.dox File Reference
+
+
+
+ + + + diff --git a/doxygen/annotated.html b/doxygen/annotated.html new file mode 100644 index 00000000..42422ecb --- /dev/null +++ b/doxygen/annotated.html @@ -0,0 +1,177 @@ + + + + + + +OpenJPEG: Data Structures + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Caux_response_param
 Cauxtrans_paramAuxiliary transport setting parameters
 Cbox_paramBox parameters
 Cboxcontents_param
 Cboxheader_paramBox header parameters
 Cboxlist_paramBox list parameters
 Ccache_paramCache parameters
 Ccachelist_param
 Ccachemodel_paramCache model parameters
 Ccachemodellist_paramCache model list parameters
 Cchannel_paramChannel parameters
 Cchannellist_paramChannel list parameters
 Ccodestream_paramCodestream parameters
 CCODmarker_paramA.6.1 Coding style default (COD)
 Cdec_server_recordDecoding server static records
 Cdwt_local
 Cfaixbox_paramFragment array index box parameters
 Cfaixelem4_param4byte parameters of a faix element
 Cfaixelem8_param8byte parameters of a faix element
 Cihdrbox_paramI.5.3.1 Image Header box
 Cimgreg_paramImage region parameters
 Cindex_paramIndex parameters
 Cj2k_prog_order
 Cjpip_dec_paramJPIP decoding parameters
 Cmanfbox_paramManifest box parameters
 Cmarker_paramMarker parameters
 Cmarkeridx_paramMarker index parameters
 Cmessage_paramMessage parameters
 Cmetadata_paramMetadata-bin parameters
 Cmetadatalist_paramMetadata-bin list parameters
 Cmhixbox_paramHeader index table box parameters
 Cmsgqueue_paramMessage queue parameters
 Copj_bioIndividual bit input-output stream (BIO)
 Copj_codec_privateMain codec handler used for compression or decompression
 Copj_codestream_indexIndex structure of the codestream (FIXME should be expand and enhance)
 Copj_codestream_infoIndex structure of the codestream
 Copj_codestream_info_v2Information structure about the codestream (FIXME should be expand and enhance)
 Copj_cpCoding parameters
 Copj_cparametersCompression parameters
 Copj_dec_memory_marker_handler
 Copj_decoding_param
 Copj_dparametersDecompression parameters
 Copj_encoding_param
 Copj_event_mgrMessage handler object used for
 Copj_imageDefines image data and characteristics
 Copj_image_compDefines a single image component
 Copj_image_comptparmComponent parameters structure used by the opj_image_create function
 Copj_j2kJPEG-2000 codestream reader/writer
 Copj_j2k_dec
 Copj_j2k_enc
 Copj_jp2JPEG-2000 file format reader/writer
 Copj_jp2_boxJP2 Box
 Copj_jp2_cdefChannel descriptions and number of descriptions
 Copj_jp2_cdef_infoChannel description: channel index, type, assocation
 Copj_jp2_cmap_compComponent mappings: channel index, mapping type, palette index
 Copj_jp2_colorCollector for ICC profile, palette, component mapping, channel description
 Copj_jp2_compsJP2 component
 Copj_jp2_header_handler
 Copj_jp2_img_header_writer_handler
 Copj_jp2_indexIndex structure of the JP2 file EXPERIMENTAL FOR THE MOMENT
 Copj_jp2_metadataInfo structure of the JP2 file EXPERIMENTAL FOR THE MOMENT
 Copj_jp2_pclrPalette data: table entries, palette columns
 Copj_marker_infoMarker structure
 Copj_mct_dataFIXME DOC
 Copj_mqcMQ coder
 Copj_mqc_stateThis struct defines the state of a context
 Copj_packet_infoIndex structure : Information concerning a packet inside tile
 Copj_pi_compFIXME DOC
 Copj_pi_iteratorPacket iterator
 Copj_pi_resolutionFIXME DOC
 Copj_pocProgression order changes
 Copj_procedure_listA list of procedures
 Copj_rawRAW encoding operations
 Copj_simple_mcc_decorrelation_dataFIXME DOC
 Copj_stepsizeQuantization stepsize
 Copj_stream_privateByte input-output stream
 Copj_t1Tier-1 coding (coding of code-block coefficients)
 Copj_t2Tier-2 coding
 Copj_tccpTile-component coding parameters
 Copj_tccp_infoTile-component coding parameters information
 Copj_tcdTile coder/decoder
 Copj_tcd_bandFIXME DOC
 Copj_tcd_cblk_dec
 Copj_tcd_cblk_encFIXME DOC
 Copj_tcd_imageFIXME DOC
 Copj_tcd_layerFIXME DOC
 Copj_tcd_passFIXME DOC
 Copj_tcd_precinctFIXME DOC
 Copj_tcd_resolutionFIXME DOC
 Copj_tcd_segFIXME DOC
 Copj_tcd_tileFIXME DOC
 Copj_tcd_tilecompFIXME DOC
 Copj_tcpTile coding parameters : this structure is used to store coding/decoding parameters common to all tiles (information like COD, COC in main header)
 Copj_tgt_nodeTag node
 Copj_tgt_treeTag tree
 Copj_tile_indexIndex structure about a tile
 Copj_tile_infoIndex structure : information regarding tiles
 Copj_tile_v2_infoTile coding parameters information
 Copj_tp_indexIndex structure about a tile part
 Copj_tp_infoIndex structure : Information concerning tile-parts
 Copj_v4_t
 Cplaceholder_paramA.3.6.3 Placeholder box format
 Cplaceholderlist_paramPlaceholder box list parameters
 Cquery_paramQuery parameters
 Crange_param1-dimensional range parameters
 Csession_paramSession parameters
 Csessionlist_paramSession list parameters
 CSIZmarker_paramProgression order
 Csubfaixbox4_param4byte parameters of fragment array index box
 Csubfaixbox8_param8byte parameters of fragment array index box
 Csubfaixbox_paramVariable sized parameters in fragment array index box
 Ctarget_paramTarget parameters
 Ctargetlist_paramTarget list parameters
 Cv4dwt_local
+
+
+ + + + diff --git a/doxygen/arrowdown.png b/doxygen/arrowdown.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22 GIT binary patch literal 246 zcmVkw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 literal 0 HcmV?d00001 diff --git a/doxygen/arrowright.png b/doxygen/arrowright.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ee22f937a07d1dbfc27c669d11f8ed13e2f152 GIT binary patch literal 229 zcmV^P)R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrKgp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K literal 0 HcmV?d00001 diff --git a/doxygen/auxtrans__manager_8c.html b/doxygen/auxtrans__manager_8c.html new file mode 100644 index 00000000..2df58868 --- /dev/null +++ b/doxygen/auxtrans__manager_8c.html @@ -0,0 +1,464 @@ + + + + + + +OpenJPEG: auxtrans_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
auxtrans_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "auxtrans_manager.h"
+#include <pthread.h>
+
+ + + +

+Data Structures

struct  aux_response_param
 
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + +

+Typedefs

typedef struct aux_response_param aux_response_param_t
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

auxtrans_param_t init_aux_transport (int tcp_auxport, int udp_auxport)
 Initialize auxiliary transport server of JPIP server. More...
 
void close_aux_transport (auxtrans_param_t auxtrans)
 Close auxiliary transport server of JPIP server. More...
 
aux_response_param_tgene_auxresponse (OPJ_BOOL istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame)
 
void delete_auxresponse (aux_response_param_t **auxresponse)
 
void * aux_streaming (void *arg)
 
void send_responsedata_on_aux (OPJ_BOOL istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T datalen, OPJ_SIZE_T maxlenPerFrame)
 Send response data on aux transport. More...
 
OPJ_BOOL identify_cid (SOCKET connected_socket, char refcid[], FILE *fp)
 Identify cid sent from client. More...
 
OPJ_BOOL recv_ack (SOCKET connected_socket, void *data)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +

Referenced by aux_streaming(), and send_responsedata_on_aux().

+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct aux_response_param aux_response_param_t
+
+ +
+
+

Function Documentation

+ + + +
+
+ + + + + + + + +
void close_aux_transport (auxtrans_param_t auxtrans)
+
+ +

Close auxiliary transport server of JPIP server.

+

auxiliary response parameters

+ +

References close_socket(), auxtrans_param::tcplistensock, and auxtrans_param::udplistensock.

+ +
+
+ +
+
+ + + + + + + + +
void delete_auxresponse (aux_response_param_t ** auxresponse)
+
+ +

References opj_free.

+ +

Referenced by aux_streaming().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aux_response_param_t * gene_auxresponse (OPJ_BOOL istcp,
auxtrans_param_t auxtrans,
const char cid[],
void * data,
OPJ_SIZE_T datalen,
OPJ_SIZE_T maxlenPerFrame 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL identify_cid (SOCKET connected_socket,
char refcid[],
FILE * fp 
)
+
+ +

Identify cid sent from client.

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]refcidrefenrece channel ID
[in]fpfile pointer for log of aux stream
+
+
+
Returns
true if identified, false otherwise
+ +

References OPJ_FALSE, opj_free, OPJ_TRUE, and receive_string().

+ +

Referenced by aux_streaming().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
auxtrans_param_t init_aux_transport (int tcp_auxport,
int udp_auxport 
)
+
+ +

Initialize auxiliary transport server of JPIP server.

+
Parameters
+ + + +
[in]tcp_auxportopening tcp auxiliary port ( 0 not to open, valid No. 49152-65535)
[in]udp_auxportopening udp auxiliary port ( 0 not to open, valid No. 49152-65535)
+
+
+
Returns
intialized transport parameters
+ +

References open_listeningsocket(), auxtrans_param::tcpauxport, auxtrans_param::tcplistensock, auxtrans_param::udpauxport, and auxtrans_param::udplistensock.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL recv_ack (SOCKET connected_socket,
void * data 
)
+
+ +

References OPJ_FALSE, opj_free, OPJ_TRUE, and receive_stream().

+ +

Referenced by aux_streaming().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void send_responsedata_on_aux (OPJ_BOOL istcp,
auxtrans_param_t auxtrans,
const char cid[],
void * data,
OPJ_SIZE_T length,
OPJ_SIZE_T maxlenPerFrame 
)
+
+ +

Send response data on aux transport.

+
Parameters
+ + + + + + + +
[in]istcptrue if tcp, false if udp
[in]auxtransavailable transport parameters
[in]cidchannel ID
[in]datasending data
[in]lengthlength of data
[in]maxlenPerFramemaximum data length to send per frame
+
+
+ +

References aux_streaming(), FCGI_stderr, gene_auxresponse(), and auxtrans_param::tcplistensock.

+ +
+
+
+ + + + diff --git a/doxygen/auxtrans__manager_8h.html b/doxygen/auxtrans__manager_8h.html new file mode 100644 index 00000000..f3d3117e --- /dev/null +++ b/doxygen/auxtrans__manager_8h.html @@ -0,0 +1,242 @@ + + + + + + +OpenJPEG: auxtrans_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
auxtrans_manager.h File Reference
+
+
+
#include "sock_manager.h"
+#include "opj_includes.h"
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  auxtrans_param
 auxiliary transport setting parameters More...
 
+ + + + +

+Typedefs

typedef struct auxtrans_param auxtrans_param_t
 auxiliary transport setting parameters More...
 
+ + + + + + + + + + +

+Functions

auxtrans_param_t init_aux_transport (int tcp_auxport, int udp_auxport)
 Initialize auxiliary transport server of JPIP server. More...
 
void close_aux_transport (auxtrans_param_t auxtrans)
 Close auxiliary transport server of JPIP server. More...
 
void send_responsedata_on_aux (OPJ_BOOL istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T length, OPJ_SIZE_T maxlenPerFrame)
 Send response data on aux transport. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct auxtrans_param auxtrans_param_t
+
+ +

auxiliary transport setting parameters

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void close_aux_transport (auxtrans_param_t auxtrans)
+
+ +

Close auxiliary transport server of JPIP server.

+
Parameters
+ + +
[in]auxtransclosing transport server
+
+
+

auxiliary response parameters

+ +

References close_socket(), auxtrans_param::tcplistensock, and auxtrans_param::udplistensock.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
auxtrans_param_t init_aux_transport (int tcp_auxport,
int udp_auxport 
)
+
+ +

Initialize auxiliary transport server of JPIP server.

+
Parameters
+ + + +
[in]tcp_auxportopening tcp auxiliary port ( 0 not to open, valid No. 49152-65535)
[in]udp_auxportopening udp auxiliary port ( 0 not to open, valid No. 49152-65535)
+
+
+
Returns
intialized transport parameters
+ +

References open_listeningsocket(), auxtrans_param::tcpauxport, auxtrans_param::tcplistensock, auxtrans_param::udpauxport, and auxtrans_param::udplistensock.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void send_responsedata_on_aux (OPJ_BOOL istcp,
auxtrans_param_t auxtrans,
const char cid[],
void * data,
OPJ_SIZE_T length,
OPJ_SIZE_T maxlenPerFrame 
)
+
+ +

Send response data on aux transport.

+
Parameters
+ + + + + + + +
[in]istcptrue if tcp, false if udp
[in]auxtransavailable transport parameters
[in]cidchannel ID
[in]datasending data
[in]lengthlength of data
[in]maxlenPerFramemaximum data length to send per frame
+
+
+ +

References aux_streaming(), FCGI_stderr, gene_auxresponse(), and auxtrans_param::tcplistensock.

+ +
+
+
+ + + + diff --git a/doxygen/auxtrans__manager_8h_source.html b/doxygen/auxtrans__manager_8h_source.html new file mode 100644 index 00000000..63d0ffb6 --- /dev/null +++ b/doxygen/auxtrans__manager_8h_source.html @@ -0,0 +1,127 @@ + + + + + + +OpenJPEG: auxtrans_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
auxtrans_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef AUXTRANS_MANAGER_H_
+
32 # define AUXTRANS_MANAGER_H_
+
33 
+
34 #include "sock_manager.h"
+
35 #include "opj_includes.h"
+
36 
+
38 typedef struct auxtrans_param{
+
39  int tcpauxport;
+
40  int udpauxport;
+ + + +
44 
+
52 auxtrans_param_t init_aux_transport( int tcp_auxport, int udp_auxport);
+
53 
+ +
60 
+
71 void send_responsedata_on_aux( OPJ_BOOL istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T length, OPJ_SIZE_T maxlenPerFrame);
+
72 
+
73 #endif /* !AUXTRANS_MANAGER_H_ */
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
int udpauxport
udp port
Definition: auxtrans_manager.h:40
+
auxtrans_param_t init_aux_transport(int tcp_auxport, int udp_auxport)
Initialize auxiliary transport server of JPIP server.
Definition: auxtrans_manager.c:51
+
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+
struct auxtrans_param auxtrans_param_t
auxiliary transport setting parameters
+
int SOCKET
Definition: sock_manager.h:40
+
auxiliary transport setting parameters
Definition: auxtrans_manager.h:38
+
void close_aux_transport(auxtrans_param_t auxtrans)
Close auxiliary transport server of JPIP server.
Definition: auxtrans_manager.c:69
+
int tcpauxport
tcp port
Definition: auxtrans_manager.h:39
+ +
void send_responsedata_on_aux(OPJ_BOOL istcp, auxtrans_param_t auxtrans, const char cid[], void *data, OPJ_SIZE_T length, OPJ_SIZE_T maxlenPerFrame)
Send response data on aux transport.
Definition: auxtrans_manager.c:104
+
SOCKET udplistensock
listenning socket for aux udp (-1 if not open)
Definition: auxtrans_manager.h:42
+
SOCKET tcplistensock
listenning socket for aux tcp (-1 if not open)
Definition: auxtrans_manager.h:41
+ +
+ + + + diff --git a/doxygen/bc_s.png b/doxygen/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/doxygen/bdwn.png b/doxygen/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + +OpenJPEG: bio.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
bio.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

opj_bio_topj_bio_create (void)
 Create a new BIO handle. More...
 
void opj_bio_destroy (opj_bio_t *bio)
 Destroy a previously created BIO handle. More...
 
ptrdiff_t opj_bio_numbytes (opj_bio_t *bio)
 Number of bytes written. More...
 
void opj_bio_init_enc (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
 Init encoder. More...
 
void opj_bio_init_dec (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
 Init decoder. More...
 
void opj_bio_write (opj_bio_t *bio, OPJ_UINT32 v, OPJ_UINT32 n)
 Write bits. More...
 
OPJ_UINT32 opj_bio_read (opj_bio_t *bio, OPJ_UINT32 n)
 Read bits. More...
 
OPJ_BOOL opj_bio_flush (opj_bio_t *bio)
 Flush bits. More...
 
OPJ_BOOL opj_bio_inalign (opj_bio_t *bio)
 Passes the ending bits (coming from flushing) More...
 
Local static functions
static void opj_bio_putbit (opj_bio_t *bio, OPJ_UINT32 b)
 Write a bit. More...
 
static OPJ_UINT32 opj_bio_getbit (opj_bio_t *bio)
 Read a bit. More...
 
static OPJ_BOOL opj_bio_byteout (opj_bio_t *bio)
 Write a byte. More...
 
static OPJ_BOOL opj_bio_bytein (opj_bio_t *bio)
 Read a byte. More...
 
+
+ + + + diff --git a/doxygen/bio_8h.html b/doxygen/bio_8h.html new file mode 100644 index 00000000..74d73f88 --- /dev/null +++ b/doxygen/bio_8h.html @@ -0,0 +1,119 @@ + + + + + + +OpenJPEG: bio.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
bio.h File Reference
+
+
+ +

Implementation of an individual bit input-output (BIO) +More...

+
#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  opj_bio
 Individual bit input-output stream (BIO) More...
 
+ + + + +

+Typedefs

typedef struct opj_bio opj_bio_t
 Individual bit input-output stream (BIO) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Exported functions
opj_bio_topj_bio_create (void)
 Create a new BIO handle. More...
 
void opj_bio_destroy (opj_bio_t *bio)
 Destroy a previously created BIO handle. More...
 
ptrdiff_t opj_bio_numbytes (opj_bio_t *bio)
 Number of bytes written. More...
 
void opj_bio_init_enc (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
 Init encoder. More...
 
void opj_bio_init_dec (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
 Init decoder. More...
 
void opj_bio_write (opj_bio_t *bio, OPJ_UINT32 v, OPJ_UINT32 n)
 Write bits. More...
 
OPJ_UINT32 opj_bio_read (opj_bio_t *bio, OPJ_UINT32 n)
 Read bits. More...
 
OPJ_BOOL opj_bio_flush (opj_bio_t *bio)
 Flush bits. More...
 
OPJ_BOOL opj_bio_inalign (opj_bio_t *bio)
 Passes the ending bits (coming from flushing) More...
 
+

Detailed Description

+

Implementation of an individual bit input-output (BIO)

+

The functions in BIO.C have for goal to realize an individual bit input - output.

+
+ + + + diff --git a/doxygen/bio_8h_source.html b/doxygen/bio_8h_source.html new file mode 100644 index 00000000..204a745a --- /dev/null +++ b/doxygen/bio_8h_source.html @@ -0,0 +1,147 @@ + + + + + + +OpenJPEG: bio.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
bio.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
8  * Copyright (c) 2002-2014, Professor Benoit Macq
+
9  * Copyright (c) 2001-2003, David Janssens
+
10  * Copyright (c) 2002-2003, Yannick Verschueren
+
11  * Copyright (c) 2003-2007, Francois-Olivier Devaux
+
12  * Copyright (c) 2003-2014, Antonin Descampe
+
13  * Copyright (c) 2005, Herve Drolon, FreeImage Team
+
14  * All rights reserved.
+
15  *
+
16  * Redistribution and use in source and binary forms, with or without
+
17  * modification, are permitted provided that the following conditions
+
18  * are met:
+
19  * 1. Redistributions of source code must retain the above copyright
+
20  * notice, this list of conditions and the following disclaimer.
+
21  * 2. Redistributions in binary form must reproduce the above copyright
+
22  * notice, this list of conditions and the following disclaimer in the
+
23  * documentation and/or other materials provided with the distribution.
+
24  *
+
25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
26  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
27  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
28  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
29  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
30  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
32  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
33  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
34  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
35  * POSSIBILITY OF SUCH DAMAGE.
+
36  */
+
37 
+
38 #ifndef __BIO_H
+
39 #define __BIO_H
+
40 
+
41 #include <stddef.h> /* ptrdiff_t */
+
42 
+
52 
+
56 typedef struct opj_bio {
+ + + + + +
67 } opj_bio_t;
+
68 
+
71 /* ----------------------------------------------------------------------- */
+ +
81 void opj_bio_destroy(opj_bio_t *bio);
+
87 ptrdiff_t opj_bio_numbytes(opj_bio_t *bio);
+
94 void opj_bio_init_enc(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len);
+
101 void opj_bio_init_dec(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len);
+ + + + +
128 /* ----------------------------------------------------------------------- */
+
132 
+
133 #endif /* __BIO_H */
+
134 
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
unsigned char OPJ_BYTE
Definition: openjpeg.h:117
+
opj_bio_t * opj_bio_create(void)
Create a new BIO handle.
Definition: bio.c:123
+
OPJ_UINT32 ct
coder : number of bits free to write.
Definition: bio.h:66
+
void opj_bio_destroy(opj_bio_t *bio)
Destroy a previously created BIO handle.
Definition: bio.c:128
+
Individual bit input-output stream (BIO)
Definition: bio.h:56
+
struct opj_bio opj_bio_t
Individual bit input-output stream (BIO)
+
void opj_bio_init_dec(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
Init decoder.
Definition: bio.c:146
+
OPJ_BOOL opj_bio_flush(opj_bio_t *bio)
Flush bits.
Definition: bio.c:171
+
OPJ_UINT32 opj_bio_read(opj_bio_t *bio, OPJ_UINT32 n)
Read bits.
Definition: bio.c:161
+
OPJ_BYTE * end
pointer to the end of the buffer
Definition: bio.h:60
+
void opj_bio_init_enc(opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
Init encoder.
Definition: bio.c:138
+
ptrdiff_t opj_bio_numbytes(opj_bio_t *bio)
Number of bytes written.
Definition: bio.c:134
+
OPJ_BYTE * start
pointer to the start of the buffer
Definition: bio.h:58
+
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
+
void opj_bio_write(opj_bio_t *bio, OPJ_UINT32 v, OPJ_UINT32 n)
Write bits.
Definition: bio.c:154
+
OPJ_UINT32 buf
temporary place where each byte is read or written
Definition: bio.h:64
+
OPJ_BYTE * bp
pointer to the present position in the buffer
Definition: bio.h:62
+
OPJ_BOOL opj_bio_inalign(opj_bio_t *bio)
Passes the ending bits (coming from flushing)
Definition: bio.c:183
+
+ + + + diff --git a/doxygen/box__manager_8c.html b/doxygen/box__manager_8c.html new file mode 100644 index 00000000..a0d2e5a1 --- /dev/null +++ b/doxygen/box__manager_8c.html @@ -0,0 +1,1071 @@ + + + + + + +OpenJPEG: box_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
box_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <assert.h>
+#include "box_manager.h"
+#include "opj_inttypes.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

boxlist_param_tgene_boxlist (void)
 generate a box list More...
 
boxlist_param_tget_boxstructure (int fd, OPJ_OFF_T offset, OPJ_SIZE_T length)
 get box structure of JP2 file More...
 
box_param_tgene_boxbyOffset (int fd, OPJ_OFF_T offset)
 generate box from JP2 file at the given offset More...
 
box_param_tgene_boxbyOffinStream (Byte_t *stream, OPJ_OFF_T offset)
 generate box from code stream (JPP or JPT stream) at the given offset More...
 
box_param_tgene_boxbyType (int fd, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[])
 generate(search) box from JP2 file More...
 
box_param_tgene_boxbyTypeinStream (Byte_t *stream, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[])
 generate(search) box from code stream More...
 
box_param_tgene_childboxbyOffset (box_param_t *superbox, OPJ_OFF_T offset)
 generate child box from JP2 file at the given offset More...
 
box_param_tgene_childboxbyType (box_param_t *superbox, OPJ_OFF_T offset, const char TBox[])
 generate(search) box from JP2 file More...
 
OPJ_OFF_T get_DBoxoff (box_param_t *box)
 get DBox offset More...
 
OPJ_SIZE_T get_DBoxlen (box_param_t *box)
 get DBox length More...
 
Byte_tfetch_headbytes (box_param_t *box)
 fetch header bytes in file stream More...
 
Byte_tfetch_DBoxbytes (box_param_t *box, OPJ_OFF_T offset, OPJ_SIZE_T size)
 fetch DBox (Box Contents) bytes of data in file stream More...
 
Byte_t fetch_DBox1byte (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 1-byte Byte codes in file stream More...
 
Byte2_t fetch_DBox2bytebigendian (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 2-byte big endian Byte codes in file stream More...
 
Byte4_t fetch_DBox4bytebigendian (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 4-byte big endian Byte codes in file stream More...
 
Byte8_t fetch_DBox8bytebigendian (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 8-byte big endian Byte codes in file stream More...
 
box_param_tsearch_box (const char type[], boxlist_param_t *boxlist)
 search a box by box type More...
 
void print_box (box_param_t *box)
 print box parameters More...
 
void print_allbox (boxlist_param_t *boxlist)
 print all box parameters More...
 
void delete_box_in_list (box_param_t **box, boxlist_param_t *boxlist)
 delete a box in list More...
 
void delete_box_in_list_by_type (const char type[], boxlist_param_t *boxlist)
 delete a box in list by Type More...
 
void delete_boxlist (boxlist_param_t **boxlist)
 delete box list More...
 
void insert_box_into_list (box_param_t *box, boxlist_param_t *boxlist)
 insert a box into list More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +

Referenced by print_allbox(), and print_box().

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void delete_box_in_list (box_param_t ** box,
boxlist_param_tboxlist 
)
+
+ +

delete a box in list

+
Parameters
+ + + +
[in,out]boxaddress of the deleting box pointer
[in]boxlistbox list pointer
+
+
+ +

References boxlist_param::first, boxlist_param::last, and box_param::next.

+ +

Referenced by const_metadatalist(), and delete_box_in_list_by_type().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void delete_box_in_list_by_type (const char type[],
boxlist_param_tboxlist 
)
+
+ +

delete a box in list by Type

+
Parameters
+ + + +
[in,out]typebox type
[in]boxlistbox list pointer
+
+
+ +

References delete_box_in_list(), and search_box().

+ +
+
+ +
+
+ + + + + + + + +
void delete_boxlist (boxlist_param_t ** boxlist)
+
+ +

delete box list

+
Parameters
+ + +
[in,out]boxlistaddress of the box list pointer
+
+
+ +

References box_param::next.

+ +

Referenced by delete_metadata(), and parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t fetch_DBox1byte (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 1-byte Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_1byte(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx(), and gene_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte2_t fetch_DBox2bytebigendian (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 2-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_2bytebigendian(), and get_DBoxoff().

+ +

Referenced by gene_mhixbox(), and set_cptrdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t fetch_DBox4bytebigendian (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 4-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_4bytebigendian(), and get_DBoxoff().

+ +

Referenced by gene_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte8_t fetch_DBox8bytebigendian (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 8-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_8bytebigendian(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx(), gene_faixbox(), gene_mhixbox(), set_cptrdata(), and set_mainmhixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* fetch_DBoxbytes (box_param_tbox,
OPJ_OFF_T offset,
OPJ_SIZE_T size 
)
+
+ +

fetch DBox (Box Contents) bytes of data in file stream

+
Parameters
+ + + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
[in]sizeByte length
+
+
+
Returns
pointer to the fetched data
+ +

References box_param::fd, fetch_bytes(), and get_DBoxoff().

+ +
+
+ +
+
+ + + + + + + + +
Byte_t* fetch_headbytes (box_param_tbox)
+
+ +

fetch header bytes in file stream

+
Parameters
+ + +
[in]boxbox pointer
+
+
+
Returns
pointer to the fetched bytes
+ +

References box_param::fd, fetch_bytes(), box_param::headlen, and box_param::offset.

+ +

Referenced by gene_placeholder().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyOffinStream (Byte_tstream,
OPJ_OFF_T offset 
)
+
+ +

generate box from code stream (JPP or JPT stream) at the given offset

+
Parameters
+ + + +
[in]streamcode stream of a box
[in]offsetBox offset of the whole stream
+
+
+
Returns
pointer to the structure of generate box parameters
+ +

References big4(), big8(), box_param::fd, box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by parse_metadata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyOffset (int fd,
OPJ_OFF_T offset 
)
+
+ +

generate box from JP2 file at the given offset

+
Parameters
+ + + +
[in]fdfile discriptor of the JP2 file
[in]offsetBox offset
+
+
+
Returns
pointer to the structure of generate box parameters
+ +

References big4(), big8(), FCGI_stderr, box_param::fd, fetch_bytes(), box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by gene_childboxbyOffset(), get_boxstructure(), and set_ppixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyType (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T length,
const char TBox[] 
)
+
+ +

generate(search) box from JP2 file

+
Parameters
+ + + + + +
[in]fdfile discriptor of the JP2 file
[in]offsetstart Byte position of the search
[in]lengthByte length of the search, if 0, size to the end of file
[in]TBoxBox Type
+
+
+
Returns
pointer to the structure of generate/found box parameters
+ +

References big4(), big8(), FCGI_stderr, box_param::fd, fetch_bytes(), get_filesize(), box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by gene_childboxbyType(), set_cidxdata(), set_cptrdata(), set_mainmhixdata(), set_ppixdata(), set_thixdata(), and set_tpixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyTypeinStream (Byte_tstream,
OPJ_OFF_T offset,
OPJ_SIZE_T length,
const char TBox[] 
)
+
+ +

generate(search) box from code stream

+
Parameters
+ + + + + +
[in]streamcode stream ( from the first byte)
[in]offsetstart Byte position of the search
[in]lengthByte length of the search, if 0, size to the end of file
[in]TBoxBox Type
+
+
+
Returns
pointer to the structure of generate/found box parameters
+ +

References big4(), big8(), FCGI_stderr, box_param::fd, box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by gene_ihdrbox().

+ +
+
+ +
+
+ + + + + + + + +
boxlist_param_t* gene_boxlist (void )
+
+ +

generate a box list

+
Returns
pointer to the generated box list
+ +

References boxlist_param::first, and boxlist_param::last.

+ +

Referenced by get_boxstructure(), and parse_metadata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* gene_childboxbyOffset (box_param_tsuperbox,
OPJ_OFF_T offset 
)
+
+ +

generate child box from JP2 file at the given offset

+
Parameters
+ + + +
[in]superboxsuper box pointer
[in]offsetoffset from DBox first byte of superbox
+
+
+
Returns
pointer to the structure of generate box parameters
+ +

References box_param::fd, gene_boxbyOffset(), and get_DBoxoff().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
box_param_t* gene_childboxbyType (box_param_tsuperbox,
OPJ_OFF_T offset,
const char TBox[] 
)
+
+ +

generate(search) box from JP2 file

+
Parameters
+ + + + +
[in]superboxsuper box pointer
[in]offsetoffset from DBox first byte of superbox
[in]TBoxBox Type
+
+
+
Returns
pointer to the structure of generate/found box parameters
+ +

References FCGI_stderr, box_param::fd, gene_boxbyType(), get_DBoxlen(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
boxlist_param_t* get_boxstructure (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T length 
)
+
+ +

get box structure of JP2 file

+
Parameters
+ + + + +
[in]fdfile descriptor
[in]offsetoffset of the decomposing region
[in]lengthlength of the decomposing region
+
+
+
Returns
pointer to the generated boxlist
+ +

References gene_boxbyOffset(), gene_boxlist(), insert_box_into_list(), and box_param::length.

+ +

Referenced by const_metadatalist(), and parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_SIZE_T get_DBoxlen (box_param_tbox)
+
+ +

get DBox length

+
Parameters
+ + +
[in]boxbox pointer
+
+
+
Returns
DBox length ( content length)
+ +

References box_param::headlen, and box_param::length.

+ +

Referenced by const_metadatalist(), gene_childboxbyType(), gene_ihdrbox(), gene_manfbox(), gene_mhixbox(), set_cidxdata(), set_cptrdata(), set_mainmhixdata(), set_ppixdata(), set_thixdata(), and set_tpixdata().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + +
void insert_box_into_list (box_param_tbox,
boxlist_param_tboxlist 
)
+
+ +

insert a box into list

+
Parameters
+ + + +
[in]boxbox pointer
[in]boxlistbox list pointer
+
+
+ +

References boxlist_param::first, boxlist_param::last, and box_param::next.

+ +

Referenced by get_boxstructure(), and parse_metadata().

+ +
+
+ +
+
+ + + + + + + + +
void print_allbox (boxlist_param_tboxlist)
+
+ +

print all box parameters

+
Parameters
+ + +
[in]boxlistbox list pointer
+
+
+ +

References boxlist_param::first, logstream, box_param::next, and print_box().

+ +

Referenced by print_metadata().

+ +
+
+ +
+
+ + + + + + + + +
void print_box (box_param_tbox)
+
+ +

print box parameters

+
Parameters
+ + +
[in]boxbox pointer
+
+
+ +

References box_param::headlen, box_param::length, logstream, box_param::offset, and box_param::type.

+ +

Referenced by print_allbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* search_box (const char type[],
boxlist_param_tboxlist 
)
+
+ +

search a box by box type

+
Parameters
+ + + +
[in]typebox type
[in]boxlistbox list pointer
+
+
+
Returns
found box pointer
+ +

References FCGI_stderr, boxlist_param::first, box_param::next, and box_param::type.

+ +

Referenced by check_JP2boxidx(), delete_box_in_list_by_type(), gene_ihdrbox(), and parse_jp2file().

+ +
+
+
+ + + + diff --git a/doxygen/box__manager_8h.html b/doxygen/box__manager_8h.html new file mode 100644 index 00000000..c3a91ed1 --- /dev/null +++ b/doxygen/box__manager_8h.html @@ -0,0 +1,1065 @@ + + + + + + +OpenJPEG: box_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
box_manager.h File Reference
+
+
+
#include "byte_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  box_param
 box parameters More...
 
struct  boxlist_param
 Box list parameters. More...
 
+ + + + + + + +

+Typedefs

typedef struct box_param box_param_t
 box parameters More...
 
typedef struct boxlist_param boxlist_param_t
 Box list parameters. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

boxlist_param_tgene_boxlist (void)
 generate a box list More...
 
boxlist_param_tget_boxstructure (int fd, OPJ_OFF_T offset, OPJ_SIZE_T length)
 get box structure of JP2 file More...
 
box_param_tgene_boxbyOffset (int fd, OPJ_OFF_T offset)
 generate box from JP2 file at the given offset More...
 
box_param_tgene_boxbyOffinStream (Byte_t *stream, OPJ_OFF_T offset)
 generate box from code stream (JPP or JPT stream) at the given offset More...
 
box_param_tgene_boxbyType (int fd, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[])
 generate(search) box from JP2 file More...
 
box_param_tgene_boxbyTypeinStream (Byte_t *stream, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[])
 generate(search) box from code stream More...
 
box_param_tgene_childboxbyOffset (box_param_t *superbox, OPJ_OFF_T offset)
 generate child box from JP2 file at the given offset More...
 
box_param_tgene_childboxbyType (box_param_t *superbox, OPJ_OFF_T offset, const char TBox[])
 generate(search) box from JP2 file More...
 
OPJ_OFF_T get_DBoxoff (box_param_t *box)
 get DBox offset More...
 
OPJ_SIZE_T get_DBoxlen (box_param_t *box)
 get DBox length More...
 
Byte_tfetch_headbytes (box_param_t *box)
 fetch header bytes in file stream More...
 
Byte_tfetch_DBoxbytes (box_param_t *box, OPJ_OFF_T offset, OPJ_SIZE_T size)
 fetch DBox (Box Contents) bytes of data in file stream More...
 
Byte_t fetch_DBox1byte (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 1-byte Byte codes in file stream More...
 
Byte2_t fetch_DBox2bytebigendian (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 2-byte big endian Byte codes in file stream More...
 
Byte4_t fetch_DBox4bytebigendian (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 4-byte big endian Byte codes in file stream More...
 
Byte8_t fetch_DBox8bytebigendian (box_param_t *box, OPJ_OFF_T offset)
 fetch DBox (Box Contents) 8-byte big endian Byte codes in file stream More...
 
box_param_tsearch_box (const char type[], boxlist_param_t *boxlist)
 search a box by box type More...
 
void print_box (box_param_t *box)
 print box parameters More...
 
void print_allbox (boxlist_param_t *boxlist)
 print all box parameters More...
 
void delete_box_in_list (box_param_t **box, boxlist_param_t *boxlist)
 delete a box in list More...
 
void delete_box_in_list_by_type (const char type[], boxlist_param_t *boxlist)
 delete a box in list by Type More...
 
void delete_boxlist (boxlist_param_t **boxlist)
 delete box list More...
 
void insert_box_into_list (box_param_t *box, boxlist_param_t *boxlist)
 insert a box into list More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct box_param box_param_t
+
+ +

box parameters

+ +
+
+ +
+
+ + + + +
typedef struct boxlist_param boxlist_param_t
+
+ +

Box list parameters.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void delete_box_in_list (box_param_t ** box,
boxlist_param_tboxlist 
)
+
+ +

delete a box in list

+
Parameters
+ + + +
[in,out]boxaddress of the deleting box pointer
[in]boxlistbox list pointer
+
+
+ +

References boxlist_param::first, boxlist_param::last, and box_param::next.

+ +

Referenced by const_metadatalist(), and delete_box_in_list_by_type().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void delete_box_in_list_by_type (const char type[],
boxlist_param_tboxlist 
)
+
+ +

delete a box in list by Type

+
Parameters
+ + + +
[in,out]typebox type
[in]boxlistbox list pointer
+
+
+ +

References delete_box_in_list(), and search_box().

+ +
+
+ +
+
+ + + + + + + + +
void delete_boxlist (boxlist_param_t ** boxlist)
+
+ +

delete box list

+
Parameters
+ + +
[in,out]boxlistaddress of the box list pointer
+
+
+ +

References box_param::next.

+ +

Referenced by delete_metadata(), and parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t fetch_DBox1byte (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 1-byte Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_1byte(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx(), and gene_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte2_t fetch_DBox2bytebigendian (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 2-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_2bytebigendian(), and get_DBoxoff().

+ +

Referenced by gene_mhixbox(), and set_cptrdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t fetch_DBox4bytebigendian (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 4-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_4bytebigendian(), and get_DBoxoff().

+ +

Referenced by gene_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte8_t fetch_DBox8bytebigendian (box_param_tbox,
OPJ_OFF_T offset 
)
+
+ +

fetch DBox (Box Contents) 8-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
+
+
+
Returns
fetched code
+ +

References box_param::fd, fetch_8bytebigendian(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx(), gene_faixbox(), gene_mhixbox(), set_cptrdata(), and set_mainmhixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* fetch_DBoxbytes (box_param_tbox,
OPJ_OFF_T offset,
OPJ_SIZE_T size 
)
+
+ +

fetch DBox (Box Contents) bytes of data in file stream

+
Parameters
+ + + + +
[in]boxbox pointer
[in]offsetstart Byte position in DBox
[in]sizeByte length
+
+
+
Returns
pointer to the fetched data
+ +

References box_param::fd, fetch_bytes(), and get_DBoxoff().

+ +
+
+ +
+
+ + + + + + + + +
Byte_t* fetch_headbytes (box_param_tbox)
+
+ +

fetch header bytes in file stream

+
Parameters
+ + +
[in]boxbox pointer
+
+
+
Returns
pointer to the fetched bytes
+ +

References box_param::fd, fetch_bytes(), box_param::headlen, and box_param::offset.

+ +

Referenced by gene_placeholder().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyOffinStream (Byte_tstream,
OPJ_OFF_T offset 
)
+
+ +

generate box from code stream (JPP or JPT stream) at the given offset

+
Parameters
+ + + +
[in]streamcode stream of a box
[in]offsetBox offset of the whole stream
+
+
+
Returns
pointer to the structure of generate box parameters
+ +

References big4(), big8(), box_param::fd, box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by parse_metadata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyOffset (int fd,
OPJ_OFF_T offset 
)
+
+ +

generate box from JP2 file at the given offset

+
Parameters
+ + + +
[in]fdfile discriptor of the JP2 file
[in]offsetBox offset
+
+
+
Returns
pointer to the structure of generate box parameters
+ +

References big4(), big8(), FCGI_stderr, box_param::fd, fetch_bytes(), box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by gene_childboxbyOffset(), get_boxstructure(), and set_ppixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyType (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T length,
const char TBox[] 
)
+
+ +

generate(search) box from JP2 file

+
Parameters
+ + + + + +
[in]fdfile discriptor of the JP2 file
[in]offsetstart Byte position of the search
[in]lengthByte length of the search, if 0, size to the end of file
[in]TBoxBox Type
+
+
+
Returns
pointer to the structure of generate/found box parameters
+ +

References big4(), big8(), FCGI_stderr, box_param::fd, fetch_bytes(), get_filesize(), box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by gene_childboxbyType(), set_cidxdata(), set_cptrdata(), set_mainmhixdata(), set_ppixdata(), set_thixdata(), and set_tpixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
box_param_t* gene_boxbyTypeinStream (Byte_tstream,
OPJ_OFF_T offset,
OPJ_SIZE_T length,
const char TBox[] 
)
+
+ +

generate(search) box from code stream

+
Parameters
+ + + + + +
[in]streamcode stream ( from the first byte)
[in]offsetstart Byte position of the search
[in]lengthByte length of the search, if 0, size to the end of file
[in]TBoxBox Type
+
+
+
Returns
pointer to the structure of generate/found box parameters
+ +

References big4(), big8(), FCGI_stderr, box_param::fd, box_param::headlen, box_param::length, box_param::next, box_param::offset, and box_param::type.

+ +

Referenced by gene_ihdrbox().

+ +
+
+ +
+
+ + + + + + + + +
boxlist_param_t* gene_boxlist (void )
+
+ +

generate a box list

+
Returns
pointer to the generated box list
+ +

References boxlist_param::first, and boxlist_param::last.

+ +

Referenced by get_boxstructure(), and parse_metadata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* gene_childboxbyOffset (box_param_tsuperbox,
OPJ_OFF_T offset 
)
+
+ +

generate child box from JP2 file at the given offset

+
Parameters
+ + + +
[in]superboxsuper box pointer
[in]offsetoffset from DBox first byte of superbox
+
+
+
Returns
pointer to the structure of generate box parameters
+ +

References box_param::fd, gene_boxbyOffset(), and get_DBoxoff().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
box_param_t* gene_childboxbyType (box_param_tsuperbox,
OPJ_OFF_T offset,
const char TBox[] 
)
+
+ +

generate(search) box from JP2 file

+
Parameters
+ + + + +
[in]superboxsuper box pointer
[in]offsetoffset from DBox first byte of superbox
[in]TBoxBox Type
+
+
+
Returns
pointer to the structure of generate/found box parameters
+ +

References FCGI_stderr, box_param::fd, gene_boxbyType(), get_DBoxlen(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
boxlist_param_t* get_boxstructure (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T length 
)
+
+ +

get box structure of JP2 file

+
Parameters
+ + + + +
[in]fdfile descriptor
[in]offsetoffset of the decomposing region
[in]lengthlength of the decomposing region
+
+
+
Returns
pointer to the generated boxlist
+ +

References gene_boxbyOffset(), gene_boxlist(), insert_box_into_list(), and box_param::length.

+ +

Referenced by const_metadatalist(), and parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_SIZE_T get_DBoxlen (box_param_tbox)
+
+ +

get DBox length

+
Parameters
+ + +
[in]boxbox pointer
+
+
+
Returns
DBox length ( content length)
+ +

References box_param::headlen, and box_param::length.

+ +

Referenced by const_metadatalist(), gene_childboxbyType(), gene_ihdrbox(), gene_manfbox(), gene_mhixbox(), set_cidxdata(), set_cptrdata(), set_mainmhixdata(), set_ppixdata(), set_thixdata(), and set_tpixdata().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + +
void insert_box_into_list (box_param_tbox,
boxlist_param_tboxlist 
)
+
+ +

insert a box into list

+
Parameters
+ + + +
[in]boxbox pointer
[in]boxlistbox list pointer
+
+
+ +

References boxlist_param::first, boxlist_param::last, and box_param::next.

+ +

Referenced by get_boxstructure(), and parse_metadata().

+ +
+
+ +
+
+ + + + + + + + +
void print_allbox (boxlist_param_tboxlist)
+
+ +

print all box parameters

+
Parameters
+ + +
[in]boxlistbox list pointer
+
+
+ +

References boxlist_param::first, logstream, box_param::next, and print_box().

+ +

Referenced by print_metadata().

+ +
+
+ +
+
+ + + + + + + + +
void print_box (box_param_tbox)
+
+ +

print box parameters

+
Parameters
+ + +
[in]boxbox pointer
+
+
+ +

References box_param::headlen, box_param::length, logstream, box_param::offset, and box_param::type.

+ +

Referenced by print_allbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
box_param_t* search_box (const char type[],
boxlist_param_tboxlist 
)
+
+ +

search a box by box type

+
Parameters
+ + + +
[in]typebox type
[in]boxlistbox list pointer
+
+
+
Returns
found box pointer
+ +

References FCGI_stderr, boxlist_param::first, box_param::next, and box_param::type.

+ +

Referenced by check_JP2boxidx(), delete_box_in_list_by_type(), gene_ihdrbox(), and parse_jp2file().

+ +
+
+
+ + + + diff --git a/doxygen/box__manager_8h_source.html b/doxygen/box__manager_8h_source.html new file mode 100644 index 00000000..5168cda4 --- /dev/null +++ b/doxygen/box__manager_8h_source.html @@ -0,0 +1,213 @@ + + + + + + +OpenJPEG: box_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
box_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef BOX_MANAGER_H_
+
32 # define BOX_MANAGER_H_
+
33 
+
34 #include "byte_manager.h"
+
35 
+
37 typedef struct box_param{
+
38  int fd;
+ + + +
42  char type[4];
+
43  struct box_param *next;
+
44 } box_param_t;
+
45 
+
46 
+
48 typedef struct boxlist_param{
+ + + +
52 
+
53 
+ +
60 
+
69 boxlist_param_t * get_boxstructure( int fd, OPJ_OFF_T offset, OPJ_SIZE_T length);
+
70 
+
71 
+
79 box_param_t * gene_boxbyOffset( int fd, OPJ_OFF_T offset);
+
80 
+
81 
+ +
90 
+
100 box_param_t * gene_boxbyType( int fd, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[]);
+
101 
+
111 box_param_t * gene_boxbyTypeinStream( Byte_t *stream, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[]);
+
112 
+ +
121 
+
130 box_param_t * gene_childboxbyType( box_param_t *superbox, OPJ_OFF_T offset, const char TBox[]);
+
131 
+ +
139 
+
140 
+ +
148 
+
149 
+ +
157 
+
158 
+
167 Byte_t * fetch_DBoxbytes( box_param_t *box, OPJ_OFF_T offset, OPJ_SIZE_T size);
+
168 
+ +
177 
+ +
186 
+ +
195 
+ +
204 
+
205 
+
213 box_param_t * search_box( const char type[], boxlist_param_t *boxlist);
+
214 
+
220 void print_box( box_param_t *box);
+
221 
+
222 
+
228 void print_allbox( boxlist_param_t *boxlist);
+
229 
+
236 void delete_box_in_list( box_param_t **box, boxlist_param_t *boxlist);
+
237 
+
238 
+
245 void delete_box_in_list_by_type( const char type[], boxlist_param_t *boxlist);
+
246 
+
247 
+
253 void delete_boxlist( boxlist_param_t **boxlist);
+
254 
+
255 
+
262 void insert_box_into_list( box_param_t *box, boxlist_param_t *boxlist);
+
263 
+
264 #endif /* !BOX_MANAGER_H_ */
+
void insert_box_into_list(box_param_t *box, boxlist_param_t *boxlist)
insert a box into list
Definition: box_manager.c:427
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
box_param_t * gene_childboxbyOffset(box_param_t *superbox, OPJ_OFF_T offset)
generate child box from JP2 file at the given offset
Definition: box_manager.c:281
+
Byte2_t fetch_DBox2bytebigendian(box_param_t *box, OPJ_OFF_T offset)
fetch DBox (Box Contents) 2-byte big endian Byte codes in file stream
Definition: box_manager.c:323
+
box parameters
Definition: box_manager.h:37
+
void print_allbox(boxlist_param_t *boxlist)
print all box parameters
Definition: box_manager.c:366
+
Byte4_t fetch_DBox4bytebigendian(box_param_t *box, OPJ_OFF_T offset)
fetch DBox (Box Contents) 4-byte big endian Byte codes in file stream
Definition: box_manager.c:328
+
struct box_param * next
pointer to the next box
Definition: box_manager.h:43
+
box_param_t * first
first box pointer of the list
Definition: box_manager.h:49
+
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+
Byte_t headlen
header length 8 or 16
Definition: box_manager.h:40
+
box_param_t * gene_boxbyType(int fd, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[])
generate(search) box from JP2 file
Definition: box_manager.c:170
+
OPJ_SIZE_T get_DBoxlen(box_param_t *box)
get DBox length
Definition: box_manager.c:303
+
Byte_t fetch_DBox1byte(box_param_t *box, OPJ_OFF_T offset)
fetch DBox (Box Contents) 1-byte Byte codes in file stream
Definition: box_manager.c:318
+
struct boxlist_param boxlist_param_t
Box list parameters.
+
boxlist_param_t * gene_boxlist(void)
generate a box list
Definition: box_manager.c:48
+
box_param_t * last
last box pointer of the list
Definition: box_manager.h:50
+
void delete_box_in_list_by_type(const char type[], boxlist_param_t *boxlist)
delete a box in list by Type
Definition: box_manager.c:403
+
void delete_box_in_list(box_param_t **box, boxlist_param_t *boxlist)
delete a box in list
Definition: box_manager.c:384
+
Byte_t * fetch_DBoxbytes(box_param_t *box, OPJ_OFF_T offset, OPJ_SIZE_T size)
fetch DBox (Box Contents) bytes of data in file stream
Definition: box_manager.c:313
+
box_param_t * search_box(const char type[], boxlist_param_t *boxlist)
search a box by box type
Definition: box_manager.c:338
+
void print_box(box_param_t *box)
print box parameters
Definition: box_manager.c:356
+
char type[4]
type of information in the DBox
Definition: box_manager.h:42
+
box_param_t * gene_childboxbyType(box_param_t *superbox, OPJ_OFF_T offset, const char TBox[])
generate(search) box from JP2 file
Definition: box_manager.c:286
+
Byte_t * fetch_headbytes(box_param_t *box)
fetch header bytes in file stream
Definition: box_manager.c:308
+
uint32_t Byte4_t
Definition: byte_manager.h:39
+
Box list parameters.
Definition: box_manager.h:48
+
box_param_t * gene_boxbyOffinStream(Byte_t *stream, OPJ_OFF_T offset)
generate box from code stream (JPP or JPT stream) at the given offset
Definition: box_manager.c:135
+ +
struct box_param box_param_t
box parameters
+
box_param_t * gene_boxbyTypeinStream(Byte_t *stream, OPJ_OFF_T offset, OPJ_SIZE_T length, const char TBox[])
generate(search) box from code stream
Definition: box_manager.c:237
+
Byte8_t length
length of the whole Box
Definition: box_manager.h:41
+
OPJ_OFF_T get_DBoxoff(box_param_t *box)
get DBox offset
Definition: box_manager.c:298
+
boxlist_param_t * get_boxstructure(int fd, OPJ_OFF_T offset, OPJ_SIZE_T length)
get box structure of JP2 file
Definition: box_manager.c:60
+
int fd
file descriptor
Definition: box_manager.h:38
+
box_param_t * gene_boxbyOffset(int fd, OPJ_OFF_T offset)
generate box from JP2 file at the given offset
Definition: box_manager.c:84
+
void delete_boxlist(boxlist_param_t **boxlist)
delete box list
Definition: box_manager.c:411
+
OPJ_OFF_T offset
byte position of the whole Box (LBox) in the file
Definition: box_manager.h:39
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
Byte8_t fetch_DBox8bytebigendian(box_param_t *box, OPJ_OFF_T offset)
fetch DBox (Box Contents) 8-byte big endian Byte codes in file stream
Definition: box_manager.c:333
+
uint16_t Byte2_t
Definition: byte_manager.h:38
+
+ + + + diff --git a/doxygen/boxheader__manager_8c.html b/doxygen/boxheader__manager_8c.html new file mode 100644 index 00000000..1de4790d --- /dev/null +++ b/doxygen/boxheader__manager_8c.html @@ -0,0 +1,241 @@ + + + + + + +OpenJPEG: boxheader_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
boxheader_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "boxheader_manager.h"
+#include "opj_inttypes.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + +

+Functions

boxheader_param_tgene_boxheader (int fd, OPJ_OFF_T offset)
 generate a box header at the given offset More...
 
boxheader_param_tgene_childboxheader (box_param_t *superbox, OPJ_OFF_T offset)
 generate a child box header at the given offset More...
 
void print_boxheader (boxheader_param_t *boxheader)
 print box header parameters More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +

Referenced by print_boxheader().

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
boxheader_param_t* gene_boxheader (int fd,
OPJ_OFF_T offset 
)
+
+ +

generate a box header at the given offset

+
Parameters
+ + + +
[in]fdfile discriptor of the JP2 file
[in]offsetBox offset
+
+
+
Returns
pointer to the structure of generate box header parameters
+ +

References fetch_4bytebigendian(), fetch_8bytebigendian(), fetch_bytes(), boxheader_param::headlen, boxheader_param::length, boxheader_param::next, and boxheader_param::type.

+ +

Referenced by gene_childboxheader().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
boxheader_param_t* gene_childboxheader (box_param_tsuperbox,
OPJ_OFF_T offset 
)
+
+ +

generate a child box header at the given offset

+
Parameters
+ + + +
[in]superboxsuper box pointer
[in]offsetoffset from DBox first byte of superbox
+
+
+
Returns
pointer to the structure of generate box header parameters
+ +

References box_param::fd, gene_boxheader(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx(), and gene_manfbox().

+ +
+
+ +
+
+ + + + + + + + +
void print_boxheader (boxheader_param_tboxheader)
+
+ +

print box header parameters

+
Parameters
+ + +
[in]boxheaderboxheader pointer
+
+
+ +

References boxheader_param::length, logstream, and boxheader_param::type.

+ +

Referenced by print_manfbox().

+ +
+
+
+ + + + diff --git a/doxygen/boxheader__manager_8h.html b/doxygen/boxheader__manager_8h.html new file mode 100644 index 00000000..64ea34ad --- /dev/null +++ b/doxygen/boxheader__manager_8h.html @@ -0,0 +1,221 @@ + + + + + + +OpenJPEG: boxheader_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
boxheader_manager.h File Reference
+
+
+
#include "openjpeg.h"
+#include "byte_manager.h"
+#include "box_manager.h"
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  boxheader_param
 box header parameters More...
 
+ + + + +

+Typedefs

typedef struct boxheader_param boxheader_param_t
 box header parameters More...
 
+ + + + + + + + + + +

+Functions

boxheader_param_tgene_boxheader (int fd, OPJ_OFF_T offset)
 generate a box header at the given offset More...
 
boxheader_param_tgene_childboxheader (box_param_t *superbox, OPJ_OFF_T offset)
 generate a child box header at the given offset More...
 
void print_boxheader (boxheader_param_t *boxheader)
 print box header parameters More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct boxheader_param boxheader_param_t
+
+ +

box header parameters

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
boxheader_param_t* gene_boxheader (int fd,
OPJ_OFF_T offset 
)
+
+ +

generate a box header at the given offset

+
Parameters
+ + + +
[in]fdfile discriptor of the JP2 file
[in]offsetBox offset
+
+
+
Returns
pointer to the structure of generate box header parameters
+ +

References fetch_4bytebigendian(), fetch_8bytebigendian(), fetch_bytes(), boxheader_param::headlen, boxheader_param::length, boxheader_param::next, and boxheader_param::type.

+ +

Referenced by gene_childboxheader().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
boxheader_param_t* gene_childboxheader (box_param_tsuperbox,
OPJ_OFF_T offset 
)
+
+ +

generate a child box header at the given offset

+
Parameters
+ + + +
[in]superboxsuper box pointer
[in]offsetoffset from DBox first byte of superbox
+
+
+
Returns
pointer to the structure of generate box header parameters
+ +

References box_param::fd, gene_boxheader(), and get_DBoxoff().

+ +

Referenced by check_JP2boxidx(), and gene_manfbox().

+ +
+
+ +
+
+ + + + + + + + +
void print_boxheader (boxheader_param_tboxheader)
+
+ +

print box header parameters

+
Parameters
+ + +
[in]boxheaderboxheader pointer
+
+
+ +

References boxheader_param::length, logstream, and boxheader_param::type.

+ +

Referenced by print_manfbox().

+ +
+
+
+ + + + diff --git a/doxygen/boxheader__manager_8h_source.html b/doxygen/boxheader__manager_8h_source.html new file mode 100644 index 00000000..d32ac495 --- /dev/null +++ b/doxygen/boxheader__manager_8h_source.html @@ -0,0 +1,131 @@ + + + + + + +OpenJPEG: boxheader_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
boxheader_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef BOXHEADER_MANAGER_H_
+
32 # define BOXHEADER_MANAGER_H_
+
33 
+
34 #include "openjpeg.h"
+
35 #include "byte_manager.h"
+
36 #include "box_manager.h"
+
37 
+
39 typedef struct boxheader_param{
+ + +
42  char type[4];
+ + +
45 
+
46 
+
54 boxheader_param_t * gene_boxheader( int fd, OPJ_OFF_T offset);
+
55 
+ +
64 
+
70 void print_boxheader( boxheader_param_t *boxheader);
+
71 
+
72 #endif /* !BOXHEADER_MANAGER_H_ */
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
struct boxheader_param * next
pointer to the next header box
Definition: boxheader_manager.h:43
+
box parameters
Definition: box_manager.h:37
+
Byte8_t length
length of the reference Box
Definition: boxheader_manager.h:41
+
struct boxheader_param boxheader_param_t
box header parameters
+
box header parameters
Definition: boxheader_manager.h:39
+ +
boxheader_param_t * gene_childboxheader(box_param_t *superbox, OPJ_OFF_T offset)
generate a child box header at the given offset
Definition: boxheader_manager.c:74
+ +
char type[4]
type of information in the DBox
Definition: boxheader_manager.h:42
+
void print_boxheader(boxheader_param_t *boxheader)
print box header parameters
Definition: boxheader_manager.c:79
+
boxheader_param_t * gene_boxheader(int fd, OPJ_OFF_T offset)
generate a box header at the given offset
Definition: boxheader_manager.c:48
+ +
Byte_t headlen
header length 8 or 16
Definition: boxheader_manager.h:40
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
+ + + + diff --git a/doxygen/byte__manager_8c.html b/doxygen/byte__manager_8c.html new file mode 100644 index 00000000..765fefdc --- /dev/null +++ b/doxygen/byte__manager_8c.html @@ -0,0 +1,513 @@ + + + + + + +OpenJPEG: byte_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
byte_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include "byte_manager.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Byte_tfetch_bytes (int fd, OPJ_OFF_T offset, OPJ_SIZE_T size)
 fetch bytes of data in file stream More...
 
Byte_t fetch_1byte (int fd, OPJ_OFF_T offset)
 fetch a 1-byte Byte codes in file stream More...
 
Byte2_t fetch_2bytebigendian (int fd, OPJ_OFF_T offset)
 fetch a 2-byte big endian Byte codes in file stream More...
 
Byte4_t fetch_4bytebigendian (int fd, OPJ_OFF_T offset)
 fetch a 4-byte big endian Byte codes in file stream More...
 
Byte8_t fetch_8bytebigendian (int fd, OPJ_OFF_T offset)
 fetch a 8-byte big endian Byte codes in file stream More...
 
Byte2_t big2 (Byte_t *buf)
 convert 2-byte big endian Byte codes to number More...
 
Byte4_t big4 (Byte_t *buf)
 convert 4-byte big endian Byte codes to number More...
 
Byte8_t big8 (Byte_t *buf)
 convert 8-byte big endian Byte codes to number More...
 
void modify_4Bytecode (Byte4_t code, Byte_t *stream)
 modify 4Byte code in a codestream More...
 
OPJ_OFF_T get_filesize (int fd)
 Get file size. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +

Referenced by fetch_1byte(), fetch_bytes(), and get_filesize().

+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
Byte2_t big2 (Byte_tbuf)
+
+ +

convert 2-byte big endian Byte codes to number

+
Parameters
+ + +
[in]bufByte codes
+
+
+
Returns
resolved number
+ +

Referenced by fetch_2bytebigendian(), gene_ihdrbox(), get_CODmkrdata_from_j2kstream(), get_mainheader_from_j2kstream(), get_SIZmkrdata_from_j2kstream(), and modify_COCmkrstream().

+ +
+
+ +
+
+ + + + + + + + +
Byte4_t big4 (Byte_tbuf)
+
+ +

convert 4-byte big endian Byte codes to number

+
Parameters
+ + +
[in]bufByte codes
+
+
+
Returns
resolved number
+ +

Referenced by add_emptyboxstream(), big8(), fetch_4bytebigendian(), gene_boxbyOffinStream(), gene_boxbyOffset(), gene_boxbyType(), gene_boxbyTypeinStream(), gene_ihdrbox(), get_SIZmkrdata_from_j2kstream(), and parse_phld().

+ +
+
+ +
+
+ + + + + + + + +
Byte8_t big8 (Byte_tbuf)
+
+ +

convert 8-byte big endian Byte codes to number

+
Parameters
+ + +
[in]bufByte codes
+
+
+
Returns
resolved number
+ +

References big4().

+ +

Referenced by add_emptyboxstream(), fetch_8bytebigendian(), gene_boxbyOffinStream(), gene_boxbyOffset(), gene_boxbyType(), gene_boxbyTypeinStream(), and parse_phld().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t fetch_1byte (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 1-byte Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References FCGI_stderr, and FCGI_stdout.

+ +

Referenced by fetch_codestream1byte(), and fetch_DBox1byte().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte2_t fetch_2bytebigendian (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 2-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References big2(), FCGI_stderr, and fetch_bytes().

+ +

Referenced by fetch_codestream2bytebigendian(), and fetch_DBox2bytebigendian().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t fetch_4bytebigendian (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 4-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References big4(), FCGI_stderr, and fetch_bytes().

+ +

Referenced by fetch_codestream4bytebigendian(), fetch_DBox4bytebigendian(), and gene_boxheader().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte8_t fetch_8bytebigendian (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 8-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References big8(), FCGI_stderr, and fetch_bytes().

+ +

Referenced by fetch_DBox8bytebigendian(), and gene_boxheader().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* fetch_bytes (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T size 
)
+
+ +

fetch bytes of data in file stream

+
Parameters
+ + + + +
[in]fdfile discriptor
[in]offsetstart Byte position
[in]sizeByte length
+
+
+
Returns
pointer to the fetched data
+ +

References FCGI_stderr, and FCGI_stdout.

+ +

Referenced by add_body_stream(), fetch_2bytebigendian(), fetch_4bytebigendian(), fetch_8bytebigendian(), fetch_codestreambytes(), fetch_DBoxbytes(), fetch_headbytes(), gene_boxbyOffset(), gene_boxbyType(), and gene_boxheader().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_OFF_T get_filesize (int fd)
+
+ +

Get file size.

+
Parameters
+ + +
[in]fdfile discriptor
+
+
+
Returns
file size
+ +

References FCGI_stderr, and FCGI_stdout.

+ +

Referenced by const_metadatalist(), fread_jpip(), gene_boxbyType(), and parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void modify_4Bytecode (Byte4_t code,
Byte_tstream 
)
+
+ +

modify 4Byte code in a codestream

+
Parameters
+ + + +
[in]codecode value
[out]streammodifying codestream
+
+
+ +

Referenced by modify_SIZmkrstream(), and modify_tileheader().

+ +
+
+
+ + + + diff --git a/doxygen/byte__manager_8h.html b/doxygen/byte__manager_8h.html new file mode 100644 index 00000000..1ea9eff1 --- /dev/null +++ b/doxygen/byte__manager_8h.html @@ -0,0 +1,522 @@ + + + + + + +OpenJPEG: byte_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
byte_manager.h File Reference
+
+
+
#include <stddef.h>
+#include "openjpeg.h"
+#include "opj_stdint.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Typedefs

typedef uint8_t Byte_t
 
typedef uint16_t Byte2_t
 
typedef uint32_t Byte4_t
 
typedef uint64_t Byte8_t
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Byte_tfetch_bytes (int fd, OPJ_OFF_T offset, OPJ_SIZE_T size)
 fetch bytes of data in file stream More...
 
Byte_t fetch_1byte (int fd, OPJ_OFF_T offset)
 fetch a 1-byte Byte codes in file stream More...
 
Byte2_t fetch_2bytebigendian (int fd, OPJ_OFF_T offset)
 fetch a 2-byte big endian Byte codes in file stream More...
 
Byte4_t fetch_4bytebigendian (int fd, OPJ_OFF_T offset)
 fetch a 4-byte big endian Byte codes in file stream More...
 
Byte8_t fetch_8bytebigendian (int fd, OPJ_OFF_T offset)
 fetch a 8-byte big endian Byte codes in file stream More...
 
Byte2_t big2 (Byte_t *buf)
 convert 2-byte big endian Byte codes to number More...
 
Byte4_t big4 (Byte_t *buf)
 convert 4-byte big endian Byte codes to number More...
 
Byte8_t big8 (Byte_t *buf)
 convert 8-byte big endian Byte codes to number More...
 
void modify_4Bytecode (Byte4_t code, Byte_t *stream)
 modify 4Byte code in a codestream More...
 
OPJ_OFF_T get_filesize (int fd)
 Get file size. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef uint16_t Byte2_t
+
+ +
+
+ +
+
+ + + + +
typedef uint32_t Byte4_t
+
+ +
+
+ +
+
+ + + + +
typedef uint64_t Byte8_t
+
+ +
+
+ +
+
+ + + + +
typedef uint8_t Byte_t
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
Byte2_t big2 (Byte_tbuf)
+
+ +

convert 2-byte big endian Byte codes to number

+
Parameters
+ + +
[in]bufByte codes
+
+
+
Returns
resolved number
+ +

Referenced by fetch_2bytebigendian(), gene_ihdrbox(), get_CODmkrdata_from_j2kstream(), get_mainheader_from_j2kstream(), get_SIZmkrdata_from_j2kstream(), and modify_COCmkrstream().

+ +
+
+ +
+
+ + + + + + + + +
Byte4_t big4 (Byte_tbuf)
+
+ +

convert 4-byte big endian Byte codes to number

+
Parameters
+ + +
[in]bufByte codes
+
+
+
Returns
resolved number
+ +

Referenced by add_emptyboxstream(), big8(), fetch_4bytebigendian(), gene_boxbyOffinStream(), gene_boxbyOffset(), gene_boxbyType(), gene_boxbyTypeinStream(), gene_ihdrbox(), get_SIZmkrdata_from_j2kstream(), and parse_phld().

+ +
+
+ +
+
+ + + + + + + + +
Byte8_t big8 (Byte_tbuf)
+
+ +

convert 8-byte big endian Byte codes to number

+
Parameters
+ + +
[in]bufByte codes
+
+
+
Returns
resolved number
+ +

References big4().

+ +

Referenced by add_emptyboxstream(), fetch_8bytebigendian(), gene_boxbyOffinStream(), gene_boxbyOffset(), gene_boxbyType(), gene_boxbyTypeinStream(), and parse_phld().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t fetch_1byte (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 1-byte Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References FCGI_stderr, and FCGI_stdout.

+ +

Referenced by fetch_codestream1byte(), and fetch_DBox1byte().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte2_t fetch_2bytebigendian (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 2-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References big2(), FCGI_stderr, and fetch_bytes().

+ +

Referenced by fetch_codestream2bytebigendian(), and fetch_DBox2bytebigendian().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t fetch_4bytebigendian (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 4-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References big4(), FCGI_stderr, and fetch_bytes().

+ +

Referenced by fetch_codestream4bytebigendian(), fetch_DBox4bytebigendian(), and gene_boxheader().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte8_t fetch_8bytebigendian (int fd,
OPJ_OFF_T offset 
)
+
+ +

fetch a 8-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]fdfile discriptor
[in]offsetstart Byte position
+
+
+
Returns
fetched codes
+ +

References big8(), FCGI_stderr, and fetch_bytes().

+ +

Referenced by fetch_DBox8bytebigendian(), and gene_boxheader().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* fetch_bytes (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T size 
)
+
+ +

fetch bytes of data in file stream

+
Parameters
+ + + + +
[in]fdfile discriptor
[in]offsetstart Byte position
[in]sizeByte length
+
+
+
Returns
pointer to the fetched data
+ +

References FCGI_stderr, and FCGI_stdout.

+ +

Referenced by add_body_stream(), fetch_2bytebigendian(), fetch_4bytebigendian(), fetch_8bytebigendian(), fetch_codestreambytes(), fetch_DBoxbytes(), fetch_headbytes(), gene_boxbyOffset(), gene_boxbyType(), and gene_boxheader().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_OFF_T get_filesize (int fd)
+
+ +

Get file size.

+
Parameters
+ + +
[in]fdfile discriptor
+
+
+
Returns
file size
+ +

References FCGI_stderr, and FCGI_stdout.

+ +

Referenced by const_metadatalist(), fread_jpip(), gene_boxbyType(), and parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void modify_4Bytecode (Byte4_t code,
Byte_tstream 
)
+
+ +

modify 4Byte code in a codestream

+
Parameters
+ + + +
[in]codecode value
[out]streammodifying codestream
+
+
+ +

Referenced by modify_SIZmkrstream(), and modify_tileheader().

+ +
+
+
+ + + + diff --git a/doxygen/byte__manager_8h_source.html b/doxygen/byte__manager_8h_source.html new file mode 100644 index 00000000..39340ef4 --- /dev/null +++ b/doxygen/byte__manager_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +OpenJPEG: byte_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
byte_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef BYTE_MANAGER_H_
+
32 #define BYTE_MANAGER_H_
+
33 
+
34 #include <stddef.h>
+
35 #include "openjpeg.h"
+
36 #include "opj_stdint.h"
+
37 typedef uint8_t Byte_t;
+
38 typedef uint16_t Byte2_t;
+
39 typedef uint32_t Byte4_t;
+
40 typedef uint64_t Byte8_t;
+
41 
+
50 Byte_t * fetch_bytes( int fd, OPJ_OFF_T offset, OPJ_SIZE_T size);
+
51 
+
52 
+
60 Byte_t fetch_1byte( int fd, OPJ_OFF_T offset);
+
61 
+
69 Byte2_t fetch_2bytebigendian( int fd, OPJ_OFF_T offset);
+
70 
+
78 Byte4_t fetch_4bytebigendian( int fd, OPJ_OFF_T offset);
+
79 
+
87 Byte8_t fetch_8bytebigendian( int fd, OPJ_OFF_T offset);
+
88 
+
89 
+
96 Byte2_t big2( Byte_t *buf);
+
97 
+
104 Byte4_t big4( Byte_t *buf);
+
105 
+
112 Byte8_t big8( Byte_t *buf);
+
113 
+
120 void modify_4Bytecode( Byte4_t code, Byte_t *stream);
+
121 
+
128 OPJ_OFF_T get_filesize( int fd);
+
129 
+
130 #endif /* !BYTE_MANAGER_H_ */
+ +
uint8_t Byte_t
Definition: byte_manager.h:37
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
Byte4_t fetch_4bytebigendian(int fd, OPJ_OFF_T offset)
fetch a 4-byte big endian Byte codes in file stream
Definition: byte_manager.c:106
+
Byte4_t big4(Byte_t *buf)
convert 4-byte big endian Byte codes to number
Definition: byte_manager.c:142
+
void modify_4Bytecode(Byte4_t code, Byte_t *stream)
modify 4Byte code in a codestream
Definition: byte_manager.c:154
+
Byte2_t big2(Byte_t *buf)
convert 2-byte big endian Byte codes to number
Definition: byte_manager.c:137
+
Byte_t fetch_1byte(int fd, OPJ_OFF_T offset)
fetch a 1-byte Byte codes in file stream
Definition: byte_manager.c:73
+
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+ +
Byte8_t big8(Byte_t *buf)
convert 8-byte big endian Byte codes to number
Definition: byte_manager.c:148
+
OPJ_OFF_T get_filesize(int fd)
Get file size.
Definition: byte_manager.c:162
+
uint32_t Byte4_t
Definition: byte_manager.h:39
+
Byte2_t fetch_2bytebigendian(int fd, OPJ_OFF_T offset)
fetch a 2-byte big endian Byte codes in file stream
Definition: byte_manager.c:91
+
Byte8_t fetch_8bytebigendian(int fd, OPJ_OFF_T offset)
fetch a 8-byte big endian Byte codes in file stream
Definition: byte_manager.c:121
+
Byte_t * fetch_bytes(int fd, OPJ_OFF_T offset, OPJ_SIZE_T size)
fetch bytes of data in file stream
Definition: byte_manager.c:52
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
uint16_t Byte2_t
Definition: byte_manager.h:38
+
+ + + + diff --git a/doxygen/cache__manager_8c.html b/doxygen/cache__manager_8c.html new file mode 100644 index 00000000..5677d573 --- /dev/null +++ b/doxygen/cache__manager_8c.html @@ -0,0 +1,651 @@ + + + + + + +OpenJPEG: cache_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cache_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cache_manager.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

cachelist_param_tgene_cachelist (void)
 generate a cache list More...
 
void delete_cachelist (cachelist_param_t **cachelist)
 delete cache list More...
 
cache_param_tgene_cache (const char *targetname, int csn, char *tid, char *cid)
 generate a cache More...
 
void delete_cache (cache_param_t **cache)
 delete a cache More...
 
void insert_cache_into_list (cache_param_t *cache, cachelist_param_t *cachelist)
 insert a cache into list More...
 
cache_param_tsearch_cache (const char targetname[], cachelist_param_t *cachelist)
 search a cache by target name More...
 
cache_param_tsearch_cacheBycsn (int csn, cachelist_param_t *cachelist)
 search a cache by csn More...
 
cache_param_tsearch_cacheBycid (const char cid[], cachelist_param_t *cachelist)
 search a cache by cid More...
 
cache_param_tsearch_cacheBytid (const char tid[], cachelist_param_t *cachelist)
 search a cache by tid More...
 
void add_cachecid (const char *cid, cache_param_t *cache)
 add cid into a cache More...
 
void update_cachetid (const char *tid, cache_param_t *cache)
 update tid of a cache More...
 
void remove_cidInCache (const char *cid, cache_param_t *cache)
 
void remove_cachecid (const char *cid, cachelist_param_t *cachelist)
 remove cid in cache More...
 
void print_cache (cache_param_t *cache)
 print cache parameters More...
 
void print_allcache (cachelist_param_t *cachelist)
 print all cache parameters More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void add_cachecid (const char * cid,
cache_param_tcache 
)
+
+ +

add cid into a cache

+
Parameters
+ + + +
[in]cidchannel identifier
[in]cachecache pointer
+
+
+ +

References cache_param::cid, and cache_param::numOfcid.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + +
void delete_cache (cache_param_t ** cache)
+
+ +

delete a cache

+
Parameters
+ + +
[in]cacheaddress of the cache pointer
+
+
+ +

References delete_metadatalist().

+ +

Referenced by delete_cachelist().

+ +
+
+ +
+
+ + + + + + + + +
void delete_cachelist (cachelist_param_t ** cachelist)
+
+ +

delete cache list

+
Parameters
+ + +
[in,out]cachelistaddress of the cache list pointer
+
+
+ +

References delete_cache(), and cache_param::next.

+ +

Referenced by terminate_dec_server().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cache_param_t* gene_cache (const char * targetname,
int csn,
char * tid,
char * cid 
)
+
+ +

generate a cache

+
Parameters
+ + + + + +
[in]targetnametarget file name
[in]csncodestream number
[in]tidtarget identifier
[in]cidchannel identifier
+
+
+
Returns
pointer to the generated cache
+ +

References cache_param::cid, cache_param::csn, cache_param::filename, gene_metadatalist(), cache_param::ihdrbox, cache_param::metadatalist, cache_param::next, cache_param::numOfcid, and cache_param::tid.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + +
cachelist_param_t* gene_cachelist (void )
+
+ +

generate a cache list

+
Returns
pointer to the generated cache list
+ +

References cachelist_param::first, and cachelist_param::last.

+ +

Referenced by init_dec_server().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void insert_cache_into_list (cache_param_tcache,
cachelist_param_tcachelist 
)
+
+ +

insert a cache into list

+
Parameters
+ + + +
[in]cachecache pointer
[in]cachelistcache list pointer
+
+
+ +

References cachelist_param::first, cachelist_param::last, and cache_param::next.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + +
void print_allcache (cachelist_param_tcachelist)
+
+ +

print all cache parameters

+
Parameters
+ + +
[in]cachelistcache list pointer
+
+
+ +

References cachelist_param::first, cache_param::next, and print_cache().

+ +
+
+ +
+
+ + + + + + + + +
void print_cache (cache_param_tcache)
+
+ +

print cache parameters

+
Parameters
+ + +
[in]cachecache pointer
+
+
+ +

References cache_param::cid, cache_param::csn, cache_param::filename, cache_param::numOfcid, and cache_param::tid.

+ +

Referenced by print_allcache().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void remove_cachecid (const char * cid,
cachelist_param_tcachelist 
)
+
+ +

remove cid in cache

+
Parameters
+ + + +
[in]cidchannel identifier
[in]cachelistcachelist pointer
+
+
+ +

References remove_cidInCache(), and search_cacheBycid().

+ +

Referenced by handle_dstCIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void remove_cidInCache (const char * cid,
cache_param_tcache 
)
+
+ +

References cache_param::cid, and cache_param::numOfcid.

+ +

Referenced by remove_cachecid().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cache (const char targetname[],
cachelist_param_tcachelist 
)
+
+ +

search a cache by target name

+
Parameters
+ + + +
[in]targetnametarget filename
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cache_param::filename, cachelist_param::first, and cache_param::next.

+ +

Referenced by handle_CIDreqMSG(), handle_JPIPstreamMSG(), and handle_TIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cacheBycid (const char cid[],
cachelist_param_tcachelist 
)
+
+ +

search a cache by cid

+
Parameters
+ + + +
[in]cidchannel identifer
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cache_param::cid, cachelist_param::first, cache_param::next, and cache_param::numOfcid.

+ +

Referenced by handle_JP2saveMSG(), handle_PNMreqMSG(), handle_SIZreqMSG(), handle_XMLreqMSG(), and remove_cachecid().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cacheBycsn (int csn,
cachelist_param_tcachelist 
)
+
+ +

search a cache by csn

+
Parameters
+ + + +
[in]csncodestream number
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cache_param::csn, cachelist_param::first, and cache_param::next.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cacheBytid (const char tid[],
cachelist_param_tcachelist 
)
+
+ +

search a cache by tid

+
Parameters
+ + + +
[in]tidtarget identifer
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cachelist_param::first, cache_param::next, and cache_param::tid.

+ +

Referenced by handle_PNMreqMSG(), and handle_SIZreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void update_cachetid (const char * tid,
cache_param_tcache 
)
+
+ +

update tid of a cache

+
Parameters
+ + + +
[in]tidtarget identifier
[in]cachecache pointer
+
+
+ +

References cache_param::filename, and cache_param::tid.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+
+ + + + diff --git a/doxygen/cache__manager_8h.html b/doxygen/cache__manager_8h.html new file mode 100644 index 00000000..cf53dde7 --- /dev/null +++ b/doxygen/cache__manager_8h.html @@ -0,0 +1,665 @@ + + + + + + +OpenJPEG: cache_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cache_manager.h File Reference
+
+
+
#include "metadata_manager.h"
+#include "ihdrbox_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + +

+Data Structures

struct  cache_param
 cache parameters More...
 
struct  cachelist_param
 
+ + + + + + +

+Typedefs

typedef struct cache_param cache_param_t
 cache parameters More...
 
typedef struct cachelist_param cachelist_param_t
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

cachelist_param_tgene_cachelist (void)
 generate a cache list More...
 
void delete_cachelist (cachelist_param_t **cachelist)
 delete cache list More...
 
cache_param_tgene_cache (const char *targetname, int csn, char *tid, char *cid)
 generate a cache More...
 
void delete_cache (cache_param_t **cache)
 delete a cache More...
 
void insert_cache_into_list (cache_param_t *cache, cachelist_param_t *cachelist)
 insert a cache into list More...
 
cache_param_tsearch_cache (const char targetname[], cachelist_param_t *cachelist)
 search a cache by target name More...
 
cache_param_tsearch_cacheBycsn (int csn, cachelist_param_t *cachelist)
 search a cache by csn More...
 
cache_param_tsearch_cacheBycid (const char cid[], cachelist_param_t *cachelist)
 search a cache by cid More...
 
cache_param_tsearch_cacheBytid (const char tid[], cachelist_param_t *cachelist)
 search a cache by tid More...
 
void add_cachecid (const char *cid, cache_param_t *cache)
 add cid into a cache More...
 
void update_cachetid (const char *tid, cache_param_t *cache)
 update tid of a cache More...
 
void remove_cachecid (const char *cid, cachelist_param_t *cachelist)
 remove cid in cache More...
 
void print_cache (cache_param_t *cache)
 print cache parameters More...
 
void print_allcache (cachelist_param_t *cachelist)
 print all cache parameters More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct cache_param cache_param_t
+
+ +

cache parameters

+

cache list parameters

+ +
+
+ +
+
+ + + + +
typedef struct cachelist_param cachelist_param_t
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void add_cachecid (const char * cid,
cache_param_tcache 
)
+
+ +

add cid into a cache

+
Parameters
+ + + +
[in]cidchannel identifier
[in]cachecache pointer
+
+
+ +

References cache_param::cid, and cache_param::numOfcid.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + +
void delete_cache (cache_param_t ** cache)
+
+ +

delete a cache

+
Parameters
+ + +
[in]cacheaddress of the cache pointer
+
+
+ +

References delete_metadatalist().

+ +

Referenced by delete_cachelist().

+ +
+
+ +
+
+ + + + + + + + +
void delete_cachelist (cachelist_param_t ** cachelist)
+
+ +

delete cache list

+
Parameters
+ + +
[in,out]cachelistaddress of the cache list pointer
+
+
+ +

References delete_cache(), and cache_param::next.

+ +

Referenced by terminate_dec_server().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cache_param_t* gene_cache (const char * targetname,
int csn,
char * tid,
char * cid 
)
+
+ +

generate a cache

+
Parameters
+ + + + + +
[in]targetnametarget file name
[in]csncodestream number
[in]tidtarget identifier
[in]cidchannel identifier
+
+
+
Returns
pointer to the generated cache
+ +

References cache_param::cid, cache_param::csn, cache_param::filename, gene_metadatalist(), cache_param::ihdrbox, cache_param::metadatalist, cache_param::next, cache_param::numOfcid, and cache_param::tid.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + +
cachelist_param_t* gene_cachelist (void )
+
+ +

generate a cache list

+
Returns
pointer to the generated cache list
+ +

References cachelist_param::first, and cachelist_param::last.

+ +

Referenced by init_dec_server().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void insert_cache_into_list (cache_param_tcache,
cachelist_param_tcachelist 
)
+
+ +

insert a cache into list

+
Parameters
+ + + +
[in]cachecache pointer
[in]cachelistcache list pointer
+
+
+ +

References cachelist_param::first, cachelist_param::last, and cache_param::next.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + +
void print_allcache (cachelist_param_tcachelist)
+
+ +

print all cache parameters

+
Parameters
+ + +
[in]cachelistcache list pointer
+
+
+ +

References cachelist_param::first, cache_param::next, and print_cache().

+ +
+
+ +
+
+ + + + + + + + +
void print_cache (cache_param_tcache)
+
+ +

print cache parameters

+
Parameters
+ + +
[in]cachecache pointer
+
+
+ +

References cache_param::cid, cache_param::csn, cache_param::filename, cache_param::numOfcid, and cache_param::tid.

+ +

Referenced by print_allcache().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void remove_cachecid (const char * cid,
cachelist_param_tcachelist 
)
+
+ +

remove cid in cache

+
Parameters
+ + + +
[in]cidchannel identifier
[in]cachelistcachelist pointer
+
+
+ +

References remove_cidInCache(), and search_cacheBycid().

+ +

Referenced by handle_dstCIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cache (const char targetname[],
cachelist_param_tcachelist 
)
+
+ +

search a cache by target name

+
Parameters
+ + + +
[in]targetnametarget filename
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cache_param::filename, cachelist_param::first, and cache_param::next.

+ +

Referenced by handle_CIDreqMSG(), handle_JPIPstreamMSG(), and handle_TIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cacheBycid (const char cid[],
cachelist_param_tcachelist 
)
+
+ +

search a cache by cid

+
Parameters
+ + + +
[in]cidchannel identifer
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cache_param::cid, cachelist_param::first, cache_param::next, and cache_param::numOfcid.

+ +

Referenced by handle_JP2saveMSG(), handle_PNMreqMSG(), handle_SIZreqMSG(), handle_XMLreqMSG(), and remove_cachecid().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cacheBycsn (int csn,
cachelist_param_tcachelist 
)
+
+ +

search a cache by csn

+
Parameters
+ + + +
[in]csncodestream number
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cache_param::csn, cachelist_param::first, and cache_param::next.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
cache_param_t* search_cacheBytid (const char tid[],
cachelist_param_tcachelist 
)
+
+ +

search a cache by tid

+
Parameters
+ + + +
[in]tidtarget identifer
[in]cachelistcache list pointer
+
+
+
Returns
found cache pointer
+ +

References cachelist_param::first, cache_param::next, and cache_param::tid.

+ +

Referenced by handle_PNMreqMSG(), and handle_SIZreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void update_cachetid (const char * tid,
cache_param_tcache 
)
+
+ +

update tid of a cache

+
Parameters
+ + + +
[in]tidtarget identifier
[in]cachecache pointer
+
+
+ +

References cache_param::filename, and cache_param::tid.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+
+ + + + diff --git a/doxygen/cache__manager_8h_source.html b/doxygen/cache__manager_8h_source.html new file mode 100644 index 00000000..fe1f999b --- /dev/null +++ b/doxygen/cache__manager_8h_source.html @@ -0,0 +1,184 @@ + + + + + + +OpenJPEG: cache_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
cache_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef CACHE_MANAGER_H_
+
32 # define CACHE_MANAGER_H_
+
33 
+
34 #include "metadata_manager.h"
+
35 #include "ihdrbox_manager.h"
+
36 
+
38 typedef struct cache_param{
+
39  char *filename;
+
40  char *tid;
+
41  int csn;
+
42  char **cid;
+
43  int numOfcid;
+ + +
46  struct cache_param *next;
+ +
48 
+
50 typedef struct cachelist_param{
+ + + +
54 
+
55 
+ +
62 
+
68 void delete_cachelist(cachelist_param_t **cachelist);
+
69 
+
79 cache_param_t * gene_cache( const char *targetname, int csn, char *tid, char *cid);
+
80 
+
86 void delete_cache( cache_param_t **cache);
+
87 
+ +
95 
+
96 
+
104 cache_param_t * search_cache( const char targetname[], cachelist_param_t *cachelist);
+
105 
+
106 
+
114 cache_param_t * search_cacheBycsn( int csn, cachelist_param_t *cachelist);
+
115 
+
116 
+
124 cache_param_t * search_cacheBycid( const char cid[], cachelist_param_t *cachelist);
+
125 
+
126 
+
134 cache_param_t * search_cacheBytid( const char tid[], cachelist_param_t *cachelist);
+
135 
+
142 void add_cachecid( const char *cid, cache_param_t *cache);
+
143 
+
144 
+
151 void update_cachetid( const char *tid, cache_param_t *cache);
+
152 
+
153 
+
160 void remove_cachecid( const char *cid, cachelist_param_t *cachelist);
+
161 
+
162 
+
168 void print_cache( cache_param_t *cache);
+
169 
+
175 void print_allcache( cachelist_param_t *cachelist);
+
176 
+
177 #endif /* !CACHE_MANAGER_H_ */
+
cache_param_t * search_cacheBytid(const char tid[], cachelist_param_t *cachelist)
search a cache by tid
Definition: cache_manager.c:162
+
cache parameters
Definition: cache_manager.h:38
+ +
void insert_cache_into_list(cache_param_t *cache, cachelist_param_t *cachelist)
insert a cache into list
Definition: cache_manager.c:100
+
cache_param_t * last
last cache pointer of the list
Definition: cache_manager.h:52
+
Definition: cache_manager.h:50
+
int csn
codestream number
Definition: cache_manager.h:41
+
metadatalist_param_t * metadatalist
metadata-bin list
Definition: cache_manager.h:44
+ +
void remove_cachecid(const char *cid, cachelist_param_t *cachelist)
remove cid in cache
Definition: cache_manager.c:208
+
cache_param_t * search_cacheBycsn(int csn, cachelist_param_t *cachelist)
search a cache by csn
Definition: cache_manager.c:128
+
char * tid
taregt identifier
Definition: cache_manager.h:40
+
struct cachelist_param cachelist_param_t
+
char ** cid
dynamic array of channel identifiers
Definition: cache_manager.h:42
+
void delete_cache(cache_param_t **cache)
delete a cache
Definition: cache_manager.c:83
+
char * filename
file name
Definition: cache_manager.h:39
+
void print_allcache(cachelist_param_t *cachelist)
print all cache parameters
Definition: cache_manager.c:264
+
cache_param_t * gene_cache(const char *targetname, int csn, char *tid, char *cid)
generate a cache
Definition: cache_manager.c:61
+
void update_cachetid(const char *tid, cache_param_t *cache)
update tid of a cache
Definition: cache_manager.c:194
+
ihdrbox_param_t * ihdrbox
ihdrbox
Definition: cache_manager.h:45
+
void add_cachecid(const char *cid, cache_param_t *cache)
add cid into a cache
Definition: cache_manager.c:179
+
void print_cache(cache_param_t *cache)
print cache parameters
Definition: cache_manager.c:249
+
cache_param_t * search_cache(const char targetname[], cachelist_param_t *cachelist)
search a cache by target name
Definition: cache_manager.c:109
+
void delete_cachelist(cachelist_param_t **cachelist)
delete cache list
Definition: cache_manager.c:48
+
I.5.3.1 Image Header box.
Definition: ihdrbox_manager.h:39
+
cache_param_t * search_cacheBycid(const char cid[], cachelist_param_t *cachelist)
search a cache by cid
Definition: cache_manager.c:143
+
cache_param_t * first
first cache pointer of the list
Definition: cache_manager.h:51
+
struct cache_param * next
pointer to the next cache
Definition: cache_manager.h:46
+
int numOfcid
number of cids
Definition: cache_manager.h:43
+
struct cache_param cache_param_t
cache parameters
+
cachelist_param_t * gene_cachelist(void)
generate a cache list
Definition: cache_manager.c:36
+
metadata-bin list parameters
Definition: metadata_manager.h:52
+
+ + + + diff --git a/doxygen/cachemodel__manager_8c.html b/doxygen/cachemodel__manager_8c.html new file mode 100644 index 00000000..dab40800 --- /dev/null +++ b/doxygen/cachemodel__manager_8c.html @@ -0,0 +1,364 @@ + + + + + + +OpenJPEG: cachemodel_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cachemodel_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include "cachemodel_manager.h"
+#include "faixbox_manager.h"
+#include "opj_inttypes.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

cachemodellist_param_tgene_cachemodellist (void)
 generate a cache model list More...
 
cachemodel_param_tgene_cachemodel (cachemodellist_param_t *cachemodellist, target_param_t *target, OPJ_BOOL reqJPP)
 generate a cache model under a list More...
 
void print_cachemodel (cachemodel_param_t cachemodel)
 print cache model More...
 
cachemodel_param_tsearch_cachemodel (target_param_t *target, cachemodellist_param_t *cachemodellist)
 search a cache model of a target More...
 
void delete_cachemodellist (cachemodellist_param_t **cachemodellist)
 delete cachemodel list More...
 
void delete_cachemodel (cachemodel_param_t **cachemodel)
 delete a cache model More...
 
OPJ_BOOL is_allsent (cachemodel_param_t cachemodel)
 check if all data has been sent More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void delete_cachemodel (cachemodel_param_t ** cachemodel)
+
+ +

delete a cache model

+
Parameters
+ + +
[in]cachemodeladdress of the cachemodel pointer
+
+
+ +

References logstream, opj_free, and unrefer_target().

+ +

Referenced by delete_cachemodellist(), and delete_msgqueue().

+ +
+
+ +
+
+ + + + + + + + +
void delete_cachemodellist (cachemodellist_param_t ** cachemodellist)
+
+ +

delete cachemodel list

+
Parameters
+ + +
[in,out]cachemodellistaddress of the cachemodel list pointer
+
+
+ +

References delete_cachemodel(), cachemodel_param::next, and opj_free.

+ +

Referenced by delete_session(), and delete_sessionlist().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
cachemodel_param_t* gene_cachemodel (cachemodellist_param_tcachemodellist,
target_param_ttarget,
OPJ_BOOL reqJPP 
)
+
+ +

generate a cache model under a list

+
Parameters
+ + + + +
[in]cachemodellistcachemodel list to insert the generated cache model, NULL for stateless
[in]targetpointer the reference target
[in]reqJPPif JPP-stream is desired true, JPT-stream false
+
+
+
Returns
pointer to the generated cache model
+ +

References target_param::codeidx, SIZmarker_param::Csiz, cachemodellist_param::first, get_m(), get_nmax(), cachemodel_param::jppstream, target_param::jppstream, target_param::jptstream, cachemodellist_param::last, logstream, cachemodel_param::mhead_model, cachemodel_param::next, opj_calloc, OPJ_FALSE, opj_malloc, OPJ_TRUE, cachemodel_param::pp_model, index_param::precpacket, refer_target(), index_param::SIZ, cachemodel_param::target, cachemodel_param::th_model, index_param::tilepart, and cachemodel_param::tp_model.

+ +

Referenced by gene_JPIPstream(), and open_channel().

+ +
+
+ +
+
+ + + + + + + + +
cachemodellist_param_t* gene_cachemodellist (void )
+
+ +

generate a cache model list

+
Returns
pointer to the generated cache model list
+ +

References cachemodellist_param::first, cachemodellist_param::last, and opj_malloc.

+ +

Referenced by gene_session().

+ +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + +
cachemodel_param_t* search_cachemodel (target_param_ttarget,
cachemodellist_param_tcachemodellist 
)
+
+ +

search a cache model of a target

+
Parameters
+ + + +
[in]targetrefering target
[in]cachemodellistcache model list
+
+
+
Returns
found cache model pointer
+ +

References cachemodellist_param::first, cachemodel_param::next, and cachemodel_param::target.

+ +

Referenced by open_channel().

+ +
+
+
+ + + + diff --git a/doxygen/cachemodel__manager_8h.html b/doxygen/cachemodel__manager_8h.html new file mode 100644 index 00000000..9d083b61 --- /dev/null +++ b/doxygen/cachemodel__manager_8h.html @@ -0,0 +1,362 @@ + + + + + + +OpenJPEG: cachemodel_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cachemodel_manager.h File Reference
+
+
+
#include "target_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  cachemodel_param
 Cache model parameters. More...
 
struct  cachemodellist_param
 Cache model list parameters. More...
 
+ + + + + + + +

+Typedefs

typedef struct cachemodel_param cachemodel_param_t
 Cache model parameters. More...
 
typedef struct cachemodellist_param cachemodellist_param_t
 Cache model list parameters. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

cachemodellist_param_tgene_cachemodellist (void)
 generate a cache model list More...
 
cachemodel_param_tgene_cachemodel (cachemodellist_param_t *cachemodellist, target_param_t *target, OPJ_BOOL reqJPP)
 generate a cache model under a list More...
 
void print_cachemodel (cachemodel_param_t cachemodel)
 print cache model More...
 
cachemodel_param_tsearch_cachemodel (target_param_t *target, cachemodellist_param_t *cachemodellist)
 search a cache model of a target More...
 
OPJ_BOOL is_allsent (cachemodel_param_t cachemodel)
 check if all data has been sent More...
 
void delete_cachemodel (cachemodel_param_t **cachemodel)
 delete a cache model More...
 
void delete_cachemodellist (cachemodellist_param_t **cachemodellist)
 delete cachemodel list More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct cachemodel_param cachemodel_param_t
+
+ +

Cache model parameters.

+ +
+
+ +
+
+ + + + +
typedef struct cachemodellist_param cachemodellist_param_t
+
+ +

Cache model list parameters.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void delete_cachemodel (cachemodel_param_t ** cachemodel)
+
+ +

delete a cache model

+
Parameters
+ + +
[in]cachemodeladdress of the cachemodel pointer
+
+
+ +

References logstream, opj_free, and unrefer_target().

+ +

Referenced by delete_cachemodellist(), and delete_msgqueue().

+ +
+
+ +
+
+ + + + + + + + +
void delete_cachemodellist (cachemodellist_param_t ** cachemodellist)
+
+ +

delete cachemodel list

+
Parameters
+ + +
[in,out]cachemodellistaddress of the cachemodel list pointer
+
+
+ +

References delete_cachemodel(), cachemodel_param::next, and opj_free.

+ +

Referenced by delete_session(), and delete_sessionlist().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
cachemodel_param_t* gene_cachemodel (cachemodellist_param_tcachemodellist,
target_param_ttarget,
OPJ_BOOL reqJPP 
)
+
+ +

generate a cache model under a list

+
Parameters
+ + + + +
[in]cachemodellistcachemodel list to insert the generated cache model, NULL for stateless
[in]targetpointer the reference target
[in]reqJPPif JPP-stream is desired true, JPT-stream false
+
+
+
Returns
pointer to the generated cache model
+ +

References target_param::codeidx, SIZmarker_param::Csiz, cachemodellist_param::first, get_m(), get_nmax(), cachemodel_param::jppstream, target_param::jppstream, target_param::jptstream, cachemodellist_param::last, logstream, cachemodel_param::mhead_model, cachemodel_param::next, opj_calloc, OPJ_FALSE, opj_malloc, OPJ_TRUE, cachemodel_param::pp_model, index_param::precpacket, refer_target(), index_param::SIZ, cachemodel_param::target, cachemodel_param::th_model, index_param::tilepart, and cachemodel_param::tp_model.

+ +

Referenced by gene_JPIPstream(), and open_channel().

+ +
+
+ +
+
+ + + + + + + + +
cachemodellist_param_t* gene_cachemodellist (void )
+
+ +

generate a cache model list

+
Returns
pointer to the generated cache model list
+ +

References cachemodellist_param::first, cachemodellist_param::last, and opj_malloc.

+ +

Referenced by gene_session().

+ +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + +
cachemodel_param_t* search_cachemodel (target_param_ttarget,
cachemodellist_param_tcachemodellist 
)
+
+ +

search a cache model of a target

+
Parameters
+ + + +
[in]targetrefering target
[in]cachemodellistcache model list
+
+
+
Returns
found cache model pointer
+ +

References cachemodellist_param::first, cachemodel_param::next, and cachemodel_param::target.

+ +

Referenced by open_channel().

+ +
+
+
+ + + + diff --git a/doxygen/cachemodel__manager_8h_source.html b/doxygen/cachemodel__manager_8h_source.html new file mode 100644 index 00000000..63a83035 --- /dev/null +++ b/doxygen/cachemodel__manager_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +OpenJPEG: cachemodel_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
cachemodel_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef CACHEMODEL_MANAGER_H_
+
32 # define CACHEMODEL_MANAGER_H_
+
33 
+
34 #include "target_manager.h"
+
35 
+
37 typedef struct cachemodel_param{
+ + + + + + + + +
46 
+
48 typedef struct cachemodellist_param{
+ + + +
52 
+
53 
+ +
60 
+ +
70 
+
71 
+
77 void print_cachemodel( cachemodel_param_t cachemodel);
+
78 
+
79 
+ +
88 
+
89 
+ +
97 
+
98 
+
104 void delete_cachemodel( cachemodel_param_t **cachemodel);
+
105 
+
111 void delete_cachemodellist( cachemodellist_param_t **cachemodellist);
+
112 
+
113 
+
114 #endif /* !CACHEMODEL_MANAGER_H_ */
+
OPJ_BOOL mhead_model
main header model, if sent, 1, else 0
Definition: cachemodel_manager.h:40
+
void print_cachemodel(cachemodel_param_t cachemodel)
print cache model
Definition: cachemodel_manager.c:113
+
cachemodel_param_t * first
first cache model pointer of the list
Definition: cachemodel_manager.h:49
+
OPJ_BOOL jppstream
return type, true: JPP-stream, false: JPT-stream
Definition: cachemodel_manager.h:39
+
OPJ_BOOL * tp_model
dynamic array pointer of tile part model, if sent, 1, else 0
Definition: cachemodel_manager.h:41
+
target_param_t * target
reference pointer to the target
Definition: cachemodel_manager.h:38
+
OPJ_BOOL is_allsent(cachemodel_param_t cachemodel)
check if all data has been sent
Definition: cachemodel_manager.c:199
+
struct cachemodellist_param cachemodellist_param_t
Cache model list parameters.
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
Cache model parameters.
Definition: cachemodel_manager.h:37
+
cachemodellist_param_t * gene_cachemodellist(void)
generate a cache model list
Definition: cachemodel_manager.c:47
+ +
cachemodel_param_t * gene_cachemodel(cachemodellist_param_t *cachemodellist, target_param_t *target, OPJ_BOOL reqJPP)
generate a cache model under a list
Definition: cachemodel_manager.c:59
+
Cache model list parameters.
Definition: cachemodel_manager.h:48
+
OPJ_BOOL ** pp_model
dynamic array pointer of precint packet model
Definition: cachemodel_manager.h:43
+
cachemodel_param_t * search_cachemodel(target_param_t *target, cachemodellist_param_t *cachemodellist)
search a cache model of a target
Definition: cachemodel_manager.c:151
+
struct cachemodel_param * next
pointer to the next cache model
Definition: cachemodel_manager.h:44
+
target parameters
Definition: target_manager.h:40
+
struct cachemodel_param cachemodel_param_t
Cache model parameters.
+
void delete_cachemodellist(cachemodellist_param_t **cachemodellist)
delete cachemodel list
Definition: cachemodel_manager.c:167
+
cachemodel_param_t * last
last cache model pointer of the list
Definition: cachemodel_manager.h:50
+
OPJ_BOOL * th_model
dynamic array pointer of tile header model
Definition: cachemodel_manager.h:42
+
void delete_cachemodel(cachemodel_param_t **cachemodel)
delete a cache model
Definition: cachemodel_manager.c:180
+
+ + + + diff --git a/doxygen/channel__manager_8c.html b/doxygen/channel__manager_8c.html new file mode 100644 index 00000000..47213c2f --- /dev/null +++ b/doxygen/channel__manager_8c.html @@ -0,0 +1,395 @@ + + + + + + +OpenJPEG: channel_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
channel_manager.c File Reference
+
+
+
#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "channel_manager.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

channellist_param_tgene_channellist (void)
 generate a channel list More...
 
channel_param_tgene_channel (query_param_t query_param, auxtrans_param_t auxtrans, cachemodel_param_t *cachemodel, channellist_param_t *channellist)
 generate a channel under the channel list More...
 
void set_channel_variable_param (query_param_t query_param, channel_param_t *channel)
 set channel variable parameters More...
 
void delete_channel (channel_param_t **channel, channellist_param_t *channellist)
 delete a channel More...
 
void delete_channellist (channellist_param_t **channellist)
 delete channel list More...
 
void print_allchannel (channellist_param_t *channellist)
 print all channel parameters More...
 
channel_param_tsearch_channel (const char cid[], channellist_param_t *channellist)
 search a channel by channel ID More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +

Referenced by gene_channel(), and search_channel().

+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void delete_channel (channel_param_t ** channel,
channellist_param_tchannellist 
)
+
+ +

delete a channel

+
Parameters
+ + + +
[in]channeladdress of the deleting channel pointer
[in,out]channellistchannel list pointer
+
+
+ +

References channellist_param::first, channellist_param::last, logstream, channel_param::next, and opj_free.

+ +

Referenced by close_channel().

+ +
+
+ +
+
+ + + + + + + + +
void delete_channellist (channellist_param_t ** channellist)
+
+ +

delete channel list

+
Parameters
+ + +
[in,out]channellistaddress of the channel list pointer
+
+
+ +

References channel_param::cid, logstream, channel_param::next, and opj_free.

+ +

Referenced by delete_session(), and delete_sessionlist().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
channel_param_t* gene_channel (query_param_t query_param,
auxtrans_param_t auxtrans,
cachemodel_param_tcachemodel,
channellist_param_tchannellist 
)
+
+ +

generate a channel under the channel list

+
Parameters
+ + + + + +
[in]query_paramquery parameters
[in]auxtransauxiliary transport
[in]cachemodelreference cachemodel
[in]channellistchannel list pointer
+
+
+
Returns
pointer to the generated channel
+ +

References channel_param::aux, channel_param::cachemodel, channel_param::cid, query_param::cnew, FCGI_stdout, channellist_param::first, channellist_param::last, MAX_LENOFCID, channel_param::next, opj_malloc, set_channel_variable_param(), channel_param::start_tm, tcp, auxtrans_param::tcpauxport, udp, and auxtrans_param::udpauxport.

+ +

Referenced by open_channel().

+ +
+
+ +
+
+ + + + + + + + +
channellist_param_t* gene_channellist (void )
+
+ +

generate a channel list

+
Returns
pointer to the generated channel list
+ +

References channellist_param::first, channellist_param::last, and opj_malloc.

+ +

Referenced by gene_session().

+ +
+
+ +
+
+ + + + + + + + +
void print_allchannel (channellist_param_tchannellist)
+
+ +

print all channel parameters

+
Parameters
+ + +
[in]channellistchannel list pointer
+
+
+ +

References channel_param::cachemodel, channel_param::cid, channellist_param::first, logstream, channel_param::next, cachemodel_param::target, and target_param::targetname.

+ +

Referenced by print_allsession().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
channel_param_t* search_channel (const char cid[],
channellist_param_tchannellist 
)
+
+ +

search a channel by channel ID

+
Parameters
+ + + +
[in]cidchannel identifier
[in]channellistchannel list pointer
+
+
+
Returns
found channel pointer
+ +

References channel_param::cid, FCGI_stdout, channellist_param::first, and channel_param::next.

+ +

Referenced by close_channel().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void set_channel_variable_param (query_param_t query_param,
channel_param_tchannel 
)
+
+ +

set channel variable parameters

+
Parameters
+ + + +
[in]query_paramquery parameters
[in,out]channelpointer to the modifying channel
+
+
+ +

Referenced by associate_channel(), and gene_channel().

+ +
+
+
+ + + + diff --git a/doxygen/channel__manager_8h.html b/doxygen/channel__manager_8h.html new file mode 100644 index 00000000..30a363f5 --- /dev/null +++ b/doxygen/channel__manager_8h.html @@ -0,0 +1,419 @@ + + + + + + +OpenJPEG: channel_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
channel_manager.h File Reference
+
+
+
#include <time.h>
+#include "query_parser.h"
+#include "cachemodel_manager.h"
+#include "auxtrans_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  channel_param
 Channel parameters. More...
 
struct  channellist_param
 Channel list parameters. More...
 
+ + + + +

+Macros

#define MAX_LENOFCID   30
 maximum length of channel identifier More...
 
+ + + + + + + +

+Typedefs

typedef struct channel_param channel_param_t
 Channel parameters. More...
 
typedef struct channellist_param channellist_param_t
 Channel list parameters. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

channellist_param_tgene_channellist (void)
 generate a channel list More...
 
channel_param_tgene_channel (query_param_t query_param, auxtrans_param_t auxtrans, cachemodel_param_t *cachemodel, channellist_param_t *channellist)
 generate a channel under the channel list More...
 
void set_channel_variable_param (query_param_t query_param, channel_param_t *channel)
 set channel variable parameters More...
 
void delete_channel (channel_param_t **channel, channellist_param_t *channellist)
 delete a channel More...
 
void delete_channellist (channellist_param_t **channellist)
 delete channel list More...
 
void print_allchannel (channellist_param_t *channellist)
 print all channel parameters More...
 
channel_param_tsearch_channel (const char cid[], channellist_param_t *channellist)
 search a channel by channel ID More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define MAX_LENOFCID   30
+
+ +

maximum length of channel identifier

+ +

Referenced by gene_channel().

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct channel_param channel_param_t
+
+ +

Channel parameters.

+ +
+
+ +
+
+ + + + +
typedef struct channellist_param channellist_param_t
+
+ +

Channel list parameters.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void delete_channel (channel_param_t ** channel,
channellist_param_tchannellist 
)
+
+ +

delete a channel

+
Parameters
+ + + +
[in]channeladdress of the deleting channel pointer
[in,out]channellistchannel list pointer
+
+
+ +

References channellist_param::first, channellist_param::last, logstream, channel_param::next, and opj_free.

+ +

Referenced by close_channel().

+ +
+
+ +
+
+ + + + + + + + +
void delete_channellist (channellist_param_t ** channellist)
+
+ +

delete channel list

+
Parameters
+ + +
[in,out]channellistaddress of the channel list pointer
+
+
+ +

References channel_param::cid, logstream, channel_param::next, and opj_free.

+ +

Referenced by delete_session(), and delete_sessionlist().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
channel_param_t* gene_channel (query_param_t query_param,
auxtrans_param_t auxtrans,
cachemodel_param_tcachemodel,
channellist_param_tchannellist 
)
+
+ +

generate a channel under the channel list

+
Parameters
+ + + + + +
[in]query_paramquery parameters
[in]auxtransauxiliary transport
[in]cachemodelreference cachemodel
[in]channellistchannel list pointer
+
+
+
Returns
pointer to the generated channel
+ +

References channel_param::aux, channel_param::cachemodel, channel_param::cid, query_param::cnew, FCGI_stdout, channellist_param::first, channellist_param::last, MAX_LENOFCID, channel_param::next, opj_malloc, set_channel_variable_param(), channel_param::start_tm, tcp, auxtrans_param::tcpauxport, udp, and auxtrans_param::udpauxport.

+ +

Referenced by open_channel().

+ +
+
+ +
+
+ + + + + + + + +
channellist_param_t* gene_channellist (void )
+
+ +

generate a channel list

+
Returns
pointer to the generated channel list
+ +

References channellist_param::first, channellist_param::last, and opj_malloc.

+ +

Referenced by gene_session().

+ +
+
+ +
+
+ + + + + + + + +
void print_allchannel (channellist_param_tchannellist)
+
+ +

print all channel parameters

+
Parameters
+ + +
[in]channellistchannel list pointer
+
+
+ +

References channel_param::cachemodel, channel_param::cid, channellist_param::first, logstream, channel_param::next, cachemodel_param::target, and target_param::targetname.

+ +

Referenced by print_allsession().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
channel_param_t* search_channel (const char cid[],
channellist_param_tchannellist 
)
+
+ +

search a channel by channel ID

+
Parameters
+ + + +
[in]cidchannel identifier
[in]channellistchannel list pointer
+
+
+
Returns
found channel pointer
+ +

References channel_param::cid, FCGI_stdout, channellist_param::first, and channel_param::next.

+ +

Referenced by close_channel().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void set_channel_variable_param (query_param_t query_param,
channel_param_tchannel 
)
+
+ +

set channel variable parameters

+
Parameters
+ + + +
[in]query_paramquery parameters
[in,out]channelpointer to the modifying channel
+
+
+ +

Referenced by associate_channel(), and gene_channel().

+ +
+
+
+ + + + diff --git a/doxygen/channel__manager_8h_source.html b/doxygen/channel__manager_8h_source.html new file mode 100644 index 00000000..0464e4b7 --- /dev/null +++ b/doxygen/channel__manager_8h_source.html @@ -0,0 +1,163 @@ + + + + + + +OpenJPEG: channel_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
channel_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef CHANNEL_MANAGER_H_
+
32 # define CHANNEL_MANAGER_H_
+
33 
+
34 #include <time.h>
+
35 #include "query_parser.h"
+
36 #include "cachemodel_manager.h"
+
37 #include "auxtrans_manager.h"
+
38 
+
40 #define MAX_LENOFCID 30
+
41 
+
43 typedef struct channel_param{
+ +
45  char cid[MAX_LENOFCID];
+ +
47  /* - a record of the client's capabilities and preferences to the extent that the server queues requests*/
+
48  time_t start_tm;
+
49  struct channel_param *next;
+ +
51 
+
52 
+
54 typedef struct channellist_param{
+ + + +
58 
+
59 
+ +
66 
+
67 
+ +
78 
+ +
86 
+
93 void delete_channel( channel_param_t **channel, channellist_param_t *channellist);
+
94 
+
95 
+
101 void delete_channellist( channellist_param_t **channellist);
+
102 
+
103 
+
109 void print_allchannel( channellist_param_t *channellist);
+
110 
+
111 
+
119 channel_param_t * search_channel( const char cid[], channellist_param_t *channellist);
+
120 #endif /* !CHANNEL_MANAGER_H_ */
+
channel_param_t * first
first channel pointer of the list
Definition: channel_manager.h:55
+ +
Channel list parameters.
Definition: channel_manager.h:54
+
void set_channel_variable_param(query_param_t query_param, channel_param_t *channel)
set channel variable parameters
Definition: channel_manager.c:105
+
cachemodel_param_t * cachemodel
reference pointer to the cache model
Definition: channel_manager.h:44
+
struct channel_param * next
pointer to the next channel
Definition: channel_manager.h:49
+
Cache model parameters.
Definition: cachemodel_manager.h:37
+
struct channel_param channel_param_t
Channel parameters.
+
cnew_transport_t aux
auxiliary transport
Definition: channel_manager.h:46
+
enum cnew_transport cnew_transport_t
cnew aux transport name
+
auxiliary transport setting parameters
Definition: auxtrans_manager.h:38
+
struct channellist_param channellist_param_t
Channel list parameters.
+
Query parameters.
Definition: query_parser.h:47
+
char cid[MAX_LENOFCID]
channel identifier
Definition: channel_manager.h:45
+
channellist_param_t * gene_channellist(void)
generate a channel list
Definition: channel_manager.c:48
+
channel_param_t * gene_channel(query_param_t query_param, auxtrans_param_t auxtrans, cachemodel_param_t *cachemodel, channellist_param_t *channellist)
generate a channel under the channel list
Definition: channel_manager.c:60
+
void delete_channellist(channellist_param_t **channellist)
delete channel list
Definition: channel_manager.c:136
+ +
channel_param_t * last
last channel pointer of the list
Definition: channel_manager.h:56
+ +
channel_param_t * search_channel(const char cid[], channellist_param_t *channellist)
search a channel by channel ID
Definition: channel_manager.c:163
+
#define MAX_LENOFCID
maximum length of channel identifier
Definition: channel_manager.h:40
+
time_t start_tm
starting time
Definition: channel_manager.h:48
+
void delete_channel(channel_param_t **channel, channellist_param_t *channellist)
delete a channel
Definition: channel_manager.c:113
+
void print_allchannel(channellist_param_t *channellist)
print all channel parameters
Definition: channel_manager.c:152
+
Channel parameters.
Definition: channel_manager.h:43
+
+ + + + diff --git a/doxygen/cidx__manager_8c.html b/doxygen/cidx__manager_8c.html new file mode 100644 index 00000000..9c3abadb --- /dev/null +++ b/doxygen/cidx__manager_8c.html @@ -0,0 +1,307 @@ + + + + + + +OpenJPEG: cidx_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cidx_manager.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + + + + + + + + +

+Functions

void opj_write_cptr (int coff, int clen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_cidx (int offset, opj_stream_private_t *cio, opj_codestream_info_t cstr_info, int j2klen, opj_event_mgr_t *p_manager)
 
void opj_write_manf (int second, int v, opj_jp2_box_t *box, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_mainmhix (int coff, opj_codestream_info_t cstr_info, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
OPJ_BOOL opj_check_EPHuse (int coff, opj_marker_info_t *markers, int marknum, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_check_EPHuse (int coff,
opj_marker_info_tmarkers,
int marknum,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_write_cptr (int coff,
int clen,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_write_manf (int second,
int v,
opj_jp2_box_tbox,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+
+ + + + diff --git a/doxygen/cidx__manager_8h.html b/doxygen/cidx__manager_8h.html new file mode 100644 index 00000000..476e27b2 --- /dev/null +++ b/doxygen/cidx__manager_8h.html @@ -0,0 +1,176 @@ + + + + + + +OpenJPEG: cidx_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cidx_manager.h File Reference
+
+
+ +

Modification of jpip.h from 2KAN indexer. +More...

+
#include "openjpeg.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

int opj_write_cidx (int offset, opj_stream_private_t *cio, opj_codestream_info_t cstr_info, int j2klen, opj_event_mgr_t *p_manager)
 
OPJ_BOOL opj_check_EPHuse (int coff, opj_marker_info_t *markers, int marknum, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
+

Detailed Description

+

Modification of jpip.h from 2KAN indexer.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_check_EPHuse (int coff,
opj_marker_info_tmarkers,
int marknum,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ + +
+ + + + diff --git a/doxygen/cidx__manager_8h_source.html b/doxygen/cidx__manager_8h_source.html new file mode 100644 index 00000000..6dfc67ff --- /dev/null +++ b/doxygen/cidx__manager_8h_source.html @@ -0,0 +1,134 @@ + + + + + + +OpenJPEG: cidx_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
cidx_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id: cidx_manager.h 897 2011-08-28 21:43:57Z Kaori.Hagihara@gmail.com $
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2003-2004, Yannick Verschueren
+
7  * Copyright (c) 2010-2011, Kaori Hagihara
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
37 #ifndef CIDX_MANAGER_H_
+
38 # define CIDX_MANAGER_H_
+
39 
+
40 #include "openjpeg.h"
+
41 
+
42 
+
43 /*
+
44  * Write Codestream index box (superbox)
+
45  *
+
46  * @param[in] offset offset of j2k codestream
+
47  * @param[in] cio file output handle
+
48  * @param[in] image image data
+
49  * @param[in] cstr_info codestream information
+
50  * @param[in] j2klen length of j2k codestream
+
51  * @return length of cidx box
+
52  */
+
53 int opj_write_cidx( int offset, opj_stream_private_t *cio, opj_codestream_info_t cstr_info, int j2klen,
+
54  opj_event_mgr_t * p_manager );
+
55 
+
56 /*
+
57  * Check if EPH option is used
+
58  *
+
59  * @param[in] coff offset of j2k codestream
+
60  * @param[in] markers marker information
+
61  * @param[in] marknum number of markers
+
62  * @param[in] cio file output handle
+
63  * @return true if EPH is used
+
64  */
+
65 OPJ_BOOL opj_check_EPHuse( int coff, opj_marker_info_t *markers, int marknum, opj_stream_private_t *cio,
+
66  opj_event_mgr_t * p_manager );
+
67 
+
68 #endif /* !CIDX_MANAGER_H_ */
+
Message handler object used for.
Definition: event.h:50
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
Byte input-output stream.
Definition: cio.h:87
+
Marker structure.
Definition: openjpeg.h:734
+ +
OPJ_BOOL opj_check_EPHuse(int coff, opj_marker_info_t *markers, int marknum, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: cidx_manager.c:213
+
Index structure of the codestream.
Definition: openjpeg.h:803
+
int opj_write_cidx(int offset, opj_stream_private_t *cio, opj_codestream_info_t cstr_info, int j2klen, opj_event_mgr_t *p_manager)
Definition: cidx_manager.c:50
+
+ + + + diff --git a/doxygen/cio_8c.html b/doxygen/cio_8c.html new file mode 100644 index 00000000..4cafca86 --- /dev/null +++ b/doxygen/cio_8c.html @@ -0,0 +1,519 @@ + + + + + + +OpenJPEG: cio.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cio.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void opj_write_bytes_BE (OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
 Write some bytes to the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_write_bytes_LE (OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_bytes_BE (const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_read_bytes_LE (const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_double_BE (OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
 
void opj_write_double_LE (OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_double_BE (const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_read_double_LE (const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_float_BE (OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
 
void opj_write_float_LE (OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_float_BE (const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_read_float_LE (const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
opj_stream_t *OPJ_CALLCONV opj_stream_create (OPJ_SIZE_T p_buffer_size, OPJ_BOOL l_is_input)
 Creates an abstract stream. More...
 
opj_stream_t *OPJ_CALLCONV opj_stream_default_create (OPJ_BOOL l_is_input)
 Creates an abstract stream. More...
 
void OPJ_CALLCONV opj_stream_destroy (opj_stream_t *p_stream)
 Destroys a stream created by opj_create_stream. More...
 
void OPJ_CALLCONV opj_stream_set_read_function (opj_stream_t *p_stream, opj_stream_read_fn p_function)
 Sets the given function to be used as a read function. More...
 
void OPJ_CALLCONV opj_stream_set_seek_function (opj_stream_t *p_stream, opj_stream_seek_fn p_function)
 Sets the given function to be used as a seek function, the stream is then seekable. More...
 
void OPJ_CALLCONV opj_stream_set_write_function (opj_stream_t *p_stream, opj_stream_write_fn p_function)
 Sets the given function to be used as a write function. More...
 
void OPJ_CALLCONV opj_stream_set_skip_function (opj_stream_t *p_stream, opj_stream_skip_fn p_function)
 Sets the given function to be used as a skip function. More...
 
void OPJ_CALLCONV opj_stream_set_user_data (opj_stream_t *p_stream, void *p_data, opj_stream_free_user_data_fn p_function)
 Sets the given data to be used as a user data for the stream. More...
 
void OPJ_CALLCONV opj_stream_set_user_data_length (opj_stream_t *p_stream, OPJ_UINT64 data_length)
 Sets the length of the user data for the stream. More...
 
OPJ_SIZE_T opj_stream_read_data (opj_stream_private_t *p_stream, OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, opj_event_mgr_t *p_event_mgr)
 Reads some bytes from the stream. More...
 
OPJ_SIZE_T opj_stream_write_data (opj_stream_private_t *p_stream, const OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, opj_event_mgr_t *p_event_mgr)
 Writes some bytes to the stream. More...
 
OPJ_BOOL opj_stream_flush (opj_stream_private_t *p_stream, opj_event_mgr_t *p_event_mgr)
 Writes the content of the stream buffer to the stream. More...
 
OPJ_OFF_T opj_stream_read_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, opj_event_mgr_t *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_OFF_T opj_stream_write_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, opj_event_mgr_t *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_OFF_T opj_stream_tell (const opj_stream_private_t *p_stream)
 Tells the byte offset on the stream (similar to ftell). More...
 
OPJ_OFF_T opj_stream_get_number_byte_left (const opj_stream_private_t *p_stream)
 Get the number of bytes left before the end of the stream (similar to cio_numbytesleft). More...
 
OPJ_OFF_T opj_stream_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, opj_event_mgr_t *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_read_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, opj_event_mgr_t *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_write_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, opj_event_mgr_t *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Seeks a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_has_seek (const opj_stream_private_t *p_stream)
 Tells if the given stream is seekable. More...
 
OPJ_SIZE_T opj_stream_default_read (void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_SIZE_T opj_stream_default_write (void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_OFF_T opj_stream_default_skip (OPJ_OFF_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_BOOL opj_stream_default_seek (OPJ_OFF_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
opj_stream_t* OPJ_CALLCONV opj_stream_create (OPJ_SIZE_T p_buffer_size,
OPJ_BOOL p_is_input 
)
+
+
+ +
+
+ + + + + + + + +
opj_stream_t* OPJ_CALLCONV opj_stream_default_create (OPJ_BOOL p_is_input)
+
+ +

Creates an abstract stream.

+

This function does nothing except allocating memory and initializing the abstract stream.

+
Parameters
+ + +
p_is_inputif set to true then the stream will be an input stream, an output stream else.
+
+
+
Returns
a stream object.
+ +

References OPJ_J2K_STREAM_CHUNK_SIZE, and opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + +
void OPJ_CALLCONV opj_stream_destroy (opj_stream_tp_stream)
+
+ +

Destroys a stream created by opj_create_stream.

+

This function does NOT close the abstract stream. If needed the user must close its own implementation of the stream.

+
Parameters
+ + +
p_streamthe stream to destroy.
+
+
+ +

References opj_stream_private::m_free_user_data_fn, opj_stream_private::m_stored_data, opj_stream_private::m_user_data, and opj_free.

+ +

Referenced by j2k_to_pnm().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void OPJ_CALLCONV opj_stream_set_read_function (opj_stream_tp_stream,
opj_stream_read_fn p_function 
)
+
+ +

Sets the given function to be used as a read function.

+
Parameters
+ + + +
p_streamthe stream to modify
p_functionthe function to use a read function.
+
+
+ +

References opj_stream_private::m_read_fn, opj_stream_private::m_status, and opj_stream_e_input.

+ +

Referenced by opj_stream_create_file_stream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void OPJ_CALLCONV opj_stream_set_seek_function (opj_stream_tp_stream,
opj_stream_seek_fn p_function 
)
+
+ +

Sets the given function to be used as a seek function, the stream is then seekable.

+
Parameters
+ + + +
p_streamthe stream to modify
p_functionthe function to use a skip function.
+
+
+ +

References opj_stream_private::m_seek_fn.

+ +

Referenced by opj_stream_create_file_stream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void OPJ_CALLCONV opj_stream_set_skip_function (opj_stream_tp_stream,
opj_stream_skip_fn p_function 
)
+
+ +

Sets the given function to be used as a skip function.

+
Parameters
+ + + +
p_streamthe stream to modify
p_functionthe function to use a skip function.
+
+
+ +

References opj_stream_private::m_skip_fn.

+ +

Referenced by opj_stream_create_file_stream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void OPJ_CALLCONV opj_stream_set_user_data (opj_stream_tp_stream,
void * p_data,
opj_stream_free_user_data_fn p_function 
)
+
+ +

Sets the given data to be used as a user data for the stream.

+
Parameters
+ + + + +
p_streamthe stream to modify
p_datathe data to set.
p_functionthe function to free p_data when opj_stream_destroy() is called.
+
+
+ +

References opj_stream_private::m_free_user_data_fn, and opj_stream_private::m_user_data.

+ +

Referenced by opj_stream_create_file_stream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void OPJ_CALLCONV opj_stream_set_user_data_length (opj_stream_tp_stream,
OPJ_UINT64 data_length 
)
+
+ +

Sets the length of the user data for the stream.

+
Parameters
+ + + +
p_streamthe stream to modify
data_lengthlength of the user_data.
+
+
+ +

References opj_stream_private::m_user_data_length.

+ +

Referenced by opj_stream_create_file_stream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void OPJ_CALLCONV opj_stream_set_write_function (opj_stream_tp_stream,
opj_stream_write_fn p_function 
)
+
+ +

Sets the given function to be used as a write function.

+
Parameters
+ + + +
p_streamthe stream to modify
p_functionthe function to use a write function.
+
+
+ +

References opj_stream_private::m_status, opj_stream_private::m_write_fn, and opj_stream_e_output.

+ +

Referenced by opj_stream_create_file_stream().

+ +
+
+
+ + + + diff --git a/doxygen/cio_8h.html b/doxygen/cio_8h.html new file mode 100644 index 00000000..6fe6633f --- /dev/null +++ b/doxygen/cio_8h.html @@ -0,0 +1,204 @@ + + + + + + +OpenJPEG: cio.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
cio.h File Reference
+
+
+ +

Implementation of a byte input-output process (CIO) +More...

+
#include "opj_config_private.h"
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  opj_stream_private
 Byte input-output stream. More...
 
+ + + + + + + + + + + + + +

+Macros

#define opj_write_bytes   opj_write_bytes_LE
 
#define opj_read_bytes   opj_read_bytes_LE
 
#define opj_write_double   opj_write_double_LE
 
#define opj_read_double   opj_read_double_LE
 
#define opj_write_float   opj_write_float_LE
 
#define opj_read_float   opj_read_float_LE
 
+ + + + +

+Typedefs

typedef struct opj_stream_private opj_stream_private_t
 Byte input-output stream. More...
 
+ + + +

+Enumerations

enum  opj_stream_flag {
+  opj_signed_sentinel = -1, +opj_stream_e_output = 0x1, +opj_stream_e_input = 0x2, +opj_stream_e_end = 0x4, +
+  opj_stream_e_error = 0x8 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Exported functions (see also openjpeg.h)
void opj_write_bytes_BE (OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
 Write some bytes to the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_read_bytes_BE (const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_write_bytes_LE (OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_bytes_LE (const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_double_LE (OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_double_BE (OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
 
void opj_read_double_LE (const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_double_BE (const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_read_float_LE (const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_float_BE (const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_write_float_LE (OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_float_BE (OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
 
OPJ_SIZE_T opj_stream_read_data (opj_stream_private_t *p_stream, OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr *p_event_mgr)
 Reads some bytes from the stream. More...
 
OPJ_SIZE_T opj_stream_write_data (opj_stream_private_t *p_stream, const OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr *p_event_mgr)
 Writes some bytes to the stream. More...
 
OPJ_BOOL opj_stream_flush (opj_stream_private_t *p_stream, struct opj_event_mgr *p_event_mgr)
 Writes the content of the stream buffer to the stream. More...
 
OPJ_OFF_T opj_stream_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_OFF_T opj_stream_tell (const opj_stream_private_t *p_stream)
 Tells the byte offset on the stream (similar to ftell). More...
 
OPJ_OFF_T opj_stream_get_number_byte_left (const opj_stream_private_t *p_stream)
 Get the number of bytes left before the end of the stream (similar to cio_numbytesleft). More...
 
OPJ_OFF_T opj_stream_write_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_OFF_T opj_stream_read_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_read_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_write_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Seeks a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_has_seek (const opj_stream_private_t *p_stream)
 Tells if the given stream is seekable. More...
 
OPJ_SIZE_T opj_stream_default_read (void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_SIZE_T opj_stream_default_write (void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_OFF_T opj_stream_default_skip (OPJ_OFF_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_BOOL opj_stream_default_seek (OPJ_OFF_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
+

Detailed Description

+

Implementation of a byte input-output process (CIO)

+

The functions in CIO.C have for goal to realize a byte input / output process.

+
+ + + + diff --git a/doxygen/cio_8h_source.html b/doxygen/cio_8h_source.html new file mode 100644 index 00000000..47f1fc42 --- /dev/null +++ b/doxygen/cio_8h_source.html @@ -0,0 +1,312 @@ + + + + + + +OpenJPEG: cio.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
cio.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
8  * Copyright (c) 2002-2014, Professor Benoit Macq
+
9  * Copyright (c) 2001-2003, David Janssens
+
10  * Copyright (c) 2002-2003, Yannick Verschueren
+
11  * Copyright (c) 2003-2007, Francois-Olivier Devaux
+
12  * Copyright (c) 2003-2014, Antonin Descampe
+
13  * Copyright (c) 2005, Herve Drolon, FreeImage Team
+
14  * Copyright (c) 2008, 2011-2012, Centre National d'Etudes Spatiales (CNES), FR
+
15  * Copyright (c) 2012, CS Systemes d'Information, France
+
16  * All rights reserved.
+
17  *
+
18  * Redistribution and use in source and binary forms, with or without
+
19  * modification, are permitted provided that the following conditions
+
20  * are met:
+
21  * 1. Redistributions of source code must retain the above copyright
+
22  * notice, this list of conditions and the following disclaimer.
+
23  * 2. Redistributions in binary form must reproduce the above copyright
+
24  * notice, this list of conditions and the following disclaimer in the
+
25  * documentation and/or other materials provided with the distribution.
+
26  *
+
27  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
28  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
29  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
30  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
31  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
32  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
33  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
34  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
35  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
36  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
37  * POSSIBILITY OF SUCH DAMAGE.
+
38  */
+
39 
+
40 #ifndef __CIO_H
+
41 #define __CIO_H
+
42 
+
51 
+
52 #include "opj_config_private.h"
+
53 
+
54 /* ----------------------------------------------------------------------- */
+
55 
+
56 #if defined(OPJ_BIG_ENDIAN)
+
57  #define opj_write_bytes opj_write_bytes_BE
+
58  #define opj_read_bytes opj_read_bytes_BE
+
59  #define opj_write_double opj_write_double_BE
+
60  #define opj_read_double opj_read_double_BE
+
61  #define opj_write_float opj_write_float_BE
+
62  #define opj_read_float opj_read_float_BE
+
63 #else
+
64  #define opj_write_bytes opj_write_bytes_LE
+
65  #define opj_read_bytes opj_read_bytes_LE
+
66  #define opj_write_double opj_write_double_LE
+
67  #define opj_read_double opj_read_double_LE
+
68  #define opj_write_float opj_write_float_LE
+
69  #define opj_read_float opj_read_float_LE
+
70 #endif
+
71 
+
72 
+
73 
+
74 typedef enum
+
75 {
+
76  opj_signed_sentinel = -1, /* do not use in code */
+ + + + +
81 }
+ +
83 
+
87 typedef struct opj_stream_private
+
88 {
+
92  void * m_user_data;
+
93 
+ +
100 
+ +
105 
+ +
110 
+ +
115 
+ +
121 
+ +
126 
+ +
132 
+ +
137 
+ +
142 
+ +
147 
+ +
152 
+
156  OPJ_OFF_T m_byte_offset;
+
157 
+ +
162 
+ +
167 
+
168 }
+ +
170 
+
173 /* ----------------------------------------------------------------------- */
+
180 void opj_write_bytes_BE (OPJ_BYTE * p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes);
+
181 
+
189 void opj_read_bytes_BE(const OPJ_BYTE * p_buffer, OPJ_UINT32 * p_value, OPJ_UINT32 p_nb_bytes);
+
190 
+
198 void opj_write_bytes_LE (OPJ_BYTE * p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes);
+
199 
+
207 void opj_read_bytes_LE(const OPJ_BYTE * p_buffer, OPJ_UINT32 * p_value, OPJ_UINT32 p_nb_bytes);
+
208 
+
209 
+
215 void opj_write_double_LE(OPJ_BYTE * p_buffer, OPJ_FLOAT64 p_value);
+
216 
+
217 /***
+
218  * Write some bytes to the given data buffer, this function is used in Big Endian cpus.
+
219  * @param p_buffer pointer the data buffer to write data to.
+
220  * @param p_value the value to write
+
221  */
+
222 void opj_write_double_BE(OPJ_BYTE * p_buffer, OPJ_FLOAT64 p_value);
+
223 
+
229 void opj_read_double_LE(const OPJ_BYTE * p_buffer, OPJ_FLOAT64 * p_value);
+
230 
+
236 void opj_read_double_BE(const OPJ_BYTE * p_buffer, OPJ_FLOAT64 * p_value);
+
237 
+
243 void opj_read_float_LE(const OPJ_BYTE * p_buffer, OPJ_FLOAT32 * p_value);
+
244 
+
250 void opj_read_float_BE(const OPJ_BYTE * p_buffer, OPJ_FLOAT32 * p_value);
+
251 
+
257 void opj_write_float_LE(OPJ_BYTE * p_buffer, OPJ_FLOAT32 p_value);
+
258 
+
259 /***
+
260  * Write some bytes to the given data buffer, this function is used in Big Endian cpus.
+
261  * @param p_buffer pointer the data buffer to write data to.
+
262  * @param p_value the value to write
+
263  */
+
264 void opj_write_float_BE(OPJ_BYTE * p_buffer, OPJ_FLOAT32 p_value);
+
265 
+
274 OPJ_SIZE_T opj_stream_read_data (opj_stream_private_t * p_stream,OPJ_BYTE * p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr * p_event_mgr);
+
275 
+
284 OPJ_SIZE_T opj_stream_write_data (opj_stream_private_t * p_stream,const OPJ_BYTE * p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr * p_event_mgr);
+
285 
+
292 OPJ_BOOL opj_stream_flush (opj_stream_private_t * p_stream, struct opj_event_mgr * p_event_mgr);
+
293 
+
301 OPJ_OFF_T opj_stream_skip (opj_stream_private_t * p_stream,OPJ_OFF_T p_size, struct opj_event_mgr * p_event_mgr);
+
302 
+ +
311 
+
312 
+ +
321 
+
329 OPJ_OFF_T opj_stream_write_skip (opj_stream_private_t * p_stream, OPJ_OFF_T p_size, struct opj_event_mgr * p_event_mgr);
+
330 
+
338 OPJ_OFF_T opj_stream_read_skip (opj_stream_private_t * p_stream, OPJ_OFF_T p_size, struct opj_event_mgr * p_event_mgr);
+
339 
+
347 OPJ_BOOL opj_stream_read_seek (opj_stream_private_t * p_stream, OPJ_OFF_T p_size, struct opj_event_mgr * p_event_mgr);
+
348 
+
356 OPJ_BOOL opj_stream_write_seek (opj_stream_private_t * p_stream, OPJ_OFF_T p_size, struct opj_event_mgr * p_event_mgr);
+
357 
+
365 OPJ_BOOL opj_stream_seek (opj_stream_private_t * p_stream, OPJ_OFF_T p_size, struct opj_event_mgr * p_event_mgr);
+
366 
+ +
371 
+
375 OPJ_SIZE_T opj_stream_default_read (void * p_buffer, OPJ_SIZE_T p_nb_bytes, void * p_user_data);
+
376 
+
380 OPJ_SIZE_T opj_stream_default_write (void * p_buffer, OPJ_SIZE_T p_nb_bytes, void * p_user_data);
+
381 
+
385 OPJ_OFF_T opj_stream_default_skip (OPJ_OFF_T p_nb_bytes, void * p_user_data);
+
386 
+
390 OPJ_BOOL opj_stream_default_seek (OPJ_OFF_T p_nb_bytes, void * p_user_data);
+
391 
+
392 /* ----------------------------------------------------------------------- */
+
396 
+
397 
+
398 #endif /* __CIO_H */
+
399 
+
void * m_user_data
User data, be it files, ...
Definition: cio.h:92
+
OPJ_OFF_T opj_stream_tell(const opj_stream_private_t *p_stream)
Tells the byte offset on the stream (similar to ftell).
Definition: cio.c:544
+
OPJ_SIZE_T opj_stream_read_data(opj_stream_private_t *p_stream, OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr *p_event_mgr)
Reads some bytes from the stream.
Definition: cio.c:266
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
OPJ_OFF_T(* m_opj_skip)(struct opj_stream_private *, OPJ_OFF_T, struct opj_event_mgr *)
FIXME DOC.
Definition: cio.h:141
+
opj_stream_write_fn m_write_fn
Pointer to actual write function (NULL at the initialization of the cio.
Definition: cio.h:114
+
OPJ_SIZE_T opj_stream_write_data(opj_stream_private_t *p_stream, const OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr *p_event_mgr)
Writes some bytes to the stream.
Definition: cio.c:373
+
struct opj_stream_private opj_stream_private_t
Byte input-output stream.
+
double OPJ_FLOAT64
Definition: openjpeg.h:116
+
OPJ_BOOL opj_stream_read_seek(opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
Skips a number of bytes from the stream.
Definition: cio.c:564
+
OPJ_BOOL(* m_opj_seek)(struct opj_stream_private *, OPJ_OFF_T, struct opj_event_mgr *)
FIXME DOC.
Definition: cio.h:146
+
Message handler object used for.
Definition: event.h:50
+
void opj_read_float_LE(const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
Reads some bytes from the given data buffer, this function is used in Little Endian cpus...
Definition: cio.c:142
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
OPJ_SIZE_T m_buffer_size
The size of the buffer.
Definition: cio.h:161
+
opj_stream_free_user_data_fn m_free_user_data_fn
Pointer to function to free m_user_data (NULL at initialization) when destroying the stream...
Definition: cio.h:99
+
Byte input-output stream.
Definition: cio.h:87
+
unsigned char OPJ_BYTE
Definition: openjpeg.h:117
+
OPJ_OFF_T opj_stream_read_skip(opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
Skips a number of bytes from the stream.
Definition: cio.c:450
+
Definition: cio.h:79
+
OPJ_SIZE_T opj_stream_default_write(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
FIXME DOC.
Definition: cio.c:624
+
OPJ_BOOL opj_stream_seek(opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
Seeks a number of bytes from the stream.
Definition: cio.c:605
+
OPJ_OFF_T opj_stream_write_skip(opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
Skips a number of bytes from the stream.
Definition: cio.c:504
+
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+
Definition: cio.h:77
+
OPJ_BOOL opj_stream_write_seek(opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
Skips a number of bytes from the stream.
Definition: cio.c:584
+
uint64_t OPJ_UINT64
Definition: openjpeg.h:128
+
void opj_read_bytes_LE(const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
Reads some bytes from the given data buffer, this function is used in Little Endian cpus...
Definition: cio.c:78
+
OPJ_BOOL opj_stream_default_seek(OPJ_OFF_T p_nb_bytes, void *p_user_data)
FIXME DOC.
Definition: cio.c:639
+
float OPJ_FLOAT32
Definition: openjpeg.h:115
+
opj_stream_skip_fn m_skip_fn
Pointer to actual skip function (NULL at the initialization of the cio.
Definition: cio.h:120
+
void opj_write_float_BE(OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
Definition: cio.c:121
+
OPJ_SIZE_T(* opj_stream_write_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:598
+
opj_stream_read_fn m_read_fn
Pointer to actual read function (NULL at the initialization of the cio.
Definition: cio.h:109
+
Definition: cio.h:80
+
Definition: cio.h:78
+
OPJ_OFF_T opj_stream_skip(opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
Skips a number of bytes from the stream.
Definition: cio.c:558
+
OPJ_OFF_T opj_stream_default_skip(OPJ_OFF_T p_nb_bytes, void *p_user_data)
FIXME DOC.
Definition: cio.c:632
+
opj_stream_flag m_status
Flags to tell the status of the stream.
Definition: cio.h:166
+
void opj_read_double_BE(const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
Reads some bytes from the given data buffer, this function is used in Big Endian cpus.
Definition: cio.c:106
+
Definition: cio.h:76
+
void opj_write_float_LE(OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
Write some bytes to the given data buffer, this function is used in Little Endian cpus...
Definition: cio.c:127
+
void(* opj_stream_free_user_data_fn)(void *p_user_data)
Definition: openjpeg.h:613
+
OPJ_SIZE_T m_bytes_in_buffer
number of bytes containing in the buffer.
Definition: cio.h:151
+
opj_stream_flag
Definition: cio.h:74
+
void opj_read_bytes_BE(const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
Reads some bytes from the given data buffer, this function is used in Big Endian cpus.
Definition: cio.c:68
+
OPJ_BOOL opj_stream_flush(opj_stream_private_t *p_stream, struct opj_event_mgr *p_event_mgr)
Writes the content of the stream buffer to the stream.
Definition: cio.c:421
+
OPJ_OFF_T m_byte_offset
The number of bytes read/written from the beginning of the stream.
Definition: cio.h:156
+
OPJ_BYTE * m_stored_data
Actual data stored into the stream if readed from.
Definition: cio.h:131
+
OPJ_UINT64 m_user_data_length
User data length.
Definition: cio.h:104
+
OPJ_SIZE_T opj_stream_default_read(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
FIXME DOC.
Definition: cio.c:616
+
void opj_read_float_BE(const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
Reads some bytes from the given data buffer, this function is used in Big Endian cpus.
Definition: cio.c:136
+
void opj_write_double_BE(OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
Definition: cio.c:91
+
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
+
OPJ_BOOL opj_stream_has_seek(const opj_stream_private_t *p_stream)
Tells if the given stream is seekable.
Definition: cio.c:611
+
OPJ_SIZE_T(* opj_stream_read_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:593
+
void opj_write_bytes_LE(OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
Write some bytes to the given data buffer, this function is used in Little Endian cpus...
Definition: cio.c:56
+
OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:603
+
OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:608
+
void opj_read_double_LE(const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
Reads some bytes from the given data buffer, this function is used in Little Endian cpus...
Definition: cio.c:112
+
void opj_write_double_LE(OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
Write some bytes to the given data buffer, this function is used in Little Endian cpus...
Definition: cio.c:97
+
OPJ_OFF_T opj_stream_get_number_byte_left(const opj_stream_private_t *p_stream)
Get the number of bytes left before the end of the stream (similar to cio_numbytesleft).
Definition: cio.c:549
+
void opj_write_bytes_BE(OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
Write some bytes to the given data buffer, this function is used in Big Endian cpus.
Definition: cio.c:47
+
opj_stream_seek_fn m_seek_fn
Pointer to actual seek function (if available).
Definition: cio.h:125
+
OPJ_BYTE * m_current_data
Pointer to the current read data.
Definition: cio.h:136
+
+ + + + diff --git a/doxygen/classes.html b/doxygen/classes.html new file mode 100644 index 00000000..d7caae83 --- /dev/null +++ b/doxygen/classes.html @@ -0,0 +1,109 @@ + + + + + + +OpenJPEG: Data Structure Index + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
Data Structure Index
+
+
+
A | B | C | D | F | I | J | M | O | P | Q | R | S | T | V
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  C  
+
  f  
+
opj_codestream_info   opj_mqc   opj_tgt_node   
opj_codestream_info_v2   opj_mqc_state   opj_tgt_tree   
CODmarker_param   faixbox_param   opj_cp   opj_packet_info   opj_tile_index   
  S  
+
faixelem4_param   opj_cparameters   opj_pi_comp   opj_tile_info   
faixelem8_param   opj_dec_memory_marker_handler   opj_pi_iterator   opj_tile_v2_info   
SIZmarker_param   
  i  
+
opj_decoding_param   opj_pi_resolution   opj_tp_index   
  a  
+
opj_dparameters   opj_poc   opj_tp_info   
ihdrbox_param   opj_encoding_param   opj_procedure_list   opj_v4_t   
aux_response_param   imgreg_param   opj_event_mgr   opj_raw   
  p  
+
auxtrans_param   index_param   opj_image   opj_simple_mcc_decorrelation_data   
  b  
+
  j  
+
opj_image_comp   opj_stepsize   placeholder_param   
opj_image_comptparm   opj_stream_private   placeholderlist_param   
box_param   j2k_prog_order   opj_j2k   opj_t1   
  q  
+
boxcontents_param   jpip_dec_param   opj_j2k_dec   opj_t2   
boxheader_param   
  m  
+
opj_j2k_enc   opj_tccp   query_param   
boxlist_param   opj_jp2   opj_tccp_info   
  r  
+
  c  
+
manfbox_param   opj_jp2_box   opj_tcd   
marker_param   opj_jp2_cdef   opj_tcd_band   range_param   
cache_param   markeridx_param   opj_jp2_cdef_info   opj_tcd_cblk_dec   
  s  
+
cachelist_param   message_param   opj_jp2_cmap_comp   opj_tcd_cblk_enc   
cachemodel_param   metadata_param   opj_jp2_color   opj_tcd_image   session_param   
cachemodellist_param   metadatalist_param   opj_jp2_comps   opj_tcd_layer   sessionlist_param   
channel_param   mhixbox_param   opj_jp2_header_handler   opj_tcd_pass   subfaixbox4_param   
channellist_param   msgqueue_param   opj_jp2_img_header_writer_handler   opj_tcd_precinct   subfaixbox8_param   
codestream_param   
  o  
+
opj_jp2_index   opj_tcd_resolution   subfaixbox_param   
  d  
+
opj_jp2_metadata   opj_tcd_seg   
  t  
+
opj_bio   opj_jp2_pclr   opj_tcd_tile   
dec_server_record   opj_codec_private   opj_marker_info   opj_tcd_tilecomp   target_param   
dwt_local   opj_codestream_index   opj_mct_data   opj_tcp   targetlist_param   
+
A | B | C | D | F | I | J | M | O | P | Q | R | S | T | V
+
+ + + + diff --git a/doxygen/closed.png b/doxygen/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/doxygen/codestream__manager_8c.html b/doxygen/codestream__manager_8c.html new file mode 100644 index 00000000..df965b9d --- /dev/null +++ b/doxygen/codestream__manager_8c.html @@ -0,0 +1,378 @@ + + + + + + +OpenJPEG: codestream_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
codestream_manager.c File Reference
+
+
+
#include <stdio.h>
+#include "codestream_manager.h"
+#include "opj_inttypes.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

codestream_param_t set_codestream (int fd, OPJ_OFF_T offset, OPJ_SIZE_T length)
 set codestream parameters from inputs More...
 
Byte_tfetch_codestreambytes (codestream_param_t *cs, OPJ_OFF_T offset, OPJ_SIZE_T size)
 fetch Codestream bytes of data in file stream More...
 
Byte_t fetch_codestream1byte (codestream_param_t *cs, OPJ_OFF_T offset)
 fetch Codestream 1-byte Byte code in file stream More...
 
Byte2_t fetch_codestream2bytebigendian (codestream_param_t *cs, OPJ_OFF_T offset)
 fetch Codestream 2-byte big endian Byte codes in file stream More...
 
Byte4_t fetch_codestream4bytebigendian (codestream_param_t *cs, OPJ_OFF_T offset)
 fetch Codestream 4-byte big endian Byte codes in file stream More...
 
void print_codestream (codestream_param_t cs)
 print codestream parameters More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +

Referenced by print_codestream().

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t fetch_codestream1byte (codestream_param_tcs,
OPJ_OFF_T offset 
)
+
+ +

fetch Codestream 1-byte Byte code in file stream

+
Parameters
+ + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
+
+
+
Returns
fetched code
+ +

References codestream_param::fd, fetch_1byte(), and codestream_param::offset.

+ +

Referenced by fetch_marker1byte().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte2_t fetch_codestream2bytebigendian (codestream_param_tcs,
OPJ_OFF_T offset 
)
+
+ +

fetch Codestream 2-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
+
+
+
Returns
fetched code
+ +

References codestream_param::fd, fetch_2bytebigendian(), and codestream_param::offset.

+ +

Referenced by fetch_marker2bytebigendian().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t fetch_codestream4bytebigendian (codestream_param_tcs,
OPJ_OFF_T offset 
)
+
+ +

fetch Codestream 4-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
+
+
+
Returns
fetched code
+ +

References codestream_param::fd, fetch_4bytebigendian(), and codestream_param::offset.

+ +

Referenced by fetch_marker4bytebigendian().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* fetch_codestreambytes (codestream_param_tcs,
OPJ_OFF_T offset,
OPJ_SIZE_T size 
)
+
+ +

fetch Codestream bytes of data in file stream

+
Parameters
+ + + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
[in]sizeByte length
+
+
+
Returns
pointer to the fetched data
+ +

References codestream_param::fd, fetch_bytes(), and codestream_param::offset.

+ +
+
+ +
+
+ + + + + + + + +
void print_codestream (codestream_param_t cs)
+
+ +

print codestream parameters

+
Parameters
+ + +
[in]cscodestream
+
+
+ +

References codestream_param::fd, codestream_param::length, logstream, and codestream_param::offset.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
codestream_param_t set_codestream (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T length 
)
+
+ +

set codestream parameters from inputs

+
Parameters
+ + + + +
[in]fdfile descriptor
[in]offsetoffset in the file
[in]lengthcodestream length
+
+
+
Returns
structure of generated codestream parameters
+ +

References codestream_param::fd, codestream_param::length, and codestream_param::offset.

+ +

Referenced by set_cidxdata().

+ +
+
+
+ + + + diff --git a/doxygen/codestream__manager_8h.html b/doxygen/codestream__manager_8h.html new file mode 100644 index 00000000..93e70b09 --- /dev/null +++ b/doxygen/codestream__manager_8h.html @@ -0,0 +1,358 @@ + + + + + + +OpenJPEG: codestream_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
codestream_manager.h File Reference
+
+
+
#include "byte_manager.h"
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  codestream_param
 codestream parameters More...
 
+ + + + +

+Typedefs

typedef struct codestream_param codestream_param_t
 codestream parameters More...
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

codestream_param_t set_codestream (int fd, OPJ_OFF_T offset, OPJ_SIZE_T length)
 set codestream parameters from inputs More...
 
Byte_tfetch_codestreambytes (codestream_param_t *cs, OPJ_OFF_T offset, OPJ_SIZE_T size)
 fetch Codestream bytes of data in file stream More...
 
Byte_t fetch_codestream1byte (codestream_param_t *cs, OPJ_OFF_T offset)
 fetch Codestream 1-byte Byte code in file stream More...
 
Byte2_t fetch_codestream2bytebigendian (codestream_param_t *cs, OPJ_OFF_T offset)
 fetch Codestream 2-byte big endian Byte codes in file stream More...
 
Byte4_t fetch_codestream4bytebigendian (codestream_param_t *cs, OPJ_OFF_T offset)
 fetch Codestream 4-byte big endian Byte codes in file stream More...
 
void print_codestream (codestream_param_t cs)
 print codestream parameters More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct codestream_param codestream_param_t
+
+ +

codestream parameters

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t fetch_codestream1byte (codestream_param_tcs,
OPJ_OFF_T offset 
)
+
+ +

fetch Codestream 1-byte Byte code in file stream

+
Parameters
+ + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
+
+
+
Returns
fetched code
+ +

References codestream_param::fd, fetch_1byte(), and codestream_param::offset.

+ +

Referenced by fetch_marker1byte().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte2_t fetch_codestream2bytebigendian (codestream_param_tcs,
OPJ_OFF_T offset 
)
+
+ +

fetch Codestream 2-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
+
+
+
Returns
fetched code
+ +

References codestream_param::fd, fetch_2bytebigendian(), and codestream_param::offset.

+ +

Referenced by fetch_marker2bytebigendian().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t fetch_codestream4bytebigendian (codestream_param_tcs,
OPJ_OFF_T offset 
)
+
+ +

fetch Codestream 4-byte big endian Byte codes in file stream

+
Parameters
+ + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
+
+
+
Returns
fetched code
+ +

References codestream_param::fd, fetch_4bytebigendian(), and codestream_param::offset.

+ +

Referenced by fetch_marker4bytebigendian().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* fetch_codestreambytes (codestream_param_tcs,
OPJ_OFF_T offset,
OPJ_SIZE_T size 
)
+
+ +

fetch Codestream bytes of data in file stream

+
Parameters
+ + + + +
[in]cscodestream pointer
[in]offsetstart Byte position in codestream
[in]sizeByte length
+
+
+
Returns
pointer to the fetched data
+ +

References codestream_param::fd, fetch_bytes(), and codestream_param::offset.

+ +
+
+ +
+
+ + + + + + + + +
void print_codestream (codestream_param_t cs)
+
+ +

print codestream parameters

+
Parameters
+ + +
[in]cscodestream
+
+
+ +

References codestream_param::fd, codestream_param::length, logstream, and codestream_param::offset.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
codestream_param_t set_codestream (int fd,
OPJ_OFF_T offset,
OPJ_SIZE_T length 
)
+
+ +

set codestream parameters from inputs

+
Parameters
+ + + + +
[in]fdfile descriptor
[in]offsetoffset in the file
[in]lengthcodestream length
+
+
+
Returns
structure of generated codestream parameters
+ +

References codestream_param::fd, codestream_param::length, and codestream_param::offset.

+ +

Referenced by set_cidxdata().

+ +
+
+
+ + + + diff --git a/doxygen/codestream__manager_8h_source.html b/doxygen/codestream__manager_8h_source.html new file mode 100644 index 00000000..975446aa --- /dev/null +++ b/doxygen/codestream__manager_8h_source.html @@ -0,0 +1,139 @@ + + + + + + +OpenJPEG: codestream_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
codestream_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef CODESTREAM_MANAGER_H_
+
32 # define CODESTREAM_MANAGER_H_
+
33 
+
34 #include "byte_manager.h"
+
35 
+
37 typedef struct codestream_param{
+
38  int fd;
+ + + +
42 
+
43 
+
52 codestream_param_t set_codestream( int fd, OPJ_OFF_T offset, OPJ_SIZE_T length);
+
53 
+
54 
+ +
64 
+ +
73 
+ +
82 
+ +
91 
+
92 
+ +
99 
+
100 
+
101 #endif /* !CODESTREAM_MANAGER_H_ */
+
codestream_param_t set_codestream(int fd, OPJ_OFF_T offset, OPJ_SIZE_T length)
set codestream parameters from inputs
Definition: codestream_manager.c:44
+
void print_codestream(codestream_param_t cs)
print codestream parameters
Definition: codestream_manager.c:75
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
Byte4_t fetch_codestream4bytebigendian(codestream_param_t *cs, OPJ_OFF_T offset)
fetch Codestream 4-byte big endian Byte codes in file stream
Definition: codestream_manager.c:70
+
Byte8_t length
content length
Definition: codestream_manager.h:40
+
OPJ_OFF_T offset
byte position of DBox (Box Contents) in the file
Definition: codestream_manager.h:39
+
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+
codestream parameters
Definition: codestream_manager.h:37
+
int fd
file descriptor
Definition: codestream_manager.h:38
+
Byte2_t fetch_codestream2bytebigendian(codestream_param_t *cs, OPJ_OFF_T offset)
fetch Codestream 2-byte big endian Byte codes in file stream
Definition: codestream_manager.c:65
+
uint32_t Byte4_t
Definition: byte_manager.h:39
+ +
struct codestream_param codestream_param_t
codestream parameters
+
Byte_t * fetch_codestreambytes(codestream_param_t *cs, OPJ_OFF_T offset, OPJ_SIZE_T size)
fetch Codestream bytes of data in file stream
Definition: codestream_manager.c:55
+
Byte_t fetch_codestream1byte(codestream_param_t *cs, OPJ_OFF_T offset)
fetch Codestream 1-byte Byte code in file stream
Definition: codestream_manager.c:60
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
uint16_t Byte2_t
Definition: byte_manager.h:38
+
+ + + + diff --git a/doxygen/dec__clientmsg__handler_8c.html b/doxygen/dec__clientmsg__handler_8c.html new file mode 100644 index 00000000..61535a76 --- /dev/null +++ b/doxygen/dec__clientmsg__handler_8c.html @@ -0,0 +1,486 @@ + + + + + + +OpenJPEG: dec_clientmsg_handler.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
dec_clientmsg_handler.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <limits.h>
+#include "dec_clientmsg_handler.h"
+#include "ihdrbox_manager.h"
+#include "jpipstream_manager.h"
+#include "jp2k_encoder.h"
+#include "opj_inttypes.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void handle_JPIPstreamMSG (SOCKET connected_socket, cachelist_param_t *cachelist, Byte_t **jpipstream, OPJ_SIZE_T *streamlen, msgqueue_param_t *msgqueue)
 handle JPT- JPP- stream message More...
 
void handle_PNMreqMSG (SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist)
 handle PNM request message More...
 
void handle_XMLreqMSG (SOCKET connected_socket, Byte_t *jpipstream, cachelist_param_t *cachelist)
 handle XML request message More...
 
void handle_TIDreqMSG (SOCKET connected_socket, cachelist_param_t *cachelist)
 handle TargetID request message More...
 
void handle_CIDreqMSG (SOCKET connected_socket, cachelist_param_t *cachelist)
 handle ChannelID request message More...
 
void handle_dstCIDreqMSG (SOCKET connected_socket, cachelist_param_t *cachelist)
 handle distroy ChannelID message More...
 
void handle_SIZreqMSG (SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist)
 handle SIZ request message More...
 
void handle_JP2saveMSG (SOCKET connected_socket, cachelist_param_t *cachelist, msgqueue_param_t *msgqueue, Byte_t *jpipstream)
 handle saving JP2 file request message More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void handle_CIDreqMSG (SOCKET connected_socket,
cachelist_param_tcachelist 
)
+
+ +

handle ChannelID request message

+
Parameters
+ + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
+
+
+ +

References cache_param::cid, cache_param::numOfcid, opj_free, receive_string(), search_cache(), and send_CIDstream().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void handle_dstCIDreqMSG (SOCKET connected_socket,
cachelist_param_tcachelist 
)
+
+ +

handle distroy ChannelID message

+
Parameters
+ + + +
[in]connected_socketsocket descriptor
[in,out]cachelistcache list pointer
+
+
+ +

References opj_free, OPJ_TRUE, receive_string(), remove_cachecid(), and response_signal().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_JP2saveMSG (SOCKET connected_socket,
cachelist_param_tcachelist,
msgqueue_param_tmsgqueue,
Byte_tjpipstream 
)
+
+ +

handle saving JP2 file request message

+
Parameters
+ + + + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
[in]msgqueuemessage queue pointer
[in]jpipstreamaddress of caching jpipstream pointer
+
+
+ +

References cache_param::csn, opj_free, receive_string(), recons_jp2(), save_codestream(), and search_cacheBycid().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_JPIPstreamMSG (SOCKET connected_socket,
cachelist_param_tcachelist,
Byte_t ** jpipstream,
OPJ_SIZE_Tstreamlen,
msgqueue_param_tmsgqueue 
)
+
+ +

handle JPT- JPP- stream message

+
Parameters
+ + + + + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
[in,out]jpipstreamaddress of JPT- JPP- stream pointer
[in,out]streamlenaddress of stream length
[in,out]msgqueuemessage queue pointer
+
+
+ +

References add_cachecid(), message_param::csn, delete_metadatalist(), gene_cache(), gene_metadatalist(), insert_cache_into_list(), msgqueue_param::last, cache_param::metadatalist, opj_free, OPJ_TRUE, parse_JPIPstream(), parse_metamsg(), receive_JPIPstream(), response_signal(), search_cache(), search_cacheBycsn(), update_cachetid(), and update_JPIPstream().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_PNMreqMSG (SOCKET connected_socket,
Byte_tjpipstream,
msgqueue_param_tmsgqueue,
cachelist_param_tcachelist 
)
+
+ +

handle PNM request message

+
Parameters
+ + + + + +
[in]connected_socketsocket descriptor
[in]jpipstreamjpipstream pointer
[in]msgqueuemessage queue pointer
[in]cachelistcache list pointer
+
+
+ +

References ihdrbox_param::bpc, cache_param::csn, ihdrbox_param::height, jpipstream_to_pnm(), ihdrbox_param::nc, opj_free, receive_line(), receive_string(), search_cacheBycid(), search_cacheBytid(), send_PNMstream(), and ihdrbox_param::width.

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_SIZreqMSG (SOCKET connected_socket,
Byte_tjpipstream,
msgqueue_param_tmsgqueue,
cachelist_param_tcachelist 
)
+
+ +

handle SIZ request message

+
Parameters
+ + + + + +
[in]connected_socketsocket descriptor
[in]jpipstreamaddress of caching jpipstream pointer
[in]msgqueuemessage queue pointer
[in,out]cachelistcache list pointer
+
+
+ +

References cache_param::csn, get_SIZ_from_jpipstream(), ihdrbox_param::height, cache_param::ihdrbox, opj_free, receive_string(), search_cacheBycid(), search_cacheBytid(), send_SIZstream(), and ihdrbox_param::width.

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void handle_TIDreqMSG (SOCKET connected_socket,
cachelist_param_tcachelist 
)
+
+ +

handle TargetID request message

+
Parameters
+ + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
+
+
+ +

References opj_free, receive_string(), search_cache(), send_TIDstream(), and cache_param::tid.

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void handle_XMLreqMSG (SOCKET connected_socket,
Byte_tjpipstream,
cachelist_param_tcachelist 
)
+
+ +

handle XML request message

+
Parameters
+ + + + +
[in]connected_socketsocket descriptor
[in]jpipstreamaddress of caching jpipstream pointer
[in]cachelistcache list pointer
+
+
+ +

References metadata_param::boxcontents, metadatalist_param::last, boxcontents_param::length, cache_param::metadatalist, boxcontents_param::offset, opj_free, opj_malloc, receive_string(), search_cacheBycid(), and send_XMLstream().

+ +

Referenced by handle_clientreq().

+ +
+
+
+ + + + diff --git a/doxygen/dec__clientmsg__handler_8h.html b/doxygen/dec__clientmsg__handler_8h.html new file mode 100644 index 00000000..bc1f233d --- /dev/null +++ b/doxygen/dec__clientmsg__handler_8h.html @@ -0,0 +1,482 @@ + + + + + + +OpenJPEG: dec_clientmsg_handler.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
dec_clientmsg_handler.h File Reference
+
+
+
#include "imgsock_manager.h"
+#include "cache_manager.h"
+#include "byte_manager.h"
+#include "msgqueue_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void handle_JPIPstreamMSG (SOCKET connected_socket, cachelist_param_t *cachelist, Byte_t **jpipstream, OPJ_SIZE_T *streamlen, msgqueue_param_t *msgqueue)
 handle JPT- JPP- stream message More...
 
void handle_PNMreqMSG (SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist)
 handle PNM request message More...
 
void handle_XMLreqMSG (SOCKET connected_socket, Byte_t *jpipstream, cachelist_param_t *cachelist)
 handle XML request message More...
 
void handle_TIDreqMSG (SOCKET connected_socket, cachelist_param_t *cachelist)
 handle TargetID request message More...
 
void handle_CIDreqMSG (SOCKET connected_socket, cachelist_param_t *cachelist)
 handle ChannelID request message More...
 
void handle_dstCIDreqMSG (SOCKET connected_socket, cachelist_param_t *cachelist)
 handle distroy ChannelID message More...
 
void handle_SIZreqMSG (SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist)
 handle SIZ request message More...
 
void handle_JP2saveMSG (SOCKET connected_socket, cachelist_param_t *cachelist, msgqueue_param_t *msgqueue, Byte_t *jpipstream)
 handle saving JP2 file request message More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void handle_CIDreqMSG (SOCKET connected_socket,
cachelist_param_tcachelist 
)
+
+ +

handle ChannelID request message

+
Parameters
+ + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
+
+
+ +

References cache_param::cid, cache_param::numOfcid, opj_free, receive_string(), search_cache(), and send_CIDstream().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void handle_dstCIDreqMSG (SOCKET connected_socket,
cachelist_param_tcachelist 
)
+
+ +

handle distroy ChannelID message

+
Parameters
+ + + +
[in]connected_socketsocket descriptor
[in,out]cachelistcache list pointer
+
+
+ +

References opj_free, OPJ_TRUE, receive_string(), remove_cachecid(), and response_signal().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_JP2saveMSG (SOCKET connected_socket,
cachelist_param_tcachelist,
msgqueue_param_tmsgqueue,
Byte_tjpipstream 
)
+
+ +

handle saving JP2 file request message

+
Parameters
+ + + + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
[in]msgqueuemessage queue pointer
[in]jpipstreamaddress of caching jpipstream pointer
+
+
+ +

References cache_param::csn, opj_free, receive_string(), recons_jp2(), save_codestream(), and search_cacheBycid().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_JPIPstreamMSG (SOCKET connected_socket,
cachelist_param_tcachelist,
Byte_t ** jpipstream,
OPJ_SIZE_Tstreamlen,
msgqueue_param_tmsgqueue 
)
+
+ +

handle JPT- JPP- stream message

+
Parameters
+ + + + + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
[in,out]jpipstreamaddress of JPT- JPP- stream pointer
[in,out]streamlenaddress of stream length
[in,out]msgqueuemessage queue pointer
+
+
+ +

References add_cachecid(), message_param::csn, delete_metadatalist(), gene_cache(), gene_metadatalist(), insert_cache_into_list(), msgqueue_param::last, cache_param::metadatalist, opj_free, OPJ_TRUE, parse_JPIPstream(), parse_metamsg(), receive_JPIPstream(), response_signal(), search_cache(), search_cacheBycsn(), update_cachetid(), and update_JPIPstream().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_PNMreqMSG (SOCKET connected_socket,
Byte_tjpipstream,
msgqueue_param_tmsgqueue,
cachelist_param_tcachelist 
)
+
+ +

handle PNM request message

+
Parameters
+ + + + + +
[in]connected_socketsocket descriptor
[in]jpipstreamjpipstream pointer
[in]msgqueuemessage queue pointer
[in]cachelistcache list pointer
+
+
+ +

References ihdrbox_param::bpc, cache_param::csn, ihdrbox_param::height, jpipstream_to_pnm(), ihdrbox_param::nc, opj_free, receive_line(), receive_string(), search_cacheBycid(), search_cacheBytid(), send_PNMstream(), and ihdrbox_param::width.

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void handle_SIZreqMSG (SOCKET connected_socket,
Byte_tjpipstream,
msgqueue_param_tmsgqueue,
cachelist_param_tcachelist 
)
+
+ +

handle SIZ request message

+
Parameters
+ + + + + +
[in]connected_socketsocket descriptor
[in]jpipstreamaddress of caching jpipstream pointer
[in]msgqueuemessage queue pointer
[in,out]cachelistcache list pointer
+
+
+ +

References cache_param::csn, get_SIZ_from_jpipstream(), ihdrbox_param::height, cache_param::ihdrbox, opj_free, receive_string(), search_cacheBycid(), search_cacheBytid(), send_SIZstream(), and ihdrbox_param::width.

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void handle_TIDreqMSG (SOCKET connected_socket,
cachelist_param_tcachelist 
)
+
+ +

handle TargetID request message

+
Parameters
+ + + +
[in]connected_socketsocket descriptor
[in]cachelistcache list pointer
+
+
+ +

References opj_free, receive_string(), search_cache(), send_TIDstream(), and cache_param::tid.

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void handle_XMLreqMSG (SOCKET connected_socket,
Byte_tjpipstream,
cachelist_param_tcachelist 
)
+
+ +

handle XML request message

+
Parameters
+ + + + +
[in]connected_socketsocket descriptor
[in]jpipstreamaddress of caching jpipstream pointer
[in]cachelistcache list pointer
+
+
+ +

References metadata_param::boxcontents, metadatalist_param::last, boxcontents_param::length, cache_param::metadatalist, boxcontents_param::offset, opj_free, opj_malloc, receive_string(), search_cacheBycid(), and send_XMLstream().

+ +

Referenced by handle_clientreq().

+ +
+
+
+ + + + diff --git a/doxygen/dec__clientmsg__handler_8h_source.html b/doxygen/dec__clientmsg__handler_8h_source.html new file mode 100644 index 00000000..2036c315 --- /dev/null +++ b/doxygen/dec__clientmsg__handler_8h_source.html @@ -0,0 +1,137 @@ + + + + + + +OpenJPEG: dec_clientmsg_handler.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
dec_clientmsg_handler.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * Copyright (c) 2011, Lucian Corlaciu, GSoC
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
32 #ifndef DEC_CLIENTMSG_HANDLER_H_
+
33 # define DEC_CLIENTMSG_HANDLER_H_
+
34 
+
35 #include "imgsock_manager.h"
+
36 #include "cache_manager.h"
+
37 #include "byte_manager.h"
+
38 #include "msgqueue_manager.h"
+
39 
+
49 void handle_JPIPstreamMSG( SOCKET connected_socket, cachelist_param_t *cachelist, Byte_t **jpipstream, OPJ_SIZE_T *streamlen, msgqueue_param_t *msgqueue);
+
50 
+
59 void handle_PNMreqMSG( SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist);
+
60 
+
68 void handle_XMLreqMSG( SOCKET connected_socket, Byte_t *jpipstream, cachelist_param_t *cachelist);
+
69 
+
76 void handle_TIDreqMSG( SOCKET connected_socket, cachelist_param_t *cachelist);
+
77 
+
84 void handle_CIDreqMSG( SOCKET connected_socket, cachelist_param_t *cachelist);
+
85 
+
92 void handle_dstCIDreqMSG( SOCKET connected_socket, cachelist_param_t *cachelist);
+
93 
+
102 void handle_SIZreqMSG( SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist);
+
103 
+
112 void handle_JP2saveMSG( SOCKET connected_socket, cachelist_param_t *cachelist, msgqueue_param_t *msgqueue, Byte_t *jpipstream);
+
113 
+
114 
+
115 #endif /* !DEC_CLIENTMSG_HANDLER_H_ */
+
void handle_XMLreqMSG(SOCKET connected_socket, Byte_t *jpipstream, cachelist_param_t *cachelist)
handle XML request message
Definition: dec_clientmsg_handler.c:128
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
message queue parameters
Definition: msgqueue_manager.h:62
+
Definition: cache_manager.h:50
+
void handle_JPIPstreamMSG(SOCKET connected_socket, cachelist_param_t *cachelist, Byte_t **jpipstream, OPJ_SIZE_T *streamlen, msgqueue_param_t *msgqueue)
handle JPT- JPP- stream message
Definition: dec_clientmsg_handler.c:42
+
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+
void handle_SIZreqMSG(SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist)
handle SIZ request message
Definition: dec_clientmsg_handler.c:200
+
int SOCKET
Definition: sock_manager.h:40
+ +
void handle_CIDreqMSG(SOCKET connected_socket, cachelist_param_t *cachelist)
handle ChannelID request message
Definition: dec_clientmsg_handler.c:169
+ +
void handle_TIDreqMSG(SOCKET connected_socket, cachelist_param_t *cachelist)
handle TargetID request message
Definition: dec_clientmsg_handler.c:151
+ +
void handle_dstCIDreqMSG(SOCKET connected_socket, cachelist_param_t *cachelist)
handle distroy ChannelID message
Definition: dec_clientmsg_handler.c:189
+
void handle_PNMreqMSG(SOCKET connected_socket, Byte_t *jpipstream, msgqueue_param_t *msgqueue, cachelist_param_t *cachelist)
handle PNM request message
Definition: dec_clientmsg_handler.c:92
+
void handle_JP2saveMSG(SOCKET connected_socket, cachelist_param_t *cachelist, msgqueue_param_t *msgqueue, Byte_t *jpipstream)
handle saving JP2 file request message
Definition: dec_clientmsg_handler.c:231
+ +
+ + + + diff --git a/doxygen/dir_0b20524d8f8835ca75acc430451c8412.html b/doxygen/dir_0b20524d8f8835ca75acc430451c8412.html new file mode 100644 index 00000000..1d07985f --- /dev/null +++ b/doxygen/dir_0b20524d8f8835ca75acc430451c8412.html @@ -0,0 +1,63 @@ + + + + + + +OpenJPEG: openjpeg Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
openjpeg Directory Reference
+
+
+ + + + +

+Directories

directory  src
 
+
+ + + + diff --git a/doxygen/dir_181a881edfcb8646dab693a228fa6bde.html b/doxygen/dir_181a881edfcb8646dab693a228fa6bde.html new file mode 100644 index 00000000..331a91ae --- /dev/null +++ b/doxygen/dir_181a881edfcb8646dab693a228fa6bde.html @@ -0,0 +1,63 @@ + + + + + + +OpenJPEG: opj Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
opj Directory Reference
+
+
+ + + + +

+Directories

directory  github
 
+
+ + + + diff --git a/doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html b/doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html new file mode 100644 index 00000000..87bd6200 --- /dev/null +++ b/doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html @@ -0,0 +1,63 @@ + + + + + + +OpenJPEG: dev Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
dev Directory Reference
+
+
+ + + + +

+Directories

directory  opj
 
+
+ + + + diff --git a/doxygen/dir_5064bb5511811c3176850b7e47443f14.html b/doxygen/dir_5064bb5511811c3176850b7e47443f14.html new file mode 100644 index 00000000..f8b96950 --- /dev/null +++ b/doxygen/dir_5064bb5511811c3176850b7e47443f14.html @@ -0,0 +1,63 @@ + + + + + + +OpenJPEG: github Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
github Directory Reference
+
+
+ + + + +

+Directories

directory  openjpeg
 
+
+ + + + diff --git a/doxygen/dir_68013e83e260d17d49dee5e209315608.html b/doxygen/dir_68013e83e260d17d49dee5e209315608.html new file mode 100644 index 00000000..052de22c --- /dev/null +++ b/doxygen/dir_68013e83e260d17d49dee5e209315608.html @@ -0,0 +1,193 @@ + + + + + + +OpenJPEG: openjp2 Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
openjp2 Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  bio.c
 
file  bio.h [code]
 Implementation of an individual bit input-output (BIO)
 
file  cidx_manager.c
 
file  cidx_manager.h [code]
 Modification of jpip.h from 2KAN indexer.
 
file  cio.c
 
file  cio.h [code]
 Implementation of a byte input-output process (CIO)
 
file  dwt.c
 
file  dwt.h [code]
 Implementation of a discrete wavelet transform (DWT)
 
file  event.c
 
file  event.h [code]
 Implementation of a event callback system.
 
file  function_list.c
 
file  function_list.h [code]
 Implementation of a list of procedures.
 
file  image.c
 
file  image.h [code]
 Implementation of operations on images (IMAGE)
 
file  indexbox_manager.h [code]
 Modification of jpip.c from 2KAN indexer.
 
file  invert.c
 
file  invert.h [code]
 Implementation of the matrix inversion.
 
file  j2k.c
 
file  j2k.h [code]
 The JPEG-2000 Codestream Reader/Writer (J2K)
 
file  jp2.c
 
file  jp2.h [code]
 The JPEG-2000 file format Reader/Writer (JP2)
 
file  mct.c
 
file  mct.h [code]
 Implementation of a multi-component transforms (MCT)
 
file  mqc.c
 
file  mqc.h [code]
 Implementation of an MQ-Coder (MQC)
 
file  openjpeg.c
 
file  openjpeg.h [code]
 
file  opj_clock.c
 
file  opj_clock.h [code]
 Internal function for timing.
 
file  opj_codec.h [code]
 
file  opj_includes.h [code]
 
file  opj_intmath.h [code]
 Implementation of operations on integers (INT)
 
file  opj_inttypes.h [code]
 
file  opj_malloc.h [code]
 Internal functions.
 
file  opj_stdint.h [code]
 
file  phix_manager.c
 Modification of jpip.c from 2KAN indexer.
 
file  pi.c
 
file  pi.h [code]
 Implementation of a packet iterator (PI)
 
file  ppix_manager.c
 Modification of jpip.c from 2KAN indexer.
 
file  raw.c
 
file  raw.h [code]
 Implementation of operations for raw encoding (RAW)
 
file  t1.c
 
file  t1.h [code]
 Implementation of the tier-1 coding (coding of code-block coefficients) (T1)
 
file  t1_generate_luts.c
 
file  t1_luts.h [code]
 
file  t2.c
 
file  t2.h [code]
 Implementation of a tier-2 coding (packetization of code-block data) (T2)
 
file  tcd.c
 
file  tcd.h [code]
 Implementation of a tile coder/decoder (TCD)
 
file  tgt.c
 
file  tgt.h [code]
 Implementation of a tag-tree coder (TGT)
 
file  thix_manager.c
 Modification of jpip.c from 2KAN indexer.
 
file  tpix_manager.c
 Modification of jpip.c from 2KAN indexer.
 
+
+ + + + diff --git a/doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html b/doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html new file mode 100644 index 00000000..dcb90f2f --- /dev/null +++ b/doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html @@ -0,0 +1,63 @@ + + + + + + +OpenJPEG: antonin Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
antonin Directory Reference
+
+
+ + + + +

+Directories

directory  dev
 
+
+ + + + diff --git a/doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html b/doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html new file mode 100644 index 00000000..d942fd2e --- /dev/null +++ b/doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html @@ -0,0 +1,181 @@ + + + + + + +OpenJPEG: openjpip Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
openjpip Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  auxtrans_manager.c
 
file  auxtrans_manager.h [code]
 
file  box_manager.c
 
file  box_manager.h [code]
 
file  boxheader_manager.c
 
file  boxheader_manager.h [code]
 
file  byte_manager.c
 
file  byte_manager.h [code]
 
file  cache_manager.c
 
file  cache_manager.h [code]
 
file  cachemodel_manager.c
 
file  cachemodel_manager.h [code]
 
file  channel_manager.c
 
file  channel_manager.h [code]
 
file  codestream_manager.c
 
file  codestream_manager.h [code]
 
file  dec_clientmsg_handler.c
 
file  dec_clientmsg_handler.h [code]
 
file  faixbox_manager.c
 
file  faixbox_manager.h [code]
 
file  ihdrbox_manager.c
 
file  ihdrbox_manager.h [code]
 
file  imgreg_manager.c
 
file  imgreg_manager.h [code]
 
file  imgsock_manager.c
 
file  imgsock_manager.h [code]
 
file  index_manager.c
 
file  index_manager.h [code]
 
file  j2kheader_manager.c
 
file  j2kheader_manager.h [code]
 
file  jp2k_decoder.c
 
file  jp2k_decoder.h [code]
 
file  jp2k_encoder.c
 
file  jp2k_encoder.h [code]
 
file  jpip_parser.c
 
file  jpip_parser.h [code]
 
file  jpipstream_manager.c
 
file  jpipstream_manager.h [code]
 
file  manfbox_manager.c
 
file  manfbox_manager.h [code]
 
file  marker_manager.c
 
file  marker_manager.h [code]
 
 
 
file  mhixbox_manager.c
 
file  mhixbox_manager.h [code]
 
file  msgqueue_manager.c
 
file  msgqueue_manager.h [code]
 
file  openjpip.c
 
file  openjpip.h [code]
 
file  placeholder_manager.c
 
file  placeholder_manager.h [code]
 
file  query_parser.c
 
file  query_parser.h [code]
 
file  session_manager.c
 
file  session_manager.h [code]
 
file  sock_manager.c
 
file  sock_manager.h [code]
 
file  target_manager.c
 
file  target_manager.h [code]
 
+
+ + + + diff --git a/doxygen/dir_d522931ffa1371640980b621734a4381.html b/doxygen/dir_d522931ffa1371640980b621734a4381.html new file mode 100644 index 00000000..8fc34491 --- /dev/null +++ b/doxygen/dir_d522931ffa1371640980b621734a4381.html @@ -0,0 +1,63 @@ + + + + + + +OpenJPEG: Users Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
Users Directory Reference
+
+
+ + + + +

+Directories

directory  antonin
 
+
+ + + + diff --git a/doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html b/doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html new file mode 100644 index 00000000..59a559e1 --- /dev/null +++ b/doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html @@ -0,0 +1,65 @@ + + + + + + +OpenJPEG: lib Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
lib Directory Reference
+
+
+ + + + + + +

+Directories

directory  openjp2
 
directory  openjpip
 
+
+ + + + diff --git a/doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html b/doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html new file mode 100644 index 00000000..b6e23197 --- /dev/null +++ b/doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html @@ -0,0 +1,63 @@ + + + + + + +OpenJPEG: src Directory Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
src Directory Reference
+
+
+ + + + +

+Directories

directory  lib
 
+
+ + + + diff --git a/doxygen/doc.png b/doxygen/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/doxygen/doxygen.css b/doxygen/doxygen.css new file mode 100644 index 00000000..a0008331 --- /dev/null +++ b/doxygen/doxygen.css @@ -0,0 +1,1449 @@ +/* The standard CSS for doxygen 1.8.9.1 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doxygen/doxygen.png b/doxygen/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/doxygen/dwt_8c.html b/doxygen/dwt_8c.html new file mode 100644 index 00000000..6a7a53df --- /dev/null +++ b/doxygen/dwt_8c.html @@ -0,0 +1,367 @@ + + + + + + +OpenJPEG: dwt.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
dwt.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + + + + +

+Data Structures

struct  dwt_local
 
union  opj_v4_t
 
struct  v4dwt_local
 
+ + + + + + + + + + + + + + + + + +

+Macros

#define OPJ_WS(i)   v->mem[(i)*2]
 
#define OPJ_WD(i)   v->mem[(1+(i)*2)]
 
#define OPJ_S(i)   a[(i)*2]
 
#define OPJ_D(i)   a[(1+(i)*2)]
 
#define OPJ_S_(i)   ((i)<0?OPJ_S(0):((i)>=sn?OPJ_S(sn-1):OPJ_S(i)))
 
#define OPJ_D_(i)   ((i)<0?OPJ_D(0):((i)>=dn?OPJ_D(dn-1):OPJ_D(i)))
 
#define OPJ_SS_(i)   ((i)<0?OPJ_S(0):((i)>=dn?OPJ_S(dn-1):OPJ_S(i)))
 
#define OPJ_DD_(i)   ((i)<0?OPJ_D(0):((i)>=sn?OPJ_D(sn-1):OPJ_D(i)))
 
+ + + + +

+Typedefs

typedef void(* DWT1DFN) (opj_dwt_t *v)
 Virtual function type for wavelet transform in 1-D. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

OPJ_BOOL opj_dwt_encode (opj_tcd_tilecomp_t *tilec)
 Forward 5-3 wavelet tranform in 2-D. More...
 
OPJ_BOOL opj_dwt_decode (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
 Inverse 5-3 wavelet tranform in 2-D. More...
 
OPJ_UINT32 opj_dwt_getgain (OPJ_UINT32 orient)
 Get the gain of a subband for the reversible 5-3 DWT. More...
 
OPJ_FLOAT64 opj_dwt_getnorm (OPJ_UINT32 level, OPJ_UINT32 orient)
 Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT. More...
 
OPJ_BOOL opj_dwt_encode_real (opj_tcd_tilecomp_t *tilec)
 Forward 9-7 wavelet transform in 2-D. More...
 
OPJ_UINT32 opj_dwt_getgain_real (OPJ_UINT32 orient)
 Get the gain of a subband for the irreversible 9-7 DWT. More...
 
OPJ_FLOAT64 opj_dwt_getnorm_real (OPJ_UINT32 level, OPJ_UINT32 orient)
 Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT. More...
 
void opj_dwt_calc_explicit_stepsizes (opj_tccp_t *tccp, OPJ_UINT32 prec)
 Explicit calculation of the Quantization Stepsizes. More...
 
OPJ_BOOL opj_dwt_decode_real (opj_tcd_tilecomp_t *restrict tilec, OPJ_UINT32 numres)
 Inverse 9-7 wavelet transform in 2-D. More...
 
Local static functions
static void opj_dwt_deinterleave_h (OPJ_INT32 *a, OPJ_INT32 *b, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 Forward lazy transform (horizontal) More...
 
static void opj_dwt_deinterleave_v (OPJ_INT32 *a, OPJ_INT32 *b, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 x, OPJ_INT32 cas)
 Forward lazy transform (vertical) More...
 
static void opj_dwt_interleave_h (opj_dwt_t *h, OPJ_INT32 *a)
 Inverse lazy transform (horizontal) More...
 
static void opj_dwt_interleave_v (opj_dwt_t *v, OPJ_INT32 *a, OPJ_INT32 x)
 Inverse lazy transform (vertical) More...
 
static void opj_dwt_encode_1 (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 Forward 5-3 wavelet transform in 1-D. More...
 
static void opj_dwt_decode_1 (opj_dwt_t *v)
 Inverse 5-3 wavelet transform in 1-D. More...
 
static void opj_dwt_decode_1_ (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 
static void opj_dwt_encode_1_real (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 Forward 9-7 wavelet transform in 1-D. More...
 
static void opj_dwt_encode_stepsize (OPJ_INT32 stepsize, OPJ_INT32 numbps, opj_stepsize_t *bandno_stepsize)
 Explicit calculation of the Quantization Stepsizes. More...
 
static OPJ_BOOL opj_dwt_decode_tile (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 i, DWT1DFN fn)
 Inverse wavelet transform in 2-D. More...
 
static OPJ_BOOL opj_dwt_encode_procedure (opj_tcd_tilecomp_t *tilec, void(*p_function)(OPJ_INT32 *, OPJ_INT32, OPJ_INT32, OPJ_INT32))
 
static OPJ_UINT32 opj_dwt_max_resolution (opj_tcd_resolution_t *restrict r, OPJ_UINT32 i)
 
static void opj_v4dwt_decode (opj_v4dwt_t *restrict dwt)
 
static void opj_v4dwt_interleave_h (opj_v4dwt_t *restrict w, OPJ_FLOAT32 *restrict a, OPJ_INT32 x, OPJ_INT32 size)
 
static void opj_v4dwt_interleave_v (opj_v4dwt_t *restrict v, OPJ_FLOAT32 *restrict a, OPJ_INT32 x, OPJ_INT32 nb_elts_read)
 
static void opj_v4dwt_decode_step1 (opj_v4_t *w, OPJ_INT32 count, const OPJ_FLOAT32 c)
 
static void opj_v4dwt_decode_step2 (opj_v4_t *l, opj_v4_t *w, OPJ_INT32 k, OPJ_INT32 m, OPJ_FLOAT32 c)
 
+ + + + + +

+Variables

static const OPJ_FLOAT64 opj_dwt_norms [4][10]
 
static const OPJ_FLOAT64 opj_dwt_norms_real [4][10]
 
+ + + + + + + + + + + + + + + + + +

+Local data structures

typedef struct dwt_local opj_dwt_t
 
typedef struct v4dwt_local opj_v4dwt_t
 
static const OPJ_FLOAT32 opj_dwt_alpha = 1.586134342f
 
static const OPJ_FLOAT32 opj_dwt_beta = 0.052980118f
 
static const OPJ_FLOAT32 opj_dwt_gamma = -0.882911075f
 
static const OPJ_FLOAT32 opj_dwt_delta = -0.443506852f
 
static const OPJ_FLOAT32 opj_K = 1.230174105f
 
static const OPJ_FLOAT32 opj_c13318 = 1.625732422f
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define OPJ_D( i)   a[(1+(i)*2)]
+
+
+ +
+
+ + + + + + + + +
#define OPJ_D_( i)   ((i)<0?OPJ_D(0):((i)>=dn?OPJ_D(dn-1):OPJ_D(i)))
+
+
+ +
+
+ + + + + + + + +
#define OPJ_DD_( i)   ((i)<0?OPJ_D(0):((i)>=sn?OPJ_D(sn-1):OPJ_D(i)))
+
+
+ +
+
+ + + + + + + + +
#define OPJ_S( i)   a[(i)*2]
+
+
+ +
+
+ + + + + + + + +
#define OPJ_S_( i)   ((i)<0?OPJ_S(0):((i)>=sn?OPJ_S(sn-1):OPJ_S(i)))
+
+ +

Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+ +
+
+ +
+
+ + + + + + + + +
#define OPJ_SS_( i)   ((i)<0?OPJ_S(0):((i)>=dn?OPJ_S(dn-1):OPJ_S(i)))
+
+ +

Referenced by opj_dwt_decode_1_(), and opj_dwt_encode_1_real().

+ +
+
+

Variable Documentation

+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT64 opj_dwt_norms[4][10]
+
+static
+
+Initial value:
= {
+
{1.000, 1.500, 2.750, 5.375, 10.68, 21.34, 42.67, 85.33, 170.7, 341.3},
+
{1.038, 1.592, 2.919, 5.703, 11.33, 22.64, 45.25, 90.48, 180.9},
+
{1.038, 1.592, 2.919, 5.703, 11.33, 22.64, 45.25, 90.48, 180.9},
+
{.7186, .9218, 1.586, 3.043, 6.019, 12.01, 24.00, 47.97, 95.93}
+
}
+
+
+
+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT64 opj_dwt_norms_real[4][10]
+
+static
+
+Initial value:
= {
+
{1.000, 1.965, 4.177, 8.403, 16.90, 33.84, 67.69, 135.3, 270.6, 540.9},
+
{2.022, 3.989, 8.355, 17.04, 34.27, 68.63, 137.3, 274.6, 549.0},
+
{2.022, 3.989, 8.355, 17.04, 34.27, 68.63, 137.3, 274.6, 549.0},
+
{2.080, 3.865, 8.307, 17.18, 34.71, 69.59, 139.3, 278.6, 557.2}
+
}
+
+
+
+
+ + + + diff --git a/doxygen/dwt_8h.html b/doxygen/dwt_8h.html new file mode 100644 index 00000000..5308ab33 --- /dev/null +++ b/doxygen/dwt_8h.html @@ -0,0 +1,103 @@ + + + + + + +OpenJPEG: dwt.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
dwt.h File Reference
+
+
+ +

Implementation of a discrete wavelet transform (DWT) +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Exported functions
OPJ_BOOL opj_dwt_encode (opj_tcd_tilecomp_t *tilec)
 Forward 5-3 wavelet tranform in 2-D. More...
 
OPJ_BOOL opj_dwt_decode (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
 Inverse 5-3 wavelet tranform in 2-D. More...
 
OPJ_UINT32 opj_dwt_getgain (OPJ_UINT32 orient)
 Get the gain of a subband for the reversible 5-3 DWT. More...
 
OPJ_FLOAT64 opj_dwt_getnorm (OPJ_UINT32 level, OPJ_UINT32 orient)
 Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT. More...
 
OPJ_BOOL opj_dwt_encode_real (opj_tcd_tilecomp_t *tilec)
 Forward 9-7 wavelet transform in 2-D. More...
 
OPJ_BOOL opj_dwt_decode_real (opj_tcd_tilecomp_t *restrict tilec, OPJ_UINT32 numres)
 Inverse 9-7 wavelet transform in 2-D. More...
 
OPJ_UINT32 opj_dwt_getgain_real (OPJ_UINT32 orient)
 Get the gain of a subband for the irreversible 9-7 DWT. More...
 
OPJ_FLOAT64 opj_dwt_getnorm_real (OPJ_UINT32 level, OPJ_UINT32 orient)
 Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT. More...
 
void opj_dwt_calc_explicit_stepsizes (opj_tccp_t *tccp, OPJ_UINT32 prec)
 Explicit calculation of the Quantization Stepsizes. More...
 
+

Detailed Description

+

Implementation of a discrete wavelet transform (DWT)

+

The functions in DWT.C have for goal to realize forward and inverse discret wavelet transform with filter 5-3 (reversible) and filter 9-7 (irreversible). The functions in DWT.C are used by some function in TCD.C.

+
+ + + + diff --git a/doxygen/dwt_8h_source.html b/doxygen/dwt_8h_source.html new file mode 100644 index 00000000..97ac3572 --- /dev/null +++ b/doxygen/dwt_8h_source.html @@ -0,0 +1,136 @@ + + + + + + +OpenJPEG: dwt.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
dwt.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
8  * Copyright (c) 2002-2014, Professor Benoit Macq
+
9  * Copyright (c) 2001-2003, David Janssens
+
10  * Copyright (c) 2002-2003, Yannick Verschueren
+
11  * Copyright (c) 2003-2007, Francois-Olivier Devaux
+
12  * Copyright (c) 2003-2014, Antonin Descampe
+
13  * Copyright (c) 2005, Herve Drolon, FreeImage Team
+
14  * All rights reserved.
+
15  *
+
16  * Redistribution and use in source and binary forms, with or without
+
17  * modification, are permitted provided that the following conditions
+
18  * are met:
+
19  * 1. Redistributions of source code must retain the above copyright
+
20  * notice, this list of conditions and the following disclaimer.
+
21  * 2. Redistributions in binary form must reproduce the above copyright
+
22  * notice, this list of conditions and the following disclaimer in the
+
23  * documentation and/or other materials provided with the distribution.
+
24  *
+
25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
26  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
27  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
28  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
29  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
30  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
32  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
33  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
34  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
35  * POSSIBILITY OF SUCH DAMAGE.
+
36  */
+
37 
+
38 #ifndef __DWT_H
+
39 #define __DWT_H
+
40 
+
51 
+
52 
+
55 /* ----------------------------------------------------------------------- */
+ +
62 
+ +
70 
+ + + + +
97 
+ + + +
117 /* ----------------------------------------------------------------------- */
+
121 
+
122 #endif /* __DWT_H */
+
OPJ_BOOL opj_dwt_encode(opj_tcd_tilecomp_t *tilec)
Forward 5-3 wavelet tranform in 2-D.
Definition: dwt.c:466
+
double OPJ_FLOAT64
Definition: openjpeg.h:116
+
OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient)
Get the gain of a subband for the reversible 5-3 DWT.
Definition: dwt.c:482
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
Tile-component coding parameters.
Definition: j2k.h:176
+
OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t *tilec)
Forward 9-7 wavelet transform in 2-D.
Definition: dwt.c:500
+
OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient)
Get the gain of a subband for the irreversible 9-7 DWT.
Definition: dwt.c:508
+
OPJ_FLOAT64 opj_dwt_getnorm(OPJ_UINT32 level, OPJ_UINT32 orient)
Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT...
Definition: dwt.c:493
+
OPJ_BOOL opj_dwt_decode_real(opj_tcd_tilecomp_t *restrict tilec, OPJ_UINT32 numres)
Inverse 9-7 wavelet transform in 2-D.
Definition: dwt.c:833
+
OPJ_FLOAT64 opj_dwt_getnorm_real(OPJ_UINT32 level, OPJ_UINT32 orient)
Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT...
Definition: dwt.c:516
+
void opj_dwt_calc_explicit_stepsizes(opj_tccp_t *tccp, OPJ_UINT32 prec)
Explicit calculation of the Quantization Stepsizes.
Definition: dwt.c:520
+
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
+
#define restrict
Definition: opj_includes.h:117
+
FIXME DOC.
Definition: tcd.h:158
+
OPJ_BOOL opj_dwt_decode(opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
Inverse 5-3 wavelet tranform in 2-D.
Definition: dwt.c:474
+
+ + + + diff --git a/doxygen/dynsections.js b/doxygen/dynsections.js new file mode 100644 index 00000000..85e18369 --- /dev/null +++ b/doxygen/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +OpenJPEG: event.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
event.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + +

+Macros

#define OPJ_MSG_SIZE   512 /* 512 bytes should be more than enough for a short message */
 
+ + + + + + + + + + +

+Functions

static void opj_default_callback (const char *msg, void *client_data)
 Default callback function. More...
 
OPJ_BOOL opj_event_msg (opj_event_mgr_t *p_event_mgr, OPJ_INT32 event_type, const char *fmt,...)
 Write formatted data to a string and send the string to a user callback. More...
 
void opj_set_default_event_handler (opj_event_mgr_t *p_manager)
 Set the event manager with the default callback function for the 3 levels. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define OPJ_MSG_SIZE   512 /* 512 bytes should be more than enough for a short message */
+
+ +

Referenced by opj_event_msg().

+ +
+
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void opj_default_callback (const char * msg,
void * client_data 
)
+
+static
+
+ +

Default callback function.

+

Do nothing.

+ +

References OPJ_ARG_NOT_USED.

+ +

Referenced by opj_set_default_event_handler().

+ +
+
+
+ + + + diff --git a/doxygen/event_8h.html b/doxygen/event_8h.html new file mode 100644 index 00000000..46945630 --- /dev/null +++ b/doxygen/event_8h.html @@ -0,0 +1,182 @@ + + + + + + +OpenJPEG: event.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
event.h File Reference
+
+
+ +

Implementation of a event callback system. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  opj_event_mgr
 Message handler object used for. More...
 
+ + + + + + + + + + +

+Macros

#define EVT_ERROR   1
 Error event type. More...
 
#define EVT_WARNING   2
 Warning event type. More...
 
#define EVT_INFO   4
 Debug event type. More...
 
+ + + + +

+Typedefs

typedef struct opj_event_mgr opj_event_mgr_t
 Message handler object used for. More...
 
+ + + + + + + + +

+Functions

Exported functions (see also openjpeg.h)
OPJ_BOOL opj_event_msg (opj_event_mgr_t *event_mgr, OPJ_INT32 event_type, const char *fmt,...)
 Write formatted data to a string and send the string to a user callback. More...
 
void opj_set_default_event_handler (opj_event_mgr_t *p_manager)
 Set the event manager with the default callback function for the 3 levels. More...
 
+

Detailed Description

+

Implementation of a event callback system.

+

The functions in EVENT.C have for goal to send output messages (errors, warnings, debug) to the user.

+

Macro Definition Documentation

+ +
+
+ + + + +
#define EVT_ERROR   1
+
+ +

Error event type.

+ +

Referenced by j2k_read_ppm_v3(), opj_event_msg(), opj_j2k_check_poc_val(), opj_j2k_copy_default_tcp_and_create_tcd(), opj_j2k_create_tcd(), opj_j2k_decode_one_tile(), opj_j2k_decode_tile(), opj_j2k_decode_tiles(), opj_j2k_encode(), opj_j2k_encoding_validation(), opj_j2k_get_sot_values(), opj_j2k_get_tile(), opj_j2k_need_nb_tile_parts_correction(), opj_j2k_pre_write_tile(), opj_j2k_read_cbd(), opj_j2k_read_coc(), opj_j2k_read_cod(), opj_j2k_read_crg(), opj_j2k_read_header_procedure(), opj_j2k_read_mcc(), opj_j2k_read_mco(), opj_j2k_read_mct(), opj_j2k_read_plm(), opj_j2k_read_plt(), opj_j2k_read_poc(), opj_j2k_read_ppt(), opj_j2k_read_qcc(), opj_j2k_read_qcd(), opj_j2k_read_rgn(), opj_j2k_read_siz(), opj_j2k_read_soc(), opj_j2k_read_sod(), opj_j2k_read_sot(), opj_j2k_read_SPCod_SPCoc(), opj_j2k_read_SQcd_SQcc(), opj_j2k_read_tile_header(), opj_j2k_read_tlm(), opj_j2k_read_unk(), opj_j2k_set_decode_area(), opj_j2k_set_decoded_resolution_factor(), opj_j2k_setup_encoder(), opj_j2k_start_compress(), opj_j2k_write_cbd(), opj_j2k_write_cod(), opj_j2k_write_com(), opj_j2k_write_mcc_record(), opj_j2k_write_mco(), opj_j2k_write_mct_record(), opj_j2k_write_poc(), opj_j2k_write_qcd(), opj_j2k_write_siz(), opj_j2k_write_sod(), opj_j2k_write_SPCod_SPCoc(), opj_j2k_write_SQcd_SQcc(), opj_j2k_write_tile(), opj_j2k_write_tlm(), opj_jp2_check_color(), opj_jp2_decode(), opj_jp2_get_tile(), opj_jp2_read_boxhdr(), opj_jp2_read_boxhdr_char(), opj_jp2_read_bpcc(), opj_jp2_read_cdef(), opj_jp2_read_cmap(), opj_jp2_read_colr(), opj_jp2_read_ftyp(), opj_jp2_read_header_procedure(), opj_jp2_read_ihdr(), opj_jp2_read_jp(), opj_jp2_read_jp2h(), opj_jp2_read_pclr(), opj_jp2_setup_encoder(), opj_jp2_write_ftyp(), opj_jp2_write_jp2c(), opj_jp2_write_jp2h(), opj_read_header(), opj_setup_decoder(), opj_t2_read_packet_data(), and opj_t2_skip_packet_data().

+ +
+
+ + + + +

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_event_mgr opj_event_mgr_t
+
+ +

Message handler object used for.

+
    +
  • +Error messages
  • +
  • +Warning messages
  • +
  • +Debugging messages
  • +
+ +
+
+
+ + + + diff --git a/doxygen/event_8h_source.html b/doxygen/event_8h_source.html new file mode 100644 index 00000000..472079b8 --- /dev/null +++ b/doxygen/event_8h_source.html @@ -0,0 +1,139 @@ + + + + + + +OpenJPEG: event.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
event.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2005, Herve Drolon, FreeImage Team
+
8  * Copyright (c) 2008, 2011-2012, Centre National d'Etudes Spatiales (CNES), FR
+
9  * Copyright (c) 2012, CS Systemes d'Information, France
+
10  * All rights reserved.
+
11  *
+
12  * Redistribution and use in source and binary forms, with or without
+
13  * modification, are permitted provided that the following conditions
+
14  * are met:
+
15  * 1. Redistributions of source code must retain the above copyright
+
16  * notice, this list of conditions and the following disclaimer.
+
17  * 2. Redistributions in binary form must reproduce the above copyright
+
18  * notice, this list of conditions and the following disclaimer in the
+
19  * documentation and/or other materials provided with the distribution.
+
20  *
+
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
24  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
31  * POSSIBILITY OF SUCH DAMAGE.
+
32  */
+
33 #ifndef __EVENT_H
+
34 #define __EVENT_H
+
35 
+
50 typedef struct opj_event_mgr
+
51 {
+
53  void * m_error_data;
+ +
57  void * m_info_data;
+ + + + +
65 
+
66 
+
67 #define EVT_ERROR 1
+
68 #define EVT_WARNING 2
+
69 #define EVT_INFO 4
+
73 
+
74 
+
76 /* ----------------------------------------------------------------------- */
+
77 
+
78 
+
79 /* ----------------------------------------------------------------------- */
+
80 
+
90 OPJ_BOOL opj_event_msg(opj_event_mgr_t* event_mgr, OPJ_INT32 event_type, const char *fmt, ...);
+
91 /* ----------------------------------------------------------------------- */
+
92 
+ +
97 
+
101 
+
102 #endif /* __EVENT_H */
+
opj_msg_callback info_handler
Debug message callback if available, NULL otherwise.
Definition: event.h:63
+
void * m_error_data
Data to call the event manager upon.
Definition: event.h:53
+
Message handler object used for.
Definition: event.h:50
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
int32_t OPJ_INT32
Definition: openjpeg.h:125
+
void(* opj_msg_callback)(const char *msg, void *client_data)
Callback function prototype for events.
Definition: openjpeg.h:313
+
OPJ_BOOL opj_event_msg(opj_event_mgr_t *event_mgr, OPJ_INT32 event_type, const char *fmt,...)
Write formatted data to a string and send the string to a user callback.
Definition: event.c:86
+
opj_msg_callback warning_handler
Warning message callback if available, NULL otherwise.
Definition: event.h:61
+
void * m_warning_data
Data to call the event manager upon.
Definition: event.h:55
+
opj_msg_callback error_handler
Error message callback if available, NULL otherwise.
Definition: event.h:59
+
struct opj_event_mgr opj_event_mgr_t
Message handler object used for.
+
void opj_set_default_event_handler(opj_event_mgr_t *p_manager)
Set the event manager with the default callback function for the 3 levels.
Definition: event.c:137
+
void * m_info_data
Data to call the event manager upon.
Definition: event.h:57
+
+ + + + diff --git a/doxygen/faixbox__manager_8c.html b/doxygen/faixbox__manager_8c.html new file mode 100644 index 00000000..dd5fd0d5 --- /dev/null +++ b/doxygen/faixbox__manager_8c.html @@ -0,0 +1,426 @@ + + + + + + +OpenJPEG: faixbox_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
faixbox_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include "faixbox_manager.h"
+#include "opj_inttypes.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

faixbox_param_tgene_faixbox (box_param_t *box)
 generate faix box More...
 
void print_faixbox (faixbox_param_t *faix)
 print faix box parameters More...
 
void delete_faixbox (faixbox_param_t **faix)
 delete faix box More...
 
Byte8_t get_nmax (faixbox_param_t *faix)
 get nmax parameter value from faix box More...
 
Byte8_t get_m (faixbox_param_t *faix)
 get m parameter value from faix box More...
 
Byte8_t get_elemOff (faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
 get offset of a element from faix box More...
 
Byte8_t get_elemLen (faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
 get length of a element from faix box More...
 
Byte4_t get_elemAux (faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
 get aux of a element from faix box More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +

Referenced by gene_faixbox().

+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +

Referenced by print_faixbox().

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void delete_faixbox (faixbox_param_t ** faix)
+
+ +

delete faix box

+
Parameters
+ + +
[in,out]faixaddressof the faixbox pointer
+
+
+ +

Referenced by delete_index().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte4_t get_elemAux (faixbox_param_tfaix,
Byte8_t elem_id,
Byte8_t row_id 
)
+
+ +

get aux of a element from faix box

+
Parameters
+ + + + +
[in]faixfaix box pointer
[in]elem_idelement id in a row (0<= <nmax)
[in]row_idrow id (0<= <m)
+
+
+ +

References subfaixbox4_param::aux, subfaixbox8_param::aux, subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, get_nmax(), faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by print_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte8_t get_elemLen (faixbox_param_tfaix,
Byte8_t elem_id,
Byte8_t row_id 
)
+
+ +

get length of a element from faix box

+
Parameters
+ + + + +
[in]faixfaix box pointer
[in]elem_idelement id in a row (0<= <nmax)
[in]row_idrow id (0<= <m)
+
+
+ +

References subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, subfaixbox4_param::elem, subfaixbox8_param::elem, get_nmax(), faixelem4_param::len, faixelem8_param::len, faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by enqueue_precinct(), enqueue_tile(), and print_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte8_t get_elemOff (faixbox_param_tfaix,
Byte8_t elem_id,
Byte8_t row_id 
)
+
+ +

get offset of a element from faix box

+
Parameters
+ + + + +
[in]faixfaix box pointer
[in]elem_idelement id in a row (0<= <nmax)
[in]row_idrow id (0<= <m)
+
+
+ +

References subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, subfaixbox4_param::elem, subfaixbox8_param::elem, get_nmax(), faixelem4_param::off, faixelem8_param::off, faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by enqueue_precinct(), enqueue_tile(), enqueue_tileheader(), and print_faixbox().

+ +
+
+ +
+
+ + + + + + + + +
Byte8_t get_m (faixbox_param_tfaix)
+
+ +

get m parameter value from faix box

+
Parameters
+ + +
[in]faixfaix box pointer
+
+
+ +

References subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, subfaixbox4_param::m, subfaixbox8_param::m, faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by enqueue_tile(), gene_cachemodel(), and print_faixbox().

+ +
+
+ + + +
+
+ + + + + + + + +
void print_faixbox (faixbox_param_tfaix)
+
+ +

print faix box parameters

+
Parameters
+ + +
[in]faixfaix box pointer
+
+
+ +

References get_elemAux(), get_elemLen(), get_elemOff(), get_m(), get_nmax(), logstream, and faixbox_param::version.

+ +

Referenced by print_index().

+ +
+
+
+ + + + diff --git a/doxygen/faixbox__manager_8h.html b/doxygen/faixbox__manager_8h.html new file mode 100644 index 00000000..0fb7aac3 --- /dev/null +++ b/doxygen/faixbox__manager_8h.html @@ -0,0 +1,505 @@ + + + + + + +OpenJPEG: faixbox_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
faixbox_manager.h File Reference
+
+
+
#include "byte_manager.h"
+#include "box_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  faixelem4_param
 4byte parameters of a faix element More...
 
struct  faixelem8_param
 8byte parameters of a faix element More...
 
struct  subfaixbox4_param
 4byte parameters of fragment array index box More...
 
struct  subfaixbox8_param
 8byte parameters of fragment array index box More...
 
union  subfaixbox_param
 variable sized parameters in fragment array index box More...
 
struct  faixbox_param
 fragment array index box parameters More...
 
+ + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct faixelem4_param faixelem4_param_t
 4byte parameters of a faix element More...
 
typedef struct faixelem8_param faixelem8_param_t
 8byte parameters of a faix element More...
 
typedef struct subfaixbox4_param subfaixbox4_param_t
 4byte parameters of fragment array index box More...
 
typedef struct subfaixbox8_param subfaixbox8_param_t
 8byte parameters of fragment array index box More...
 
typedef union subfaixbox_param subfaixbox_param_t
 variable sized parameters in fragment array index box More...
 
typedef struct faixbox_param faixbox_param_t
 fragment array index box parameters More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

faixbox_param_tgene_faixbox (box_param_t *box)
 generate faix box More...
 
void print_faixbox (faixbox_param_t *faix)
 print faix box parameters More...
 
void delete_faixbox (faixbox_param_t **faix)
 delete faix box More...
 
Byte8_t get_nmax (faixbox_param_t *faix)
 get nmax parameter value from faix box More...
 
Byte8_t get_m (faixbox_param_t *faix)
 get m parameter value from faix box More...
 
Byte8_t get_elemOff (faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
 get offset of a element from faix box More...
 
Byte8_t get_elemLen (faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
 get length of a element from faix box More...
 
Byte4_t get_elemAux (faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
 get aux of a element from faix box More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct faixbox_param faixbox_param_t
+
+ +

fragment array index box parameters

+

I.3.2.4.2 Fragment Array Index box

+ +
+
+ +
+
+ + + + +
typedef struct faixelem4_param faixelem4_param_t
+
+ +

4byte parameters of a faix element

+ +
+
+ +
+
+ + + + +
typedef struct faixelem8_param faixelem8_param_t
+
+ +

8byte parameters of a faix element

+ +
+
+ +
+
+ + + + +
typedef struct subfaixbox4_param subfaixbox4_param_t
+
+ +

4byte parameters of fragment array index box

+ +
+
+ +
+
+ + + + +
typedef struct subfaixbox8_param subfaixbox8_param_t
+
+ +

8byte parameters of fragment array index box

+ +
+
+ +
+
+ + + + +
typedef union subfaixbox_param subfaixbox_param_t
+
+ +

variable sized parameters in fragment array index box

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void delete_faixbox (faixbox_param_t ** faix)
+
+ +

delete faix box

+
Parameters
+ + +
[in,out]faixaddressof the faixbox pointer
+
+
+ +

Referenced by delete_index().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte4_t get_elemAux (faixbox_param_tfaix,
Byte8_t elem_id,
Byte8_t row_id 
)
+
+ +

get aux of a element from faix box

+
Parameters
+ + + + +
[in]faixfaix box pointer
[in]elem_idelement id in a row (0<= <nmax)
[in]row_idrow id (0<= <m)
+
+
+ +

References subfaixbox4_param::aux, subfaixbox8_param::aux, subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, get_nmax(), faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by print_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte8_t get_elemLen (faixbox_param_tfaix,
Byte8_t elem_id,
Byte8_t row_id 
)
+
+ +

get length of a element from faix box

+
Parameters
+ + + + +
[in]faixfaix box pointer
[in]elem_idelement id in a row (0<= <nmax)
[in]row_idrow id (0<= <m)
+
+
+ +

References subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, subfaixbox4_param::elem, subfaixbox8_param::elem, get_nmax(), faixelem4_param::len, faixelem8_param::len, faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by enqueue_precinct(), enqueue_tile(), and print_faixbox().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte8_t get_elemOff (faixbox_param_tfaix,
Byte8_t elem_id,
Byte8_t row_id 
)
+
+ +

get offset of a element from faix box

+
Parameters
+ + + + +
[in]faixfaix box pointer
[in]elem_idelement id in a row (0<= <nmax)
[in]row_idrow id (0<= <m)
+
+
+ +

References subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, subfaixbox4_param::elem, subfaixbox8_param::elem, get_nmax(), faixelem4_param::off, faixelem8_param::off, faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by enqueue_precinct(), enqueue_tile(), enqueue_tileheader(), and print_faixbox().

+ +
+
+ +
+
+ + + + + + + + +
Byte8_t get_m (faixbox_param_tfaix)
+
+ +

get m parameter value from faix box

+
Parameters
+ + +
[in]faixfaix box pointer
+
+
+ +

References subfaixbox_param::byte4_params, subfaixbox_param::byte8_params, subfaixbox4_param::m, subfaixbox8_param::m, faixbox_param::subfaixbox, and faixbox_param::version.

+ +

Referenced by enqueue_tile(), gene_cachemodel(), and print_faixbox().

+ +
+
+ + + +
+
+ + + + + + + + +
void print_faixbox (faixbox_param_tfaix)
+
+ +

print faix box parameters

+
Parameters
+ + +
[in]faixfaix box pointer
+
+
+ +

References get_elemAux(), get_elemLen(), get_elemOff(), get_m(), get_nmax(), logstream, and faixbox_param::version.

+ +

Referenced by print_index().

+ +
+
+
+ + + + diff --git a/doxygen/faixbox__manager_8h_source.html b/doxygen/faixbox__manager_8h_source.html new file mode 100644 index 00000000..75ede4ed --- /dev/null +++ b/doxygen/faixbox__manager_8h_source.html @@ -0,0 +1,195 @@ + + + + + + +OpenJPEG: faixbox_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
faixbox_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef FAIXBOX_MANAGER_H_
+
32 # define FAIXBOX_MANAGER_H_
+
33 
+
34 #include "byte_manager.h"
+
35 #include "box_manager.h"
+
36 
+
38 typedef struct faixelem4_param{
+ + + +
42 
+
44 typedef struct faixelem8_param{
+ + + +
48 
+
50 typedef struct subfaixbox4_param{
+ + + + + +
57 
+
59 typedef struct subfaixbox8_param{
+ + + + + +
66 
+
68 typedef union subfaixbox_param{
+ + + +
72 
+
75 typedef struct faixbox_param{
+ + + +
79 
+
80 
+ +
88 
+
89 
+
95 void print_faixbox( faixbox_param_t *faix);
+
96 
+
97 
+
103 void delete_faixbox( faixbox_param_t **faix);
+
104 
+ +
111 
+ +
118 
+
126 Byte8_t get_elemOff( faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id);
+
127 
+
135 Byte8_t get_elemLen( faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id);
+
136 
+
144 Byte4_t get_elemAux( faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id);
+
145 
+
146 #endif /* !FAIXBOX_MANAGER_H_ */
+
Byte_t version
Refer to the Table I.3 - Version values.
Definition: faixbox_manager.h:76
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
fragment array index box parameters
Definition: faixbox_manager.h:75
+
box parameters
Definition: box_manager.h:37
+
struct faixbox_param faixbox_param_t
fragment array index box parameters
+
subfaixbox_param_t subfaixbox
rest information in faixbox
Definition: faixbox_manager.h:77
+
struct faixelem4_param faixelem4_param_t
4byte parameters of a faix element
+
Byte8_t get_elemLen(faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
get length of a element from faix box
Definition: faixbox_manager.c:175
+
union subfaixbox_param subfaixbox_param_t
variable sized parameters in fragment array index box
+
Byte8_t off
offset
Definition: faixbox_manager.h:45
+
void print_faixbox(faixbox_param_t *faix)
print faix box parameters
Definition: faixbox_manager.c:112
+
Byte8_t get_elemOff(faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
get offset of a element from faix box
Definition: faixbox_manager.c:166
+
void delete_faixbox(faixbox_param_t **faix)
delete faix box
Definition: faixbox_manager.c:133
+
Byte4_t off
offset
Definition: faixbox_manager.h:39
+
Byte4_t m
number of raws of the array
Definition: faixbox_manager.h:52
+
Byte8_t get_nmax(faixbox_param_t *faix)
get nmax parameter value from faix box
Definition: faixbox_manager.c:150
+
struct subfaixbox8_param subfaixbox8_param_t
8byte parameters of fragment array index box
+
faixelem4_param_t * elem
dynamic array pointer of faix elements
Definition: faixbox_manager.h:53
+
Byte8_t nmax
maximum number of valid elements in any row of the array
Definition: faixbox_manager.h:60
+
Byte8_t m
number of raws of the array
Definition: faixbox_manager.h:61
+
faixbox_param_t * gene_faixbox(box_param_t *box)
generate faix box
Definition: faixbox_manager.c:45
+
uint32_t Byte4_t
Definition: byte_manager.h:39
+
variable sized parameters in fragment array index box
Definition: faixbox_manager.h:68
+
4byte parameters of fragment array index box
Definition: faixbox_manager.h:50
+
subfaixbox8_param_t * byte8_params
parameters with 8byte codes for version 1 or 3
Definition: faixbox_manager.h:70
+ +
subfaixbox4_param_t * byte4_params
parameters with 4byte codes for version 0 or 2
Definition: faixbox_manager.h:69
+
8byte parameters of a faix element
Definition: faixbox_manager.h:44
+
Byte4_t * aux
dynamic array pointer of auxiliary
Definition: faixbox_manager.h:54
+
Byte8_t get_m(faixbox_param_t *faix)
get m parameter value from faix box
Definition: faixbox_manager.c:158
+
8byte parameters of fragment array index box
Definition: faixbox_manager.h:59
+
Byte4_t nmax
maximum number of valid elements in any row of the array
Definition: faixbox_manager.h:51
+
Byte8_t len
length
Definition: faixbox_manager.h:46
+
Byte4_t * aux
dynamic array pointer of auxiliary
Definition: faixbox_manager.h:63
+ +
struct faixelem8_param faixelem8_param_t
8byte parameters of a faix element
+
4byte parameters of a faix element
Definition: faixbox_manager.h:38
+
struct subfaixbox4_param subfaixbox4_param_t
4byte parameters of fragment array index box
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
faixelem8_param_t * elem
dynamic array pointer of faix elements
Definition: faixbox_manager.h:62
+
Byte4_t get_elemAux(faixbox_param_t *faix, Byte8_t elem_id, Byte8_t row_id)
get aux of a element from faix box
Definition: faixbox_manager.c:184
+
Byte4_t len
length
Definition: faixbox_manager.h:40
+
+ + + + diff --git a/doxygen/files.html b/doxygen/files.html new file mode 100644 index 00000000..a096fb39 --- /dev/null +++ b/doxygen/files.html @@ -0,0 +1,176 @@ + + + + + + +OpenJPEG: File List + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + +
+
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 auxtrans_manager.c
 auxtrans_manager.h
 bio.c
 bio.hImplementation of an individual bit input-output (BIO)
 box_manager.c
 box_manager.h
 boxheader_manager.c
 boxheader_manager.h
 byte_manager.c
 byte_manager.h
 cache_manager.c
 cache_manager.h
 cachemodel_manager.c
 cachemodel_manager.h
 channel_manager.c
 channel_manager.h
 cidx_manager.c
 cidx_manager.hModification of jpip.h from 2KAN indexer
 cio.c
 cio.hImplementation of a byte input-output process (CIO)
 codestream_manager.c
 codestream_manager.h
 dec_clientmsg_handler.c
 dec_clientmsg_handler.h
 dwt.c
 dwt.hImplementation of a discrete wavelet transform (DWT)
 event.c
 event.hImplementation of a event callback system
 faixbox_manager.c
 faixbox_manager.h
 function_list.c
 function_list.hImplementation of a list of procedures
 ihdrbox_manager.c
 ihdrbox_manager.h
 image.c
 image.hImplementation of operations on images (IMAGE)
 imgreg_manager.c
 imgreg_manager.h
 imgsock_manager.c
 imgsock_manager.h
 index_manager.c
 index_manager.h
 indexbox_manager.hModification of jpip.c from 2KAN indexer
 invert.c
 invert.hImplementation of the matrix inversion
 j2k.c
 j2k.hThe JPEG-2000 Codestream Reader/Writer (J2K)
 j2kheader_manager.c
 j2kheader_manager.h
 jp2.c
 jp2.hThe JPEG-2000 file format Reader/Writer (JP2)
 jp2k_decoder.c
 jp2k_decoder.h
 jp2k_encoder.c
 jp2k_encoder.h
 jpip_parser.c
 jpip_parser.h
 jpipstream_manager.c
 jpipstream_manager.h
 manfbox_manager.c
 manfbox_manager.h
 marker_manager.c
 marker_manager.h
 mct.c
 mct.hImplementation of a multi-component transforms (MCT)
 metadata_manager.c
 metadata_manager.h
 mhixbox_manager.c
 mhixbox_manager.h
 mqc.c
 mqc.hImplementation of an MQ-Coder (MQC)
 msgqueue_manager.c
 msgqueue_manager.h
 openjpeg.c
 openjpeg.h
 openjpip.c
 openjpip.h
 opj_clock.c
 opj_clock.hInternal function for timing
 opj_codec.h
 opj_includes.h
 opj_intmath.hImplementation of operations on integers (INT)
 opj_inttypes.h
 opj_malloc.hInternal functions
 opj_stdint.h
 phix_manager.cModification of jpip.c from 2KAN indexer
 pi.c
 pi.hImplementation of a packet iterator (PI)
 placeholder_manager.c
 placeholder_manager.h
 ppix_manager.cModification of jpip.c from 2KAN indexer
 query_parser.c
 query_parser.h
 raw.c
 raw.hImplementation of operations for raw encoding (RAW)
 session_manager.c
 session_manager.h
 sock_manager.c
 sock_manager.h
 t1.c
 t1.hImplementation of the tier-1 coding (coding of code-block coefficients) (T1)
 t1_generate_luts.c
 t1_luts.h
 t2.c
 t2.hImplementation of a tier-2 coding (packetization of code-block data) (T2)
 target_manager.c
 target_manager.h
 tcd.c
 tcd.hImplementation of a tile coder/decoder (TCD)
 tgt.c
 tgt.hImplementation of a tag-tree coder (TGT)
 thix_manager.cModification of jpip.c from 2KAN indexer
 tpix_manager.cModification of jpip.c from 2KAN indexer
+
+
+ + + + diff --git a/doxygen/folderclosed.png b/doxygen/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/doxygen/function__list_8c.html b/doxygen/function__list_8c.html new file mode 100644 index 00000000..d8142f4a --- /dev/null +++ b/doxygen/function__list_8c.html @@ -0,0 +1,112 @@ + + + + + + +OpenJPEG: function_list.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
function_list.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + +

+Macros

#define OPJ_VALIDATION_SIZE   10
 Default size of the validation list, if not sufficient, data will be reallocated with a double size. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

opj_procedure_list_topj_procedure_list_create ()
 Creates a validation list. More...
 
void opj_procedure_list_destroy (opj_procedure_list_t *p_list)
 Destroys a validation list. More...
 
OPJ_BOOL opj_procedure_list_add_procedure (opj_procedure_list_t *p_validation_list, opj_procedure p_procedure)
 Adds a new validation procedure. More...
 
OPJ_UINT32 opj_procedure_list_get_nb_procedures (opj_procedure_list_t *p_validation_list)
 Gets the number of validation procedures. More...
 
opj_procedureopj_procedure_list_get_first_procedure (opj_procedure_list_t *p_validation_list)
 Gets the pointer on the first validation procedure. More...
 
void opj_procedure_list_clear (opj_procedure_list_t *p_validation_list)
 Clears the list of validation procedures. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define OPJ_VALIDATION_SIZE   10
+
+ +

Default size of the validation list, if not sufficient, data will be reallocated with a double size.

+ +

Referenced by opj_procedure_list_add_procedure(), and opj_procedure_list_create().

+ +
+
+
+ + + + diff --git a/doxygen/function__list_8h.html b/doxygen/function__list_8h.html new file mode 100644 index 00000000..673306e2 --- /dev/null +++ b/doxygen/function__list_8h.html @@ -0,0 +1,112 @@ + + + + + + +OpenJPEG: function_list.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
function_list.h File Reference
+
+
+ +

Implementation of a list of procedures. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  opj_procedure_list
 A list of procedures. More...
 
+ + + + + + + +

+Typedefs

typedef void(* opj_procedure) (void)
 declare a function pointer More...
 
typedef struct opj_procedure_list opj_procedure_list_t
 A list of procedures. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

opj_procedure_list_topj_procedure_list_create (void)
 Creates a validation list. More...
 
void opj_procedure_list_destroy (opj_procedure_list_t *p_list)
 Destroys a validation list. More...
 
OPJ_BOOL opj_procedure_list_add_procedure (opj_procedure_list_t *p_validation_list, opj_procedure p_procedure)
 Adds a new validation procedure. More...
 
OPJ_UINT32 opj_procedure_list_get_nb_procedures (opj_procedure_list_t *p_validation_list)
 Gets the number of validation procedures. More...
 
opj_procedureopj_procedure_list_get_first_procedure (opj_procedure_list_t *p_validation_list)
 Gets the pointer on the first validation procedure. More...
 
void opj_procedure_list_clear (opj_procedure_list_t *p_validation_list)
 Clears the list of validation procedures. More...
 
+

Detailed Description

+

Implementation of a list of procedures.

+

The functions in validation.c aims to have access to a list of procedures.

+
+ + + + diff --git a/doxygen/function__list_8h_source.html b/doxygen/function__list_8h_source.html new file mode 100644 index 00000000..8f982aa4 --- /dev/null +++ b/doxygen/function__list_8h_source.html @@ -0,0 +1,142 @@ + + + + + + +OpenJPEG: function_list.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
function_list.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
32 #ifndef __FUNCTION_LIST_H
+
33 #define __FUNCTION_LIST_H
+
34 
+
44 
+
45 /**************************************************************************************************
+
46  ***************************************** FORWARD DECLARATION ************************************
+
47  **************************************************************************************************/
+
48 
+
52 typedef void (*opj_procedure)(void);
+
53 
+
57 typedef struct opj_procedure_list
+
58 {
+ + + +
71 
+ +
73 
+
74 /* ----------------------------------------------------------------------- */
+
75 
+ +
82 
+ +
89 
+ +
99 
+ +
108 
+ +
119 
+
120 
+
127 void opj_procedure_list_clear (opj_procedure_list_t * p_validation_list);
+
130 #endif /* __FUNCTION_LIST_H */
+
131 
+
void(* opj_procedure)(void)
declare a function pointer
Definition: function_list.h:52
+
void opj_procedure_list_clear(opj_procedure_list_t *p_validation_list)
Clears the list of validation procedures.
Definition: function_list.c:113
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
A list of procedures.
Definition: function_list.h:57
+
struct opj_procedure_list opj_procedure_list_t
A list of procedures.
+
opj_procedure_list_t * opj_procedure_list_create(void)
Creates a validation list.
Definition: function_list.c:39
+
OPJ_UINT32 m_nb_procedures
The number of validation procedures.
Definition: function_list.h:62
+
OPJ_UINT32 opj_procedure_list_get_nb_procedures(opj_procedure_list_t *p_validation_list)
Gets the number of validation procedures.
Definition: function_list.c:103
+
opj_procedure * m_procedures
The array of procedures.
Definition: function_list.h:70
+
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
+
opj_procedure * opj_procedure_list_get_first_procedure(opj_procedure_list_t *p_validation_list)
Gets the pointer on the first validation procedure.
Definition: function_list.c:108
+
OPJ_UINT32 m_nb_max_procedures
The number of the array of validation procedures.
Definition: function_list.h:66
+
OPJ_BOOL opj_procedure_list_add_procedure(opj_procedure_list_t *p_validation_list, opj_procedure p_procedure)
Adds a new validation procedure.
Definition: function_list.c:72
+
void opj_procedure_list_destroy(opj_procedure_list_t *p_list)
Destroys a validation list.
Definition: function_list.c:58
+
+ + + + diff --git a/doxygen/functions.html b/doxygen/functions.html new file mode 100644 index 00000000..dd312054 --- /dev/null +++ b/doxygen/functions.html @@ -0,0 +1,113 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+
+ + + + diff --git a/doxygen/functions_b.html b/doxygen/functions_b.html new file mode 100644 index 00000000..2a757b88 --- /dev/null +++ b/doxygen/functions_b.html @@ -0,0 +1,146 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- b -

+
+ + + + diff --git a/doxygen/functions_c.html b/doxygen/functions_c.html new file mode 100644 index 00000000..6cbe0689 --- /dev/null +++ b/doxygen/functions_c.html @@ -0,0 +1,329 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- c -

+
+ + + + diff --git a/doxygen/functions_d.html b/doxygen/functions_d.html new file mode 100644 index 00000000..b8ad1904 --- /dev/null +++ b/doxygen/functions_d.html @@ -0,0 +1,189 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- d -

+
+ + + + diff --git a/doxygen/functions_e.html b/doxygen/functions_e.html new file mode 100644 index 00000000..721e0c63 --- /dev/null +++ b/doxygen/functions_e.html @@ -0,0 +1,148 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- e -

+
+ + + + diff --git a/doxygen/functions_f.html b/doxygen/functions_f.html new file mode 100644 index 00000000..8d39af54 --- /dev/null +++ b/doxygen/functions_f.html @@ -0,0 +1,143 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- f -

+
+ + + + diff --git a/doxygen/functions_g.html b/doxygen/functions_g.html new file mode 100644 index 00000000..2b34cc5c --- /dev/null +++ b/doxygen/functions_g.html @@ -0,0 +1,97 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- g -

+
+ + + + diff --git a/doxygen/functions_h.html b/doxygen/functions_h.html new file mode 100644 index 00000000..80bb9795 --- /dev/null +++ b/doxygen/functions_h.html @@ -0,0 +1,121 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- h -

+
+ + + + diff --git a/doxygen/functions_i.html b/doxygen/functions_i.html new file mode 100644 index 00000000..892f3fe8 --- /dev/null +++ b/doxygen/functions_i.html @@ -0,0 +1,178 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- i -

+
+ + + + diff --git a/doxygen/functions_j.html b/doxygen/functions_j.html new file mode 100644 index 00000000..6b1f87e0 --- /dev/null +++ b/doxygen/functions_j.html @@ -0,0 +1,193 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- j -

+
+ + + + diff --git a/doxygen/functions_k.html b/doxygen/functions_k.html new file mode 100644 index 00000000..f0370d52 --- /dev/null +++ b/doxygen/functions_k.html @@ -0,0 +1,97 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- k -

+
+ + + + diff --git a/doxygen/functions_l.html b/doxygen/functions_l.html new file mode 100644 index 00000000..e0984500 --- /dev/null +++ b/doxygen/functions_l.html @@ -0,0 +1,181 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- l -

+
+ + + + diff --git a/doxygen/functions_m.html b/doxygen/functions_m.html new file mode 100644 index 00000000..d00f399c --- /dev/null +++ b/doxygen/functions_m.html @@ -0,0 +1,521 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- m -

+
+ + + + diff --git a/doxygen/functions_n.html b/doxygen/functions_n.html new file mode 100644 index 00000000..02dbc1f2 --- /dev/null +++ b/doxygen/functions_n.html @@ -0,0 +1,257 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- n -

+
+ + + + diff --git a/doxygen/functions_o.html b/doxygen/functions_o.html new file mode 100644 index 00000000..e4810277 --- /dev/null +++ b/doxygen/functions_o.html @@ -0,0 +1,182 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- o -

+
+ + + + diff --git a/doxygen/functions_p.html b/doxygen/functions_p.html new file mode 100644 index 00000000..3064041c --- /dev/null +++ b/doxygen/functions_p.html @@ -0,0 +1,278 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- p -

+
+ + + + diff --git a/doxygen/functions_q.html b/doxygen/functions_q.html new file mode 100644 index 00000000..6c43c8ef --- /dev/null +++ b/doxygen/functions_q.html @@ -0,0 +1,105 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- q -

+
+ + + + diff --git a/doxygen/functions_r.html b/doxygen/functions_r.html new file mode 100644 index 00000000..cc4152d2 --- /dev/null +++ b/doxygen/functions_r.html @@ -0,0 +1,181 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- r -

+
+ + + + diff --git a/doxygen/functions_s.html b/doxygen/functions_s.html new file mode 100644 index 00000000..ad688d38 --- /dev/null +++ b/doxygen/functions_s.html @@ -0,0 +1,197 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- s -

+
+ + + + diff --git a/doxygen/functions_t.html b/doxygen/functions_t.html new file mode 100644 index 00000000..ccb0708f --- /dev/null +++ b/doxygen/functions_t.html @@ -0,0 +1,302 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- t -

+
+ + + + diff --git a/doxygen/functions_u.html b/doxygen/functions_u.html new file mode 100644 index 00000000..59775183 --- /dev/null +++ b/doxygen/functions_u.html @@ -0,0 +1,103 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- u -

+
+ + + + diff --git a/doxygen/functions_v.html b/doxygen/functions_v.html new file mode 100644 index 00000000..19bd9bdb --- /dev/null +++ b/doxygen/functions_v.html @@ -0,0 +1,100 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- v -

+
+ + + + diff --git a/doxygen/functions_vars.html b/doxygen/functions_vars.html new file mode 100644 index 00000000..e6916ff2 --- /dev/null +++ b/doxygen/functions_vars.html @@ -0,0 +1,113 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- a -

+
+ + + + diff --git a/doxygen/functions_vars_b.html b/doxygen/functions_vars_b.html new file mode 100644 index 00000000..f7bfa6eb --- /dev/null +++ b/doxygen/functions_vars_b.html @@ -0,0 +1,146 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- b -

+
+ + + + diff --git a/doxygen/functions_vars_c.html b/doxygen/functions_vars_c.html new file mode 100644 index 00000000..ed49bdf1 --- /dev/null +++ b/doxygen/functions_vars_c.html @@ -0,0 +1,329 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- c -

+
+ + + + diff --git a/doxygen/functions_vars_d.html b/doxygen/functions_vars_d.html new file mode 100644 index 00000000..4ffc5c27 --- /dev/null +++ b/doxygen/functions_vars_d.html @@ -0,0 +1,189 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- d -

+
+ + + + diff --git a/doxygen/functions_vars_e.html b/doxygen/functions_vars_e.html new file mode 100644 index 00000000..effabfa6 --- /dev/null +++ b/doxygen/functions_vars_e.html @@ -0,0 +1,148 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- e -

+
+ + + + diff --git a/doxygen/functions_vars_f.html b/doxygen/functions_vars_f.html new file mode 100644 index 00000000..028b6b54 --- /dev/null +++ b/doxygen/functions_vars_f.html @@ -0,0 +1,143 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+ + + + + diff --git a/doxygen/functions_vars_g.html b/doxygen/functions_vars_g.html new file mode 100644 index 00000000..c85d587d --- /dev/null +++ b/doxygen/functions_vars_g.html @@ -0,0 +1,97 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- g -

+
+ + + + diff --git a/doxygen/functions_vars_h.html b/doxygen/functions_vars_h.html new file mode 100644 index 00000000..1e79dab5 --- /dev/null +++ b/doxygen/functions_vars_h.html @@ -0,0 +1,121 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- h -

+
+ + + + diff --git a/doxygen/functions_vars_i.html b/doxygen/functions_vars_i.html new file mode 100644 index 00000000..22e3972d --- /dev/null +++ b/doxygen/functions_vars_i.html @@ -0,0 +1,178 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- i -

+
+ + + + diff --git a/doxygen/functions_vars_j.html b/doxygen/functions_vars_j.html new file mode 100644 index 00000000..639d8af6 --- /dev/null +++ b/doxygen/functions_vars_j.html @@ -0,0 +1,193 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- j -

+
+ + + + diff --git a/doxygen/functions_vars_k.html b/doxygen/functions_vars_k.html new file mode 100644 index 00000000..b4ffda24 --- /dev/null +++ b/doxygen/functions_vars_k.html @@ -0,0 +1,97 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- k -

+
+ + + + diff --git a/doxygen/functions_vars_l.html b/doxygen/functions_vars_l.html new file mode 100644 index 00000000..18bddc10 --- /dev/null +++ b/doxygen/functions_vars_l.html @@ -0,0 +1,181 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- l -

+
+ + + + diff --git a/doxygen/functions_vars_m.html b/doxygen/functions_vars_m.html new file mode 100644 index 00000000..7032a5e7 --- /dev/null +++ b/doxygen/functions_vars_m.html @@ -0,0 +1,521 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- m -

+
+ + + + diff --git a/doxygen/functions_vars_n.html b/doxygen/functions_vars_n.html new file mode 100644 index 00000000..edfabc67 --- /dev/null +++ b/doxygen/functions_vars_n.html @@ -0,0 +1,257 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- n -

+
+ + + + diff --git a/doxygen/functions_vars_o.html b/doxygen/functions_vars_o.html new file mode 100644 index 00000000..cc86a36b --- /dev/null +++ b/doxygen/functions_vars_o.html @@ -0,0 +1,182 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- o -

+
+ + + + diff --git a/doxygen/functions_vars_p.html b/doxygen/functions_vars_p.html new file mode 100644 index 00000000..2fdb597d --- /dev/null +++ b/doxygen/functions_vars_p.html @@ -0,0 +1,278 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- p -

+
+ + + + diff --git a/doxygen/functions_vars_q.html b/doxygen/functions_vars_q.html new file mode 100644 index 00000000..104560b5 --- /dev/null +++ b/doxygen/functions_vars_q.html @@ -0,0 +1,105 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- q -

+
+ + + + diff --git a/doxygen/functions_vars_r.html b/doxygen/functions_vars_r.html new file mode 100644 index 00000000..21306f5c --- /dev/null +++ b/doxygen/functions_vars_r.html @@ -0,0 +1,181 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- r -

+
+ + + + diff --git a/doxygen/functions_vars_s.html b/doxygen/functions_vars_s.html new file mode 100644 index 00000000..c2250475 --- /dev/null +++ b/doxygen/functions_vars_s.html @@ -0,0 +1,197 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- s -

+
+ + + + diff --git a/doxygen/functions_vars_t.html b/doxygen/functions_vars_t.html new file mode 100644 index 00000000..8ee7219c --- /dev/null +++ b/doxygen/functions_vars_t.html @@ -0,0 +1,302 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- t -

+
+ + + + diff --git a/doxygen/functions_vars_u.html b/doxygen/functions_vars_u.html new file mode 100644 index 00000000..4926f5c0 --- /dev/null +++ b/doxygen/functions_vars_u.html @@ -0,0 +1,103 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- u -

+
+ + + + diff --git a/doxygen/functions_vars_v.html b/doxygen/functions_vars_v.html new file mode 100644 index 00000000..c85d6f20 --- /dev/null +++ b/doxygen/functions_vars_v.html @@ -0,0 +1,100 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- v -

+
+ + + + diff --git a/doxygen/functions_vars_w.html b/doxygen/functions_vars_w.html new file mode 100644 index 00000000..d2d3ed81 --- /dev/null +++ b/doxygen/functions_vars_w.html @@ -0,0 +1,110 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- w -

+
+ + + + diff --git a/doxygen/functions_vars_x.html b/doxygen/functions_vars_x.html new file mode 100644 index 00000000..267e99f2 --- /dev/null +++ b/doxygen/functions_vars_x.html @@ -0,0 +1,143 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+ + + + + diff --git a/doxygen/functions_vars_y.html b/doxygen/functions_vars_y.html new file mode 100644 index 00000000..4a3def7e --- /dev/null +++ b/doxygen/functions_vars_y.html @@ -0,0 +1,143 @@ + + + + + + +OpenJPEG: Data Fields - Variables + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+ + + + + diff --git a/doxygen/functions_w.html b/doxygen/functions_w.html new file mode 100644 index 00000000..fd79c0a1 --- /dev/null +++ b/doxygen/functions_w.html @@ -0,0 +1,110 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- w -

+
+ + + + diff --git a/doxygen/functions_x.html b/doxygen/functions_x.html new file mode 100644 index 00000000..a8cc3afb --- /dev/null +++ b/doxygen/functions_x.html @@ -0,0 +1,143 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- x -

+
+ + + + diff --git a/doxygen/functions_y.html b/doxygen/functions_y.html new file mode 100644 index 00000000..f20a82c9 --- /dev/null +++ b/doxygen/functions_y.html @@ -0,0 +1,143 @@ + + + + + + +OpenJPEG: Data Fields + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- y -

+
+ + + + diff --git a/doxygen/globals.html b/doxygen/globals.html new file mode 100644 index 00000000..da4ca4b6 --- /dev/null +++ b/doxygen/globals.html @@ -0,0 +1,100 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- _ -

+
+ + + + diff --git a/doxygen/globals_a.html b/doxygen/globals_a.html new file mode 100644 index 00000000..80779f38 --- /dev/null +++ b/doxygen/globals_a.html @@ -0,0 +1,161 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- a -

+
+ + + + diff --git a/doxygen/globals_b.html b/doxygen/globals_b.html new file mode 100644 index 00000000..950b5fe2 --- /dev/null +++ b/doxygen/globals_b.html @@ -0,0 +1,136 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- b -

+
+ + + + diff --git a/doxygen/globals_c.html b/doxygen/globals_c.html new file mode 100644 index 00000000..69c2efeb --- /dev/null +++ b/doxygen/globals_c.html @@ -0,0 +1,178 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- c -

+
+ + + + diff --git a/doxygen/globals_d.html b/doxygen/globals_d.html new file mode 100644 index 00000000..9bca6dcc --- /dev/null +++ b/doxygen/globals_d.html @@ -0,0 +1,225 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- d -

+
+ + + + diff --git a/doxygen/globals_defs.html b/doxygen/globals_defs.html new file mode 100644 index 00000000..1168976f --- /dev/null +++ b/doxygen/globals_defs.html @@ -0,0 +1,91 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- _ -

+
+ + + + diff --git a/doxygen/globals_defs_b.html b/doxygen/globals_defs_b.html new file mode 100644 index 00000000..049cbcdc --- /dev/null +++ b/doxygen/globals_defs_b.html @@ -0,0 +1,91 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- b -

+
+ + + + diff --git a/doxygen/globals_defs_e.html b/doxygen/globals_defs_e.html new file mode 100644 index 00000000..18c50158 --- /dev/null +++ b/doxygen/globals_defs_e.html @@ -0,0 +1,103 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- e -

+
+ + + + diff --git a/doxygen/globals_defs_f.html b/doxygen/globals_defs_f.html new file mode 100644 index 00000000..b969e2c9 --- /dev/null +++ b/doxygen/globals_defs_f.html @@ -0,0 +1,140 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+ + + + + diff --git a/doxygen/globals_defs_h.html b/doxygen/globals_defs_h.html new file mode 100644 index 00000000..fb6a33e0 --- /dev/null +++ b/doxygen/globals_defs_h.html @@ -0,0 +1,91 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- h -

+
+ + + + diff --git a/doxygen/globals_defs_i.html b/doxygen/globals_defs_i.html new file mode 100644 index 00000000..9c1e677b --- /dev/null +++ b/doxygen/globals_defs_i.html @@ -0,0 +1,91 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- i -

+
+ + + + diff --git a/doxygen/globals_defs_j.html b/doxygen/globals_defs_j.html new file mode 100644 index 00000000..9579190f --- /dev/null +++ b/doxygen/globals_defs_j.html @@ -0,0 +1,328 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- j -

+
+ + + + diff --git a/doxygen/globals_defs_l.html b/doxygen/globals_defs_l.html new file mode 100644 index 00000000..b7fda95d --- /dev/null +++ b/doxygen/globals_defs_l.html @@ -0,0 +1,114 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+ + + + + diff --git a/doxygen/globals_defs_m.html b/doxygen/globals_defs_m.html new file mode 100644 index 00000000..ce820a70 --- /dev/null +++ b/doxygen/globals_defs_m.html @@ -0,0 +1,118 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- m -

+
+ + + + diff --git a/doxygen/globals_defs_n.html b/doxygen/globals_defs_n.html new file mode 100644 index 00000000..fda60218 --- /dev/null +++ b/doxygen/globals_defs_n.html @@ -0,0 +1,91 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- n -

+
+ + + + diff --git a/doxygen/globals_defs_o.html b/doxygen/globals_defs_o.html new file mode 100644 index 00000000..9515b270 --- /dev/null +++ b/doxygen/globals_defs_o.html @@ -0,0 +1,343 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- o -

+
+ + + + diff --git a/doxygen/globals_defs_p.html b/doxygen/globals_defs_p.html new file mode 100644 index 00000000..0a475a09 --- /dev/null +++ b/doxygen/globals_defs_p.html @@ -0,0 +1,91 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- p -

+
+ + + + diff --git a/doxygen/globals_defs_r.html b/doxygen/globals_defs_r.html new file mode 100644 index 00000000..50ce8d47 --- /dev/null +++ b/doxygen/globals_defs_r.html @@ -0,0 +1,91 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- r -

+
+ + + + diff --git a/doxygen/globals_defs_t.html b/doxygen/globals_defs_t.html new file mode 100644 index 00000000..31f36eed --- /dev/null +++ b/doxygen/globals_defs_t.html @@ -0,0 +1,193 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- t -

+
+ + + + diff --git a/doxygen/globals_e.html b/doxygen/globals_e.html new file mode 100644 index 00000000..73fbe349 --- /dev/null +++ b/doxygen/globals_e.html @@ -0,0 +1,162 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- e -

+
+ + + + diff --git a/doxygen/globals_enum.html b/doxygen/globals_enum.html new file mode 100644 index 00000000..a006aa76 --- /dev/null +++ b/doxygen/globals_enum.html @@ -0,0 +1,113 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+ + + + diff --git a/doxygen/globals_eval.html b/doxygen/globals_eval.html new file mode 100644 index 00000000..b01036d0 --- /dev/null +++ b/doxygen/globals_eval.html @@ -0,0 +1,366 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- c -

+ + +

- f -

    +
  • FINAL_PASS +: j2k.h +
  • +
+ + +

- h -

+ + +

- j -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- q -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- x -

+
+ + + + diff --git a/doxygen/globals_f.html b/doxygen/globals_f.html new file mode 100644 index 00000000..df00e9ed --- /dev/null +++ b/doxygen/globals_f.html @@ -0,0 +1,245 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- f -

+
+ + + + diff --git a/doxygen/globals_func.html b/doxygen/globals_func.html new file mode 100644 index 00000000..7af6cbe8 --- /dev/null +++ b/doxygen/globals_func.html @@ -0,0 +1,150 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- a -

+
+ + + + diff --git a/doxygen/globals_func_b.html b/doxygen/globals_func_b.html new file mode 100644 index 00000000..0010ffc7 --- /dev/null +++ b/doxygen/globals_func_b.html @@ -0,0 +1,104 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- b -

+
+ + + + diff --git a/doxygen/globals_func_c.html b/doxygen/globals_func_c.html new file mode 100644 index 00000000..46dca97e --- /dev/null +++ b/doxygen/globals_func_c.html @@ -0,0 +1,125 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- c -

+
+ + + + diff --git a/doxygen/globals_func_d.html b/doxygen/globals_func_d.html new file mode 100644 index 00000000..9e637283 --- /dev/null +++ b/doxygen/globals_func_d.html @@ -0,0 +1,214 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- d -

+
+ + + + diff --git a/doxygen/globals_func_e.html b/doxygen/globals_func_e.html new file mode 100644 index 00000000..8a704901 --- /dev/null +++ b/doxygen/globals_func_e.html @@ -0,0 +1,139 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- e -

+
+ + + + diff --git a/doxygen/globals_func_f.html b/doxygen/globals_func_f.html new file mode 100644 index 00000000..04c92db4 --- /dev/null +++ b/doxygen/globals_func_f.html @@ -0,0 +1,176 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- f -

+
+ + + + diff --git a/doxygen/globals_func_g.html b/doxygen/globals_func_g.html new file mode 100644 index 00000000..7efb7b16 --- /dev/null +++ b/doxygen/globals_func_g.html @@ -0,0 +1,309 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- g -

+
+ + + + diff --git a/doxygen/globals_func_h.html b/doxygen/globals_func_h.html new file mode 100644 index 00000000..6ef49d33 --- /dev/null +++ b/doxygen/globals_func_h.html @@ -0,0 +1,128 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- h -

+
+ + + + diff --git a/doxygen/globals_func_i.html b/doxygen/globals_func_i.html new file mode 100644 index 00000000..22f5f34a --- /dev/null +++ b/doxygen/globals_func_i.html @@ -0,0 +1,152 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- i -

+
+ + + + diff --git a/doxygen/globals_func_j.html b/doxygen/globals_func_j.html new file mode 100644 index 00000000..731b8400 --- /dev/null +++ b/doxygen/globals_func_j.html @@ -0,0 +1,139 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- j -

+
+ + + + diff --git a/doxygen/globals_func_m.html b/doxygen/globals_func_m.html new file mode 100644 index 00000000..d9ac0be8 --- /dev/null +++ b/doxygen/globals_func_m.html @@ -0,0 +1,129 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- m -

+
+ + + + diff --git a/doxygen/globals_func_o.html b/doxygen/globals_func_o.html new file mode 100644 index 00000000..892c526c --- /dev/null +++ b/doxygen/globals_func_o.html @@ -0,0 +1,1862 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- o -

+
+ + + + diff --git a/doxygen/globals_func_p.html b/doxygen/globals_func_p.html new file mode 100644 index 00000000..2b1859d6 --- /dev/null +++ b/doxygen/globals_func_p.html @@ -0,0 +1,235 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- p -

+
+ + + + diff --git a/doxygen/globals_func_r.html b/doxygen/globals_func_r.html new file mode 100644 index 00000000..b3fa61a3 --- /dev/null +++ b/doxygen/globals_func_r.html @@ -0,0 +1,175 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- r -

+
+ + + + diff --git a/doxygen/globals_func_s.html b/doxygen/globals_func_s.html new file mode 100644 index 00000000..76d08a5f --- /dev/null +++ b/doxygen/globals_func_s.html @@ -0,0 +1,222 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- s -

+
+ + + + diff --git a/doxygen/globals_func_t.html b/doxygen/globals_func_t.html new file mode 100644 index 00000000..4a9d6d41 --- /dev/null +++ b/doxygen/globals_func_t.html @@ -0,0 +1,105 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- t -

+
+ + + + diff --git a/doxygen/globals_func_u.html b/doxygen/globals_func_u.html new file mode 100644 index 00000000..87c7adf5 --- /dev/null +++ b/doxygen/globals_func_u.html @@ -0,0 +1,104 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- u -

+
+ + + + diff --git a/doxygen/globals_func_w.html b/doxygen/globals_func_w.html new file mode 100644 index 00000000..5350ec92 --- /dev/null +++ b/doxygen/globals_func_w.html @@ -0,0 +1,95 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- w -

+
+ + + + diff --git a/doxygen/globals_g.html b/doxygen/globals_g.html new file mode 100644 index 00000000..c67d57ba --- /dev/null +++ b/doxygen/globals_g.html @@ -0,0 +1,314 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- g -

+
+ + + + diff --git a/doxygen/globals_h.html b/doxygen/globals_h.html new file mode 100644 index 00000000..42070cb8 --- /dev/null +++ b/doxygen/globals_h.html @@ -0,0 +1,139 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- h -

+
+ + + + diff --git a/doxygen/globals_i.html b/doxygen/globals_i.html new file mode 100644 index 00000000..9359fce7 --- /dev/null +++ b/doxygen/globals_i.html @@ -0,0 +1,178 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- i -

+
+ + + + diff --git a/doxygen/globals_j.html b/doxygen/globals_j.html new file mode 100644 index 00000000..2a9ccf29 --- /dev/null +++ b/doxygen/globals_j.html @@ -0,0 +1,498 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- j -

+
+ + + + diff --git a/doxygen/globals_l.html b/doxygen/globals_l.html new file mode 100644 index 00000000..d8dc3a34 --- /dev/null +++ b/doxygen/globals_l.html @@ -0,0 +1,144 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- l -

+
+ + + + diff --git a/doxygen/globals_m.html b/doxygen/globals_m.html new file mode 100644 index 00000000..6a9dd4b8 --- /dev/null +++ b/doxygen/globals_m.html @@ -0,0 +1,227 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- m -

+
+ + + + diff --git a/doxygen/globals_n.html b/doxygen/globals_n.html new file mode 100644 index 00000000..d9dc45fc --- /dev/null +++ b/doxygen/globals_n.html @@ -0,0 +1,103 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- n -

+
+ + + + diff --git a/doxygen/globals_o.html b/doxygen/globals_o.html new file mode 100644 index 00000000..37132f6d --- /dev/null +++ b/doxygen/globals_o.html @@ -0,0 +1,2554 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- o -

+
+ + + + diff --git a/doxygen/globals_p.html b/doxygen/globals_p.html new file mode 100644 index 00000000..0d1ffdd6 --- /dev/null +++ b/doxygen/globals_p.html @@ -0,0 +1,255 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- p -

+
+ + + + diff --git a/doxygen/globals_q.html b/doxygen/globals_q.html new file mode 100644 index 00000000..8f5b3252 --- /dev/null +++ b/doxygen/globals_q.html @@ -0,0 +1,103 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- q -

+
+ + + + diff --git a/doxygen/globals_r.html b/doxygen/globals_r.html new file mode 100644 index 00000000..7d36274c --- /dev/null +++ b/doxygen/globals_r.html @@ -0,0 +1,189 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- r -

+
+ + + + diff --git a/doxygen/globals_s.html b/doxygen/globals_s.html new file mode 100644 index 00000000..8a7741bb --- /dev/null +++ b/doxygen/globals_s.html @@ -0,0 +1,251 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- s -

+
+ + + + diff --git a/doxygen/globals_t.html b/doxygen/globals_t.html new file mode 100644 index 00000000..e7f0161a --- /dev/null +++ b/doxygen/globals_t.html @@ -0,0 +1,233 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- t -

+
+ + + + diff --git a/doxygen/globals_type.html b/doxygen/globals_type.html new file mode 100644 index 00000000..513b600f --- /dev/null +++ b/doxygen/globals_type.html @@ -0,0 +1,617 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- i -

+ + +

- j -

    +
  • J2K_MCT_ARRAY_TYPE +: j2k.h +
  • +
  • J2K_MCT_ELEMENT_TYPE +: j2k.h +
  • +
  • j2k_prog_order_t +: j2k.c +
  • +
  • J2K_STATUS +: j2k.h +
  • +
  • J2K_T2_MODE +: j2k.h +
  • +
  • jpip_dec_param_t +: openjpip.h +
  • +
+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- q -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+
+ + + + diff --git a/doxygen/globals_u.html b/doxygen/globals_u.html new file mode 100644 index 00000000..d42c5b3c --- /dev/null +++ b/doxygen/globals_u.html @@ -0,0 +1,115 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- u -

+
+ + + + diff --git a/doxygen/globals_vars.html b/doxygen/globals_vars.html new file mode 100644 index 00000000..8e80bec9 --- /dev/null +++ b/doxygen/globals_vars.html @@ -0,0 +1,146 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+ + + + diff --git a/doxygen/globals_w.html b/doxygen/globals_w.html new file mode 100644 index 00000000..ae40fe6f --- /dev/null +++ b/doxygen/globals_w.html @@ -0,0 +1,100 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- w -

+
+ + + + diff --git a/doxygen/globals_x.html b/doxygen/globals_x.html new file mode 100644 index 00000000..e7cc8c8c --- /dev/null +++ b/doxygen/globals_x.html @@ -0,0 +1,100 @@ + + + + + + +OpenJPEG: Globals + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + + +
+
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- x -

+
+ + + + diff --git a/doxygen/group___b_i_o.html b/doxygen/group___b_i_o.html new file mode 100644 index 00000000..8af326b7 --- /dev/null +++ b/doxygen/group___b_i_o.html @@ -0,0 +1,605 @@ + + + + + + +OpenJPEG: BIO - Individual bit input-output stream + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
BIO - Individual bit input-output stream
+
+
+ + + + + +

+Data Structures

struct  opj_bio
 Individual bit input-output stream (BIO) More...
 
+ + + + +

+Typedefs

typedef struct opj_bio opj_bio_t
 Individual bit input-output stream (BIO) More...
 
+ + + + + + + + + + + + + +

+Local static functions

static void opj_bio_putbit (opj_bio_t *bio, OPJ_UINT32 b)
 Write a bit. More...
 
static OPJ_UINT32 opj_bio_getbit (opj_bio_t *bio)
 Read a bit. More...
 
static OPJ_BOOL opj_bio_byteout (opj_bio_t *bio)
 Write a byte. More...
 
static OPJ_BOOL opj_bio_bytein (opj_bio_t *bio)
 Read a byte. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

opj_bio_topj_bio_create (void)
 Create a new BIO handle. More...
 
void opj_bio_destroy (opj_bio_t *bio)
 Destroy a previously created BIO handle. More...
 
ptrdiff_t opj_bio_numbytes (opj_bio_t *bio)
 Number of bytes written. More...
 
void opj_bio_init_enc (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
 Init encoder. More...
 
void opj_bio_init_dec (opj_bio_t *bio, OPJ_BYTE *bp, OPJ_UINT32 len)
 Init decoder. More...
 
void opj_bio_write (opj_bio_t *bio, OPJ_UINT32 v, OPJ_UINT32 n)
 Write bits. More...
 
OPJ_UINT32 opj_bio_read (opj_bio_t *bio, OPJ_UINT32 n)
 Read bits. More...
 
OPJ_BOOL opj_bio_flush (opj_bio_t *bio)
 Flush bits. More...
 
OPJ_BOOL opj_bio_inalign (opj_bio_t *bio)
 Passes the ending bits (coming from flushing) More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_bio opj_bio_t
+
+ +

Individual bit input-output stream (BIO)

+ +
+
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_BOOL opj_bio_bytein (opj_bio_tbio)
+
+static
+
+ +

Read a byte.

+
Parameters
+ + +
bioBIO handle
+
+
+
Returns
Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise
+ +

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by opj_bio_getbit(), and opj_bio_inalign().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_BOOL opj_bio_byteout (opj_bio_tbio)
+
+static
+
+ +

Write a byte.

+
Parameters
+ + +
bioBIO handle
+
+
+
Returns
Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise
+ +

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by opj_bio_flush(), and opj_bio_putbit().

+ +
+
+ +
+
+ + + + + + + + +
opj_bio_t* opj_bio_create (void )
+
+ +

Create a new BIO handle.

+
Returns
Returns a new BIO handle if successful, returns NULL otherwise
+ +

References opj_malloc.

+ +

Referenced by opj_t2_encode_packet(), and opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + + + + +
void opj_bio_destroy (opj_bio_tbio)
+
+ +

Destroy a previously created BIO handle.

+
Parameters
+ + +
bioBIO handle to destroy
+
+
+ +

References opj_free.

+ +

Referenced by opj_t2_encode_packet(), and opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_BOOL opj_bio_flush (opj_bio_tbio)
+
+ +

Flush bits.

+
Parameters
+ + +
bioBIO handle
+
+
+
Returns
Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise
+ +

References opj_bio::ct, opj_bio_byteout(), OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by opj_t2_encode_packet().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_bio_getbit (opj_bio_tbio)
+
+static
+
+ +

Read a bit.

+
Parameters
+ + +
bioBIO handle
+
+
+
Returns
Returns the read bit
+ +

References opj_bio::buf, opj_bio::ct, and opj_bio_bytein().

+ +

Referenced by opj_bio_read().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_BOOL opj_bio_inalign (opj_bio_tbio)
+
+ +

Passes the ending bits (coming from flushing)

+
Parameters
+ + +
bioBIO handle
+
+
+
Returns
Returns OPJ_TRUE if successful, returns OPJ_FALSE otherwise
+ +

References opj_bio::buf, opj_bio::ct, opj_bio_bytein(), OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_bio_init_dec (opj_bio_tbio,
OPJ_BYTEbp,
OPJ_UINT32 len 
)
+
+ +

Init decoder.

+
Parameters
+ + + + +
bioBIO handle
bpInput buffer
lenInput buffer length
+
+
+ +

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, and opj_bio::start.

+ +

Referenced by opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_bio_init_enc (opj_bio_tbio,
OPJ_BYTEbp,
OPJ_UINT32 len 
)
+
+ +

Init encoder.

+
Parameters
+ + + + +
bioBIO handle
bpOutput buffer
lenOutput buffer length
+
+
+ +

References opj_bio::bp, opj_bio::buf, opj_bio::ct, opj_bio::end, and opj_bio::start.

+ +

Referenced by opj_t2_encode_packet().

+ +
+
+ +
+
+ + + + + + + + +
ptrdiff_t opj_bio_numbytes (opj_bio_tbio)
+
+ +

Number of bytes written.

+
Parameters
+ + +
bioBIO handle
+
+
+
Returns
Returns the number of bytes written
+ +

References opj_bio::bp, and opj_bio::start.

+ +

Referenced by opj_t2_encode_packet(), and opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_bio_putbit (opj_bio_tbio,
OPJ_UINT32 b 
)
+
+static
+
+ +

Write a bit.

+
Parameters
+ + + +
bioBIO handle
bBit to write (0 or 1)
+
+
+ +

References opj_bio::buf, opj_bio::ct, and opj_bio_byteout().

+ +

Referenced by opj_bio_write().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_UINT32 opj_bio_read (opj_bio_tbio,
OPJ_UINT32 n 
)
+
+ +

Read bits.

+
Parameters
+ + + +
bioBIO handle
nNumber of bits to read
+
+
+
Returns
Returns the corresponding read number
+ +

References opj_bio_getbit().

+ +

Referenced by opj_t2_getcommacode(), opj_t2_getnumpasses(), opj_t2_read_packet_header(), and opj_tgt_decode().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_bio_write (opj_bio_tbio,
OPJ_UINT32 v,
OPJ_UINT32 n 
)
+
+ +

Write bits.

+
Parameters
+ + + + +
bioBIO handle
vValue of bits
nNumber of bits to write
+
+
+ +

References opj_bio_putbit().

+ +

Referenced by opj_t2_encode_packet(), opj_t2_putcommacode(), opj_t2_putnumpasses(), and opj_tgt_encode().

+ +
+
+
+ + + + diff --git a/doxygen/group___c_i_o.html b/doxygen/group___c_i_o.html new file mode 100644 index 00000000..1b3c6150 --- /dev/null +++ b/doxygen/group___c_i_o.html @@ -0,0 +1,1395 @@ + + + + + + +OpenJPEG: CIO - byte input-output stream + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
CIO - byte input-output stream
+
+
+ + + + + +

+Data Structures

struct  opj_stream_private
 Byte input-output stream. More...
 
+ + + + + + + + + + + + + +

+Macros

#define opj_write_bytes   opj_write_bytes_LE
 
#define opj_read_bytes   opj_read_bytes_LE
 
#define opj_write_double   opj_write_double_LE
 
#define opj_read_double   opj_read_double_LE
 
#define opj_write_float   opj_write_float_LE
 
#define opj_read_float   opj_read_float_LE
 
+ + + + +

+Typedefs

typedef struct opj_stream_private opj_stream_private_t
 Byte input-output stream. More...
 
+ + + +

+Enumerations

enum  opj_stream_flag {
+  opj_signed_sentinel = -1, +opj_stream_e_output = 0x1, +opj_stream_e_input = 0x2, +opj_stream_e_end = 0x4, +
+  opj_stream_e_error = 0x8 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions (see also openjpeg.h)

void opj_write_bytes_BE (OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
 Write some bytes to the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_read_bytes_BE (const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_write_bytes_LE (OPJ_BYTE *p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_bytes_LE (const OPJ_BYTE *p_buffer, OPJ_UINT32 *p_value, OPJ_UINT32 p_nb_bytes)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_double_LE (OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_double_BE (OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
 
void opj_read_double_LE (const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_double_BE (const OPJ_BYTE *p_buffer, OPJ_FLOAT64 *p_value)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_read_float_LE (const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
 Reads some bytes from the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_read_float_BE (const OPJ_BYTE *p_buffer, OPJ_FLOAT32 *p_value)
 Reads some bytes from the given data buffer, this function is used in Big Endian cpus. More...
 
void opj_write_float_LE (OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
 Write some bytes to the given data buffer, this function is used in Little Endian cpus. More...
 
void opj_write_float_BE (OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
 
OPJ_SIZE_T opj_stream_read_data (opj_stream_private_t *p_stream, OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr *p_event_mgr)
 Reads some bytes from the stream. More...
 
OPJ_SIZE_T opj_stream_write_data (opj_stream_private_t *p_stream, const OPJ_BYTE *p_buffer, OPJ_SIZE_T p_size, struct opj_event_mgr *p_event_mgr)
 Writes some bytes to the stream. More...
 
OPJ_BOOL opj_stream_flush (opj_stream_private_t *p_stream, struct opj_event_mgr *p_event_mgr)
 Writes the content of the stream buffer to the stream. More...
 
OPJ_OFF_T opj_stream_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_OFF_T opj_stream_tell (const opj_stream_private_t *p_stream)
 Tells the byte offset on the stream (similar to ftell). More...
 
OPJ_OFF_T opj_stream_get_number_byte_left (const opj_stream_private_t *p_stream)
 Get the number of bytes left before the end of the stream (similar to cio_numbytesleft). More...
 
OPJ_OFF_T opj_stream_write_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_OFF_T opj_stream_read_skip (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_read_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_write_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Skips a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_seek (opj_stream_private_t *p_stream, OPJ_OFF_T p_size, struct opj_event_mgr *p_event_mgr)
 Seeks a number of bytes from the stream. More...
 
OPJ_BOOL opj_stream_has_seek (const opj_stream_private_t *p_stream)
 Tells if the given stream is seekable. More...
 
OPJ_SIZE_T opj_stream_default_read (void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_SIZE_T opj_stream_default_write (void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_OFF_T opj_stream_default_skip (OPJ_OFF_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
OPJ_BOOL opj_stream_default_seek (OPJ_OFF_T p_nb_bytes, void *p_user_data)
 FIXME DOC. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ + + +
+
+ + + + +
#define opj_read_double   opj_read_double_LE
+
+
+ +
+
+ + + + +
#define opj_read_float   opj_read_float_LE
+
+
+ + + +
+
+ + + + +
#define opj_write_double   opj_write_double_LE
+
+ +

Referenced by opj_j2k_write_float_to_float64().

+ +
+
+ +
+
+ + + + +
#define opj_write_float   opj_write_float_LE
+
+ +

Referenced by opj_j2k_write_float_to_float().

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_stream_private + opj_stream_private_t
+
+ +

Byte input-output stream.

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum opj_stream_flag
+
+ + + + + + +
Enumerator
opj_signed_sentinel  +
opj_stream_e_output  +
opj_stream_e_input  +
opj_stream_e_end  +
opj_stream_e_error  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_read_bytes_BE (const OPJ_BYTEp_buffer,
OPJ_UINT32p_value,
OPJ_UINT32 p_nb_bytes 
)
+
+ +

Reads some bytes from the given data buffer, this function is used in Big Endian cpus.

+
Parameters
+ + + + +
p_bufferpointer the data buffer to read data from.
p_valuepointer to the value that will store the data.
p_nb_bytesthe nb bytes to read.
+
+
+
Returns
the number of bytes read or -1 if an error occured.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_read_bytes_LE (const OPJ_BYTEp_buffer,
OPJ_UINT32p_value,
OPJ_UINT32 p_nb_bytes 
)
+
+ +

Reads some bytes from the given data buffer, this function is used in Little Endian cpus.

+
Parameters
+ + + + +
p_bufferpointer the data buffer to read data from.
p_valuepointer to the value that will store the data.
p_nb_bytesthe nb bytes to read.
+
+
+
Returns
the number of bytes read or -1 if an error occured.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_read_double_BE (const OPJ_BYTEp_buffer,
OPJ_FLOAT64p_value 
)
+
+ +

Reads some bytes from the given data buffer, this function is used in Big Endian cpus.

+
Parameters
+ + + +
p_bufferpointer the data buffer to read data from.
p_valuepointer to the value that will store the data.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_read_double_LE (const OPJ_BYTEp_buffer,
OPJ_FLOAT64p_value 
)
+
+ +

Reads some bytes from the given data buffer, this function is used in Little Endian cpus.

+
Parameters
+ + + +
p_bufferpointer the data buffer to read data from.
p_valuepointer to the value that will store the data.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_read_float_BE (const OPJ_BYTEp_buffer,
OPJ_FLOAT32p_value 
)
+
+ +

Reads some bytes from the given data buffer, this function is used in Big Endian cpus.

+
Parameters
+ + + +
p_bufferpointer the data buffer to read data from.
p_valuepointer to the value that will store the data.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_read_float_LE (const OPJ_BYTEp_buffer,
OPJ_FLOAT32p_value 
)
+
+ +

Reads some bytes from the given data buffer, this function is used in Little Endian cpus.

+
Parameters
+ + + +
p_bufferpointer the data buffer to read data from.
p_valuepointer to the value that will store the data.
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_SIZE_T opj_stream_default_read (void * p_buffer,
OPJ_SIZE_T p_nb_bytes,
void * p_user_data 
)
+
+ +

FIXME DOC.

+ +

References OPJ_ARG_NOT_USED.

+ +

Referenced by opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_stream_default_seek (OPJ_OFF_T p_nb_bytes,
void * p_user_data 
)
+
+ +

FIXME DOC.

+ +

References OPJ_ARG_NOT_USED, and OPJ_FALSE.

+ +

Referenced by opj_stream_create(), and opj_stream_has_seek().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_OFF_T opj_stream_default_skip (OPJ_OFF_T p_nb_bytes,
void * p_user_data 
)
+
+ +

FIXME DOC.

+ +

References OPJ_ARG_NOT_USED.

+ +

Referenced by opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_SIZE_T opj_stream_default_write (void * p_buffer,
OPJ_SIZE_T p_nb_bytes,
void * p_user_data 
)
+
+ +

FIXME DOC.

+ +

References OPJ_ARG_NOT_USED.

+ +

Referenced by opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_stream_flush (opj_stream_private_tp_stream,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Writes the content of the stream buffer to the stream.

+
Parameters
+ + + +
p_streamthe stream to write data to.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
true if the data could be flushed, false else.
+ +

References EVT_INFO, opj_stream_private::m_bytes_in_buffer, opj_stream_private::m_current_data, opj_stream_private::m_status, opj_stream_private::m_stored_data, opj_stream_private::m_user_data, opj_stream_private::m_write_fn, opj_event_msg(), OPJ_FALSE, opj_stream_e_error, and OPJ_TRUE.

+ +

Referenced by opj_j2k_write_eoc(), opj_stream_write_data(), opj_stream_write_seek(), and opj_stream_write_skip().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_OFF_T opj_stream_get_number_byte_left (const opj_stream_private_tp_stream)
+
+ +

Get the number of bytes left before the end of the stream (similar to cio_numbytesleft).

+
Parameters
+ + +
p_streamthe stream to get the information from.
+
+
+
Returns
Number of bytes left before the end of the stream.
+ +

References opj_stream_private::m_byte_offset, and opj_stream_private::m_user_data_length.

+ +

Referenced by opj_j2k_decode_tile(), opj_j2k_decode_tiles(), opj_j2k_read_sod(), opj_j2k_read_tile_header(), opj_jp2_read_boxhdr(), and opj_jp2_read_header_procedure().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_BOOL opj_stream_has_seek (const opj_stream_private_tp_stream)
+
+ +

Tells if the given stream is seekable.

+ +

References opj_stream_private::m_seek_fn, and opj_stream_default_seek().

+ +

Referenced by opj_jp2_default_validation(), and opj_jp2_write_jp2c().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_SIZE_T opj_stream_read_data (opj_stream_private_tp_stream,
OPJ_BYTEp_buffer,
OPJ_SIZE_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Reads some bytes from the stream.

+
Parameters
+ + + + + +
p_streamthe stream to read data from.
p_bufferpointer to the data buffer that will receive the data.
p_sizenumber of bytes to read.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
the number of bytes read, or -1 if an error occured or if the stream is at the end.
+ +

References EVT_INFO, opj_stream_private::m_buffer_size, opj_stream_private::m_byte_offset, opj_stream_private::m_bytes_in_buffer, opj_stream_private::m_current_data, opj_stream_private::m_read_fn, opj_stream_private::m_status, opj_stream_private::m_stored_data, opj_stream_private::m_user_data, opj_event_msg(), and opj_stream_e_end.

+ +

Referenced by opj_check_EPHuse(), opj_j2k_decode_tile(), opj_j2k_need_nb_tile_parts_correction(), opj_j2k_read_header_procedure(), opj_j2k_read_soc(), opj_j2k_read_sod(), opj_j2k_read_tile_header(), opj_j2k_read_unk(), opj_jp2_read_boxhdr(), and opj_jp2_read_header_procedure().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_stream_read_seek (opj_stream_private_tp_stream,
OPJ_OFF_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Skips a number of bytes from the stream.

+
Parameters
+ + + + +
p_streamthe stream to skip data from.
p_sizethe number of bytes to skip.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
OPJ_TRUE if success, or OPJ_FALSE if an error occured.
+ +

References opj_stream_private::m_byte_offset, opj_stream_private::m_bytes_in_buffer, opj_stream_private::m_current_data, opj_stream_private::m_seek_fn, opj_stream_private::m_status, opj_stream_private::m_stored_data, opj_stream_private::m_user_data, OPJ_ARG_NOT_USED, OPJ_FALSE, opj_stream_e_end, and OPJ_TRUE.

+ +

Referenced by opj_j2k_decode_one_tile(), and opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_OFF_T opj_stream_read_skip (opj_stream_private_tp_stream,
OPJ_OFF_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Skips a number of bytes from the stream.

+
Parameters
+ + + + +
p_streamthe stream to skip data from.
p_sizethe number of bytes to skip.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
the number of bytes skipped, or -1 if an error occured.
+ +

References EVT_INFO, opj_stream_private::m_byte_offset, opj_stream_private::m_bytes_in_buffer, opj_stream_private::m_current_data, opj_stream_private::m_skip_fn, opj_stream_private::m_status, opj_stream_private::m_stored_data, opj_stream_private::m_user_data, opj_event_msg(), and opj_stream_e_end.

+ +

Referenced by opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_stream_seek (opj_stream_private_tp_stream,
OPJ_OFF_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Seeks a number of bytes from the stream.

+
Parameters
+ + + + +
p_streamthe stream to skip data from.
p_sizethe number of bytes to skip.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
true if the stream is seekable.
+ +

References opj_stream_private::m_opj_seek.

+ +

Referenced by opj_check_EPHuse(), opj_j2k_need_nb_tile_parts_correction(), opj_j2k_write_updated_tlm(), opj_jp2_write_jp2c(), opj_write_cidx(), opj_write_cptr(), opj_write_mainmhix(), opj_write_manf(), opj_write_phix(), opj_write_phixfaix(), opj_write_ppix(), opj_write_ppixfaix(), opj_write_thix(), opj_write_tilemhix(), opj_write_tpix(), and opj_write_tpixfaix().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_OFF_T opj_stream_skip (opj_stream_private_tp_stream,
OPJ_OFF_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Skips a number of bytes from the stream.

+
Parameters
+ + + + +
p_streamthe stream to skip data from.
p_sizethe number of bytes to skip.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
the number of bytes skipped, or -1 if an error occured.
+ +

References opj_stream_private::m_opj_skip.

+ +

Referenced by opj_j2k_need_nb_tile_parts_correction(), opj_j2k_read_tile_header(), opj_jp2_read_header_procedure(), opj_jp2_skip_jp2c(), opj_jpip_skip_iptr(), opj_write_cidx(), opj_write_cptr(), opj_write_mainmhix(), opj_write_manf(), opj_write_phix(), opj_write_phixfaix(), opj_write_ppix(), opj_write_ppixfaix(), opj_write_thix(), opj_write_tilemhix(), opj_write_tpix(), and opj_write_tpixfaix().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_SIZE_T opj_stream_write_data (opj_stream_private_tp_stream,
const OPJ_BYTEp_buffer,
OPJ_SIZE_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_stream_write_seek (opj_stream_private_tp_stream,
OPJ_OFF_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Skips a number of bytes from the stream.

+
Parameters
+ + + + +
p_streamthe stream to skip data from.
p_sizethe number of bytes to skip.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
the number of bytes skipped, or -1 if an error occured.
+ +

References opj_stream_private::m_byte_offset, opj_stream_private::m_bytes_in_buffer, opj_stream_private::m_current_data, opj_stream_private::m_seek_fn, opj_stream_private::m_status, opj_stream_private::m_stored_data, opj_stream_private::m_user_data, OPJ_FALSE, opj_stream_e_error, opj_stream_flush(), and OPJ_TRUE.

+ +

Referenced by opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_OFF_T opj_stream_write_skip (opj_stream_private_tp_stream,
OPJ_OFF_T p_size,
struct opj_event_mgrp_event_mgr 
)
+
+ +

Skips a number of bytes from the stream.

+
Parameters
+ + + + +
p_streamthe stream to skip data from.
p_sizethe number of bytes to skip.
p_event_mgrthe user event manager to be notified of special events.
+
+
+
Returns
the number of bytes skipped, or -1 if an error occured.
+ +

References EVT_INFO, opj_stream_private::m_byte_offset, opj_stream_private::m_bytes_in_buffer, opj_stream_private::m_skip_fn, opj_stream_private::m_status, opj_stream_private::m_user_data, opj_event_msg(), opj_stream_e_error, and opj_stream_flush().

+ +

Referenced by opj_stream_create().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_write_bytes_BE (OPJ_BYTEp_buffer,
OPJ_UINT32 p_value,
OPJ_UINT32 p_nb_bytes 
)
+
+ +

Write some bytes to the given data buffer, this function is used in Big Endian cpus.

+
Parameters
+ + + + +
p_bufferpointer the data buffer to write data to.
p_valuethe value to write
p_nb_bytesthe number of bytes to write
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_write_bytes_LE (OPJ_BYTEp_buffer,
OPJ_UINT32 p_value,
OPJ_UINT32 p_nb_bytes 
)
+
+ +

Write some bytes to the given data buffer, this function is used in Little Endian cpus.

+
Parameters
+ + + + +
p_bufferpointer the data buffer to write data to.
p_valuethe value to write
p_nb_bytesthe number of bytes to write
+
+
+
Returns
the number of bytes written or -1 if an error occured
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_write_double_BE (OPJ_BYTEp_buffer,
OPJ_FLOAT64 p_value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_write_double_LE (OPJ_BYTEp_buffer,
OPJ_FLOAT64 p_value 
)
+
+ +

Write some bytes to the given data buffer, this function is used in Little Endian cpus.

+
Parameters
+ + + +
p_bufferpointer the data buffer to write data to.
p_valuethe value to write
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_write_float_BE (OPJ_BYTEp_buffer,
OPJ_FLOAT32 p_value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_write_float_LE (OPJ_BYTEp_buffer,
OPJ_FLOAT32 p_value 
)
+
+ +

Write some bytes to the given data buffer, this function is used in Little Endian cpus.

+
Parameters
+ + + +
p_bufferpointer the data buffer to write data to.
p_valuethe value to write
+
+
+ +
+
+
+ + + + diff --git a/doxygen/group___d_w_t.html b/doxygen/group___d_w_t.html new file mode 100644 index 00000000..684c3bf5 --- /dev/null +++ b/doxygen/group___d_w_t.html @@ -0,0 +1,1467 @@ + + + + + + +OpenJPEG: DWT - Implementation of a discrete wavelet transform + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
DWT - Implementation of a discrete wavelet transform
+
+
+ + + + + + + + +

+Data Structures

struct  dwt_local
 
union  opj_v4_t
 
struct  v4dwt_local
 
+ + + + + +

+Macros

#define OPJ_WS(i)   v->mem[(i)*2]
 
#define OPJ_WD(i)   v->mem[(1+(i)*2)]
 
+ + + + +

+Typedefs

typedef void(* DWT1DFN) (opj_dwt_t *v)
 Virtual function type for wavelet transform in 1-D. More...
 
+ + + + + + + + + + + + + + + + + +

+Local data structures

typedef struct dwt_local opj_dwt_t
 
typedef struct v4dwt_local opj_v4dwt_t
 
static const OPJ_FLOAT32 opj_dwt_alpha = 1.586134342f
 
static const OPJ_FLOAT32 opj_dwt_beta = 0.052980118f
 
static const OPJ_FLOAT32 opj_dwt_gamma = -0.882911075f
 
static const OPJ_FLOAT32 opj_dwt_delta = -0.443506852f
 
static const OPJ_FLOAT32 opj_K = 1.230174105f
 
static const OPJ_FLOAT32 opj_c13318 = 1.625732422f
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Local static functions

static void opj_dwt_deinterleave_h (OPJ_INT32 *a, OPJ_INT32 *b, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 Forward lazy transform (horizontal) More...
 
static void opj_dwt_deinterleave_v (OPJ_INT32 *a, OPJ_INT32 *b, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 x, OPJ_INT32 cas)
 Forward lazy transform (vertical) More...
 
static void opj_dwt_interleave_h (opj_dwt_t *h, OPJ_INT32 *a)
 Inverse lazy transform (horizontal) More...
 
static void opj_dwt_interleave_v (opj_dwt_t *v, OPJ_INT32 *a, OPJ_INT32 x)
 Inverse lazy transform (vertical) More...
 
static void opj_dwt_encode_1 (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 Forward 5-3 wavelet transform in 1-D. More...
 
static void opj_dwt_decode_1 (opj_dwt_t *v)
 Inverse 5-3 wavelet transform in 1-D. More...
 
static void opj_dwt_decode_1_ (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 
static void opj_dwt_encode_1_real (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
 Forward 9-7 wavelet transform in 1-D. More...
 
static void opj_dwt_encode_stepsize (OPJ_INT32 stepsize, OPJ_INT32 numbps, opj_stepsize_t *bandno_stepsize)
 Explicit calculation of the Quantization Stepsizes. More...
 
static OPJ_BOOL opj_dwt_decode_tile (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 i, DWT1DFN fn)
 Inverse wavelet transform in 2-D. More...
 
static OPJ_BOOL opj_dwt_encode_procedure (opj_tcd_tilecomp_t *tilec, void(*p_function)(OPJ_INT32 *, OPJ_INT32, OPJ_INT32, OPJ_INT32))
 
static OPJ_UINT32 opj_dwt_max_resolution (opj_tcd_resolution_t *restrict r, OPJ_UINT32 i)
 
static void opj_v4dwt_decode (opj_v4dwt_t *restrict dwt)
 
static void opj_v4dwt_interleave_h (opj_v4dwt_t *restrict w, OPJ_FLOAT32 *restrict a, OPJ_INT32 x, OPJ_INT32 size)
 
static void opj_v4dwt_interleave_v (opj_v4dwt_t *restrict v, OPJ_FLOAT32 *restrict a, OPJ_INT32 x, OPJ_INT32 nb_elts_read)
 
static void opj_v4dwt_decode_step1 (opj_v4_t *w, OPJ_INT32 count, const OPJ_FLOAT32 c)
 
static void opj_v4dwt_decode_step2 (opj_v4_t *l, opj_v4_t *w, OPJ_INT32 k, OPJ_INT32 m, OPJ_FLOAT32 c)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

OPJ_BOOL opj_dwt_encode (opj_tcd_tilecomp_t *tilec)
 Forward 5-3 wavelet tranform in 2-D. More...
 
OPJ_BOOL opj_dwt_decode (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
 Inverse 5-3 wavelet tranform in 2-D. More...
 
OPJ_UINT32 opj_dwt_getgain (OPJ_UINT32 orient)
 Get the gain of a subband for the reversible 5-3 DWT. More...
 
OPJ_FLOAT64 opj_dwt_getnorm (OPJ_UINT32 level, OPJ_UINT32 orient)
 Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT. More...
 
OPJ_BOOL opj_dwt_encode_real (opj_tcd_tilecomp_t *tilec)
 Forward 9-7 wavelet transform in 2-D. More...
 
OPJ_BOOL opj_dwt_decode_real (opj_tcd_tilecomp_t *restrict tilec, OPJ_UINT32 numres)
 Inverse 9-7 wavelet transform in 2-D. More...
 
OPJ_UINT32 opj_dwt_getgain_real (OPJ_UINT32 orient)
 Get the gain of a subband for the irreversible 9-7 DWT. More...
 
OPJ_FLOAT64 opj_dwt_getnorm_real (OPJ_UINT32 level, OPJ_UINT32 orient)
 Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT. More...
 
void opj_dwt_calc_explicit_stepsizes (opj_tccp_t *tccp, OPJ_UINT32 prec)
 Explicit calculation of the Quantization Stepsizes. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define OPJ_WD( i)   v->mem[(1+(i)*2)]
+
+ +
+
+ +
+
+ + + + + + + + +
#define OPJ_WS( i)   v->mem[(i)*2]
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* DWT1DFN) (opj_dwt_t *v)
+
+ +

Virtual function type for wavelet transform in 1-D.

+ +
+
+ +
+
+ + + + +
typedef struct dwt_local opj_dwt_t
+
+ +
+
+ +
+
+ + + + +
typedef struct v4dwt_local opj_v4dwt_t
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_dwt_calc_explicit_stepsizes (opj_tccp_ttccp,
OPJ_UINT32 prec 
)
+
+ +

Explicit calculation of the Quantization Stepsizes.

+
Parameters
+ + + +
tccpTile-component coding parameters
precPrecint analyzed
+
+
+ +

References J2K_CCP_QNTSTY_NOQNT, opj_tccp::numresolutions, opj_dwt_encode_stepsize(), opj_tccp::qmfbid, opj_tccp::qntsty, and opj_tccp::stepsizes.

+ +

Referenced by opj_j2k_setup_encoder().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_dwt_decode (opj_tcd_tilecomp_ttilec,
OPJ_UINT32 numres 
)
+
+ +

Inverse 5-3 wavelet tranform in 2-D.

+

Apply a reversible inverse DWT transform to a component of an image.

Parameters
+ + + +
tilecTile component information (current tile)
numresNumber of resolution levels to decode
+
+
+ +

References opj_dwt_decode_1(), and opj_dwt_decode_tile().

+ +

Referenced by opj_tcd_dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_dwt_decode_1 (opj_dwt_tv)
+
+static
+
+ +

Inverse 5-3 wavelet transform in 1-D.

+ +

References dwt_local::cas, dwt_local::dn, dwt_local::mem, opj_dwt_decode_1_(), and dwt_local::sn.

+ +

Referenced by opj_dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_dwt_decode_1_ (OPJ_INT32a,
OPJ_INT32 dn,
OPJ_INT32 sn,
OPJ_INT32 cas 
)
+
+static
+
+ +

References OPJ_D, OPJ_D_, OPJ_DD_, OPJ_S, and OPJ_SS_.

+ +

Referenced by opj_dwt_decode_1().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_dwt_decode_real (opj_tcd_tilecomp_t *restrict tilec,
OPJ_UINT32 numres 
)
+
+ +

Inverse 9-7 wavelet transform in 2-D.

+

Apply an irreversible inverse DWT transform to a component of an image.

Parameters
+ + + +
tilecTile component information (current tile)
numresNumber of resolution levels to decode
+
+
+ +

References v4dwt_local::cas, v4dwt_local::dn, opj_v4_t::f, opj_aligned_free, opj_aligned_malloc, opj_dwt_max_resolution(), OPJ_FALSE, OPJ_TRUE, opj_v4dwt_decode(), opj_v4dwt_interleave_h(), opj_v4dwt_interleave_v(), restrict, v4dwt_local::sn, v4dwt_local::wavelet, opj_tcd_resolution::x0, opj_tcd_resolution::x1, opj_tcd_resolution::y0, and opj_tcd_resolution::y1.

+ +

Referenced by opj_tcd_dwt_decode().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_dwt_deinterleave_h (OPJ_INT32a,
OPJ_INT32b,
OPJ_INT32 dn,
OPJ_INT32 sn,
OPJ_INT32 cas 
)
+
+static
+
+ +

Forward lazy transform (horizontal)

+ +

Referenced by opj_dwt_encode_procedure().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_dwt_deinterleave_v (OPJ_INT32a,
OPJ_INT32b,
OPJ_INT32 dn,
OPJ_INT32 sn,
OPJ_INT32 x,
OPJ_INT32 cas 
)
+
+static
+
+ +

Forward lazy transform (vertical)

+ +

Referenced by opj_dwt_encode_procedure().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_BOOL opj_dwt_encode (opj_tcd_tilecomp_ttilec)
+
+ +

Forward 5-3 wavelet tranform in 2-D.

+

Apply a reversible DWT transform to a component of an image.

Parameters
+ + +
tilecTile component information (current tile)
+
+
+ +

References opj_dwt_encode_1(), and opj_dwt_encode_procedure().

+ +

Referenced by opj_tcd_dwt_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_dwt_encode_1 (OPJ_INT32a,
OPJ_INT32 dn,
OPJ_INT32 sn,
OPJ_INT32 cas 
)
+
+static
+
+ +

Forward 5-3 wavelet transform in 1-D.

+ +

References OPJ_D, OPJ_D_, OPJ_DD_, OPJ_S, and OPJ_S_.

+ +

Referenced by opj_dwt_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_dwt_encode_1_real (OPJ_INT32a,
OPJ_INT32 dn,
OPJ_INT32 sn,
OPJ_INT32 cas 
)
+
+static
+
+ +

Forward 9-7 wavelet transform in 1-D.

+ +

References OPJ_D, OPJ_D_, OPJ_DD_, opj_int_fix_mul(), OPJ_S, OPJ_S_, and OPJ_SS_.

+ +

Referenced by opj_dwt_encode_real().

+ +
+
+ + + +
+
+ + + + + + + + +
OPJ_BOOL opj_dwt_encode_real (opj_tcd_tilecomp_ttilec)
+
+ +

Forward 9-7 wavelet transform in 2-D.

+

Apply an irreversible DWT transform to a component of an image.

Parameters
+ + +
tilecTile component information (current tile)
+
+
+ +

References opj_dwt_encode_1_real(), and opj_dwt_encode_procedure().

+ +

Referenced by opj_tcd_dwt_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_dwt_encode_stepsize (OPJ_INT32 stepsize,
OPJ_INT32 numbps,
opj_stepsize_tbandno_stepsize 
)
+
+static
+
+ +

Explicit calculation of the Quantization Stepsizes.

+ +

References opj_stepsize::expn, opj_stepsize::mant, and opj_int_floorlog2().

+ +

Referenced by opj_dwt_calc_explicit_stepsizes().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_dwt_getgain (OPJ_UINT32 orient)
+
+ +

Get the gain of a subband for the reversible 5-3 DWT.

+
Parameters
+ + +
orientNumber that identifies the subband (0->LL, 1->HL, 2->LH, 3->HH)
+
+
+
Returns
Returns 0 if orient = 0, returns 1 if orient = 1 or 2, returns 2 otherwise
+ +

Referenced by opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_dwt_getgain_real (OPJ_UINT32 orient)
+
+ +

Get the gain of a subband for the irreversible 9-7 DWT.

+
Parameters
+ + +
orientNumber that identifies the subband (0->LL, 1->HL, 2->LH, 3->HH)
+
+
+
Returns
Returns the gain of the 9-7 wavelet transform
+ +

Referenced by opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_FLOAT64 opj_dwt_getnorm (OPJ_UINT32 level,
OPJ_UINT32 orient 
)
+
+ +

Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT.

+
Parameters
+ + + +
levelLevel of the wavelet function
orientBand of the wavelet function
+
+
+
Returns
Returns the norm of the wavelet function
+ +

Referenced by opj_t1_getwmsedec().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_FLOAT64 opj_dwt_getnorm_real (OPJ_UINT32 level,
OPJ_UINT32 orient 
)
+
+ +

Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT.

+
Parameters
+ + + +
levelLevel of the wavelet function
orientBand of the wavelet function
+
+
+
Returns
Returns the norm of the 9-7 wavelet
+ +

Referenced by opj_t1_getwmsedec().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_dwt_interleave_h (opj_dwt_th,
OPJ_INT32a 
)
+
+static
+
+ +

Inverse lazy transform (horizontal)

+ +

References dwt_local::cas, dwt_local::dn, dwt_local::mem, and dwt_local::sn.

+ +

Referenced by opj_dwt_decode_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_dwt_interleave_v (opj_dwt_tv,
OPJ_INT32a,
OPJ_INT32 x 
)
+
+static
+
+ +

Inverse lazy transform (vertical)

+ +

References dwt_local::cas, dwt_local::dn, dwt_local::mem, and dwt_local::sn.

+ +

Referenced by opj_dwt_decode_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
OPJ_UINT32 opj_dwt_max_resolution (opj_tcd_resolution_t *restrict r,
OPJ_UINT32 i 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_v4dwt_decode (opj_v4dwt_t *restrict dwt)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_v4dwt_decode_step1 (opj_v4_tw,
OPJ_INT32 count,
const OPJ_FLOAT32 c 
)
+
+static
+
+ +

References restrict.

+ +

Referenced by opj_v4dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_v4dwt_decode_step2 (opj_v4_tl,
opj_v4_tw,
OPJ_INT32 k,
OPJ_INT32 m,
OPJ_FLOAT32 c 
)
+
+static
+
+ +

References restrict.

+ +

Referenced by opj_v4dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_v4dwt_interleave_h (opj_v4dwt_t *restrict w,
OPJ_FLOAT32 *restrict a,
OPJ_INT32 x,
OPJ_INT32 size 
)
+
+static
+
+ +

References restrict.

+ +

Referenced by opj_dwt_decode_real().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_v4dwt_interleave_v (opj_v4dwt_t *restrict v,
OPJ_FLOAT32 *restrict a,
OPJ_INT32 x,
OPJ_INT32 nb_elts_read 
)
+
+static
+
+ +

References restrict.

+ +

Referenced by opj_dwt_decode_real().

+ +
+
+

Variable Documentation

+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT32 opj_c13318 = 1.625732422f
+
+static
+
+ +

Referenced by opj_v4dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT32 opj_dwt_alpha = 1.586134342f
+
+static
+
+ +

Referenced by opj_v4dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT32 opj_dwt_beta = 0.052980118f
+
+static
+
+ +

Referenced by opj_v4dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT32 opj_dwt_delta = -0.443506852f
+
+static
+
+ +

Referenced by opj_v4dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT32 opj_dwt_gamma = -0.882911075f
+
+static
+
+ +

Referenced by opj_v4dwt_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + +
const OPJ_FLOAT32 opj_K = 1.230174105f
+
+static
+
+ +

Referenced by opj_v4dwt_decode().

+ +
+
+
+ + + + diff --git a/doxygen/group___e_v_e_n_t.html b/doxygen/group___e_v_e_n_t.html new file mode 100644 index 00000000..e63a8f71 --- /dev/null +++ b/doxygen/group___e_v_e_n_t.html @@ -0,0 +1,140 @@ + + + + + + +OpenJPEG: EVENT - Implementation of a event callback system + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+
+
EVENT - Implementation of a event callback system
+
+
+ + + + + + + + +

+Exported functions (see also openjpeg.h)

OPJ_BOOL opj_event_msg (opj_event_mgr_t *event_mgr, OPJ_INT32 event_type, const char *fmt,...)
 Write formatted data to a string and send the string to a user callback. More...
 
void opj_set_default_event_handler (opj_event_mgr_t *p_manager)
 Set the event manager with the default callback function for the 3 levels. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_event_msg (opj_event_mgr_tevent_mgr,
OPJ_INT32 event_type,
const char * fmt,
 ... 
)
+
+ +

Write formatted data to a string and send the string to a user callback.

+
Parameters
+ + + + +
event_mgrEvent handler
event_typeEvent type or callback to use to send the message
fmtFormat-control string (plus optional arguments)
+
+
+
Returns
Returns true if successful, returns false otherwise
+ +

References opj_event_mgr::error_handler, EVT_ERROR, EVT_INFO, EVT_WARNING, opj_event_mgr::info_handler, opj_event_mgr::m_error_data, opj_event_mgr::m_info_data, opj_event_mgr::m_warning_data, OPJ_FALSE, OPJ_MSG_SIZE, OPJ_TRUE, and opj_event_mgr::warning_handler.

+ +

Referenced by j2k_read_ppm_v3(), opj_j2k_check_poc_val(), opj_j2k_copy_default_tcp_and_create_tcd(), opj_j2k_create_tcd(), opj_j2k_decode_one_tile(), opj_j2k_decode_tile(), opj_j2k_decode_tiles(), opj_j2k_encode(), opj_j2k_encoding_validation(), opj_j2k_get_sot_values(), opj_j2k_get_tile(), opj_j2k_is_cinema_compliant(), opj_j2k_need_nb_tile_parts_correction(), opj_j2k_pre_write_tile(), opj_j2k_read_cbd(), opj_j2k_read_coc(), opj_j2k_read_cod(), opj_j2k_read_crg(), opj_j2k_read_header_procedure(), opj_j2k_read_mcc(), opj_j2k_read_mco(), opj_j2k_read_mct(), opj_j2k_read_plm(), opj_j2k_read_plt(), opj_j2k_read_poc(), opj_j2k_read_ppt(), opj_j2k_read_qcc(), opj_j2k_read_qcd(), opj_j2k_read_rgn(), opj_j2k_read_siz(), opj_j2k_read_soc(), opj_j2k_read_sod(), opj_j2k_read_sot(), opj_j2k_read_SPCod_SPCoc(), opj_j2k_read_SQcd_SQcc(), opj_j2k_read_tile_header(), opj_j2k_read_tlm(), opj_j2k_read_unk(), opj_j2k_set_cinema_parameters(), opj_j2k_set_decode_area(), opj_j2k_set_decoded_resolution_factor(), opj_j2k_setup_encoder(), opj_j2k_start_compress(), opj_j2k_write_cbd(), opj_j2k_write_cod(), opj_j2k_write_com(), opj_j2k_write_mcc_record(), opj_j2k_write_mco(), opj_j2k_write_mct_record(), opj_j2k_write_poc(), opj_j2k_write_qcd(), opj_j2k_write_siz(), opj_j2k_write_sod(), opj_j2k_write_SPCod_SPCoc(), opj_j2k_write_SQcd_SQcc(), opj_j2k_write_tile(), opj_j2k_write_tlm(), opj_jp2_check_color(), opj_jp2_decode(), opj_jp2_get_tile(), opj_jp2_read_boxhdr(), opj_jp2_read_boxhdr_char(), opj_jp2_read_bpcc(), opj_jp2_read_cdef(), opj_jp2_read_cmap(), opj_jp2_read_colr(), opj_jp2_read_ftyp(), opj_jp2_read_header_procedure(), opj_jp2_read_ihdr(), opj_jp2_read_jp(), opj_jp2_read_jp2h(), opj_jp2_read_pclr(), opj_jp2_setup_encoder(), opj_jp2_write_ftyp(), opj_jp2_write_jp2c(), opj_jp2_write_jp2h(), opj_read_header(), opj_setup_decoder(), opj_stream_flush(), opj_stream_read_data(), opj_stream_read_skip(), opj_stream_write_skip(), opj_t2_read_packet_data(), and opj_t2_skip_packet_data().

+ +
+
+ +
+
+ + + + + + + + +
void opj_set_default_event_handler (opj_event_mgr_tp_manager)
+
+
+
+ + + + diff --git a/doxygen/group___i_m_a_g_e.html b/doxygen/group___i_m_a_g_e.html new file mode 100644 index 00000000..f74c5ed7 --- /dev/null +++ b/doxygen/group___i_m_a_g_e.html @@ -0,0 +1,171 @@ + + + + + + +OpenJPEG: IMAGE - Implementation of operations on images + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
IMAGE - Implementation of operations on images
+
+
+ + + + + + + + + + + +

+Functions

opj_image_topj_image_create0 (void)
 Create an empty image. More...
 
void opj_image_comp_header_update (opj_image_t *p_image, const struct opj_cp *p_cp)
 Updates the components characteristics of the image from the coding parameters. More...
 
void opj_copy_image_header (const opj_image_t *p_image_src, opj_image_t *p_image_dest)
 Copy only header of image and its component header (no data are copied) if dest image have data, they will be freed. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_copy_image_header (const opj_image_tp_image_src,
opj_image_tp_image_dest 
)
+
+ +

Copy only header of image and its component header (no data are copied) if dest image have data, they will be freed.

+
Parameters
+ + + +
p_image_srcthe src image
p_image_destthe dest image
+
+
+ +

References opj_image::color_space, opj_image::comps, opj_image_comp::data, opj_image::icc_profile_buf, opj_image::icc_profile_len, opj_image::numcomps, opj_free, opj_malloc, opj_image::x0, opj_image::x1, opj_image::y0, and opj_image::y1.

+ +

Referenced by opj_j2k_decode(), opj_j2k_get_tile(), opj_j2k_read_header(), and opj_j2k_start_compress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_image_comp_header_update (opj_image_tp_image_header,
const struct opj_cpp_cp 
)
+
+ +

Updates the components characteristics of the image from the coding parameters.

+
Parameters
+ + + +
p_image_headerthe image header to update.
p_cpthe coding parameters from which to update the image.
+
+
+ +

References opj_image::comps, opj_image_comp::dx, opj_image_comp::dy, opj_image_comp::factor, opj_image_comp::h, opj_image::numcomps, opj_uint_adds(), opj_uint_ceildiv(), opj_uint_ceildivpow2(), opj_uint_max(), opj_uint_min(), opj_cp::tdx, opj_cp::tdy, opj_cp::th, opj_cp::tw, opj_cp::tx0, opj_cp::ty0, opj_image_comp::w, opj_image_comp::x0, opj_image::x0, opj_image::x1, opj_image_comp::y0, opj_image::y0, and opj_image::y1.

+ +

Referenced by opj_j2k_read_siz().

+ +
+
+ +
+
+ + + + + + + + +
opj_image_t* opj_image_create0 (void )
+
+ +

Create an empty image.

+
Returns
returns an empty image if successful, returns NULL otherwise
+ +

References opj_calloc.

+ +

Referenced by opj_j2k_decode(), opj_j2k_get_tile(), opj_j2k_read_header(), and opj_j2k_start_compress().

+ +
+
+
+ + + + diff --git a/doxygen/group___i_n_v_e_r_t.html b/doxygen/group___i_n_v_e_r_t.html new file mode 100644 index 00000000..97d0c7f4 --- /dev/null +++ b/doxygen/group___i_n_v_e_r_t.html @@ -0,0 +1,111 @@ + + + + + + +OpenJPEG: INVERT - Implementation of a matrix inversion + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+
+
INVERT - Implementation of a matrix inversion
+
+
+ + + + + +

+Exported functions

OPJ_BOOL opj_matrix_inversion_f (OPJ_FLOAT32 *pSrcMatrix, OPJ_FLOAT32 *pDestMatrix, OPJ_UINT32 nb_compo)
 Calculates a n x n double matrix inversion with a LUP method. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_matrix_inversion_f (OPJ_FLOAT32pSrcMatrix,
OPJ_FLOAT32pDestMatrix,
OPJ_UINT32 nb_compo 
)
+
+ +

Calculates a n x n double matrix inversion with a LUP method.

+

Data is aligned, rows after rows (or columns after columns). The function does not take ownership of any memory block, data must be fred by the user.

+
Parameters
+ + + + +
pSrcMatrixthe matrix to invert.
pDestMatrixdata to store the inverted matrix.
nsize of the matrix
+
+
+
Returns
OPJ_TRUE if the inversion is successful, OPJ_FALSE if the matrix is singular.
+

Calculates a n x n double matrix inversion with a LUP method.

+ +

References OPJ_FALSE, opj_free, opj_lupDecompose(), opj_lupInvert(), opj_malloc, and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_encoder().

+ +
+
+
+ + + + diff --git a/doxygen/group___j2_k.html b/doxygen/group___j2_k.html new file mode 100644 index 00000000..0afa6665 --- /dev/null +++ b/doxygen/group___j2_k.html @@ -0,0 +1,7698 @@ + + + + + + +OpenJPEG: J2K - JPEG-2000 codestream reader/writer + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
J2K - JPEG-2000 codestream reader/writer
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  opj_stepsize
 Quantization stepsize. More...
 
struct  opj_tccp
 Tile-component coding parameters. More...
 
struct  opj_mct_data
 FIXME DOC. More...
 
struct  opj_simple_mcc_decorrelation_data
 FIXME DOC. More...
 
struct  opj_tcp
 Tile coding parameters : this structure is used to store coding/decoding parameters common to all tiles (information like COD, COC in main header) More...
 
struct  opj_encoding_param
 
struct  opj_decoding_param
 
struct  opj_cp
 Coding parameters. More...
 
struct  opj_j2k_dec
 
struct  opj_j2k_enc
 
struct  opj_j2k
 JPEG-2000 codestream reader/writer. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define J2K_CP_CSTY_PRT   0x01
 
#define J2K_CP_CSTY_SOP   0x02
 
#define J2K_CP_CSTY_EPH   0x04
 
#define J2K_CCP_CSTY_PRT   0x01
 
#define J2K_CCP_CBLKSTY_LAZY   0x01
 Selective arithmetic coding bypass. More...
 
#define J2K_CCP_CBLKSTY_RESET   0x02
 Reset context probabilities on coding pass boundaries. More...
 
#define J2K_CCP_CBLKSTY_TERMALL   0x04
 Termination on each coding pass. More...
 
#define J2K_CCP_CBLKSTY_VSC   0x08
 Vertically stripe causal context. More...
 
#define J2K_CCP_CBLKSTY_PTERM   0x10
 Predictable termination. More...
 
#define J2K_CCP_CBLKSTY_SEGSYM   0x20
 Segmentation symbols are used. More...
 
#define J2K_CCP_QNTSTY_NOQNT   0
 
#define J2K_CCP_QNTSTY_SIQNT   1
 
#define J2K_CCP_QNTSTY_SEQNT   2
 
#define OPJ_J2K_DEFAULT_CBLK_DATA_SIZE   8192
 
#define J2K_MS_SOC   0xff4f
 SOC marker value. More...
 
#define J2K_MS_SOT   0xff90
 SOT marker value. More...
 
#define J2K_MS_SOD   0xff93
 SOD marker value. More...
 
#define J2K_MS_EOC   0xffd9
 EOC marker value. More...
 
#define J2K_MS_SIZ   0xff51
 SIZ marker value. More...
 
#define J2K_MS_COD   0xff52
 COD marker value. More...
 
#define J2K_MS_COC   0xff53
 COC marker value. More...
 
#define J2K_MS_RGN   0xff5e
 RGN marker value. More...
 
#define J2K_MS_QCD   0xff5c
 QCD marker value. More...
 
#define J2K_MS_QCC   0xff5d
 QCC marker value. More...
 
#define J2K_MS_POC   0xff5f
 POC marker value. More...
 
#define J2K_MS_TLM   0xff55
 TLM marker value. More...
 
#define J2K_MS_PLM   0xff57
 PLM marker value. More...
 
#define J2K_MS_PLT   0xff58
 PLT marker value. More...
 
#define J2K_MS_PPM   0xff60
 PPM marker value. More...
 
#define J2K_MS_PPT   0xff61
 PPT marker value. More...
 
#define J2K_MS_SOP   0xff91
 SOP marker value. More...
 
#define J2K_MS_EPH   0xff92
 EPH marker value. More...
 
#define J2K_MS_CRG   0xff63
 CRG marker value. More...
 
#define J2K_MS_COM   0xff64
 COM marker value. More...
 
#define J2K_MS_CBD   0xff78
 CBD marker value. More...
 
#define J2K_MS_MCC   0xff75
 MCC marker value. More...
 
#define J2K_MS_MCT   0xff74
 MCT marker value. More...
 
#define J2K_MS_MCO   0xff77
 MCO marker value. More...
 
#define J2K_MS_UNK   0
 UNKNOWN marker value. More...
 
#define J2K_MS_EPC   0xff68
 EPC marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_EPB   0xff66
 EPB marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_ESD   0xff67
 ESD marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_RED   0xff69
 RED marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_SEC   0xff65
 SEC marker value (Part 8: Secure JPEG 2000) More...
 
#define J2K_MS_INSEC   0xff94
 INSEC marker value (Part 8: Secure JPEG 2000) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef enum J2K_STATUS J2K_STATUS
 Values that specify the status of the decoding process when decoding the main header. More...
 
typedef enum MCT_ELEMENT_TYPE J2K_MCT_ELEMENT_TYPE
 Type of elements storing in the MCT data. More...
 
typedef enum MCT_ARRAY_TYPE J2K_MCT_ARRAY_TYPE
 Type of MCT array. More...
 
typedef enum T2_MODE J2K_T2_MODE
 T2 encoding mode. More...
 
typedef struct opj_stepsize opj_stepsize_t
 Quantization stepsize. More...
 
typedef struct opj_tccp opj_tccp_t
 Tile-component coding parameters. More...
 
typedef struct opj_mct_data opj_mct_data_t
 FIXME DOC. More...
 
typedef struct opj_simple_mcc_decorrelation_data opj_simple_mcc_decorrelation_data_t
 FIXME DOC. More...
 
typedef struct opj_tcp opj_tcp_t
 Tile coding parameters : this structure is used to store coding/decoding parameters common to all tiles (information like COD, COC in main header) More...
 
typedef struct opj_encoding_param opj_encoding_param_t
 
typedef struct opj_decoding_param opj_decoding_param_t
 
typedef struct opj_cp opj_cp_t
 Coding parameters. More...
 
typedef struct opj_j2k_dec opj_j2k_dec_t
 
typedef struct opj_j2k_enc opj_j2k_enc_t
 
typedef struct opj_j2k opj_j2k_t
 JPEG-2000 codestream reader/writer. More...
 
+ + + + + + + + + + + + + +

+Enumerations

enum  J2K_STATUS {
+  J2K_STATE_NONE = 0x0000, +J2K_STATE_MHSOC = 0x0001, +J2K_STATE_MHSIZ = 0x0002, +J2K_STATE_MH = 0x0004, +
+  J2K_STATE_TPHSOT = 0x0008, +J2K_STATE_TPH = 0x0010, +J2K_STATE_MT = 0x0020, +J2K_STATE_NEOC = 0x0040, +
+  J2K_STATE_EOC = 0x0100, +J2K_STATE_ERR = 0x8000 +
+ }
 Values that specify the status of the decoding process when decoding the main header. More...
 
enum  MCT_ELEMENT_TYPE { MCT_TYPE_INT16 = 0, +MCT_TYPE_INT32 = 1, +MCT_TYPE_FLOAT = 2, +MCT_TYPE_DOUBLE = 3 + }
 Type of elements storing in the MCT data. More...
 
enum  MCT_ARRAY_TYPE { MCT_TYPE_DEPENDENCY = 0, +MCT_TYPE_DECORRELATION = 1, +MCT_TYPE_OFFSET = 2 + }
 Type of MCT array. More...
 
enum  T2_MODE { THRESH_CALC = 0, +FINAL_PASS = 1 + }
 T2 encoding mode. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Local static functions

static void opj_j2k_setup_header_reading (opj_j2k_t *p_j2k)
 Sets up the procedures to do on reading header. More...
 
static OPJ_BOOL opj_j2k_read_header_procedure (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The read header procedure. More...
 
static OPJ_BOOL opj_j2k_encoding_validation (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The default encoding validation procedure without any extension. More...
 
static OPJ_BOOL opj_j2k_decoding_validation (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The default decoding validation procedure without any extension. More...
 
static void opj_j2k_setup_encoding_validation (opj_j2k_t *p_j2k)
 Sets up the validation ,i.e. More...
 
static void opj_j2k_setup_decoding_validation (opj_j2k_t *p_j2k)
 Sets up the validation ,i.e. More...
 
static void opj_j2k_setup_end_compress (opj_j2k_t *p_j2k)
 Sets up the validation ,i.e. More...
 
static OPJ_BOOL opj_j2k_mct_validation (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The mct encoding validation procedure. More...
 
static OPJ_BOOL opj_j2k_build_decoder (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Builds the tcd decoder to use to decode tile. More...
 
static OPJ_BOOL opj_j2k_build_encoder (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Builds the tcd encoder to use to encode tile. More...
 
static OPJ_BOOL opj_j2k_create_tcd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Creates a tile-coder decoder. More...
 
static OPJ_BOOL opj_j2k_exec (opj_j2k_t *p_j2k, opj_procedure_list_t *p_procedure_list, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Excutes the given procedures on the given codec. More...
 
static OPJ_BOOL opj_j2k_update_rates (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Updates the rates of the tcp. More...
 
static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Copies the decoding tile parameters onto all the tile parameters. More...
 
static OPJ_BOOL opj_j2k_destroy_header_memory (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Destroys the memory associated with the decoding of headers. More...
 
static const struct opj_dec_memory_marker_handleropj_j2k_get_marker_handler (OPJ_UINT32 p_id)
 Reads the lookup table containing all the marker, status and action, and returns the handler associated with the marker value. More...
 
static void opj_j2k_tcp_destroy (opj_tcp_t *p_tcp)
 Destroys a tile coding parameter structure. More...
 
static void opj_j2k_tcp_data_destroy (opj_tcp_t *p_tcp)
 Destroys the data inside a tile coding parameter structure. More...
 
static void opj_j2k_cp_destroy (opj_cp_t *p_cp)
 Destroys a coding parameter structure. More...
 
static OPJ_BOOL opj_j2k_write_SPCod_SPCoc (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no, OPJ_BYTE *p_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Writes a SPCod or SPCoc element, i.e. More...
 
static OPJ_UINT32 opj_j2k_get_SPCod_SPCoc_size (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no)
 Gets the size taken by writing a SPCod or SPCoc for the given tile and component. More...
 
static OPJ_BOOL opj_j2k_read_SPCod_SPCoc (opj_j2k_t *p_j2k, OPJ_UINT32 compno, OPJ_BYTE *p_header_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Reads a SPCod or SPCoc element, i.e. More...
 
static OPJ_UINT32 opj_j2k_get_SQcd_SQcc_size (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no)
 Gets the size taken by writing SQcd or SQcc element, i.e. More...
 
static OPJ_BOOL opj_j2k_write_SQcd_SQcc (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no, OPJ_BYTE *p_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Writes a SQcd or SQcc element, i.e. More...
 
static void opj_j2k_update_tlm (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_part_size)
 Updates the Tile Length Marker. More...
 
static OPJ_BOOL opj_j2k_read_SQcd_SQcc (opj_j2k_t *p_j2k, OPJ_UINT32 compno, OPJ_BYTE *p_header_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Reads a SQcd or SQcc element, i.e. More...
 
static void opj_j2k_copy_tile_component_parameters (opj_j2k_t *p_j2k)
 Copies the tile component parameters of all the component from the first tile component. More...
 
static void opj_j2k_copy_tile_quantization_parameters (opj_j2k_t *p_j2k)
 Copies the tile quantization parameters of all the component from the first tile component. More...
 
static OPJ_BOOL opj_j2k_decode_tiles (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads the tiles. More...
 
static OPJ_BOOL opj_j2k_pre_write_tile (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_j2k_update_image_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_data, opj_image_t *p_output_image)
 
static void opj_get_tile_dimensions (opj_image_t *l_image, opj_tcd_tilecomp_t *l_tilec, opj_image_comp_t *l_img_comp, OPJ_UINT32 *l_size_comp, OPJ_UINT32 *l_width, OPJ_UINT32 *l_height, OPJ_UINT32 *l_offset_x, OPJ_UINT32 *l_offset_y, OPJ_UINT32 *l_image_width, OPJ_UINT32 *l_stride, OPJ_UINT32 *l_tile_offset)
 
static void opj_j2k_get_tile_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_data)
 
static OPJ_BOOL opj_j2k_post_write_tile (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 
static void opj_j2k_setup_header_writing (opj_j2k_t *p_j2k)
 Sets up the procedures to do on writing header. More...
 
static OPJ_BOOL opj_j2k_write_first_tile_part (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_total_data_size, opj_stream_private_t *p_stream, struct opj_event_mgr *p_manager)
 
static OPJ_BOOL opj_j2k_write_all_tile_parts (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_total_data_size, opj_stream_private_t *p_stream, struct opj_event_mgr *p_manager)
 
static OPJ_BOOL opj_j2k_get_end_header (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Gets the offset of the header. More...
 
static OPJ_BOOL opj_j2k_allocate_tile_element_cstr_index (opj_j2k_t *p_j2k)
 
static OPJ_BOOL opj_j2k_write_soc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SOC marker (Start Of Codestream) More...
 
static OPJ_BOOL opj_j2k_read_soc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a SOC marker (Start of Codestream) More...
 
static OPJ_BOOL opj_j2k_write_siz (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SIZ marker (image and tile size) More...
 
static OPJ_BOOL opj_j2k_read_siz (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a SIZ marker (image and tile size) More...
 
static OPJ_BOOL opj_j2k_write_com (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the COM marker (comment) More...
 
static OPJ_BOOL opj_j2k_read_com (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a COM marker (comments) More...
 
static OPJ_BOOL opj_j2k_write_cod (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the COD marker (Coding style default) More...
 
static OPJ_BOOL opj_j2k_read_cod (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a COD marker (Coding Styke defaults) More...
 
static OPJ_UINT32 opj_j2k_get_max_coc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by a coc. More...
 
static OPJ_BOOL opj_j2k_read_coc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a COC marker (Coding Style Component) More...
 
static OPJ_BOOL opj_j2k_write_qcd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the QCD marker (quantization default) More...
 
static OPJ_BOOL opj_j2k_read_qcd (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a QCD marker (Quantization defaults) More...
 
static OPJ_UINT32 opj_j2k_get_max_qcc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by a qcc. More...
 
static OPJ_BOOL opj_j2k_read_qcc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a QCC marker (Quantization component) More...
 
static OPJ_BOOL opj_j2k_write_poc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the POC marker (Progression Order Change) More...
 
static void opj_j2k_write_poc_in_memory (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, opj_event_mgr_t *p_manager)
 Writes the POC marker (Progression Order Change) More...
 
static OPJ_UINT32 opj_j2k_get_max_poc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by the writing of a POC. More...
 
static OPJ_BOOL opj_j2k_read_poc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a POC marker (Progression Order Change) More...
 
static OPJ_UINT32 opj_j2k_get_max_toc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by the toc headers of all the tile parts of any given tile. More...
 
static OPJ_UINT32 opj_j2k_get_specific_header_sizes (opj_j2k_t *p_j2k)
 Gets the maximum size taken by the headers of the SOT. More...
 
static OPJ_BOOL opj_j2k_read_crg (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a CRG marker (Component registration) More...
 
static OPJ_BOOL opj_j2k_read_tlm (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a TLM marker (Tile Length Marker) More...
 
static OPJ_BOOL opj_j2k_write_updated_tlm (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the updated tlm. More...
 
static OPJ_BOOL opj_j2k_read_plm (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a PLM marker (Packet length, main header marker) More...
 
static OPJ_BOOL opj_j2k_read_plt (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a PLT marker (Packet length, tile-part header) More...
 
static OPJ_BOOL j2k_read_ppm_v3 (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_j2k_read_ppt (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a PPT marker (Packed packet headers, tile-part header) More...
 
static OPJ_BOOL opj_j2k_write_tlm (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the TLM marker (Tile Length Marker) More...
 
static OPJ_BOOL opj_j2k_write_sot (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, const opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SOT marker (Start of tile-part) More...
 
static OPJ_BOOL opj_j2k_get_sot_values (OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, OPJ_UINT32 *p_tile_no, OPJ_UINT32 *p_tot_len, OPJ_UINT32 *p_current_part, OPJ_UINT32 *p_num_parts, opj_event_mgr_t *p_manager)
 Reads values from a SOT marker (Start of tile-part) More...
 
static OPJ_BOOL opj_j2k_read_sot (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a SOT marker (Start of tile-part) More...
 
static OPJ_BOOL opj_j2k_write_sod (opj_j2k_t *p_j2k, opj_tcd_t *p_tile_coder, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_total_data_size, const opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SOD marker (Start of data) More...
 
static OPJ_BOOL opj_j2k_read_sod (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a SOD marker (Start Of Data) More...
 
static OPJ_BOOL opj_j2k_write_rgn (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no, OPJ_UINT32 nb_comps, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the RGN marker (Region Of Interest) More...
 
static OPJ_BOOL opj_j2k_read_rgn (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a RGN marker (Region Of Interest) More...
 
static OPJ_BOOL opj_j2k_write_eoc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the EOC marker (End of Codestream) More...
 
static OPJ_BOOL opj_j2k_write_mct_data_group (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the CBD-MCT-MCC-MCO markers (Multi components transform) More...
 
static OPJ_BOOL opj_j2k_init_info (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Inits the Info. More...
 
static OPJ_BOOL opj_j2k_add_mhmarker (opj_codestream_index_t *cstr_index, OPJ_UINT32 type, OPJ_OFF_T pos, OPJ_UINT32 len)
 Add main header marker information. More...
 
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)
 Add tile header marker information. More...
 
static OPJ_BOOL opj_j2k_read_unk (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, OPJ_UINT32 *output_marker, opj_event_mgr_t *p_manager)
 Reads an unknown marker. More...
 
static OPJ_BOOL opj_j2k_write_mct_record (opj_j2k_t *p_j2k, opj_mct_data_t *p_mct_record, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the MCT marker (Multiple Component Transform) More...
 
static OPJ_BOOL opj_j2k_read_mct (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a MCT marker (Multiple Component Transform) More...
 
static OPJ_BOOL opj_j2k_write_mcc_record (opj_j2k_t *p_j2k, opj_simple_mcc_decorrelation_data_t *p_mcc_record, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the MCC marker (Multiple Component Collection) More...
 
static OPJ_BOOL opj_j2k_read_mcc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a MCC marker (Multiple Component Collection) More...
 
static OPJ_BOOL opj_j2k_write_mco (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the MCO marker (Multiple component transformation ordering) More...
 
static OPJ_BOOL opj_j2k_read_mco (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a MCO marker (Multiple Component Transform Ordering) More...
 
static OPJ_BOOL opj_j2k_add_mct (opj_tcp_t *p_tcp, opj_image_t *p_image, OPJ_UINT32 p_index)
 
static void opj_j2k_read_int16_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_int32_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float32_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float64_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_int16_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_int32_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float32_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float64_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_int16 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_float64 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static OPJ_BOOL opj_j2k_end_encoding (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Ends the encoding, i.e. More...
 
static OPJ_BOOL opj_j2k_write_cbd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the CBD marker (Component bit depth definition) More...
 
static OPJ_BOOL opj_j2k_read_cbd (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a CBD marker (Component bit depth definition) More...
 
static OPJ_BOOL opj_j2k_write_regions (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes regions of interests. More...
 
static OPJ_BOOL opj_j2k_write_epc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes EPC ???? More...
 
static OPJ_BOOL opj_j2k_check_poc_val (const opj_poc_t *p_pocs, OPJ_UINT32 p_nb_pocs, OPJ_UINT32 p_nb_resolutions, OPJ_UINT32 numcomps, OPJ_UINT32 numlayers, opj_event_mgr_t *p_manager)
 Checks the progression order changes values. More...
 
static OPJ_UINT32 opj_j2k_get_num_tp (opj_cp_t *cp, OPJ_UINT32 pino, OPJ_UINT32 tileno)
 Gets the number of tile parts used for the given change of progression (if any) and the given tile. More...
 
static OPJ_BOOL opj_j2k_calculate_tp (opj_j2k_t *p_j2k, opj_cp_t *cp, OPJ_UINT32 *p_nb_tiles, opj_image_t *image, opj_event_mgr_t *p_manager)
 Calculates the total number of tile parts needed by the encoder to encode such an image. More...
 
static void opj_j2k_dump_MH_info (opj_j2k_t *p_j2k, FILE *out_stream)
 
static void opj_j2k_dump_MH_index (opj_j2k_t *p_j2k, FILE *out_stream)
 
static opj_codestream_index_topj_j2k_create_cstr_index (void)
 
static OPJ_FLOAT32 opj_j2k_get_tp_stride (opj_tcp_t *p_tcp)
 
static OPJ_FLOAT32 opj_j2k_get_default_stride (opj_tcp_t *p_tcp)
 
static int opj_j2k_initialise_4K_poc (opj_poc_t *POC, int numres)
 
static void opj_j2k_set_cinema_parameters (opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_j2k_is_cinema_compliant (opj_image_t *image, OPJ_UINT16 rsiz, opj_event_mgr_t *p_manager)
 
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)
 Checks for invalid number of tile-parts in SOT marker (TPsot==TNsot). More...
 
+ + + + + + + + + + + + +

+Exported functions

void opj_j2k_setup_decoder (opj_j2k_t *j2k, opj_dparameters_t *parameters)
 Setup the decoder decoding parameters using user parameters. More...
 
opj_j2k_topj_j2k_create_compress (void)
 Creates a J2K compression structure. More...
 
OPJ_BOOL opj_j2k_setup_encoder (opj_j2k_t *p_j2k, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 
char * opj_j2k_convert_progression_order (OPJ_PROG_ORDER prg_order)
 Converts an enum type progression order to string type. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define J2K_CCP_CBLKSTY_LAZY   0x01
+
+ +

Selective arithmetic coding bypass.

+ +

Referenced by opj_t1_decode_cblk(), opj_t1_encode_cblk(), and opj_t2_init_seg().

+ +
+
+ +
+
+ + + + +
#define J2K_CCP_CBLKSTY_PTERM   0x10
+
+ +

Predictable termination.

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + +
#define J2K_CCP_CBLKSTY_RESET   0x02
+
+ +

Reset context probabilities on coding pass boundaries.

+ +

Referenced by opj_t1_decode_cblk(), and opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + +
#define J2K_CCP_CBLKSTY_SEGSYM   0x20
+
+ +

Segmentation symbols are used.

+ +

Referenced by opj_t1_dec_clnpass(), and opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + +
#define J2K_CCP_CBLKSTY_TERMALL   0x04
+
+ +

Termination on each coding pass.

+ +

Referenced by opj_t1_encode_cblk(), and opj_t2_init_seg().

+ +
+
+ +
+
+ + + + +
#define J2K_CCP_CBLKSTY_VSC   0x08
+
+
+ +
+
+ + + + +
#define J2K_CCP_CSTY_PRT   0x01
+
+
+ + + +
+
+ + + + +
#define J2K_CCP_QNTSTY_SEQNT   2
+
+ +

Referenced by opj_j2k_setup_encoder().

+ +
+
+ +
+
+ + + + +
#define J2K_CCP_QNTSTY_SIQNT   1
+
+
+ +
+
+ + + + +
#define J2K_CP_CSTY_EPH   0x04
+
+
+ +
+
+ + + + +
#define J2K_CP_CSTY_PRT   0x01
+
+ +

Referenced by opj_j2k_read_cod().

+ +
+
+ +
+
+ + + + +
#define J2K_CP_CSTY_SOP   0x02
+
+
+ +
+
+ + + + +
#define J2K_MS_CBD   0xff78
+
+ +

CBD marker value.

+ +

Referenced by opj_j2k_write_cbd().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_COC   0xff53
+
+ +

COC marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_COD   0xff52
+
+ +

COD marker value.

+ +

Referenced by opj_check_EPHuse(), opj_j2k_read_header_procedure(), and opj_j2k_write_cod().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_COM   0xff64
+
+ +

COM marker value.

+ +

Referenced by opj_j2k_write_com().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_CRG   0xff63
+
+ +

CRG marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_EOC   0xffd9
+
+ +

EOC marker value.

+ +

Referenced by opj_j2k_decode_tile(), opj_j2k_read_tile_header(), and opj_j2k_write_eoc().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_EPB   0xff66
+
+ +

EPB marker value (Part 11: JPEG 2000 for Wireless)

+ +
+
+ +
+
+ + + + +
#define J2K_MS_EPC   0xff68
+
+ +

EPC marker value (Part 11: JPEG 2000 for Wireless)

+ +
+
+ +
+
+ + + + +
#define J2K_MS_EPH   0xff92
+
+ +

EPH marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_ESD   0xff67
+
+ +

ESD marker value (Part 11: JPEG 2000 for Wireless)

+ +
+
+ +
+
+ + + + +
#define J2K_MS_INSEC   0xff94
+
+ +

INSEC marker value (Part 8: Secure JPEG 2000)

+ +
+
+ +
+
+ + + + +
#define J2K_MS_MCC   0xff75
+
+ +

MCC marker value.

+ +

Referenced by opj_j2k_write_mcc_record().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_MCO   0xff77
+
+ +

MCO marker value.

+ +

Referenced by opj_j2k_write_mco().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_MCT   0xff74
+
+ +

MCT marker value.

+ +

Referenced by opj_j2k_write_mct_record().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_PLM   0xff57
+
+ +

PLM marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_PLT   0xff58
+
+ +

PLT marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_POC   0xff5f
+
+ +

POC marker value.

+ +

Referenced by opj_j2k_write_poc_in_memory().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_PPM   0xff60
+
+ +

PPM marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_PPT   0xff61
+
+ +

PPT marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_QCC   0xff5d
+
+ +

QCC marker value.

+ +
+
+ +
+
+ + + + +
#define J2K_MS_QCD   0xff5c
+
+ +

QCD marker value.

+ +

Referenced by opj_j2k_read_header_procedure(), and opj_j2k_write_qcd().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_RED   0xff69
+
+ +

RED marker value (Part 11: JPEG 2000 for Wireless)

+ +
+
+ +
+
+ + + + +
#define J2K_MS_RGN   0xff5e
+
+ +

RGN marker value.

+ +

Referenced by opj_j2k_write_rgn().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_SEC   0xff65
+
+ +

SEC marker value (Part 8: Secure JPEG 2000)

+ +
+
+ +
+
+ + + + +
#define J2K_MS_SIZ   0xff51
+
+ +

SIZ marker value.

+ +

Referenced by opj_j2k_read_header_procedure(), and opj_j2k_write_siz().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_SOC   0xff4f
+
+ +

SOC marker value.

+ +

Referenced by opj_j2k_read_soc(), and opj_j2k_write_soc().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_SOD   0xff93
+
+ +

SOD marker value.

+ +

Referenced by opj_j2k_read_sod(), opj_j2k_read_tile_header(), and opj_j2k_write_sod().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_SOP   0xff91
+
+ +

SOP marker value.

+ +
+
+ + + +
+
+ + + + +
#define J2K_MS_TLM   0xff55
+
+ +

TLM marker value.

+ +

Referenced by opj_j2k_write_tlm().

+ +
+
+ +
+
+ + + + +
#define J2K_MS_UNK   0
+
+ +

UNKNOWN marker value.

+ +

Referenced by opj_j2k_read_header_procedure(), and opj_j2k_read_unk().

+ +
+
+ +
+
+ + + + +
#define OPJ_J2K_DEFAULT_CBLK_DATA_SIZE   8192
+
+ +

Referenced by opj_tcd_code_block_dec_allocate().

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef enum MCT_ARRAY_TYPE J2K_MCT_ARRAY_TYPE
+
+ +

Type of MCT array.

+ +
+
+ +
+
+ + + + +
typedef enum MCT_ELEMENT_TYPE J2K_MCT_ELEMENT_TYPE
+
+ +

Type of elements storing in the MCT data.

+ +
+
+ +
+
+ + + + +
typedef enum J2K_STATUS J2K_STATUS
+
+ +

Values that specify the status of the decoding process when decoding the main header.

+

These values may be combined with a | operator.

+ +
+
+ +
+
+ + + + +
typedef enum T2_MODE J2K_T2_MODE
+
+ +

T2 encoding mode.

+ +
+
+ +
+
+ + + + +
typedef struct opj_cp opj_cp_t
+
+ +

Coding parameters.

+ +
+
+ +
+
+ + + + +
typedef struct opj_decoding_param + opj_decoding_param_t
+
+ +
+
+ +
+
+ + + + +
typedef struct opj_encoding_param + opj_encoding_param_t
+
+ +
+
+ +
+
+ + + + +
typedef struct opj_j2k_dec opj_j2k_dec_t
+
+ +
+
+ +
+
+ + + + +
typedef struct opj_j2k_enc opj_j2k_enc_t
+
+ +
+
+ +
+
+ + + + +
typedef struct opj_j2k + opj_j2k_t
+
+ +

JPEG-2000 codestream reader/writer.

+ +
+
+ +
+
+ + + + +
typedef struct opj_mct_data + opj_mct_data_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_stepsize opj_stepsize_t
+
+ +

Quantization stepsize.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tccp + opj_tccp_t
+
+ +

Tile-component coding parameters.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcp opj_tcp_t
+
+ +

Tile coding parameters : this structure is used to store coding/decoding parameters common to all tiles (information like COD, COC in main header)

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum J2K_STATUS
+
+ +

Values that specify the status of the decoding process when decoding the main header.

+

These values may be combined with a | operator.

+ + + + + + + + + + + +
Enumerator
J2K_STATE_NONE  +

a SOC marker is expected

+
J2K_STATE_MHSOC  +

a SOC marker is expected

+
J2K_STATE_MHSIZ  +

a SIZ marker is expected

+
J2K_STATE_MH  +

the decoding process is in the main header

+
J2K_STATE_TPHSOT  +

the decoding process is in a tile part header and expects a SOT marker

+
J2K_STATE_TPH  +

the decoding process is in a tile part header

+
J2K_STATE_MT  +

the EOC marker has just been read

+
J2K_STATE_NEOC  +

the decoding process must not expect a EOC marker because the codestream is truncated

+
J2K_STATE_EOC  +

the decoding process has encountered the EOC marker

+
J2K_STATE_ERR  +

the decoding process has encountered an error (FIXME warning V1 = 0x0080)

+
+ +
+
+ +
+
+ + + + +
enum MCT_ARRAY_TYPE
+
+ +

Type of MCT array.

+ + + + +
Enumerator
MCT_TYPE_DEPENDENCY  +
MCT_TYPE_DECORRELATION  +
MCT_TYPE_OFFSET  +
+ +
+
+ +
+
+ + + + +
enum MCT_ELEMENT_TYPE
+
+ +

Type of elements storing in the MCT data.

+ + + + + +
Enumerator
MCT_TYPE_INT16  +
MCT_TYPE_INT32  +

MCT data is stored as signed shorts.

+
MCT_TYPE_FLOAT  +

MCT data is stored as signed integers.

+
MCT_TYPE_DOUBLE  +

MCT data is stored as floats.

+
+ +
+
+ +
+
+ + + + +
enum T2_MODE
+
+ +

T2 encoding mode.

+ + + +
Enumerator
THRESH_CALC  +
FINAL_PASS  +

Function called in Rate allocation process.

+
+ +
+
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL j2k_read_ppm_v3 (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_get_tile_dimensions (opj_image_tl_image,
opj_tcd_tilecomp_tl_tilec,
opj_image_comp_tl_img_comp,
OPJ_UINT32l_size_comp,
OPJ_UINT32l_width,
OPJ_UINT32l_height,
OPJ_UINT32l_offset_x,
OPJ_UINT32l_offset_y,
OPJ_UINT32l_image_width,
OPJ_UINT32l_stride,
OPJ_UINT32l_tile_offset 
)
+
+static
+
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_add_mhmarker (opj_codestream_index_tcstr_index,
OPJ_UINT32 type,
OPJ_OFF_T pos,
OPJ_UINT32 len 
)
+
+static
+
+ +

Add main header marker information.

+
Parameters
+ + + + + +
cstr_indexCodestream information structure
typemarker type
posbyte offset of marker segment
lenlength of marker segment
+
+
+ +

References opj_marker_info::len, opj_codestream_index::marker, opj_codestream_index::marknum, opj_codestream_index::maxmarknum, OPJ_FALSE, opj_free, opj_realloc, OPJ_TRUE, opj_marker_info::pos, and opj_marker_info::type.

+ +

Referenced by opj_j2k_read_header_procedure(), opj_j2k_read_soc(), and opj_j2k_read_unk().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_add_tlmarker (OPJ_UINT32 tileno,
opj_codestream_index_tcstr_index,
OPJ_UINT32 type,
OPJ_OFF_T pos,
OPJ_UINT32 len 
)
+
+static
+
+ +

Add tile header marker information.

+
Parameters
+ + + + + + +
tilenotile index number
cstr_indexCodestream information structure
typemarker type
posbyte offset of marker segment
lenlength of marker segment
+
+
+ +

References opj_tile_index::current_tpsno, J2K_MS_SOT, opj_marker_info::len, opj_tile_index::marker, opj_tile_index::marknum, opj_tile_index::maxmarknum, OPJ_FALSE, opj_free, opj_realloc, OPJ_TRUE, opj_marker_info::pos, opj_tp_index::start_pos, opj_codestream_index::tile_index, opj_tile_index::tp_index, and opj_marker_info::type.

+ +

Referenced by opj_j2k_read_sod(), and opj_j2k_read_tile_header().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_build_decoder (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Builds the tcd decoder to use to decode tile.

+ +

References OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_decoding_validation().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_build_encoder (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Builds the tcd encoder to use to encode tile.

+ +

References OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_encoding_validation().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_calculate_tp (opj_j2k_tp_j2k,
opj_cp_tcp,
OPJ_UINT32p_nb_tiles,
opj_image_timage,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Calculates the total number of tile parts needed by the encoder to encode such an image.

+

If not enough memory is available, then the function return false.

+
Parameters
+ + + + + + +
p_nb_tilespointer that will hold the number of tile parts.
cpthe coding parameters for the image.
imagethe image to encode.
p_j2kthe p_j2k encoder.
p_managerthe user event manager.
+
+
+
Returns
true if the function was successful, false else.
+ +

References opj_tcp::m_nb_tile_parts, opj_tcp::numpocs, opj_j2k_get_num_tp(), opj_pi_update_encoding_parameters(), OPJ_TRUE, tcp, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_init_info().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_check_poc_val (const opj_poc_tp_pocs,
OPJ_UINT32 p_nb_pocs,
OPJ_UINT32 p_nb_resolutions,
OPJ_UINT32 numcomps,
OPJ_UINT32 numlayers,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Checks the progression order changes values.

+

Tells of the poc given as input are valid. A nice message is outputted at errors.

+
Parameters
+ + + + + + + +
p_pocsthe progression order changes.
p_nb_pocsthe number of progression order changes.
p_nb_resolutionsthe number of resolutions.
numcompsthe number of components
numlayersthe number of layers.
p_managerthe user event manager.
+
+
+
Returns
true if the pocs are valid.
+ +

References opj_poc::compno0, EVT_ERROR, opj_poc::layno1, opj_calloc, opj_event_msg(), OPJ_FALSE, opj_free, OPJ_TRUE, and opj_poc::resno0.

+ +

Referenced by opj_j2k_setup_encoder().

+ +
+
+ +
+
+ + + + + + + + +
char* opj_j2k_convert_progression_order (OPJ_PROG_ORDER prg_order)
+
+ +

Converts an enum type progression order to string type.

+ +

References j2k_prog_order::enum_prog, and j2k_prog_order::str_prog.

+ +

Referenced by opj_j2k_get_num_tp(), and opj_pi_create_encode().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_copy_tile_component_parameters (opj_j2k_tp_j2k)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_copy_tile_quantization_parameters (opj_j2k_tp_j2k)
+
+static
+
+ +

Copies the tile quantization parameters of all the component from the first tile component.

+
Parameters
+ + +
p_j2kthe J2k codec.
+
+
+ +

References J2K_STATE_TPH, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_image::numcomps, opj_tccp::numgbits, OPJ_J2K_MAXBANDS, opj_tccp::qntsty, opj_tccp::stepsizes, opj_tcp::tccps, and opj_cp::tcps.

+ +

Referenced by opj_j2k_read_qcd().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_cp_destroy (opj_cp_tp_cp)
+
+static
+
+ +

Destroys a coding parameter structure.

+
Parameters
+ + +
p_cpthe coding parameter to destroy.
+
+
+ +

References opj_cp::comment, opj_cp::m_enc, opj_cp::m_is_decoder, opj_encoding_param::m_matrice, opj_cp::m_specific_param, opj_free, opj_j2k_tcp_destroy(), opj_cp::ppm_buffer, opj_cp::ppm_data, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_destroy().

+ +
+
+ +
+
+ + + + + + + + +
opj_j2k_t* opj_j2k_create_compress (void )
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
opj_codestream_index_t * opj_j2k_create_cstr_index (void )
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_create_tcd (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Creates a tile-coder decoder.

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_j2k::m_cp, opj_j2k::m_private_image, opj_j2k::m_tcd, opj_event_msg(), OPJ_FALSE, opj_tcd_create(), opj_tcd_destroy(), opj_tcd_init(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_decoding_validation (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

The default decoding validation procedure without any extension.

+
Parameters
+ + + + +
p_j2kthe jpeg2000 codec to validate.
p_streamthe input stream to validate.
p_managerthe user event manager.
+
+
+
Returns
true if the parameters are correct.
+ +

References opj_j2k::m_decoder, opj_j2k::m_procedure_list, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_j2k::m_validation_list, and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_decoding_validation().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_destroy_header_memory (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Destroys the memory associated with the decoding of headers.

+ +

References opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k_enc::m_header_tile_data_size, opj_j2k::m_specific_param, opj_free, and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_end_compress().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_j2k_dump_MH_info (opj_j2k_tp_j2k,
FILE * out_stream 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_encoding_validation (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

The default encoding validation procedure without any extension.

+
Parameters
+ + + + +
p_j2kthe jpeg2000 codec to validate.
p_streamthe input stream to validate.
p_managerthe user event manager.
+
+
+
Returns
true if the parameters are correct.
+ +

References EVT_ERROR, J2K_STATE_NONE, opj_j2k::m_cp, opj_j2k::m_decoder, opj_j2k::m_procedure_list, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_j2k::m_validation_list, opj_tccp::numresolutions, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, opj_tcp::tccps, opj_cp::tcps, opj_cp::tdx, and opj_cp::tdy.

+ +

Referenced by opj_j2k_setup_encoding_validation().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_end_encoding (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Ends the encoding, i.e.

+

frees memory.

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_j2k_enc::m_encoded_tile_data, opj_j2k_enc::m_encoded_tile_size, opj_j2k::m_encoder, opj_j2k::m_specific_param, opj_j2k::m_tcd, opj_j2k_enc::m_tlm_sot_offsets_buffer, opj_j2k_enc::m_tlm_sot_offsets_current, opj_free, opj_tcd_destroy(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_end_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_exec (opj_j2k_tp_j2k,
opj_procedure_list_tp_procedure_list,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Excutes the given procedures on the given codec.

+
Parameters
+ + + + + +
p_procedure_listthe list of procedures to execute
p_j2kthe jpeg2000 codec to execute the procedures on.
p_streamthe stream to execute the procedures on.
p_managerthe user manager.
+
+
+
Returns
true if all the procedures were successfully executed.
+ +

References opj_procedure_list_clear(), opj_procedure_list_get_first_procedure(), opj_procedure_list_get_nb_procedures(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_decode(), opj_j2k_end_compress(), opj_j2k_get_tile(), opj_j2k_read_header(), and opj_j2k_start_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_FLOAT32 opj_j2k_get_default_stride (opj_tcp_tp_tcp)
+
+static
+
+ +

Referenced by opj_j2k_update_rates().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_get_end_header (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Gets the offset of the header.

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_j2k::cstr_index, opj_codestream_index::main_head_end, opj_stream_tell(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
const opj_dec_memory_marker_handler_t * opj_j2k_get_marker_handler (OPJ_UINT32 p_id)
+
+static
+
+ +

Reads the lookup table containing all the marker, status and action, and returns the handler associated with the marker value.

+
Parameters
+ + +
p_idMarker value to look up
+
+
+
Returns
the handler associated with the id.
+ +

References opj_dec_memory_marker_handler::id.

+ +

Referenced by opj_j2k_read_header_procedure(), opj_j2k_read_tile_header(), and opj_j2k_read_unk().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_j2k_get_max_coc_size (opj_j2k_tp_j2k)
+
+static
+
+ +

Gets the maximum size taken by a coc.

+
Parameters
+ + +
p_j2kthe jpeg2000 codec to use.
+
+
+ +

References opj_j2k::m_cp, opj_j2k::m_private_image, opj_image::numcomps, opj_j2k_get_SPCod_SPCoc_size(), opj_uint_max(), opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_get_max_qcc_size(), and opj_j2k_get_specific_header_sizes().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_j2k_get_max_poc_size (opj_j2k_tp_j2k)
+
+static
+
+ +

Gets the maximum size taken by the writing of a POC.

+ +

References opj_j2k::m_cp, opj_tcp::numpocs, opj_uint_max(), opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_get_specific_header_sizes().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_j2k_get_max_qcc_size (opj_j2k_tp_j2k)
+
+static
+
+ +

Gets the maximum size taken by a qcc.

+ +

References opj_j2k_get_max_coc_size().

+ +

Referenced by opj_j2k_get_specific_header_sizes().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_j2k_get_max_toc_size (opj_j2k_tp_j2k)
+
+static
+
+ +

Gets the maximum size taken by the toc headers of all the tile parts of any given tile.

+ +

References opj_j2k::m_cp, opj_tcp::m_nb_tile_parts, opj_uint_max(), opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_get_specific_header_sizes().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_UINT32 opj_j2k_get_num_tp (opj_cp_tcp,
OPJ_UINT32 pino,
OPJ_UINT32 tileno 
)
+
+static
+
+ +

Gets the number of tile parts used for the given change of progression (if any) and the given tile.

+
Parameters
+ + + + +
cpthe coding parameters.
pinothe offset of the given poc (i.e. its position in the coding parameter).
tilenothe given tile.
+
+
+
Returns
the number of tile parts.
+ +

References opj_poc::compE, opj_poc::layE, opj_cp::m_enc, opj_cp::m_specific_param, opj_encoding_param::m_tp_flag, opj_encoding_param::m_tp_on, opj_encoding_param::m_tp_pos, opj_tcp::numpocs, opj_j2k_convert_progression_order(), opj_tcp::pocs, opj_poc::prcE, opj_tcp::prg, opj_poc::resE, tcp, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_calculate_tp(), and opj_j2k_write_all_tile_parts().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_get_sot_values (OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
OPJ_UINT32p_tile_no,
OPJ_UINT32p_tot_len,
OPJ_UINT32p_current_part,
OPJ_UINT32p_num_parts,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads values from a SOT marker (Start of tile-part)

+

the j2k decoder state is not affected. No side effects, no checks except for p_header_size.

+
Parameters
+ + + + + + + + +
p_header_datathe data contained in the SOT marker.
p_header_sizethe size of the data contained in the SOT marker.
p_tile_noIsot.
p_tot_lenPsot.
p_current_partTPsot.
p_num_partsTNsot.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_event_msg(), OPJ_FALSE, opj_read_bytes, and OPJ_TRUE.

+ +

Referenced by opj_j2k_need_nb_tile_parts_correction(), and opj_j2k_read_sot().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_UINT32 opj_j2k_get_SPCod_SPCoc_size (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_no,
OPJ_UINT32 p_comp_no 
)
+
+static
+
+ +

Gets the size taken by writing a SPCod or SPCoc for the given tile and component.

+
Parameters
+ + + + +
p_j2kthe J2K codec.
p_tile_nothe tile index.
p_comp_nothe component being outputted.
+
+
+
Returns
the number of bytes taken by the SPCod element.
+ +

References opj_tccp::csty, J2K_CCP_CSTY_PRT, opj_j2k::m_cp, opj_tccp::numresolutions, opj_tcp::tccps, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_get_max_coc_size(), and opj_j2k_write_cod().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_j2k_get_specific_header_sizes (opj_j2k_tp_j2k)
+
+static
+
+ +

Gets the maximum size taken by the headers of the SOT.

+
Parameters
+ + +
p_j2kthe jpeg2000 codec to use.
+
+
+ +

References opj_j2k::m_cp, opj_j2k::m_private_image, opj_image::numcomps, OPJ_IS_CINEMA, opj_j2k_get_max_coc_size(), opj_j2k_get_max_poc_size(), opj_j2k_get_max_qcc_size(), opj_j2k_get_max_toc_size(), and opj_cp::rsiz.

+ +

Referenced by opj_j2k_update_rates().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_UINT32 opj_j2k_get_SQcd_SQcc_size (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_no,
OPJ_UINT32 p_comp_no 
)
+
+static
+
+ +

Gets the size taken by writing SQcd or SQcc element, i.e.

+

the quantization values of a band in the QCD or QCC.

+
Parameters
+ + + + +
p_tile_nothe tile index.
p_comp_nothe component being outputted.
p_j2kthe J2K codec.
+
+
+
Returns
the number of bytes taken by the SPCod element.
+ +

References J2K_CCP_QNTSTY_NOQNT, J2K_CCP_QNTSTY_SIQNT, opj_j2k::m_cp, opj_tccp::numresolutions, opj_tccp::qntsty, opj_tcp::tccps, opj_cp::tcps, and opj_cp::th.

+ +

Referenced by opj_j2k_write_qcd().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_j2k_get_tile_data (opj_tcd_tp_tcd,
OPJ_BYTEp_data 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_FLOAT32 opj_j2k_get_tp_stride (opj_tcp_tp_tcp)
+
+static
+
+ +

References opj_tcp::m_nb_tile_parts.

+ +

Referenced by opj_j2k_update_rates().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_init_info (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Inits the Info.

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_j2k::m_cp, opj_j2k::m_encoder, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_enc::m_total_tile_parts, and opj_j2k_calculate_tp().

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int opj_j2k_initialise_4K_poc (opj_poc_tPOC,
int numres 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_is_cinema_compliant (opj_image_timage,
OPJ_UINT16 rsiz,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_mct_validation (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

The mct encoding validation procedure.

+
Parameters
+ + + + +
p_j2kthe jpeg2000 codec to validate.
p_streamthe input stream to validate.
p_managerthe user event manager.
+
+
+
Returns
true if the parameters are correct.
+ +

References opj_j2k::m_cp, opj_tcp::m_mct_coding_matrix, opj_j2k::m_private_image, opj_tcp::mct, opj_image::numcomps, OPJ_TRUE, opj_tccp::qmfbid, opj_cp::rsiz, opj_tcp::tccps, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_setup_encoding_validation().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_need_nb_tile_parts_correction (opj_stream_private_tp_stream,
OPJ_UINT32 tile_no,
OPJ_BOOLp_correction_needed,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Checks for invalid number of tile-parts in SOT marker (TPsot==TNsot).

+

See issue 254.

+
Parameters
+ + + + + +
p_streamthe stream to read data from.
tile_notile number we're looking for.
p_correction_neededoutput value. if true, non conformant codestream needs TNsot correction.
p_managerthe user event manager.
+
+
+
Returns
true if the function was successful, false else.
+ +

References EVT_ERROR, J2K_MS_SOT, opj_event_msg(), OPJ_FALSE, opj_j2k_get_sot_values(), opj_read_bytes, opj_stream_read_data(), opj_stream_seek(), opj_stream_skip(), opj_stream_tell(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_read_tile_header().

+ +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_cbd (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a CBD marker (Component bit depth definition)

+
Parameters
+ + + + + +
p_header_datathe data contained in the CBD box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the CBD marker.
p_managerthe user event manager.
+
+
+ +

References opj_image::comps, EVT_ERROR, opj_j2k::m_private_image, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_read_bytes, OPJ_TRUE, opj_image_comp::prec, and opj_image_comp::sgnd.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_coc (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a COC marker (Coding Style Component)

+
Parameters
+ + + + + +
p_header_datathe data contained in the COC box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the COC marker.
p_managerthe user event manager.
+
+
+ +

References opj_tccp::csty, EVT_ERROR, J2K_STATE_TPH, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_j2k_read_SPCod_SPCoc(), opj_read_bytes, OPJ_TRUE, opj_tcp::tccps, and opj_cp::tcps.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_cod (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_com (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a COM marker (comments)

+
Parameters
+ + + + + +
p_j2kthe jpeg2000 file codec.
p_header_datathe data contained in the COM box.
p_header_sizethe size of the data contained in the COM marker.
p_managerthe user event manager.
+
+
+ +

References OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_crg (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a CRG marker (Component registration)

+
Parameters
+ + + + + +
p_header_datathe data contained in the TLM box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the TLM marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_j2k::m_private_image, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_float32_to_float (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_float.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_float32_to_int32 (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_float.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_float64_to_float (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_double.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_float64_to_int32 (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_double.

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_int16_to_float (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_bytes.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_int16_to_int32 (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_bytes.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_int32_to_float (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_bytes.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_read_int32_to_int32 (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_read_bytes.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_mcc (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_mco (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a MCO marker (Multiple Component Transform Ordering)

+
Parameters
+ + + + + +
p_header_datathe data contained in the MCO box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the MCO marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, EVT_WARNING, J2K_STATE_TPH, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_tccp::m_dc_level_shift, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_tcp::m_mct_decoding_matrix, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_free, opj_j2k_add_mct(), opj_read_bytes, OPJ_TRUE, opj_tcp::tccps, and opj_cp::tcps.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_mct (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a MCT marker (Multiple Component Transform)

+
Parameters
+ + + + + +
p_header_datathe data contained in the MCT box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the MCT marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, EVT_WARNING, J2K_STATE_TPH, opj_mct_data::m_array_type, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_mct_data::m_data, opj_mct_data::m_data_size, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_mct_data::m_element_type, opj_mct_data::m_index, opj_tcp::m_mct_records, opj_tcp::m_nb_max_mct_records, opj_tcp::m_nb_mct_records, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_event_msg(), OPJ_FALSE, opj_free, OPJ_J2K_MCT_DEFAULT_NB_RECORDS, opj_malloc, opj_read_bytes, opj_realloc, OPJ_TRUE, and opj_cp::tcps.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_plm (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a PLM marker (Packet length, main header marker)

+
Parameters
+ + + + + +
p_header_datathe data contained in the TLM box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the TLM marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_event_msg(), OPJ_FALSE, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_plt (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a PLT marker (Packet length, tile-part header)

+
Parameters
+ + + + + +
p_header_datathe data contained in the PLT box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the PLT marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_event_msg(), OPJ_FALSE, opj_read_bytes, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_poc (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a POC marker (Progression Order Change)

+
Parameters
+ + + + + +
p_header_datathe data contained in the POC box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the POC marker.
p_managerthe user event manager.
+
+
+ +

References opj_poc::compno0, opj_poc::compno1, EVT_ERROR, J2K_STATE_TPH, opj_poc::layno1, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_image::numcomps, opj_tcp::numlayers, opj_tcp::numpocs, opj_event_msg(), OPJ_FALSE, opj_read_bytes, OPJ_TRUE, opj_uint_min(), opj_tcp::POC, opj_tcp::pocs, opj_poc::prg, opj_poc::resno0, opj_poc::resno1, and opj_cp::tcps.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_ppt (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a PPT marker (Packed packet headers, tile-part header)

+
Parameters
+ + + + + +
p_header_datathe data contained in the PPT box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the PPT marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_calloc, opj_event_msg(), OPJ_FALSE, opj_free, opj_read_bytes, opj_realloc, OPJ_TRUE, opj_cp::ppm, opj_tcp::ppt, opj_tcp::ppt_buffer, opj_tcp::ppt_data, opj_tcp::ppt_data_size, opj_tcp::ppt_len, and opj_cp::tcps.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_qcc (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a QCC marker (Quantization component)

+
Parameters
+ + + + + +
p_header_datathe data contained in the QCC box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the QCC marker.
p_managerthe user event manager.
+
+
+ +

References opj_cp::correct, EVT_ERROR, EVT_WARNING, opj_j2k::m_cp, opj_j2k::m_private_image, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_j2k_read_SQcd_SQcc(), opj_read_bytes, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_qcd (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a QCD marker (Quantization defaults)

+
Parameters
+ + + + + +
p_header_datathe data contained in the QCD box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the QCD marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_event_msg(), OPJ_FALSE, opj_j2k_copy_tile_quantization_parameters(), opj_j2k_read_SQcd_SQcc(), and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_rgn (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a RGN marker (Region Of Interest)

+
Parameters
+ + + + + +
p_header_datathe data contained in the POC box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the POC marker.
p_managerthe user event manager.
+
+
+ +

References opj_cp::correct, EVT_ERROR, J2K_STATE_TPH, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_read_bytes, OPJ_TRUE, opj_tccp::roishift, opj_tcp::tccps, and opj_cp::tcps.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_siz (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_soc (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a SOC marker (Start of Codestream)

+
Parameters
+ + + + + + + +
p_j2kthe jpeg2000 file codec.
p_streamXXX needs data
p_managerthe user event manager.
p_j2kthe jpeg2000 file codec.
p_streamFIXME DOC
p_managerthe user event manager.
+
+
+ +

References opj_j2k::cstr_index, EVT_ERROR, EVT_INFO, J2K_MS_SOC, J2K_STATE_MHSIZ, opj_j2k::m_decoder, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_codestream_index::main_head_start, opj_event_msg(), OPJ_FALSE, opj_j2k_add_mhmarker(), opj_read_bytes, opj_stream_read_data(), opj_stream_tell(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_read_header_procedure().

+ +
+
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_SPCod_SPCoc (opj_j2k_tp_j2k,
OPJ_UINT32 compno,
OPJ_BYTEp_header_data,
OPJ_UINT32p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a SPCod or SPCoc element, i.e.

+

the coding style of a given component of a tile.

Parameters
+ + + + + + +
p_j2kthe jpeg2000 codec.
compnoFIXME DOC
p_header_datathe data contained in the COM box.
p_header_sizethe size of the data contained in the COM marker.
p_managerthe user event manager.
+
+
+ +

References opj_tccp::cblkh, opj_tccp::cblksty, opj_tccp::cblkw, opj_tccp::csty, EVT_ERROR, J2K_CCP_CSTY_PRT, J2K_STATE_TPH, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_cp::m_dec, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_decoding_param::m_reduce, opj_cp::m_specific_param, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_tccp::numresolutions, opj_event_msg(), OPJ_FALSE, OPJ_J2K_MAXRLVLS, opj_read_bytes, OPJ_TRUE, opj_tccp::prch, opj_tccp::prcw, opj_tccp::qmfbid, opj_tcp::tccps, and opj_cp::tcps.

+ +

Referenced by opj_j2k_read_coc(), and opj_j2k_read_cod().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_SQcd_SQcc (opj_j2k_tp_j2k,
OPJ_UINT32 compno,
OPJ_BYTEp_header_data,
OPJ_UINT32p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a SQcd or SQcc element, i.e.

+

the quantization values of a band in the QCD or QCC.

+
Parameters
+ + + + + + +
p_j2kJ2K codec.
compnothe component number to output.
p_header_datathe data buffer.
p_header_sizepointer to the size of the data buffer, it is changed by the function.
p_managerthe user event manager.
+
+
+ +

References opj_cp::correct, EVT_ERROR, EVT_WARNING, opj_stepsize::expn, J2K_CCP_QNTSTY_NOQNT, J2K_CCP_QNTSTY_SIQNT, J2K_STATE_TPH, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_stepsize::mant, opj_tccp::numgbits, opj_event_msg(), OPJ_FALSE, OPJ_J2K_MAXBANDS, opj_read_bytes, OPJ_TRUE, opj_tccp::qntsty, opj_tccp::stepsizes, opj_tcp::tccps, and opj_cp::tcps.

+ +

Referenced by opj_j2k_read_qcc(), and opj_j2k_read_qcd().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_j2k_read_tlm (opj_j2k_tp_j2k,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a TLM marker (Tile Length Marker)

+
Parameters
+ + + + + +
p_header_datathe data contained in the TLM box.
p_j2kthe jpeg2000 codec.
p_header_sizethe size of the data contained in the TLM marker.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_event_msg(), OPJ_FALSE, opj_read_bytes, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_unk (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
OPJ_UINT32output_marker,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads an unknown marker.

+
Parameters
+ + + + + +
p_j2kthe jpeg2000 codec.
p_streamthe stream object to read from.
output_markerFIXME DOC
p_managerthe user event manager.
+
+
+
Returns
true if the marker could be deduced.
+ +

References opj_j2k::cstr_index, EVT_ERROR, EVT_WARNING, opj_dec_memory_marker_handler::id, J2K_MS_SOT, J2K_MS_UNK, opj_j2k::m_decoder, opj_j2k_dec::m_header_data, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_event_msg(), OPJ_FALSE, opj_j2k_add_mhmarker(), opj_j2k_get_marker_handler(), opj_read_bytes, opj_stream_read_data(), opj_stream_tell(), OPJ_TRUE, and opj_dec_memory_marker_handler::states.

+ +

Referenced by opj_j2k_read_header_procedure().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + +
void opj_j2k_setup_decoder (opj_j2k_tj2k,
opj_dparameters_tparameters 
)
+
+ +

Setup the decoder decoding parameters using user parameters.

+

Decoding parameters are returned in j2k->cp.

Parameters
+ + + +
j2kJ2K decompressor handle
parametersdecompression parameters
+
+
+ +

References opj_cp::correct, opj_dparameters::cp_layer, opj_dparameters::cp_reduce, opj_cp::exp_comps, opj_dparameters::jpwl_correct, opj_dparameters::jpwl_exp_comps, opj_dparameters::jpwl_max_tiles, opj_j2k::m_cp, opj_cp::m_dec, opj_decoding_param::m_layer, opj_decoding_param::m_reduce, opj_cp::m_specific_param, and opj_cp::max_tiles.

+ +

Referenced by opj_create_decompress(), and opj_jp2_setup_decoder().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_setup_decoding_validation (opj_j2k_tp_j2k)
+
+static
+
+ +

Sets up the validation ,i.e.

+

adds the procedures to lauch to make sure the codec parameters are valid. Developpers wanting to extend the library can add their own validation procedures.

+ +

References opj_j2k::m_validation_list, opj_j2k_build_decoder(), opj_j2k_decoding_validation(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_j2k_read_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_setup_encoder (opj_j2k_tp_j2k,
opj_cparameters_tparameters,
opj_image_timage,
opj_event_mgr_tp_manager 
)
+
+ +

References opj_tccp::cblkh, opj_tccp::cblksty, opj_tccp::cblkw, opj_cparameters::cblockh_init, opj_cparameters::cblockw_init, opj_cp::comment, opj_poc::compno0, opj_poc::compno1, opj_image::comps, opj_cparameters::cp_cinema, opj_cparameters::cp_comment, opj_cparameters::cp_disto_alloc, opj_cparameters::cp_fixed_alloc, opj_cparameters::cp_fixed_quality, opj_cparameters::cp_matrice, opj_cparameters::cp_rsiz, opj_cparameters::cp_tdx, opj_cparameters::cp_tdy, opj_cparameters::cp_tx0, opj_cparameters::cp_ty0, opj_tccp::csty, opj_tcp::csty, opj_cparameters::csty, opj_tcp::distoratio, opj_image_comp::dx, opj_image_comp::dy, opj_cp::epb_on, opj_cp::epc_on, opj_cp::esd_on, EVT_ERROR, EVT_WARNING, opj_image_comp::h, opj_cp::hprot_MH, opj_cp::hprot_TPH, opj_cp::hprot_TPH_tileno, opj_cp::info_on, opj_cparameters::irreversible, J2K_CCP_CSTY_PRT, J2K_CCP_QNTSTY_NOQNT, J2K_CCP_QNTSTY_SEQNT, opj_cparameters::jpwl_epc_on, opj_cparameters::jpwl_hprot_MH, opj_cparameters::jpwl_hprot_TPH, opj_cparameters::jpwl_hprot_TPH_tileno, JPWL_MAX_NO_PACKSPECS, JPWL_MAX_NO_TILESPECS, opj_cparameters::jpwl_pprot, opj_cparameters::jpwl_pprot_packno, opj_cparameters::jpwl_pprot_tileno, opj_cparameters::jpwl_sens_addr, opj_cparameters::jpwl_sens_MH, opj_cparameters::jpwl_sens_range, opj_cparameters::jpwl_sens_size, opj_cparameters::jpwl_sens_TPH, opj_cparameters::jpwl_sens_TPH_tileno, opj_poc::layno1, opj_j2k::m_cp, opj_tccp::m_dc_level_shift, opj_encoding_param::m_disto_alloc, opj_cp::m_enc, opj_encoding_param::m_fixed_alloc, opj_encoding_param::m_fixed_quality, opj_encoding_param::m_matrice, opj_encoding_param::m_max_comp_size, opj_tcp::m_mct_coding_matrix, opj_tcp::m_mct_decoding_matrix, opj_cp::m_specific_param, opj_encoding_param::m_tp_flag, opj_encoding_param::m_tp_on, opj_cparameters::max_comp_size, opj_cparameters::max_cs_size, opj_tcp::mct, opj_cparameters::mct_data, opj_tcp::mct_norms, opj_cparameters::mode, opj_image::numcomps, opj_tccp::numgbits, opj_tcp::numlayers, opj_tcp::numpocs, opj_cparameters::numpocs, opj_cparameters::numresolution, opj_tccp::numresolutions, opj_calculate_norms(), opj_calloc, OPJ_CINEMA2K, OPJ_CINEMA2K_24, OPJ_CINEMA2K_48, OPJ_CINEMA4K, OPJ_CINEMA4K_24, OPJ_CINEMA_24_COMP, OPJ_CINEMA_24_CS, OPJ_CINEMA_48_COMP, OPJ_CINEMA_48_CS, opj_dwt_calc_explicit_stepsizes(), opj_event_msg(), OPJ_EXTENSION_MCT, OPJ_EXTENSION_NONE, OPJ_FALSE, opj_free, opj_int_ceildiv(), opj_int_floorlog2(), OPJ_IS_BROADCAST, OPJ_IS_CINEMA, OPJ_IS_IMF, OPJ_IS_PART2, OPJ_IS_STORAGE, opj_j2k_check_poc_val(), opj_j2k_is_cinema_compliant(), OPJ_J2K_MAXRLVLS, opj_j2k_set_cinema_parameters(), opj_j2k_setup_mct_encoding(), opj_malloc, opj_matrix_inversion_f(), OPJ_MCT, OPJ_OFF, OPJ_PROFILE_CINEMA_2K, OPJ_PROFILE_CINEMA_4K, OPJ_PROFILE_CINEMA_S2K, OPJ_PROFILE_CINEMA_S4K, OPJ_PROFILE_NONE, OPJ_PROFILE_PART2, OPJ_STD_RSIZ, OPJ_TRUE, opj_version(), opj_tcp::POC, opj_cparameters::POC, opj_tcp::pocs, opj_cp::pprot, opj_cp::pprot_packno, opj_cp::pprot_tileno, opj_tccp::prch, opj_cparameters::prch_init, opj_tccp::prcw, opj_cparameters::prcw_init, opj_image_comp::prec, opj_tcp::prg, opj_poc::prg1, opj_cparameters::prog_order, opj_tccp::qmfbid, opj_tccp::qntsty, opj_tcp::rates, opj_cp::red_on, opj_cparameters::res_spec, opj_poc::resno0, opj_poc::resno1, opj_cparameters::roi_compno, opj_cparameters::roi_shift, opj_tccp::roishift, opj_cp::rsiz, opj_cparameters::rsiz, opj_cp::sens_addr, opj_cp::sens_MH, opj_cp::sens_range, opj_cp::sens_size, opj_cp::sens_TPH, opj_cp::sens_TPH_tileno, opj_image_comp::sgnd, opj_tcp::tccps, tcp, opj_cparameters::tcp_distoratio, opj_cparameters::tcp_mct, opj_cparameters::tcp_numlayers, opj_cparameters::tcp_rates, opj_cp::tcps, opj_cp::tdx, opj_cp::tdy, opj_cp::th, opj_poc::tile, opj_cparameters::tile_size_on, opj_cparameters::tp_flag, opj_cparameters::tp_on, opj_cp::tw, opj_cp::tx0, opj_cp::ty0, opj_image_comp::w, opj_image::x1, and opj_image::y1.

+ +

Referenced by opj_create_compress(), and opj_jp2_setup_encoder().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_setup_encoding_validation (opj_j2k_tp_j2k)
+
+static
+
+ +

Sets up the validation ,i.e.

+

adds the procedures to lauch to make sure the codec parameters are valid. Developpers wanting to extend the library can add their own validation procedures.

+ +

References opj_j2k::m_validation_list, opj_j2k_build_encoder(), opj_j2k_encoding_validation(), opj_j2k_mct_validation(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_j2k_start_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_setup_end_compress (opj_j2k_tp_j2k)
+
+static
+
+ +

Sets up the validation ,i.e.

+

adds the procedures to lauch to make sure the codec parameters are valid. Developpers wanting to extend the library can add their own validation procedures.

+ +

References opj_j2k::m_cp, opj_j2k::m_procedure_list, OPJ_IS_CINEMA, opj_j2k_destroy_header_memory(), opj_j2k_end_encoding(), opj_j2k_write_eoc(), opj_j2k_write_epc(), opj_j2k_write_updated_tlm(), opj_procedure_list_add_procedure(), and opj_cp::rsiz.

+ +

Referenced by opj_j2k_end_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_setup_header_reading (opj_j2k_tp_j2k)
+
+static
+
+ +

Sets up the procedures to do on reading header.

+

Developpers wanting to extend the library can add their own reading procedures.

+ +

References opj_j2k::m_procedure_list, opj_j2k_copy_default_tcp_and_create_tcd(), opj_j2k_read_header_procedure(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_j2k_read_header().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_tcp_data_destroy (opj_tcp_tp_tcp)
+
+static
+
+ +

Destroys the data inside a tile coding parameter structure.

+
Parameters
+ + +
p_tcpthe tile coding parameter which contain data to destroy.
+
+
+ +

References opj_tcp::m_data, opj_tcp::m_data_size, and opj_free.

+ +

Referenced by opj_j2k_decode_tile(), and opj_j2k_tcp_destroy().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_j2k_tcp_destroy (opj_tcp_tp_tcp)
+
+static
+
+
+ + + + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_j2k_update_tlm (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_part_size 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_all_tile_parts (opj_j2k_tp_j2k,
OPJ_BYTEp_data,
OPJ_UINT32p_data_written,
OPJ_UINT32 p_total_data_size,
opj_stream_private_tp_stream,
struct opj_event_mgrp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_cbd (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the CBD marker (Component bit depth definition)

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_image::comps, EVT_ERROR, J2K_MS_CBD, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k_enc::m_header_tile_data_size, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_free, opj_realloc, opj_stream_write_data(), OPJ_TRUE, opj_write_bytes, opj_image_comp::prec, and opj_image_comp::sgnd.

+ +

Referenced by opj_j2k_write_mct_data_group().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_cod (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_com (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the COM marker (comment)

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_cp::comment, EVT_ERROR, J2K_MS_COM, opj_j2k::m_cp, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k_enc::m_header_tile_data_size, opj_j2k::m_specific_param, opj_event_msg(), OPJ_FALSE, opj_free, opj_realloc, opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_eoc (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the EOC marker (End of Codestream)

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References J2K_MS_EOC, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k::m_specific_param, OPJ_FALSE, opj_stream_flush(), opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_j2k_setup_end_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_epc (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes EPC ????

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_codestream_index::codestream_size, opj_j2k::cstr_index, opj_codestream_index::main_head_start, opj_stream_tell(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_end_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_first_tile_part (opj_j2k_tp_j2k,
OPJ_BYTEp_data,
OPJ_UINT32p_data_written,
OPJ_UINT32 p_total_data_size,
opj_stream_private_tp_stream,
struct opj_event_mgrp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_write_float_to_float (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_write_float.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_write_float_to_float64 (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_write_double.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_write_float_to_int16 (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_write_bytes.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_write_float_to_int32 (const void * p_src_data,
void * p_dest_data,
OPJ_UINT32 p_nb_elem 
)
+
+static
+
+ +

References opj_write_bytes.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_mcc_record (opj_j2k_tp_j2k,
opj_simple_mcc_decorrelation_data_tp_mcc_record,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_mco (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_mct_data_group (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the CBD-MCT-MCC-MCO markers (Multi components transform)

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_tcp::m_mcc_records, opj_tcp::m_mct_records, opj_tcp::m_nb_mcc_records, opj_tcp::m_nb_mct_records, OPJ_FALSE, opj_j2k_write_cbd(), opj_j2k_write_mcc_record(), opj_j2k_write_mco(), opj_j2k_write_mct_record(), OPJ_TRUE, and opj_cp::tcps.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_mct_record (opj_j2k_tp_j2k,
opj_mct_data_tp_mct_record,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the MCT marker (Multiple Component Transform)

+
Parameters
+ + + + + +
p_j2kJ2K codec.
p_mct_recordFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, J2K_MS_MCT, opj_mct_data::m_array_type, opj_mct_data::m_data, opj_mct_data::m_data_size, opj_mct_data::m_element_type, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k_enc::m_header_tile_data_size, opj_mct_data::m_index, opj_j2k::m_specific_param, opj_event_msg(), OPJ_FALSE, opj_free, opj_realloc, opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_j2k_write_mct_data_group().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_poc (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_j2k_write_poc_in_memory (opj_j2k_tp_j2k,
OPJ_BYTEp_data,
OPJ_UINT32p_data_written,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the POC marker (Progression Order Change)

+
Parameters
+ + + + + +
p_j2kJ2K codec.
p_dataFIXME DOC
p_data_writtenthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_poc::compno0, opj_poc::compno1, J2K_MS_POC, opj_poc::layno1, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_j2k::m_private_image, opj_image::numcomps, opj_tcp::numlayers, opj_tcp::numpocs, opj_tccp::numresolutions, opj_int_min(), opj_write_bytes, opj_tcp::pocs, opj_poc::prg, opj_poc::resno0, opj_poc::resno1, opj_tcp::tccps, and opj_cp::tcps.

+ +

Referenced by opj_j2k_write_first_tile_part(), and opj_j2k_write_poc().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_qcd (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the QCD marker (quantization default)

+
Parameters
+ + + + +
p_j2kJ2K codec.
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, J2K_MS_QCD, opj_j2k::m_current_tile_number, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k_enc::m_header_tile_data_size, opj_j2k::m_specific_param, opj_event_msg(), OPJ_FALSE, opj_free, opj_j2k_get_SQcd_SQcc_size(), opj_j2k_write_SQcd_SQcc(), opj_realloc, opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_regions (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes regions of interests.

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_j2k::m_cp, opj_j2k::m_private_image, opj_image::numcomps, OPJ_FALSE, opj_j2k_write_rgn(), OPJ_TRUE, opj_tccp::roishift, opj_tcp::tccps, and opj_cp::tcps.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_rgn (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_no,
OPJ_UINT32 p_comp_no,
OPJ_UINT32 nb_comps,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the RGN marker (Region Of Interest)

+
Parameters
+ + + + + + + +
p_tile_nothe tile to output
p_comp_nothe component to output
nb_compsthe number of components
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References J2K_MS_RGN, opj_j2k::m_cp, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k::m_specific_param, OPJ_FALSE, opj_stream_write_data(), OPJ_TRUE, opj_write_bytes, opj_tccp::roishift, opj_tcp::tccps, and opj_cp::tcps.

+ +

Referenced by opj_j2k_write_regions().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_siz (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_soc (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the SOC marker (Start Of Codestream)

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References J2K_MS_SOC, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k::m_specific_param, OPJ_FALSE, opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_sod (opj_j2k_tp_j2k,
opj_tcd_tp_tile_coder,
OPJ_BYTEp_data,
OPJ_UINT32p_data_written,
OPJ_UINT32 p_total_data_size,
const opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the SOD marker (Start of data)

+
Parameters
+ + + + + + + + +
p_j2kJ2K codec.
p_tile_coderFIXME DOC
p_dataFIXME DOC
p_data_writtenFIXME DOC
p_total_data_sizeFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_tcd::cur_tp_num, EVT_ERROR, J2K_MS_SOD, opj_j2k_enc::m_current_poc_tile_part_number, opj_j2k::m_current_tile_number, opj_j2k_enc::m_current_tile_part_number, opj_j2k::m_encoder, opj_j2k::m_specific_param, opj_event_msg(), OPJ_FALSE, opj_tcd_encode_tile(), OPJ_TRUE, opj_write_bytes, opj_tcd_tile::packno, opj_codestream_info::packno, opj_tcd::tcd_image, opj_tcd_image::tiles, and opj_tcd::tp_num.

+ +

Referenced by opj_j2k_write_all_tile_parts(), and opj_j2k_write_first_tile_part().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_sot (opj_j2k_tp_j2k,
OPJ_BYTEp_data,
OPJ_UINT32p_data_written,
const opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the SOT marker (Start of tile-part)

+
Parameters
+ + + + + + +
p_j2kJ2K codec.
p_dataFIXME DOC
p_data_writtenFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References J2K_MS_SOT, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_j2k_enc::m_current_tile_part_number, opj_j2k::m_encoder, opj_tcp::m_nb_tile_parts, opj_j2k::m_specific_param, OPJ_TRUE, opj_write_bytes, and opj_cp::tcps.

+ +

Referenced by opj_j2k_write_all_tile_parts(), and opj_j2k_write_first_tile_part().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_SPCod_SPCoc (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_no,
OPJ_UINT32 p_comp_no,
OPJ_BYTEp_data,
OPJ_UINT32p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes a SPCod or SPCoc element, i.e.

+

the coding style of a given component of a tile.

+
Parameters
+ + + + + + + +
p_j2kJ2K codec.
p_tile_noFIXME DOC
p_comp_nothe component number to output.
p_dataFIXME DOC
p_header_sizeFIXME DOC
p_managerthe user event manager.
+
+
+
Returns
FIXME DOC
+ +

References opj_tccp::cblkh, opj_tccp::cblksty, opj_tccp::cblkw, opj_tccp::csty, EVT_ERROR, J2K_CCP_CSTY_PRT, opj_j2k::m_cp, opj_j2k::m_private_image, opj_image::numcomps, opj_tccp::numresolutions, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, opj_write_bytes, opj_tccp::prch, opj_tccp::prcw, opj_tccp::qmfbid, opj_tcp::tccps, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by opj_j2k_write_cod().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_SQcd_SQcc (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_no,
OPJ_UINT32 p_comp_no,
OPJ_BYTEp_data,
OPJ_UINT32p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes a SQcd or SQcc element, i.e.

+

the quantization values of a band in the QCD or QCC.

+
Parameters
+ + + + + + + +
p_tile_nothe tile to output.
p_comp_nothe component number to output.
p_datathe data buffer.
p_header_sizepointer to the size of the data buffer, it is changed by the function.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, opj_stepsize::expn, J2K_CCP_QNTSTY_NOQNT, J2K_CCP_QNTSTY_SIQNT, opj_j2k::m_cp, opj_stepsize::mant, opj_tccp::numgbits, opj_tccp::numresolutions, opj_event_msg(), OPJ_FALSE, OPJ_TRUE, opj_write_bytes, opj_tccp::qntsty, opj_tccp::stepsizes, opj_tcp::tccps, opj_cp::tcps, and opj_cp::th.

+ +

Referenced by opj_j2k_write_qcd().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_tlm (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the TLM marker (Tile Length Marker)

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References EVT_ERROR, J2K_MS_TLM, opj_j2k::m_encoder, opj_j2k_enc::m_header_tile_data, opj_j2k_enc::m_header_tile_data_size, opj_j2k::m_specific_param, opj_j2k_enc::m_tlm_start, opj_j2k_enc::m_total_tile_parts, opj_event_msg(), OPJ_FALSE, opj_free, opj_realloc, opj_stream_tell(), opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_j2k_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_updated_tlm (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the updated tlm.

+
Parameters
+ + + + +
p_streamthe stream to write data to.
p_j2kJ2K codec.
p_managerthe user event manager.
+
+
+ +

References opj_j2k::m_encoder, opj_j2k::m_specific_param, opj_j2k_enc::m_tlm_sot_offsets_buffer, opj_j2k_enc::m_tlm_start, opj_j2k_enc::m_total_tile_parts, OPJ_FALSE, opj_stream_seek(), opj_stream_tell(), opj_stream_write_data(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_setup_end_compress().

+ +
+
+
+ + + + diff --git a/doxygen/group___j_p2.html b/doxygen/group___j_p2.html new file mode 100644 index 00000000..ce380256 --- /dev/null +++ b/doxygen/group___j_p2.html @@ -0,0 +1,2726 @@ + + + + + + +OpenJPEG: JP2 - JPEG-2000 file format reader/writer + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
JP2 - JPEG-2000 file format reader/writer
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  opj_jp2_cdef_info
 Channel description: channel index, type, assocation. More...
 
struct  opj_jp2_cdef
 Channel descriptions and number of descriptions. More...
 
struct  opj_jp2_cmap_comp
 Component mappings: channel index, mapping type, palette index. More...
 
struct  opj_jp2_pclr
 Palette data: table entries, palette columns. More...
 
struct  opj_jp2_color
 Collector for ICC profile, palette, component mapping, channel description. More...
 
struct  opj_jp2_comps
 JP2 component. More...
 
struct  opj_jp2
 JPEG-2000 file format reader/writer. More...
 
struct  opj_jp2_box
 JP2 Box. More...
 
struct  opj_jp2_header_handler
 
struct  opj_jp2_img_header_writer_handler
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define OPJ_BOX_SIZE   1024
 
#define JP2_JP   0x6a502020
 JPEG 2000 signature box. More...
 
#define JP2_FTYP   0x66747970
 File type box. More...
 
#define JP2_JP2H   0x6a703268
 JP2 header box (super-box) More...
 
#define JP2_IHDR   0x69686472
 Image header box. More...
 
#define JP2_COLR   0x636f6c72
 Colour specification box. More...
 
#define JP2_JP2C   0x6a703263
 Contiguous codestream box. More...
 
#define JP2_URL   0x75726c20
 Data entry URL box. More...
 
#define JP2_PCLR   0x70636c72
 Palette box. More...
 
#define JP2_CMAP   0x636d6170
 Component Mapping box. More...
 
#define JP2_CDEF   0x63646566
 Channel Definition box. More...
 
#define JP2_DTBL   0x6474626c
 Data Reference box. More...
 
#define JP2_BPCC   0x62706363
 Bits per component box. More...
 
#define JP2_JP2   0x6a703220
 File type fields. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct opj_jp2_cdef_info opj_jp2_cdef_info_t
 Channel description: channel index, type, assocation. More...
 
typedef struct opj_jp2_cdef opj_jp2_cdef_t
 Channel descriptions and number of descriptions. More...
 
typedef struct opj_jp2_cmap_comp opj_jp2_cmap_comp_t
 Component mappings: channel index, mapping type, palette index. More...
 
typedef struct opj_jp2_pclr opj_jp2_pclr_t
 Palette data: table entries, palette columns. More...
 
typedef struct opj_jp2_color opj_jp2_color_t
 Collector for ICC profile, palette, component mapping, channel description. More...
 
typedef struct opj_jp2_comps opj_jp2_comps_t
 JP2 component. More...
 
typedef struct opj_jp2 opj_jp2_t
 JPEG-2000 file format reader/writer. More...
 
typedef struct opj_jp2_box opj_jp2_box_t
 JP2 Box. More...
 
typedef struct opj_jp2_header_handler opj_jp2_header_handler_t
 
typedef struct opj_jp2_img_header_writer_handler opj_jp2_img_header_writer_handler_t
 
+ + + + + + +

+Enumerations

enum  JP2_STATE {
+  JP2_STATE_NONE = 0x0, +JP2_STATE_SIGNATURE = 0x1, +JP2_STATE_FILE_TYPE = 0x2, +JP2_STATE_HEADER = 0x4, +
+  JP2_STATE_CODESTREAM = 0x8, +JP2_STATE_END_CODESTREAM = 0x10, +JP2_STATE_UNKNOWN = 0x7fffffff +
+ }
 < Resolution box (super-box) More...
 
enum  JP2_IMG_STATE { JP2_IMG_STATE_NONE = 0x0, +JP2_IMG_STATE_UNKNOWN = 0x7fffffff + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Local static functions

static OPJ_BOOL opj_jp2_read_ihdr (opj_jp2_t *jp2, OPJ_BYTE *p_image_header_data, OPJ_UINT32 p_image_header_size, opj_event_mgr_t *p_manager)
 Reads a IHDR box - Image Header box. More...
 
static OPJ_BYTEopj_jp2_write_ihdr (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Image Header box - Image Header box. More...
 
static OPJ_BYTEopj_jp2_write_bpcc (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Bit per Component box. More...
 
static OPJ_BOOL opj_jp2_read_bpcc (opj_jp2_t *jp2, OPJ_BYTE *p_bpc_header_data, OPJ_UINT32 p_bpc_header_size, opj_event_mgr_t *p_manager)
 Reads a Bit per Component box. More...
 
static OPJ_BOOL opj_jp2_read_cdef (opj_jp2_t *jp2, OPJ_BYTE *p_cdef_header_data, OPJ_UINT32 p_cdef_header_size, opj_event_mgr_t *p_manager)
 
static void opj_jp2_apply_cdef (opj_image_t *image, opj_jp2_color_t *color)
 
static OPJ_BYTEopj_jp2_write_cdef (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Channel Definition box. More...
 
static OPJ_BYTEopj_jp2_write_colr (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Colour Specification box. More...
 
static OPJ_BOOL opj_jp2_write_ftyp (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Writes a FTYP box - File type box. More...
 
static OPJ_BOOL opj_jp2_read_ftyp (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a a FTYP box - File type box. More...
 
OPJ_BOOL opj_jp2_skip_jp2c (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_jp2_read_jp2h (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box). More...
 
static OPJ_BOOL opj_jp2_write_jp2c (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Writes the Jpeg2000 codestream Header box - JP2C Header box. More...
 
static OPJ_BOOL opj_jp2_read_jp (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 file signature box. More...
 
static OPJ_BOOL opj_jp2_write_jp (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Writes a jpeg2000 file signature box. More...
 
static void opj_jp2_apply_pclr (opj_image_t *image, opj_jp2_color_t *color)
 Apply collected palette data. More...
 
static void opj_jp2_free_pclr (opj_jp2_color_t *color)
 
static OPJ_BOOL opj_jp2_read_pclr (opj_jp2_t *jp2, OPJ_BYTE *p_pclr_header_data, OPJ_UINT32 p_pclr_header_size, opj_event_mgr_t *p_manager)
 Collect palette data. More...
 
static OPJ_BOOL opj_jp2_read_cmap (opj_jp2_t *jp2, OPJ_BYTE *p_cmap_header_data, OPJ_UINT32 p_cmap_header_size, opj_event_mgr_t *p_manager)
 Collect component mapping data. More...
 
static OPJ_BOOL opj_jp2_read_colr (opj_jp2_t *jp2, OPJ_BYTE *p_colr_header_data, OPJ_UINT32 p_colr_header_size, opj_event_mgr_t *p_manager)
 Reads the Color Specification box. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

OPJ_BOOL opj_jp2_write_jp2h (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Writes the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box). More...
 
void opj_jp2_setup_decoder (opj_jp2_t *jp2, opj_dparameters_t *parameters)
 Setup the decoder decoding parameters using user parameters. More...
 
OPJ_BOOL opj_jp2_decode (opj_jp2_t *jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Decode an image from a JPEG-2000 file stream. More...
 
OPJ_BOOL opj_jp2_setup_encoder (opj_jp2_t *jp2, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 Setup the encoder parameters using the current image and using user parameters. More...
 
OPJ_BOOL opj_jp2_encode (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Encode an image into a JPEG-2000 file stream. More...
 
OPJ_BOOL opj_jp2_start_compress (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Starts a compression scheme, i.e. More...
 
OPJ_BOOL opj_jp2_end_compress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Ends the compression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_jp2_end_decompress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Ends the decompression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_jp2_read_header (opj_stream_private_t *p_stream, opj_jp2_t *jp2, opj_image_t **p_image, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 file header structure. More...
 
OPJ_BOOL opj_jp2_read_tile_header (opj_jp2_t *p_jp2, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a tile header. More...
 
OPJ_BOOL opj_jp2_write_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes a tile. More...
 
OPJ_BOOL opj_jp2_decode_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Decode tile data. More...
 
opj_jp2_topj_jp2_create (OPJ_BOOL p_is_decoder)
 Creates a jpeg2000 file decompressor. More...
 
void opj_jp2_destroy (opj_jp2_t *jp2)
 Destroy a JP2 decompressor handle. More...
 
OPJ_BOOL opj_jp2_set_decode_area (opj_jp2_t *p_jp2, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager)
 Sets the given area to be decoded. More...
 
OPJ_BOOL opj_jp2_get_tile (opj_jp2_t *p_jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
 
OPJ_BOOL opj_jp2_set_decoded_resolution_factor (opj_jp2_t *p_jp2, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
 
void jp2_dump (opj_jp2_t *p_jp2, OPJ_INT32 flag, FILE *out_stream)
 Dump some elements from the JP2 decompression structure . More...
 
opj_codestream_info_v2_tjp2_get_cstr_info (opj_jp2_t *p_jp2)
 Get the codestream info from a JPEG2000 codec. More...
 
opj_codestream_index_tjp2_get_cstr_index (opj_jp2_t *p_jp2)
 Get the codestream index from a JPEG2000 codec. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define JP2_BPCC   0x62706363
+
+ +

Bits per component box.

+ +

Referenced by opj_jp2_write_bpcc().

+ +
+
+ +
+
+ + + + +
#define JP2_CDEF   0x63646566
+
+ +

Channel Definition box.

+ +

Referenced by opj_jp2_write_cdef().

+ +
+
+ +
+
+ + + + +
#define JP2_CMAP   0x636d6170
+
+ +

Component Mapping box.

+ +
+
+ +
+
+ + + + +
#define JP2_COLR   0x636f6c72
+
+ +

Colour specification box.

+ +

Referenced by opj_jp2_write_colr().

+ +
+
+ +
+
+ + + + +
#define JP2_DTBL   0x6474626c
+
+ +

Data Reference box.

+ +
+
+ +
+
+ + + + +
#define JP2_FTYP   0x66747970
+
+ +

File type box.

+ +

Referenced by opj_jp2_write_ftyp().

+ +
+
+ +
+
+ + + + +
#define JP2_IHDR   0x69686472
+
+ +

Image header box.

+ +

Referenced by opj_jp2_read_jp2h(), and opj_jp2_write_ihdr().

+ +
+
+ +
+
+ + + + +
#define JP2_JP   0x6a502020
+
+ +

JPEG 2000 signature box.

+ +

Referenced by opj_jp2_write_jp().

+ +
+
+ +
+
+ + + + +
#define JP2_JP2   0x6a703220
+
+ +

File type fields.

+ +

Referenced by opj_jp2_setup_encoder().

+ +
+
+ +
+
+ + + + +
#define JP2_JP2C   0x6a703263
+
+ +

Contiguous codestream box.

+ +

Referenced by opj_jp2_read_header_procedure(), and opj_jp2_write_jp2c().

+ +
+
+ +
+
+ + + + +
#define JP2_JP2H   0x6a703268
+
+ +

JP2 header box (super-box)

+ +

Referenced by opj_jp2_write_jp2h().

+ +
+
+ +
+
+ + + + +
#define JP2_PCLR   0x70636c72
+
+ +

Palette box.

+ +
+
+ +
+
+ + + + +
#define JP2_URL   0x75726c20
+
+ +

Data entry URL box.

+ +
+
+ +
+
+ + + + +
#define OPJ_BOX_SIZE   1024
+
+ +

Referenced by opj_jp2_read_header_procedure().

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_jp2_box opj_jp2_box_t
+
+ +

JP2 Box.

+ +
+
+ +
+
+ + + + +
typedef struct opj_jp2_cdef_info opj_jp2_cdef_info_t
+
+ +

Channel description: channel index, type, assocation.

+ +
+
+ +
+
+ + + + +
typedef struct opj_jp2_cdef opj_jp2_cdef_t
+
+ +

Channel descriptions and number of descriptions.

+ +
+
+ +
+
+ + + + +
typedef struct opj_jp2_cmap_comp opj_jp2_cmap_comp_t
+
+ +

Component mappings: channel index, mapping type, palette index.

+ +
+
+ +
+
+ + + + +
typedef struct opj_jp2_color opj_jp2_color_t
+
+ +

Collector for ICC profile, palette, component mapping, channel description.

+ +
+
+ +
+
+ + + + +
typedef struct opj_jp2_comps opj_jp2_comps_t
+
+ +

JP2 component.

+ +
+
+ +
+
+ + + + +
typedef struct opj_jp2_header_handler + opj_jp2_header_handler_t
+
+ +
+
+ + + +
+
+ + + + +
typedef struct opj_jp2_pclr opj_jp2_pclr_t
+
+ +

Palette data: table entries, palette columns.

+ +
+
+ +
+
+ + + + +
typedef struct opj_jp2 + opj_jp2_t
+
+ +

JPEG-2000 file format reader/writer.

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum JP2_IMG_STATE
+
+ + + +
Enumerator
JP2_IMG_STATE_NONE  +
JP2_IMG_STATE_UNKNOWN  +
+ +
+
+ +
+
+ + + + +
enum JP2_STATE
+
+ +

< Resolution box (super-box)

+

< Intellectual property box < XML box < UUID box < UUID info box (super-box) < UUID list box

+ + + + + + + + +
Enumerator
JP2_STATE_NONE  +
JP2_STATE_SIGNATURE  +
JP2_STATE_FILE_TYPE  +
JP2_STATE_HEADER  +
JP2_STATE_CODESTREAM  +
JP2_STATE_END_CODESTREAM  +
JP2_STATE_UNKNOWN  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void jp2_dump (opj_jp2_tp_jp2,
OPJ_INT32 flag,
FILE * out_stream 
)
+
+ +

Dump some elements from the JP2 decompression structure .

+
Parameters
+ + + + +
p_jp2the jp2 codec.
flagflag to describe what elments are dump.
out_streamoutput stream where dump the elements.
+
+
+ +

References opj_jp2::j2k, and j2k_dump().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + + + + +
opj_codestream_index_t* jp2_get_cstr_index (opj_jp2_tp_jp2)
+
+ +

Get the codestream index from a JPEG2000 codec.

+
Parameters
+ + +
p_jp2jp2 codec.
+
+
+
Returns
the codestream index extract from the jpg2000 codec
+ +

References opj_jp2::j2k, and j2k_get_cstr_index().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + + + + +
opj_codestream_info_v2_t* jp2_get_cstr_info (opj_jp2_tp_jp2)
+
+ +

Get the codestream info from a JPEG2000 codec.

+
Parameters
+ + +
p_jp2jp2 codec.
+
+
+
Returns
the codestream information extract from the jpg2000 codec
+ +

References opj_jp2::j2k, and j2k_get_cstr_info().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_jp2_apply_cdef (opj_image_timage,
opj_jp2_color_tcolor 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_jp2_apply_pclr (opj_image_timage,
opj_jp2_color_tcolor 
)
+
+static
+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_decode (opj_jp2_tjp2,
opj_stream_private_tp_stream,
opj_image_tp_image,
opj_event_mgr_tp_manager 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_decode_tile (opj_jp2_tp_jp2,
OPJ_UINT32 p_tile_index,
OPJ_BYTEp_data,
OPJ_UINT32 p_data_size,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Decode tile data.

+
Parameters
+ + + + + + + +
p_jp2the jpeg2000 codec.
p_tile_indexFIXME DOC
p_dataFIXME DOC
p_data_sizeFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+
Returns
FIXME DOC
+ +

References opj_jp2::j2k, and opj_j2k_decode_tile().

+ +

Referenced by opj_create_decompress().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_encode (opj_jp2_tjp2,
opj_stream_private_tstream,
opj_event_mgr_tp_manager 
)
+
+ +

Encode an image into a JPEG-2000 file stream.

+
Parameters
+ + + + +
jp2JP2 compressor handle
streamOutput buffer stream
p_managerevent manager
+
+
+
Returns
Returns true if successful, returns false otherwise
+ +

References opj_jp2::j2k, and opj_j2k_encode().

+ +

Referenced by opj_create_compress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_end_compress (opj_jp2_tjp2,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+ +

Ends the compression procedures and possibiliy add data to be read after the codestream.

+ +

References opj_jp2::j2k, opj_jp2::m_procedure_list, OPJ_FALSE, opj_j2k_end_compress(), opj_jp2_exec(), and opj_jp2_setup_end_header_writing().

+ +

Referenced by opj_create_compress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_end_decompress (opj_jp2_tjp2,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+ +

Ends the decompression procedures and possibiliy add data to be read after the codestream.

+ +

References opj_jp2::j2k, opj_jp2::m_procedure_list, OPJ_FALSE, opj_j2k_end_decompress(), opj_jp2_exec(), and opj_jp2_setup_end_header_reading().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_jp2_free_pclr (opj_jp2_color_tcolor)
+
+static
+
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_bpcc (opj_jp2_tjp2,
OPJ_BYTEp_bpc_header_data,
OPJ_UINT32 p_bpc_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a Bit per Component box.

+
Parameters
+ + + + + +
p_bpc_header_datapointer to actual data (already read from file)
jp2the jpeg2000 file codec.
p_bpc_header_sizethe size of the bpc header
p_managerthe user event manager.
+
+
+
Returns
true if the bpc header is valid, fale else.
+ +

References opj_jp2::bpc, opj_jp2_comps::bpcc, opj_jp2::comps, EVT_ERROR, EVT_WARNING, opj_jp2::numcomps, opj_event_msg(), OPJ_FALSE, opj_read_bytes, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_cdef (opj_jp2_tjp2,
OPJ_BYTEp_cdef_header_data,
OPJ_UINT32 p_cdef_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_cmap (opj_jp2_tjp2,
OPJ_BYTEp_cmap_header_data,
OPJ_UINT32 p_cmap_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Collect component mapping data.

+
Parameters
+ + + + + +
jp2JP2 handle
p_cmap_header_dataFIXME DOC
p_cmap_header_sizeFIXME DOC
p_managerFIXME DOC
+
+
+
Returns
Returns true if successful, returns false otherwise
+ +

References opj_jp2_pclr::cmap, opj_jp2_cmap_comp::cmp, opj_jp2::color, EVT_ERROR, opj_jp2_color::jp2_pclr, opj_jp2_cmap_comp::mtyp, opj_jp2_pclr::nr_channels, opj_event_msg(), OPJ_FALSE, opj_malloc, opj_read_bytes, OPJ_TRUE, and opj_jp2_cmap_comp::pcol.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_colr (opj_jp2_tjp2,
OPJ_BYTEp_colr_header_data,
OPJ_UINT32 p_colr_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads the Color Specification box.

+
Parameters
+ + + + + +
p_colr_header_datapointer to actual data (already read from file)
jp2the jpeg2000 file codec.
p_colr_header_sizethe size of the color header
p_managerthe user event manager.
+
+
+
Returns
true if the bpc header is valid, fale else.
+ +

References opj_jp2::approx, opj_jp2::color, opj_jp2::enumcs, EVT_ERROR, EVT_INFO, EVT_WARNING, opj_jp2_color::icc_profile_buf, opj_jp2_color::icc_profile_len, opj_jp2_color::jp2_has_colr, opj_jp2::meth, opj_calloc, opj_event_msg(), OPJ_FALSE, opj_read_bytes, OPJ_TRUE, and opj_jp2::precedence.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_jp2_read_ftyp (opj_jp2_tjp2,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a a FTYP box - File type box.

+
Parameters
+ + + + + +
p_header_datathe data contained in the FTYP box.
jp2the jpeg2000 file codec.
p_header_sizethe size of the data contained in the FTYP box.
p_managerthe user event manager.
+
+
+
Returns
true if the FTYP box is valid.
+ +

References opj_jp2::brand, opj_jp2::cl, EVT_ERROR, opj_jp2::jp2_state, JP2_STATE_FILE_TYPE, JP2_STATE_SIGNATURE, opj_jp2::minversion, opj_jp2::numcl, opj_calloc, opj_event_msg(), OPJ_FALSE, opj_read_bytes, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_header (opj_stream_private_tp_stream,
opj_jp2_tjp2,
opj_image_t ** p_image,
opj_event_mgr_tp_manager 
)
+
+ +

Reads a jpeg2000 file header structure.

+
Parameters
+ + + + + +
p_streamthe stream to read data from.
jp2the jpeg2000 file header structure.
p_imageFIXME DOC
p_managerthe user event manager.
+
+
+
Returns
true if the box is valid.
+ +

References opj_jp2::j2k, opj_jp2::m_procedure_list, opj_jp2::m_validation_list, OPJ_FALSE, opj_j2k_read_header(), opj_jp2_exec(), opj_jp2_setup_decoding_validation(), and opj_jp2_setup_header_reading().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_ihdr (opj_jp2_tjp2,
OPJ_BYTEp_image_header_data,
OPJ_UINT32 p_image_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a IHDR box - Image Header box.

+
Parameters
+ + + + + +
p_image_header_datapointer to actual data (already read from file)
jp2the jpeg2000 file codec.
p_image_header_sizethe size of the image header
p_managerthe user event manager.
+
+
+
Returns
true if the image header is valid, false else.
+ +

References opj_jp2::bpc, opj_jp2::C, opj_jp2::comps, EVT_ERROR, EVT_INFO, opj_jp2::h, opj_jp2::IPR, opj_jp2::numcomps, opj_calloc, opj_event_msg(), OPJ_FALSE, opj_read_bytes, OPJ_TRUE, opj_jp2::UnkC, and opj_jp2::w.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_jp2_read_jp (opj_jp2_tjp2,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a jpeg2000 file signature box.

+
Parameters
+ + + + + +
p_header_datathe data contained in the signature box.
jp2the jpeg2000 file codec.
p_header_sizethe size of the data contained in the signature box.
p_managerthe user event manager.
+
+
+
Returns
true if the file signature box is valid.
+ +

References EVT_ERROR, opj_jp2::jp2_state, JP2_STATE_NONE, JP2_STATE_SIGNATURE, opj_event_msg(), OPJ_FALSE, opj_read_bytes, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_jp2_read_jp2h (opj_jp2_tjp2,
OPJ_BYTEp_header_data,
OPJ_UINT32 p_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box).

+
Parameters
+ + + + + +
p_header_datathe data contained in the file header box.
jp2the jpeg2000 file codec.
p_header_sizethe size of the data contained in the file header box.
p_managerthe user event manager.
+
+
+
Returns
true if the JP2 Header box was successfully reconized.
+ +

References EVT_ERROR, opj_jp2_header_handler::handler, JP2_IHDR, opj_jp2::jp2_img_state, JP2_IMG_STATE_NONE, JP2_IMG_STATE_UNKNOWN, opj_jp2::jp2_state, JP2_STATE_FILE_TYPE, JP2_STATE_HEADER, opj_jp2_box::length, opj_event_msg(), OPJ_FALSE, opj_jp2_img_find_handler(), opj_jp2_read_boxhdr_char(), OPJ_TRUE, and opj_jp2_box::type.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_pclr (opj_jp2_tjp2,
OPJ_BYTEp_pclr_header_data,
OPJ_UINT32 p_pclr_header_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Collect palette data.

+
Parameters
+ + + + + +
jp2JP2 handle
p_pclr_header_dataFIXME DOC
p_pclr_header_sizeFIXME DOC
p_manager
+
+
+
Returns
Returns true if successful, returns false otherwise
+ +

References opj_jp2_pclr::channel_sign, opj_jp2_pclr::channel_size, opj_jp2_pclr::cmap, opj_jp2::color, opj_jp2_pclr::entries, EVT_ERROR, opj_jp2_color::jp2_pclr, opj_jp2_pclr::nr_channels, opj_jp2_pclr::nr_entries, opj_event_msg(), OPJ_FALSE, opj_free, opj_malloc, opj_read_bytes, and OPJ_TRUE.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_tile_header (opj_jp2_tp_jp2,
OPJ_UINT32p_tile_index,
OPJ_UINT32p_data_size,
OPJ_INT32p_tile_x0,
OPJ_INT32p_tile_y0,
OPJ_INT32p_tile_x1,
OPJ_INT32p_tile_y1,
OPJ_UINT32p_nb_comps,
OPJ_BOOLp_go_on,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Reads a tile header.

+
Parameters
+ + + + + + + + + + + + +
p_jp2the jpeg2000 codec.
p_tile_indexFIXME DOC
p_data_sizeFIXME DOC
p_tile_x0FIXME DOC
p_tile_y0FIXME DOC
p_tile_x1FIXME DOC
p_tile_y1FIXME DOC
p_nb_compsFIXME DOC
p_go_onFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_jp2::j2k, and opj_j2k_read_tile_header().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_set_decode_area (opj_jp2_tp_jp2,
opj_image_tp_image,
OPJ_INT32 p_start_x,
OPJ_INT32 p_start_y,
OPJ_INT32 p_end_x,
OPJ_INT32 p_end_y,
opj_event_mgr_tp_manager 
)
+
+ +

Sets the given area to be decoded.

+

This function should be called right after opj_read_header and before any tile header reading.

+
Parameters
+ + + + + + + + +
p_jp2the jpeg2000 codec.
p_imageFIXME DOC
p_start_xthe left position of the rectangle to decode (in image coordinates).
p_start_ythe up position of the rectangle to decode (in image coordinates).
p_end_xthe right position of the rectangle to decode (in image coordinates).
p_end_ythe bottom position of the rectangle to decode (in image coordinates).
p_managerthe user event manager
+
+
+
Returns
true if the area could be set.
+ +

References opj_jp2::j2k, and opj_j2k_set_decode_area().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_set_decoded_resolution_factor (opj_jp2_tp_jp2,
OPJ_UINT32 res_factor,
opj_event_mgr_tp_manager 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_jp2_setup_decoder (opj_jp2_tjp2,
opj_dparameters_tparameters 
)
+
+ +

Setup the decoder decoding parameters using user parameters.

+

Decoding parameters are returned in jp2->j2k->cp.

Parameters
+ + + +
jp2JP2 decompressor handle
parametersdecompression parameters
+
+
+ +

References opj_jp2::color, opj_dparameters::flags, opj_jp2::ignore_pclr_cmap_cdef, opj_jp2::j2k, opj_jp2_color::jp2_has_colr, OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG, and opj_j2k_setup_decoder().

+ +

Referenced by opj_create_decompress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_setup_encoder (opj_jp2_tjp2,
opj_cparameters_tparameters,
opj_image_timage,
opj_event_mgr_tp_manager 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_skip_jp2c (opj_jp2_tjp2,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_start_compress (opj_jp2_tjp2,
opj_stream_private_tstream,
opj_image_tp_image,
opj_event_mgr_tp_manager 
)
+
+ +

Starts a compression scheme, i.e.

+

validates the codec parameters, writes the header.

+
Parameters
+ + + + + +
jp2the jpeg2000 file codec.
streamthe stream object.
p_imageFIXME DOC
p_managerFIXME DOC
+
+
+
Returns
true if the codec is valid.
+ +

References opj_jp2::j2k, opj_jp2::m_procedure_list, opj_jp2::m_validation_list, OPJ_FALSE, opj_j2k_start_compress(), opj_jp2_exec(), opj_jp2_setup_encoding_validation(), and opj_jp2_setup_header_writing().

+ +

Referenced by opj_create_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
OPJ_BYTE * opj_jp2_write_bpcc (opj_jp2_tjp2,
OPJ_UINT32p_nb_bytes_written 
)
+
+static
+
+ +

Writes the Bit per Component box.

+
Parameters
+ + + +
jp2jpeg2000 file codec.
p_nb_bytes_writtenpointer to store the nb of bytes written by the function.
+
+
+
Returns
the data being copied.
+ +

References opj_jp2_comps::bpcc, opj_jp2::comps, JP2_BPCC, opj_jp2::numcomps, opj_calloc, and opj_write_bytes.

+ +

Referenced by opj_jp2_write_jp2h().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static OPJ_BYTE * opj_jp2_write_cdef (opj_jp2_tjp2,
OPJ_UINT32p_nb_bytes_written 
)
+
+static
+
+ +

Writes the Channel Definition box.

+
Parameters
+ + + +
jp2jpeg2000 file codec.
p_nb_bytes_writtenpointer to store the nb of bytes written by the function.
+
+
+
Returns
the data being copied.
+ +

References opj_jp2_cdef_info::asoc, opj_jp2_cdef_info::cn, opj_jp2::color, opj_jp2_cdef::info, JP2_CDEF, opj_jp2_color::jp2_cdef, opj_jp2_cdef::n, opj_malloc, opj_write_bytes, and opj_jp2_cdef_info::typ.

+ +

Referenced by opj_jp2_write_jp2h().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
OPJ_BYTE * opj_jp2_write_colr (opj_jp2_tjp2,
OPJ_UINT32p_nb_bytes_written 
)
+
+static
+
+ +

Writes the Colour Specification box.

+
Parameters
+ + + +
jp2jpeg2000 file codec.
p_nb_bytes_writtenpointer to store the nb of bytes written by the function.
+
+
+
Returns
the data being copied.
+ +

References opj_jp2::approx, opj_jp2::color, opj_jp2::enumcs, opj_jp2_color::icc_profile_buf, opj_jp2_color::icc_profile_len, JP2_COLR, opj_jp2::meth, opj_calloc, opj_write_bytes, and opj_jp2::precedence.

+ +

Referenced by opj_jp2_write_jp2h().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_write_ftyp (opj_jp2_tjp2,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes a FTYP box - File type box.

+
Parameters
+ + + + +
ciothe stream to write data to.
jp2the jpeg2000 file codec.
p_managerthe user event manager.
+
+
+
Returns
true if writing was successful.
+ +

References opj_jp2::brand, opj_jp2::cl, EVT_ERROR, JP2_FTYP, opj_jp2::minversion, opj_jp2::numcl, opj_calloc, opj_event_msg(), OPJ_FALSE, opj_free, opj_stream_write_data(), and opj_write_bytes.

+ +

Referenced by opj_jp2_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
OPJ_BYTE * opj_jp2_write_ihdr (opj_jp2_tjp2,
OPJ_UINT32p_nb_bytes_written 
)
+
+static
+
+ +

Writes the Image Header box - Image Header box.

+
Parameters
+ + + +
jp2jpeg2000 file codec.
p_nb_bytes_writtenpointer to store the nb of bytes written by the function.
+
+
+
Returns
the data being copied.
+ +

References opj_jp2::bpc, opj_jp2::C, opj_jp2::h, opj_jp2::IPR, JP2_IHDR, opj_jp2::numcomps, opj_calloc, opj_write_bytes, opj_jp2::UnkC, and opj_jp2::w.

+ +

Referenced by opj_jp2_write_jp2h().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_write_jp (opj_jp2_tjp2,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes a jpeg2000 file signature box.

+
Parameters
+ + + + +
ciothe stream to write data to.
jp2the jpeg2000 file codec.
p_managerthe user event manager.
+
+
+
Returns
true if writing was successful.
+ +

References JP2_JP, OPJ_FALSE, opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_jp2_setup_header_writing().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_write_jp2c (opj_jp2_tjp2,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Writes the Jpeg2000 codestream Header box - JP2C Header box.

+

This function must be called AFTER the coding has been done.

+
Parameters
+ + + + +
ciothe stream to write data to.
jp2the jpeg2000 file codec.
p_manageruser event manager.
+
+
+
Returns
true if writing was successful.
+ +

References EVT_ERROR, opj_jp2::j2k_codestream_offset, JP2_JP2C, opj_event_msg(), OPJ_FALSE, opj_stream_has_seek(), opj_stream_seek(), opj_stream_tell(), opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_jp2_setup_end_header_writing().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_write_jp2h (opj_jp2_tjp2,
opj_stream_private_tstream,
opj_event_mgr_tp_manager 
)
+
+ +

Writes the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box).

+
Parameters
+ + + + +
jp2the jpeg2000 file codec.
streamthe stream to write data to.
p_manageruser event manager.
+
+
+
Returns
true if writing was successful.
+ +

References opj_jp2::bpc, opj_jp2::color, EVT_ERROR, opj_jp2_img_header_writer_handler::handler, opj_jp2_color::jp2_cdef, JP2_JP2H, opj_jp2_img_header_writer_handler::m_data, opj_jp2_img_header_writer_handler::m_size, opj_event_msg(), OPJ_FALSE, opj_free, opj_jp2_write_bpcc(), opj_jp2_write_cdef(), opj_jp2_write_colr(), opj_jp2_write_ihdr(), opj_stream_write_data(), OPJ_TRUE, and opj_write_bytes.

+ +

Referenced by opj_jp2_setup_header_writing().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_write_tile (opj_jp2_tp_jp2,
OPJ_UINT32 p_tile_index,
OPJ_BYTEp_data,
OPJ_UINT32 p_data_size,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Writes a tile.

+
Parameters
+ + + + + + + +
p_jp2the jpeg2000 codec.
p_tile_indexFIXME DOC
p_dataFIXME DOC
p_data_sizeFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_jp2::j2k, and opj_j2k_write_tile().

+ +

Referenced by opj_create_compress().

+ +
+
+
+ + + + diff --git a/doxygen/group___m_c_t.html b/doxygen/group___m_c_t.html new file mode 100644 index 00000000..4f0edb4c --- /dev/null +++ b/doxygen/group___m_c_t.html @@ -0,0 +1,553 @@ + + + + + + +OpenJPEG: MCT - Implementation of a multi-component transform + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+
+
MCT - Implementation of a multi-component transform
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

void opj_mct_encode (OPJ_INT32 *c0, OPJ_INT32 *c1, OPJ_INT32 *c2, OPJ_UINT32 n)
 Apply a reversible multi-component transform to an image. More...
 
void opj_mct_decode (OPJ_INT32 *c0, OPJ_INT32 *c1, OPJ_INT32 *c2, OPJ_UINT32 n)
 Apply a reversible multi-component inverse transform to an image. More...
 
OPJ_FLOAT64 opj_mct_getnorm (OPJ_UINT32 compno)
 Get norm of the basis function used for the reversible multi-component transform. More...
 
void opj_mct_encode_real (OPJ_INT32 *c0, OPJ_INT32 *c1, OPJ_INT32 *c2, OPJ_UINT32 n)
 Apply an irreversible multi-component transform to an image. More...
 
void opj_mct_decode_real (OPJ_FLOAT32 *c0, OPJ_FLOAT32 *c1, OPJ_FLOAT32 *c2, OPJ_UINT32 n)
 Apply an irreversible multi-component inverse transform to an image. More...
 
OPJ_FLOAT64 opj_mct_getnorm_real (OPJ_UINT32 compno)
 Get norm of the basis function used for the irreversible multi-component transform. More...
 
OPJ_BOOL opj_mct_encode_custom (OPJ_BYTE *p_coding_data, OPJ_UINT32 n, OPJ_BYTE **p_data, OPJ_UINT32 p_nb_comp, OPJ_UINT32 is_signed)
 FIXME DOC. More...
 
OPJ_BOOL opj_mct_decode_custom (OPJ_BYTE *pDecodingData, OPJ_UINT32 n, OPJ_BYTE **pData, OPJ_UINT32 pNbComp, OPJ_UINT32 isSigned)
 FIXME DOC. More...
 
void opj_calculate_norms (OPJ_FLOAT64 *pNorms, OPJ_UINT32 p_nb_comps, OPJ_FLOAT32 *pMatrix)
 FIXME DOC. More...
 
const OPJ_FLOAT64opj_mct_get_mct_norms (void)
 FIXME DOC. More...
 
const OPJ_FLOAT64opj_mct_get_mct_norms_real (void)
 FIXME DOC. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_calculate_norms (OPJ_FLOAT64pNorms,
OPJ_UINT32 p_nb_comps,
OPJ_FLOAT32pMatrix 
)
+
+ +

FIXME DOC.

+
Parameters
+ + + + +
pNormsMCT data
p_nb_compssize of components
pMatrixcomponents
+
+
+
Returns
+ +

Referenced by opj_j2k_setup_encoder().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_mct_decode (OPJ_INT32c0,
OPJ_INT32c1,
OPJ_INT32c2,
OPJ_UINT32 n 
)
+
+ +

Apply a reversible multi-component inverse transform to an image.

+
Parameters
+ + + + + +
c0Samples for luminance component
c1Samples for red chrominance component
c2Samples for blue chrominance component
nNumber of samples for each component
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_mct_decode_custom (OPJ_BYTEpDecodingData,
OPJ_UINT32 n,
OPJ_BYTE ** pData,
OPJ_UINT32 pNbComp,
OPJ_UINT32 isSigned 
)
+
+ +

FIXME DOC.

+
Parameters
+ + + + + + +
pDecodingDataMCT data
nsize of components
pDatacomponents
pNbCompnb of components (i.e. size of p_data)
isSignedtells if the data is signed
+
+
+
Returns
OPJ_FALSE if function encounter a problem, OPJ_TRUE otherwise
+ +

References OPJ_ARG_NOT_USED, OPJ_FALSE, opj_free, opj_malloc, and OPJ_TRUE.

+ +

Referenced by opj_tcd_mct_decode().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_mct_decode_real (OPJ_FLOAT32c0,
OPJ_FLOAT32c1,
OPJ_FLOAT32c2,
OPJ_UINT32 n 
)
+
+ +

Apply an irreversible multi-component inverse transform to an image.

+
Parameters
+ + + + + +
c0Samples for luminance component
c1Samples for red chrominance component
c2Samples for blue chrominance component
nNumber of samples for each component
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_mct_encode (OPJ_INT32c0,
OPJ_INT32c1,
OPJ_INT32c2,
OPJ_UINT32 n 
)
+
+ +

Apply a reversible multi-component transform to an image.

+
Parameters
+ + + + + +
c0Samples for red component
c1Samples for green component
c2Samples blue component
nNumber of samples for each component
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_mct_encode_custom (OPJ_BYTEp_coding_data,
OPJ_UINT32 n,
OPJ_BYTE ** p_data,
OPJ_UINT32 p_nb_comp,
OPJ_UINT32 is_signed 
)
+
+ +

FIXME DOC.

+
Parameters
+ + + + + + +
p_coding_dataMCT data
nsize of components
p_datacomponents
p_nb_compnb of components (i.e. size of p_data)
is_signedtells if the data is signed
+
+
+
Returns
OPJ_FALSE if function encounter a problem, OPJ_TRUE otherwise
+ +

References OPJ_ARG_NOT_USED, OPJ_FALSE, opj_free, opj_int_fix_mul(), opj_malloc, and OPJ_TRUE.

+ +

Referenced by opj_tcd_mct_encode().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_mct_encode_real (OPJ_INT32c0,
OPJ_INT32c1,
OPJ_INT32c2,
OPJ_UINT32 n 
)
+
+ +

Apply an irreversible multi-component transform to an image.

+
Parameters
+ + + + + +
c0Samples for red component
c1Samples for green component
c2Samples blue component
nNumber of samples for each component
+
+
+ +
+
+ +
+
+ + + + + + + + +
const OPJ_FLOAT64* opj_mct_get_mct_norms (void )
+
+ +

FIXME DOC.

+ +

References opj_mct_norms.

+ +

Referenced by opj_tcd_t1_encode().

+ +
+
+ +
+
+ + + + + + + + +
const OPJ_FLOAT64* opj_mct_get_mct_norms_real (void )
+
+ +

FIXME DOC.

+ +

References opj_mct_norms_real.

+ +

Referenced by opj_tcd_t1_encode().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_FLOAT64 opj_mct_getnorm (OPJ_UINT32 compno)
+
+ +

Get norm of the basis function used for the reversible multi-component transform.

+
Parameters
+ + +
compnoNumber of the component (0->Y, 1->U, 2->V)
+
+
+
Returns
+ +

References opj_mct_norms.

+ +
+
+ +
+
+ + + + + + + + +
OPJ_FLOAT64 opj_mct_getnorm_real (OPJ_UINT32 compno)
+
+ +

Get norm of the basis function used for the irreversible multi-component transform.

+
Parameters
+ + +
compnoNumber of the component (0->Y, 1->U, 2->V)
+
+
+
Returns
+ +

References opj_mct_norms_real.

+ +
+
+
+ + + + diff --git a/doxygen/group___m_i_s_c.html b/doxygen/group___m_i_s_c.html new file mode 100644 index 00000000..a05be48a --- /dev/null +++ b/doxygen/group___m_i_s_c.html @@ -0,0 +1,354 @@ + + + + + + +OpenJPEG: MISC - Miscellaneous internal functions + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+
+
MISC - Miscellaneous internal functions
+
+
+ + + + + +

+Exported functions

OPJ_FLOAT64 opj_clock (void)
 Difference in successive opj_clock() calls tells you the elapsed time. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

void * memalign (size_t, size_t)
 
#define opj_malloc(size)   malloc(size)
 Allocate an uninitialized memory block. More...
 
#define opj_calloc(num, size)   calloc(num, size)
 Allocate a memory block with elements initialized to 0. More...
 
#define HAVE_MEMALIGN
 Allocate memory aligned to a 16 byte boundry. More...
 
#define opj_aligned_malloc(size)   malloc(size)
 
#define opj_aligned_malloc(size)   memalign(16, (size))
 
#define opj_aligned_free(m)   free(m)
 
#define opj_aligned_free(m)   free(m)
 
#define opj_realloc(m, s)   realloc(m, s)
 Reallocate memory blocks. More...
 
#define opj_free(m)   free(m)
 Deallocates or frees a memory block. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define HAVE_MEMALIGN
+
+ +

Allocate memory aligned to a 16 byte boundry.

+
Parameters
+ + +
sizeBytes to allocate
+
+
+
Returns
Returns a void pointer to the allocated space, or NULL if there is insufficient memory available
+ +
+
+ +
+
+ + + + + + + + +
#define opj_aligned_free( m)   free(m)
+
+
+ +
+
+ + + + + + + + +
#define opj_aligned_free( m)   free(m)
+
+ +
+
+ +
+
+ + + + + + + + +
#define opj_aligned_malloc( size)   malloc(size)
+
+
+ +
+
+ + + + + + + + +
#define opj_aligned_malloc( size)   memalign(16, (size))
+
+ +
+
+ + + +
+
+ + + + + + + + +
#define opj_free( m)   free(m)
+
+ +

Deallocates or frees a memory block.

+
Parameters
+ + +
mPreviously allocated memory block to be freed
+
+
+ +

Referenced by add_body_stream(), add_emptyboxstream(), add_emptytilestream(), add_EOC(), add_msgstream(), add_padding(), add_SOTmkr(), aux_streaming(), check_JP2boxidx(), delete_auxresponse(), delete_cachemodel(), delete_cachemodellist(), delete_channel(), delete_channellist(), delete_COD(), delete_index(), delete_message_in_msgqueue(), delete_msgqueue(), delete_query(), delete_session(), delete_sessionlist(), delete_target(), delete_targetlist(), destroy_jpipdecoder(), fread_jpip(), get_index_from_JP2file(), get_SIZ_from_jpipstream(), handle_CIDreqMSG(), handle_dstCIDreqMSG(), handle_JP2saveMSG(), handle_JPIPstreamMSG(), handle_PNMreqMSG(), handle_SIZreqMSG(), handle_TIDreqMSG(), handle_XMLreqMSG(), identify_cid(), j2k_destroy_cstr_index(), j2k_get_cstr_index(), j2k_read_ppm_v3(), jpipstream_to_pnm(), open_jp2file(), opj_alloc_tile_component_data(), opj_bio_destroy(), opj_copy_image_header(), opj_create_compress(), opj_create_decompress(), opj_destroy_codec(), opj_destroy_cstr_info(), opj_dwt_encode_procedure(), opj_image_destroy(), opj_j2k_add_mct(), opj_j2k_add_mhmarker(), opj_j2k_add_tlmarker(), opj_j2k_check_poc_val(), opj_j2k_cp_destroy(), opj_j2k_decode_one_tile(), opj_j2k_decode_tiles(), opj_j2k_destroy(), opj_j2k_destroy_header_memory(), opj_j2k_encode(), opj_j2k_end_encoding(), opj_j2k_get_tile(), opj_j2k_read_header_procedure(), opj_j2k_read_mcc(), opj_j2k_read_mco(), opj_j2k_read_mct(), opj_j2k_read_ppt(), opj_j2k_read_sod(), opj_j2k_read_sot(), opj_j2k_read_tile_header(), opj_j2k_setup_encoder(), opj_j2k_setup_mct_encoding(), opj_j2k_tcp_data_destroy(), opj_j2k_tcp_destroy(), opj_j2k_write_cbd(), opj_j2k_write_cod(), opj_j2k_write_com(), opj_j2k_write_mcc_record(), opj_j2k_write_mco(), opj_j2k_write_mct_record(), opj_j2k_write_poc(), opj_j2k_write_qcd(), opj_j2k_write_siz(), opj_j2k_write_tlm(), opj_jp2_apply_cdef(), opj_jp2_apply_pclr(), opj_jp2_check_color(), opj_jp2_destroy(), opj_jp2_free_pclr(), opj_jp2_read_cdef(), opj_jp2_read_header_procedure(), opj_jp2_read_pclr(), opj_jp2_write_ftyp(), opj_jp2_write_jp2h(), opj_matrix_inversion_f(), opj_mct_decode_custom(), opj_mct_encode_custom(), opj_mqc_destroy(), opj_mqc_init_dec(), opj_pi_create_decode(), opj_pi_destroy(), opj_pi_initialise_encode(), opj_procedure_list_add_procedure(), opj_procedure_list_create(), opj_procedure_list_destroy(), opj_raw_destroy(), opj_stream_create(), opj_stream_destroy(), opj_t1_destroy(), opj_t2_decode_packets(), opj_t2_destroy(), opj_t2_init_seg(), opj_t2_read_packet_data(), opj_tcd_code_block_dec_deallocate(), opj_tcd_code_block_enc_allocate_data(), opj_tcd_code_block_enc_deallocate(), opj_tcd_create(), opj_tcd_destroy(), opj_tcd_free_tile(), opj_tcd_init_tile(), opj_tcd_mct_decode(), opj_tcd_mct_encode(), opj_tgt_create(), opj_tgt_destroy(), opj_write_cidx(), opj_write_phix(), opj_write_ppix(), opj_write_thix(), parse_jp2file(), recons_jp2(), recv_ack(), set_cidxdata(), set_cptrdata(), set_mainmhixdata(), set_ppixdata(), set_thixdata(), set_tpixdata(), terminate_dec_server(), and update_JPIPstream().

+ +
+
+ +
+
+ + + + + + + + +
#define opj_malloc( size)   malloc(size)
+
+ +

Allocate an uninitialized memory block.

+
Parameters
+ + +
sizeBytes to allocate
+
+
+
Returns
Returns a void pointer to the allocated space, or NULL if there is insufficient memory available
+ +

Referenced by add_emptyboxstream(), add_emptytilestream(), add_EOC(), add_msgstream(), add_padding(), add_SOTmkr(), aux_streaming(), enqueue_mainheader(), enqueue_precinct(), enqueue_tile(), enqueue_tileheader(), fread_jpip(), gene_auxresponse(), gene_cachemodel(), gene_cachemodellist(), gene_channel(), gene_channellist(), gene_emptytilestream(), gene_metamsg(), gene_msgqueue(), gene_msgstream(), gene_session(), gene_sessionlist(), gene_target(), gene_targetlist(), get_CODmkrdata_from_j2kstream(), get_index_from_JP2file(), get_initquery(), get_SIZ_from_jpipstream(), handle_XMLreqMSG(), init_dec_server(), j2k_get_cstr_index(), open_jp2file(), opj_alloc_tile_component_data(), opj_bio_create(), opj_copy_image_header(), opj_dwt_encode_procedure(), opj_j2k_add_mct(), opj_j2k_copy_default_tcp_and_create_tcd(), opj_j2k_create_compress(), opj_j2k_decode_one_tile(), opj_j2k_decode_tiles(), opj_j2k_read_cod(), opj_j2k_read_mct(), opj_j2k_read_sod(), opj_j2k_setup_encoder(), opj_j2k_setup_mct_encoding(), opj_j2k_update_rates(), opj_jp2_apply_pclr(), opj_jp2_read_cdef(), opj_jp2_read_cmap(), opj_jp2_read_pclr(), opj_jp2_setup_encoder(), opj_jp2_write_cdef(), opj_matrix_inversion_f(), opj_mct_decode_custom(), opj_mct_encode_custom(), opj_mqc_create(), opj_pi_create_decode(), opj_pi_initialise_encode(), opj_raw_create(), opj_set_MCT(), opj_stream_create(), opj_t2_decode_packets(), opj_tcd_code_block_dec_allocate(), opj_tcd_code_block_enc_allocate_data(), opj_tcd_decode_tile(), opj_tcd_init_tile(), opj_tcd_mct_decode(), opj_tcd_mct_encode(), opj_tcd_rateallocate(), parse_jp2file(), parse_JPIPstream(), parse_phld(), set_CODmkrdata(), set_ppixdata(), set_thixdata(), and update_JPIPstream().

+ +
+
+ + +

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* memalign (size_t ,
size_t  
)
+
+ +
+
+ +
+
+ + + + + + + + +
OPJ_FLOAT64 opj_clock (void )
+
+ +

Difference in successive opj_clock() calls tells you the elapsed time.

+
Returns
Returns time in seconds
+ +
+
+
+ + + + diff --git a/doxygen/group___m_q_c.html b/doxygen/group___m_q_c.html new file mode 100644 index 00000000..fda633f7 --- /dev/null +++ b/doxygen/group___m_q_c.html @@ -0,0 +1,1158 @@ + + + + + + +OpenJPEG: MQC - Implementation of an MQ-Coder + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
MQC - Implementation of an MQ-Coder
+
+
+ + + + + + + + +

+Data Structures

struct  opj_mqc_state
 This struct defines the state of a context. More...
 
struct  opj_mqc
 MQ coder. More...
 
+ + + +

+Macros

#define MQC_NUMCTXS   19
 
+ + + + + + + +

+Typedefs

typedef struct opj_mqc_state opj_mqc_state_t
 This struct defines the state of a context. More...
 
typedef struct opj_mqc opj_mqc_t
 MQ coder. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Local static functions

static void opj_mqc_byteout (opj_mqc_t *mqc)
 Output a byte, doing bit-stuffing if necessary. More...
 
static void opj_mqc_renorme (opj_mqc_t *mqc)
 Renormalize mqc->a and mqc->c while encoding, so that mqc->a stays between 0x8000 and 0x10000. More...
 
static void opj_mqc_codemps (opj_mqc_t *mqc)
 Encode the most probable symbol. More...
 
static void opj_mqc_codelps (opj_mqc_t *mqc)
 Encode the most least symbol. More...
 
static void opj_mqc_setbits (opj_mqc_t *mqc)
 Fill mqc->c with 1's for flushing. More...
 
static INLINE OPJ_INT32 opj_mqc_mpsexchange (opj_mqc_t *const mqc)
 FIXME DOC. More...
 
static INLINE OPJ_INT32 opj_mqc_lpsexchange (opj_mqc_t *const mqc)
 FIXME DOC. More...
 
static INLINE void opj_mqc_bytein (opj_mqc_t *const mqc)
 Input a byte. More...
 
static INLINE void opj_mqc_renormd (opj_mqc_t *const mqc)
 Renormalize mqc->a and mqc->c while decoding. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

opj_mqc_topj_mqc_create (void)
 Create a new MQC handle. More...
 
void opj_mqc_destroy (opj_mqc_t *mqc)
 Destroy a previously created MQC handle. More...
 
OPJ_UINT32 opj_mqc_numbytes (opj_mqc_t *mqc)
 Return the number of bytes written/read since initialisation. More...
 
void opj_mqc_resetstates (opj_mqc_t *mqc)
 Reset the states of all the context of the coder/decoder (each context is set to a state where 0 and 1 are more or less equiprobable) More...
 
void opj_mqc_setstate (opj_mqc_t *mqc, OPJ_UINT32 ctxno, OPJ_UINT32 msb, OPJ_INT32 prob)
 Set the state of a particular context. More...
 
void opj_mqc_init_enc (opj_mqc_t *mqc, OPJ_BYTE *bp)
 Initialize the encoder. More...
 
void opj_mqc_encode (opj_mqc_t *mqc, OPJ_UINT32 d)
 Encode a symbol using the MQ-coder. More...
 
void opj_mqc_flush (opj_mqc_t *mqc)
 Flush the encoder, so that all remaining data is written. More...
 
void opj_mqc_bypass_init_enc (opj_mqc_t *mqc)
 BYPASS mode switch, initialization operation. More...
 
void opj_mqc_bypass_enc (opj_mqc_t *mqc, OPJ_UINT32 d)
 BYPASS mode switch, coding operation. More...
 
OPJ_UINT32 opj_mqc_bypass_flush_enc (opj_mqc_t *mqc)
 BYPASS mode switch, flush operation. More...
 
void opj_mqc_reset_enc (opj_mqc_t *mqc)
 RESET mode switch. More...
 
OPJ_UINT32 opj_mqc_restart_enc (opj_mqc_t *mqc)
 RESTART mode switch (TERMALL) More...
 
void opj_mqc_restart_init_enc (opj_mqc_t *mqc)
 RESTART mode switch (TERMALL) reinitialisation. More...
 
void opj_mqc_erterm_enc (opj_mqc_t *mqc)
 ERTERM mode switch (PTERM) More...
 
void opj_mqc_segmark_enc (opj_mqc_t *mqc)
 SEGMARK mode switch (SEGSYM) More...
 
OPJ_BOOL opj_mqc_init_dec (opj_mqc_t *mqc, OPJ_BYTE *bp, OPJ_UINT32 len)
 Initialize the decoder. More...
 
OPJ_INT32 opj_mqc_decode (opj_mqc_t *const mqc)
 Decode a symbol. More...
 
#define opj_mqc_setcurctx(mqc, ctxno)   (mqc)->curctx = &(mqc)->ctxs[(OPJ_UINT32)(ctxno)]
 Set the current context used for coding/decoding. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define MQC_NUMCTXS   19
+
+ +

Referenced by opj_mqc_resetstates().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define opj_mqc_setcurctx( mqc,
 ctxno 
)   (mqc)->curctx = &(mqc)->ctxs[(OPJ_UINT32)(ctxno)]
+
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_mqc_state opj_mqc_state_t
+
+ +

This struct defines the state of a context.

+ +
+
+ +
+
+ + + + +
typedef struct opj_mqc opj_mqc_t
+
+ +

MQ coder.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_mqc_bypass_enc (opj_mqc_tmqc,
OPJ_UINT32 d 
)
+
+ +

BYPASS mode switch, coding operation.

+

JPEG 2000 p 505.

Not fully implemented and tested !!

+
Parameters
+ + + +
mqcMQC handle
dThe symbol to be encoded (0 or 1)
+
+
+ +

References opj_mqc::bp, opj_mqc::c, and opj_mqc::ct.

+ +

Referenced by opj_t1_enc_refpass_step(), and opj_t1_enc_sigpass_step().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_mqc_bypass_flush_enc (opj_mqc_tmqc)
+
+ +

BYPASS mode switch, flush operation.

+

Not fully implemented and tested !!

+
Parameters
+ + +
mqcMQC handle
+
+
+
Returns
Returns 1 (always)
+ +

References opj_mqc::bp, opj_mqc::c, and opj_mqc::ct.

+ +
+
+ +
+
+ + + + + + + + +
void opj_mqc_bypass_init_enc (opj_mqc_tmqc)
+
+ +

BYPASS mode switch, initialization operation.

+

JPEG 2000 p 505.

Not fully implemented and tested !!

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::c, and opj_mqc::ct.

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static void opj_mqc_bytein (opj_mqc_t *const mqc)
+
+static
+
+ +

Input a byte.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::bp, opj_mqc::c, opj_mqc::ct, and opj_mqc::end.

+ +

Referenced by opj_mqc_init_dec(), and opj_mqc_renormd().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_mqc_byteout (opj_mqc_tmqc)
+
+static
+
+ +

Output a byte, doing bit-stuffing if necessary.

+

After a 0xff byte, the next byte must be smaller than 0x90.

Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::bp, opj_mqc::c, and opj_mqc::ct.

+ +

Referenced by opj_mqc_erterm_enc(), opj_mqc_flush(), opj_mqc_renorme(), and opj_mqc_restart_enc().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_mqc_codelps (opj_mqc_tmqc)
+
+static
+
+ +

Encode the most least symbol.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, and opj_mqc_renorme().

+ +

Referenced by opj_mqc_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_mqc_codemps (opj_mqc_tmqc)
+
+static
+
+ +

Encode the most probable symbol.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, and opj_mqc_renorme().

+ +

Referenced by opj_mqc_encode().

+ +
+
+ +
+
+ + + + + + + + +
opj_mqc_t* opj_mqc_create (void )
+
+ +

Create a new MQC handle.

+
Returns
Returns a new MQC handle if successful, returns NULL otherwise
+ +

References opj_malloc.

+ +

Referenced by opj_t1_create().

+ +
+
+ + + +
+
+ + + + + + + + +
void opj_mqc_destroy (opj_mqc_tmqc)
+
+ +

Destroy a previously created MQC handle.

+
Parameters
+ + +
mqcMQC handle to destroy
+
+
+ +

References opj_free.

+ +

Referenced by opj_t1_destroy().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_mqc_encode (opj_mqc_tmqc,
OPJ_UINT32 d 
)
+
+ +

Encode a symbol using the MQ-coder.

+
Parameters
+ + + +
mqcMQC handle
dThe symbol to be encoded (0 or 1)
+
+
+ +

References opj_mqc::curctx, opj_mqc_codelps(), and opj_mqc_codemps().

+ +

Referenced by opj_mqc_segmark_enc(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), and opj_t1_enc_sigpass_step().

+ +
+
+ +
+
+ + + + + + + + +
void opj_mqc_erterm_enc (opj_mqc_tmqc)
+
+ +

ERTERM mode switch (PTERM)

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::bp, opj_mqc::c, opj_mqc::ct, and opj_mqc_byteout().

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + + + + +
void opj_mqc_flush (opj_mqc_tmqc)
+
+ +

Flush the encoder, so that all remaining data is written.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::bp, opj_mqc::c, opj_mqc::ct, opj_mqc_byteout(), and opj_mqc_setbits().

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_mqc_init_dec (opj_mqc_tmqc,
OPJ_BYTEbp,
OPJ_UINT32 len 
)
+
+ +

Initialize the decoder.

+
Parameters
+ + + + +
mqcMQC handle
bpPointer to the start of the buffer from which the bytes will be read
lenLength of the input buffer
+
+
+ +

References opj_mqc::a, opj_mqc::bp, opj_mqc::c, opj_mqc::ct, opj_mqc::end, OPJ_FALSE, opj_free, opj_mqc_bytein(), opj_mqc_setcurctx, opj_realloc, OPJ_TRUE, and opj_mqc::start.

+ +

Referenced by opj_t1_decode_cblk().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_mqc_init_enc (opj_mqc_tmqc,
OPJ_BYTEbp 
)
+
+ +

Initialize the encoder.

+
Parameters
+ + + +
mqcMQC handle
bpPointer to the start of the buffer where the bytes will be written
+
+
+ +

References opj_mqc::a, opj_mqc::bp, opj_mqc::c, opj_mqc::ct, opj_mqc_setcurctx, and opj_mqc::start.

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static INLINE OPJ_INT32 opj_mqc_lpsexchange (opj_mqc_t *const mqc)
+
+static
+
+ +

FIXME DOC.

+
Parameters
+ + +
mqcMQC handle
+
+
+
Returns
+ +

References opj_mqc::a, and opj_mqc::curctx.

+ +

Referenced by opj_mqc_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static INLINE OPJ_INT32 opj_mqc_mpsexchange (opj_mqc_t *const mqc)
+
+static
+
+ +

FIXME DOC.

+
Parameters
+ + +
mqcMQC handle
+
+
+
Returns
+ +

References opj_mqc::a, opj_mqc::curctx, and opj_mqc_state::mps.

+ +

Referenced by opj_mqc_decode().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_mqc_numbytes (opj_mqc_tmqc)
+
+ +

Return the number of bytes written/read since initialisation.

+
Parameters
+ + +
mqcMQC handle
+
+
+
Returns
Returns the number of bytes already encoded
+ +

References opj_mqc::bp, and opj_mqc::start.

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static INLINE void opj_mqc_renormd (opj_mqc_t *const mqc)
+
+static
+
+ +

Renormalize mqc->a and mqc->c while decoding.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::a, opj_mqc::c, opj_mqc::ct, and opj_mqc_bytein().

+ +

Referenced by opj_mqc_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_mqc_renorme (opj_mqc_tmqc)
+
+static
+
+ +

Renormalize mqc->a and mqc->c while encoding, so that mqc->a stays between 0x8000 and 0x10000.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::a, opj_mqc::c, opj_mqc::ct, and opj_mqc_byteout().

+ +

Referenced by opj_mqc_codelps(), and opj_mqc_codemps().

+ +
+
+ +
+
+ + + + + + + + +
void opj_mqc_reset_enc (opj_mqc_tmqc)
+
+ +

RESET mode switch.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc_resetstates(), opj_mqc_setstate(), T1_CTXNO_AGG, T1_CTXNO_UNI, and T1_CTXNO_ZC.

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + + + + +
void opj_mqc_resetstates (opj_mqc_tmqc)
+
+ +

Reset the states of all the context of the coder/decoder (each context is set to a state where 0 and 1 are more or less equiprobable)

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::ctxs, MQC_NUMCTXS, and mqc_states.

+ +

Referenced by opj_mqc_reset_enc(), opj_t1_decode_cblk(), and opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_mqc_restart_enc (opj_mqc_tmqc)
+
+ +

RESTART mode switch (TERMALL)

+
Parameters
+ + +
mqcMQC handle
+
+
+
Returns
Returns 1 (always)
+ +

References opj_mqc::c, opj_mqc::ct, and opj_mqc_byteout().

+ +
+
+ +
+
+ + + + + + + + +
void opj_mqc_restart_init_enc (opj_mqc_tmqc)
+
+ +

RESTART mode switch (TERMALL) reinitialisation.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::a, opj_mqc::bp, opj_mqc::c, opj_mqc::ct, and opj_mqc_setcurctx.

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + + + + +
void opj_mqc_segmark_enc (opj_mqc_tmqc)
+
+ +

SEGMARK mode switch (SEGSYM)

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc_encode(), and opj_mqc_setcurctx.

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_mqc_setbits (opj_mqc_tmqc)
+
+static
+
+ +

Fill mqc->c with 1's for flushing.

+
Parameters
+ + +
mqcMQC handle
+
+
+ +

References opj_mqc::a, and opj_mqc::c.

+ +

Referenced by opj_mqc_flush().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_mqc_setstate (opj_mqc_tmqc,
OPJ_UINT32 ctxno,
OPJ_UINT32 msb,
OPJ_INT32 prob 
)
+
+ +

Set the state of a particular context.

+
Parameters
+ + + + + +
mqcMQC handle
ctxnoNumber that identifies the context
msbThe MSB of the new state of the context
probNumber that identifies the probability of the symbols for the new state of the context
+
+
+ +

References opj_mqc::ctxs.

+ +

Referenced by opj_mqc_reset_enc(), opj_t1_decode_cblk(), and opj_t1_encode_cblk().

+ +
+
+
+ + + + diff --git a/doxygen/group___o_p_j___i_n_t_m_a_t_h.html b/doxygen/group___o_p_j___i_n_t_m_a_t_h.html new file mode 100644 index 00000000..6283f718 --- /dev/null +++ b/doxygen/group___o_p_j___i_n_t_m_a_t_h.html @@ -0,0 +1,719 @@ + + + + + + +OpenJPEG: OPJ_INTMATH - Implementation of operations on integers + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+
+
OPJ_INTMATH - Implementation of operations on integers
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions (see also openjpeg.h)

static INLINE OPJ_INT32 opj_int_min (OPJ_INT32 a, OPJ_INT32 b)
 Get the minimum of two integers. More...
 
static INLINE OPJ_UINT32 opj_uint_min (OPJ_UINT32 a, OPJ_UINT32 b)
 Get the minimum of two integers. More...
 
static INLINE OPJ_INT32 opj_int_max (OPJ_INT32 a, OPJ_INT32 b)
 Get the maximum of two integers. More...
 
static INLINE OPJ_UINT32 opj_uint_max (OPJ_UINT32 a, OPJ_UINT32 b)
 Get the maximum of two integers. More...
 
static INLINE OPJ_UINT32 opj_uint_adds (OPJ_UINT32 a, OPJ_UINT32 b)
 Get the saturated sum of two unsigned integers. More...
 
static INLINE OPJ_INT32 opj_int_clamp (OPJ_INT32 a, OPJ_INT32 min, OPJ_INT32 max)
 Clamp an integer inside an interval. More...
 
static INLINE OPJ_INT32 opj_int_abs (OPJ_INT32 a)
 
static INLINE OPJ_INT32 opj_int_ceildiv (OPJ_INT32 a, OPJ_INT32 b)
 Divide an integer and round upwards. More...
 
static INLINE OPJ_UINT32 opj_uint_ceildiv (OPJ_UINT32 a, OPJ_UINT32 b)
 Divide an integer and round upwards. More...
 
static INLINE OPJ_INT32 opj_int_ceildivpow2 (OPJ_INT32 a, OPJ_INT32 b)
 Divide an integer by a power of 2 and round upwards. More...
 
static INLINE OPJ_UINT32 opj_uint_ceildivpow2 (OPJ_UINT32 a, OPJ_UINT32 b)
 Divide an integer by a power of 2 and round upwards. More...
 
static INLINE OPJ_INT32 opj_int_floordivpow2 (OPJ_INT32 a, OPJ_INT32 b)
 Divide an integer by a power of 2 and round downwards. More...
 
static INLINE OPJ_INT32 opj_int_floorlog2 (OPJ_INT32 a)
 Get logarithm of an integer and round downwards. More...
 
static INLINE OPJ_UINT32 opj_uint_floorlog2 (OPJ_UINT32 a)
 Get logarithm of an integer and round downwards. More...
 
static INLINE OPJ_INT32 opj_int_fix_mul (OPJ_INT32 a, OPJ_INT32 b)
 Multiply two fixed-precision rational numbers. More...
 
static INLINE OPJ_INT32 opj_int_fix_mul_t1 (OPJ_INT32 a, OPJ_INT32 b)
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
static INLINE OPJ_INT32 opj_int_abs (OPJ_INT32 a)
+
+static
+
+
Returns
Get absolute value of integer
+ +

Referenced by opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), and opj_t1_enc_sigpass_step().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_ceildiv (OPJ_INT32 a,
OPJ_INT32 b 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_ceildivpow2 (OPJ_INT32 a,
OPJ_INT32 b 
)
+
+static
+
+ +

Divide an integer by a power of 2 and round upwards.

+
Returns
Returns a divided by 2^b
+ +

Referenced by opj_get_all_encoding_parameters(), opj_get_encoding_parameters(), opj_j2k_get_tile(), opj_j2k_set_decode_area(), and opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_clamp (OPJ_INT32 a,
OPJ_INT32 min,
OPJ_INT32 max 
)
+
+static
+
+ +

Clamp an integer inside an interval.

+
Returns
    +
  • +Returns a if (min < a < max)
  • +
  • +Returns max if (a > max)
  • +
  • +Returns min if (a < min)
  • +
+
+ +

References max(), and min().

+ +

Referenced by opj_tcd_dc_level_shift_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_fix_mul (OPJ_INT32 a,
OPJ_INT32 b 
)
+
+static
+
+ +

Multiply two fixed-precision rational numbers.

+
Parameters
+ + + +
a
b
+
+
+
Returns
Returns a * b
+ +

Referenced by opj_dwt_encode_1_real(), opj_mct_encode_custom(), and opj_mct_encode_real().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_fix_mul_t1 (OPJ_INT32 a,
OPJ_INT32 b 
)
+
+static
+
+ +

References T1_NMSEDEC_FRACBITS.

+ +

Referenced by opj_t1_encode_cblks().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_floordivpow2 (OPJ_INT32 a,
OPJ_INT32 b 
)
+
+static
+
+ +

Divide an integer by a power of 2 and round downwards.

+
Returns
Returns a divided by 2^b
+ +

Referenced by opj_get_all_encoding_parameters(), opj_get_encoding_parameters(), opj_pi_next_cprl(), opj_pi_next_pcrl(), opj_pi_next_rpcl(), and opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static INLINE OPJ_INT32 opj_int_floorlog2 (OPJ_INT32 a)
+
+static
+
+ +

Get logarithm of an integer and round downwards.

+
Returns
Returns log2(a)
+ +

Referenced by opj_dwt_encode_stepsize(), opj_j2k_setup_encoder(), opj_t1_encode_cblk(), and opj_t2_encode_packet().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_max (OPJ_INT32 a,
OPJ_INT32 b 
)
+
+static
+
+ +

Get the maximum of two integers.

+
Returns
Returns a if a > b else b
+ +

Referenced by main(), opj_get_encoding_parameters(), opj_j2k_update_rates(), opj_t1_encode_cblk(), opj_t2_encode_packet(), and opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_INT32 opj_int_min (OPJ_INT32 a,
OPJ_INT32 b 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_UINT32 opj_uint_adds (OPJ_UINT32 a,
OPJ_UINT32 b 
)
+
+static
+
+ +

Get the saturated sum of two unsigned integers.

+
Returns
Returns saturated sum of a+b
+ +

Referenced by opj_get_all_encoding_parameters(), opj_image_comp_header_update(), and opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_UINT32 opj_uint_ceildiv (OPJ_UINT32 a,
OPJ_UINT32 b 
)
+
+static
+
+ +

Divide an integer and round upwards.

+
Returns
Returns a divided by b
+ +

Referenced by opj_image_comp_header_update(), and opj_j2k_update_rates().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_UINT32 opj_uint_ceildivpow2 (OPJ_UINT32 a,
OPJ_UINT32 b 
)
+
+static
+
+ +

Divide an integer by a power of 2 and round upwards.

+
Returns
Returns a divided by 2^b
+ +

Referenced by opj_image_comp_header_update(), and opj_j2k_update_image_data().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static INLINE OPJ_UINT32 opj_uint_floorlog2 (OPJ_UINT32 a)
+
+static
+
+ +

Get logarithm of an integer and round downwards.

+
Returns
Returns log2(a)
+ +

Referenced by opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_UINT32 opj_uint_max (OPJ_UINT32 a,
OPJ_UINT32 b 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static INLINE OPJ_UINT32 opj_uint_min (OPJ_UINT32 a,
OPJ_UINT32 b 
)
+
+static
+
+
+
+ + + + diff --git a/doxygen/group___p_i.html b/doxygen/group___p_i.html new file mode 100644 index 00000000..565ad669 --- /dev/null +++ b/doxygen/group___p_i.html @@ -0,0 +1,1314 @@ + + + + + + +OpenJPEG: PI - Implementation of a packet iterator + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
PI - Implementation of a packet iterator
+
+
+ + + + + + + + + + + +

+Data Structures

struct  opj_pi_resolution
 FIXME DOC. More...
 
struct  opj_pi_comp
 FIXME DOC. More...
 
struct  opj_pi_iterator
 Packet iterator. More...
 
+ + + + + + + + + + +

+Typedefs

typedef struct opj_pi_resolution opj_pi_resolution_t
 FIXME DOC. More...
 
typedef struct opj_pi_comp opj_pi_comp_t
 FIXME DOC. More...
 
typedef struct opj_pi_iterator opj_pi_iterator_t
 Packet iterator. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Local static functions

static OPJ_BOOL opj_pi_next_lrcp (opj_pi_iterator_t *pi)
 Get next packet in layer-resolution-component-precinct order. More...
 
static OPJ_BOOL opj_pi_next_rlcp (opj_pi_iterator_t *pi)
 Get next packet in resolution-layer-component-precinct order. More...
 
static OPJ_BOOL opj_pi_next_rpcl (opj_pi_iterator_t *pi)
 Get next packet in resolution-precinct-component-layer order. More...
 
static OPJ_BOOL opj_pi_next_pcrl (opj_pi_iterator_t *pi)
 Get next packet in precinct-component-resolution-layer order. More...
 
static OPJ_BOOL opj_pi_next_cprl (opj_pi_iterator_t *pi)
 Get next packet in component-precinct-resolution-layer order. More...
 
static void opj_pi_update_encode_poc_and_final (opj_cp_t *p_cp, OPJ_UINT32 p_tileno, OPJ_INT32 p_tx0, OPJ_INT32 p_tx1, OPJ_INT32 p_ty0, OPJ_INT32 p_ty1, OPJ_UINT32 p_max_prec, OPJ_UINT32 p_max_res, OPJ_UINT32 p_dx_min, OPJ_UINT32 p_dy_min)
 Updates the coding parameters if the encoding is used with Progression order changes and final (or cinema parameters are used). More...
 
static void opj_pi_update_encode_not_poc (opj_cp_t *p_cp, OPJ_UINT32 p_num_comps, OPJ_UINT32 p_tileno, OPJ_INT32 p_tx0, OPJ_INT32 p_tx1, OPJ_INT32 p_ty0, OPJ_INT32 p_ty1, OPJ_UINT32 p_max_prec, OPJ_UINT32 p_max_res, OPJ_UINT32 p_dx_min, OPJ_UINT32 p_dy_min)
 Updates the coding parameters if the encoding is not used with Progression order changes and final (and cinema parameters are used). More...
 
static void opj_get_encoding_parameters (const opj_image_t *p_image, const opj_cp_t *p_cp, OPJ_UINT32 tileno, OPJ_INT32 *p_tx0, OPJ_INT32 *p_tx1, OPJ_INT32 *p_ty0, OPJ_INT32 *p_ty1, OPJ_UINT32 *p_dx_min, OPJ_UINT32 *p_dy_min, OPJ_UINT32 *p_max_prec, OPJ_UINT32 *p_max_res)
 Gets the encoding parameters needed to update the coding parameters and all the pocs. More...
 
static void opj_get_all_encoding_parameters (const opj_image_t *p_image, const opj_cp_t *p_cp, OPJ_UINT32 tileno, OPJ_INT32 *p_tx0, OPJ_INT32 *p_tx1, OPJ_INT32 *p_ty0, OPJ_INT32 *p_ty1, OPJ_UINT32 *p_dx_min, OPJ_UINT32 *p_dy_min, OPJ_UINT32 *p_max_prec, OPJ_UINT32 *p_max_res, OPJ_UINT32 **p_resolutions)
 Gets the encoding parameters needed to update the coding parameters and all the pocs. More...
 
static opj_pi_iterator_topj_pi_create (const opj_image_t *p_image, const opj_cp_t *p_cp, OPJ_UINT32 tileno)
 Allocates memory for a packet iterator. More...
 
static void opj_pi_update_decode_not_poc (opj_pi_iterator_t *p_pi, opj_tcp_t *p_tcp, OPJ_UINT32 p_max_precision, OPJ_UINT32 p_max_res)
 FIXME DOC. More...
 
static void opj_pi_update_decode_poc (opj_pi_iterator_t *p_pi, opj_tcp_t *p_tcp, OPJ_UINT32 p_max_precision, OPJ_UINT32 p_max_res)
 FIXME DOC. More...
 
OPJ_BOOL opj_pi_check_next_level (OPJ_INT32 pos, opj_cp_t *cp, OPJ_UINT32 tileno, OPJ_UINT32 pino, const OPJ_CHAR *prog)
 FIXME DOC. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Exported functions

opj_pi_iterator_topj_pi_initialise_encode (const opj_image_t *image, opj_cp_t *cp, OPJ_UINT32 tileno, J2K_T2_MODE t2_mode)
 Creates a packet iterator for encoding. More...
 
void opj_pi_update_encoding_parameters (const opj_image_t *p_image, opj_cp_t *p_cp, OPJ_UINT32 p_tile_no)
 Updates the encoding parameters of the codec. More...
 
void opj_pi_create_encode (opj_pi_iterator_t *pi, opj_cp_t *cp, OPJ_UINT32 tileno, OPJ_UINT32 pino, OPJ_UINT32 tpnum, OPJ_INT32 tppos, J2K_T2_MODE t2_mode)
 Modify the packet iterator for enabling tile part generation. More...
 
opj_pi_iterator_topj_pi_create_decode (opj_image_t *image, opj_cp_t *cp, OPJ_UINT32 tileno)
 Create a packet iterator for Decoder. More...
 
void opj_pi_destroy (opj_pi_iterator_t *p_pi, OPJ_UINT32 p_nb_elements)
 Destroys a packet iterator array. More...
 
OPJ_BOOL opj_pi_next (opj_pi_iterator_t *pi)
 Modify the packet iterator to point to the next packet. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_pi_comp opj_pi_comp_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_pi_iterator opj_pi_iterator_t
+
+ +

Packet iterator.

+ +
+
+ +
+
+ + + + +
typedef struct opj_pi_resolution opj_pi_resolution_t
+
+ +

FIXME DOC.

+ +
+
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_get_all_encoding_parameters (const opj_image_tp_image,
const opj_cp_tp_cp,
OPJ_UINT32 tileno,
OPJ_INT32p_tx0,
OPJ_INT32p_tx1,
OPJ_INT32p_ty0,
OPJ_INT32p_ty1,
OPJ_UINT32p_dx_min,
OPJ_UINT32p_dy_min,
OPJ_UINT32p_max_prec,
OPJ_UINT32p_max_res,
OPJ_UINT32 ** p_resolutions 
)
+
+static
+
+ +

Gets the encoding parameters needed to update the coding parameters and all the pocs.

+

The precinct widths, heights, dx and dy for each component at each resolution will be stored as well. the last parameter of the function should be an array of pointers of size nb components, each pointer leading to an area of size 4 * max_res. The data is stored inside this area with the following pattern : dx_compi_res0 , dy_compi_res0 , w_compi_res0, h_compi_res0 , dx_compi_res1 , dy_compi_res1 , w_compi_res1, h_compi_res1 , ...

+
Parameters
+ + + + + + + + + + + + + +
p_imagethe image being encoded.
p_cpthe coding parameters.
tilenothe tile index of the tile being encoded.
p_tx0pointer that will hold the X0 parameter for the tile
p_tx1pointer that will hold the X1 parameter for the tile
p_ty0pointer that will hold the Y0 parameter for the tile
p_ty1pointer that will hold the Y1 parameter for the tile
p_max_precpointer that will hold the the maximum precision for all the bands of the tile
p_max_respointer that will hold the the maximum number of resolutions for all the poc inside the tile.
p_dx_minpointer that will hold the the minimum dx of all the components of all the resolutions for the tile.
p_dy_minpointer that will hold the the minimum dy of all the components of all the resolutions for the tile.
p_resolutionspointer to an area corresponding to the one described above.
+
+
+ +

References opj_image::comps, opj_image_comp::dx, opj_image_comp::dy, opj_image::numcomps, opj_tccp::numresolutions, opj_int_ceildiv(), opj_int_ceildivpow2(), opj_int_floordivpow2(), opj_int_min(), opj_uint_adds(), opj_uint_max(), opj_uint_min(), opj_tccp::prch, opj_tccp::prcw, opj_tcp::tccps, tcp, opj_cp::tcps, opj_cp::tdx, opj_cp::tdy, opj_cp::th, opj_cp::tw, opj_cp::tx0, opj_cp::ty0, opj_image::x0, opj_image::x1, opj_image::y0, and opj_image::y1.

+ +

Referenced by opj_pi_create_decode(), and opj_pi_initialise_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_get_encoding_parameters (const opj_image_tp_image,
const opj_cp_tp_cp,
OPJ_UINT32 tileno,
OPJ_INT32p_tx0,
OPJ_INT32p_tx1,
OPJ_INT32p_ty0,
OPJ_INT32p_ty1,
OPJ_UINT32p_dx_min,
OPJ_UINT32p_dy_min,
OPJ_UINT32p_max_prec,
OPJ_UINT32p_max_res 
)
+
+static
+
+ +

Gets the encoding parameters needed to update the coding parameters and all the pocs.

+
Parameters
+ + + + + + + + + + + + +
p_imagethe image being encoded.
p_cpthe coding parameters.
tilenothe tile index of the tile being encoded.
p_tx0pointer that will hold the X0 parameter for the tile
p_tx1pointer that will hold the X1 parameter for the tile
p_ty0pointer that will hold the Y0 parameter for the tile
p_ty1pointer that will hold the Y1 parameter for the tile
p_max_precpointer that will hold the the maximum precision for all the bands of the tile
p_max_respointer that will hold the the maximum number of resolutions for all the poc inside the tile.
p_dx_minpointer that will hold the the minimum dx of all the components of all the resolutions for the tile.
p_dy_minpointer that will hold the the minimum dy of all the components of all the resolutions for the tile.
+
+
+ +

References opj_image::comps, opj_image_comp::dx, opj_image_comp::dy, opj_image::numcomps, opj_tccp::numresolutions, opj_int_ceildiv(), opj_int_ceildivpow2(), opj_int_floordivpow2(), opj_int_max(), opj_int_min(), opj_uint_min(), opj_tccp::prch, opj_tccp::prcw, opj_tcp::tccps, opj_cp::tcps, opj_cp::tdx, opj_cp::tdy, opj_cp::th, opj_cp::tw, opj_cp::tx0, opj_cp::ty0, opj_image::x0, opj_image::x1, opj_image::y0, and opj_image::y1.

+ +

Referenced by opj_pi_update_encoding_parameters().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_pi_check_next_level (OPJ_INT32 pos,
opj_cp_tcp,
OPJ_UINT32 tileno,
OPJ_UINT32 pino,
const OPJ_CHARprog 
)
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
opj_pi_iterator_t * opj_pi_create (const opj_image_tp_image,
const opj_cp_tp_cp,
OPJ_UINT32 tileno 
)
+
+static
+
+ +

Allocates memory for a packet iterator.

+

Data and data sizes are set by this operation. No other data is set. The include section of the packet iterator is not allocated.

+
Parameters
+ + + + +
p_imagethe image used to initialize the packet iterator (in fact only the number of components is relevant.
p_cpthe coding parameters.
tilenothe index of the tile from which creating the packet iterator.
+
+
+ +

References opj_pi_iterator::comps, opj_pi_iterator::numcomps, opj_image::numcomps, opj_tcp::numpocs, opj_pi_comp::numresolutions, opj_tccp::numresolutions, opj_calloc, opj_pi_destroy(), opj_pi_comp::resolutions, opj_tcp::tccps, tcp, opj_cp::tcps, and opj_cp::th.

+ +

Referenced by opj_pi_create_decode(), and opj_pi_initialise_encode().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_pi_create_encode (opj_pi_iterator_tpi,
opj_cp_tcp,
OPJ_UINT32 tileno,
OPJ_UINT32 pino,
OPJ_UINT32 tpnum,
OPJ_INT32 tppos,
J2K_T2_MODE t2_mode 
)
+
+ +

Modify the packet iterator for enabling tile part generation.

+
Parameters
+ + + + + + + + +
piHandle to the packet iterator generated in pi_initialise_encode
cpCoding parameters
tilenoNumber that identifies the tile for which to list the packets
pinoFIXME DOC
tpnumTile part number of the current tile
tpposThe position of the tile part flag in the progression order
t2_modeFIXME DOC
+
+
+ +

References opj_poc::comp_t, opj_poc::compE, opj_poc::compno0, opj_poc::compno1, opj_poc::compS, opj_poc::dx, opj_poc::dy, FINAL_PASS, opj_pi_iterator::first, opj_poc::lay_t, opj_poc::layE, opj_poc::layno0, opj_poc::layno1, opj_poc::layS, opj_cp::m_enc, opj_cp::m_specific_param, opj_encoding_param::m_tp_on, OPJ_IS_CINEMA, opj_j2k_convert_progression_order(), OPJ_LRCP, opj_pi_check_next_level(), OPJ_RLCP, opj_pi_iterator::poc, opj_tcp::pocs, opj_poc::prc_t, opj_poc::prcE, opj_poc::prcS, opj_poc::precno0, opj_poc::precno1, opj_poc::prg, opj_poc::res_t, opj_poc::resE, opj_poc::resno0, opj_poc::resno1, opj_poc::resS, opj_cp::rsiz, tcp, opj_cp::tcps, opj_poc::tx0, opj_poc::tx0_t, opj_pi_iterator::tx1, opj_poc::tx1, opj_poc::txE, opj_poc::txS, opj_poc::ty0, opj_poc::ty0_t, opj_pi_iterator::ty1, opj_poc::ty1, opj_poc::tyE, and opj_poc::tyS.

+ +

Referenced by opj_t2_encode_packets().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void opj_pi_destroy (opj_pi_iterator_tp_pi,
OPJ_UINT32 p_nb_elements 
)
+
+ +

Destroys a packet iterator array.

+
Parameters
+ + + +
p_pithe packet iterator array to destroy.
p_nb_elementsthe number of elements in the array.
+
+
+ +

References opj_pi_iterator::comps, opj_pi_iterator::include, opj_pi_iterator::numcomps, opj_free, and opj_pi_comp::resolutions.

+ +

Referenced by opj_pi_create(), opj_pi_create_decode(), opj_pi_initialise_encode(), opj_t2_decode_packets(), and opj_t2_encode_packets().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
opj_pi_iterator_t* opj_pi_initialise_encode (const opj_image_timage,
opj_cp_tcp,
OPJ_UINT32 tileno,
J2K_T2_MODE t2_mode 
)
+
+
+ +
+
+ + + + + + + + +
OPJ_BOOL opj_pi_next (opj_pi_iterator_tpi)
+
+ +

Modify the packet iterator to point to the next packet.

+
Parameters
+ + +
piPacket iterator to modify
+
+
+
Returns
Returns false if pi pointed to the last packet or else returns true
+ +

References OPJ_CPRL, OPJ_FALSE, OPJ_LRCP, OPJ_PCRL, opj_pi_next_cprl(), opj_pi_next_lrcp(), opj_pi_next_pcrl(), opj_pi_next_rlcp(), opj_pi_next_rpcl(), OPJ_PROG_UNKNOWN, OPJ_RLCP, OPJ_RPCL, opj_pi_iterator::poc, and opj_poc::prg.

+ +

Referenced by opj_t2_decode_packets(), and opj_t2_encode_packets().

+ +
+
+ + + + + + + + + + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_pi_update_decode_not_poc (opj_pi_iterator_tp_pi,
opj_tcp_tp_tcp,
OPJ_UINT32 p_max_precision,
OPJ_UINT32 p_max_res 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_pi_update_decode_poc (opj_pi_iterator_tp_pi,
opj_tcp_tp_tcp,
OPJ_UINT32 p_max_precision,
OPJ_UINT32 p_max_res 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_pi_update_encode_not_poc (opj_cp_tp_cp,
OPJ_UINT32 p_num_comps,
OPJ_UINT32 p_tileno,
OPJ_INT32 p_tx0,
OPJ_INT32 p_tx1,
OPJ_INT32 p_ty0,
OPJ_INT32 p_ty1,
OPJ_UINT32 p_max_prec,
OPJ_UINT32 p_max_res,
OPJ_UINT32 p_dx_min,
OPJ_UINT32 p_dy_min 
)
+
+static
+
+ +

Updates the coding parameters if the encoding is not used with Progression order changes and final (and cinema parameters are used).

+
Parameters
+ + + + + + + + + + + + +
p_cpthe coding parameters to modify
p_num_compsthe number of components
p_tilenothe tile index being concerned.
p_tx0X0 parameter for the tile
p_tx1X1 parameter for the tile
p_ty0Y0 parameter for the tile
p_ty1Y1 parameter for the tile
p_max_precthe maximum precision for all the bands of the tile
p_max_resthe maximum number of resolutions for all the poc inside the tile.
p_dx_minthe minimum dx of all the components of all the resolutions for the tile.
p_dy_minthe minimum dy of all the components of all the resolutions for the tile.
+
+
+ +

References opj_poc::compE, opj_poc::compS, opj_poc::dx, opj_poc::dy, opj_poc::layE, opj_poc::layS, opj_tcp::numlayers, opj_tcp::numpocs, opj_tcp::pocs, opj_poc::prcE, opj_poc::prcS, opj_tcp::prg, opj_poc::prg, opj_poc::resE, opj_poc::resS, opj_cp::tcps, opj_cp::th, opj_poc::txE, opj_poc::txS, opj_poc::tyE, and opj_poc::tyS.

+ +

Referenced by opj_pi_initialise_encode(), and opj_pi_update_encoding_parameters().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_pi_update_encode_poc_and_final (opj_cp_tp_cp,
OPJ_UINT32 p_tileno,
OPJ_INT32 p_tx0,
OPJ_INT32 p_tx1,
OPJ_INT32 p_ty0,
OPJ_INT32 p_ty1,
OPJ_UINT32 p_max_prec,
OPJ_UINT32 p_max_res,
OPJ_UINT32 p_dx_min,
OPJ_UINT32 p_dy_min 
)
+
+static
+
+ +

Updates the coding parameters if the encoding is used with Progression order changes and final (or cinema parameters are used).

+
Parameters
+ + + + + + + + + + + +
p_cpthe coding parameters to modify
p_tilenothe tile index being concerned.
p_tx0X0 parameter for the tile
p_tx1X1 parameter for the tile
p_ty0Y0 parameter for the tile
p_ty1Y1 parameter for the tile
p_max_precthe maximum precision for all the bands of the tile
p_max_resthe maximum number of resolutions for all the poc inside the tile.
p_dx_minthe minimum dx of all the components of all the resolutions for the tile.
p_dy_minthe minimum dy of all the components of all the resolutions for the tile.
+
+
+ +

References opj_poc::compE, opj_poc::compno0, opj_poc::compno1, opj_poc::compS, opj_poc::dx, opj_poc::dy, opj_poc::layE, opj_poc::layno1, opj_poc::layS, opj_tcp::numpocs, OPJ_ARG_NOT_USED, opj_tcp::pocs, opj_poc::prcE, opj_poc::prcS, opj_poc::prg, opj_poc::prg1, opj_poc::resE, opj_poc::resno0, opj_poc::resno1, opj_poc::resS, opj_cp::tcps, opj_cp::th, opj_poc::txE, opj_poc::txS, opj_poc::tyE, and opj_poc::tyS.

+ +

Referenced by opj_pi_initialise_encode(), and opj_pi_update_encoding_parameters().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_pi_update_encoding_parameters (const opj_image_tp_image,
opj_cp_tp_cp,
OPJ_UINT32 p_tile_no 
)
+
+ +

Updates the encoding parameters of the codec.

+
Parameters
+ + + + +
p_imagethe image being encoded.
p_cpthe coding parameters.
p_tile_noindex of the tile being encoded.
+
+
+ +

References opj_image::numcomps, opj_get_encoding_parameters(), opj_pi_update_encode_not_poc(), opj_pi_update_encode_poc_and_final(), opj_tcp::POC, opj_cp::tcps, and opj_cp::th.

+ +

Referenced by opj_j2k_calculate_tp().

+ +
+
+
+ + + + diff --git a/doxygen/group___r_a_w.html b/doxygen/group___r_a_w.html new file mode 100644 index 00000000..c7e2bcee --- /dev/null +++ b/doxygen/group___r_a_w.html @@ -0,0 +1,257 @@ + + + + + + +OpenJPEG: RAW - Implementation of operations for raw encoding + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
RAW - Implementation of operations for raw encoding
+
+
+ + + + + +

+Data Structures

struct  opj_raw
 RAW encoding operations. More...
 
+ + + + +

+Typedefs

typedef struct opj_raw opj_raw_t
 RAW encoding operations. More...
 
+ + + + + + + + + + + + + + + + +

+Exported functions

opj_raw_topj_raw_create (void)
 Create a new RAW handle. More...
 
void opj_raw_destroy (opj_raw_t *raw)
 Destroy a previously created RAW handle. More...
 
OPJ_UINT32 opj_raw_numbytes (opj_raw_t *raw)
 Return the number of bytes written/read since initialisation. More...
 
void opj_raw_init_dec (opj_raw_t *raw, OPJ_BYTE *bp, OPJ_UINT32 len)
 Initialize the decoder. More...
 
OPJ_UINT32 opj_raw_decode (opj_raw_t *raw)
 Decode a symbol using raw-decoder. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_raw opj_raw_t
+
+ +

RAW encoding operations.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
opj_raw_t* opj_raw_create (void )
+
+ +

Create a new RAW handle.

+
Returns
Returns a new RAW handle if successful, returns NULL otherwise
+ +

References opj_malloc.

+ +

Referenced by opj_t1_create().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_raw_decode (opj_raw_traw)
+
+ +

Decode a symbol using raw-decoder.

+

Cfr p.506 TAUBMAN

Parameters
+ + +
rawRAW handle
+
+
+
Returns
Returns the decoded symbol (0 or 1)
+ +

References opj_raw::c, opj_raw::ct, opj_raw::len, opj_raw::lenmax, and opj_raw::start.

+ +

Referenced by opj_t1_dec_refpass_step_raw(), and opj_t1_dec_sigpass_step_raw().

+ +
+
+ +
+
+ + + + + + + + +
void opj_raw_destroy (opj_raw_traw)
+
+ +

Destroy a previously created RAW handle.

+
Parameters
+ + +
rawRAW handle to destroy
+
+
+ +

References opj_free.

+ +

Referenced by opj_t1_destroy().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_raw_init_dec (opj_raw_traw,
OPJ_BYTEbp,
OPJ_UINT32 len 
)
+
+ +

Initialize the decoder.

+
Parameters
+ + + + +
rawRAW handle
bpPointer to the start of the buffer from which the bytes will be read
lenLength of the input buffer
+
+
+ +

References opj_raw::c, opj_raw::ct, opj_raw::len, opj_raw::lenmax, and opj_raw::start.

+ +

Referenced by opj_t1_decode_cblk().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_raw_numbytes (opj_raw_traw)
+
+ +

Return the number of bytes written/read since initialisation.

+
Parameters
+ + +
rawRAW handle to destroy
+
+
+
Returns
Returns the number of bytes already encoded
+ +

References opj_raw::bp, and opj_raw::start.

+ +
+
+
+ + + + diff --git a/doxygen/group___t1.html b/doxygen/group___t1.html new file mode 100644 index 00000000..04a7baf0 --- /dev/null +++ b/doxygen/group___t1.html @@ -0,0 +1,2751 @@ + + + + + + +OpenJPEG: T1 - Implementation of the tier-1 coding + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
T1 - Implementation of the tier-1 coding
+
+
+ + + + + +

+Data Structures

struct  opj_t1
 Tier-1 coding (coding of code-block coefficients) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define T1_NMSEDEC_BITS   7
 
#define T1_SIG_NE   0x0001
 Context orientation : North-East direction. More...
 
#define T1_SIG_SE   0x0002
 Context orientation : South-East direction. More...
 
#define T1_SIG_SW   0x0004
 Context orientation : South-West direction. More...
 
#define T1_SIG_NW   0x0008
 Context orientation : North-West direction. More...
 
#define T1_SIG_N   0x0010
 Context orientation : North direction. More...
 
#define T1_SIG_E   0x0020
 Context orientation : East direction. More...
 
#define T1_SIG_S   0x0040
 Context orientation : South direction. More...
 
#define T1_SIG_W   0x0080
 Context orientation : West direction. More...
 
#define T1_SIG_OTH   (T1_SIG_N|T1_SIG_NE|T1_SIG_E|T1_SIG_SE|T1_SIG_S|T1_SIG_SW|T1_SIG_W|T1_SIG_NW)
 
#define T1_SIG_PRIM   (T1_SIG_N|T1_SIG_E|T1_SIG_S|T1_SIG_W)
 
#define T1_SGN_N   0x0100
 
#define T1_SGN_E   0x0200
 
#define T1_SGN_S   0x0400
 
#define T1_SGN_W   0x0800
 
#define T1_SGN   (T1_SGN_N|T1_SGN_E|T1_SGN_S|T1_SGN_W)
 
#define T1_SIG   0x1000
 
#define T1_REFINE   0x2000
 
#define T1_VISIT   0x4000
 
#define T1_NUMCTXS_ZC   9
 
#define T1_NUMCTXS_SC   5
 
#define T1_NUMCTXS_MAG   3
 
#define T1_NUMCTXS_AGG   1
 
#define T1_NUMCTXS_UNI   1
 
#define T1_CTXNO_ZC   0
 
#define T1_CTXNO_SC   (T1_CTXNO_ZC+T1_NUMCTXS_ZC)
 
#define T1_CTXNO_MAG   (T1_CTXNO_SC+T1_NUMCTXS_SC)
 
#define T1_CTXNO_AGG   (T1_CTXNO_MAG+T1_NUMCTXS_MAG)
 
#define T1_CTXNO_UNI   (T1_CTXNO_AGG+T1_NUMCTXS_AGG)
 
#define T1_NUMCTXS   (T1_CTXNO_UNI+T1_NUMCTXS_UNI)
 
#define T1_NMSEDEC_FRACBITS   (T1_NMSEDEC_BITS-1)
 
#define T1_TYPE_MQ   0
 Normal coding using entropy coder. More...
 
#define T1_TYPE_RAW   1
 No encoding the information is store under raw format in codestream (mode switch RAW) More...
 
#define MACRO_t1_flags(x, y)   t1->flags[((x)*(t1->flags_stride))+(y)]
 
+ + + + + + +

+Typedefs

typedef OPJ_INT16 opj_flag_t
 
typedef struct opj_t1 opj_t1_t
 Tier-1 coding (coding of code-block coefficients) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Local static functions

static INLINE OPJ_BYTE opj_t1_getctxno_zc (OPJ_UINT32 f, OPJ_UINT32 orient)
 
static OPJ_BYTE opj_t1_getctxno_sc (OPJ_UINT32 f)
 
static INLINE OPJ_UINT32 opj_t1_getctxno_mag (OPJ_UINT32 f)
 
static OPJ_BYTE opj_t1_getspb (OPJ_UINT32 f)
 
static OPJ_INT16 opj_t1_getnmsedec_sig (OPJ_UINT32 x, OPJ_UINT32 bitpos)
 
static OPJ_INT16 opj_t1_getnmsedec_ref (OPJ_UINT32 x, OPJ_UINT32 bitpos)
 
static void opj_t1_updateflags (opj_flag_t *flagsp, OPJ_UINT32 s, OPJ_UINT32 stride)
 
static void opj_t1_enc_sigpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_UINT32 orient, OPJ_INT32 bpno, OPJ_INT32 one, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 vsc)
 Encode significant pass. More...
 
static INLINE void opj_t1_dec_sigpass_step_raw (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf, OPJ_INT32 vsc)
 Decode significant pass. More...
 
static INLINE void opj_t1_dec_sigpass_step_mqc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf)
 
static INLINE void opj_t1_dec_sigpass_step_mqc_vsc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf, OPJ_INT32 vsc)
 
static void opj_t1_enc_sigpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_UINT32 orient, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 cblksty)
 Encode significant pass. More...
 
static void opj_t1_dec_sigpass_raw (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient, OPJ_INT32 cblksty)
 Decode significant pass. More...
 
static void opj_t1_dec_sigpass_mqc (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient)
 
static void opj_t1_dec_sigpass_mqc_vsc (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient)
 
static void opj_t1_enc_refpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 bpno, OPJ_INT32 one, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 vsc)
 Encode refinement pass. More...
 
static void opj_t1_enc_refpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 cblksty)
 Encode refinement pass. More...
 
static void opj_t1_dec_refpass_raw (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 cblksty)
 Decode refinement pass. More...
 
static void opj_t1_dec_refpass_mqc (opj_t1_t *t1, OPJ_INT32 bpno)
 
static void opj_t1_dec_refpass_mqc_vsc (opj_t1_t *t1, OPJ_INT32 bpno)
 
static INLINE void opj_t1_dec_refpass_step_raw (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 poshalf, OPJ_INT32 neghalf, OPJ_INT32 vsc)
 Decode refinement pass. More...
 
static INLINE void opj_t1_dec_refpass_step_mqc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 poshalf, OPJ_INT32 neghalf)
 
static INLINE void opj_t1_dec_refpass_step_mqc_vsc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 poshalf, OPJ_INT32 neghalf, OPJ_INT32 vsc)
 
static void opj_t1_enc_clnpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_UINT32 orient, OPJ_INT32 bpno, OPJ_INT32 one, OPJ_INT32 *nmsedec, OPJ_UINT32 partial, OPJ_UINT32 vsc)
 Encode clean-up pass. More...
 
static void opj_t1_dec_clnpass_step_partial (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf)
 Decode clean-up pass. More...
 
static void opj_t1_dec_clnpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf)
 
static void opj_t1_dec_clnpass_step_vsc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf, OPJ_INT32 partial, OPJ_INT32 vsc)
 
static void opj_t1_enc_clnpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_UINT32 orient, OPJ_INT32 *nmsedec, OPJ_UINT32 cblksty)
 Encode clean-up pass. More...
 
static void opj_t1_dec_clnpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient, OPJ_INT32 cblksty)
 Decode clean-up pass. More...
 
static OPJ_FLOAT64 opj_t1_getwmsedec (OPJ_INT32 nmsedec, OPJ_UINT32 compno, OPJ_UINT32 level, OPJ_UINT32 orient, OPJ_INT32 bpno, OPJ_UINT32 qmfbid, OPJ_FLOAT64 stepsize, OPJ_UINT32 numcomps, const OPJ_FLOAT64 *mct_norms, OPJ_UINT32 mct_numcomps)
 mod fixed_quality More...
 
static void opj_t1_encode_cblk (opj_t1_t *t1, opj_tcd_cblk_enc_t *cblk, OPJ_UINT32 orient, OPJ_UINT32 compno, OPJ_UINT32 level, OPJ_UINT32 qmfbid, OPJ_FLOAT64 stepsize, OPJ_UINT32 cblksty, OPJ_UINT32 numcomps, opj_tcd_tile_t *tile, const OPJ_FLOAT64 *mct_norms, OPJ_UINT32 mct_numcomps)
 mod fixed_quality More...
 
static OPJ_BOOL opj_t1_decode_cblk (opj_t1_t *t1, opj_tcd_cblk_dec_t *cblk, OPJ_UINT32 orient, OPJ_UINT32 roishift, OPJ_UINT32 cblksty)
 Decode 1 code-block. More...
 
OPJ_BOOL opj_t1_allocate_buffers (opj_t1_t *t1, OPJ_UINT32 w, OPJ_UINT32 h)
 
+ + + + + + + + + + + + + +

+Exported functions

OPJ_BOOL opj_t1_encode_cblks (opj_t1_t *t1, opj_tcd_tile_t *tile, opj_tcp_t *tcp, const OPJ_FLOAT64 *mct_norms, OPJ_UINT32 mct_numcomps)
 Encode the code-blocks of a tile. More...
 
OPJ_BOOL opj_t1_decode_cblks (opj_t1_t *t1, opj_tcd_tilecomp_t *tilec, opj_tccp_t *tccp)
 Decode the code-blocks of a tile. More...
 
opj_t1_topj_t1_create (OPJ_BOOL isEncoder)
 Creates a new Tier 1 handle and initializes the look-up tables of the Tier-1 coder/decoder. More...
 
void opj_t1_destroy (opj_t1_t *p_t1)
 Destroys a previously created T1 handle. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define MACRO_t1_flags( x,
 
)   t1->flags[((x)*(t1->flags_stride))+(y)]
+
+ +

Referenced by opj_t1_dec_clnpass(), and opj_t1_enc_clnpass().

+ +
+
+ + + +
+
+ + + + +
#define T1_CTXNO_MAG   (T1_CTXNO_SC+T1_NUMCTXS_SC)
+
+ +

Referenced by opj_t1_getctxno_mag().

+ +
+
+ +
+
+ + + + +
#define T1_CTXNO_SC   (T1_CTXNO_ZC+T1_NUMCTXS_ZC)
+
+ +

Referenced by t1_init_ctxno_sc().

+ +
+
+ + + +
+
+ + + + +
#define T1_CTXNO_ZC   0
+
+
+ +
+
+ + + + +
#define T1_NMSEDEC_BITS   7
+
+
+ + + +
+
+ + + + +
#define T1_NUMCTXS   (T1_CTXNO_UNI+T1_NUMCTXS_UNI)
+
+ +
+
+ +
+
+ + + + +
#define T1_NUMCTXS_AGG   1
+
+ +
+
+ +
+
+ + + + +
#define T1_NUMCTXS_MAG   3
+
+ +
+
+ +
+
+ + + + +
#define T1_NUMCTXS_SC   5
+
+ +
+
+ +
+
+ + + + +
#define T1_NUMCTXS_UNI   1
+
+ +
+
+ +
+
+ + + + +
#define T1_NUMCTXS_ZC   9
+
+ +
+
+ + + +
+
+ + + + +
#define T1_SGN   (T1_SGN_N|T1_SGN_E|T1_SGN_S|T1_SGN_W)
+
+ +

Referenced by opj_t1_getctxno_sc(), and opj_t1_getspb().

+ +
+
+ +
+
+ + + + +
#define T1_SGN_E   0x0200
+
+
+ +
+
+ + + + +
#define T1_SGN_N   0x0100
+
+
+ + + +
+
+ + + + +
#define T1_SGN_W   0x0800
+
+
+ + + +
+
+ + + + +
#define T1_SIG_E   0x0020
+
+ +

Context orientation : East direction.

+ +

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), and t1_init_spb().

+ +
+
+ +
+
+ + + + +
#define T1_SIG_N   0x0010
+
+ +

Context orientation : North direction.

+ +

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), and t1_init_spb().

+ +
+
+ +
+
+ + + + +
#define T1_SIG_NE   0x0001
+
+ +

Context orientation : North-East direction.

+ +

Referenced by opj_t1_updateflags(), and t1_init_ctxno_zc().

+ +
+
+ +
+
+ + + + +
#define T1_SIG_NW   0x0008
+
+ +

Context orientation : North-West direction.

+ +

Referenced by opj_t1_updateflags(), and t1_init_ctxno_zc().

+ +
+
+ + + +
+
+ + + + +
#define T1_SIG_PRIM   (T1_SIG_N|T1_SIG_E|T1_SIG_S|T1_SIG_W)
+
+ +

Referenced by opj_t1_getctxno_sc(), and opj_t1_getspb().

+ +
+
+ + + + + + + +
+
+ + + + +
#define T1_SIG_W   0x0080
+
+ +

Context orientation : West direction.

+ +

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), and t1_init_spb().

+ +
+
+ +
+
+ + + + +
#define T1_TYPE_MQ   0
+
+ +

Normal coding using entropy coder.

+ +

Referenced by opj_t1_decode_cblk(), and opj_t1_encode_cblk().

+ +
+
+ +
+
+ + + + +
#define T1_TYPE_RAW   1
+
+ +

No encoding the information is store under raw format in codestream (mode switch RAW)

+ +

Referenced by opj_t1_decode_cblk(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass_step(), and opj_t1_encode_cblk().

+ +
+
+ + +

Typedef Documentation

+ +
+
+ + + + +
typedef OPJ_INT16 opj_flag_t
+
+ +
+
+ +
+
+ + + + +
typedef struct opj_t1 opj_t1_t
+
+ +

Tier-1 coding (coding of code-block coefficients)

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_t1_allocate_buffers (opj_t1_tt1,
OPJ_UINT32 w,
OPJ_UINT32 h 
)
+
+
+ +
+
+ + + + + + + + +
opj_t1_t* opj_t1_create (OPJ_BOOL isEncoder)
+
+ +

Creates a new Tier 1 handle and initializes the look-up tables of the Tier-1 coder/decoder.

+
Returns
a new T1 handle if successful, returns NULL otherwise
+ +

References opj_t1::encoder, opj_t1::mqc, opj_calloc, opj_mqc_create(), opj_raw_create(), opj_t1_destroy(), and opj_t1::raw.

+ +

Referenced by opj_tcd_t1_decode(), and opj_tcd_t1_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_t1_dec_clnpass (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_INT32 orient,
OPJ_INT32 cblksty 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_t1_dec_clnpass_step (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 orient,
OPJ_INT32 oneplushalf 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_t1_dec_clnpass_step_partial (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 orient,
OPJ_INT32 oneplushalf 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_t1_dec_clnpass_step_vsc (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 orient,
OPJ_INT32 oneplushalf,
OPJ_INT32 partial,
OPJ_INT32 vsc 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_t1_dec_refpass_mqc (opj_t1_tt1,
OPJ_INT32 bpno 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_t1_dec_refpass_mqc_vsc (opj_t1_tt1,
OPJ_INT32 bpno 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_dec_refpass_raw (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_INT32 cblksty 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void opj_t1_dec_refpass_step_mqc (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 poshalf,
OPJ_INT32 neghalf 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void opj_t1_dec_refpass_step_mqc_vsc (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 poshalf,
OPJ_INT32 neghalf,
OPJ_INT32 vsc 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void opj_t1_dec_refpass_step_raw (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 poshalf,
OPJ_INT32 neghalf,
OPJ_INT32 vsc 
)
+
+static
+
+ +

Decode refinement pass.

+ +

References opj_raw_decode(), opj_t1::raw, T1_REFINE, T1_SGN_S, T1_SIG, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_VISIT.

+ +

Referenced by opj_t1_dec_refpass_raw().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_dec_sigpass_mqc (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_INT32 orient 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_dec_sigpass_mqc_vsc (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_INT32 orient 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_dec_sigpass_raw (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_INT32 orient,
OPJ_INT32 cblksty 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void opj_t1_dec_sigpass_step_mqc (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 orient,
OPJ_INT32 oneplushalf 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void opj_t1_dec_sigpass_step_mqc_vsc (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 orient,
OPJ_INT32 oneplushalf,
OPJ_INT32 vsc 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static INLINE void opj_t1_dec_sigpass_step_raw (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 orient,
OPJ_INT32 oneplushalf,
OPJ_INT32 vsc 
)
+
+static
+
+
+ + + + + +
+
+ + + + + + + + +
void opj_t1_destroy (opj_t1_tp_t1)
+
+ +

Destroys a previously created T1 handle.

+
Parameters
+ + +
p_t1Tier 1 handle to destroy
+
+
+ +

References opj_t1::data, opj_t1::encoder, opj_t1::flags, opj_t1::mqc, opj_aligned_free, opj_free, opj_mqc_destroy(), opj_raw_destroy(), and opj_t1::raw.

+ +

Referenced by opj_t1_create(), opj_tcd_t1_decode(), and opj_tcd_t1_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_enc_clnpass (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_UINT32 orient,
OPJ_INT32nmsedec,
OPJ_UINT32 cblksty 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_enc_clnpass_step (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_UINT32 orient,
OPJ_INT32 bpno,
OPJ_INT32 one,
OPJ_INT32nmsedec,
OPJ_UINT32 partial,
OPJ_UINT32 vsc 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_enc_refpass (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_INT32nmsedec,
OPJ_BYTE type,
OPJ_UINT32 cblksty 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_enc_refpass_step (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_INT32 bpno,
OPJ_INT32 one,
OPJ_INT32nmsedec,
OPJ_BYTE type,
OPJ_UINT32 vsc 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_enc_sigpass (opj_t1_tt1,
OPJ_INT32 bpno,
OPJ_UINT32 orient,
OPJ_INT32nmsedec,
OPJ_BYTE type,
OPJ_UINT32 cblksty 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_t1_enc_sigpass_step (opj_t1_tt1,
opj_flag_tflagsp,
OPJ_INT32datap,
OPJ_UINT32 orient,
OPJ_INT32 bpno,
OPJ_INT32 one,
OPJ_INT32nmsedec,
OPJ_BYTE type,
OPJ_UINT32 vsc 
)
+
+static
+
+
+ + + + + +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_t1_getctxno_mag (OPJ_UINT32 f)
+
+static
+
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
OPJ_BYTE opj_t1_getctxno_zc (OPJ_UINT32 f,
OPJ_UINT32 orient 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
OPJ_INT16 opj_t1_getnmsedec_ref (OPJ_UINT32 x,
OPJ_UINT32 bitpos 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
OPJ_INT16 opj_t1_getnmsedec_sig (OPJ_UINT32 x,
OPJ_UINT32 bitpos 
)
+
+static
+
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_FLOAT64 opj_t1_getwmsedec (OPJ_INT32 nmsedec,
OPJ_UINT32 compno,
OPJ_UINT32 level,
OPJ_UINT32 orient,
OPJ_INT32 bpno,
OPJ_UINT32 qmfbid,
OPJ_FLOAT64 stepsize,
OPJ_UINT32 numcomps,
const OPJ_FLOAT64mct_norms,
OPJ_UINT32 mct_numcomps 
)
+
+static
+
+ +

mod fixed_quality

+ +

References OPJ_ARG_NOT_USED, opj_dwt_getnorm(), and opj_dwt_getnorm_real().

+ +

Referenced by opj_t1_encode_cblk().

+ +
+
+ + +
+ + + + diff --git a/doxygen/group___t2.html b/doxygen/group___t2.html new file mode 100644 index 00000000..9dd0e891 --- /dev/null +++ b/doxygen/group___t2.html @@ -0,0 +1,1046 @@ + + + + + + +OpenJPEG: T2 - Implementation of a tier-2 coding + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
T2 - Implementation of a tier-2 coding
+
+
+ + + + + +

+Data Structures

struct  opj_t2
 Tier-2 coding. More...
 
+ + + + +

+Typedefs

typedef struct opj_t2 opj_t2_t
 Tier-2 coding. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Local static functions

static void opj_t2_putcommacode (opj_bio_t *bio, OPJ_INT32 n)
 
static OPJ_UINT32 opj_t2_getcommacode (opj_bio_t *bio)
 
static void opj_t2_putnumpasses (opj_bio_t *bio, OPJ_UINT32 n)
 Variable length code for signalling delta Zil (truncation point) More...
 
static OPJ_UINT32 opj_t2_getnumpasses (opj_bio_t *bio)
 
static OPJ_BOOL opj_t2_encode_packet (OPJ_UINT32 tileno, opj_tcd_tile_t *tile, opj_tcp_t *tcp, opj_pi_iterator_t *pi, OPJ_BYTE *dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 len, opj_codestream_info_t *cstr_info)
 Encode a packet of a tile to a destination buffer. More...
 
static OPJ_BOOL opj_t2_decode_packet (opj_t2_t *t2, opj_tcd_tile_t *tile, opj_tcp_t *tcp, opj_pi_iterator_t *pi, OPJ_BYTE *src, OPJ_UINT32 *data_read, OPJ_UINT32 max_length, opj_packet_info_t *pack_info)
 Decode a packet of a tile from a source buffer. More...
 
static OPJ_BOOL opj_t2_skip_packet (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_tcp_t *p_tcp, opj_pi_iterator_t *p_pi, OPJ_BYTE *p_src, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *p_pack_info)
 
static OPJ_BOOL opj_t2_read_packet_header (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_tcp_t *p_tcp, opj_pi_iterator_t *p_pi, OPJ_BOOL *p_is_data_present, OPJ_BYTE *p_src_data, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *p_pack_info)
 
static OPJ_BOOL opj_t2_read_packet_data (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_pi_iterator_t *p_pi, OPJ_BYTE *p_src_data, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *pack_info)
 
static OPJ_BOOL opj_t2_skip_packet_data (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_pi_iterator_t *p_pi, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *pack_info)
 
static OPJ_BOOL opj_t2_init_seg (opj_tcd_cblk_dec_t *cblk, OPJ_UINT32 index, OPJ_UINT32 cblksty, OPJ_UINT32 first)
 
+ + + + + + + + + + + + + +

+Exported functions

OPJ_BOOL opj_t2_encode_packets (opj_t2_t *t2, OPJ_UINT32 tileno, opj_tcd_tile_t *tile, OPJ_UINT32 maxlayers, OPJ_BYTE *dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 len, opj_codestream_info_t *cstr_info, OPJ_UINT32 tpnum, OPJ_INT32 tppos, OPJ_UINT32 pino, J2K_T2_MODE t2_mode)
 Encode the packets of a tile to a destination buffer. More...
 
OPJ_BOOL opj_t2_decode_packets (opj_t2_t *t2, OPJ_UINT32 tileno, opj_tcd_tile_t *tile, OPJ_BYTE *src, OPJ_UINT32 *p_data_read, OPJ_UINT32 len, opj_codestream_index_t *cstr_info)
 Decode the packets of a tile from a source buffer. More...
 
opj_t2_topj_t2_create (opj_image_t *p_image, opj_cp_t *p_cp)
 Creates a Tier 2 handle. More...
 
void opj_t2_destroy (opj_t2_t *t2)
 Destroy a T2 handle. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_t2 opj_t2_t
+
+ +

Tier-2 coding.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
opj_t2_t* opj_t2_create (opj_image_tp_image,
opj_cp_tp_cp 
)
+
+ +

Creates a Tier 2 handle.

+
Parameters
+ + + +
p_imageSource or destination image
p_cpImage coding parameters.
+
+
+
Returns
a new T2 handle if successful, NULL otherwise.
+ +

References opj_t2::cp, opj_t2::image, and opj_calloc.

+ +

Referenced by opj_tcd_rateallocate(), opj_tcd_t2_decode(), and opj_tcd_t2_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_t2_decode_packet (opj_t2_tt2,
opj_tcd_tile_ttile,
opj_tcp_ttcp,
opj_pi_iterator_tpi,
OPJ_BYTEsrc,
OPJ_UINT32data_read,
OPJ_UINT32 max_length,
opj_packet_info_tpack_info 
)
+
+static
+
+ +

Decode a packet of a tile from a source buffer.

+
Parameters
+ + + + + + + + + +
t2T2 handle
tileTile for which to write the packets
tcpTile coding parameters
piPacket identity
srcSource buffer
data_readFIXME DOC
max_lengthFIXME DOC
pack_infoPacket information
+
+
+
Returns
FIXME DOC
+ +

References OPJ_FALSE, opj_t2_read_packet_data(), opj_t2_read_packet_header(), and OPJ_TRUE.

+ +

Referenced by opj_t2_decode_packets().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_t2_decode_packets (opj_t2_tt2,
OPJ_UINT32 tileno,
opj_tcd_tile_ttile,
OPJ_BYTEsrc,
OPJ_UINT32p_data_read,
OPJ_UINT32 len,
opj_codestream_index_tcstr_info 
)
+
+
+ +
+
+ + + + + + + + +
void opj_t2_destroy (opj_t2_tt2)
+
+ +

Destroy a T2 handle.

+
Parameters
+ + +
t2T2 handle to destroy
+
+
+ +

References opj_free.

+ +

Referenced by opj_tcd_rateallocate(), opj_tcd_t2_decode(), and opj_tcd_t2_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_t2_encode_packet (OPJ_UINT32 tileno,
opj_tcd_tile_ttile,
opj_tcp_ttcp,
opj_pi_iterator_tpi,
OPJ_BYTEdest,
OPJ_UINT32p_data_written,
OPJ_UINT32 len,
opj_codestream_info_tcstr_info 
)
+
+static
+
+ +

Encode a packet of a tile to a destination buffer.

+
Parameters
+ + + + + + + + + +
tilenoNumber of the tile encoded
tileTile for which to write the packets
tcpTile coding parameters
piPacket identity
destDestination buffer
p_data_writtenFIXME DOC
lenLength of the destination buffer
cstr_infoCodestream information structure
+
+
+
Returns
+ +

References opj_tcd_resolution::bands, opj_tcd_precinct::cblks, opj_tcd_precinct::ch, opj_pi_iterator::compno, opj_tcd_tile::comps, opj_tcp::csty, opj_tcd_precinct::cw, opj_codestream_info::D_max, opj_tcd_layer::data, opj_tcd_layer::disto, opj_packet_info::disto, opj_tcd_precinct::enc, opj_packet_info::end_ph_pos, opj_tcd_precinct::imsbtree, opj_tcd_precinct::incltree, opj_codestream_info::index_write, J2K_CP_CSTY_EPH, J2K_CP_CSTY_SOP, opj_tcd_cblk_enc::layers, opj_pi_iterator::layno, opj_tcd_pass::len, opj_tcd_layer::len, opj_tcd_resolution::numbands, opj_tcd_cblk_enc::numbps, opj_tcd_band::numbps, opj_tcd_cblk_enc::numlenbits, opj_tcd_layer::numpasses, opj_tcd_cblk_enc::numpasses, opj_bio_create(), opj_bio_destroy(), opj_bio_flush(), opj_bio_init_enc(), opj_bio_numbytes(), opj_bio_write(), OPJ_FALSE, opj_int_floorlog2(), opj_int_max(), opj_t2_putcommacode(), opj_t2_putnumpasses(), opj_tgt_encode(), opj_tgt_reset(), opj_tgt_setvalue(), OPJ_TRUE, opj_tile_info::packet, opj_tcd_tile::packno, opj_codestream_info::packno, opj_tcd_cblk_enc::passes, opj_tcd_band::precincts, opj_pi_iterator::precno, opj_pi_iterator::resno, opj_tcd_tilecomp::resolutions, opj_tcd_pass::term, and opj_codestream_info::tile.

+ +

Referenced by opj_t2_encode_packets().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_t2_encode_packets (opj_t2_tt2,
OPJ_UINT32 tileno,
opj_tcd_tile_ttile,
OPJ_UINT32 maxlayers,
OPJ_BYTEdest,
OPJ_UINT32p_data_written,
OPJ_UINT32 len,
opj_codestream_info_tcstr_info,
OPJ_UINT32 tpnum,
OPJ_INT32 tppos,
OPJ_UINT32 pino,
J2K_T2_MODE t2_mode 
)
+
+ +

Encode the packets of a tile to a destination buffer.

+
Parameters
+ + + + + + + + + + + + + +
t2T2 handle
tilenonumber of the tile encoded
tilethe tile for which to write the packets
maxlayersmaximum number of layers
destthe destination buffer
p_data_writtenFIXME DOC
lenthe length of the destination buffer
cstr_infoCodestream information structure
tpnumTile part number of the current tile
tpposThe position of the tile part flag in the progression order
pinoFIXME DOC
t2_modeIf == 0 In Threshold calculation ,If == 1 Final pass
+
+
+ +

References opj_t2::cp, opj_tile_info::end_header, opj_packet_info::end_ph_pos, opj_packet_info::end_pos, opj_t2::image, opj_codestream_info::index_write, opj_pi_iterator::layno, opj_cp::m_enc, opj_encoding_param::m_max_comp_size, opj_cp::m_specific_param, opj_encoding_param::m_tp_on, opj_image::numcomps, opj_tcp::numpocs, OPJ_FALSE, opj_pi_create_encode(), opj_pi_destroy(), opj_pi_initialise_encode(), opj_pi_next(), OPJ_PROFILE_CINEMA_4K, OPJ_PROG_UNKNOWN, opj_t2_encode_packet(), OPJ_TRUE, opj_tile_info::packet, opj_tcd_tile::packno, opj_codestream_info::packno, opj_pi_iterator::poc, opj_tcp::POC, opj_poc::prg, opj_cp::rsiz, opj_packet_info::start_pos, opj_cp::tcps, THRESH_CALC, and opj_codestream_info::tile.

+ +

Referenced by opj_tcd_rateallocate(), and opj_tcd_t2_encode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_t2_getcommacode (opj_bio_tbio)
+
+static
+
+ +

References opj_bio_read().

+ +

Referenced by opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
OPJ_UINT32 opj_t2_getnumpasses (opj_bio_tbio)
+
+static
+
+ +

References opj_bio_read().

+ +

Referenced by opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_t2_init_seg (opj_tcd_cblk_dec_tcblk,
OPJ_UINT32 index,
OPJ_UINT32 cblksty,
OPJ_UINT32 first 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void opj_t2_putcommacode (opj_bio_tbio,
OPJ_INT32 n 
)
+
+static
+
+ +

References opj_bio_write().

+ +

Referenced by opj_t2_encode_packet().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void opj_t2_putnumpasses (opj_bio_tbio,
OPJ_UINT32 n 
)
+
+static
+
+ +

Variable length code for signalling delta Zil (truncation point)

+
Parameters
+ + + +
bioBit Input/Output component
ndelta Zil
+
+
+ +

References opj_bio_write().

+ +

Referenced by opj_t2_encode_packet().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_t2_read_packet_header (opj_t2_tp_t2,
opj_tcd_tile_tp_tile,
opj_tcp_tp_tcp,
opj_pi_iterator_tp_pi,
OPJ_BOOLp_is_data_present,
OPJ_BYTEp_src_data,
OPJ_UINT32p_data_read,
OPJ_UINT32 p_max_length,
opj_packet_info_tp_pack_info 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_t2_skip_packet (opj_t2_tp_t2,
opj_tcd_tile_tp_tile,
opj_tcp_tp_tcp,
opj_pi_iterator_tp_pi,
OPJ_BYTEp_src,
OPJ_UINT32p_data_read,
OPJ_UINT32 p_max_length,
opj_packet_info_tp_pack_info 
)
+
+static
+
+
+ + +
+ + + + diff --git a/doxygen/group___t_c_d.html b/doxygen/group___t_c_d.html new file mode 100644 index 00000000..e4b2637d --- /dev/null +++ b/doxygen/group___t_c_d.html @@ -0,0 +1,948 @@ + + + + + + +OpenJPEG: TCD - Implementation of a tile coder/decoder + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
TCD - Implementation of a tile coder/decoder
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  opj_tcd_seg
 FIXME DOC. More...
 
struct  opj_tcd_pass
 FIXME DOC. More...
 
struct  opj_tcd_layer
 FIXME DOC. More...
 
struct  opj_tcd_cblk_enc
 FIXME DOC. More...
 
struct  opj_tcd_cblk_dec
 
struct  opj_tcd_precinct
 FIXME DOC. More...
 
struct  opj_tcd_band
 FIXME DOC. More...
 
struct  opj_tcd_resolution
 FIXME DOC. More...
 
struct  opj_tcd_tilecomp
 FIXME DOC. More...
 
struct  opj_tcd_tile
 FIXME DOC. More...
 
struct  opj_tcd_image
 FIXME DOC. More...
 
struct  opj_tcd
 Tile coder/decoder. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct opj_tcd_seg opj_tcd_seg_t
 FIXME DOC. More...
 
typedef struct opj_tcd_pass opj_tcd_pass_t
 FIXME DOC. More...
 
typedef struct opj_tcd_layer opj_tcd_layer_t
 FIXME DOC. More...
 
typedef struct opj_tcd_cblk_enc opj_tcd_cblk_enc_t
 FIXME DOC. More...
 
typedef struct opj_tcd_cblk_dec opj_tcd_cblk_dec_t
 
typedef struct opj_tcd_precinct opj_tcd_precinct_t
 FIXME DOC. More...
 
typedef struct opj_tcd_band opj_tcd_band_t
 FIXME DOC. More...
 
typedef struct opj_tcd_resolution opj_tcd_resolution_t
 FIXME DOC. More...
 
typedef struct opj_tcd_tilecomp opj_tcd_tilecomp_t
 FIXME DOC. More...
 
typedef struct opj_tcd_tile opj_tcd_tile_t
 FIXME DOC. More...
 
typedef struct opj_tcd_image opj_tcd_image_t
 FIXME DOC. More...
 
typedef struct opj_tcd opj_tcd_t
 Tile coder/decoder. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

opj_tcd_topj_tcd_create (OPJ_BOOL p_is_decoder)
 Dump the content of a tcd structure. More...
 
void opj_tcd_destroy (opj_tcd_t *tcd)
 Destroy a previously created TCD handle. More...
 
OPJ_BOOL opj_tcd_init (opj_tcd_t *p_tcd, opj_image_t *p_image, opj_cp_t *p_cp)
 Initialize the tile coder and may reuse some memory. More...
 
OPJ_BOOL opj_tcd_init_decode_tile (opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no)
 Allocates memory for decoding a specific tile. More...
 
void opj_tcd_makelayer_fixed (opj_tcd_t *tcd, OPJ_UINT32 layno, OPJ_UINT32 final)
 
void opj_tcd_rateallocate_fixed (opj_tcd_t *tcd)
 
void opj_tcd_makelayer (opj_tcd_t *tcd, OPJ_UINT32 layno, OPJ_FLOAT64 thresh, OPJ_UINT32 final)
 
OPJ_BOOL opj_tcd_rateallocate (opj_tcd_t *tcd, OPJ_BYTE *dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 len, opj_codestream_info_t *cstr_info)
 
OPJ_UINT32 opj_tcd_get_decoded_tile_size (opj_tcd_t *p_tcd)
 Gets the maximum tile size that will be taken by the tile once decoded. More...
 
OPJ_BOOL opj_tcd_encode_tile (opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, OPJ_BYTE *p_dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_len, struct opj_codestream_info *p_cstr_info)
 Encodes a tile from the raw image into the given buffer. More...
 
OPJ_BOOL opj_tcd_decode_tile (opj_tcd_t *tcd, OPJ_BYTE *src, OPJ_UINT32 len, OPJ_UINT32 tileno, opj_codestream_index_t *cstr_info)
 Decode a tile from a buffer into a raw image. More...
 
OPJ_BOOL opj_tcd_update_tile_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_dest, OPJ_UINT32 p_dest_length)
 Copies tile data from the system onto the given memory block. More...
 
OPJ_UINT32 opj_tcd_get_encoded_tile_size (opj_tcd_t *p_tcd)
 
OPJ_BOOL opj_tcd_init_encode_tile (opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no)
 Initialize the tile coder and may reuse some meory. More...
 
OPJ_BOOL opj_tcd_copy_tile_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_src, OPJ_UINT32 p_src_length)
 Copies tile data from the given memory block onto the system. More...
 
OPJ_BOOL opj_alloc_tile_component_data (opj_tcd_tilecomp_t *l_tilec)
 Allocates tile component data. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_tcd_band opj_tcd_band_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_cblk_dec opj_tcd_cblk_dec_t
+
+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_cblk_enc opj_tcd_cblk_enc_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_image + opj_tcd_image_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_layer opj_tcd_layer_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_pass opj_tcd_pass_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_precinct opj_tcd_precinct_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_resolution opj_tcd_resolution_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_seg opj_tcd_seg_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd opj_tcd_t
+
+ +

Tile coder/decoder.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_tile opj_tcd_tile_t
+
+ +

FIXME DOC.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tcd_tilecomp opj_tcd_tilecomp_t
+
+ +

FIXME DOC.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
OPJ_BOOL opj_alloc_tile_component_data (opj_tcd_tilecomp_tl_tilec)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_tcd_copy_tile_data (opj_tcd_tp_tcd,
OPJ_BYTEp_src,
OPJ_UINT32 p_src_length 
)
+
+
+ +
+
+ + + + + + + + +
opj_tcd_t* opj_tcd_create (OPJ_BOOL p_is_decoder)
+
+ +

Dump the content of a tcd structure.

+

Create a new TCD handle

Parameters
+ + +
p_is_decoderFIXME DOC
+
+
+
Returns
Returns a new TCD handle if successful returns NULL otherwise
+

Dump the content of a tcd structure.

+ +

References opj_tcd::m_is_decoder, opj_calloc, opj_free, and opj_tcd::tcd_image.

+ +

Referenced by opj_j2k_copy_default_tcp_and_create_tcd(), and opj_j2k_create_tcd().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_tcd_decode_tile (opj_tcd_ttcd,
OPJ_BYTEsrc,
OPJ_UINT32 len,
OPJ_UINT32 tileno,
opj_codestream_index_tcstr_info 
)
+
+ +

Decode a tile from a buffer into a raw image.

+
Parameters
+ + + + + + +
tcdTCD handle
srcSource buffer
lenLength of source buffer
tilenoNumber that identifies one of the tiles to be decoded
cstr_infoFIXME DOC
+
+
+ +

References opj_tcd_tile::comps, opj_tcd::cp, opj_tcd_tilecomp::numresolutions, OPJ_FALSE, opj_malloc, opj_tcd_dc_level_shift_decode(), opj_tcd_dwt_decode(), opj_tcd_mct_decode(), opj_tcd_t1_decode(), opj_tcd_t2_decode(), OPJ_TRUE, opj_tcd_resolution::ph, opj_tccp::prch, opj_tccp::prcw, opj_tcd_resolution::pw, opj_tcd_tilecomp::resolutions, opj_tcp::tccps, opj_tcd::tcd_image, opj_tcd::tcd_tileno, tcp, opj_tcd::tcp, opj_cp::tcps, and opj_tcd_image::tiles.

+ +

Referenced by opj_j2k_decode_tile().

+ +
+
+ +
+
+ + + + + + + + +
void opj_tcd_destroy (opj_tcd_ttcd)
+
+ +

Destroy a previously created TCD handle.

+
Parameters
+ + +
tcdTCD handle to destroy
+
+
+ +

References opj_free, opj_tcd_free_tile(), and opj_tcd::tcd_image.

+ +

Referenced by opj_j2k_copy_default_tcp_and_create_tcd(), opj_j2k_create_tcd(), opj_j2k_destroy(), and opj_j2k_end_encoding().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_tcd_encode_tile (opj_tcd_tp_tcd,
OPJ_UINT32 p_tile_no,
OPJ_BYTEp_dest,
OPJ_UINT32p_data_written,
OPJ_UINT32 p_len,
struct opj_codestream_infop_cstr_info 
)
+
+ +

Encodes a tile from the raw image into the given buffer.

+
Parameters
+ + + + + + + +
p_tcdTile Coder handle
p_tile_noIndex of the tile to encode.
p_destDestination buffer
p_data_writtenpointer to an int that is incremented by the number of bytes really written on p_dest
p_lenMaximum length of the destination buffer
p_cstr_infoCodestream information structure
+
+
+
Returns
true if the coding is successfull.
+ +

References opj_tcd_tile::comps, opj_tcd::cp, opj_tcd::cur_tp_num, opj_codestream_info::index_write, opj_codestream_info::numcomps, opj_codestream_info::numlayers, opj_tcd_tilecomp::numresolutions, opj_calloc, OPJ_FALSE, opj_tcd_dc_level_shift_encode(), opj_tcd_dwt_encode(), opj_tcd_mct_encode(), opj_tcd_rate_allocate_encode(), opj_tcd_t1_encode(), opj_tcd_t2_encode(), OPJ_TRUE, opj_tile_info::packet, opj_tile_info::pdx, opj_tile_info::pdy, opj_tcd_resolution::ph, opj_tile_info::ph, opj_tccp::prch, opj_tccp::prcw, opj_tcd_resolution::pw, opj_tile_info::pw, opj_tcd_tilecomp::resolutions, opj_tcp::tccps, opj_tcd::tcd_image, opj_tcd::tcd_tileno, opj_tcd::tcp, opj_cp::tcps, opj_codestream_info::tile, and opj_tcd_image::tiles.

+ +

Referenced by opj_j2k_write_sod().

+ +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_tcd_init (opj_tcd_tp_tcd,
opj_image_tp_image,
opj_cp_tp_cp 
)
+
+ +

Initialize the tile coder and may reuse some memory.

+
Parameters
+ + + + +
p_tcdTCD handle.
p_imageraw image.
p_cpcoding parameters.
+
+
+
Returns
true if the encoding values could be set (false otherwise).
+ +

References opj_tcd_tile::comps, opj_tcd::cp, opj_tcd::image, opj_cp::m_enc, opj_cp::m_specific_param, opj_encoding_param::m_tp_pos, opj_tcd_tile::numcomps, opj_image::numcomps, opj_calloc, OPJ_FALSE, OPJ_TRUE, opj_tcd::tcd_image, opj_tcd_image::tiles, and opj_tcd::tp_pos.

+ +

Referenced by opj_j2k_copy_default_tcp_and_create_tcd(), and opj_j2k_create_tcd().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_tcd_init_decode_tile (opj_tcd_tp_tcd,
OPJ_UINT32 p_tile_no 
)
+
+ +

Allocates memory for decoding a specific tile.

+
Parameters
+ + + +
p_tcdthe tile decoder.
p_tile_nothe index of the tile received in sequence. This not necessarily lead to the tile at index p_tile_no.
+
+
+
Returns
true if the remaining data is sufficient.
+ +

References OPJ_FALSE, and opj_tcd_init_tile().

+ +

Referenced by opj_j2k_read_tile_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_tcd_init_encode_tile (opj_tcd_tp_tcd,
OPJ_UINT32 p_tile_no 
)
+
+ +

Initialize the tile coder and may reuse some meory.

+
Parameters
+ + + +
p_tcdTCD handle.
p_tile_nocurrent tile index to encode.
+
+
+
Returns
true if the encoding values could be set (false otherwise).
+ +

References opj_tcd_init_tile(), and OPJ_TRUE.

+ +

Referenced by opj_j2k_pre_write_tile().

+ +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_tcd_rateallocate (opj_tcd_ttcd,
OPJ_BYTEdest,
OPJ_UINT32p_data_written,
OPJ_UINT32 len,
opj_codestream_info_tcstr_info 
)
+
+
+ +
+
+ + + + + + + + +
void opj_tcd_rateallocate_fixed (opj_tcd_ttcd)
+
+
+ + +
+ + + + diff --git a/doxygen/group___t_g_t.html b/doxygen/group___t_g_t.html new file mode 100644 index 00000000..a5155484 --- /dev/null +++ b/doxygen/group___t_g_t.html @@ -0,0 +1,436 @@ + + + + + + +OpenJPEG: TGT - Implementation of a tag-tree coder + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
TGT - Implementation of a tag-tree coder
+
+
+ + + + + + + + +

+Data Structures

struct  opj_tgt_node
 Tag node. More...
 
struct  opj_tgt_tree
 Tag tree. More...
 
+ + + + + + + +

+Typedefs

typedef struct opj_tgt_node opj_tgt_node_t
 Tag node. More...
 
typedef struct opj_tgt_tree opj_tgt_tree_t
 Tag tree. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Exported functions

opj_tgt_tree_topj_tgt_create (OPJ_UINT32 numleafsh, OPJ_UINT32 numleafsv)
 Create a tag-tree. More...
 
opj_tgt_tree_topj_tgt_init (opj_tgt_tree_t *p_tree, OPJ_UINT32 p_num_leafs_h, OPJ_UINT32 p_num_leafs_v)
 Reinitialises a tag-tree from an exixting one. More...
 
void opj_tgt_destroy (opj_tgt_tree_t *tree)
 Destroy a tag-tree, liberating memory. More...
 
void opj_tgt_reset (opj_tgt_tree_t *tree)
 Reset a tag-tree (set all leaves to 0) More...
 
void opj_tgt_setvalue (opj_tgt_tree_t *tree, OPJ_UINT32 leafno, OPJ_INT32 value)
 Set the value of a leaf of a tag-tree. More...
 
void opj_tgt_encode (opj_bio_t *bio, opj_tgt_tree_t *tree, OPJ_UINT32 leafno, OPJ_INT32 threshold)
 Encode the value of a leaf of the tag-tree up to a given threshold. More...
 
OPJ_UINT32 opj_tgt_decode (opj_bio_t *bio, opj_tgt_tree_t *tree, OPJ_UINT32 leafno, OPJ_INT32 threshold)
 Decode the value of a leaf of the tag-tree up to a given threshold. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct opj_tgt_node opj_tgt_node_t
+
+ +

Tag node.

+ +
+
+ +
+
+ + + + +
typedef struct opj_tgt_tree opj_tgt_tree_t
+
+ +

Tag tree.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
opj_tgt_tree_t* opj_tgt_create (OPJ_UINT32 numleafsh,
OPJ_UINT32 numleafsv 
)
+
+ +

Create a tag-tree.

+
Parameters
+ + + +
numleafshWidth of the array of leafs of the tree
numleafsvHeight of the array of leafs of the tree
+
+
+
Returns
Returns a new tag-tree if successful, returns NULL otherwise
+ +

References opj_tgt_tree::nodes, opj_tgt_tree::nodes_size, opj_tgt_tree::numleafsh, opj_tgt_tree::numleafsv, opj_tgt_tree::numnodes, opj_calloc, opj_free, opj_tgt_reset(), and opj_tgt_node::parent.

+ +

Referenced by opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_UINT32 opj_tgt_decode (opj_bio_tbio,
opj_tgt_tree_ttree,
OPJ_UINT32 leafno,
OPJ_INT32 threshold 
)
+
+ +

Decode the value of a leaf of the tag-tree up to a given threshold.

+
Parameters
+ + + + + +
bioPointer to a BIO handle
treeTag-tree to decode
leafnoNumber that identifies the leaf to decode
thresholdThreshold to use when decoding value of the leaf
+
+
+
Returns
Returns 1 if the node's value < threshold, returns 0 otherwise
+ +

References opj_tgt_node::low, opj_tgt_tree::nodes, opj_bio_read(), opj_tgt_node::parent, and opj_tgt_node::value.

+ +

Referenced by opj_t2_read_packet_header().

+ +
+
+ +
+
+ + + + + + + + +
void opj_tgt_destroy (opj_tgt_tree_ttree)
+
+ +

Destroy a tag-tree, liberating memory.

+
Parameters
+ + +
treeTag-tree to destroy
+
+
+ +

References opj_tgt_tree::nodes, and opj_free.

+ +

Referenced by opj_tcd_free_tile(), and opj_tgt_init().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_tgt_encode (opj_bio_tbio,
opj_tgt_tree_ttree,
OPJ_UINT32 leafno,
OPJ_INT32 threshold 
)
+
+ +

Encode the value of a leaf of the tag-tree up to a given threshold.

+
Parameters
+ + + + + +
bioPointer to a BIO handle
treeTag-tree to modify
leafnoNumber that identifies the leaf to encode
thresholdThreshold to use when encoding value of the leaf
+
+
+ +

References opj_tgt_node::known, opj_tgt_node::low, opj_tgt_tree::nodes, opj_bio_write(), opj_tgt_node::parent, and opj_tgt_node::value.

+ +

Referenced by opj_t2_encode_packet().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
opj_tgt_tree_t* opj_tgt_init (opj_tgt_tree_tp_tree,
OPJ_UINT32 p_num_leafs_h,
OPJ_UINT32 p_num_leafs_v 
)
+
+ +

Reinitialises a tag-tree from an exixting one.

+
Parameters
+ + + + +
p_treethe tree to reinitialize.
p_num_leafs_hthe width of the array of leafs of the tree
p_num_leafs_vthe height of the array of leafs of the tree
+
+
+
Returns
a new tag-tree if successful, NULL otherwise
+

Reinitialises a tag-tree from an exixting one.

+
Parameters
+ + + + +
p_treethe tree to reinitialize.
p_num_leafs_hthe width of the array of leafs of the tree
p_num_leafs_vthe height of the array of leafs of the tree
+
+
+
Returns
a new tag-tree if successful, NULL otherwise
+ +

References opj_tgt_tree::nodes, opj_tgt_tree::nodes_size, opj_tgt_tree::numleafsh, opj_tgt_tree::numleafsv, opj_tgt_tree::numnodes, opj_realloc, opj_tgt_destroy(), opj_tgt_reset(), and opj_tgt_node::parent.

+ +

Referenced by opj_tcd_init_tile().

+ +
+
+ +
+
+ + + + + + + + +
void opj_tgt_reset (opj_tgt_tree_ttree)
+
+ +

Reset a tag-tree (set all leaves to 0)

+
Parameters
+ + +
treeTag-tree to reset
+
+
+ +

References opj_tgt_node::known, opj_tgt_node::low, opj_tgt_tree::nodes, opj_tgt_tree::numnodes, and opj_tgt_node::value.

+ +

Referenced by opj_t2_encode_packet(), opj_t2_read_packet_header(), opj_tgt_create(), and opj_tgt_init().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void opj_tgt_setvalue (opj_tgt_tree_ttree,
OPJ_UINT32 leafno,
OPJ_INT32 value 
)
+
+ +

Set the value of a leaf of a tag-tree.

+
Parameters
+ + + + +
treeTag-tree to modify
leafnoNumber that identifies the leaf to modify
valueNew value of the leaf
+
+
+ +

References opj_tgt_tree::nodes, opj_tgt_node::parent, and opj_tgt_node::value.

+ +

Referenced by opj_t2_encode_packet().

+ +
+
+
+ + + + diff --git a/doxygen/group___v_a_l.html b/doxygen/group___v_a_l.html new file mode 100644 index 00000000..06372a00 --- /dev/null +++ b/doxygen/group___v_a_l.html @@ -0,0 +1,303 @@ + + + + + + +OpenJPEG: VAL - validation procedure + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+ +
+
VAL - validation procedure
+
+
+ + + + + +

+Data Structures

struct  opj_procedure_list
 A list of procedures. More...
 
+ + + + + + + +

+Typedefs

typedef void(* opj_procedure) (void)
 declare a function pointer More...
 
typedef struct opj_procedure_list opj_procedure_list_t
 A list of procedures. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

opj_procedure_list_topj_procedure_list_create (void)
 Creates a validation list. More...
 
void opj_procedure_list_destroy (opj_procedure_list_t *p_list)
 Destroys a validation list. More...
 
OPJ_BOOL opj_procedure_list_add_procedure (opj_procedure_list_t *p_validation_list, opj_procedure p_procedure)
 Adds a new validation procedure. More...
 
OPJ_UINT32 opj_procedure_list_get_nb_procedures (opj_procedure_list_t *p_validation_list)
 Gets the number of validation procedures. More...
 
opj_procedureopj_procedure_list_get_first_procedure (opj_procedure_list_t *p_validation_list)
 Gets the pointer on the first validation procedure. More...
 
void opj_procedure_list_clear (opj_procedure_list_t *p_validation_list)
 Clears the list of validation procedures. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* opj_procedure) (void)
+
+ +

declare a function pointer

+ +
+
+ +
+
+ + + + +
typedef struct opj_procedure_list opj_procedure_list_t
+
+ +

A list of procedures.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_procedure_list_add_procedure (opj_procedure_list_tp_validation_list,
opj_procedure p_procedure 
)
+
+
+ +
+
+ + + + + + + + +
void opj_procedure_list_clear (opj_procedure_list_tp_validation_list)
+
+ +

Clears the list of validation procedures.

+
Parameters
+ + +
p_validation_listthe list of procedure to clear.
+
+
+ +

References opj_procedure_list::m_nb_procedures.

+ +

Referenced by opj_j2k_exec(), and opj_jp2_exec().

+ +
+
+ +
+
+ + + + + + + + +
opj_procedure_list_t* opj_procedure_list_create (void )
+
+ +

Creates a validation list.

+
Returns
the newly created validation list.
+ +

References opj_procedure_list::m_nb_max_procedures, opj_procedure_list::m_procedures, opj_calloc, opj_free, and OPJ_VALIDATION_SIZE.

+ +

Referenced by opj_j2k_create_compress(), opj_j2k_create_decompress(), and opj_jp2_create().

+ +
+
+ +
+
+ + + + + + + + +
void opj_procedure_list_destroy (opj_procedure_list_tp_list)
+
+ +

Destroys a validation list.

+
Parameters
+ + +
p_listthe list to destroy.
+
+
+ +

References opj_procedure_list::m_procedures, and opj_free.

+ +

Referenced by opj_j2k_destroy(), and opj_jp2_destroy().

+ +
+
+ +
+
+ + + + + + + + +
opj_procedure* opj_procedure_list_get_first_procedure (opj_procedure_list_tp_validation_list)
+
+ +

Gets the pointer on the first validation procedure.

+

This function is similar to the C++ iterator class to iterate through all the procedures inside the validation list. the caller does not take ownership of the pointer.

+
Parameters
+ + +
p_validation_listthe list of procedure to get the first procedure from.
+
+
+
Returns
a pointer to the first procedure.
+ +

References opj_procedure_list::m_procedures.

+ +

Referenced by opj_j2k_exec(), and opj_jp2_exec().

+ +
+
+ +
+
+ + + + + + + + +
OPJ_UINT32 opj_procedure_list_get_nb_procedures (opj_procedure_list_tp_validation_list)
+
+ +

Gets the number of validation procedures.

+
Parameters
+ + +
p_validation_listthe list of procedure to modify.
+
+
+
Returns
the number of validation procedures.
+ +

References opj_procedure_list::m_nb_procedures.

+ +

Referenced by opj_j2k_exec(), and opj_jp2_exec().

+ +
+
+
+ + + + diff --git a/doxygen/ihdrbox__manager_8c.html b/doxygen/ihdrbox__manager_8c.html new file mode 100644 index 00000000..d15294e6 --- /dev/null +++ b/doxygen/ihdrbox__manager_8c.html @@ -0,0 +1,117 @@ + + + + + + +OpenJPEG: ihdrbox_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
ihdrbox_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include "ihdrbox_manager.h"
+
+ + + + +

+Functions

ihdrbox_param_tgene_ihdrbox (metadatalist_param_t *metadatalist, Byte_t *jpipstream)
 generate ihdr box More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
ihdrbox_param_t* gene_ihdrbox (metadatalist_param_tmetadatalist,
Byte_tjpipstream 
)
+
+ +

generate ihdr box

+
Parameters
+ + + +
[in]metadatalistmetadata list pointer
[in]jpipstreamJPT/JPP stream
+
+
+
Returns
pointer to generated ihdr box
+ +

References big2(), big4(), metadata_param::boxlist, ihdrbox_param::bpc, metadatalist_param::first, gene_boxbyTypeinStream(), get_DBoxlen(), get_DBoxoff(), ihdrbox_param::height, ihdrbox_param::nc, metadata_param::next, search_box(), and ihdrbox_param::width.

+ +

Referenced by decode_jpip().

+ +
+
+
+ + + + diff --git a/doxygen/ihdrbox__manager_8h.html b/doxygen/ihdrbox__manager_8h.html new file mode 100644 index 00000000..579c798b --- /dev/null +++ b/doxygen/ihdrbox__manager_8h.html @@ -0,0 +1,147 @@ + + + + + + +OpenJPEG: ihdrbox_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
ihdrbox_manager.h File Reference
+
+
+
#include "byte_manager.h"
+#include "box_manager.h"
+#include "metadata_manager.h"
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  ihdrbox_param
 I.5.3.1 Image Header box. More...
 
+ + + + +

+Typedefs

typedef struct ihdrbox_param ihdrbox_param_t
 I.5.3.1 Image Header box. More...
 
+ + + + +

+Functions

ihdrbox_param_tgene_ihdrbox (metadatalist_param_t *metadatalist, Byte_t *jpipstream)
 generate ihdr box More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct ihdrbox_param ihdrbox_param_t
+
+ +

I.5.3.1 Image Header box.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
ihdrbox_param_t* gene_ihdrbox (metadatalist_param_tmetadatalist,
Byte_tjpipstream 
)
+
+ +

generate ihdr box

+
Parameters
+ + + +
[in]metadatalistmetadata list pointer
[in]jpipstreamJPT/JPP stream
+
+
+
Returns
pointer to generated ihdr box
+ +

References big2(), big4(), metadata_param::boxlist, ihdrbox_param::bpc, metadatalist_param::first, gene_boxbyTypeinStream(), get_DBoxlen(), get_DBoxoff(), ihdrbox_param::height, ihdrbox_param::nc, metadata_param::next, search_box(), and ihdrbox_param::width.

+ +

Referenced by decode_jpip().

+ +
+
+
+ + + + diff --git a/doxygen/ihdrbox__manager_8h_source.html b/doxygen/ihdrbox__manager_8h_source.html new file mode 100644 index 00000000..e1eb3ed9 --- /dev/null +++ b/doxygen/ihdrbox__manager_8h_source.html @@ -0,0 +1,125 @@ + + + + + + +OpenJPEG: ihdrbox_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
ihdrbox_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef IHDRBOX_MANAGER_H_
+
32 # define IHDRBOX_MANAGER_H_
+
33 
+
34 #include "byte_manager.h"
+
35 #include "box_manager.h"
+
36 #include "metadata_manager.h"
+
37 
+
39 typedef struct ihdrbox_param{
+ + + + + +
45 
+
53 ihdrbox_param_t * gene_ihdrbox( metadatalist_param_t *metadatalist, Byte_t *jpipstream);
+
54 
+
55 
+
56 #endif /* !IHDRBOX_MANAGER_H_ */
+
uint8_t Byte_t
Definition: byte_manager.h:37
+ +
Byte4_t height
Definition: ihdrbox_manager.h:40
+
ihdrbox_param_t * gene_ihdrbox(metadatalist_param_t *metadatalist, Byte_t *jpipstream)
generate ihdr box
Definition: ihdrbox_manager.c:36
+
Byte4_t width
Definition: ihdrbox_manager.h:41
+
Byte_t bpc
bits per component
Definition: ihdrbox_manager.h:43
+
uint32_t Byte4_t
Definition: byte_manager.h:39
+
I.5.3.1 Image Header box.
Definition: ihdrbox_manager.h:39
+ +
Byte2_t nc
number of components
Definition: ihdrbox_manager.h:42
+
struct ihdrbox_param ihdrbox_param_t
I.5.3.1 Image Header box.
+ +
metadata-bin list parameters
Definition: metadata_manager.h:52
+
uint16_t Byte2_t
Definition: byte_manager.h:38
+
+ + + + diff --git a/doxygen/image_8c.html b/doxygen/image_8c.html new file mode 100644 index 00000000..61e259fd --- /dev/null +++ b/doxygen/image_8c.html @@ -0,0 +1,207 @@ + + + + + + +OpenJPEG: image.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
image.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + + + + + + + + + + + + + + + + +

+Functions

opj_image_topj_image_create0 (void)
 Create an empty image. More...
 
opj_image_t *OPJ_CALLCONV opj_image_create (OPJ_UINT32 numcmpts, opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc)
 Create an image. More...
 
void OPJ_CALLCONV opj_image_destroy (opj_image_t *image)
 Deallocate any resources associated with an image. More...
 
void opj_image_comp_header_update (opj_image_t *p_image_header, const struct opj_cp *p_cp)
 Updates the components characteristics of the image from the coding parameters. More...
 
void opj_copy_image_header (const opj_image_t *p_image_src, opj_image_t *p_image_dest)
 Copy only header of image and its component header (no data are copied) if dest image have data, they will be freed. More...
 
opj_image_t *OPJ_CALLCONV opj_image_tile_create (OPJ_UINT32 numcmpts, opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc)
 Creates an image without allocating memory for the image (used in the new version of the library). More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
opj_image_t* OPJ_CALLCONV opj_image_create (OPJ_UINT32 numcmpts,
opj_image_cmptparm_tcmptparms,
OPJ_COLOR_SPACE clrspc 
)
+
+
+ +
+
+ + + + + + + + +
void OPJ_CALLCONV opj_image_destroy (opj_image_timage)
+
+ +

Deallocate any resources associated with an image.

+
Parameters
+ + +
imageimage to be destroyed
+
+
+ +

References opj_image::comps, opj_image_comp::data, opj_image::icc_profile_buf, opj_image::numcomps, and opj_free.

+ +

Referenced by j2k_to_pnm(), opj_image_create(), opj_image_tile_create(), opj_j2k_decode(), opj_j2k_destroy(), opj_j2k_get_tile(), and opj_j2k_read_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
opj_image_t* OPJ_CALLCONV opj_image_tile_create (OPJ_UINT32 numcmpts,
opj_image_cmptparm_tcmptparms,
OPJ_COLOR_SPACE clrspc 
)
+
+ +

Creates an image without allocating memory for the image (used in the new version of the library).

+
Parameters
+ + + + +
numcmptsthe number of components
cmptparmsthe components parameters
clrspcthe image color space
+
+
+
Returns
a new image structure if successful, NULL otherwise.
+ +

References opj_image::color_space, opj_image::comps, opj_image_comp::data, opj_image_comp::dx, opj_image_comptparm::dx, opj_image_comp::dy, opj_image_comptparm::dy, opj_image_comp::h, opj_image_comptparm::h, opj_image::numcomps, opj_calloc, opj_image_destroy(), opj_image_comp::prec, opj_image_comptparm::prec, opj_image_comp::sgnd, opj_image_comptparm::sgnd, opj_image_comp::w, opj_image_comptparm::w, opj_image_comp::x0, opj_image_comptparm::x0, opj_image_comp::y0, and opj_image_comptparm::y0.

+ +
+
+
+ + + + diff --git a/doxygen/image_8h.html b/doxygen/image_8h.html new file mode 100644 index 00000000..243af50a --- /dev/null +++ b/doxygen/image_8h.html @@ -0,0 +1,86 @@ + + + + + + +OpenJPEG: image.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
image.h File Reference
+
+
+ +

Implementation of operations on images (IMAGE) +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + +

+Functions

opj_image_topj_image_create0 (void)
 Create an empty image. More...
 
void opj_image_comp_header_update (opj_image_t *p_image, const struct opj_cp *p_cp)
 Updates the components characteristics of the image from the coding parameters. More...
 
void opj_copy_image_header (const opj_image_t *p_image_src, opj_image_t *p_image_dest)
 Copy only header of image and its component header (no data are copied) if dest image have data, they will be freed. More...
 
+

Detailed Description

+

Implementation of operations on images (IMAGE)

+

The functions in IMAGE.C have for goal to realize operations on images.

+
+ + + + diff --git a/doxygen/image_8h_source.html b/doxygen/image_8h_source.html new file mode 100644 index 00000000..2a56a6d3 --- /dev/null +++ b/doxygen/image_8h_source.html @@ -0,0 +1,115 @@ + + + + + + +OpenJPEG: image.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
image.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2005, Herve Drolon, FreeImage Team
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 #ifndef __IMAGE_H
+
32 #define __IMAGE_H
+
33 
+
40 struct opj_image;
+
41 struct opj_cp;
+
42 
+
45 
+ +
52 
+
53 
+
54 
+
61 void opj_image_comp_header_update(opj_image_t * p_image, const struct opj_cp* p_cp);
+
62 
+
63 void opj_copy_image_header(const opj_image_t* p_image_src, opj_image_t* p_image_dest);
+
64 
+
67 #endif /* __IMAGE_H */
+
68 
+
opj_image_t * opj_image_create0(void)
Create an empty image.
Definition: image.c:34
+
Defines image data and characteristics.
Definition: openjpeg.h:661
+
void opj_image_comp_header_update(opj_image_t *p_image, const struct opj_cp *p_cp)
Updates the components characteristics of the image from the coding parameters.
Definition: image.c:107
+
Coding parameters.
Definition: j2k.h:341
+
void opj_copy_image_header(const opj_image_t *p_image_src, opj_image_t *p_image_dest)
Copy only header of image and its component header (no data are copied) if dest image have data...
Definition: image.c:146
+
+ + + + diff --git a/doxygen/imgreg__manager_8c.html b/doxygen/imgreg__manager_8c.html new file mode 100644 index 00000000..e6e2ab16 --- /dev/null +++ b/doxygen/imgreg__manager_8c.html @@ -0,0 +1,399 @@ + + + + + + +OpenJPEG: imgreg_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
imgreg_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include <assert.h>
+#include "imgreg_manager.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + +

+Functions

imgreg_param_t map_viewin2imgreg (const int fx, const int fy, const int rx, const int ry, const int rw, const int rh, const int XOsiz, const int YOsiz, const int Xsiz, const int Ysiz, const int numOfreslev)
 map view-window requests to codestream image resolutions and regions More...
 
void find_level (int maxlev, int *lev, int *fx, int *fy, int *xmin, int *ymin, int *xmax, int *ymax)
 find deconposition level and its resolution size C.4.1 Mapping view-window requests to codestream image resolution and regions Note: only round-down implemented More...
 
int comp_decomplev (int fw, int fh, int Xsiz, int Ysiz)
 compute decomposition level (only to get the level use find_level for all parameters More...
 
void print_imgreg (imgreg_param_t imgreg)
 print image region parameters More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +

Referenced by find_level().

+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +

Referenced by map_viewin2imgreg().

+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +

Referenced by print_imgreg().

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int comp_decomplev (int fw,
int fh,
int Xsiz,
int Ysiz 
)
+
+ +

compute decomposition level (only to get the level use find_level for all parameters

+
Parameters
+ + + + + +
[in]fwhorizontal frame size
[in]fhvertical frame size
[in]Xsizimage width
[in]Ysizimage height
+
+
+
Returns
decomposition level
+ +

References find_level().

+ +

Referenced by recons_codestream_from_JPPstream(), and recons_codestream_from_JPTstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void find_level (int maxlev,
int * lev,
int * fx,
int * fy,
int * xmin,
int * ymin,
int * xmax,
int * ymax 
)
+
+ +

find deconposition level and its resolution size C.4.1 Mapping view-window requests to codestream image resolution and regions Note: only round-down implemented

+
Parameters
+ + + + + + + + + +
[in]maxlevmaximum decomposition level
[in,out]levdecomposition level pointer
[in,out]fxhorizontal frame size pointer
[in,out]fyvertical frame size pointer
[in,out]xminhorizontal image offset pointer
[in,out]yminvertical image offset pointer
[in,out]xmaxhorizontal image size pointer
[in,out]ymaxvertical image size pointer
+
+
+ +

References FCGI_stderr, and find_level().

+ +

Referenced by comp_decomplev(), find_level(), and map_viewin2imgreg().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
imgreg_param_t map_viewin2imgreg (const int fx,
const int fy,
const int rx,
const int ry,
const int rw,
const int rh,
const int XOsiz,
const int YOsiz,
const int Xsiz,
const int Ysiz,
const int numOfreslev 
)
+
+ +

map view-window requests to codestream image resolutions and regions

+
Parameters
+ + + + + + + +
[in]fx,fyframe size
[in]rx,ryoffset of region
[in]rw,rhsize of region
[in]XOsiz,YOsizoffset from the origin of the reference grid to the left side of the image area
[in]Xsiz,Ysizsize of the reference grid
[in]numOfreslevnumber of resolution levels
+
+
+
Returns
structure of image region parameters
+ +

References FCGI_stdout, find_level(), imgreg_param::fx, imgreg_param::fy, imgreg_param::level, imgreg_param::ox, imgreg_param::oy, imgreg_param::sx, imgreg_param::sy, imgreg_param::xosiz, and imgreg_param::yosiz.

+ +

Referenced by enqueue_imagedata().

+ +
+
+ +
+
+ + + + + + + + +
void print_imgreg (imgreg_param_t imgreg)
+
+ +

print image region parameters

+
Parameters
+ + +
[in]imgregimage region structure of parameters
+
+
+ +

References imgreg_param::fx, imgreg_param::fy, imgreg_param::level, logstream, imgreg_param::ox, imgreg_param::oy, imgreg_param::sx, and imgreg_param::sy.

+ +
+
+
+ + + + diff --git a/doxygen/imgreg__manager_8h.html b/doxygen/imgreg__manager_8h.html new file mode 100644 index 00000000..eb4b5ec5 --- /dev/null +++ b/doxygen/imgreg__manager_8h.html @@ -0,0 +1,372 @@ + + + + + + +OpenJPEG: imgreg_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
imgreg_manager.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  imgreg_param
 image region parameters More...
 
+ + + + +

+Typedefs

typedef struct imgreg_param imgreg_param_t
 image region parameters More...
 
+ + + + + + + + + + + + + +

+Functions

imgreg_param_t map_viewin2imgreg (const int fx, const int fy, const int rx, const int ry, const int rw, const int rh, const int XOsiz, const int YOsiz, const int Xsiz, const int Ysiz, const int numOfreslev)
 map view-window requests to codestream image resolutions and regions More...
 
void find_level (int maxlev, int *lev, int *fx, int *fy, int *xmin, int *ymin, int *xmax, int *ymax)
 find deconposition level and its resolution size C.4.1 Mapping view-window requests to codestream image resolution and regions Note: only round-down implemented More...
 
int comp_decomplev (int fw, int fh, int Xsiz, int Ysiz)
 compute decomposition level (only to get the level use find_level for all parameters More...
 
void print_imgreg (imgreg_param_t imgreg)
 print image region parameters More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct imgreg_param imgreg_param_t
+
+ +

image region parameters

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int comp_decomplev (int fw,
int fh,
int Xsiz,
int Ysiz 
)
+
+ +

compute decomposition level (only to get the level use find_level for all parameters

+
Parameters
+ + + + + +
[in]fwhorizontal frame size
[in]fhvertical frame size
[in]Xsizimage width
[in]Ysizimage height
+
+
+
Returns
decomposition level
+ +

References find_level().

+ +

Referenced by recons_codestream_from_JPPstream(), and recons_codestream_from_JPTstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void find_level (int maxlev,
int * lev,
int * fx,
int * fy,
int * xmin,
int * ymin,
int * xmax,
int * ymax 
)
+
+ +

find deconposition level and its resolution size C.4.1 Mapping view-window requests to codestream image resolution and regions Note: only round-down implemented

+
Parameters
+ + + + + + + + + +
[in]maxlevmaximum decomposition level
[in,out]levdecomposition level pointer
[in,out]fxhorizontal frame size pointer
[in,out]fyvertical frame size pointer
[in,out]xminhorizontal image offset pointer
[in,out]yminvertical image offset pointer
[in,out]xmaxhorizontal image size pointer
[in,out]ymaxvertical image size pointer
+
+
+ +

References FCGI_stderr, and find_level().

+ +

Referenced by comp_decomplev(), find_level(), and map_viewin2imgreg().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
imgreg_param_t map_viewin2imgreg (const int fx,
const int fy,
const int rx,
const int ry,
const int rw,
const int rh,
const int XOsiz,
const int YOsiz,
const int Xsiz,
const int Ysiz,
const int numOfreslev 
)
+
+ +

map view-window requests to codestream image resolutions and regions

+
Parameters
+ + + + + + + +
[in]fx,fyframe size
[in]rx,ryoffset of region
[in]rw,rhsize of region
[in]XOsiz,YOsizoffset from the origin of the reference grid to the left side of the image area
[in]Xsiz,Ysizsize of the reference grid
[in]numOfreslevnumber of resolution levels
+
+
+
Returns
structure of image region parameters
+ +

References FCGI_stdout, find_level(), imgreg_param::fx, imgreg_param::fy, imgreg_param::level, imgreg_param::ox, imgreg_param::oy, imgreg_param::sx, imgreg_param::sy, imgreg_param::xosiz, and imgreg_param::yosiz.

+ +

Referenced by enqueue_imagedata().

+ +
+
+ +
+
+ + + + + + + + +
void print_imgreg (imgreg_param_t imgreg)
+
+ +

print image region parameters

+
Parameters
+ + +
[in]imgregimage region structure of parameters
+
+
+ +

References imgreg_param::fx, imgreg_param::fy, imgreg_param::level, logstream, imgreg_param::ox, imgreg_param::oy, imgreg_param::sx, and imgreg_param::sy.

+ +
+
+
+ + + + diff --git a/doxygen/imgreg__manager_8h_source.html b/doxygen/imgreg__manager_8h_source.html new file mode 100644 index 00000000..598341ec --- /dev/null +++ b/doxygen/imgreg__manager_8h_source.html @@ -0,0 +1,136 @@ + + + + + + +OpenJPEG: imgreg_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
imgreg_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef IMGREG_MANAGER_H_
+
32 # define IMGREG_MANAGER_H_
+
33 
+
35 typedef struct imgreg_param{
+
36  int xosiz, yosiz;
+
38  int fx, fy;
+
39  int ox, oy;
+
40  int sx, sy;
+
41  int level;
+ +
43 
+
44 
+
56 imgreg_param_t map_viewin2imgreg( const int fx, const int fy,
+
57  const int rx, const int ry,
+
58  const int rw, const int rh,
+
59  const int XOsiz, const int YOsiz,
+
60  const int Xsiz, const int Ysiz,
+
61  const int numOfreslev);
+
62 
+
63 
+
79 void find_level( int maxlev, int *lev, int *fx, int *fy, int *xmin, int *ymin, int *xmax, int *ymax);
+
80 
+
91 int comp_decomplev( int fw, int fh, int Xsiz, int Ysiz);
+
92 
+
98 void print_imgreg( imgreg_param_t imgreg);
+
99 
+
100 
+
101 #endif /* !IMGREG_MANAGER_H_ */
+
void find_level(int maxlev, int *lev, int *fx, int *fy, int *xmin, int *ymin, int *xmax, int *ymax)
find deconposition level and its resolution size C.4.1 Mapping view-window requests to codestream ima...
Definition: imgreg_manager.c:105
+
int oy
Definition: imgreg_manager.h:39
+
int xosiz
Definition: imgreg_manager.h:36
+
int fy
Definition: imgreg_manager.h:38
+
int ox
frame size (fsiz)
Definition: imgreg_manager.h:39
+
int fx
offset from the origin of the reference grid at the decomposition level
Definition: imgreg_manager.h:38
+
int level
region size (rsiz)
Definition: imgreg_manager.h:41
+
int sx
offset (roff)
Definition: imgreg_manager.h:40
+
int sy
Definition: imgreg_manager.h:40
+
image region parameters
Definition: imgreg_manager.h:35
+
int yosiz
Definition: imgreg_manager.h:36
+
imgreg_param_t map_viewin2imgreg(const int fx, const int fy, const int rx, const int ry, const int rw, const int rh, const int XOsiz, const int YOsiz, const int Xsiz, const int Ysiz, const int numOfreslev)
map view-window requests to codestream image resolutions and regions
Definition: imgreg_manager.c:46
+
void print_imgreg(imgreg_param_t imgreg)
print image region parameters
Definition: imgreg_manager.c:146
+
struct imgreg_param imgreg_param_t
image region parameters
+
int comp_decomplev(int fw, int fh, int Xsiz, int Ysiz)
compute decomposition level (only to get the level use find_level for all parameters ...
Definition: imgreg_manager.c:130
+
+ + + + diff --git a/doxygen/imgsock__manager_8c.html b/doxygen/imgsock__manager_8c.html new file mode 100644 index 00000000..7f768452 --- /dev/null +++ b/doxygen/imgsock__manager_8c.html @@ -0,0 +1,522 @@ + + + + + + +OpenJPEG: imgsock_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
imgsock_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "imgsock_manager.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

msgtype_t identify_clientmsg (SOCKET connected_socket)
 indeitify client message type More...
 
Byte_treceive_JPIPstream (SOCKET connected_socket, char **target, char **tid, char **cid, OPJ_SIZE_T *streamlen)
 receive a JPT- JPP- stream from client More...
 
void send_XMLstream (SOCKET connected_socket, Byte_t *xmlstream, OPJ_SIZE_T length)
 send XML data stream to the client More...
 
void send_IDstream (SOCKET connected_socket, const char *id, OPJ_SIZE_T idlen, const char *label)
 
void send_CIDstream (SOCKET connected_socket, const char *cid, OPJ_SIZE_T cidlen)
 send CID data stream to the client More...
 
void send_TIDstream (SOCKET connected_socket, const char *tid, OPJ_SIZE_T tidlen)
 send TID data stream to the client More...
 
void send_PNMstream (SOCKET connected_socket, Byte_t *pnmstream, unsigned int width, unsigned int height, unsigned int numofcomp, Byte_t maxval)
 send PGM/PPM image stream to the client More...
 
void send_SIZstream (SOCKET connected_socket, unsigned int width, unsigned int height)
 send SIZ data stream to the client More...
 
void response_signal (SOCKET connected_socket, OPJ_BOOL succeed)
 send response signal to the client More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
msgtype_t identify_clientmsg (SOCKET connected_socket)
+
+ +

indeitify client message type

+
Parameters
+ + +
[in]connected_socketfile descriptor of the connected socket
+
+
+
Returns
message type
+ +

References BUF_LEN, MSGERROR, NUM_OF_MSGTYPES, and receive_line().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* receive_JPIPstream (SOCKET connected_socket,
char ** target,
char ** tid,
char ** cid,
OPJ_SIZE_Tstreamlen 
)
+
+ +

receive a JPT- JPP- stream from client

+
Parameters
+ + + + + + +
[in]connected_socketfile descriptor of the connected socket
[out]targetaddress of received target file name string pointer ( malloced, if not received, NULL)
[out]tidaddress of received target identifier string pointer ( malloced, if not received, null string)
[out]cidaddress of received channel identifier string pointer ( malloced, if not received, null string)
[out]streamlenlength of the received codestream
+
+
+
Returns
JPT- JPP- codestream
+ +

References BUF_LEN, receive_line(), and receive_stream().

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void response_signal (SOCKET connected_socket,
OPJ_BOOL succeed 
)
+
+ +

send response signal to the client

+
Parameters
+ + + +
[in]connected_socketfile descriptor of the connected socket
[in]succeedwhether if the requested process succeeded
+
+
+ +

References send_stream().

+ +

Referenced by handle_dstCIDreqMSG(), and handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_CIDstream (SOCKET connected_socket,
const char * cid,
OPJ_SIZE_T cidlen 
)
+
+ +

send CID data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]cidcid string
[in]cidlenlegnth of the cid string
+
+
+ +

References send_IDstream().

+ +

Referenced by handle_CIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void send_IDstream (SOCKET connected_socket,
const char * id,
OPJ_SIZE_T idlen,
const char * label 
)
+
+ +

References send_stream().

+ +

Referenced by send_CIDstream(), and send_TIDstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void send_PNMstream (SOCKET connected_socket,
Byte_tpnmstream,
unsigned int width,
unsigned int height,
unsigned int numofcomp,
Byte_t maxval 
)
+
+ +

send PGM/PPM image stream to the client

+
Parameters
+ + + + + + + +
[in]connected_socketfile descriptor of the connected socket
[in]pnmstreamPGM/PPM image codestream
[in]widthwidth of the PGM/PPM image (different from the original image)
[in]heightheight of the PGM/PPM image
[in]numofcompnumber of components of the image
[in]maxvalmaximum value of the image (only 255 supported)
+
+
+ +

References send_stream().

+ +

Referenced by handle_PNMreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_SIZstream (SOCKET connected_socket,
unsigned int width,
unsigned int height 
)
+
+ +

send SIZ data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]widthoriginal width of the image
[in]heightoriginal height of the image
+
+
+ +

References send_stream().

+ +

Referenced by handle_SIZreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_TIDstream (SOCKET connected_socket,
const char * tid,
OPJ_SIZE_T tidlen 
)
+
+ +

send TID data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]tidtid string
[in]tidlenlegnth of the tid string
+
+
+ +

References send_IDstream().

+ +

Referenced by handle_TIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_XMLstream (SOCKET connected_socket,
Byte_txmlstream,
OPJ_SIZE_T length 
)
+
+ +

send XML data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]xmlstreamxml data stream
[in]lengthlegnth of the xml data stream
+
+
+ +

References send_stream().

+ +

Referenced by handle_XMLreqMSG().

+ +
+
+
+ + + + diff --git a/doxygen/imgsock__manager_8h.html b/doxygen/imgsock__manager_8h.html new file mode 100644 index 00000000..9c05e7c9 --- /dev/null +++ b/doxygen/imgsock__manager_8h.html @@ -0,0 +1,620 @@ + + + + + + +OpenJPEG: imgsock_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
imgsock_manager.h File Reference
+
+
+
#include "byte_manager.h"
+#include "sock_manager.h"
+#include "opj_includes.h"
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define NUM_OF_MSGTYPES   9
 
+ + + +

+Typedefs

typedef enum eMSGTYPE msgtype_t
 
+ + + +

+Enumerations

enum  eMSGTYPE {
+  JPIPSTREAM, +PNMREQ, +XMLREQ, +TIDREQ, +
+  CIDREQ, +CIDDST, +SIZREQ, +JP2SAVE, +
+  QUIT, +MSGERROR +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

msgtype_t identify_clientmsg (SOCKET connected_socket)
 indeitify client message type More...
 
Byte_treceive_JPIPstream (SOCKET connected_socket, char **target, char **tid, char **cid, OPJ_SIZE_T *streamlen)
 receive a JPT- JPP- stream from client More...
 
void send_PNMstream (SOCKET connected_socket, Byte_t *pnmstream, unsigned int width, unsigned int height, unsigned int numofcomp, Byte_t maxval)
 send PGM/PPM image stream to the client More...
 
void send_XMLstream (SOCKET connected_socket, Byte_t *xmlstream, OPJ_SIZE_T length)
 send XML data stream to the client More...
 
void send_TIDstream (SOCKET connected_socket, const char *tid, OPJ_SIZE_T tidlen)
 send TID data stream to the client More...
 
void send_CIDstream (SOCKET connected_socket, const char *cid, OPJ_SIZE_T cidlen)
 send CID data stream to the client More...
 
void send_SIZstream (SOCKET connected_socket, unsigned int width, unsigned int height)
 send SIZ data stream to the client More...
 
void response_signal (SOCKET connected_socket, OPJ_BOOL succeed)
 send response signal to the client More...
 
+

Detailed Description

+

PROTOCOL specification to communicate with opj_dec_server

+

+JPIP-stream

+

Cache JPT- JPP- stream in server

+

client -> server: JPIP-stream\n version 1.1\n (optional for cid registration: targetnamestring\n tidstring\n cidstring\n) bytelengthvalue\n data
+ server -> client: 1 or 0 (of 1Byte response signal)

+

+PNM request

+

Get decoded PGM/PPM image

+

client -> server: PNM request\n [cid/tid]string\n fw\n fh\n
+ server -> client: P6 or P5 (2Byte) width (2Byte Big endian) height (2Byte Big endian) maxval (1Byte) data

+

+XML request

+

Get XML data

+

client -> server: XML request\n
+ server -> client: XML (3Byte) length (2Byte Big endian) data

+

+TID request

+

Get target ID of target image

+

client -> server: TID request\n targetname\n
+ server -> client: TID (3Byte) length (1Byte) tiddata

+

+CID request

+

Get Channel ID of identical target image

+

client -> server: CID request\n targetname\n
+ server -> client: CID (3Byte) length (1Byte) ciddata

+

+CID destroy

+

Close Channel ID

+

client -> server: CID destroy\n ciddata
+ server -> client: 1 or 0 (of 1Byte response signal)

+

+SIZ request

+

Get original size of image

+

client -> server: SIZ request\n tidstring\n cidstring\n
+ server -> client: SIZ (3Byte) width (3Byte Big endian) height (3Byte Big endian)

+

+JP2 save

+

Save in JP2 file format

+

client -> server: JP2 save\n ciddata
+ server -> client: 1 or 0 (of 1Byte response signal)

+

+QUIT

+

Quit the opj_dec_server program

+

client -> server: quit or QUIT

+

Macro Definition Documentation

+ +
+
+ + + + +
#define NUM_OF_MSGTYPES   9
+
+ +

Referenced by identify_clientmsg().

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef enum eMSGTYPE msgtype_t
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum eMSGTYPE
+
+ + + + + + + + + + + +
Enumerator
JPIPSTREAM  +
PNMREQ  +
XMLREQ  +
TIDREQ  +
CIDREQ  +
CIDDST  +
SIZREQ  +
JP2SAVE  +
QUIT  +
MSGERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
msgtype_t identify_clientmsg (SOCKET connected_socket)
+
+ +

indeitify client message type

+
Parameters
+ + +
[in]connected_socketfile descriptor of the connected socket
+
+
+
Returns
message type
+ +

References BUF_LEN, MSGERROR, NUM_OF_MSGTYPES, and receive_line().

+ +

Referenced by handle_clientreq().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* receive_JPIPstream (SOCKET connected_socket,
char ** target,
char ** tid,
char ** cid,
OPJ_SIZE_Tstreamlen 
)
+
+ +

receive a JPT- JPP- stream from client

+
Parameters
+ + + + + + +
[in]connected_socketfile descriptor of the connected socket
[out]targetaddress of received target file name string pointer ( malloced, if not received, NULL)
[out]tidaddress of received target identifier string pointer ( malloced, if not received, null string)
[out]cidaddress of received channel identifier string pointer ( malloced, if not received, null string)
[out]streamlenlength of the received codestream
+
+
+
Returns
JPT- JPP- codestream
+ +

References BUF_LEN, receive_line(), and receive_stream().

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void response_signal (SOCKET connected_socket,
OPJ_BOOL succeed 
)
+
+ +

send response signal to the client

+
Parameters
+ + + +
[in]connected_socketfile descriptor of the connected socket
[in]succeedwhether if the requested process succeeded
+
+
+ +

References send_stream().

+ +

Referenced by handle_dstCIDreqMSG(), and handle_JPIPstreamMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_CIDstream (SOCKET connected_socket,
const char * cid,
OPJ_SIZE_T cidlen 
)
+
+ +

send CID data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]cidcid string
[in]cidlenlegnth of the cid string
+
+
+ +

References send_IDstream().

+ +

Referenced by handle_CIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void send_PNMstream (SOCKET connected_socket,
Byte_tpnmstream,
unsigned int width,
unsigned int height,
unsigned int numofcomp,
Byte_t maxval 
)
+
+ +

send PGM/PPM image stream to the client

+
Parameters
+ + + + + + + +
[in]connected_socketfile descriptor of the connected socket
[in]pnmstreamPGM/PPM image codestream
[in]widthwidth of the PGM/PPM image (different from the original image)
[in]heightheight of the PGM/PPM image
[in]numofcompnumber of components of the image
[in]maxvalmaximum value of the image (only 255 supported)
+
+
+ +

References send_stream().

+ +

Referenced by handle_PNMreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_SIZstream (SOCKET connected_socket,
unsigned int width,
unsigned int height 
)
+
+ +

send SIZ data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]widthoriginal width of the image
[in]heightoriginal height of the image
+
+
+ +

References send_stream().

+ +

Referenced by handle_SIZreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_TIDstream (SOCKET connected_socket,
const char * tid,
OPJ_SIZE_T tidlen 
)
+
+ +

send TID data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]tidtid string
[in]tidlenlegnth of the tid string
+
+
+ +

References send_IDstream().

+ +

Referenced by handle_TIDreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void send_XMLstream (SOCKET connected_socket,
Byte_txmlstream,
OPJ_SIZE_T length 
)
+
+ +

send XML data stream to the client

+
Parameters
+ + + + +
[in]connected_socketfile descriptor of the connected socket
[in]xmlstreamxml data stream
[in]lengthlegnth of the xml data stream
+
+
+ +

References send_stream().

+ +

Referenced by handle_XMLreqMSG().

+ +
+
+
+ + + + diff --git a/doxygen/imgsock__manager_8h_source.html b/doxygen/imgsock__manager_8h_source.html new file mode 100644 index 00000000..f13d78c2 --- /dev/null +++ b/doxygen/imgsock__manager_8h_source.html @@ -0,0 +1,148 @@ + + + + + + +OpenJPEG: imgsock_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
imgsock_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef IMGSOCK_MANAGER_H_
+
32 # define IMGSOCK_MANAGER_H_
+
33 
+
34 #include "byte_manager.h"
+
35 #include "sock_manager.h"
+
36 #include "opj_includes.h"
+
37 
+
38 #define NUM_OF_MSGTYPES 9
+ +
40 
+
47 msgtype_t identify_clientmsg( SOCKET connected_socket);
+
48 
+
59 Byte_t * receive_JPIPstream( SOCKET connected_socket, char **target, char **tid, char **cid, OPJ_SIZE_T *streamlen);
+
60 
+
71 void send_PNMstream( SOCKET connected_socket, Byte_t *pnmstream, unsigned int width, unsigned int height, unsigned int numofcomp, Byte_t maxval);
+
72 
+
80 void send_XMLstream( SOCKET connected_socket, Byte_t *xmlstream, OPJ_SIZE_T length);
+
81 
+
89 void send_TIDstream( SOCKET connected_socket, const char *tid, OPJ_SIZE_T tidlen);
+
90 
+
98 void send_CIDstream( SOCKET connected_socket, const char *cid, OPJ_SIZE_T cidlen);
+
99 
+
107 void send_SIZstream( SOCKET connected_socket, unsigned int width, unsigned int height);
+
108 
+
115 void response_signal( SOCKET connected_socket, OPJ_BOOL succeed);
+
116 
+
117 #endif /* !IMGSOCK_MANAGER_H_ */
+
118 
+
void send_SIZstream(SOCKET connected_socket, unsigned int width, unsigned int height)
send SIZ data stream to the client
Definition: imgsock_manager.c:182
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
void send_XMLstream(SOCKET connected_socket, Byte_t *xmlstream, OPJ_SIZE_T length)
send XML data stream to the client
Definition: imgsock_manager.c:124
+
void send_CIDstream(SOCKET connected_socket, const char *cid, OPJ_SIZE_T cidlen)
send CID data stream to the client
Definition: imgsock_manager.c:140
+
Definition: imgsock_manager.h:39
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
Byte_t * receive_JPIPstream(SOCKET connected_socket, char **target, char **tid, char **cid, OPJ_SIZE_T *streamlen)
receive a JPT- JPP- stream from client
Definition: imgsock_manager.c:66
+
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+
int SOCKET
Definition: sock_manager.h:40
+
eMSGTYPE
Definition: imgsock_manager.h:39
+
msgtype_t identify_clientmsg(SOCKET connected_socket)
indeitify client message type
Definition: imgsock_manager.c:39
+
Definition: imgsock_manager.h:39
+
enum eMSGTYPE msgtype_t
+
Definition: imgsock_manager.h:39
+
Definition: imgsock_manager.h:39
+
void response_signal(SOCKET connected_socket, OPJ_BOOL succeed)
send response signal to the client
Definition: imgsock_manager.c:199
+ + +
Definition: imgsock_manager.h:39
+
Definition: imgsock_manager.h:39
+
Definition: imgsock_manager.h:39
+
void send_TIDstream(SOCKET connected_socket, const char *tid, OPJ_SIZE_T tidlen)
send TID data stream to the client
Definition: imgsock_manager.c:145
+
void send_PNMstream(SOCKET connected_socket, Byte_t *pnmstream, unsigned int width, unsigned int height, unsigned int numofcomp, Byte_t maxval)
send PGM/PPM image stream to the client
Definition: imgsock_manager.c:163
+ +
Definition: imgsock_manager.h:39
+
Definition: imgsock_manager.h:39
+
Definition: imgsock_manager.h:39
+
+ + + + diff --git a/doxygen/index.html b/doxygen/index.html new file mode 100644 index 00000000..f17ebafd --- /dev/null +++ b/doxygen/index.html @@ -0,0 +1,75 @@ + + + + + + +OpenJPEG: OpenJPEG v2.1.0 Documentation + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + +
+
+
+
OpenJPEG v2.1.0 Documentation
+
+
+

+Introduction

+

This manual documents the low-level OpenJPEG C API.
+The OpenJPEG library is an open-source JPEG 2000 library developed in order to promote the use of JPEG 2000.
+This documents is focused on the main part of the library which try to implement Part 1 and Part 2 of the JPEG2000 norm.
+

+

+Home page

+

The Home Page of the OpenJPEG project can be found at:

+

http://www.openjpeg.org/

+

The source code repository is available here:

+

http://github.com/uclouvain/openjpeg

+

The OpenJPEG mailing list is located here:

+

http://groups.google.com/group/openjpeg

+

The test files repository is available here:

+

http://github.com/uclouvain/openjpeg-data

+

+License

+

This software is released under the BSD license, anybody can use or modify the library, even for commercial applications.
+The only restriction is to retain the copyright in the sources or the binaries documentation.
+Neither the author, nor the university accept any responsibility for any kind of error or data loss which may occur during usage.

+
Author
OpenJPEG Team
+
+ + + + diff --git a/doxygen/index__manager_8c.html b/doxygen/index__manager_8c.html new file mode 100644 index 00000000..e7cec6b6 --- /dev/null +++ b/doxygen/index__manager_8c.html @@ -0,0 +1,1060 @@ + + + + + + +OpenJPEG: index_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
index_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#include "opj_inttypes.h"
+#include "index_manager.h"
+#include "box_manager.h"
+#include "manfbox_manager.h"
+#include "mhixbox_manager.h"
+#include "codestream_manager.h"
+#include "marker_manager.h"
+#include "faixbox_manager.h"
+#include "boxheader_manager.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

OPJ_BOOL check_JP2boxidx (boxlist_param_t *toplev_boxlist)
 chekc JP2 box indexing More...
 
OPJ_BOOL set_cidxdata (box_param_t *cidx_box, index_param_t *codeidx)
 set code index parameters (parse cidx box) Annex I More...
 
index_param_tparse_jp2file (int fd)
 parse JP2 file AnnexI: Indexing JPEG2000 files for JPIP More...
 
void print_index (index_param_t index)
 print index parameters More...
 
void print_SIZ (SIZmarker_param_t SIZ)
 print Image and Tile SIZ parameters More...
 
void print_COD (CODmarker_param_t COD)
 print Coding style default COD parameters More...
 
void delete_index (index_param_t **index)
 delete index More...
 
void delete_COD (CODmarker_param_t COD)
 delete dynamic arrays in COD marker More...
 
OPJ_BOOL set_cptrdata (box_param_t *cidx_box, index_param_t *jp2idx)
 set code index parameters from cptr box I.3.2.2 Codestream Finder box More...
 
OPJ_BOOL set_mainmhixdata (box_param_t *cidx_box, codestream_param_t codestream, index_param_t *jp2idx)
 set code index parameters from mhix box for main header I.3.2.4.3 Header Index Table box More...
 
OPJ_BOOL set_tpixdata (box_param_t *cidx_box, index_param_t *jp2idx)
 set code index parameters from tpix box I.3.2.4.4 Tile-part Index Table box More...
 
OPJ_BOOL set_thixdata (box_param_t *cidx_box, index_param_t *jp2idx)
 set code index parameters from thix box I.3.2.4.5 Tile Header Index Table box More...
 
OPJ_BOOL set_ppixdata (box_param_t *cidx_box, index_param_t *jp2idx)
 set code index parameters from ppix box I.3.2.4.6 Precinct Packet Index Table box More...
 
OPJ_BOOL set_SIZmkrdata (markeridx_param_t *sizmkidx, codestream_param_t codestream, SIZmarker_param_t *SIZ)
 set SIZ marker information A.5 Fixed information marker segment A.5.1 Image and tile size (SIZ) More...
 
OPJ_BOOL set_CODmkrdata (markeridx_param_t *codmkidx, codestream_param_t codestream, CODmarker_param_t *COD)
 set code index parameters from COD marker in codestream A.6 Functional marker segments A.6.1 Coding style default (COD) More...
 
Byte4_t max (Byte4_t n1, Byte4_t n2)
 
Byte4_t min (Byte4_t n1, Byte4_t n2)
 
range_param_t get_tile_range (Byte4_t Osiz, Byte4_t siz, Byte4_t TOsiz, Byte4_t Tsiz, Byte4_t tile_XYid, int level)
 
range_param_t get_tile_Xrange (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 get horizontal range of the tile in reference grid More...
 
range_param_t get_tile_Yrange (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 get vertical range of the tile in reference grid More...
 
Byte4_t get_tile_XSiz (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 get tile wdith at the decomposition level More...
 
Byte4_t get_tile_YSiz (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 
OPJ_BOOL isJPTfeasible (index_param_t index)
 answers if the target is feasible to JPT-stream More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+
+

Function Documentation

+ +
+
+ + + + + + + + +
OPJ_BOOL check_JP2boxidx (boxlist_param_ttoplev_boxlist)
+
+ +

chekc JP2 box indexing

+
Parameters
+ + +
[in]toplev_boxlisttop level box list
+
+
+
Returns
if correct (true) or wrong (false)
+ +

References FCGI_stderr, fetch_DBox1byte(), fetch_DBox8bytebigendian(), gene_childboxbyType(), gene_childboxheader(), boxheader_param::headlen, boxheader_param::length, box_param::length, box_param::offset, OPJ_FALSE, opj_free, OPJ_TRUE, search_box(), and boxheader_param::type.

+ +

Referenced by parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + +
void delete_COD (CODmarker_param_t COD)
+
+ +

delete dynamic arrays in COD marker

+
Parameters
+ + +
[in]CODCOD marker information
+
+
+ +

References opj_free, CODmarker_param::XPsiz, and CODmarker_param::YPsiz.

+ +

Referenced by delete_index(), and recons_codestream_from_JPPstream().

+ +
+
+ +
+
+ + + + + + + + +
void delete_index (index_param_t ** index)
+
+ +

delete index

+
Parameters
+ + +
[in,out]indexaddressof the index pointer
+
+
+ +

References delete_COD(), delete_faixbox(), delete_metadatalist(), delete_mhixbox(), and opj_free.

+ +

Referenced by delete_target(), and destroy_index().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
range_param_t get_tile_range (Byte4_t Osiz,
Byte4_t siz,
Byte4_t TOsiz,
Byte4_t Tsiz,
Byte4_t tile_XYid,
int level 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
range_param_t get_tile_Xrange (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+ +

get horizontal range of the tile in reference grid

+
Parameters
+ + + + +
[in]SIZSIZ marker information
[in]tile_idtile id
[in]leveldecomposition level
+
+
+
Returns
structured range parameter
+ +

References get_tile_range(), SIZmarker_param::XOsiz, SIZmarker_param::Xsiz, SIZmarker_param::XTnum, SIZmarker_param::XTOsiz, and SIZmarker_param::XTsiz.

+ +

Referenced by enqueue_imagedata(), and get_tile_XSiz().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte4_t get_tile_XSiz (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+ +

get tile wdith at the decomposition level

+
Parameters
+ + + + +
[in]SIZSIZ marker information
[in]tile_idtile id
[in]leveldecomposition level
+
+
+
Returns
tile width
+ +

References get_tile_Xrange(), range_param::maxvalue, and range_param::minvalue.

+ +

Referenced by comp_numOfprcts(), enqueue_allprecincts(), and enqueue_precincts().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
range_param_t get_tile_Yrange (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+ +

get vertical range of the tile in reference grid

+
Parameters
+ + + + +
[in]SIZSIZ marker information
[in]tile_idtile id
[in]leveldecomposition level
+
+
+
Returns
structured range parameter
+ +

References get_tile_range(), SIZmarker_param::XTnum, SIZmarker_param::YOsiz, SIZmarker_param::Ysiz, SIZmarker_param::YTOsiz, and SIZmarker_param::YTsiz.

+ +

Referenced by enqueue_imagedata(), and get_tile_YSiz().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte4_t get_tile_YSiz (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+
+ +
+
+ + + + + + + + +
OPJ_BOOL isJPTfeasible (index_param_t index)
+
+ +

answers if the target is feasible to JPT-stream

+
Parameters
+ + +
[in]indexindex parameters
+
+
+
Returns
true if JPT-stream is feasible
+ +

References get_nmax(), OPJ_FALSE, OPJ_TRUE, and index_param::tilepart.

+ +

Referenced by gene_target().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t max (Byte4_t n1,
Byte4_t n2 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte4_t min (Byte4_t n1,
Byte4_t n2 
)
+
+
+ +
+
+ + + + + + + + +
index_param_t* parse_jp2file (int fd)
+
+ +

parse JP2 file AnnexI: Indexing JPEG2000 files for JPIP

+
Parameters
+ + +
[in]fdfile descriptor of the JP2 file
+
+
+
Returns
pointer to the generated structure of index parameters
+ +

References check_JP2boxidx(), const_metadatalist(), delete_boxlist(), FCGI_stderr, get_boxstructure(), get_filesize(), logstream, index_param::metadatalist, opj_free, opj_malloc, search_box(), and set_cidxdata().

+ +

Referenced by gene_target(), and get_index_from_JP2file().

+ +
+
+ +
+
+ + + + + + + + +
void print_COD (CODmarker_param_t COD)
+
+ +

print Coding style default COD parameters

+
Parameters
+ + +
[in]CODCOD marker information
+
+
+ +

References logstream, CODmarker_param::numOfdecomp, CODmarker_param::numOflayers, CODmarker_param::prog_order, CODmarker_param::Scod, CODmarker_param::XPsiz, and CODmarker_param::YPsiz.

+ +

Referenced by print_index().

+ +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_cidxdata (box_param_tcidx_box,
index_param_tcodeidx 
)
+
+ +

set code index parameters (parse cidx box) Annex I

+
Parameters
+ + + +
[in]cidx_boxpointer to the reference cidx_box
[out]codeidxpointer to index parameters
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References delete_manfbox(), FCGI_stderr, box_param::fd, gene_boxbyType(), gene_manfbox(), get_DBoxlen(), get_DBoxoff(), index_param::length, index_param::offset, OPJ_FALSE, opj_free, OPJ_TRUE, search_boxheader(), set_codestream(), set_cptrdata(), set_mainmhixdata(), set_ppixdata(), set_thixdata(), and set_tpixdata().

+ +

Referenced by parse_jp2file().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_CODmkrdata (markeridx_param_tcodmkidx,
codestream_param_t codestream,
CODmarker_param_tCOD 
)
+
+ +

set code index parameters from COD marker in codestream A.6 Functional marker segments A.6.1 Coding style default (COD)

+
Parameters
+ + + + +
[in]codmkidxpointer to COD marker index in mhix box
[in]codestreamcodestream parameters
[out]CODCOD marker parameters pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References markeridx_param::code, FCGI_stderr, fetch_marker1byte(), fetch_marker2bytebigendian(), CODmarker_param::Lcod, markeridx_param::length, CODmarker_param::numOfdecomp, CODmarker_param::numOflayers, markeridx_param::offset, OPJ_FALSE, opj_malloc, OPJ_TRUE, CODmarker_param::prog_order, CODmarker_param::Scod, set_marker(), CODmarker_param::XPsiz, and CODmarker_param::YPsiz.

+ +

Referenced by set_mainmhixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_cptrdata (box_param_tcidx_box,
index_param_tjp2idx 
)
+
+ +

set code index parameters from cptr box I.3.2.2 Codestream Finder box

+
Parameters
+ + + +
[in]cidx_boxpointer to the reference cidx_box
[out]jp2idxpointer to index parameters
+
+
+
Returns
if succeeded (true) or failed (false)
+

< cptr box

+ +

References FCGI_stderr, box_param::fd, fetch_DBox2bytebigendian(), fetch_DBox8bytebigendian(), gene_boxbyType(), get_DBoxlen(), get_DBoxoff(), index_param::length, index_param::offset, OPJ_FALSE, opj_free, and OPJ_TRUE.

+ +

Referenced by set_cidxdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_mainmhixdata (box_param_tcidx_box,
codestream_param_t codestream,
index_param_tjp2idx 
)
+
+ +

set code index parameters from mhix box for main header I.3.2.4.3 Header Index Table box

+
Parameters
+ + + + +
[in]cidx_boxpointer to the reference cidx_box
[in]codestreamcodestream parameters
[out]jp2idxpointer to index parameters
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References index_param::COD, delete_mhixbox(), box_param::fd, fetch_DBox8bytebigendian(), gene_boxbyType(), gene_mhixbox(), get_DBoxlen(), get_DBoxoff(), index_param::mhead_length, OPJ_FALSE, opj_free, OPJ_TRUE, search_markeridx(), set_CODmkrdata(), set_SIZmkrdata(), and index_param::SIZ.

+ +

Referenced by set_cidxdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_ppixdata (box_param_tcidx_box,
index_param_tjp2idx 
)
+
+ +

set code index parameters from ppix box I.3.2.4.6 Precinct Packet Index Table box

+
Parameters
+ + + +
[in]cidx_boxpointer to the reference cidx_box
[out]jp2idxpointer to index parameters
+
+
+
Returns
if succeeded (true) or failed (false)
+

< manf

+

< box headers

+

< faix

+ +

References SIZmarker_param::Csiz, delete_manfbox(), FCGI_stderr, box_param::fd, gene_boxbyOffset(), gene_boxbyType(), gene_faixbox(), gene_manfbox(), get_DBoxlen(), get_DBoxoff(), box_param::length, boxheader_param::next, box_param::offset, OPJ_FALSE, opj_free, opj_malloc, OPJ_TRUE, index_param::precpacket, search_boxheader(), and index_param::SIZ.

+ +

Referenced by set_cidxdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_SIZmkrdata (markeridx_param_tsizmkidx,
codestream_param_t codestream,
SIZmarker_param_tSIZ 
)
+
+ +

set SIZ marker information A.5 Fixed information marker segment A.5.1 Image and tile size (SIZ)

+
Parameters
+ + + + +
[in]sizmkidxpointer to SIZ marker index in mhix box
[in]codestreamcodestream parameters
[out]SIZSIZ marker parameters pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References markeridx_param::code, SIZmarker_param::Csiz, FCGI_stderr, fetch_marker1byte(), fetch_marker2bytebigendian(), fetch_marker4bytebigendian(), markeridx_param::length, SIZmarker_param::Lsiz, markeridx_param::offset, OPJ_FALSE, OPJ_TRUE, SIZmarker_param::Rsiz, set_marker(), SIZmarker_param::Ssiz, SIZmarker_param::XOsiz, SIZmarker_param::XRsiz, SIZmarker_param::Xsiz, SIZmarker_param::XTnum, SIZmarker_param::XTOsiz, SIZmarker_param::XTsiz, SIZmarker_param::YOsiz, SIZmarker_param::YRsiz, SIZmarker_param::Ysiz, SIZmarker_param::YTnum, SIZmarker_param::YTOsiz, and SIZmarker_param::YTsiz.

+ +

Referenced by set_mainmhixdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_thixdata (box_param_tcidx_box,
index_param_tjp2idx 
)
+
+ +

set code index parameters from thix box I.3.2.4.5 Tile Header Index Table box

+
Parameters
+ + + +
[in]cidx_boxpointer to the reference cidx_box
[out]jp2idxpointer to index parameters
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References delete_manfbox(), FCGI_stderr, box_param::fd, manfbox_param::first, gene_boxbyType(), gene_manfbox(), gene_mhixbox(), get_DBoxlen(), get_DBoxoff(), box_param::length, boxheader_param::next, box_param::offset, OPJ_FALSE, opj_free, opj_malloc, OPJ_TRUE, index_param::SIZ, index_param::tileheader, SIZmarker_param::XTnum, and SIZmarker_param::YTnum.

+ +

Referenced by set_cidxdata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL set_tpixdata (box_param_tcidx_box,
index_param_tjp2idx 
)
+
+ +

set code index parameters from tpix box I.3.2.4.4 Tile-part Index Table box

+
Parameters
+ + + +
[in]cidx_boxpointer to the reference cidx_box
[out]jp2idxpointer to index parameters
+
+
+
Returns
if succeeded (true) or failed (false)
+

< tpix box

+

< faix box

+ +

References FCGI_stderr, box_param::fd, gene_boxbyType(), gene_faixbox(), get_DBoxlen(), get_DBoxoff(), OPJ_FALSE, opj_free, OPJ_TRUE, and index_param::tilepart.

+ +

Referenced by set_cidxdata().

+ +
+
+
+ + + + diff --git a/doxygen/index__manager_8h.html b/doxygen/index__manager_8h.html new file mode 100644 index 00000000..2438179f --- /dev/null +++ b/doxygen/index__manager_8h.html @@ -0,0 +1,575 @@ + + + + + + +OpenJPEG: index_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
index_manager.h File Reference
+
+
+
#include "opj_config.h"
+#include "opj_includes.h"
+#include "byte_manager.h"
+#include "faixbox_manager.h"
+#include "metadata_manager.h"
+#include "mhixbox_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Data Structures

struct  SIZmarker_param
 progression order More...
 
struct  CODmarker_param
 A.6.1 Coding style default (COD) More...
 
struct  index_param
 index parameters More...
 
struct  range_param
 1-dimensional range parameters More...
 
+ + + + + + + + + + + + + +

+Typedefs

typedef struct SIZmarker_param SIZmarker_param_t
 progression order More...
 
typedef struct CODmarker_param CODmarker_param_t
 A.6.1 Coding style default (COD) More...
 
typedef struct index_param index_param_t
 index parameters More...
 
typedef struct range_param range_param_t
 1-dimensional range parameters More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

index_param_tparse_jp2file (int fd)
 parse JP2 file AnnexI: Indexing JPEG2000 files for JPIP More...
 
void print_index (index_param_t index)
 print index parameters More...
 
void print_SIZ (SIZmarker_param_t SIZ)
 print Image and Tile SIZ parameters More...
 
void print_COD (CODmarker_param_t COD)
 print Coding style default COD parameters More...
 
void delete_index (index_param_t **index)
 delete index More...
 
void delete_COD (CODmarker_param_t COD)
 delete dynamic arrays in COD marker More...
 
range_param_t get_tile_Xrange (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 get horizontal range of the tile in reference grid More...
 
range_param_t get_tile_Yrange (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 get vertical range of the tile in reference grid More...
 
Byte4_t get_tile_XSiz (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 get tile wdith at the decomposition level More...
 
Byte4_t get_tile_YSiz (SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
 
OPJ_BOOL isJPTfeasible (index_param_t index)
 answers if the target is feasible to JPT-stream More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct CODmarker_param CODmarker_param_t
+
+ +

A.6.1 Coding style default (COD)

+ +
+
+ +
+
+ + + + +
typedef struct index_param index_param_t
+
+ +

index parameters

+ +
+
+ +
+
+ + + + +
typedef struct range_param range_param_t
+
+ +

1-dimensional range parameters

+ +
+
+ +
+
+ + + + +
typedef struct SIZmarker_param SIZmarker_param_t
+
+ +

progression order

+

A.5.1 Image and tile size (SIZ)

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void delete_COD (CODmarker_param_t COD)
+
+ +

delete dynamic arrays in COD marker

+
Parameters
+ + +
[in]CODCOD marker information
+
+
+ +

References opj_free, CODmarker_param::XPsiz, and CODmarker_param::YPsiz.

+ +

Referenced by delete_index(), and recons_codestream_from_JPPstream().

+ +
+
+ +
+
+ + + + + + + + +
void delete_index (index_param_t ** index)
+
+ +

delete index

+
Parameters
+ + +
[in,out]indexaddressof the index pointer
+
+
+ +

References delete_COD(), delete_faixbox(), delete_metadatalist(), delete_mhixbox(), and opj_free.

+ +

Referenced by delete_target(), and destroy_index().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
range_param_t get_tile_Xrange (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+ +

get horizontal range of the tile in reference grid

+
Parameters
+ + + + +
[in]SIZSIZ marker information
[in]tile_idtile id
[in]leveldecomposition level
+
+
+
Returns
structured range parameter
+ +

References get_tile_range(), SIZmarker_param::XOsiz, SIZmarker_param::Xsiz, SIZmarker_param::XTnum, SIZmarker_param::XTOsiz, and SIZmarker_param::XTsiz.

+ +

Referenced by enqueue_imagedata(), and get_tile_XSiz().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte4_t get_tile_XSiz (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+ +

get tile wdith at the decomposition level

+
Parameters
+ + + + +
[in]SIZSIZ marker information
[in]tile_idtile id
[in]leveldecomposition level
+
+
+
Returns
tile width
+ +

References get_tile_Xrange(), range_param::maxvalue, and range_param::minvalue.

+ +

Referenced by comp_numOfprcts(), enqueue_allprecincts(), and enqueue_precincts().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
range_param_t get_tile_Yrange (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+ +

get vertical range of the tile in reference grid

+
Parameters
+ + + + +
[in]SIZSIZ marker information
[in]tile_idtile id
[in]leveldecomposition level
+
+
+
Returns
structured range parameter
+ +

References get_tile_range(), SIZmarker_param::XTnum, SIZmarker_param::YOsiz, SIZmarker_param::Ysiz, SIZmarker_param::YTOsiz, and SIZmarker_param::YTsiz.

+ +

Referenced by enqueue_imagedata(), and get_tile_YSiz().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte4_t get_tile_YSiz (SIZmarker_param_t SIZ,
Byte4_t tile_id,
int level 
)
+
+
+ +
+
+ + + + + + + + +
OPJ_BOOL isJPTfeasible (index_param_t index)
+
+ +

answers if the target is feasible to JPT-stream

+
Parameters
+ + +
[in]indexindex parameters
+
+
+
Returns
true if JPT-stream is feasible
+ +

References get_nmax(), OPJ_FALSE, OPJ_TRUE, and index_param::tilepart.

+ +

Referenced by gene_target().

+ +
+
+ +
+
+ + + + + + + + +
index_param_t* parse_jp2file (int fd)
+
+ +

parse JP2 file AnnexI: Indexing JPEG2000 files for JPIP

+
Parameters
+ + +
[in]fdfile descriptor of the JP2 file
+
+
+
Returns
pointer to the generated structure of index parameters
+ +

References check_JP2boxidx(), const_metadatalist(), delete_boxlist(), FCGI_stderr, get_boxstructure(), get_filesize(), logstream, index_param::metadatalist, opj_free, opj_malloc, search_box(), and set_cidxdata().

+ +

Referenced by gene_target(), and get_index_from_JP2file().

+ +
+
+ +
+
+ + + + + + + + +
void print_COD (CODmarker_param_t COD)
+
+ +

print Coding style default COD parameters

+
Parameters
+ + +
[in]CODCOD marker information
+
+
+ +

References logstream, CODmarker_param::numOfdecomp, CODmarker_param::numOflayers, CODmarker_param::prog_order, CODmarker_param::Scod, CODmarker_param::XPsiz, and CODmarker_param::YPsiz.

+ +

Referenced by print_index().

+ +
+
+ + + + +
+ + + + diff --git a/doxygen/index__manager_8h_source.html b/doxygen/index__manager_8h_source.html new file mode 100644 index 00000000..c6ebe470 --- /dev/null +++ b/doxygen/index__manager_8h_source.html @@ -0,0 +1,255 @@ + + + + + + +OpenJPEG: index_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
index_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef INDEX_MANAGER_H_
+
32 # define INDEX_MANAGER_H_
+
33 
+
34 #include "opj_config.h"
+
35 #include "opj_includes.h"
+
36 
+
37 #include "byte_manager.h"
+
38 #include "faixbox_manager.h"
+
39 #include "metadata_manager.h"
+
40 #include "mhixbox_manager.h"
+
41 
+
43 #if 0
+
44 typedef enum porder {
+
45  PROG_UNKNOWN = -1,
+
46  LRCP = 0,
+
47  RLCP = 1,
+
48  RPCL = 2,
+
49  PCRL = 3,
+
50  CPRL = 4
+
51 } porder_t;
+
52 #endif
+
53 
+
55 typedef struct SIZmarker_param{
+ + + + + + + + + + + + + +
69  Byte_t Ssiz[3];
+ + + +
73 
+
75 typedef struct CODmarker_param{
+ + + + + + + + +
84 
+
86 typedef struct index_param{
+ + + + + + + + + + +
97 
+
98 
+
106 index_param_t * parse_jp2file( int fd);
+
107 
+
113 void print_index( index_param_t index);
+
114 
+
120 void print_SIZ( SIZmarker_param_t SIZ);
+
121 
+
127 void print_COD( CODmarker_param_t COD);
+
128 
+
134 void delete_index( index_param_t **index);
+
135 
+
141 void delete_COD( CODmarker_param_t COD);
+
142 
+
143 
+
145 typedef struct range_param{
+ + +
148 } range_param_t;
+
149 
+
158 range_param_t get_tile_Xrange( SIZmarker_param_t SIZ, Byte4_t tile_id, int level);
+
159 
+
168 range_param_t get_tile_Yrange( SIZmarker_param_t SIZ, Byte4_t tile_id, int level);
+
169 
+
170 
+
179 Byte4_t get_tile_XSiz( SIZmarker_param_t SIZ, Byte4_t tile_id, int level);
+
180 Byte4_t get_tile_YSiz( SIZmarker_param_t SIZ, Byte4_t tile_id, int level);
+
181 
+
182 
+ +
190 
+
191 #endif /* !INDEX_MANAGER_H_ */
+
mhixbox_param_t ** tileheader
dynamic array of tile header information from thix box
Definition: index_manager.h:94
+
Byte_t Scod
Coding style for all components.
Definition: index_manager.h:77
+
Byte_t Ssiz[3]
precision (depth) in bits and sign of the component samples
Definition: index_manager.h:69
+
Byte4_t maxvalue
maximal value
Definition: index_manager.h:147
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
index_param_t * parse_jp2file(int fd)
parse JP2 file AnnexI: Indexing JPEG2000 files for JPIP
Definition: index_manager.c:73
+
range_param_t get_tile_Yrange(SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
get vertical range of the tile in reference grid
Definition: index_manager.c:672
+ +
Byte8_t length
codestream length
Definition: index_manager.h:89
+
progression order
Definition: index_manager.h:55
+
OPJ_OFF_T offset
codestream offset
Definition: index_manager.h:88
+
fragment array index box parameters
Definition: faixbox_manager.h:75
+
Byte4_t YTnum
number of tiles in vertical direction
Definition: index_manager.h:67
+
OPJ_PROG_ORDER prog_order
progression order
Definition: index_manager.h:78
+
Byte_t XRsiz[3]
horizontal separation of a sample of component with respect to the reference grid ...
Definition: index_manager.h:70
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
Byte2_t Csiz
number of the components in the image
Definition: index_manager.h:68
+
struct SIZmarker_param SIZmarker_param_t
progression order
+
struct index_param index_param_t
index parameters
+
Byte4_t YTsiz
height of one reference tile with respect to the reference grid
Definition: index_manager.h:63
+
Byte4_t XTOsiz
horizontal offset from the origin of the reference grid to the left side of the first tile ...
Definition: index_manager.h:64
+
Byte2_t numOflayers
number of layers
Definition: index_manager.h:79
+
faixbox_param_t * tilepart
tile part information from tpix box
Definition: index_manager.h:93
+ +
faixbox_param_t ** precpacket
dynamic array of precint packet information from ppix box
Definition: index_manager.h:95
+
metadatalist_param_t * metadatalist
metadata-bin list
Definition: index_manager.h:87
+
Byte4_t * XPsiz
dynamic array of precinct width at successive resolution level in order
Definition: index_manager.h:81
+
Byte2_t Lsiz
length of marker segment excluding the marker
Definition: index_manager.h:56
+
OPJ_BOOL isJPTfeasible(index_param_t index)
answers if the target is feasible to JPT-stream
Definition: index_manager.c:725
+
Byte2_t Rsiz
capabilities that a decoder needs
Definition: index_manager.h:57
+
Byte4_t YTOsiz
vertical offset from the origin of the reference grid to the top side of the first tile ...
Definition: index_manager.h:65
+
SIZmarker_param_t SIZ
SIZ marker information.
Definition: index_manager.h:91
+ +
index parameters
Definition: index_manager.h:86
+
Byte4_t get_tile_XSiz(SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
get tile wdith at the decomposition level
Definition: index_manager.c:692
+
Byte4_t get_tile_YSiz(SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
Definition: index_manager.c:700
+
void print_SIZ(SIZmarker_param_t SIZ)
print Image and Tile SIZ parameters
Definition: index_manager.c:149
+
void delete_index(index_param_t **index)
delete index
Definition: index_manager.c:180
+
Byte8_t mhead_length
main header length
Definition: index_manager.h:90
+
enum PROG_ORDER OPJ_PROG_ORDER
Progression order.
+
Byte4_t XTsiz
width of one reference tile with respect to the reference grid
Definition: index_manager.h:62
+
CODmarker_param_t COD
COD marker information.
Definition: index_manager.h:92
+
range_param_t get_tile_Xrange(SIZmarker_param_t SIZ, Byte4_t tile_id, int level)
get horizontal range of the tile in reference grid
Definition: index_manager.c:667
+
Byte4_t Ysiz
height of the reference grid
Definition: index_manager.h:59
+
Byte_t numOfdecomp
number of decompositions levels
Definition: index_manager.h:80
+
void print_COD(CODmarker_param_t COD)
print Coding style default COD parameters
Definition: index_manager.c:166
+
struct range_param range_param_t
1-dimensional range parameters
+
uint32_t Byte4_t
Definition: byte_manager.h:39
+
header index table box parameters
Definition: mhixbox_manager.h:52
+
void print_index(index_param_t index)
print index parameters
Definition: index_manager.c:121
+
Byte4_t * YPsiz
dynamic array of precinct height at successive resolution level in order
Definition: index_manager.h:82
+
Byte4_t XOsiz
horizontal offset from the origin of the reference grid to the left side of the image area ...
Definition: index_manager.h:60
+
Byte4_t YOsiz
vertical offset from the origin of the reference grid to the top side of the image area ...
Definition: index_manager.h:61
+ +
Byte4_t minvalue
minimal value
Definition: index_manager.h:146
+
struct CODmarker_param CODmarker_param_t
A.6.1 Coding style default (COD)
+
A.6.1 Coding style default (COD)
Definition: index_manager.h:75
+
Byte4_t XTnum
number of tiles in horizontal direction
Definition: index_manager.h:66
+
1-dimensional range parameters
Definition: index_manager.h:145
+
Byte_t YRsiz[3]
vertical separation of a sample of component with respect to the reference grid
Definition: index_manager.h:71
+ +
Byte4_t Xsiz
width of the reference grid
Definition: index_manager.h:58
+
void delete_COD(CODmarker_param_t COD)
delete dynamic arrays in COD marker
Definition: index_manager.c:201
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
Byte2_t Lcod
length of marker segment excluding the marker
Definition: index_manager.h:76
+
metadata-bin list parameters
Definition: metadata_manager.h:52
+
uint16_t Byte2_t
Definition: byte_manager.h:38
+
+ + + + diff --git a/doxygen/indexbox__manager_8h.html b/doxygen/indexbox__manager_8h.html new file mode 100644 index 00000000..81f5d12c --- /dev/null +++ b/doxygen/indexbox__manager_8h.html @@ -0,0 +1,829 @@ + + + + + + +OpenJPEG: indexbox_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
indexbox_manager.h File Reference
+
+
+ +

Modification of jpip.c from 2KAN indexer. +More...

+
#include "openjpeg.h"
+#include "j2k.h"
+#include "jp2.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define JPIP_CIDX   0x63696478 /* Codestream index */
 
#define JPIP_CPTR   0x63707472 /* Codestream Finder Box */
 
#define JPIP_MANF   0x6d616e66 /* Manifest Box */
 
#define JPIP_FAIX   0x66616978 /* Fragment array Index box */
 
#define JPIP_MHIX   0x6d686978 /* Main Header Index Table */
 
#define JPIP_TPIX   0x74706978 /* Tile-part Index Table box */
 
#define JPIP_THIX   0x74686978 /* Tile header Index Table box */
 
#define JPIP_PPIX   0x70706978 /* Precinct Packet Index Table box */
 
#define JPIP_PHIX   0x70686978 /* Packet Header index Table */
 
#define JPIP_FIDX   0x66696478 /* File Index */
 
#define JPIP_FPTR   0x66707472 /* File Finder */
 
#define JPIP_PRXY   0x70727879 /* Proxy boxes */
 
#define JPIP_IPTR   0x69707472 /* Index finder box */
 
#define JPIP_PHLD   0x70686c64 /* Place holder */
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

int opj_write_tpix (int coff, opj_codestream_info_t cstr_info, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_thix (int coff, opj_codestream_info_t cstr_info, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_ppix (int coff, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_phix (int coff, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
void opj_write_manf (int second, int v, opj_jp2_box_t *box, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_mainmhix (int coff, opj_codestream_info_t cstr_info, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_phixfaix (int coff, int compno, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_ppixfaix (int coff, int compno, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_tilemhix (int coff, opj_codestream_info_t cstr_info, int tileno, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
int opj_write_tpixfaix (int coff, int compno, opj_codestream_info_t cstr_info, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
+

Detailed Description

+

Modification of jpip.c from 2KAN indexer.

+

Macro Definition Documentation

+ +
+
+ + + + +
#define JPIP_CIDX   0x63696478 /* Codestream index */
+
+ +

Referenced by opj_write_cidx().

+ +
+
+ +
+
+ + + + +
#define JPIP_CPTR   0x63707472 /* Codestream Finder Box */
+
+ +

Referenced by opj_write_cptr().

+ +
+
+ +
+
+ + + + +
#define JPIP_FAIX   0x66616978 /* Fragment array Index box */
+
+
+ +
+
+ + + + +
#define JPIP_FIDX   0x66696478 /* File Index */
+
+ +
+
+ +
+
+ + + + +
#define JPIP_FPTR   0x66707472 /* File Finder */
+
+ +
+
+ +
+
+ + + + +
#define JPIP_IPTR   0x69707472 /* Index finder box */
+
+ +
+
+ +
+
+ + + + +
#define JPIP_MANF   0x6d616e66 /* Manifest Box */
+
+ +

Referenced by opj_write_manf().

+ +
+
+ +
+
+ + + + +
#define JPIP_MHIX   0x6d686978 /* Main Header Index Table */
+
+
+ +
+
+ + + + +
#define JPIP_PHIX   0x70686978 /* Packet Header index Table */
+
+ +

Referenced by opj_write_cidx(), and opj_write_phix().

+ +
+
+ +
+
+ + + + +
#define JPIP_PHLD   0x70686c64 /* Place holder */
+
+ +
+
+ +
+
+ + + + +
#define JPIP_PPIX   0x70706978 /* Precinct Packet Index Table box */
+
+ +

Referenced by opj_write_cidx(), and opj_write_ppix().

+ +
+
+ +
+
+ + + + +
#define JPIP_PRXY   0x70727879 /* Proxy boxes */
+
+ +
+
+ +
+
+ + + + +
#define JPIP_THIX   0x74686978 /* Tile header Index Table box */
+
+ +

Referenced by opj_write_cidx(), and opj_write_thix().

+ +
+
+ +
+
+ + + + +
#define JPIP_TPIX   0x74706978 /* Tile-part Index Table box */
+
+ +

Referenced by opj_write_cidx(), and opj_write_tpix().

+ +
+
+

Function Documentation

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_write_manf (int second,
int v,
opj_jp2_box_tbox,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int opj_write_phix (int coff,
opj_codestream_info_t cstr_info,
OPJ_BOOL EPHused,
int j2klen,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int opj_write_ppix (int coff,
opj_codestream_info_t cstr_info,
OPJ_BOOL EPHused,
int j2klen,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int opj_write_tilemhix (int coff,
opj_codestream_info_t cstr_info,
int tileno,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int opj_write_tpix (int coff,
opj_codestream_info_t cstr_info,
int j2klen,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int opj_write_tpixfaix (int coff,
int compno,
opj_codestream_info_t cstr_info,
int j2klen,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+
+
+ + + + diff --git a/doxygen/indexbox__manager_8h_source.html b/doxygen/indexbox__manager_8h_source.html new file mode 100644 index 00000000..2c40bb45 --- /dev/null +++ b/doxygen/indexbox__manager_8h_source.html @@ -0,0 +1,225 @@ + + + + + + +OpenJPEG: indexbox_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
indexbox_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id: indexbox_manager.h 897 2011-08-28 21:43:57Z Kaori.Hagihara@gmail.com $
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2003-2004, Yannick Verschueren
+
7  * Copyright (c) 2010-2011, Kaori Hagihara
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
36 #ifndef INDEXBOX_MANAGER_H_
+
37 # define INDEXBOX_MANAGER_H_
+
38 
+
39 #include "openjpeg.h"
+
40 #include "j2k.h" /* needed to use jp2.h */
+
41 #include "jp2.h"
+
42 
+
43 #define JPIP_CIDX 0x63696478 /* Codestream index */
+
44 #define JPIP_CPTR 0x63707472 /* Codestream Finder Box */
+
45 #define JPIP_MANF 0x6d616e66 /* Manifest Box */
+
46 #define JPIP_FAIX 0x66616978 /* Fragment array Index box */
+
47 #define JPIP_MHIX 0x6d686978 /* Main Header Index Table */
+
48 #define JPIP_TPIX 0x74706978 /* Tile-part Index Table box */
+
49 #define JPIP_THIX 0x74686978 /* Tile header Index Table box */
+
50 #define JPIP_PPIX 0x70706978 /* Precinct Packet Index Table box */
+
51 #define JPIP_PHIX 0x70686978 /* Packet Header index Table */
+
52 #define JPIP_FIDX 0x66696478 /* File Index */
+
53 #define JPIP_FPTR 0x66707472 /* File Finder */
+
54 #define JPIP_PRXY 0x70727879 /* Proxy boxes */
+
55 #define JPIP_IPTR 0x69707472 /* Index finder box */
+
56 #define JPIP_PHLD 0x70686c64 /* Place holder */
+
57 
+
58 
+
59 /*
+
60  * Write tile-part Index table box (superbox)
+
61  *
+
62  * @param[in] coff offset of j2k codestream
+
63  * @param[in] cstr_info codestream information
+
64  * @param[in] j2klen length of j2k codestream
+
65  * @param[in] cio file output handle
+
66  * @return length of tpix box
+
67  */
+
68 int opj_write_tpix( int coff, opj_codestream_info_t cstr_info, int j2klen, opj_stream_private_t *cio,
+
69  opj_event_mgr_t * p_manager );
+
70 
+
71 
+
72 /*
+
73  * Write tile header index table box (superbox)
+
74  *
+
75  * @param[in] coff offset of j2k codestream
+
76  * @param[in] cstr_info codestream information pointer
+
77  * @param[in] cio file output handle
+
78  * @return length of thix box
+
79  */
+
80 int opj_write_thix( int coff, opj_codestream_info_t cstr_info, opj_stream_private_t *cio, opj_event_mgr_t * p_manager );
+
81 
+
82 
+
83 /*
+
84  * Write precinct packet index table box (superbox)
+
85  *
+
86  * @param[in] coff offset of j2k codestream
+
87  * @param[in] cstr_info codestream information
+
88  * @param[in] EPHused true if EPH option used
+
89  * @param[in] j2klen length of j2k codestream
+
90  * @param[in] cio file output handle
+
91  * @return length of ppix box
+
92  */
+
93 int opj_write_ppix( int coff, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio,
+
94  opj_event_mgr_t * p_manager );
+
95 
+
96 
+
97 /*
+
98  * Write packet header index table box (superbox)
+
99  *
+
100  * @param[in] coff offset of j2k codestream
+
101  * @param[in] cstr_info codestream information
+
102  * @param[in] EPHused true if EPH option used
+
103  * @param[in] j2klen length of j2k codestream
+
104  * @param[in] cio file output handle
+
105  * @return length of ppix box
+
106  */
+
107 int opj_write_phix( int coff, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio,
+
108  opj_event_mgr_t * p_manager );
+
109 
+
110 /*
+
111  * Wriet manifest box (box)
+
112  *
+
113  * @param[in] second number to be visited
+
114  * @param[in] v number of boxes
+
115  * @param[in] box box to be manifested
+
116  * @param[in] cio file output handle
+
117  */
+
118 
+
119 void opj_write_manf(int second,
+
120  int v,
+
121  opj_jp2_box_t *box,
+ +
123  opj_event_mgr_t * p_manager );
+
124 
+
125 /*
+
126  * Write main header index table (box)
+
127  *
+
128  * @param[in] coff offset of j2k codestream
+
129  * @param[in] cstr_info codestream information
+
130  * @param[in] cio file output handle
+
131  * @return length of mainmhix box
+
132  */
+
133 int opj_write_mainmhix( int coff, opj_codestream_info_t cstr_info, opj_stream_private_t *cio,
+
134  opj_event_mgr_t * p_manager );
+
135 
+
136 int opj_write_phixfaix( int coff, int compno, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio,
+
137  opj_event_mgr_t * p_manager );
+
138 
+
139 int opj_write_ppixfaix( int coff, int compno, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio,
+
140  opj_event_mgr_t * p_manager );
+
141 
+
142 int opj_write_tilemhix( int coff, opj_codestream_info_t cstr_info, int tileno, opj_stream_private_t *cio,
+
143  opj_event_mgr_t * p_manager );
+
144 
+
145 int opj_write_tpixfaix( int coff, int compno, opj_codestream_info_t cstr_info, int j2klen, opj_stream_private_t *cio,
+
146  opj_event_mgr_t * p_manager );
+
147 
+
148 #endif /* !INDEXBOX_MANAGER_H_ */
+
Message handler object used for.
Definition: event.h:50
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
Byte input-output stream.
Definition: cio.h:87
+
JP2 Box.
Definition: jp2.h:204
+
int opj_write_phixfaix(int coff, int compno, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: phix_manager.c:90
+
int opj_write_tilemhix(int coff, opj_codestream_info_t cstr_info, int tileno, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: thix_manager.c:91
+
The JPEG-2000 Codestream Reader/Writer (J2K)
+
int opj_write_phix(int coff, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: phix_manager.c:51
+
int opj_write_tpixfaix(int coff, int compno, opj_codestream_info_t cstr_info, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: tpix_manager.c:86
+ +
int opj_write_ppix(int coff, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: ppix_manager.c:51
+
The JPEG-2000 file format Reader/Writer (JP2)
+
int opj_write_thix(int coff, opj_codestream_info_t cstr_info, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: thix_manager.c:40
+
int opj_write_ppixfaix(int coff, int compno, opj_codestream_info_t cstr_info, OPJ_BOOL EPHused, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: ppix_manager.c:97
+
int opj_write_mainmhix(int coff, opj_codestream_info_t cstr_info, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: cidx_manager.c:178
+
int opj_write_tpix(int coff, opj_codestream_info_t cstr_info, int j2klen, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: tpix_manager.c:60
+
Index structure of the codestream.
Definition: openjpeg.h:803
+
void opj_write_manf(int second, int v, opj_jp2_box_t *box, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Definition: cidx_manager.c:145
+
+ + + + diff --git a/doxygen/invert_8c.html b/doxygen/invert_8c.html new file mode 100644 index 00000000..0ebcb5d6 --- /dev/null +++ b/doxygen/invert_8c.html @@ -0,0 +1,267 @@ + + + + + + +OpenJPEG: invert.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
invert.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + + + + + + + + + + +

+Functions

static OPJ_BOOL opj_lupDecompose (OPJ_FLOAT32 *matrix, OPJ_UINT32 *permutations, OPJ_FLOAT32 *p_swap_area, OPJ_UINT32 nb_compo)
 LUP decomposition. More...
 
static void opj_lupSolve (OPJ_FLOAT32 *pResult, OPJ_FLOAT32 *pMatrix, OPJ_FLOAT32 *pVector, OPJ_UINT32 *pPermutations, OPJ_UINT32 nb_compo, OPJ_FLOAT32 *p_intermediate_data)
 LUP solving. More...
 
static void opj_lupInvert (OPJ_FLOAT32 *pSrcMatrix, OPJ_FLOAT32 *pDestMatrix, OPJ_UINT32 nb_compo, OPJ_UINT32 *pPermutations, OPJ_FLOAT32 *p_src_temp, OPJ_FLOAT32 *p_dest_temp, OPJ_FLOAT32 *p_swap_area)
 LUP inversion (call with the result of lupDecompose) More...
 
OPJ_BOOL opj_matrix_inversion_f (OPJ_FLOAT32 *pSrcMatrix, OPJ_FLOAT32 *pDestMatrix, OPJ_UINT32 nb_compo)
 Matrix inversion. More...
 
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_lupDecompose (OPJ_FLOAT32matrix,
OPJ_UINT32permutations,
OPJ_FLOAT32p_swap_area,
OPJ_UINT32 nb_compo 
)
+
+static
+
+ +

LUP decomposition.

+ +

References OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by opj_matrix_inversion_f().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_lupInvert (OPJ_FLOAT32pSrcMatrix,
OPJ_FLOAT32pDestMatrix,
OPJ_UINT32 nb_compo,
OPJ_UINT32pPermutations,
OPJ_FLOAT32p_src_temp,
OPJ_FLOAT32p_dest_temp,
OPJ_FLOAT32p_swap_area 
)
+
+static
+
+ +

LUP inversion (call with the result of lupDecompose)

+ +

References opj_lupSolve().

+ +

Referenced by opj_matrix_inversion_f().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void opj_lupSolve (OPJ_FLOAT32pResult,
OPJ_FLOAT32pMatrix,
OPJ_FLOAT32pVector,
OPJ_UINT32pPermutations,
OPJ_UINT32 nb_compo,
OPJ_FLOAT32p_intermediate_data 
)
+
+static
+
+ +

LUP solving.

+ +

Referenced by opj_lupInvert().

+ +
+
+
+ + + + diff --git a/doxygen/invert_8h.html b/doxygen/invert_8h.html new file mode 100644 index 00000000..23582e62 --- /dev/null +++ b/doxygen/invert_8h.html @@ -0,0 +1,79 @@ + + + + + + +OpenJPEG: invert.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
invert.h File Reference
+
+
+ +

Implementation of the matrix inversion. +More...

+ +

Go to the source code of this file.

+ + + + + + +

+Functions

Exported functions
OPJ_BOOL opj_matrix_inversion_f (OPJ_FLOAT32 *pSrcMatrix, OPJ_FLOAT32 *pDestMatrix, OPJ_UINT32 nb_compo)
 Calculates a n x n double matrix inversion with a LUP method. More...
 
+

Detailed Description

+

Implementation of the matrix inversion.

+

The function in INVERT.H compute a matrix inversion with a LUP method

+
+ + + + diff --git a/doxygen/invert_8h_source.html b/doxygen/invert_8h_source.html new file mode 100644 index 00000000..42f78b47 --- /dev/null +++ b/doxygen/invert_8h_source.html @@ -0,0 +1,109 @@ + + + + + + +OpenJPEG: invert.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
invert.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
32 #ifndef __INVERT_H
+
33 #define __INVERT_H
+
34 
+
45 /* ----------------------------------------------------------------------- */
+
46 
+ +
57  OPJ_FLOAT32 * pDestMatrix,
+
58  OPJ_UINT32 nb_compo);
+
59 /* ----------------------------------------------------------------------- */
+
63 
+
64 #endif /* __INVERT_H */
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
float OPJ_FLOAT32
Definition: openjpeg.h:115
+
OPJ_BOOL opj_matrix_inversion_f(OPJ_FLOAT32 *pSrcMatrix, OPJ_FLOAT32 *pDestMatrix, OPJ_UINT32 nb_compo)
Calculates a n x n double matrix inversion with a LUP method.
Definition: invert.c:70
+
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
+
+ + + + diff --git a/doxygen/j2k_8c.html b/doxygen/j2k_8c.html new file mode 100644 index 00000000..e669e5af --- /dev/null +++ b/doxygen/j2k_8c.html @@ -0,0 +1,1809 @@ + + + + + + +OpenJPEG: j2k.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
j2k.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + + + +

+Data Structures

struct  j2k_prog_order
 
struct  opj_dec_memory_marker_handler
 
+ + + + + + + +

+Typedefs

typedef struct j2k_prog_order j2k_prog_order_t
 
typedef void(* opj_j2k_mct_function) (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
typedef struct opj_dec_memory_marker_handler opj_dec_memory_marker_handler_t
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

char * opj_j2k_convert_progression_order (OPJ_PROG_ORDER prg_order)
 Converts an enum type progression order to string type. More...
 
void opj_j2k_setup_decoder (opj_j2k_t *j2k, opj_dparameters_t *parameters)
 Setup the decoder decoding parameters using user parameters. More...
 
opj_j2k_topj_j2k_create_compress (void)
 Creates a J2K compression structure. More...
 
OPJ_BOOL opj_j2k_setup_encoder (opj_j2k_t *p_j2k, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 
OPJ_BOOL opj_j2k_end_decompress (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Ends the decompression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_j2k_read_header (opj_stream_private_t *p_stream, opj_j2k_t *p_j2k, opj_image_t **p_image, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 codestream header structure. More...
 
OPJ_BOOL opj_j2k_setup_mct_encoding (opj_tcp_t *p_tcp, opj_image_t *p_image)
 
void opj_j2k_destroy (opj_j2k_t *p_j2k)
 Destroys a jpeg2000 codec. More...
 
void j2k_destroy_cstr_index (opj_codestream_index_t *p_cstr_ind)
 Destroys a codestream index structure. More...
 
OPJ_BOOL opj_j2k_read_tile_header (opj_j2k_t *p_j2k, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a tile header. More...
 
OPJ_BOOL opj_j2k_decode_tile (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Decode tile data. More...
 
OPJ_BOOL opj_j2k_set_decode_area (opj_j2k_t *p_j2k, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager)
 Sets the given area to be decoded. More...
 
opj_j2k_topj_j2k_create_decompress (void)
 Creates a J2K decompression structure. More...
 
static void opj_j2k_dump_tile_info (opj_tcp_t *l_default_tile, OPJ_INT32 numcomps, FILE *out_stream)
 
void j2k_dump (opj_j2k_t *p_j2k, OPJ_INT32 flag, FILE *out_stream)
 Dump some elements from the J2K decompression structure . More...
 
void j2k_dump_image_header (opj_image_t *img_header, OPJ_BOOL dev_dump_flag, FILE *out_stream)
 Dump an image header structure. More...
 
void j2k_dump_image_comp_header (opj_image_comp_t *comp_header, OPJ_BOOL dev_dump_flag, FILE *out_stream)
 Dump a component image header structure. More...
 
opj_codestream_info_v2_tj2k_get_cstr_info (opj_j2k_t *p_j2k)
 Get the codestream info from a JPEG2000 codec. More...
 
opj_codestream_index_tj2k_get_cstr_index (opj_j2k_t *p_j2k)
 Get the codestream index from a JPEG2000 codec. More...
 
static void opj_j2k_setup_decoding (opj_j2k_t *p_j2k)
 Sets up the procedures to do on decoding data. More...
 
static OPJ_BOOL opj_j2k_decode_one_tile (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 
static void opj_j2k_setup_decoding_tile (opj_j2k_t *p_j2k)
 Sets up the procedures to do on decoding one tile. More...
 
OPJ_BOOL opj_j2k_decode (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Decode an image from a JPEG-2000 codestream. More...
 
OPJ_BOOL opj_j2k_get_tile (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
 
OPJ_BOOL opj_j2k_set_decoded_resolution_factor (opj_j2k_t *p_j2k, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
 
OPJ_BOOL opj_j2k_encode (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Encodes an image into a JPEG-2000 codestream. More...
 
OPJ_BOOL opj_j2k_end_compress (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Ends the compression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_j2k_start_compress (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Starts a compression scheme, i.e. More...
 
OPJ_BOOL opj_j2k_write_tile (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes a tile. More...
 
Local static functions
static void opj_j2k_setup_header_reading (opj_j2k_t *p_j2k)
 Sets up the procedures to do on reading header. More...
 
static OPJ_BOOL opj_j2k_read_header_procedure (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The read header procedure. More...
 
static OPJ_BOOL opj_j2k_encoding_validation (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The default encoding validation procedure without any extension. More...
 
static OPJ_BOOL opj_j2k_decoding_validation (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The default decoding validation procedure without any extension. More...
 
static void opj_j2k_setup_encoding_validation (opj_j2k_t *p_j2k)
 Sets up the validation ,i.e. More...
 
static void opj_j2k_setup_decoding_validation (opj_j2k_t *p_j2k)
 Sets up the validation ,i.e. More...
 
static void opj_j2k_setup_end_compress (opj_j2k_t *p_j2k)
 Sets up the validation ,i.e. More...
 
static OPJ_BOOL opj_j2k_mct_validation (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 The mct encoding validation procedure. More...
 
static OPJ_BOOL opj_j2k_build_decoder (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Builds the tcd decoder to use to decode tile. More...
 
static OPJ_BOOL opj_j2k_build_encoder (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Builds the tcd encoder to use to encode tile. More...
 
static OPJ_BOOL opj_j2k_create_tcd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Creates a tile-coder decoder. More...
 
static OPJ_BOOL opj_j2k_exec (opj_j2k_t *p_j2k, opj_procedure_list_t *p_procedure_list, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Excutes the given procedures on the given codec. More...
 
static OPJ_BOOL opj_j2k_update_rates (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Updates the rates of the tcp. More...
 
static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Copies the decoding tile parameters onto all the tile parameters. More...
 
static OPJ_BOOL opj_j2k_destroy_header_memory (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Destroys the memory associated with the decoding of headers. More...
 
static const struct opj_dec_memory_marker_handleropj_j2k_get_marker_handler (OPJ_UINT32 p_id)
 Reads the lookup table containing all the marker, status and action, and returns the handler associated with the marker value. More...
 
static void opj_j2k_tcp_destroy (opj_tcp_t *p_tcp)
 Destroys a tile coding parameter structure. More...
 
static void opj_j2k_tcp_data_destroy (opj_tcp_t *p_tcp)
 Destroys the data inside a tile coding parameter structure. More...
 
static void opj_j2k_cp_destroy (opj_cp_t *p_cp)
 Destroys a coding parameter structure. More...
 
static OPJ_BOOL opj_j2k_write_SPCod_SPCoc (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no, OPJ_BYTE *p_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Writes a SPCod or SPCoc element, i.e. More...
 
static OPJ_UINT32 opj_j2k_get_SPCod_SPCoc_size (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no)
 Gets the size taken by writing a SPCod or SPCoc for the given tile and component. More...
 
static OPJ_BOOL opj_j2k_read_SPCod_SPCoc (opj_j2k_t *p_j2k, OPJ_UINT32 compno, OPJ_BYTE *p_header_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Reads a SPCod or SPCoc element, i.e. More...
 
static OPJ_UINT32 opj_j2k_get_SQcd_SQcc_size (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no)
 Gets the size taken by writing SQcd or SQcc element, i.e. More...
 
static OPJ_BOOL opj_j2k_write_SQcd_SQcc (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no, OPJ_BYTE *p_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Writes a SQcd or SQcc element, i.e. More...
 
static void opj_j2k_update_tlm (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_part_size)
 Updates the Tile Length Marker. More...
 
static OPJ_BOOL opj_j2k_read_SQcd_SQcc (opj_j2k_t *p_j2k, OPJ_UINT32 compno, OPJ_BYTE *p_header_data, OPJ_UINT32 *p_header_size, opj_event_mgr_t *p_manager)
 Reads a SQcd or SQcc element, i.e. More...
 
static void opj_j2k_copy_tile_component_parameters (opj_j2k_t *p_j2k)
 Copies the tile component parameters of all the component from the first tile component. More...
 
static void opj_j2k_copy_tile_quantization_parameters (opj_j2k_t *p_j2k)
 Copies the tile quantization parameters of all the component from the first tile component. More...
 
static OPJ_BOOL opj_j2k_decode_tiles (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads the tiles. More...
 
static OPJ_BOOL opj_j2k_pre_write_tile (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_j2k_update_image_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_data, opj_image_t *p_output_image)
 
static void opj_get_tile_dimensions (opj_image_t *l_image, opj_tcd_tilecomp_t *l_tilec, opj_image_comp_t *l_img_comp, OPJ_UINT32 *l_size_comp, OPJ_UINT32 *l_width, OPJ_UINT32 *l_height, OPJ_UINT32 *l_offset_x, OPJ_UINT32 *l_offset_y, OPJ_UINT32 *l_image_width, OPJ_UINT32 *l_stride, OPJ_UINT32 *l_tile_offset)
 
static void opj_j2k_get_tile_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_data)
 
static OPJ_BOOL opj_j2k_post_write_tile (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 
static void opj_j2k_setup_header_writing (opj_j2k_t *p_j2k)
 Sets up the procedures to do on writing header. More...
 
static OPJ_BOOL opj_j2k_write_first_tile_part (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_total_data_size, opj_stream_private_t *p_stream, struct opj_event_mgr *p_manager)
 
static OPJ_BOOL opj_j2k_write_all_tile_parts (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_total_data_size, opj_stream_private_t *p_stream, struct opj_event_mgr *p_manager)
 
static OPJ_BOOL opj_j2k_get_end_header (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Gets the offset of the header. More...
 
static OPJ_BOOL opj_j2k_allocate_tile_element_cstr_index (opj_j2k_t *p_j2k)
 
static OPJ_BOOL opj_j2k_write_soc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SOC marker (Start Of Codestream) More...
 
static OPJ_BOOL opj_j2k_read_soc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a SOC marker (Start of Codestream) More...
 
static OPJ_BOOL opj_j2k_write_siz (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SIZ marker (image and tile size) More...
 
static OPJ_BOOL opj_j2k_read_siz (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a SIZ marker (image and tile size) More...
 
static OPJ_BOOL opj_j2k_write_com (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the COM marker (comment) More...
 
static OPJ_BOOL opj_j2k_read_com (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a COM marker (comments) More...
 
static OPJ_BOOL opj_j2k_write_cod (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the COD marker (Coding style default) More...
 
static OPJ_BOOL opj_j2k_read_cod (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a COD marker (Coding Styke defaults) More...
 
static OPJ_UINT32 opj_j2k_get_max_coc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by a coc. More...
 
static OPJ_BOOL opj_j2k_read_coc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a COC marker (Coding Style Component) More...
 
static OPJ_BOOL opj_j2k_write_qcd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the QCD marker (quantization default) More...
 
static OPJ_BOOL opj_j2k_read_qcd (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a QCD marker (Quantization defaults) More...
 
static OPJ_UINT32 opj_j2k_get_max_qcc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by a qcc. More...
 
static OPJ_BOOL opj_j2k_read_qcc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a QCC marker (Quantization component) More...
 
static OPJ_BOOL opj_j2k_write_poc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the POC marker (Progression Order Change) More...
 
static void opj_j2k_write_poc_in_memory (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, opj_event_mgr_t *p_manager)
 Writes the POC marker (Progression Order Change) More...
 
static OPJ_UINT32 opj_j2k_get_max_poc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by the writing of a POC. More...
 
static OPJ_BOOL opj_j2k_read_poc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a POC marker (Progression Order Change) More...
 
static OPJ_UINT32 opj_j2k_get_max_toc_size (opj_j2k_t *p_j2k)
 Gets the maximum size taken by the toc headers of all the tile parts of any given tile. More...
 
static OPJ_UINT32 opj_j2k_get_specific_header_sizes (opj_j2k_t *p_j2k)
 Gets the maximum size taken by the headers of the SOT. More...
 
static OPJ_BOOL opj_j2k_read_crg (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a CRG marker (Component registration) More...
 
static OPJ_BOOL opj_j2k_read_tlm (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a TLM marker (Tile Length Marker) More...
 
static OPJ_BOOL opj_j2k_write_updated_tlm (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the updated tlm. More...
 
static OPJ_BOOL opj_j2k_read_plm (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a PLM marker (Packet length, main header marker) More...
 
static OPJ_BOOL opj_j2k_read_plt (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a PLT marker (Packet length, tile-part header) More...
 
static OPJ_BOOL j2k_read_ppm_v3 (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_j2k_read_ppt (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a PPT marker (Packed packet headers, tile-part header) More...
 
static OPJ_BOOL opj_j2k_write_tlm (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the TLM marker (Tile Length Marker) More...
 
static OPJ_BOOL opj_j2k_write_sot (opj_j2k_t *p_j2k, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, const opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SOT marker (Start of tile-part) More...
 
static OPJ_BOOL opj_j2k_get_sot_values (OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, OPJ_UINT32 *p_tile_no, OPJ_UINT32 *p_tot_len, OPJ_UINT32 *p_current_part, OPJ_UINT32 *p_num_parts, opj_event_mgr_t *p_manager)
 Reads values from a SOT marker (Start of tile-part) More...
 
static OPJ_BOOL opj_j2k_read_sot (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a SOT marker (Start of tile-part) More...
 
static OPJ_BOOL opj_j2k_write_sod (opj_j2k_t *p_j2k, opj_tcd_t *p_tile_coder, OPJ_BYTE *p_data, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_total_data_size, const opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the SOD marker (Start of data) More...
 
static OPJ_BOOL opj_j2k_read_sod (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a SOD marker (Start Of Data) More...
 
static OPJ_BOOL opj_j2k_write_rgn (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_no, OPJ_UINT32 p_comp_no, OPJ_UINT32 nb_comps, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the RGN marker (Region Of Interest) More...
 
static OPJ_BOOL opj_j2k_read_rgn (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a RGN marker (Region Of Interest) More...
 
static OPJ_BOOL opj_j2k_write_eoc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the EOC marker (End of Codestream) More...
 
static OPJ_BOOL opj_j2k_write_mct_data_group (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the CBD-MCT-MCC-MCO markers (Multi components transform) More...
 
static OPJ_BOOL opj_j2k_init_info (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Inits the Info. More...
 
static OPJ_BOOL opj_j2k_add_mhmarker (opj_codestream_index_t *cstr_index, OPJ_UINT32 type, OPJ_OFF_T pos, OPJ_UINT32 len)
 Add main header marker information. More...
 
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)
 Add tile header marker information. More...
 
static OPJ_BOOL opj_j2k_read_unk (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, OPJ_UINT32 *output_marker, opj_event_mgr_t *p_manager)
 Reads an unknown marker. More...
 
static OPJ_BOOL opj_j2k_write_mct_record (opj_j2k_t *p_j2k, opj_mct_data_t *p_mct_record, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the MCT marker (Multiple Component Transform) More...
 
static OPJ_BOOL opj_j2k_read_mct (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a MCT marker (Multiple Component Transform) More...
 
static OPJ_BOOL opj_j2k_write_mcc_record (opj_j2k_t *p_j2k, opj_simple_mcc_decorrelation_data_t *p_mcc_record, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the MCC marker (Multiple Component Collection) More...
 
static OPJ_BOOL opj_j2k_read_mcc (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a MCC marker (Multiple Component Collection) More...
 
static OPJ_BOOL opj_j2k_write_mco (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the MCO marker (Multiple component transformation ordering) More...
 
static OPJ_BOOL opj_j2k_read_mco (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a MCO marker (Multiple Component Transform Ordering) More...
 
static OPJ_BOOL opj_j2k_add_mct (opj_tcp_t *p_tcp, opj_image_t *p_image, OPJ_UINT32 p_index)
 
static void opj_j2k_read_int16_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_int32_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float32_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float64_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_int16_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_int32_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float32_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_read_float64_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_int16 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_int32 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_float (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static void opj_j2k_write_float_to_float64 (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
 
static OPJ_BOOL opj_j2k_end_encoding (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Ends the encoding, i.e. More...
 
static OPJ_BOOL opj_j2k_write_cbd (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes the CBD marker (Component bit depth definition) More...
 
static OPJ_BOOL opj_j2k_read_cbd (opj_j2k_t *p_j2k, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a CBD marker (Component bit depth definition) More...
 
static OPJ_BOOL opj_j2k_write_regions (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes regions of interests. More...
 
static OPJ_BOOL opj_j2k_write_epc (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes EPC ???? More...
 
static OPJ_BOOL opj_j2k_check_poc_val (const opj_poc_t *p_pocs, OPJ_UINT32 p_nb_pocs, OPJ_UINT32 p_nb_resolutions, OPJ_UINT32 numcomps, OPJ_UINT32 numlayers, opj_event_mgr_t *p_manager)
 Checks the progression order changes values. More...
 
static OPJ_UINT32 opj_j2k_get_num_tp (opj_cp_t *cp, OPJ_UINT32 pino, OPJ_UINT32 tileno)
 Gets the number of tile parts used for the given change of progression (if any) and the given tile. More...
 
static OPJ_BOOL opj_j2k_calculate_tp (opj_j2k_t *p_j2k, opj_cp_t *cp, OPJ_UINT32 *p_nb_tiles, opj_image_t *image, opj_event_mgr_t *p_manager)
 Calculates the total number of tile parts needed by the encoder to encode such an image. More...
 
static void opj_j2k_dump_MH_info (opj_j2k_t *p_j2k, FILE *out_stream)
 
static void opj_j2k_dump_MH_index (opj_j2k_t *p_j2k, FILE *out_stream)
 
static opj_codestream_index_topj_j2k_create_cstr_index (void)
 
static OPJ_FLOAT32 opj_j2k_get_tp_stride (opj_tcp_t *p_tcp)
 
static OPJ_FLOAT32 opj_j2k_get_default_stride (opj_tcp_t *p_tcp)
 
static int opj_j2k_initialise_4K_poc (opj_poc_t *POC, int numres)
 
static void opj_j2k_set_cinema_parameters (opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_j2k_is_cinema_compliant (opj_image_t *image, OPJ_UINT16 rsiz, opj_event_mgr_t *p_manager)
 
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)
 Checks for invalid number of tile-parts in SOT marker (TPsot==TNsot). More...
 
+ + + + + + + + + + + + + + +

+Variables

j2k_prog_order_t j2k_prog_order_list []
 
static const OPJ_UINT32 MCT_ELEMENT_SIZE []
 FIXME DOC. More...
 
const opj_j2k_mct_function j2k_mct_read_functions_to_float []
 
const opj_j2k_mct_function j2k_mct_read_functions_to_int32 []
 
const opj_j2k_mct_function j2k_mct_write_functions_from_float []
 
const opj_dec_memory_marker_handler_t j2k_memory_marker_handler_tab []
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct j2k_prog_order j2k_prog_order_t
+
+ +
+
+ + + +
+
+ + + + +
typedef void(* opj_j2k_mct_function) (const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void j2k_destroy_cstr_index (opj_codestream_index_tp_cstr_ind)
+
+ +

Destroys a codestream index structure.

+
Parameters
+ + +
p_cstr_indthe codestream index parameter to destroy.
+
+
+ +

References opj_tile_index::marker, opj_codestream_index::marker, opj_codestream_index::nb_of_tiles, opj_free, opj_tile_index::packet_index, opj_codestream_index::tile_index, and opj_tile_index::tp_index.

+ +

Referenced by opj_destroy_cstr_index(), and opj_j2k_destroy().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void j2k_dump (opj_j2k_tp_j2k,
OPJ_INT32 flag,
FILE * out_stream 
)
+
+ +

Dump some elements from the J2K decompression structure .

+
Parameters
+ + + + +
p_j2kthe jpeg2000 codec.
flagflag to describe what elments are dump.
out_streamoutput stream where dump the elements.
+
+
+ +

References j2k_dump_image_header(), opj_j2k::m_cp, opj_j2k::m_private_image, opj_image::numcomps, OPJ_IMG_INFO, opj_j2k_dump_MH_index(), opj_j2k_dump_MH_info(), opj_j2k_dump_tile_info(), OPJ_J2K_MH_IND, OPJ_J2K_MH_INFO, OPJ_J2K_TCH_INFO, OPJ_J2K_TH_IND, OPJ_J2K_TH_INFO, OPJ_JP2_IND, OPJ_JP2_INFO, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by jp2_dump(), and opj_create_decompress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void j2k_dump_image_comp_header (opj_image_comp_tcomp,
OPJ_BOOL dev_dump_flag,
FILE * out_stream 
)
+
+ +

Dump a component image header structure.

+
Parameters
+ + + + +
compthe component image header to dump.
dev_dump_flagflag to describe if we are in the case of this function is use outside j2k_dump function
out_streamoutput stream where dump the elements.
+
+
+ +

References opj_image_comp::dx, opj_image_comp::dy, opj_image_comp::prec, and opj_image_comp::sgnd.

+ +

Referenced by j2k_dump_image_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void j2k_dump_image_header (opj_image_timage,
OPJ_BOOL dev_dump_flag,
FILE * out_stream 
)
+
+ +

Dump an image header structure.

+
Parameters
+ + + + +
imagethe image header to dump.
dev_dump_flagflag to describe if we are in the case of this function is use outside j2k_dump function
out_streamoutput stream where dump the elements.
+
+
+ +

References opj_image::comps, j2k_dump_image_comp_header(), opj_image::numcomps, opj_image::x0, opj_image::x1, opj_image::y0, and opj_image::y1.

+ +

Referenced by j2k_dump().

+ +
+
+ + + +
+
+ + + + + + + + +
opj_codestream_info_v2_t* j2k_get_cstr_info (opj_j2k_tp_j2k)
+
+ +

Get the codestream info from a JPEG2000 codec.

+
Parameters
+ + +
p_j2kthe component image header to dump.
+
+
+
Returns
the codestream information extract from the jpg2000 codec
+ +

References opj_tccp::cblkh, opj_tccp_info::cblkh, opj_tccp::cblksty, opj_tccp_info::cblksty, opj_tccp::cblkw, opj_tccp_info::cblkw, opj_tccp::csty, opj_tcp::csty, opj_tccp_info::csty, opj_tile_v2_info::csty, opj_stepsize::expn, J2K_CCP_QNTSTY_SIQNT, opj_j2k::m_cp, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_codestream_info_v2::m_default_tile_info, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_stepsize::mant, opj_tcp::mct, opj_tile_v2_info::mct, opj_codestream_info_v2::nbcomps, opj_image::numcomps, opj_tccp::numgbits, opj_tccp_info::numgbits, opj_tcp::numlayers, opj_tile_v2_info::numlayers, opj_tccp::numresolutions, opj_tccp_info::numresolutions, opj_calloc, opj_destroy_cstr_info(), OPJ_J2K_MAXBANDS, OPJ_J2K_MAXRLVLS, opj_tccp::prch, opj_tccp_info::prch, opj_tccp::prcw, opj_tccp_info::prcw, opj_tcp::prg, opj_tile_v2_info::prg, opj_tccp::qmfbid, opj_tccp_info::qmfbid, opj_tccp::qntsty, opj_tccp_info::qntsty, opj_tccp::roishift, opj_tccp_info::roishift, opj_tccp::stepsizes, opj_tccp_info::stepsizes_expn, opj_tccp_info::stepsizes_mant, opj_tile_v2_info::tccp_info, opj_tcp::tccps, opj_cp::tdx, opj_codestream_info_v2::tdx, opj_cp::tdy, opj_codestream_info_v2::tdy, opj_cp::th, opj_codestream_info_v2::th, opj_codestream_info_v2::tile_info, opj_cp::tw, opj_codestream_info_v2::tw, opj_cp::tx0, opj_codestream_info_v2::tx0, opj_cp::ty0, and opj_codestream_info_v2::ty0.

+ +

Referenced by jp2_get_cstr_info(), and opj_create_decompress().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_decode (opj_j2k_tj2k,
opj_stream_private_tp_stream,
opj_image_tp_image,
opj_event_mgr_tp_manager 
)
+
+ +

Decode an image from a JPEG-2000 codestream.

+
Parameters
+ + + + + +
j2kJ2K decompressor handle
p_streamFIXME DOC
p_imageFIXME DOC
p_managerFIXME DOC
+
+
+
Returns
FIXME DOC
+ +

References opj_image::comps, opj_image_comp::data, opj_image_comp::h, opj_j2k::m_output_image, opj_j2k::m_private_image, opj_j2k::m_procedure_list, opj_image::numcomps, opj_copy_image_header(), OPJ_FALSE, opj_image_create0(), opj_image_destroy(), opj_j2k_exec(), opj_j2k_setup_decoding(), OPJ_TRUE, opj_image_comp::resno_decoded, and opj_image_comp::w.

+ +

Referenced by opj_create_decompress(), and opj_jp2_decode().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_decode_tile (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_index,
OPJ_BYTEp_data,
OPJ_UINT32 p_data_size,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_j2k_dump_tile_info (opj_tcp_tl_default_tile,
OPJ_INT32 numcomps,
FILE * out_stream 
)
+
+static
+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_end_compress (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Ends the compression procedures and possibiliy add data to be read after the codestream.

+ +

References opj_j2k::m_procedure_list, OPJ_FALSE, opj_j2k_exec(), opj_j2k_setup_end_compress(), and OPJ_TRUE.

+ +

Referenced by opj_create_compress(), and opj_jp2_end_compress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_end_decompress (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Ends the decompression procedures and possibiliy add data to be read after the codestream.

+ +

References OPJ_TRUE.

+ +

Referenced by opj_create_decompress(), and opj_jp2_end_decompress().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_header (opj_stream_private_tp_stream,
opj_j2k_tp_j2k,
opj_image_t ** p_image,
opj_event_mgr_tp_manager 
)
+
+ +

Reads a jpeg2000 codestream header structure.

+
Parameters
+ + + + + +
p_streamthe stream to read data from.
p_j2kthe jpeg2000 codec.
p_imageFIXME DOC
p_managerthe user event manager.
+
+
+
Returns
true if the box is valid.
+ +

References opj_j2k::m_private_image, opj_j2k::m_procedure_list, opj_j2k::m_validation_list, opj_copy_image_header(), OPJ_FALSE, opj_image_create0(), opj_image_destroy(), opj_j2k_allocate_tile_element_cstr_index(), opj_j2k_exec(), opj_j2k_setup_decoding_validation(), opj_j2k_setup_header_reading(), and OPJ_TRUE.

+ +

Referenced by opj_create_decompress(), and opj_jp2_read_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_tile_header (opj_j2k_tp_j2k,
OPJ_UINT32p_tile_index,
OPJ_UINT32p_data_size,
OPJ_INT32p_tile_x0,
OPJ_INT32p_tile_y0,
OPJ_INT32p_tile_x1,
OPJ_INT32p_tile_y1,
OPJ_UINT32p_nb_comps,
OPJ_BOOLp_go_on,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Reads a tile header.

+
Parameters
+ + + + + + + + + + + + +
p_j2kthe jpeg2000 codec.
p_tile_indexFIXME DOC
p_data_sizeFIXME DOC
p_tile_x0FIXME DOC
p_tile_y0FIXME DOC
p_tile_x1FIXME DOC
p_tile_y1FIXME DOC
p_nb_compsFIXME DOC
p_go_onFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_j2k::cstr_index, EVT_ERROR, EVT_INFO, EVT_WARNING, opj_dec_memory_marker_handler::handler, opj_dec_memory_marker_handler::id, J2K_MS_EOC, J2K_MS_SOD, J2K_MS_SOT, J2K_STATE_EOC, J2K_STATE_NEOC, J2K_STATE_TPH, J2K_STATE_TPHSOT, opj_j2k_dec::m_can_decode, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_tcp::m_data, opj_j2k::m_decoder, opj_j2k_dec::m_header_data, opj_j2k_dec::m_header_data_size, opj_j2k_dec::m_last_sot_read_pos, opj_tcp::m_nb_tile_parts, opj_j2k_dec::m_nb_tile_parts_correction, opj_j2k_dec::m_nb_tile_parts_correction_checked, opj_j2k_dec::m_skip_data, opj_j2k_dec::m_sot_length, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_j2k::m_tcd, opj_tcd_tile::numcomps, opj_event_msg(), OPJ_FALSE, opj_free, opj_j2k_add_tlmarker(), opj_j2k_get_marker_handler(), opj_j2k_need_nb_tile_parts_correction(), opj_j2k_read_sod(), opj_read_bytes, opj_realloc, opj_stream_get_number_byte_left(), opj_stream_read_data(), opj_stream_skip(), opj_stream_tell(), opj_tcd_get_decoded_tile_size(), opj_tcd_init_decode_tile(), OPJ_TRUE, opj_dec_memory_marker_handler::states, opj_tcd::tcd_image, opj_cp::tcps, opj_cp::th, opj_tcd_image::tiles, opj_cp::tw, opj_tcd_tile::x0, opj_tcd_tile::x1, opj_tcd_tile::y0, and opj_tcd_tile::y1.

+ +

Referenced by opj_create_decompress(), opj_j2k_decode_one_tile(), opj_j2k_decode_tiles(), and opj_jp2_read_tile_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_set_decode_area (opj_j2k_tp_j2k,
opj_image_tp_image,
OPJ_INT32 p_start_x,
OPJ_INT32 p_start_y,
OPJ_INT32 p_end_x,
OPJ_INT32 p_end_y,
opj_event_mgr_tp_manager 
)
+
+ +

Sets the given area to be decoded.

+

This function should be called right after opj_read_header and before any tile header reading.

+
Parameters
+ + + + + + + + +
p_j2kthe jpeg2000 codec.
p_imageFIXME DOC
p_start_xthe left position of the rectangle to decode (in image coordinates).
p_start_ythe up position of the rectangle to decode (in image coordinates).
p_end_xthe right position of the rectangle to decode (in image coordinates).
p_end_ythe bottom position of the rectangle to decode (in image coordinates).
p_managerthe user event manager
+
+
+
Returns
true if the area could be set.
+ +

References opj_image::comps, opj_image_comp::dx, opj_image_comp::dy, EVT_ERROR, EVT_INFO, EVT_WARNING, opj_image_comp::factor, opj_image_comp::h, J2K_STATE_TPHSOT, opj_j2k::m_cp, opj_j2k::m_decoder, opj_j2k_dec::m_discard_tiles, opj_j2k_dec::m_end_tile_x, opj_j2k_dec::m_end_tile_y, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_dec::m_start_tile_x, opj_j2k_dec::m_start_tile_y, opj_j2k_dec::m_state, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_int_ceildiv(), opj_int_ceildivpow2(), OPJ_TRUE, opj_cp::tdx, opj_cp::tdy, opj_cp::th, opj_cp::tw, opj_cp::tx0, opj_cp::ty0, opj_image_comp::w, opj_image_comp::x0, opj_image::x0, opj_image::x1, opj_image_comp::y0, opj_image::y0, and opj_image::y1.

+ +

Referenced by opj_create_decompress(), and opj_jp2_set_decode_area().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + +
static void opj_j2k_setup_decoding (opj_j2k_tp_j2k)
+
+static
+
+ +

Sets up the procedures to do on decoding data.

+

Developpers wanting to extend the library can add their own reading procedures.

+ +

References opj_j2k::m_procedure_list, opj_j2k_decode_tiles(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_j2k_decode().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static void opj_j2k_setup_decoding_tile (opj_j2k_tp_j2k)
+
+static
+
+ +

Sets up the procedures to do on decoding one tile.

+

Developpers wanting to extend the library can add their own reading procedures.

+ +

References opj_j2k::m_procedure_list, opj_j2k_decode_one_tile(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_j2k_get_tile().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_start_compress (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_image_tp_image,
opj_event_mgr_tp_manager 
)
+
+ +

Starts a compression scheme, i.e.

+

validates the codec parameters, writes the header.

+
Parameters
+ + + + + +
p_j2kthe jpeg2000 codec.
p_streamthe stream object.
p_imageFIXME DOC
p_managerthe user event manager.
+
+
+
Returns
true if the codec is valid.
+ +

References opj_image::comps, opj_image_comp::data, EVT_ERROR, opj_j2k::m_private_image, opj_j2k::m_procedure_list, opj_j2k::m_validation_list, opj_image::numcomps, opj_copy_image_header(), opj_event_msg(), OPJ_FALSE, opj_image_create0(), opj_j2k_exec(), opj_j2k_setup_encoding_validation(), opj_j2k_setup_header_writing(), and OPJ_TRUE.

+ +

Referenced by opj_create_compress(), and opj_jp2_start_compress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_tile (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_index,
OPJ_BYTEp_data,
OPJ_UINT32 p_data_size,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Writes a tile.

+
Parameters
+ + + + + + + +
p_j2kthe jpeg2000 codec.
p_tile_indexFIXME DOC
p_dataFIXME DOC
p_data_sizeFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_tcd_tile::comps, EVT_ERROR, opj_tcd::image, opj_j2k::m_tcd, opj_image::numcomps, opj_alloc_tile_component_data(), opj_event_msg(), OPJ_FALSE, opj_j2k_post_write_tile(), opj_j2k_pre_write_tile(), opj_tcd_copy_tile_data(), OPJ_TRUE, opj_tcd::tcd_image, and opj_tcd_image::tiles.

+ +

Referenced by opj_create_compress(), and opj_jp2_write_tile().

+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const opj_j2k_mct_function j2k_mct_read_functions_to_float[]
+
+Initial value:
=
+
{
+ + + + +
}
+
static void opj_j2k_read_int16_to_float(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1321
+
static void opj_j2k_read_float32_to_float(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1353
+
static void opj_j2k_read_float64_to_float(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1369
+
static void opj_j2k_read_int32_to_float(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1337
+
+
+
+ +
+
+ + + + +
const opj_j2k_mct_function j2k_mct_read_functions_to_int32[]
+
+Initial value:
=
+
{
+ + + + +
}
+
static void opj_j2k_read_float32_to_int32(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1417
+
static void opj_j2k_read_int16_to_int32(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1385
+
static void opj_j2k_read_int32_to_int32(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1401
+
static void opj_j2k_read_float64_to_int32(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1433
+
+
+
+ +
+
+ + + + +
const opj_j2k_mct_function j2k_mct_write_functions_from_float[]
+
+Initial value:
=
+
{
+ + + + +
}
+
static void opj_j2k_write_float_to_float(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1481
+
static void opj_j2k_write_float_to_float64(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1497
+
static void opj_j2k_write_float_to_int16(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1449
+
static void opj_j2k_write_float_to_int32(const void *p_src_data, void *p_dest_data, OPJ_UINT32 p_nb_elem)
Definition: j2k.c:1465
+
+
+
+ +
+
+ + + + +
const opj_dec_memory_marker_handler_t j2k_memory_marker_handler_tab[]
+
+ +
+
+ +
+
+ + + + +
j2k_prog_order_t j2k_prog_order_list[]
+
+Initial value:
= {
+
{OPJ_CPRL, "CPRL"},
+
{OPJ_LRCP, "LRCP"},
+
{OPJ_PCRL, "PCRL"},
+
{OPJ_RLCP, "RLCP"},
+
{OPJ_RPCL, "RPCL"},
+
{(OPJ_PROG_ORDER)-1, ""}
+
}
+
layer-resolution-component-precinct order
Definition: openjpeg.h:269
+
resolution-layer-component-precinct order
Definition: openjpeg.h:270
+
resolution-precinct-component-layer order
Definition: openjpeg.h:271
+
enum PROG_ORDER OPJ_PROG_ORDER
Progression order.
+
component-precinct-resolution-layer order
Definition: openjpeg.h:273
+
precinct-component-resolution-layer order
Definition: openjpeg.h:272
+
+
+
+ +
+
+ + + + + +
+ + + + +
const OPJ_UINT32 MCT_ELEMENT_SIZE[]
+
+static
+
+Initial value:
=
+
{
+
2,
+
4,
+
4,
+
8
+
}
+
+

FIXME DOC.

+ +
+
+
+ + + + diff --git a/doxygen/j2k_8h.html b/doxygen/j2k_8h.html new file mode 100644 index 00000000..8227225d --- /dev/null +++ b/doxygen/j2k_8h.html @@ -0,0 +1,1376 @@ + + + + + + +OpenJPEG: j2k.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
j2k.h File Reference
+
+
+ +

The JPEG-2000 Codestream Reader/Writer (J2K) +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  opj_stepsize
 Quantization stepsize. More...
 
struct  opj_tccp
 Tile-component coding parameters. More...
 
struct  opj_mct_data
 FIXME DOC. More...
 
struct  opj_simple_mcc_decorrelation_data
 FIXME DOC. More...
 
struct  opj_tcp
 Tile coding parameters : this structure is used to store coding/decoding parameters common to all tiles (information like COD, COC in main header) More...
 
struct  opj_encoding_param
 
struct  opj_decoding_param
 
struct  opj_cp
 Coding parameters. More...
 
struct  opj_j2k_dec
 
struct  opj_j2k_enc
 
struct  opj_j2k
 JPEG-2000 codestream reader/writer. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define J2K_CP_CSTY_PRT   0x01
 
#define J2K_CP_CSTY_SOP   0x02
 
#define J2K_CP_CSTY_EPH   0x04
 
#define J2K_CCP_CSTY_PRT   0x01
 
#define J2K_CCP_CBLKSTY_LAZY   0x01
 Selective arithmetic coding bypass. More...
 
#define J2K_CCP_CBLKSTY_RESET   0x02
 Reset context probabilities on coding pass boundaries. More...
 
#define J2K_CCP_CBLKSTY_TERMALL   0x04
 Termination on each coding pass. More...
 
#define J2K_CCP_CBLKSTY_VSC   0x08
 Vertically stripe causal context. More...
 
#define J2K_CCP_CBLKSTY_PTERM   0x10
 Predictable termination. More...
 
#define J2K_CCP_CBLKSTY_SEGSYM   0x20
 Segmentation symbols are used. More...
 
#define J2K_CCP_QNTSTY_NOQNT   0
 
#define J2K_CCP_QNTSTY_SIQNT   1
 
#define J2K_CCP_QNTSTY_SEQNT   2
 
#define OPJ_J2K_DEFAULT_CBLK_DATA_SIZE   8192
 
#define J2K_MS_SOC   0xff4f
 SOC marker value. More...
 
#define J2K_MS_SOT   0xff90
 SOT marker value. More...
 
#define J2K_MS_SOD   0xff93
 SOD marker value. More...
 
#define J2K_MS_EOC   0xffd9
 EOC marker value. More...
 
#define J2K_MS_SIZ   0xff51
 SIZ marker value. More...
 
#define J2K_MS_COD   0xff52
 COD marker value. More...
 
#define J2K_MS_COC   0xff53
 COC marker value. More...
 
#define J2K_MS_RGN   0xff5e
 RGN marker value. More...
 
#define J2K_MS_QCD   0xff5c
 QCD marker value. More...
 
#define J2K_MS_QCC   0xff5d
 QCC marker value. More...
 
#define J2K_MS_POC   0xff5f
 POC marker value. More...
 
#define J2K_MS_TLM   0xff55
 TLM marker value. More...
 
#define J2K_MS_PLM   0xff57
 PLM marker value. More...
 
#define J2K_MS_PLT   0xff58
 PLT marker value. More...
 
#define J2K_MS_PPM   0xff60
 PPM marker value. More...
 
#define J2K_MS_PPT   0xff61
 PPT marker value. More...
 
#define J2K_MS_SOP   0xff91
 SOP marker value. More...
 
#define J2K_MS_EPH   0xff92
 EPH marker value. More...
 
#define J2K_MS_CRG   0xff63
 CRG marker value. More...
 
#define J2K_MS_COM   0xff64
 COM marker value. More...
 
#define J2K_MS_CBD   0xff78
 CBD marker value. More...
 
#define J2K_MS_MCC   0xff75
 MCC marker value. More...
 
#define J2K_MS_MCT   0xff74
 MCT marker value. More...
 
#define J2K_MS_MCO   0xff77
 MCO marker value. More...
 
#define J2K_MS_UNK   0
 UNKNOWN marker value. More...
 
#define J2K_MS_EPC   0xff68
 EPC marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_EPB   0xff66
 EPB marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_ESD   0xff67
 ESD marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_RED   0xff69
 RED marker value (Part 11: JPEG 2000 for Wireless) More...
 
#define J2K_MS_SEC   0xff65
 SEC marker value (Part 8: Secure JPEG 2000) More...
 
#define J2K_MS_INSEC   0xff94
 INSEC marker value (Part 8: Secure JPEG 2000) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef enum J2K_STATUS J2K_STATUS
 Values that specify the status of the decoding process when decoding the main header. More...
 
typedef enum MCT_ELEMENT_TYPE J2K_MCT_ELEMENT_TYPE
 Type of elements storing in the MCT data. More...
 
typedef enum MCT_ARRAY_TYPE J2K_MCT_ARRAY_TYPE
 Type of MCT array. More...
 
typedef enum T2_MODE J2K_T2_MODE
 T2 encoding mode. More...
 
typedef struct opj_stepsize opj_stepsize_t
 Quantization stepsize. More...
 
typedef struct opj_tccp opj_tccp_t
 Tile-component coding parameters. More...
 
typedef struct opj_mct_data opj_mct_data_t
 FIXME DOC. More...
 
typedef struct opj_simple_mcc_decorrelation_data opj_simple_mcc_decorrelation_data_t
 FIXME DOC. More...
 
typedef struct opj_tcp opj_tcp_t
 Tile coding parameters : this structure is used to store coding/decoding parameters common to all tiles (information like COD, COC in main header) More...
 
typedef struct opj_encoding_param opj_encoding_param_t
 
typedef struct opj_decoding_param opj_decoding_param_t
 
typedef struct opj_cp opj_cp_t
 Coding parameters. More...
 
typedef struct opj_j2k_dec opj_j2k_dec_t
 
typedef struct opj_j2k_enc opj_j2k_enc_t
 
typedef struct opj_j2k opj_j2k_t
 JPEG-2000 codestream reader/writer. More...
 
+ + + + + + + + + + + + + +

+Enumerations

enum  J2K_STATUS {
+  J2K_STATE_NONE = 0x0000, +J2K_STATE_MHSOC = 0x0001, +J2K_STATE_MHSIZ = 0x0002, +J2K_STATE_MH = 0x0004, +
+  J2K_STATE_TPHSOT = 0x0008, +J2K_STATE_TPH = 0x0010, +J2K_STATE_MT = 0x0020, +J2K_STATE_NEOC = 0x0040, +
+  J2K_STATE_EOC = 0x0100, +J2K_STATE_ERR = 0x8000 +
+ }
 Values that specify the status of the decoding process when decoding the main header. More...
 
enum  MCT_ELEMENT_TYPE { MCT_TYPE_INT16 = 0, +MCT_TYPE_INT32 = 1, +MCT_TYPE_FLOAT = 2, +MCT_TYPE_DOUBLE = 3 + }
 Type of elements storing in the MCT data. More...
 
enum  MCT_ARRAY_TYPE { MCT_TYPE_DEPENDENCY = 0, +MCT_TYPE_DECORRELATION = 1, +MCT_TYPE_OFFSET = 2 + }
 Type of MCT array. More...
 
enum  T2_MODE { THRESH_CALC = 0, +FINAL_PASS = 1 + }
 T2 encoding mode. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

OPJ_BOOL opj_j2k_end_decompress (opj_j2k_t *j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Ends the decompression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_j2k_read_header (opj_stream_private_t *p_stream, opj_j2k_t *p_j2k, opj_image_t **p_image, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 codestream header structure. More...
 
void opj_j2k_destroy (opj_j2k_t *p_j2k)
 Destroys a jpeg2000 codec. More...
 
void j2k_destroy_cstr_index (opj_codestream_index_t *p_cstr_ind)
 Destroys a codestream index structure. More...
 
OPJ_BOOL opj_j2k_decode_tile (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Decode tile data. More...
 
OPJ_BOOL opj_j2k_read_tile_header (opj_j2k_t *p_j2k, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a tile header. More...
 
OPJ_BOOL opj_j2k_set_decode_area (opj_j2k_t *p_j2k, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager)
 Sets the given area to be decoded. More...
 
opj_j2k_topj_j2k_create_decompress (void)
 Creates a J2K decompression structure. More...
 
void j2k_dump (opj_j2k_t *p_j2k, OPJ_INT32 flag, FILE *out_stream)
 Dump some elements from the J2K decompression structure . More...
 
void j2k_dump_image_header (opj_image_t *image, OPJ_BOOL dev_dump_flag, FILE *out_stream)
 Dump an image header structure. More...
 
void j2k_dump_image_comp_header (opj_image_comp_t *comp, OPJ_BOOL dev_dump_flag, FILE *out_stream)
 Dump a component image header structure. More...
 
opj_codestream_info_v2_tj2k_get_cstr_info (opj_j2k_t *p_j2k)
 Get the codestream info from a JPEG2000 codec. More...
 
opj_codestream_index_tj2k_get_cstr_index (opj_j2k_t *p_j2k)
 Get the codestream index from a JPEG2000 codec. More...
 
OPJ_BOOL opj_j2k_decode (opj_j2k_t *j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Decode an image from a JPEG-2000 codestream. More...
 
OPJ_BOOL opj_j2k_get_tile (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
 
OPJ_BOOL opj_j2k_set_decoded_resolution_factor (opj_j2k_t *p_j2k, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
 
OPJ_BOOL opj_j2k_write_tile (opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes a tile. More...
 
OPJ_BOOL opj_j2k_encode (opj_j2k_t *p_j2k, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Encodes an image into a JPEG-2000 codestream. More...
 
OPJ_BOOL opj_j2k_start_compress (opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Starts a compression scheme, i.e. More...
 
OPJ_BOOL opj_j2k_end_compress (opj_j2k_t *p_j2k, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Ends the compression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_j2k_setup_mct_encoding (opj_tcp_t *p_tcp, opj_image_t *p_image)
 
Exported functions
void opj_j2k_setup_decoder (opj_j2k_t *j2k, opj_dparameters_t *parameters)
 Setup the decoder decoding parameters using user parameters. More...
 
opj_j2k_topj_j2k_create_compress (void)
 Creates a J2K compression structure. More...
 
OPJ_BOOL opj_j2k_setup_encoder (opj_j2k_t *p_j2k, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 
char * opj_j2k_convert_progression_order (OPJ_PROG_ORDER prg_order)
 Converts an enum type progression order to string type. More...
 
+

Detailed Description

+

The JPEG-2000 Codestream Reader/Writer (J2K)

+

The functions in J2K.C have for goal to read/write the several parts of the codestream: markers and data.

+

Function Documentation

+ +
+
+ + + + + + + + +
void j2k_destroy_cstr_index (opj_codestream_index_tp_cstr_ind)
+
+ +

Destroys a codestream index structure.

+
Parameters
+ + +
p_cstr_indthe codestream index parameter to destroy.
+
+
+ +

References opj_tile_index::marker, opj_codestream_index::marker, opj_codestream_index::nb_of_tiles, opj_free, opj_tile_index::packet_index, opj_codestream_index::tile_index, and opj_tile_index::tp_index.

+ +

Referenced by opj_destroy_cstr_index(), and opj_j2k_destroy().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void j2k_dump (opj_j2k_tp_j2k,
OPJ_INT32 flag,
FILE * out_stream 
)
+
+ +

Dump some elements from the J2K decompression structure .

+
Parameters
+ + + + +
p_j2kthe jpeg2000 codec.
flagflag to describe what elments are dump.
out_streamoutput stream where dump the elements.
+
+
+ +

References j2k_dump_image_header(), opj_j2k::m_cp, opj_j2k::m_private_image, opj_image::numcomps, OPJ_IMG_INFO, opj_j2k_dump_MH_index(), opj_j2k_dump_MH_info(), opj_j2k_dump_tile_info(), OPJ_J2K_MH_IND, OPJ_J2K_MH_INFO, OPJ_J2K_TCH_INFO, OPJ_J2K_TH_IND, OPJ_J2K_TH_INFO, OPJ_JP2_IND, OPJ_JP2_INFO, opj_cp::tcps, opj_cp::th, and opj_cp::tw.

+ +

Referenced by jp2_dump(), and opj_create_decompress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void j2k_dump_image_comp_header (opj_image_comp_tcomp,
OPJ_BOOL dev_dump_flag,
FILE * out_stream 
)
+
+ +

Dump a component image header structure.

+
Parameters
+ + + + +
compthe component image header to dump.
dev_dump_flagflag to describe if we are in the case of this function is use outside j2k_dump function
out_streamoutput stream where dump the elements.
+
+
+ +

References opj_image_comp::dx, opj_image_comp::dy, opj_image_comp::prec, and opj_image_comp::sgnd.

+ +

Referenced by j2k_dump_image_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void j2k_dump_image_header (opj_image_timage,
OPJ_BOOL dev_dump_flag,
FILE * out_stream 
)
+
+ +

Dump an image header structure.

+
Parameters
+ + + + +
imagethe image header to dump.
dev_dump_flagflag to describe if we are in the case of this function is use outside j2k_dump function
out_streamoutput stream where dump the elements.
+
+
+ +

References opj_image::comps, j2k_dump_image_comp_header(), opj_image::numcomps, opj_image::x0, opj_image::x1, opj_image::y0, and opj_image::y1.

+ +

Referenced by j2k_dump().

+ +
+
+ + + +
+
+ + + + + + + + +
opj_codestream_info_v2_t* j2k_get_cstr_info (opj_j2k_tp_j2k)
+
+ +

Get the codestream info from a JPEG2000 codec.

+
Parameters
+ + +
p_j2kthe component image header to dump.
+
+
+
Returns
the codestream information extract from the jpg2000 codec
+ +

References opj_tccp::cblkh, opj_tccp_info::cblkh, opj_tccp::cblksty, opj_tccp_info::cblksty, opj_tccp::cblkw, opj_tccp_info::cblkw, opj_tccp::csty, opj_tcp::csty, opj_tccp_info::csty, opj_tile_v2_info::csty, opj_stepsize::expn, J2K_CCP_QNTSTY_SIQNT, opj_j2k::m_cp, opj_j2k::m_decoder, opj_j2k_dec::m_default_tcp, opj_codestream_info_v2::m_default_tile_info, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_stepsize::mant, opj_tcp::mct, opj_tile_v2_info::mct, opj_codestream_info_v2::nbcomps, opj_image::numcomps, opj_tccp::numgbits, opj_tccp_info::numgbits, opj_tcp::numlayers, opj_tile_v2_info::numlayers, opj_tccp::numresolutions, opj_tccp_info::numresolutions, opj_calloc, opj_destroy_cstr_info(), OPJ_J2K_MAXBANDS, OPJ_J2K_MAXRLVLS, opj_tccp::prch, opj_tccp_info::prch, opj_tccp::prcw, opj_tccp_info::prcw, opj_tcp::prg, opj_tile_v2_info::prg, opj_tccp::qmfbid, opj_tccp_info::qmfbid, opj_tccp::qntsty, opj_tccp_info::qntsty, opj_tccp::roishift, opj_tccp_info::roishift, opj_tccp::stepsizes, opj_tccp_info::stepsizes_expn, opj_tccp_info::stepsizes_mant, opj_tile_v2_info::tccp_info, opj_tcp::tccps, opj_cp::tdx, opj_codestream_info_v2::tdx, opj_cp::tdy, opj_codestream_info_v2::tdy, opj_cp::th, opj_codestream_info_v2::th, opj_codestream_info_v2::tile_info, opj_cp::tw, opj_codestream_info_v2::tw, opj_cp::tx0, opj_codestream_info_v2::tx0, opj_cp::ty0, and opj_codestream_info_v2::ty0.

+ +

Referenced by jp2_get_cstr_info(), and opj_create_decompress().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_decode (opj_j2k_tj2k,
opj_stream_private_tp_stream,
opj_image_tp_image,
opj_event_mgr_tp_manager 
)
+
+ +

Decode an image from a JPEG-2000 codestream.

+
Parameters
+ + + + + +
j2kJ2K decompressor handle
p_streamFIXME DOC
p_imageFIXME DOC
p_managerFIXME DOC
+
+
+
Returns
FIXME DOC
+ +

References opj_image::comps, opj_image_comp::data, opj_image_comp::h, opj_j2k::m_output_image, opj_j2k::m_private_image, opj_j2k::m_procedure_list, opj_image::numcomps, opj_copy_image_header(), OPJ_FALSE, opj_image_create0(), opj_image_destroy(), opj_j2k_exec(), opj_j2k_setup_decoding(), OPJ_TRUE, opj_image_comp::resno_decoded, and opj_image_comp::w.

+ +

Referenced by opj_create_decompress(), and opj_jp2_decode().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_decode_tile (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_index,
OPJ_BYTEp_data,
OPJ_UINT32 p_data_size,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_end_compress (opj_j2k_tp_j2k,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+ +

Ends the compression procedures and possibiliy add data to be read after the codestream.

+ +

References opj_j2k::m_procedure_list, OPJ_FALSE, opj_j2k_exec(), opj_j2k_setup_end_compress(), and OPJ_TRUE.

+ +

Referenced by opj_create_compress(), and opj_jp2_end_compress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_end_decompress (opj_j2k_tj2k,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Ends the decompression procedures and possibiliy add data to be read after the codestream.

+ +

References OPJ_TRUE.

+ +

Referenced by opj_create_decompress(), and opj_jp2_end_decompress().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_header (opj_stream_private_tp_stream,
opj_j2k_tp_j2k,
opj_image_t ** p_image,
opj_event_mgr_tp_manager 
)
+
+ +

Reads a jpeg2000 codestream header structure.

+
Parameters
+ + + + + +
p_streamthe stream to read data from.
p_j2kthe jpeg2000 codec.
p_imageFIXME DOC
p_managerthe user event manager.
+
+
+
Returns
true if the box is valid.
+ +

References opj_j2k::m_private_image, opj_j2k::m_procedure_list, opj_j2k::m_validation_list, opj_copy_image_header(), OPJ_FALSE, opj_image_create0(), opj_image_destroy(), opj_j2k_allocate_tile_element_cstr_index(), opj_j2k_exec(), opj_j2k_setup_decoding_validation(), opj_j2k_setup_header_reading(), and OPJ_TRUE.

+ +

Referenced by opj_create_decompress(), and opj_jp2_read_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_read_tile_header (opj_j2k_tp_j2k,
OPJ_UINT32p_tile_index,
OPJ_UINT32p_data_size,
OPJ_INT32p_tile_x0,
OPJ_INT32p_tile_y0,
OPJ_INT32p_tile_x1,
OPJ_INT32p_tile_y1,
OPJ_UINT32p_nb_comps,
OPJ_BOOLp_go_on,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Reads a tile header.

+
Parameters
+ + + + + + + + + + + + +
p_j2kthe jpeg2000 codec.
p_tile_indexFIXME DOC
p_data_sizeFIXME DOC
p_tile_x0FIXME DOC
p_tile_y0FIXME DOC
p_tile_x1FIXME DOC
p_tile_y1FIXME DOC
p_nb_compsFIXME DOC
p_go_onFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_j2k::cstr_index, EVT_ERROR, EVT_INFO, EVT_WARNING, opj_dec_memory_marker_handler::handler, opj_dec_memory_marker_handler::id, J2K_MS_EOC, J2K_MS_SOD, J2K_MS_SOT, J2K_STATE_EOC, J2K_STATE_NEOC, J2K_STATE_TPH, J2K_STATE_TPHSOT, opj_j2k_dec::m_can_decode, opj_j2k::m_cp, opj_j2k::m_current_tile_number, opj_tcp::m_data, opj_j2k::m_decoder, opj_j2k_dec::m_header_data, opj_j2k_dec::m_header_data_size, opj_j2k_dec::m_last_sot_read_pos, opj_tcp::m_nb_tile_parts, opj_j2k_dec::m_nb_tile_parts_correction, opj_j2k_dec::m_nb_tile_parts_correction_checked, opj_j2k_dec::m_skip_data, opj_j2k_dec::m_sot_length, opj_j2k::m_specific_param, opj_j2k_dec::m_state, opj_j2k::m_tcd, opj_tcd_tile::numcomps, opj_event_msg(), OPJ_FALSE, opj_free, opj_j2k_add_tlmarker(), opj_j2k_get_marker_handler(), opj_j2k_need_nb_tile_parts_correction(), opj_j2k_read_sod(), opj_read_bytes, opj_realloc, opj_stream_get_number_byte_left(), opj_stream_read_data(), opj_stream_skip(), opj_stream_tell(), opj_tcd_get_decoded_tile_size(), opj_tcd_init_decode_tile(), OPJ_TRUE, opj_dec_memory_marker_handler::states, opj_tcd::tcd_image, opj_cp::tcps, opj_cp::th, opj_tcd_image::tiles, opj_cp::tw, opj_tcd_tile::x0, opj_tcd_tile::x1, opj_tcd_tile::y0, and opj_tcd_tile::y1.

+ +

Referenced by opj_create_decompress(), opj_j2k_decode_one_tile(), opj_j2k_decode_tiles(), and opj_jp2_read_tile_header().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_set_decode_area (opj_j2k_tp_j2k,
opj_image_tp_image,
OPJ_INT32 p_start_x,
OPJ_INT32 p_start_y,
OPJ_INT32 p_end_x,
OPJ_INT32 p_end_y,
opj_event_mgr_tp_manager 
)
+
+ +

Sets the given area to be decoded.

+

This function should be called right after opj_read_header and before any tile header reading.

+
Parameters
+ + + + + + + + +
p_j2kthe jpeg2000 codec.
p_imageFIXME DOC
p_start_xthe left position of the rectangle to decode (in image coordinates).
p_start_ythe up position of the rectangle to decode (in image coordinates).
p_end_xthe right position of the rectangle to decode (in image coordinates).
p_end_ythe bottom position of the rectangle to decode (in image coordinates).
p_managerthe user event manager
+
+
+
Returns
true if the area could be set.
+ +

References opj_image::comps, opj_image_comp::dx, opj_image_comp::dy, EVT_ERROR, EVT_INFO, EVT_WARNING, opj_image_comp::factor, opj_image_comp::h, J2K_STATE_TPHSOT, opj_j2k::m_cp, opj_j2k::m_decoder, opj_j2k_dec::m_discard_tiles, opj_j2k_dec::m_end_tile_x, opj_j2k_dec::m_end_tile_y, opj_j2k::m_private_image, opj_j2k::m_specific_param, opj_j2k_dec::m_start_tile_x, opj_j2k_dec::m_start_tile_y, opj_j2k_dec::m_state, opj_image::numcomps, opj_event_msg(), OPJ_FALSE, opj_int_ceildiv(), opj_int_ceildivpow2(), OPJ_TRUE, opj_cp::tdx, opj_cp::tdy, opj_cp::th, opj_cp::tw, opj_cp::tx0, opj_cp::ty0, opj_image_comp::w, opj_image_comp::x0, opj_image::x0, opj_image::x1, opj_image_comp::y0, opj_image::y0, and opj_image::y1.

+ +

Referenced by opj_create_decompress(), and opj_jp2_set_decode_area().

+ +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_start_compress (opj_j2k_tp_j2k,
opj_stream_private_tp_stream,
opj_image_tp_image,
opj_event_mgr_tp_manager 
)
+
+ +

Starts a compression scheme, i.e.

+

validates the codec parameters, writes the header.

+
Parameters
+ + + + + +
p_j2kthe jpeg2000 codec.
p_streamthe stream object.
p_imageFIXME DOC
p_managerthe user event manager.
+
+
+
Returns
true if the codec is valid.
+ +

References opj_image::comps, opj_image_comp::data, EVT_ERROR, opj_j2k::m_private_image, opj_j2k::m_procedure_list, opj_j2k::m_validation_list, opj_image::numcomps, opj_copy_image_header(), opj_event_msg(), OPJ_FALSE, opj_image_create0(), opj_j2k_exec(), opj_j2k_setup_encoding_validation(), opj_j2k_setup_header_writing(), and OPJ_TRUE.

+ +

Referenced by opj_create_compress(), and opj_jp2_start_compress().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_j2k_write_tile (opj_j2k_tp_j2k,
OPJ_UINT32 p_tile_index,
OPJ_BYTEp_data,
OPJ_UINT32 p_data_size,
opj_stream_private_tp_stream,
opj_event_mgr_tp_manager 
)
+
+ +

Writes a tile.

+
Parameters
+ + + + + + + +
p_j2kthe jpeg2000 codec.
p_tile_indexFIXME DOC
p_dataFIXME DOC
p_data_sizeFIXME DOC
p_streamthe stream to write data to.
p_managerthe user event manager.
+
+
+ +

References opj_tcd_tile::comps, EVT_ERROR, opj_tcd::image, opj_j2k::m_tcd, opj_image::numcomps, opj_alloc_tile_component_data(), opj_event_msg(), OPJ_FALSE, opj_j2k_post_write_tile(), opj_j2k_pre_write_tile(), opj_tcd_copy_tile_data(), OPJ_TRUE, opj_tcd::tcd_image, and opj_tcd_image::tiles.

+ +

Referenced by opj_create_compress(), and opj_jp2_write_tile().

+ +
+
+
+ + + + diff --git a/doxygen/j2k_8h_source.html b/doxygen/j2k_8h_source.html new file mode 100644 index 00000000..026018d3 --- /dev/null +++ b/doxygen/j2k_8h_source.html @@ -0,0 +1,826 @@ + + + + + + +OpenJPEG: j2k.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
j2k.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
8  * Copyright (c) 2002-2014, Professor Benoit Macq
+
9  * Copyright (c) 2001-2003, David Janssens
+
10  * Copyright (c) 2002-2003, Yannick Verschueren
+
11  * Copyright (c) 2003-2007, Francois-Olivier Devaux
+
12  * Copyright (c) 2003-2014, Antonin Descampe
+
13  * Copyright (c) 2005, Herve Drolon, FreeImage Team
+
14  * Copyright (c) 2006-2007, Parvatha Elangovan
+
15  * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
+
16  * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France
+
17  * Copyright (c) 2012, CS Systemes d'Information, France
+
18  *
+
19  * All rights reserved.
+
20  *
+
21  * Redistribution and use in source and binary forms, with or without
+
22  * modification, are permitted provided that the following conditions
+
23  * are met:
+
24  * 1. Redistributions of source code must retain the above copyright
+
25  * notice, this list of conditions and the following disclaimer.
+
26  * 2. Redistributions in binary form must reproduce the above copyright
+
27  * notice, this list of conditions and the following disclaimer in the
+
28  * documentation and/or other materials provided with the distribution.
+
29  *
+
30  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
31  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
32  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
33  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
34  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
35  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
36  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
37  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
38  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
39  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
40  * POSSIBILITY OF SUCH DAMAGE.
+
41  */
+
42 #ifndef __J2K_H
+
43 #define __J2K_H
+
44 
+
53 
+
54 #define J2K_CP_CSTY_PRT 0x01
+
55 #define J2K_CP_CSTY_SOP 0x02
+
56 #define J2K_CP_CSTY_EPH 0x04
+
57 #define J2K_CCP_CSTY_PRT 0x01
+
58 #define J2K_CCP_CBLKSTY_LAZY 0x01
+
59 #define J2K_CCP_CBLKSTY_RESET 0x02
+
60 #define J2K_CCP_CBLKSTY_TERMALL 0x04
+
61 #define J2K_CCP_CBLKSTY_VSC 0x08
+
62 #define J2K_CCP_CBLKSTY_PTERM 0x10
+
63 #define J2K_CCP_CBLKSTY_SEGSYM 0x20
+
64 #define J2K_CCP_QNTSTY_NOQNT 0
+
65 #define J2K_CCP_QNTSTY_SIQNT 1
+
66 #define J2K_CCP_QNTSTY_SEQNT 2
+
67 
+
68 #define OPJ_J2K_DEFAULT_CBLK_DATA_SIZE 8192
+
69 
+
70 /* ----------------------------------------------------------------------- */
+
71 
+
72 #define J2K_MS_SOC 0xff4f
+
73 #define J2K_MS_SOT 0xff90
+
74 #define J2K_MS_SOD 0xff93
+
75 #define J2K_MS_EOC 0xffd9
+
76 #define J2K_MS_SIZ 0xff51
+
77 #define J2K_MS_COD 0xff52
+
78 #define J2K_MS_COC 0xff53
+
79 #define J2K_MS_RGN 0xff5e
+
80 #define J2K_MS_QCD 0xff5c
+
81 #define J2K_MS_QCC 0xff5d
+
82 #define J2K_MS_POC 0xff5f
+
83 #define J2K_MS_TLM 0xff55
+
84 #define J2K_MS_PLM 0xff57
+
85 #define J2K_MS_PLT 0xff58
+
86 #define J2K_MS_PPM 0xff60
+
87 #define J2K_MS_PPT 0xff61
+
88 #define J2K_MS_SOP 0xff91
+
89 #define J2K_MS_EPH 0xff92
+
90 #define J2K_MS_CRG 0xff63
+
91 #define J2K_MS_COM 0xff64
+
92 #define J2K_MS_CBD 0xff78
+
93 #define J2K_MS_MCC 0xff75
+
94 #define J2K_MS_MCT 0xff74
+
95 #define J2K_MS_MCO 0xff77
+
97 #define J2K_MS_UNK 0
+
99 /* UniPG>> */
+
100 #ifdef USE_JPWL
+
101 #define J2K_MS_EPC 0xff68
+
102 #define J2K_MS_EPB 0xff66
+
103 #define J2K_MS_ESD 0xff67
+
104 #define J2K_MS_RED 0xff69
+
105 #endif /* USE_JPWL */
+
106 #ifdef USE_JPSEC
+
107 #define J2K_MS_SEC 0xff65
+
108 #define J2K_MS_INSEC 0xff94
+
109 #endif /* USE_JPSEC */
+
110 /* <<UniPG */
+
111 
+
112 /* ----------------------------------------------------------------------- */
+
113 
+
118 typedef enum J2K_STATUS {
+
119  J2K_STATE_NONE = 0x0000,
+
120  J2K_STATE_MHSOC = 0x0001,
+
121  J2K_STATE_MHSIZ = 0x0002,
+
122  J2K_STATE_MH = 0x0004,
+
123  J2K_STATE_TPHSOT = 0x0008,
+
124  J2K_STATE_TPH = 0x0010,
+
125  J2K_STATE_MT = 0x0020,
+
126  J2K_STATE_NEOC = 0x0040,
+
128  J2K_STATE_EOC = 0x0100,
+
129  J2K_STATE_ERR = 0x8000
+
130 } J2K_STATUS;
+
131 
+
135 typedef enum MCT_ELEMENT_TYPE
+
136 {
+ + + + + +
142 
+
146 typedef enum MCT_ARRAY_TYPE
+
147 {
+ + + + +
152 
+
153 /* ----------------------------------------------------------------------- */
+
154 
+
158 typedef enum T2_MODE {
+ + +
161 }J2K_T2_MODE;
+
162 
+
166 typedef struct opj_stepsize {
+ + + +
172 
+
176 typedef struct opj_tccp
+
177 {
+ + + + + + + + + + + + + +
204 }
+
205 opj_tccp_t;
+
206 
+
207 
+
208 
+
212 typedef struct opj_mct_data
+
213 {
+ + + + + +
219 }
+ +
221 
+ +
226 {
+ + + + + +
232 }
+ +
234 
+
240 typedef struct opj_tcp
+
241 {
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
293 
+
294 
+
295  /***** FLAGS *******/
+ + + +
302 } opj_tcp_t;
+
303 
+
304 
+
305 
+
306 
+
307 typedef struct opj_encoding_param
+
308 {
+ + + + + + + + +
325 }
+ +
327 
+
328 typedef struct opj_decoding_param
+
329 {
+ + +
334 }
+ +
336 
+
337 
+
341 typedef struct opj_cp
+
342 {
+
344  /*int img_size;*/
+ +
348  OPJ_UINT32 tx0; /* MSD see norm */
+
350  OPJ_UINT32 ty0; /* MSD see norm */
+ + + + + +
361 
+ + + +
368 
+ +
370 
+ + + + + +
381 
+ +
384 
+
385  union
+
386  {
+ + +
389  }
+ +
391 
+
392 
+
393 /* UniPG>> */
+
394 #ifdef USE_JPWL
+
395 
+ + + + + +
406  int hprot_MH;
+ + + + + + + + +
424  int sens_MH;
+ + + + + +
435 #endif /* USE_JPWL */
+
436 
+
437  /******** FLAGS *********/
+ + +
442 /* <<UniPG */
+
443 } opj_cp_t;
+
444 
+
445 
+
446 typedef struct opj_j2k_dec
+
447 {
+ + + + + + + + + + + + + +
470 
+ + +
475 
+ + + + + + +
489 
+
490 } opj_j2k_dec_t;
+
491 
+
492 typedef struct opj_j2k_enc
+
493 {
+ +
496 
+ +
499 
+ + + +
513 
+ +
517 
+
518  /* encoded data for a tile */
+ +
520 
+
521  /* size of the encoded_data */
+ +
523 
+
524  /* encoded data for a tile */
+ +
526 
+
527  /* size of the encoded_data */
+ +
529 
+
530 
+
531 } opj_j2k_enc_t;
+
532 
+
533 
+
534 
+
535 struct opj_tcd;
+
539 typedef struct opj_j2k
+
540 {
+
541  /* J2K codestream is decoded*/
+ +
543 
+
544  /* FIXME DOC*/
+
545  union
+
546  {
+ + +
549  }
+ +
551 
+ +
554 
+
555  /* pointer to the output image (decoded)*/
+ +
557 
+ +
560 
+ +
563 
+ +
566 
+ +
569 
+ +
572 
+
574  struct opj_tcd * m_tcd;
+
575 }
+
576 opj_j2k_t;
+
577 
+
578 
+
579 
+
580 
+
583 /* ----------------------------------------------------------------------- */
+
584 
+
591 void opj_j2k_setup_decoder(opj_j2k_t *j2k, opj_dparameters_t *parameters);
+
592 
+ +
599 
+
600 
+ +
602  opj_cparameters_t *parameters,
+ +
604  opj_event_mgr_t * p_manager);
+
605 
+ +
610 
+
611 /* ----------------------------------------------------------------------- */
+
615 
+ +
621  opj_stream_private_t *p_stream,
+
622  opj_event_mgr_t * p_manager);
+
623 
+ +
635  opj_j2k_t* p_j2k,
+
636  opj_image_t** p_image,
+
637  opj_event_mgr_t* p_manager );
+
638 
+
639 
+
645 void opj_j2k_destroy (opj_j2k_t *p_j2k);
+
646 
+ +
653 
+ +
664  OPJ_UINT32 p_tile_index,
+
665  OPJ_BYTE * p_data,
+
666  OPJ_UINT32 p_data_size,
+
667  opj_stream_private_t *p_stream,
+
668  opj_event_mgr_t * p_manager );
+
669 
+ +
685  OPJ_UINT32 * p_tile_index,
+
686  OPJ_UINT32 * p_data_size,
+
687  OPJ_INT32 * p_tile_x0,
+
688  OPJ_INT32 * p_tile_y0,
+
689  OPJ_INT32 * p_tile_x1,
+
690  OPJ_INT32 * p_tile_y1,
+
691  OPJ_UINT32 * p_nb_comps,
+
692  OPJ_BOOL * p_go_on,
+
693  opj_stream_private_t *p_stream,
+
694  opj_event_mgr_t * p_manager );
+
695 
+
696 
+ +
711  opj_image_t* p_image,
+
712  OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
+
713  OPJ_INT32 p_end_x, OPJ_INT32 p_end_y,
+
714  opj_event_mgr_t * p_manager );
+
715 
+ +
722 
+
723 
+
732 void j2k_dump (opj_j2k_t* p_j2k, OPJ_INT32 flag, FILE* out_stream);
+
733 
+
734 
+
735 
+
743 void j2k_dump_image_header(opj_image_t* image, OPJ_BOOL dev_dump_flag, FILE* out_stream);
+
744 
+
752 void j2k_dump_image_comp_header(opj_image_comp_t* comp, OPJ_BOOL dev_dump_flag, FILE* out_stream);
+
753 
+ +
762 
+ +
771 
+ +
781  opj_stream_private_t *p_stream,
+
782  opj_image_t *p_image,
+
783  opj_event_mgr_t *p_manager);
+
784 
+
785 
+ +
787  opj_stream_private_t *p_stream,
+
788  opj_image_t* p_image,
+
789  opj_event_mgr_t * p_manager,
+
790  OPJ_UINT32 tile_index );
+
791 
+ +
793  OPJ_UINT32 res_factor,
+
794  opj_event_mgr_t * p_manager);
+
795 
+
796 
+ +
807  OPJ_UINT32 p_tile_index,
+
808  OPJ_BYTE * p_data,
+
809  OPJ_UINT32 p_data_size,
+
810  opj_stream_private_t *p_stream,
+
811  opj_event_mgr_t * p_manager );
+
812 
+ + +
818  opj_event_mgr_t * p_manager );
+
819 
+ +
831  opj_stream_private_t *p_stream,
+
832  opj_image_t * p_image,
+
833  opj_event_mgr_t * p_manager);
+
834 
+ + +
841  opj_event_mgr_t * p_manager);
+
842 
+ +
844 
+
845 
+
846 #endif /* __J2K_H */
+
OPJ_BOOL opj_j2k_end_decompress(opj_j2k_t *j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Ends the decompression procedures and possibiliy add data to be read after the codestream.
Definition: j2k.c:6822
+
MCT data is stored as floats.
Definition: j2k.h:140
+
the decoding process has encountered the EOC marker
Definition: j2k.h:128
+
OPJ_BOOL opj_j2k_setup_mct_encoding(opj_tcp_t *p_tcp, opj_image_t *p_image)
Definition: j2k.c:6941
+
struct opj_cp opj_cp_t
Coding parameters.
+
OPJ_INT32 m_dc_level_shift
the dc_level_shift
Definition: j2k.h:203
+
OPJ_BOOL esd_on
enables writing of ESD, in case of activated JPWL
Definition: j2k.h:400
+
OPJ_UINT32 m_DA_y0
Definition: j2k.h:467
+
OPJ_BOOL red_on
enables writing of RED, in case of activated JPWL
Definition: j2k.h:404
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
#define JPWL_MAX_NO_TILESPECS
Maximum number of tile parts expected by JPWL: increase at your will.
Definition: openjpeg.h:156
+
#define OPJ_J2K_MAXRLVLS
Number of maximum resolution level authorized.
Definition: openjpeg.h:146
+
double OPJ_FLOAT64
Definition: openjpeg.h:116
+
T2_MODE
T2 encoding mode.
Definition: j2k.h:158
+
OPJ_INT32 roishift
Region Of Interest shift.
Definition: j2k.h:197
+
enum MCT_ARRAY_TYPE J2K_MCT_ARRAY_TYPE
Type of MCT array.
+
OPJ_UINT32 max_tiles
maximum number of tiles at the decoder
Definition: j2k.h:434
+
struct opj_tcd * m_tcd
the current tile coder/decoder
Definition: j2k.h:574
+
OPJ_UINT32 ppt_data_size
Number of bytes stored inside ppt_data.
Definition: j2k.h:262
+
OPJ_BOOL opj_j2k_read_header(opj_stream_private_t *p_stream, opj_j2k_t *p_j2k, opj_image_t **p_image, opj_event_mgr_t *p_manager)
Reads a jpeg2000 codestream header structure.
Definition: j2k.c:6833
+
Definition: j2k.h:492
+
OPJ_UINT32 tdy
YTsiz.
Definition: j2k.h:354
+
OPJ_UINT32 ppt
If ppt == 1 –> there was a PPT marker for the present tile.
Definition: j2k.h:299
+
struct opj_j2k_enc opj_j2k_enc_t
+
Message handler object used for.
Definition: event.h:50
+
OPJ_BOOL opj_j2k_end_compress(opj_j2k_t *p_j2k, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Ends the compression procedures and possibiliy add data to be read after the codestream.
Definition: j2k.c:10065
+
OPJ_BYTE * ppm_data_current
Definition: j2k.h:369
+
OPJ_UINT32 m_can_decode
to tell that a tile can be decoded.
Definition: j2k.h:483
+
Progression order changes.
Definition: openjpeg.h:325
+
opj_tcp_t * m_default_tcp
store decoding parameters common to all tiles (information like COD, COC in main header) ...
Definition: j2k.h:453
+
OPJ_UINT32 m_skip_data
Definition: j2k.h:485
+
Tile coder/decoder.
Definition: tcd.h:199
+
OPJ_BOOL epc_on
enables writing of EPC in MH, thus activating JPWL
Definition: j2k.h:396
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
OPJ_BOOL info_on
enables writing of informative techniques of ESD, in case of activated JPWL
Definition: j2k.h:402
+
opj_j2k_enc_t m_encoder
Definition: j2k.h:548
+
OPJ_UINT32 numpocs
number of progression order changes
Definition: j2k.h:254
+
OPJ_UINT32 mct
multi-component transform identifier
Definition: j2k.h:250
+
OPJ_UINT32 numresolutions
number of resolutions
Definition: j2k.h:181
+
void j2k_dump_image_header(opj_image_t *image, OPJ_BOOL dev_dump_flag, FILE *out_stream)
Dump an image header structure.
Definition: j2k.c:9348
+
JPEG-2000 codestream reader/writer.
Definition: j2k.h:539
+
OPJ_UINT32 m_nb_mcc_records
the number of mct records.
Definition: j2k.h:290
+
OPJ_UINT16 rsiz
Size of the image in bits.
Definition: j2k.h:346
+
opj_procedure_list_t * m_procedure_list
the list of procedures to exec
Definition: j2k.h:562
+
OPJ_BOOL epb_on
enables writing of EPB, in case of activated JPWL
Definition: j2k.h:398
+
OPJ_OFF_T m_tlm_start
locate the start position of the TLM marker after encoding the tilepart, a jump (in j2k_write_sod) is...
Definition: j2k.h:504
+
Byte input-output stream.
Definition: cio.h:87
+
OPJ_UINT32 m_encoded_tile_size
Definition: j2k.h:522
+
opj_j2k_t * opj_j2k_create_compress(void)
Creates a J2K compression structure.
Definition: j2k.c:5994
+
OPJ_UINT32 m_end_tile_y
Definition: j2k.h:462
+
opj_tccp_t * tccps
tile-component coding parameters
Definition: j2k.h:268
+
unsigned char OPJ_BYTE
Definition: openjpeg.h:117
+
opj_image_t * image
image header
Definition: tcd.h:214
+
OPJ_BYTE * m_data
data for the tile
Definition: j2k.h:272
+
J2K_MCT_ELEMENT_TYPE m_element_type
Definition: j2k.h:214
+
Tile-component coding parameters.
Definition: j2k.h:176
+
OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t *p_j2k, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Reads a tile header.
Definition: j2k.c:7831
+
OPJ_UINT32 POC
indicates if a POC marker has been used O:NO, 1:YES
Definition: j2k.h:301
+
OPJ_UINT32 m_nb_max_mct_records
the max number of mct records.
Definition: j2k.h:286
+
struct opj_j2k opj_j2k_t
JPEG-2000 codestream reader/writer.
+
struct opj_tccp opj_tccp_t
Tile-component coding parameters.
+
opj_mct_data_t * m_offset_array
Definition: j2k.h:230
+
OPJ_BOOL opj_j2k_encode(opj_j2k_t *p_j2k, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Encodes an image into a JPEG-2000 codestream.
Definition: j2k.c:9982
+
OPJ_UINT32 m_nb_max_mcc_records
the max number of mct records.
Definition: j2k.h:292
+
the EOC marker has just been read
Definition: j2k.h:125
+
int sens_TPH[JPWL_MAX_NO_TILESPECS]
sensitivity methods for TPHs (-1,0-7)
Definition: j2k.h:428
+
uint16_t OPJ_UINT16
Definition: openjpeg.h:124
+
int hprot_TPH[JPWL_MAX_NO_TILESPECS]
error protection methods for TPHs (0,1,16,32,37-128)
Definition: j2k.h:410
+
the decoding process is in the main header
Definition: j2k.h:122
+
OPJ_UINT32 m_reduce
if != 0, then original dimension divided by 2^(reduce); if == 0 or not used, image is decoded to the ...
Definition: j2k.h:331
+
union opj_j2k::@1 m_specific_param
+
OPJ_UINT32 m_DA_x0
Decoded area set by the user.
Definition: j2k.h:466
+
OPJ_BOOL opj_j2k_write_tile(opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Writes a tile.
Definition: j2k.c:10751
+
OPJ_BYTE * m_tlm_sot_offsets_current
The current offset of the tlm buffer.
Definition: j2k.h:512
+
int32_t OPJ_INT32
Definition: openjpeg.h:125
+
OPJ_CHAR * comment
comment
Definition: j2k.h:356
+
Information structure about the codestream (FIXME should be expand and enhance)
Definition: openjpeg.h:915
+
the decoding process must not expect a EOC marker because the codestream is truncated ...
Definition: j2k.h:126
+
opj_poc_t pocs[32]
progression order changes
Definition: j2k.h:256
+
OPJ_UINT32 ty0
YTOsiz.
Definition: j2k.h:350
+
OPJ_UINT32 m_nb_tile_parts
number of tile parts for the tile.
Definition: j2k.h:270
+
Definition: j2k.h:149
+
Definition: j2k.h:150
+
struct opj_mct_data opj_mct_data_t
FIXME DOC.
+
OPJ_BOOL m_last_tile_part
Indicate that the current tile-part is assume as the last tile part of the codestream.
Definition: j2k.h:481
+
OPJ_INT32 ppm_previous
use in case of multiple marker PPM (case on non-finished previous info)
Definition: j2k.h:380
+
OPJ_UINT32 m_index
Definition: j2k.h:227
+
OPJ_UINT32 m_tp_on
Enabling Tile part generation.
Definition: j2k.h:324
+
Definition: j2k.h:148
+
OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS]
precinct height
Definition: j2k.h:201
+
MCT_ELEMENT_TYPE
Type of elements storing in the MCT data.
Definition: j2k.h:135
+
OPJ_INT32 m_tp_pos
Position of tile part flag in progression order.
Definition: j2k.h:312
+
OPJ_BOOL opj_j2k_decode(opj_j2k_t *j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
Decode an image from a JPEG-2000 codestream.
Definition: j2k.c:9816
+
OPJ_UINT32 m_layer
if != 0, then only the first "layer" layers are decoded; if == 0 or not used, all the quality layers ...
Definition: j2k.h:333
+
OPJ_FLOAT32 rates[100]
rates of layers
Definition: j2k.h:252
+
char * opj_j2k_convert_progression_order(OPJ_PROG_ORDER prg_order)
Converts an enum type progression order to string type.
Definition: j2k.c:1513
+
the decoding process has encountered an error (FIXME warning V1 = 0x0080)
Definition: j2k.h:129
+
OPJ_UINT32 tx0
XTOsiz.
Definition: j2k.h:348
+
opj_codestream_index_t * cstr_index
helper used to write the index file
Definition: j2k.h:568
+
a SOC marker is expected
Definition: j2k.h:120
+
OPJ_BYTE * ppm_data_first
pointer remaining on the first byte of the first header if ppm is used
Definition: j2k.h:374
+
void opj_j2k_setup_decoder(opj_j2k_t *j2k, opj_dparameters_t *parameters)
Setup the decoder decoding parameters using user parameters.
Definition: j2k.c:5976
+
OPJ_FLOAT32 * m_mct_coding_matrix
the mct coding matrix
Definition: j2k.h:280
+
Defines image data and characteristics.
Definition: openjpeg.h:661
+
float OPJ_FLOAT32
Definition: openjpeg.h:115
+
void opj_j2k_destroy(opj_j2k_t *p_j2k)
Destroys a jpeg2000 codec.
Definition: j2k.c:7528
+
the decoding process is in a tile part header
Definition: j2k.h:124
+
opj_codestream_index_t * j2k_get_cstr_index(opj_j2k_t *p_j2k)
Get the codestream index from a JPEG2000 codec.
Definition: j2k.c:9467
+
union opj_cp::@0 m_specific_param
+
Definition: j2k.h:137
+
opj_codestream_info_v2_t * j2k_get_cstr_info(opj_j2k_t *p_j2k)
Get the codestream info from a JPEG2000 codec.
Definition: j2k.c:9396
+
struct opj_j2k_dec opj_j2k_dec_t
+
OPJ_UINT32 cod
If cod == 1 –> there was a COD marker for the present tile.
Definition: j2k.h:297
+
Definition: j2k.h:328
+
OPJ_UINT32 m_index
Definition: j2k.h:216
+
opj_image_t * m_private_image
pointer to the internal/private encoded / decoded image
Definition: j2k.h:553
+
struct opj_encoding_param opj_encoding_param_t
+
enum T2_MODE J2K_T2_MODE
T2 encoding mode.
+
struct opj_decoding_param opj_decoding_param_t
+
int exp_comps
expected number of components at the decoder
Definition: j2k.h:432
+
OPJ_UINT32 m_start_tile_x
Only tiles index in the correct range will be decoded.
Definition: j2k.h:459
+
OPJ_UINT32 m_discard_tiles
Definition: j2k.h:484
+
OPJ_BOOL m_is_decoder
Definition: j2k.h:542
+
Decompression parameters.
Definition: openjpeg.h:508
+
OPJ_UINT32 csty
coding style
Definition: j2k.h:243
+
OPJ_FLOAT32 distoratio[100]
add fixed_quality
Definition: j2k.h:266
+
opj_procedure_list_t * m_validation_list
the list of validation procedures to follow to make sure the code is valid
Definition: j2k.h:565
+
OPJ_BOOL opj_j2k_set_decoded_resolution_factor(opj_j2k_t *p_j2k, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
Definition: j2k.c:9953
+
OPJ_UINT32 m_nb_mct_records
the number of mct records.
Definition: j2k.h:284
+
struct opj_stepsize opj_stepsize_t
Quantization stepsize.
+
A list of procedures.
Definition: function_list.h:57
+
OPJ_UINT32 m_nb_comps
Definition: j2k.h:228
+
Definition: j2k.h:307
+
Definition: j2k.h:159
+
OPJ_BOOL opj_j2k_start_compress(opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
Starts a compression scheme, i.e.
Definition: j2k.c:10080
+
OPJ_UINT32 m_current_tile_number
number of the tile curently concern by coding/decoding
Definition: j2k.h:571
+
OPJ_UINT32 m_current_poc_tile_part_number
Tile part number, regardless of poc, for each new poc, tp is reset to 1.
Definition: j2k.h:495
+
OPJ_UINT32 m_sot_length
to tell the tile part length
Definition: j2k.h:457
+
opj_j2k_t * opj_j2k_create_decompress(void)
Creates a J2K decompression structure.
Definition: j2k.c:8595
+
OPJ_BOOL opj_j2k_decode_tile(opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Decode tile data.
Definition: j2k.c:8094
+
opj_stepsize_t stepsizes[OPJ_J2K_MAXBANDS]
stepsizes used for quantization
Definition: j2k.h:193
+
void j2k_destroy_cstr_index(opj_codestream_index_t *p_cstr_ind)
Destroys a codestream index structure.
Definition: j2k.c:7591
+
enum PROG_ORDER OPJ_PROG_ORDER
Progression order.
+
OPJ_UINT32 cblkw
code-blocks width
Definition: j2k.h:183
+
OPJ_BYTE * ppt_buffer
used to keep a track of the allocated memory
Definition: j2k.h:260
+
MCT_ARRAY_TYPE
Type of MCT array.
Definition: j2k.h:146
+
OPJ_UINT32 numgbits
number of guard bits
Definition: j2k.h:195
+
int sens_TPH_tileno[JPWL_MAX_NO_TILESPECS]
tile number of sensitivity specification (>=0)
Definition: j2k.h:426
+
OPJ_FLOAT64 * mct_norms
encoding norms
Definition: j2k.h:276
+
OPJ_UINT32 ppt_len
size of ppt_data
Definition: j2k.h:264
+
OPJ_UINT32 m_max_comp_size
Maximum rate for each component.
Definition: j2k.h:310
+
OPJ_UINT32 m_disto_alloc
allocation by rate/distortion
Definition: j2k.h:318
+
opj_simple_mcc_decorrelation_data_t * m_mcc_records
mcc records
Definition: j2k.h:288
+
OPJ_BOOL opj_j2k_set_decode_area(opj_j2k_t *p_j2k, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager)
Sets the given area to be decoded.
Definition: j2k.c:8439
+
J2K_MCT_ARRAY_TYPE m_array_type
Definition: j2k.h:215
+
OPJ_INT32 * m_matrice
fixed layer
Definition: j2k.h:314
+
OPJ_UINT32 qntsty
quantisation style
Definition: j2k.h:191
+
OPJ_UINT32 m_DA_x1
Definition: j2k.h:468
+
OPJ_PROG_ORDER prg
progression order
Definition: j2k.h:245
+
Coding parameters.
Definition: j2k.h:341
+
struct opj_simple_mcc_decorrelation_data opj_simple_mcc_decorrelation_data_t
FIXME DOC.
+
Defines a single image component.
Definition: openjpeg.h:629
+
OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS]
precinct width
Definition: j2k.h:199
+
opj_mct_data_t * m_decorrelation_array
Definition: j2k.h:229
+
enum MCT_ELEMENT_TYPE J2K_MCT_ELEMENT_TYPE
Type of elements storing in the MCT data.
+
OPJ_UINT32 m_header_tile_data_size
Definition: j2k.h:528
+
OPJ_UINT32 m_is_decoder
tells if the parameter is a coding or decoding one
Definition: j2k.h:441
+
Quantization stepsize.
Definition: j2k.h:166
+
OPJ_UINT32 tdx
XTsiz.
Definition: j2k.h:352
+
OPJ_UINT32 cblkh
code-blocks height
Definition: j2k.h:185
+
FIXME DOC.
Definition: j2k.h:225
+
int hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS]
tile number of header protection specification (>=0)
Definition: j2k.h:408
+
Definition: j2k.h:446
+
FIXME DOC.
Definition: j2k.h:212
+
MCT data is stored as signed shorts.
Definition: j2k.h:138
+
OPJ_UINT32 num_layers_to_decode
Definition: j2k.h:248
+
OPJ_BOOL correct
enables JPWL correction at the decoder
Definition: j2k.h:430
+
OPJ_UINT32 th
number of tiles in heigth
Definition: j2k.h:360
+
OPJ_BYTE * m_header_data
Definition: j2k.h:454
+
J2K_STATUS
Values that specify the status of the decoding process when decoding the main header.
Definition: j2k.h:118
+
int sens_MH
sensitivity method for MH (-1,0-7)
Definition: j2k.h:424
+
MCT data is stored as signed integers.
Definition: j2k.h:139
+
opj_mct_data_t * m_mct_records
mct records
Definition: j2k.h:282
+
OPJ_UINT32 m_fixed_quality
add fixed_quality
Definition: j2k.h:322
+
OPJ_BYTE * m_header_tile_data
Definition: j2k.h:525
+
OPJ_BOOL opj_j2k_get_tile(opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
Definition: j2k.c:9859
+
OPJ_UINT32 qmfbid
discrete wavelet transform identifier
Definition: j2k.h:189
+
OPJ_OFF_T m_last_sot_read_pos
Position of the last SOT marker read.
Definition: j2k.h:474
+
OPJ_UINT32 m_end_tile_x
Definition: j2k.h:461
+
OPJ_UINT32 ppm_len
size of the ppm_data
Definition: j2k.h:365
+
int sens_addr
sensitivity addressing size (0=auto/2/4 bytes)
Definition: j2k.h:420
+
OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
Definition: j2k.c:6247
+
OPJ_BYTE * m_tlm_sot_offsets_buffer
Stores the sizes of the tlm.
Definition: j2k.h:508
+
int sens_size
enables writing of ESD, (0/2/4 bytes)
Definition: j2k.h:418
+
Function called in Rate allocation process.
Definition: j2k.h:160
+
OPJ_BYTE * ppm_data
packet header store there for futur use in t2_decode_packet
Definition: j2k.h:363
+
Index structure of the codestream (FIXME should be expand and enhance)
Definition: openjpeg.h:990
+
OPJ_FLOAT32 * m_mct_decoding_matrix
the mct decoding matrix
Definition: j2k.h:278
+
OPJ_UINT32 m_data_size
size of data
Definition: j2k.h:274
+
int sens_range
sensitivity range (0-3)
Definition: j2k.h:422
+
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
+
OPJ_UINT32 m_start_tile_y
Definition: j2k.h:460
+
OPJ_INT32 expn
exponent
Definition: j2k.h:168
+
OPJ_UINT32 m_fixed_alloc
allocation by fixed layer
Definition: j2k.h:320
+
char OPJ_CHAR
Definition: openjpeg.h:114
+
OPJ_UINT32 m_header_data_size
Definition: j2k.h:455
+
int pprot_tileno[JPWL_MAX_NO_PACKSPECS]
tile number of packet protection specification (>=0)
Definition: j2k.h:412
+
OPJ_BYTE * ppt_data
packet header store there for futur use in t2_decode_packet
Definition: j2k.h:258
+
struct opj_tcp opj_tcp_t
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
+
OPJ_BYTE m_tp_flag
Flag determining tile part generation.
Definition: j2k.h:316
+
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: j2k.h:240
+
OPJ_INT32 m_tile_ind_to_dec
Index of the tile to decode (used in get_tile)
Definition: j2k.h:472
+
Compression parameters.
Definition: openjpeg.h:353
+
int hprot_MH
error protection method for MH (0,1,16,32,37-128)
Definition: j2k.h:406
+
OPJ_BYTE * ppm_buffer
packet header storage original buffer
Definition: j2k.h:372
+
OPJ_UINT32 tw
number of tiles in width
Definition: j2k.h:358
+
OPJ_UINT32 m_current_tile_part_number
Tile part number currently coding, taking into account POC.
Definition: j2k.h:498
+
OPJ_BYTE * m_data
Definition: j2k.h:217
+
#define OPJ_J2K_MAXBANDS
Number of maximum sub-band linked to number of resolution level.
Definition: openjpeg.h:147
+
OPJ_BYTE * m_encoded_tile_data
Definition: j2k.h:519
+
OPJ_UINT32 m_nb_tile_parts_correction_checked
TNsot correction : see issue 254.
Definition: j2k.h:487
+
opj_encoding_param_t m_enc
Definition: j2k.h:388
+
opj_decoding_param_t m_dec
Definition: j2k.h:387
+
OPJ_UINT32 m_state
locate in which part of the codestream the decoder is (main header, tile header, end) ...
Definition: j2k.h:449
+
OPJ_UINT32 csty
coding style
Definition: j2k.h:179
+
#define JPWL_MAX_NO_PACKSPECS
Maximum number of packet parts expected by JPWL: increase at your will.
Definition: openjpeg.h:157
+
int pprot_packno[JPWL_MAX_NO_PACKSPECS]
packet number of packet protection specification (>=0)
Definition: j2k.h:414
+
a SOC marker is expected
Definition: j2k.h:119
+
a SIZ marker is expected
Definition: j2k.h:121
+
the decoding process is in a tile part header and expects a SOT marker
Definition: j2k.h:123
+
OPJ_INT32 ppm_store
use in case of multiple marker PPM (number of info already store)
Definition: j2k.h:378
+
opj_cp_t m_cp
Coding parameters.
Definition: j2k.h:559
+
OPJ_UINT32 m_nb_tile_parts_correction
Definition: j2k.h:488
+
OPJ_UINT32 m_is_irreversible
Definition: j2k.h:231
+
OPJ_INT32 mant
mantissa
Definition: j2k.h:170
+
int pprot[JPWL_MAX_NO_PACKSPECS]
error protection methods for packets (0,1,16,32,37-128)
Definition: j2k.h:416
+
OPJ_UINT32 m_data_size
Definition: j2k.h:218
+
OPJ_UINT32 m_total_tile_parts
Total num of tile parts in whole image = num tiles* num tileparts in each tile.
Definition: j2k.h:516
+
OPJ_UINT32 cblksty
code-block coding style
Definition: j2k.h:187
+
OPJ_UINT32 ppm_data_size
Number of bytes actually stored inside the ppm_data.
Definition: j2k.h:376
+
opj_tcp_t * tcps
tile coding parameters
Definition: j2k.h:383
+
opj_image_t * m_output_image
Definition: j2k.h:556
+
void j2k_dump(opj_j2k_t *p_j2k, OPJ_INT32 flag, FILE *out_stream)
Dump some elements from the J2K decompression structure .
Definition: j2k.c:9221
+
OPJ_UINT32 numlayers
number of layers
Definition: j2k.h:247
+
OPJ_UINT32 ppm_data_read
size of the ppm_data
Definition: j2k.h:367
+
OPJ_UINT32 m_DA_y1
Definition: j2k.h:469
+
OPJ_UINT32 ppm
if ppm == 1 –> there was a PPM marker
Definition: j2k.h:439
+
opj_j2k_dec_t m_decoder
Definition: j2k.h:547
+
void j2k_dump_image_comp_header(opj_image_comp_t *comp, OPJ_BOOL dev_dump_flag, FILE *out_stream)
Dump a component image header structure.
Definition: j2k.c:9377
+
+ + + + diff --git a/doxygen/j2kheader__manager_8c.html b/doxygen/j2kheader__manager_8c.html new file mode 100644 index 00000000..da4b1428 --- /dev/null +++ b/doxygen/j2kheader__manager_8c.html @@ -0,0 +1,473 @@ + + + + + + +OpenJPEG: j2kheader_manager.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
j2kheader_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <assert.h>
+#include "j2kheader_manager.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + +

+Functions

SIZmarker_param_t get_SIZmkrdata_from_j2kstream (Byte_t *SIZstream)
 
CODmarker_param_t get_CODmkrdata_from_j2kstream (Byte_t *CODstream)
 
OPJ_BOOL get_mainheader_from_j2kstream (Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD)
 get main header information from j2k codestream More...
 
OPJ_BOOL modify_SIZmkrstream (SIZmarker_param_t SIZ, int difOfdecomplev, Byte_t *SIZstream)
 
Byte2_t modify_CODmkrstream (CODmarker_param_t COD, int numOfdecomp, Byte_t *CODstream)
 
OPJ_BOOL modify_mainheader (Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen)
 modify main header in j2k codestream to fit with the new number of decompositions More...
 
OPJ_BOOL modify_COCmkrstream (int numOfdecomp, Byte_t *COCstream, Byte2_t Csiz, Byte2_t *oldLcoc, Byte2_t *newLcoc)
 
OPJ_BOOL modify_tileheader (Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen)
 modify tile header in j2k codestream to fit with the tile part length, and new number of decompositions for multi-componet images More...
 
+

Macro Definition Documentation

+ + + +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +
+
+

Function Documentation

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL get_mainheader_from_j2kstream (Byte_tj2kstream,
SIZmarker_param_tSIZ,
CODmarker_param_tCOD 
)
+
+ +

get main header information from j2k codestream

+
Parameters
+ + + + +
[in]j2kstreamj2k codestream
[out]SIZSIZ marker pointer
[out]CODCOD marker pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References big2(), FCGI_stderr, get_CODmkrdata_from_j2kstream(), get_SIZmkrdata_from_j2kstream(), CODmarker_param::Lcod, SIZmarker_param::Lsiz, OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by get_SIZ_from_jpipstream(), recons_codestream_from_JPPstream(), and recons_codestream_from_JPTstream().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL modify_COCmkrstream (int numOfdecomp,
Byte_tCOCstream,
Byte2_t Csiz,
Byte2_toldLcoc,
Byte2_tnewLcoc 
)
+
+ +

References big2(), FCGI_stderr, OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by modify_tileheader().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte2_t modify_CODmkrstream (CODmarker_param_t COD,
int numOfdecomp,
Byte_tCODstream 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL modify_mainheader (Byte_tj2kstream,
int numOfdecomp,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
Byte8_tj2klen 
)
+
+ +

modify main header in j2k codestream to fit with the new number of decompositions

+
Parameters
+ + + + + + +
[in]j2kstreamj2k codestream
[in]numOfdecompthe New number of decompositions
[in]SIZoriginal SIZ marker information
[in]CODoriginal COD marker information
[out]j2klenpointer to the length of j2k code stream
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References FCGI_stderr, CODmarker_param::Lcod, SIZmarker_param::Lsiz, modify_CODmkrstream(), modify_SIZmkrstream(), CODmarker_param::numOfdecomp, OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by recons_codestream_from_JPPstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL modify_SIZmkrstream (SIZmarker_param_t SIZ,
int difOfdecomplev,
Byte_tSIZstream 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL modify_tileheader (Byte_tj2kstream,
Byte8_t SOToffset,
int numOfdecomp,
Byte2_t Csiz,
Byte8_tj2klen 
)
+
+ +

modify tile header in j2k codestream to fit with the tile part length, and new number of decompositions for multi-componet images

+
Parameters
+ + + + + + +
[in]j2kstreamj2k codestream
[in]SOToffsetoffset of SOT marker from the beginning of j2kstream
[in]numOfdecompthe New number of decompositions, -1 if the same as original
[in]Csiznumber of components
[out]j2klenpointer to the length of j2k code stream
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References FCGI_stderr, modify_4Bytecode(), modify_COCmkrstream(), OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by recons_codestream_from_JPPstream().

+ +
+
+
+ + + + diff --git a/doxygen/j2kheader__manager_8h.html b/doxygen/j2kheader__manager_8h.html new file mode 100644 index 00000000..01ad6293 --- /dev/null +++ b/doxygen/j2kheader__manager_8h.html @@ -0,0 +1,252 @@ + + + + + + +OpenJPEG: j2kheader_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
j2kheader_manager.h File Reference
+
+
+
#include "byte_manager.h"
+#include "index_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Functions

OPJ_BOOL get_mainheader_from_j2kstream (Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD)
 get main header information from j2k codestream More...
 
OPJ_BOOL modify_mainheader (Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen)
 modify main header in j2k codestream to fit with the new number of decompositions More...
 
OPJ_BOOL modify_tileheader (Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen)
 modify tile header in j2k codestream to fit with the tile part length, and new number of decompositions for multi-componet images More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL get_mainheader_from_j2kstream (Byte_tj2kstream,
SIZmarker_param_tSIZ,
CODmarker_param_tCOD 
)
+
+ +

get main header information from j2k codestream

+
Parameters
+ + + + +
[in]j2kstreamj2k codestream
[out]SIZSIZ marker pointer
[out]CODCOD marker pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References big2(), FCGI_stderr, get_CODmkrdata_from_j2kstream(), get_SIZmkrdata_from_j2kstream(), CODmarker_param::Lcod, SIZmarker_param::Lsiz, OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by get_SIZ_from_jpipstream(), recons_codestream_from_JPPstream(), and recons_codestream_from_JPTstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL modify_mainheader (Byte_tj2kstream,
int numOfdecomp,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
Byte8_tj2klen 
)
+
+ +

modify main header in j2k codestream to fit with the new number of decompositions

+
Parameters
+ + + + + + +
[in]j2kstreamj2k codestream
[in]numOfdecompthe New number of decompositions
[in]SIZoriginal SIZ marker information
[in]CODoriginal COD marker information
[out]j2klenpointer to the length of j2k code stream
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References FCGI_stderr, CODmarker_param::Lcod, SIZmarker_param::Lsiz, modify_CODmkrstream(), modify_SIZmkrstream(), CODmarker_param::numOfdecomp, OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by recons_codestream_from_JPPstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL modify_tileheader (Byte_tj2kstream,
Byte8_t SOToffset,
int numOfdecomp,
Byte2_t Csiz,
Byte8_tj2klen 
)
+
+ +

modify tile header in j2k codestream to fit with the tile part length, and new number of decompositions for multi-componet images

+
Parameters
+ + + + + + +
[in]j2kstreamj2k codestream
[in]SOToffsetoffset of SOT marker from the beginning of j2kstream
[in]numOfdecompthe New number of decompositions, -1 if the same as original
[in]Csiznumber of components
[out]j2klenpointer to the length of j2k code stream
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References FCGI_stderr, modify_4Bytecode(), modify_COCmkrstream(), OPJ_FALSE, and OPJ_TRUE.

+ +

Referenced by recons_codestream_from_JPPstream().

+ +
+
+
+ + + + diff --git a/doxygen/j2kheader__manager_8h_source.html b/doxygen/j2kheader__manager_8h_source.html new file mode 100644 index 00000000..a6d3ab9c --- /dev/null +++ b/doxygen/j2kheader__manager_8h_source.html @@ -0,0 +1,118 @@ + + + + + + +OpenJPEG: j2kheader_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
j2kheader_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * Copyright (c) 2011, Lucian Corlaciu, GSoC
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
32 #ifndef J2KHEADER_MANAGER_H_
+
33 # define J2KHEADER_MANAGER_H_
+
34 
+
35 #include "byte_manager.h"
+
36 #include "index_manager.h"
+
37 
+ +
47 
+
58 OPJ_BOOL modify_mainheader( Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen);
+
59 
+
70 OPJ_BOOL modify_tileheader( Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen);
+
71 
+
72 #endif /* !J2KHEADER_MANAGER_H_ */
+
OPJ_BOOL get_mainheader_from_j2kstream(Byte_t *j2kstream, SIZmarker_param_t *SIZ, CODmarker_param_t *COD)
get main header information from j2k codestream
Definition: j2kheader_manager.c:52
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
progression order
Definition: index_manager.h:55
+
int OPJ_BOOL
Definition: openjpeg.h:110
+ +
OPJ_BOOL modify_mainheader(Byte_t *j2kstream, int numOfdecomp, SIZmarker_param_t SIZ, CODmarker_param_t COD, Byte8_t *j2klen)
modify main header in j2k codestream to fit with the new number of decompositions ...
Definition: j2kheader_manager.c:151
+
OPJ_BOOL modify_tileheader(Byte_t *j2kstream, Byte8_t SOToffset, int numOfdecomp, Byte2_t Csiz, Byte8_t *j2klen)
modify tile header in j2k codestream to fit with the tile part length, and new number of decompositio...
Definition: j2kheader_manager.c:238
+ +
A.6.1 Coding style default (COD)
Definition: index_manager.h:75
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
uint16_t Byte2_t
Definition: byte_manager.h:38
+
+ + + + diff --git a/doxygen/jp2_8c.html b/doxygen/jp2_8c.html new file mode 100644 index 00000000..af48dc5d --- /dev/null +++ b/doxygen/jp2_8c.html @@ -0,0 +1,944 @@ + + + + + + +OpenJPEG: jp2.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jp2.c File Reference
+
+
+
#include "opj_includes.h"
+
+ + + +

+Macros

#define OPJ_BOX_SIZE   1024
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static void opj_jp2_setup_end_header_writing (opj_jp2_t *jp2)
 Sets up the procedures to do on writing header after the codestream. More...
 
static void opj_jp2_setup_end_header_reading (opj_jp2_t *jp2)
 Sets up the procedures to do on reading header after the codestream. More...
 
static OPJ_BOOL opj_jp2_read_header_procedure (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 file header structure. More...
 
static OPJ_BOOL opj_jp2_exec (opj_jp2_t *jp2, opj_procedure_list_t *p_procedure_list, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Excutes the given procedures on the given codec. More...
 
static OPJ_BOOL opj_jp2_read_boxhdr (opj_jp2_box_t *box, OPJ_UINT32 *p_number_bytes_read, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Reads a box header. More...
 
static void opj_jp2_setup_encoding_validation (opj_jp2_t *jp2)
 Sets up the validation ,i.e. More...
 
static void opj_jp2_setup_header_writing (opj_jp2_t *jp2)
 Sets up the procedures to do on writing header. More...
 
OPJ_BOOL opj_jp2_default_validation (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
static const opj_jp2_header_handler_topj_jp2_img_find_handler (OPJ_UINT32 p_id)
 Finds the image execution function related to the given box id. More...
 
static const opj_jp2_header_handler_topj_jp2_find_handler (OPJ_UINT32 p_id)
 Finds the execution function related to the given box id. More...
 
static OPJ_BOOL opj_jp2_read_boxhdr_char (opj_jp2_box_t *box, OPJ_BYTE *p_data, OPJ_UINT32 *p_number_bytes_read, OPJ_UINT32 p_box_max_size, opj_event_mgr_t *p_manager)
 Reads a box header. More...
 
static void opj_jp2_setup_decoding_validation (opj_jp2_t *jp2)
 Sets up the validation ,i.e. More...
 
static void opj_jp2_setup_header_reading (opj_jp2_t *jp2)
 Sets up the procedures to do on reading header. More...
 
static OPJ_BOOL opj_jp2_check_color (opj_image_t *image, opj_jp2_color_t *color, opj_event_mgr_t *p_manager)
 
OPJ_BOOL opj_jp2_decode (opj_jp2_t *jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Decode an image from a JPEG-2000 file stream. More...
 
OPJ_BOOL opj_jp2_write_jp2h (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Writes the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box). More...
 
void opj_jp2_setup_decoder (opj_jp2_t *jp2, opj_dparameters_t *parameters)
 Setup the decoder decoding parameters using user parameters. More...
 
OPJ_BOOL opj_jp2_setup_encoder (opj_jp2_t *jp2, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 Setup the encoder parameters using the current image and using user parameters. More...
 
OPJ_BOOL opj_jp2_encode (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Encode an image into a JPEG-2000 file stream. More...
 
OPJ_BOOL opj_jp2_end_decompress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Ends the decompression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_jp2_end_compress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Ends the compression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_jp2_start_compress (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Starts a compression scheme, i.e. More...
 
static OPJ_BOOL opj_jpip_skip_iptr (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 
OPJ_BOOL opj_jp2_read_header (opj_stream_private_t *p_stream, opj_jp2_t *jp2, opj_image_t **p_image, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 file header structure. More...
 
OPJ_BOOL opj_jp2_read_tile_header (opj_jp2_t *p_jp2, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a tile header. More...
 
OPJ_BOOL opj_jp2_write_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes a tile. More...
 
OPJ_BOOL opj_jp2_decode_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Decode tile data. More...
 
void opj_jp2_destroy (opj_jp2_t *jp2)
 Destroy a JP2 decompressor handle. More...
 
OPJ_BOOL opj_jp2_set_decode_area (opj_jp2_t *p_jp2, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager)
 Sets the given area to be decoded. More...
 
OPJ_BOOL opj_jp2_get_tile (opj_jp2_t *p_jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
 
opj_jp2_topj_jp2_create (OPJ_BOOL p_is_decoder)
 Creates a jpeg2000 file decompressor. More...
 
void jp2_dump (opj_jp2_t *p_jp2, OPJ_INT32 flag, FILE *out_stream)
 Dump some elements from the JP2 decompression structure . More...
 
opj_codestream_index_tjp2_get_cstr_index (opj_jp2_t *p_jp2)
 Get the codestream index from a JPEG2000 codec. More...
 
opj_codestream_info_v2_tjp2_get_cstr_info (opj_jp2_t *p_jp2)
 Get the codestream info from a JPEG2000 codec. More...
 
OPJ_BOOL opj_jp2_set_decoded_resolution_factor (opj_jp2_t *p_jp2, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
 
Local static functions
static OPJ_BOOL opj_jp2_read_ihdr (opj_jp2_t *jp2, OPJ_BYTE *p_image_header_data, OPJ_UINT32 p_image_header_size, opj_event_mgr_t *p_manager)
 Reads a IHDR box - Image Header box. More...
 
static OPJ_BYTEopj_jp2_write_ihdr (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Image Header box - Image Header box. More...
 
static OPJ_BYTEopj_jp2_write_bpcc (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Bit per Component box. More...
 
static OPJ_BOOL opj_jp2_read_bpcc (opj_jp2_t *jp2, OPJ_BYTE *p_bpc_header_data, OPJ_UINT32 p_bpc_header_size, opj_event_mgr_t *p_manager)
 Reads a Bit per Component box. More...
 
static OPJ_BOOL opj_jp2_read_cdef (opj_jp2_t *jp2, OPJ_BYTE *p_cdef_header_data, OPJ_UINT32 p_cdef_header_size, opj_event_mgr_t *p_manager)
 
static void opj_jp2_apply_cdef (opj_image_t *image, opj_jp2_color_t *color)
 
static OPJ_BYTEopj_jp2_write_cdef (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Channel Definition box. More...
 
static OPJ_BYTEopj_jp2_write_colr (opj_jp2_t *jp2, OPJ_UINT32 *p_nb_bytes_written)
 Writes the Colour Specification box. More...
 
static OPJ_BOOL opj_jp2_write_ftyp (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Writes a FTYP box - File type box. More...
 
static OPJ_BOOL opj_jp2_read_ftyp (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a a FTYP box - File type box. More...
 
OPJ_BOOL opj_jp2_skip_jp2c (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_jp2_read_jp2h (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box). More...
 
static OPJ_BOOL opj_jp2_write_jp2c (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Writes the Jpeg2000 codestream Header box - JP2C Header box. More...
 
static OPJ_BOOL opj_jp2_read_jp (opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 file signature box. More...
 
static OPJ_BOOL opj_jp2_write_jp (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Writes a jpeg2000 file signature box. More...
 
static void opj_jp2_apply_pclr (opj_image_t *image, opj_jp2_color_t *color)
 Apply collected palette data. More...
 
static void opj_jp2_free_pclr (opj_jp2_color_t *color)
 
static OPJ_BOOL opj_jp2_read_pclr (opj_jp2_t *jp2, OPJ_BYTE *p_pclr_header_data, OPJ_UINT32 p_pclr_header_size, opj_event_mgr_t *p_manager)
 Collect palette data. More...
 
static OPJ_BOOL opj_jp2_read_cmap (opj_jp2_t *jp2, OPJ_BYTE *p_cmap_header_data, OPJ_UINT32 p_cmap_header_size, opj_event_mgr_t *p_manager)
 Collect component mapping data. More...
 
static OPJ_BOOL opj_jp2_read_colr (opj_jp2_t *jp2, OPJ_BYTE *p_colr_header_data, OPJ_UINT32 p_colr_header_size, opj_event_mgr_t *p_manager)
 Reads the Color Specification box. More...
 
+ + + + + +

+Variables

const opj_jp2_header_handler_t jp2_header []
 
const opj_jp2_header_handler_t jp2_img_header []
 
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_jp2_check_color (opj_image_timage,
opj_jp2_color_tcolor,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_jp2_exec (opj_jp2_tjp2,
opj_procedure_list_tp_procedure_list,
opj_stream_private_tstream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Excutes the given procedures on the given codec.

+
Parameters
+ + + + + +
p_procedure_listthe list of procedures to execute
jp2the jpeg2000 file codec to execute the procedures on.
streamthe stream to execute the procedures on.
p_managerthe user manager.
+
+
+
Returns
true if all the procedures were successfully executed.
+ +

References opj_procedure_list_clear(), opj_procedure_list_get_first_procedure(), opj_procedure_list_get_nb_procedures(), and OPJ_TRUE.

+ +

Referenced by opj_jp2_end_compress(), opj_jp2_end_decompress(), opj_jp2_read_header(), and opj_jp2_start_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
const opj_jp2_header_handler_t * opj_jp2_find_handler (OPJ_UINT32 p_id)
+
+static
+
+ +

Finds the execution function related to the given box id.

+
Parameters
+ + +
p_idthe id of the handler to fetch.
+
+
+
Returns
the given handler or NULL if it could not be found.
+ +

References jp2_header.

+ +

Referenced by opj_jp2_read_header_procedure().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static const opj_jp2_header_handler_t * opj_jp2_img_find_handler (OPJ_UINT32 p_id)
+
+static
+
+ +

Finds the image execution function related to the given box id.

+
Parameters
+ + +
p_idthe id of the handler to fetch.
+
+
+
Returns
the given handler or NULL if it could not be found.
+
Parameters
+ + +
p_idthe id of the handler to fetch.
+
+
+
Returns
the given handler or 00 if it could not be found.
+ +

References jp2_img_header.

+ +

Referenced by opj_jp2_read_jp2h().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_boxhdr (opj_jp2_box_tbox,
OPJ_UINT32p_number_bytes_read,
opj_stream_private_tcio,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a box header.

+

The box is the way data is packed inside a jpeg2000 file structure.

+
Parameters
+ + + + + +
ciothe input stream to read data from.
boxthe box structure to fill.
p_number_bytes_readpointer to an int that will store the number of bytes read from the stream (shoul usually be 2).
p_manageruser event manager.
+
+
+
Returns
true if the box is reconized, false otherwise
+ +

References EVT_ERROR, opj_jp2_box::length, opj_event_msg(), OPJ_FALSE, opj_read_bytes, opj_stream_get_number_byte_left(), opj_stream_read_data(), OPJ_TRUE, and opj_jp2_box::type.

+ +

Referenced by opj_jp2_read_header_procedure().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_boxhdr_char (opj_jp2_box_tbox,
OPJ_BYTEp_data,
OPJ_UINT32p_number_bytes_read,
OPJ_UINT32 p_box_max_size,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a box header.

+

The box is the way data is packed inside a jpeg2000 file structure. Data is read from a character string

+
Parameters
+ + + + + + +
boxthe box structure to fill.
p_datathe character string to read data from.
p_number_bytes_readpointer to an int that will store the number of bytes read from the stream (shoul usually be 2).
p_box_max_sizethe maximum number of bytes in the box.
p_managerFIXME DOC
+
+
+
Returns
true if the box is reconized, false otherwise
+ +

References EVT_ERROR, opj_jp2_box::length, opj_event_msg(), OPJ_FALSE, opj_read_bytes, OPJ_TRUE, and opj_jp2_box::type.

+ +

Referenced by opj_jp2_read_jp2h().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL opj_jp2_read_header_procedure (opj_jp2_tjp2,
opj_stream_private_tstream,
opj_event_mgr_tp_manager 
)
+
+static
+
+ +

Reads a jpeg2000 file header structure.

+
Parameters
+ + + + +
jp2the jpeg2000 file header structure.
streamthe stream to read data from.
p_managerthe user event manager.
+
+
+
Returns
true if the box is valid.
+ +

References EVT_ERROR, opj_jp2_header_handler::handler, JP2_JP2C, opj_jp2::jp2_state, JP2_STATE_CODESTREAM, JP2_STATE_FILE_TYPE, JP2_STATE_HEADER, JP2_STATE_SIGNATURE, JP2_STATE_UNKNOWN, opj_jp2_box::length, OPJ_BOX_SIZE, opj_calloc, opj_event_msg(), OPJ_FALSE, opj_free, opj_jp2_find_handler(), opj_jp2_read_boxhdr(), opj_realloc, opj_stream_get_number_byte_left(), opj_stream_read_data(), opj_stream_skip(), OPJ_TRUE, and opj_jp2_box::type.

+ +

Referenced by opj_jp2_setup_end_header_reading(), and opj_jp2_setup_header_reading().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_jp2_setup_decoding_validation (opj_jp2_tjp2)
+
+static
+
+ +

Sets up the validation ,i.e.

+

adds the procedures to lauch to make sure the codec parameters are valid. Developpers wanting to extend the library can add their own validation procedures.

+ +

Referenced by opj_jp2_read_header().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_jp2_setup_encoding_validation (opj_jp2_tjp2)
+
+static
+
+ +

Sets up the validation ,i.e.

+

adds the procedures to lauch to make sure the codec parameters are valid. Developpers wanting to extend the library can add their own validation procedures.

+ +

References opj_jp2::m_validation_list, opj_jp2_default_validation(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_jp2_start_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_jp2_setup_end_header_reading (opj_jp2_tjp2)
+
+static
+
+ +

Sets up the procedures to do on reading header after the codestream.

+

Developpers wanting to extend the library can add their own writing procedures.

+ +

References opj_jp2::m_procedure_list, opj_jp2_read_header_procedure(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_jp2_end_decompress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_jp2_setup_end_header_writing (opj_jp2_tjp2)
+
+static
+
+ +

Sets up the procedures to do on writing header after the codestream.

+

Developpers wanting to extend the library can add their own writing procedures.

+ +

References opj_jp2::jpip_on, opj_jp2::m_procedure_list, opj_jp2_write_jp2c(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_jp2_end_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_jp2_setup_header_reading (opj_jp2_tjp2)
+
+static
+
+ +

Sets up the procedures to do on reading header.

+

Developpers wanting to extend the library can add their own writing procedures.

+ +

References opj_jp2::m_procedure_list, opj_jp2_read_header_procedure(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_jp2_read_header().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void opj_jp2_setup_header_writing (opj_jp2_tjp2)
+
+static
+
+ +

Sets up the procedures to do on writing header.

+

Developpers wanting to extend the library can add their own writing procedures.

+ +

References opj_jp2::jpip_on, opj_jp2::m_procedure_list, opj_jp2_skip_jp2c(), opj_jp2_write_ftyp(), opj_jp2_write_jp(), opj_jp2_write_jp2h(), opj_jpip_skip_iptr(), and opj_procedure_list_add_procedure().

+ +

Referenced by opj_jp2_start_compress().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_jpip_skip_iptr (opj_jp2_tjp2,
opj_stream_private_tstream,
opj_event_mgr_tp_manager 
)
+
+static
+
+
+

Variable Documentation

+ +
+
+ + + + +
const opj_jp2_header_handler_t jp2_header[]
+
+Initial value:
=
+
{
+ + + +
}
+
static OPJ_BOOL opj_jp2_read_ftyp(opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
Reads a a FTYP box - File type box.
Definition: jp2.c:2252
+
#define JP2_JP
JPEG 2000 signature box.
Definition: jp2.h:49
+
#define JP2_JP2H
JP2 header box (super-box)
Definition: jp2.h:51
+
#define JP2_FTYP
File type box.
Definition: jp2.h:50
+
static OPJ_BOOL opj_jp2_read_jp(opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
Reads a jpeg2000 file signature box.
Definition: jp2.c:2205
+
static OPJ_BOOL opj_jp2_read_jp2h(opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
Reads the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box).
Definition: jp2.c:2357
+
+

Referenced by opj_jp2_find_handler().

+ +
+
+ +
+
+ + + + +
const opj_jp2_header_handler_t jp2_img_header[]
+
+Initial value:
=
+
{
+ + + + + + +
+
}
+
static OPJ_BOOL opj_jp2_read_ihdr(opj_jp2_t *jp2, OPJ_BYTE *p_image_header_data, OPJ_UINT32 p_image_header_size, opj_event_mgr_t *p_manager)
Reads a IHDR box - Image Header box.
Definition: jp2.c:528
+
static OPJ_BOOL opj_jp2_read_pclr(opj_jp2_t *jp2, OPJ_BYTE *p_pclr_header_data, OPJ_UINT32 p_pclr_header_size, opj_event_mgr_t *p_manager)
Collect palette data.
Definition: jp2.c:1016
+
static OPJ_BOOL opj_jp2_read_cdef(opj_jp2_t *jp2, OPJ_BYTE *p_cdef_header_data, OPJ_UINT32 p_cdef_header_size, opj_event_mgr_t *p_manager)
Definition: jp2.c:1247
+
#define JP2_IHDR
Image header box.
Definition: jp2.h:52
+
#define JP2_CDEF
Channel Definition box.
Definition: jp2.h:58
+
#define JP2_BPCC
Bits per component box.
Definition: jp2.h:60
+
static OPJ_BOOL opj_jp2_read_bpcc(opj_jp2_t *jp2, OPJ_BYTE *p_bpc_header_data, OPJ_UINT32 p_bpc_header_size, opj_event_mgr_t *p_manager)
Reads a Bit per Component box.
Definition: jp2.c:662
+
#define JP2_CMAP
Component Mapping box.
Definition: jp2.h:57
+
#define JP2_PCLR
Palette box.
Definition: jp2.h:56
+
static OPJ_BOOL opj_jp2_read_cmap(opj_jp2_t *jp2, OPJ_BYTE *p_cmap_header_data, OPJ_UINT32 p_cmap_header_size, opj_event_mgr_t *p_manager)
Collect component mapping data.
Definition: jp2.c:1123
+
static OPJ_BOOL opj_jp2_read_colr(opj_jp2_t *jp2, OPJ_BYTE *p_colr_header_data, OPJ_UINT32 p_colr_header_size, opj_event_mgr_t *p_manager)
Reads the Color Specification box.
Definition: jp2.c:1315
+
#define JP2_COLR
Colour specification box.
Definition: jp2.h:53
+
+

Referenced by opj_jp2_img_find_handler().

+ +
+
+
+ + + + diff --git a/doxygen/jp2_8h.html b/doxygen/jp2_8h.html new file mode 100644 index 00000000..e5aac334 --- /dev/null +++ b/doxygen/jp2_8h.html @@ -0,0 +1,262 @@ + + + + + + +OpenJPEG: jp2.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jp2.h File Reference
+
+
+ +

The JPEG-2000 file format Reader/Writer (JP2) +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  opj_jp2_cdef_info
 Channel description: channel index, type, assocation. More...
 
struct  opj_jp2_cdef
 Channel descriptions and number of descriptions. More...
 
struct  opj_jp2_cmap_comp
 Component mappings: channel index, mapping type, palette index. More...
 
struct  opj_jp2_pclr
 Palette data: table entries, palette columns. More...
 
struct  opj_jp2_color
 Collector for ICC profile, palette, component mapping, channel description. More...
 
struct  opj_jp2_comps
 JP2 component. More...
 
struct  opj_jp2
 JPEG-2000 file format reader/writer. More...
 
struct  opj_jp2_box
 JP2 Box. More...
 
struct  opj_jp2_header_handler
 
struct  opj_jp2_img_header_writer_handler
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define JP2_JP   0x6a502020
 JPEG 2000 signature box. More...
 
#define JP2_FTYP   0x66747970
 File type box. More...
 
#define JP2_JP2H   0x6a703268
 JP2 header box (super-box) More...
 
#define JP2_IHDR   0x69686472
 Image header box. More...
 
#define JP2_COLR   0x636f6c72
 Colour specification box. More...
 
#define JP2_JP2C   0x6a703263
 Contiguous codestream box. More...
 
#define JP2_URL   0x75726c20
 Data entry URL box. More...
 
#define JP2_PCLR   0x70636c72
 Palette box. More...
 
#define JP2_CMAP   0x636d6170
 Component Mapping box. More...
 
#define JP2_CDEF   0x63646566
 Channel Definition box. More...
 
#define JP2_DTBL   0x6474626c
 Data Reference box. More...
 
#define JP2_BPCC   0x62706363
 Bits per component box. More...
 
#define JP2_JP2   0x6a703220
 File type fields. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct opj_jp2_cdef_info opj_jp2_cdef_info_t
 Channel description: channel index, type, assocation. More...
 
typedef struct opj_jp2_cdef opj_jp2_cdef_t
 Channel descriptions and number of descriptions. More...
 
typedef struct opj_jp2_cmap_comp opj_jp2_cmap_comp_t
 Component mappings: channel index, mapping type, palette index. More...
 
typedef struct opj_jp2_pclr opj_jp2_pclr_t
 Palette data: table entries, palette columns. More...
 
typedef struct opj_jp2_color opj_jp2_color_t
 Collector for ICC profile, palette, component mapping, channel description. More...
 
typedef struct opj_jp2_comps opj_jp2_comps_t
 JP2 component. More...
 
typedef struct opj_jp2 opj_jp2_t
 JPEG-2000 file format reader/writer. More...
 
typedef struct opj_jp2_box opj_jp2_box_t
 JP2 Box. More...
 
typedef struct opj_jp2_header_handler opj_jp2_header_handler_t
 
typedef struct opj_jp2_img_header_writer_handler opj_jp2_img_header_writer_handler_t
 
+ + + + + + +

+Enumerations

enum  JP2_STATE {
+  JP2_STATE_NONE = 0x0, +JP2_STATE_SIGNATURE = 0x1, +JP2_STATE_FILE_TYPE = 0x2, +JP2_STATE_HEADER = 0x4, +
+  JP2_STATE_CODESTREAM = 0x8, +JP2_STATE_END_CODESTREAM = 0x10, +JP2_STATE_UNKNOWN = 0x7fffffff +
+ }
 < Resolution box (super-box) More...
 
enum  JP2_IMG_STATE { JP2_IMG_STATE_NONE = 0x0, +JP2_IMG_STATE_UNKNOWN = 0x7fffffff + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Exported functions
OPJ_BOOL opj_jp2_write_jp2h (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Writes the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box). More...
 
void opj_jp2_setup_decoder (opj_jp2_t *jp2, opj_dparameters_t *parameters)
 Setup the decoder decoding parameters using user parameters. More...
 
OPJ_BOOL opj_jp2_decode (opj_jp2_t *jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Decode an image from a JPEG-2000 file stream. More...
 
OPJ_BOOL opj_jp2_setup_encoder (opj_jp2_t *jp2, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
 Setup the encoder parameters using the current image and using user parameters. More...
 
OPJ_BOOL opj_jp2_encode (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
 Encode an image into a JPEG-2000 file stream. More...
 
OPJ_BOOL opj_jp2_start_compress (opj_jp2_t *jp2, opj_stream_private_t *stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
 Starts a compression scheme, i.e. More...
 
OPJ_BOOL opj_jp2_end_compress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Ends the compression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_jp2_end_decompress (opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
 Ends the decompression procedures and possibiliy add data to be read after the codestream. More...
 
OPJ_BOOL opj_jp2_read_header (opj_stream_private_t *p_stream, opj_jp2_t *jp2, opj_image_t **p_image, opj_event_mgr_t *p_manager)
 Reads a jpeg2000 file header structure. More...
 
OPJ_BOOL opj_jp2_read_tile_header (opj_jp2_t *p_jp2, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Reads a tile header. More...
 
OPJ_BOOL opj_jp2_write_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Writes a tile. More...
 
OPJ_BOOL opj_jp2_decode_tile (opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
 Decode tile data. More...
 
opj_jp2_topj_jp2_create (OPJ_BOOL p_is_decoder)
 Creates a jpeg2000 file decompressor. More...
 
void opj_jp2_destroy (opj_jp2_t *jp2)
 Destroy a JP2 decompressor handle. More...
 
OPJ_BOOL opj_jp2_set_decode_area (opj_jp2_t *p_jp2, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager)
 Sets the given area to be decoded. More...
 
OPJ_BOOL opj_jp2_get_tile (opj_jp2_t *p_jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
 
OPJ_BOOL opj_jp2_set_decoded_resolution_factor (opj_jp2_t *p_jp2, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
 
void jp2_dump (opj_jp2_t *p_jp2, OPJ_INT32 flag, FILE *out_stream)
 Dump some elements from the JP2 decompression structure . More...
 
opj_codestream_info_v2_tjp2_get_cstr_info (opj_jp2_t *p_jp2)
 Get the codestream info from a JPEG2000 codec. More...
 
opj_codestream_index_tjp2_get_cstr_index (opj_jp2_t *p_jp2)
 Get the codestream index from a JPEG2000 codec. More...
 
+

Detailed Description

+

The JPEG-2000 file format Reader/Writer (JP2)

+
+ + + + diff --git a/doxygen/jp2_8h_source.html b/doxygen/jp2_8h_source.html new file mode 100644 index 00000000..71590f7e --- /dev/null +++ b/doxygen/jp2_8h_source.html @@ -0,0 +1,485 @@ + + + + + + +OpenJPEG: jp2.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
jp2.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * The copyright in this software is being made available under the 2-clauses
+
3  * BSD License, included below. This software may be subject to other third
+
4  * party and contributor rights, including patent rights, and no such rights
+
5  * are granted under this license.
+
6  *
+
7  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
8  * Copyright (c) 2002-2014, Professor Benoit Macq
+
9  * Copyright (c) 2002-2003, Yannick Verschueren
+
10  * Copyright (c) 2005, Herve Drolon, FreeImage Team
+
11  * Copyright (c) 2008, 2011-2012, Centre National d'Etudes Spatiales (CNES), FR
+
12  * Copyright (c) 2012, CS Systemes d'Information, France
+
13  * All rights reserved.
+
14  *
+
15  * Redistribution and use in source and binary forms, with or without
+
16  * modification, are permitted provided that the following conditions
+
17  * are met:
+
18  * 1. Redistributions of source code must retain the above copyright
+
19  * notice, this list of conditions and the following disclaimer.
+
20  * 2. Redistributions in binary form must reproduce the above copyright
+
21  * notice, this list of conditions and the following disclaimer in the
+
22  * documentation and/or other materials provided with the distribution.
+
23  *
+
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
25  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
26  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
27  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
28  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
30  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
31  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
32  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
33  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
34  * POSSIBILITY OF SUCH DAMAGE.
+
35  */
+
36 #ifndef __JP2_H
+
37 #define __JP2_H
+
38 
+
46 
+
47 /*#define JPIP_JPIP 0x6a706970*/
+
48 
+
49 #define JP2_JP 0x6a502020
+
50 #define JP2_FTYP 0x66747970
+
51 #define JP2_JP2H 0x6a703268
+
52 #define JP2_IHDR 0x69686472
+
53 #define JP2_COLR 0x636f6c72
+
54 #define JP2_JP2C 0x6a703263
+
55 #define JP2_URL 0x75726c20
+
56 #define JP2_PCLR 0x70636c72
+
57 #define JP2_CMAP 0x636d6170
+
58 #define JP2_CDEF 0x63646566
+
59 #define JP2_DTBL 0x6474626c
+
60 #define JP2_BPCC 0x62706363
+
61 #define JP2_JP2 0x6a703220
+
63 /* For the future */
+
64 /* #define JP2_RES 0x72657320 */
+
65 /* #define JP2_JP2I 0x6a703269 */
+
66 /* #define JP2_XML 0x786d6c20 */
+
67 /* #define JP2_UUID 0x75756994 */
+
68 /* #define JP2_UINF 0x75696e66 */
+
69 /* #define JP2_ULST 0x756c7374 */
+
71 /* ----------------------------------------------------------------------- */
+
72 
+
73 typedef enum
+
74 {
+ + + + + + +
81  JP2_STATE_UNKNOWN = 0x7fffffff /* ISO C restricts enumerator values to range of 'int' */
+
82 }
+
83 JP2_STATE;
+
84 
+
85 typedef enum
+
86 {
+ +
88  JP2_IMG_STATE_UNKNOWN = 0x7fffffff
+
89 }
+ +
91 
+
95 typedef struct opj_jp2_cdef_info
+
96 {
+ + +
99 
+
103 typedef struct opj_jp2_cdef
+
104 {
+ + + +
108 
+
112 typedef struct opj_jp2_cmap_comp
+
113 {
+ + + +
117 
+
121 typedef struct opj_jp2_pclr
+
122 {
+ + + + + + + +
130 
+
134 typedef struct opj_jp2_color
+
135 {
+ + +
138 
+ + + + +
143 
+
147 typedef struct opj_jp2_comps {
+ + + + +
152 
+
156 typedef struct opj_jp2
+
157 {
+ + + +
164 
+
165  /* width of image */
+ +
167  /* height of image */
+ +
169  /* number of components in the image */
+ + + + + + + + + + + + + + +
184  /* FIXME: The following two variables are used to save offset
+
185  as we write out a JP2 file to disk. This mecanism is not flexible
+
186  as codec writers will need to extand those fields as new part
+
187  of the standard are implemented.
+
188  */
+ + + + + +
194 
+ +
196 
+ +
198 }
+
199 opj_jp2_t;
+
200 
+
204 typedef struct opj_jp2_box {
+ + + +
208 } opj_jp2_box_t;
+
209 
+ +
211 {
+
212  /* marker value */
+ +
214  /* action linked to the marker */
+ +
216  OPJ_BYTE *p_header_data,
+
217  OPJ_UINT32 p_header_size,
+
218  opj_event_mgr_t * p_manager);
+
219 }
+ +
221 
+
222 
+ +
224 {
+
225  /* action to perform */
+
226  OPJ_BYTE* (*handler) (opj_jp2_t *jp2, OPJ_UINT32 * p_data_size);
+
227  /* result of the action : data */
+ +
229  /* size of data */
+ +
231 }
+ +
233 
+
236 /* ----------------------------------------------------------------------- */
+
237 
+ +
248  opj_stream_private_t *stream,
+
249  opj_event_mgr_t * p_manager );
+
250 
+
257 void opj_jp2_setup_decoder(opj_jp2_t *jp2, opj_dparameters_t *parameters);
+
258 
+ +
269  opj_stream_private_t *p_stream,
+
270  opj_image_t* p_image,
+
271  opj_event_mgr_t * p_manager);
+
272 
+ +
284  opj_cparameters_t *parameters,
+
285  opj_image_t *image,
+
286  opj_event_mgr_t * p_manager);
+
287 
+ +
296  opj_stream_private_t *stream,
+
297  opj_event_mgr_t * p_manager);
+
298 
+
299 
+ +
311  opj_stream_private_t *stream,
+
312  opj_image_t * p_image,
+
313  opj_event_mgr_t * p_manager);
+
314 
+
315 
+ + +
322  opj_event_mgr_t * p_manager);
+
323 
+
324 /* ----------------------------------------------------------------------- */
+
325 
+ + +
332  opj_event_mgr_t * p_manager);
+
333 
+ +
345  opj_jp2_t *jp2,
+
346  opj_image_t ** p_image,
+
347  opj_event_mgr_t * p_manager );
+
348 
+ +
364  OPJ_UINT32 * p_tile_index,
+
365  OPJ_UINT32 * p_data_size,
+
366  OPJ_INT32 * p_tile_x0,
+
367  OPJ_INT32 * p_tile_y0,
+
368  OPJ_INT32 * p_tile_x1,
+
369  OPJ_INT32 * p_tile_y1,
+
370  OPJ_UINT32 * p_nb_comps,
+
371  OPJ_BOOL * p_go_on,
+
372  opj_stream_private_t *p_stream,
+
373  opj_event_mgr_t * p_manager );
+
374 
+ +
386  OPJ_UINT32 p_tile_index,
+
387  OPJ_BYTE * p_data,
+
388  OPJ_UINT32 p_data_size,
+
389  opj_stream_private_t *p_stream,
+
390  opj_event_mgr_t * p_manager );
+
391 
+ +
404  OPJ_UINT32 p_tile_index,
+
405  OPJ_BYTE * p_data,
+
406  OPJ_UINT32 p_data_size,
+
407  opj_stream_private_t *p_stream,
+
408  opj_event_mgr_t * p_manager );
+
409 
+
415 opj_jp2_t* opj_jp2_create (OPJ_BOOL p_is_decoder);
+
416 
+
421 void opj_jp2_destroy(opj_jp2_t *jp2);
+
422 
+
423 
+ +
438  opj_image_t* p_image,
+
439  OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
+
440  OPJ_INT32 p_end_x, OPJ_INT32 p_end_y,
+
441  opj_event_mgr_t * p_manager );
+
442 
+ +
447  opj_stream_private_t *p_stream,
+
448  opj_image_t* p_image,
+
449  opj_event_mgr_t * p_manager,
+
450  OPJ_UINT32 tile_index );
+
451 
+
452 
+ +
457  OPJ_UINT32 res_factor,
+
458  opj_event_mgr_t * p_manager);
+
459 
+
460 
+
461 /* TODO MSD: clean these 3 functions */
+
470 void jp2_dump (opj_jp2_t* p_jp2, OPJ_INT32 flag, FILE* out_stream);
+
471 
+ +
480 
+ +
489 
+
490 
+
494 
+
495 #endif /* __JP2_H */
+
496 
+
OPJ_UINT32 numcomps
Definition: jp2.h:170
+
JPEG-2000 file format reader/writer.
Definition: jp2.h:156
+
struct opj_procedure_list * m_validation_list
list of validation procedures
Definition: jp2.h:161
+
struct opj_jp2_cmap_comp opj_jp2_cmap_comp_t
Component mappings: channel index, mapping type, palette index.
+
int64_t OPJ_OFF_T
Definition: openjpeg.h:130
+
OPJ_UINT32 bpcc
Definition: jp2.h:150
+
Definition: jp2.h:210
+
OPJ_BOOL jpip_on
Definition: jp2.h:191
+
OPJ_OFF_T jpip_iptr_offset
Definition: jp2.h:190
+
opj_jp2_comps_t * comps
Definition: jp2.h:183
+
struct opj_procedure_list * m_procedure_list
list of execution procedures
Definition: jp2.h:163
+
Message handler object used for.
Definition: event.h:50
+
struct opj_jp2_img_header_writer_handler opj_jp2_img_header_writer_handler_t
+
struct opj_jp2_color opj_jp2_color_t
Collector for ICC profile, palette, component mapping, channel description.
+
OPJ_UINT32 icc_profile_len
Definition: jp2.h:137
+
OPJ_UINT16 asoc
Definition: jp2.h:97
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
OPJ_BOOL opj_jp2_encode(opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
Encode an image into a JPEG-2000 file stream.
Definition: jp2.c:1854
+
JPEG-2000 codestream reader/writer.
Definition: j2k.h:539
+
OPJ_BOOL opj_jp2_write_tile(opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Writes a tile.
Definition: jp2.c:2593
+
OPJ_UINT32 length
Definition: jp2.h:205
+
OPJ_UINT32 id
Definition: jp2.h:213
+
Byte input-output stream.
Definition: cio.h:87
+
OPJ_BYTE * channel_size
Definition: jp2.h:125
+
unsigned char OPJ_BYTE
Definition: openjpeg.h:117
+
OPJ_BOOL opj_jp2_read_tile_header(opj_jp2_t *p_jp2, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Reads a tile header.
Definition: jp2.c:2569
+
OPJ_BYTE * channel_sign
Definition: jp2.h:124
+
OPJ_UINT32 numcl
Definition: jp2.h:181
+
opj_jp2_t * opj_jp2_create(OPJ_BOOL p_is_decoder)
Creates a jpeg2000 file decompressor.
Definition: jp2.c:2751
+
JP2 Box.
Definition: jp2.h:204
+
opj_jp2_cdef_info_t * info
Definition: jp2.h:105
+
OPJ_UINT32 w
Definition: jp2.h:166
+
Definition: jp2.h:88
+
OPJ_UINT16 cn
Definition: jp2.h:97
+
OPJ_UINT32 IPR
Definition: jp2.h:174
+
OPJ_UINT32 depth
Definition: jp2.h:148
+
uint16_t OPJ_UINT16
Definition: openjpeg.h:124
+
OPJ_BOOL opj_jp2_decode_tile(opj_jp2_t *p_jp2, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Decode tile data.
Definition: jp2.c:2605
+
struct opj_jp2_cdef opj_jp2_cdef_t
Channel descriptions and number of descriptions.
+
OPJ_BOOL(* handler)(opj_jp2_t *jp2, OPJ_BYTE *p_header_data, OPJ_UINT32 p_header_size, opj_event_mgr_t *p_manager)
Definition: jp2.h:215
+
int32_t OPJ_INT32
Definition: openjpeg.h:125
+
Information structure about the codestream (FIXME should be expand and enhance)
Definition: openjpeg.h:915
+
OPJ_BYTE mtyp
Definition: jp2.h:115
+
OPJ_BOOL opj_jp2_set_decoded_resolution_factor(opj_jp2_t *p_jp2, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
Definition: jp2.c:2814
+
struct opj_jp2_comps opj_jp2_comps_t
JP2 component.
+
OPJ_BOOL opj_jp2_setup_encoder(opj_jp2_t *jp2, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
Setup the encoder parameters using the current image and using user parameters.
Definition: jp2.c:1685
+
OPJ_UINT32 type
Definition: jp2.h:206
+
OPJ_BOOL opj_jp2_end_decompress(opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Ends the decompression procedures and possibiliy add data to be read after the codestream.
Definition: jp2.c:1861
+
opj_jp2_cdef_t * jp2_cdef
Definition: jp2.h:139
+
opj_j2k_t * j2k
handle to the J2K codec
Definition: jp2.h:159
+
OPJ_UINT32 * entries
Definition: jp2.h:123
+
OPJ_UINT32 minversion
Definition: jp2.h:180
+
OPJ_OFF_T j2k_codestream_offset
Definition: jp2.h:189
+
OPJ_BYTE nr_channels
Definition: jp2.h:128
+
OPJ_BOOL opj_jp2_set_decode_area(opj_jp2_t *p_jp2, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y, opj_event_mgr_t *p_manager)
Sets the given area to be decoded.
Definition: jp2.c:2684
+
Defines image data and characteristics.
Definition: openjpeg.h:661
+
OPJ_UINT16 typ
Definition: jp2.h:97
+
OPJ_UINT32 jp2_state
Definition: jp2.h:192
+
Definition: jp2.h:75
+
OPJ_BOOL ignore_pclr_cmap_cdef
Definition: jp2.h:197
+
Decompression parameters.
Definition: openjpeg.h:508
+
Collector for ICC profile, palette, component mapping, channel description.
Definition: jp2.h:134
+
OPJ_BOOL opj_jp2_read_header(opj_stream_private_t *p_stream, opj_jp2_t *jp2, opj_image_t **p_image, opj_event_mgr_t *p_manager)
Reads a jpeg2000 file header structure.
Definition: jp2.c:2495
+
OPJ_UINT32 precedence
Definition: jp2.h:178
+
A list of procedures.
Definition: function_list.h:57
+
OPJ_UINT32 jp2_img_state
Definition: jp2.h:193
+
OPJ_BOOL opj_jp2_start_compress(opj_jp2_t *jp2, opj_stream_private_t *stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
Starts a compression scheme, i.e.
Definition: jp2.c:2133
+
OPJ_BYTE * icc_profile_buf
Definition: jp2.h:136
+
OPJ_UINT32 m_size
Definition: jp2.h:230
+
OPJ_BYTE pcol
Definition: jp2.h:115
+
void opj_jp2_setup_decoder(opj_jp2_t *jp2, opj_dparameters_t *parameters)
Setup the decoder decoding parameters using user parameters.
Definition: jp2.c:1671
+
OPJ_BOOL opj_jp2_write_jp2h(opj_jp2_t *jp2, opj_stream_private_t *stream, opj_event_mgr_t *p_manager)
Writes the Jpeg2000 file Header box - JP2 Header box (warning, this is a super box).
Definition: jp2.c:1451
+
OPJ_BOOL opj_jp2_decode(opj_jp2_t *jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
Decode an image from a JPEG-2000 file stream.
Definition: jp2.c:1397
+
OPJ_UINT32 approx
Definition: jp2.h:176
+
OPJ_UINT16 nr_entries
Definition: jp2.h:127
+
struct opj_jp2 opj_jp2_t
JPEG-2000 file format reader/writer.
+
OPJ_INT32 init_pos
Definition: jp2.h:207
+
Definition: jp2.h:80
+
OPJ_UINT32 C
Definition: jp2.h:172
+
struct opj_jp2_pclr opj_jp2_pclr_t
Palette data: table entries, palette columns.
+
struct opj_jp2_box opj_jp2_box_t
JP2 Box.
+
Component mappings: channel index, mapping type, palette index.
Definition: jp2.h:112
+
OPJ_BYTE * m_data
Definition: jp2.h:228
+
opj_codestream_index_t * jp2_get_cstr_index(opj_jp2_t *p_jp2)
Get the codestream index from a JPEG2000 codec.
Definition: jp2.c:2804
+
opj_jp2_pclr_t * jp2_pclr
Definition: jp2.h:140
+
OPJ_UINT16 n
Definition: jp2.h:106
+
Index structure of the codestream (FIXME should be expand and enhance)
Definition: openjpeg.h:990
+
OPJ_UINT32 enumcs
Definition: jp2.h:177
+
Definition: jp2.h:81
+
Definition: jp2.h:79
+
opj_codestream_info_v2_t * jp2_get_cstr_info(opj_jp2_t *p_jp2)
Get the codestream info from a JPEG2000 codec.
Definition: jp2.c:2809
+
OPJ_UINT32 UnkC
Definition: jp2.h:173
+
void opj_jp2_destroy(opj_jp2_t *jp2)
Destroy a JP2 decompressor handle.
Definition: jp2.c:2616
+
opj_jp2_color_t color
Definition: jp2.h:195
+
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
+
OPJ_UINT32 bpc
Definition: jp2.h:171
+
Palette data: table entries, palette columns.
Definition: jp2.h:121
+
struct opj_jp2_header_handler opj_jp2_header_handler_t
+
OPJ_UINT32 h
Definition: jp2.h:168
+
opj_jp2_cmap_comp_t * cmap
Definition: jp2.h:126
+
Compression parameters.
Definition: openjpeg.h:353
+
OPJ_UINT32 brand
Definition: jp2.h:179
+
OPJ_BOOL opj_jp2_get_tile(opj_jp2_t *p_jp2, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
Definition: jp2.c:2694
+
JP2_IMG_STATE
Definition: jp2.h:85
+
OPJ_BYTE jp2_has_colr
Definition: jp2.h:141
+
OPJ_BOOL opj_jp2_end_compress(opj_jp2_t *jp2, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Ends the compression procedures and possibiliy add data to be read after the codestream.
Definition: jp2.c:1882
+
OPJ_UINT32 sgnd
Definition: jp2.h:149
+
OPJ_UINT16 cmp
Definition: jp2.h:114
+
struct opj_jp2_cdef_info opj_jp2_cdef_info_t
Channel description: channel index, type, assocation.
+
OPJ_UINT32 * cl
Definition: jp2.h:182
+
Definition: jp2.h:76
+
Definition: jp2.h:87
+
Definition: jp2.h:77
+
OPJ_UINT32 meth
Definition: jp2.h:175
+
JP2 component.
Definition: jp2.h:147
+
JP2_STATE
< Resolution box (super-box)
Definition: jp2.h:73
+ +
Channel description: channel index, type, assocation.
Definition: jp2.h:95
+
Channel descriptions and number of descriptions.
Definition: jp2.h:103
+
Definition: jp2.h:78
+
void jp2_dump(opj_jp2_t *p_jp2, OPJ_INT32 flag, FILE *out_stream)
Dump some elements from the JP2 decompression structure .
Definition: jp2.c:2794
+
+ + + + diff --git a/doxygen/jp2k__decoder_8c.html b/doxygen/jp2k__decoder_8c.html new file mode 100644 index 00000000..3ab9535e --- /dev/null +++ b/doxygen/jp2k__decoder_8c.html @@ -0,0 +1,272 @@ + + + + + + +OpenJPEG: jp2k_decoder.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jp2k_decoder.c File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <limits.h>
+#include "jp2k_decoder.h"
+#include "openjpeg.h"
+
+ + + + + + + + + + + + + + +

+Functions

static void error_callback (const char *msg, void *client_data)
 sample error callback expecting a FILE* client object More...
 
static void warning_callback (const char *msg, void *client_data)
 sample warning callback expecting a FILE* client object More...
 
static void info_callback (const char *msg, void *client_data)
 sample debug callback expecting no client object More...
 
static Byte_timagetopnm (opj_image_t *image, ihdrbox_param_t **ihdrbox)
 
Byte_tj2k_to_pnm (const char *fn, ihdrbox_param_t **ihdrbox)
 
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void error_callback (const char * msg,
void * client_data 
)
+
+static
+
+ +

sample error callback expecting a FILE* client object

+ +

Referenced by j2k_to_pnm().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static Byte_t * imagetopnm (opj_image_timage,
ihdrbox_param_t ** ihdrbox 
)
+
+static
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void info_callback (const char * msg,
void * client_data 
)
+
+static
+
+ +

sample debug callback expecting no client object

+ +

Referenced by j2k_to_pnm().

+ +
+
+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void warning_callback (const char * msg,
void * client_data 
)
+
+static
+
+ +

sample warning callback expecting a FILE* client object

+ +

Referenced by j2k_to_pnm().

+ +
+
+
+ + + + diff --git a/doxygen/jp2k__decoder_8h.html b/doxygen/jp2k__decoder_8h.html new file mode 100644 index 00000000..9f3f6202 --- /dev/null +++ b/doxygen/jp2k__decoder_8h.html @@ -0,0 +1,106 @@ + + + + + + +OpenJPEG: jp2k_decoder.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jp2k_decoder.h File Reference
+
+ + + + + diff --git a/doxygen/jp2k__decoder_8h_source.html b/doxygen/jp2k__decoder_8h_source.html new file mode 100644 index 00000000..f4207055 --- /dev/null +++ b/doxygen/jp2k__decoder_8h_source.html @@ -0,0 +1,107 @@ + + + + + + +OpenJPEG: jp2k_decoder.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
jp2k_decoder.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #ifndef JP2K_DECODER_H_
+
32 # define JP2K_DECODER_H_
+
33 
+
34 #include "byte_manager.h"
+
35 #include "ihdrbox_manager.h"
+
36 
+
37 Byte_t * j2k_to_pnm( const char *fn, ihdrbox_param_t **ihdrbox);
+
38 
+
39 #endif /* !JP2K_DECODER_H_ */
+
uint8_t Byte_t
Definition: byte_manager.h:37
+ +
Byte_t * j2k_to_pnm(const char *fn, ihdrbox_param_t **ihdrbox)
Definition: jp2k_decoder.c:46
+
I.5.3.1 Image Header box.
Definition: ihdrbox_manager.h:39
+ +
+ + + + diff --git a/doxygen/jp2k__encoder_8c.html b/doxygen/jp2k__encoder_8c.html new file mode 100644 index 00000000..45f79915 --- /dev/null +++ b/doxygen/jp2k__encoder_8c.html @@ -0,0 +1,1729 @@ + + + + + + +OpenJPEG: jp2k_encoder.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jp2k_encoder.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <assert.h>
+#include "jp2k_encoder.h"
+#include "j2kheader_manager.h"
+#include "imgreg_manager.h"
+#include "opj_inttypes.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

message_param_tsearch_message (Byte8_t class_id, Byte8_t in_class_id, Byte8_t csn, message_param_t *msg)
 search a message by class_id More...
 
Byte_trecons_codestream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *codelen)
 reconstruct j2k codestream from JPT- (in future, JPP-) stream More...
 
Byte_trecons_j2k (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen)
 reconstruct j2k codestream from message queue More...
 
Byte_tadd_emptyboxstream (placeholder_param_t *phld, Byte_t *jp2stream, Byte8_t *jp2len)
 
Byte_tadd_msgstream (message_param_t *message, Byte_t *origstream, Byte_t *j2kstream, Byte8_t *j2klen)
 
Byte_trecons_jp2 (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *jp2len)
 reconstruct jp2 file codestream from message queue More...
 
OPJ_BOOL isJPPstream (Byte8_t csn, msgqueue_param_t *msgqueue)
 
Byte_trecons_codestream_from_JPTstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen)
 
Byte_trecons_codestream_from_JPPstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen)
 
Byte_tadd_EOC (Byte_t *j2kstream, Byte8_t *j2klen)
 
Byte_tadd_mainhead_msgstream (msgqueue_param_t *msgqueue, Byte_t *origstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t *j2klen)
 
Byte8_t get_last_tileID (msgqueue_param_t *msgqueue, Byte8_t csn, OPJ_BOOL isJPPstream)
 
Byte_tadd_emptytilestream (const Byte8_t tileID, Byte_t *j2kstream, Byte8_t *j2klen)
 
Byte_tadd_SOTmkr (Byte_t *j2kstream, Byte8_t *j2klen)
 
Byte_trecons_bitstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int mindeclev, int *max_reslev, Byte8_t *j2klen)
 
Byte_trecons_LRCPbitstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int mindeclev, int *max_reslev, Byte8_t *j2klen)
 
Byte_trecons_RLCPbitstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int mindeclev, int *max_reslev, Byte8_t *j2klen)
 
Byte_trecons_RPCLbitstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int mindeclev, int *max_reslev, Byte8_t *j2klen)
 
Byte_trecons_PCRLbitstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int mindeclev, int *max_reslev, Byte8_t *j2klen)
 
Byte_trecons_CPRLbitstream (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int mindeclev, int *max_reslev, Byte8_t *j2klen)
 
int comp_numOfprcts (Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int r)
 
Byte8_t comp_seqID (Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int r, int p)
 
Byte_trecons_packet (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int *max_reslev, int comp_idx, int res_idx, int prct_idx, int lay_idx, Byte8_t *j2klen)
 
Byte_trecons_precinct (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte_t *j2kstream, Byte8_t csn, Byte8_t tileID, SIZmarker_param_t SIZ, CODmarker_param_t COD, int *max_reslev, int comp_idx, int res_idx, Byte8_t seqID, Byte8_t *j2klen)
 
Byte_tadd_padding (Byte8_t padding, Byte_t *j2kstream, Byte8_t *j2klen)
 
Byte_tgene_msgstream (message_param_t *message, Byte_t *stream, Byte8_t *length)
 
Byte_tgene_emptytilestream (const Byte8_t tileID, Byte8_t *length)
 
Byte_trecons_j2kmainhead (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *j2klen)
 reconstruct j2k codestream of mainheader from message queue More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +

Referenced by isJPPstream(), and recons_bitstream().

+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+ +
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * add_emptyboxstream (placeholder_param_tphld,
Byte_tjp2stream,
Byte8_tjp2len 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * add_emptytilestream (const Byte8_t tileID,
Byte_tj2kstream,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t * add_EOC (Byte_tj2kstream,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * add_mainhead_msgstream (msgqueue_param_tmsgqueue,
Byte_torigstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * add_msgstream (message_param_tmessage,
Byte_torigstream,
Byte_tj2kstream,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * add_padding (Byte8_t padding,
Byte_tj2kstream,
Byte8_tj2klen 
)
+
+ +

References opj_free, and opj_malloc.

+ +

Referenced by recons_packet(), and recons_precinct().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t * add_SOTmkr (Byte_tj2kstream,
Byte8_tj2klen 
)
+
+ +

References opj_free, and opj_malloc.

+ +

Referenced by recons_codestream_from_JPPstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int comp_numOfprcts (Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int r 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte8_t comp_seqID (Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int r,
int p 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Byte_t * gene_emptytilestream (const Byte8_t tileID,
Byte8_tlength 
)
+
+ +

References opj_malloc.

+ +

Referenced by add_emptytilestream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * gene_msgstream (message_param_tmessage,
Byte_tstream,
Byte8_tlength 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Byte8_t get_last_tileID (msgqueue_param_tmsgqueue,
Byte8_t csn,
OPJ_BOOL isJPPstream 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
OPJ_BOOL isJPPstream (Byte8_t csn,
msgqueue_param_tmsgqueue 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_bitstream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int mindeclev,
int * max_reslev,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_codestream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
int fw,
int fh,
Byte8_tcodelen 
)
+
+ +

reconstruct j2k codestream from JPT- (in future, JPP-) stream

+
Parameters
+ + + + + + + +
[in]msgqueuemessage queue pointer
[in]jpipstreamoriginal JPT- JPP- stream
[in]csncodestream number
[in]fwreconstructing image frame width
[in]fhreconstructing image frame height
[out]codelencodestream length
+
+
+
Returns
generated reconstructed j2k codestream
+ +

References isJPPstream(), recons_codestream_from_JPPstream(), and recons_codestream_from_JPTstream().

+ +

Referenced by recons_j2k(), and recons_jp2().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_codestream_from_JPTstream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
int fw,
int fh,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_CPRLbitstream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int mindeclev,
int * max_reslev,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* recons_j2k (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
int fw,
int fh,
Byte8_tj2klen 
)
+
+ +

reconstruct j2k codestream from message queue

+
Parameters
+ + + + + + + +
[in]msgqueuemessage queue pointer
[in]jpipstreamoriginal jpt- jpp- stream
[in]csncodestream number
[in]fwreconstructing image frame width
[in]fhreconstructing image frame height
[out]j2klenpointer to the j2k codestream length
+
+
+
Returns
generated reconstructed j2k codestream
+ +

References recons_codestream().

+ +

Referenced by decode_jpip(), and jpipstream_to_pnm().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* recons_j2kmainhead (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
Byte8_tj2klen 
)
+
+ +

reconstruct j2k codestream of mainheader from message queue

+
Parameters
+ + + + + +
[in]msgqueuemessage queue pointer
[in]jpipstreamoriginal jpt- jpp- stream
[in]csncodestream number
[out]j2klenpointer to the j2k codestream length
+
+
+
Returns
generated reconstructed j2k codestream
+ +

References add_mainhead_msgstream().

+ +

Referenced by get_SIZ_from_jpipstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* recons_jp2 (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
Byte8_tjp2len 
)
+
+ +

reconstruct jp2 file codestream from message queue

+
Parameters
+ + + + + +
[in]msgqueuemessage queue pointer
[in]jpipstreamoriginal jpt- jpp- stream
[in]csncodestream number
[out]jp2lenpointer to the jp2 codestream length
+
+
+
Returns
generated reconstructed jp2 codestream
+ +

References add_emptyboxstream(), add_msgstream(), msgqueue_param::first, METADATA_MSG, message_param::next, opj_free, placeholder_param::OrigBH, placeholder_param::OrigBHlen, message_param::phld, recons_codestream(), and search_message().

+ +

Referenced by decode_jpip(), and handle_JP2saveMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_LRCPbitstream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int mindeclev,
int * max_reslev,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_packet (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int * max_reslev,
int comp_idx,
int res_idx,
int prct_idx,
int lay_idx,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_PCRLbitstream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int mindeclev,
int * max_reslev,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_precinct (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int * max_reslev,
int comp_idx,
int res_idx,
Byte8_t seqID,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_RLCPbitstream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int mindeclev,
int * max_reslev,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t * recons_RPCLbitstream (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte_tj2kstream,
Byte8_t csn,
Byte8_t tileID,
SIZmarker_param_t SIZ,
CODmarker_param_t COD,
int mindeclev,
int * max_reslev,
Byte8_tj2klen 
)
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
message_param_t * search_message (Byte8_t class_id,
Byte8_t in_class_id,
Byte8_t csn,
message_param_tmsg 
)
+
+ +

search a message by class_id

+
Parameters
+ + + + + +
[in]class_idclass identifiers
[in]in_class_idin-class identifiers, -1 means any
[in]csncodestream number
[in]msgfirst message pointer of the searching list
+
+
+
Returns
found message pointer
+ +

References message_param::class_id, message_param::csn, message_param::in_class_id, and message_param::next.

+ +

Referenced by add_mainhead_msgstream(), recons_codestream_from_JPPstream(), recons_codestream_from_JPTstream(), recons_jp2(), recons_packet(), and recons_precinct().

+ +
+
+
+ + + + diff --git a/doxygen/jp2k__encoder_8h.html b/doxygen/jp2k__encoder_8h.html new file mode 100644 index 00000000..4e505245 --- /dev/null +++ b/doxygen/jp2k__encoder_8h.html @@ -0,0 +1,259 @@ + + + + + + +OpenJPEG: jp2k_encoder.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jp2k_encoder.h File Reference
+
+
+
#include "byte_manager.h"
+#include "msgqueue_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Functions

Byte_trecons_j2k (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen)
 reconstruct j2k codestream from message queue More...
 
Byte_trecons_jp2 (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *jp2len)
 reconstruct jp2 file codestream from message queue More...
 
Byte_trecons_j2kmainhead (msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *j2klen)
 reconstruct j2k codestream of mainheader from message queue More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* recons_j2k (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
int fw,
int fh,
Byte8_tj2klen 
)
+
+ +

reconstruct j2k codestream from message queue

+
Parameters
+ + + + + + + +
[in]msgqueuemessage queue pointer
[in]jpipstreamoriginal jpt- jpp- stream
[in]csncodestream number
[in]fwreconstructing image frame width
[in]fhreconstructing image frame height
[out]j2klenpointer to the j2k codestream length
+
+
+
Returns
generated reconstructed j2k codestream
+ +

References recons_codestream().

+ +

Referenced by decode_jpip(), and jpipstream_to_pnm().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* recons_j2kmainhead (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
Byte8_tj2klen 
)
+
+ +

reconstruct j2k codestream of mainheader from message queue

+
Parameters
+ + + + + +
[in]msgqueuemessage queue pointer
[in]jpipstreamoriginal jpt- jpp- stream
[in]csncodestream number
[out]j2klenpointer to the j2k codestream length
+
+
+
Returns
generated reconstructed j2k codestream
+ +

References add_mainhead_msgstream().

+ +

Referenced by get_SIZ_from_jpipstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* recons_jp2 (msgqueue_param_tmsgqueue,
Byte_tjpipstream,
Byte8_t csn,
Byte8_tjp2len 
)
+
+ +

reconstruct jp2 file codestream from message queue

+
Parameters
+ + + + + +
[in]msgqueuemessage queue pointer
[in]jpipstreamoriginal jpt- jpp- stream
[in]csncodestream number
[out]jp2lenpointer to the jp2 codestream length
+
+
+
Returns
generated reconstructed jp2 codestream
+ +

References add_emptyboxstream(), add_msgstream(), msgqueue_param::first, METADATA_MSG, message_param::next, opj_free, placeholder_param::OrigBH, placeholder_param::OrigBHlen, message_param::phld, recons_codestream(), and search_message().

+ +

Referenced by decode_jpip(), and handle_JP2saveMSG().

+ +
+
+
+ + + + diff --git a/doxygen/jp2k__encoder_8h_source.html b/doxygen/jp2k__encoder_8h_source.html new file mode 100644 index 00000000..c0f5aceb --- /dev/null +++ b/doxygen/jp2k__encoder_8h_source.html @@ -0,0 +1,116 @@ + + + + + + +OpenJPEG: jp2k_encoder.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
jp2k_encoder.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * Copyright (c) 2011, Lucian Corlaciu, GSoC
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
32 #ifndef JP2K_ENCODER_H_
+
33 # define JP2K_ENCODER_H_
+
34 
+
35 #include "byte_manager.h"
+
36 #include "msgqueue_manager.h"
+
37 
+
49 Byte_t * recons_j2k( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen);
+
50 
+
51 
+
61 Byte_t * recons_jp2( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *jp2len);
+
62 
+
72 Byte_t * recons_j2kmainhead( msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *j2klen);
+
73 
+
74 #endif /* !JP2K_ENCODER_H_ */
+
uint8_t Byte_t
Definition: byte_manager.h:37
+
message queue parameters
Definition: msgqueue_manager.h:62
+
Byte_t * recons_j2k(msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, int fw, int fh, Byte8_t *j2klen)
reconstruct j2k codestream from message queue
Definition: jp2k_encoder.c:77
+ +
Byte_t * recons_jp2(msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *jp2len)
reconstruct jp2 file codestream from message queue
Definition: jp2k_encoder.c:92
+ +
Byte_t * recons_j2kmainhead(msgqueue_param_t *msgqueue, Byte_t *jpipstream, Byte8_t csn, Byte8_t *j2klen)
reconstruct j2k codestream of mainheader from message queue
Definition: jp2k_encoder.c:800
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
+ + + + diff --git a/doxygen/jpip__parser_8c.html b/doxygen/jpip__parser_8c.html new file mode 100644 index 00000000..af422c6e --- /dev/null +++ b/doxygen/jpip__parser_8c.html @@ -0,0 +1,680 @@ + + + + + + +OpenJPEG: jpip_parser.c File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jpip_parser.c File Reference
+
+
+
#include <stdio.h>
+#include <string.h>
+#include <math.h>
+#include "jpip_parser.h"
+#include "channel_manager.h"
+#include "imgreg_manager.h"
+
+ + + + + + + +

+Macros

#define FCGI_stdout   stdout
 
#define FCGI_stderr   stderr
 
#define logstream   stderr
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

OPJ_BOOL identify_target (query_param_t query_param, targetlist_param_t *targetlist, target_param_t **target)
 REQUEST: target identification by target or tid request. More...
 
OPJ_BOOL associate_channel (query_param_t query_param, sessionlist_param_t *sessionlist, session_param_t **cursession, channel_param_t **curchannel)
 REQUEST: channel association this must be processed before any process. More...
 
OPJ_BOOL open_channel (query_param_t query_param, sessionlist_param_t *sessionlist, auxtrans_param_t auxtrans, target_param_t *target, session_param_t **cursession, channel_param_t **curchannel)
 REQUEST: new channel (cnew) assignment. More...
 
OPJ_BOOL close_channel (query_param_t query_param, sessionlist_param_t *sessionlist, session_param_t **cursession, channel_param_t **curchannel)
 REQUEST: channel close (cclose) More...
 
void enqueue_imagedata (query_param_t query_param, msgqueue_param_t *msgqueue)
 enqueue tiles or precincts into the message queue More...
 
OPJ_BOOL enqueue_metabins (query_param_t query_param, metadatalist_param_t *metadatalist, msgqueue_param_t *msgqueue)
 enqueue metadata bins into the message queue More...
 
OPJ_BOOL gene_JPIPstream (query_param_t query_param, target_param_t *target, session_param_t *cursession, channel_param_t *curchannel, msgqueue_param_t **msgqueue)
 REQUEST: view-window (fsiz) More...
 
void enqueue_precincts (int xmin, int xmax, int ymin, int ymax, int tile_id, int level, int lastcomp, OPJ_BOOL *comps, int layers, msgqueue_param_t *msgqueue)
 enqueue precinct data-bins into the queue More...
 
void enqueue_allprecincts (int tile_id, int level, int lastcomp, OPJ_BOOL *comps, int layers, msgqueue_param_t *msgqueue)
 enqueue all precincts inside a tile into the queue More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define FCGI_stderr   stderr
+
+ +

Referenced by associate_channel().

+ +
+
+ +
+
+ + + + +
#define FCGI_stdout   stdout
+
+
+ +
+
+ + + + +
#define logstream   stderr
+
+ +

Referenced by close_channel().

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL associate_channel (query_param_t query_param,
sessionlist_param_tsessionlist,
session_param_t ** cursession,
channel_param_t ** curchannel 
)
+
+ +

REQUEST: channel association this must be processed before any process.

+
Parameters
+ + + + + +
[in]query_paramstructured query
[in]sessionlistsession list pointer
[out]cursessionaddress of the associated session pointer
[out]curchanneladdress of the associated channel pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::cid, query_param::cnew, FCGI_stderr, OPJ_FALSE, OPJ_TRUE, search_session_and_channel(), and set_channel_variable_param().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL close_channel (query_param_t query_param,
sessionlist_param_tsessionlist,
session_param_t ** cursession,
channel_param_t ** curchannel 
)
+
+ +

REQUEST: channel close (cclose)

+
Parameters
+ + + + + +
[in]query_paramstructured query
[in]sessionlistsession list pointer
[in,out]cursessionaddress of the session pointer of deleting channel
[in,out]curchanneladdress of the deleting channel pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::cclose, delete_channel(), delete_session(), FCGI_stdout, logstream, query_param::numOfcclose, OPJ_FALSE, OPJ_TRUE, search_channel(), and search_session_and_channel().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void enqueue_allprecincts (int tile_id,
int level,
int lastcomp,
OPJ_BOOLcomps,
int layers,
msgqueue_param_tmsgqueue 
)
+
+ +

enqueue all precincts inside a tile into the queue

+
Parameters
+ + + + + + + +
[in]tile_idtile index
[in]leveldecomposition level
[in]lastcomplast component number
[in]compspointer to the array that stores the requested components
[in]layersnumber of quality layers
[in]msgqueuemessage queue
+
+
+
Returns
+ +

References msgqueue_param::cachemodel, index_param::COD, target_param::codeidx, SIZmarker_param::Csiz, enqueue_precinct(), get_tile_XSiz(), get_tile_YSiz(), CODmarker_param::numOfdecomp, CODmarker_param::Scod, index_param::SIZ, cachemodel_param::target, CODmarker_param::XPsiz, and CODmarker_param::YPsiz.

+ +

Referenced by enqueue_imagedata().

+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL enqueue_metabins (query_param_t query_param,
metadatalist_param_tmetadatalist,
msgqueue_param_tmsgqueue 
)
+
+ +

enqueue metadata bins into the message queue

+
Parameters
+ + + + +
[in]query_paramstructured query
[in]metadatalistpointer to metadata bin list
[in,out]msgqueuemessage queue pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::box_type, enqueue_metadata(), FCGI_stdout, MAX_NUMOFBOX, OPJ_FALSE, OPJ_TRUE, and search_metadataidx().

+ +

Referenced by gene_JPIPstream().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void enqueue_precincts (int xmin,
int xmax,
int ymin,
int ymax,
int tile_id,
int level,
int lastcomp,
OPJ_BOOLcomps,
int layers,
msgqueue_param_tmsgqueue 
)
+
+ +

enqueue precinct data-bins into the queue

+
Parameters
+ + + + + + + + + + + +
[in]xminmin x coordinate in the tile at the decomposition level
[in]xmaxmax x coordinate in the tile at the decomposition level
[in]yminmin y coordinate in the tile at the decomposition level
[in]ymaxmax y coordinate in the tile at the decomposition level
[in]tile_idtile index
[in]leveldecomposition level
[in]lastcomplast component number
[in]compspointer to the array that stores the requested components
[in]layersnumber of quality layers
[in]msgqueuemessage queue
+
+
+
Returns
+ +

References msgqueue_param::cachemodel, index_param::COD, target_param::codeidx, SIZmarker_param::Csiz, enqueue_precinct(), get_tile_XSiz(), get_tile_YSiz(), CODmarker_param::numOfdecomp, CODmarker_param::Scod, index_param::SIZ, cachemodel_param::target, CODmarker_param::XPsiz, and CODmarker_param::YPsiz.

+ +

Referenced by enqueue_imagedata().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL gene_JPIPstream (query_param_t query_param,
target_param_ttarget,
session_param_tcursession,
channel_param_tcurchannel,
msgqueue_param_t ** msgqueue 
)
+
+ +

REQUEST: view-window (fsiz)

+
Parameters
+ + + + + + +
[in]query_paramstructured query
[in]targetrequested target pointer
[in,out]cursessionassociated session pointer
[in,out]curchannelassociated channel pointer
[out]msgqueueaddress of the message queue pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::box_type, channel_param::cachemodel, index_param::COD, target_param::codeidx, enqueue_imagedata(), enqueue_mainheader(), enqueue_metabins(), FCGI_stdout, query_param::fx, query_param::fy, gene_cachemodel(), gene_msgqueue(), cachemodel_param::jppstream, JPPstream, query_param::layers, query_param::len, query_param::metadata_only, index_param::metadatalist, cachemodel_param::mhead_model, CODmarker_param::numOflayers, OPJ_FALSE, OPJ_TRUE, query_param::return_type, and cachemodel_param::target.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL identify_target (query_param_t query_param,
targetlist_param_ttargetlist,
target_param_t ** target 
)
+
+ +

REQUEST: target identification by target or tid request.

+
Parameters
+ + + + +
[in]query_paramstructured query
[in]targetlisttarget list pointer
[out]targetaddress of target pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::cid, FCGI_stdout, gene_target(), OPJ_FALSE, OPJ_TRUE, search_target(), search_targetBytid(), query_param::target, and query_param::tid.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL open_channel (query_param_t query_param,
sessionlist_param_tsessionlist,
auxtrans_param_t auxtrans,
target_param_ttarget,
session_param_t ** cursession,
channel_param_t ** curchannel 
)
+
+ +

REQUEST: new channel (cnew) assignment.

+
Parameters
+ + + + + + + +
[in]query_paramstructured query
[in]sessionlistsession list pointer
[in]auxtransauxiliary transport
[in]targetrequested target pointer
[in,out]cursessionaddress of the associated/opened session pointer
[in,out]curchanneladdress of the associated/opened channel pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References gene_cachemodel(), gene_channel(), gene_session(), JPPstream, OPJ_FALSE, OPJ_TRUE, query_param::return_type, and search_cachemodel().

+ +
+
+
+ + + + diff --git a/doxygen/jpip__parser_8h.html b/doxygen/jpip__parser_8h.html new file mode 100644 index 00000000..8c4b437c --- /dev/null +++ b/doxygen/jpip__parser_8h.html @@ -0,0 +1,366 @@ + + + + + + +OpenJPEG: jpip_parser.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jpip_parser.h File Reference
+
+
+
#include "query_parser.h"
+#include "session_manager.h"
+#include "target_manager.h"
+#include "msgqueue_manager.h"
+#include "channel_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Functions

OPJ_BOOL identify_target (query_param_t query_param, targetlist_param_t *targetlist, target_param_t **target)
 REQUEST: target identification by target or tid request. More...
 
OPJ_BOOL associate_channel (query_param_t query_param, sessionlist_param_t *sessionlist, session_param_t **cursession, channel_param_t **curchannel)
 REQUEST: channel association this must be processed before any process. More...
 
OPJ_BOOL open_channel (query_param_t query_param, sessionlist_param_t *sessionlist, auxtrans_param_t auxtrans, target_param_t *target, session_param_t **cursession, channel_param_t **curchannel)
 REQUEST: new channel (cnew) assignment. More...
 
OPJ_BOOL close_channel (query_param_t query_param, sessionlist_param_t *sessionlist, session_param_t **cursession, channel_param_t **curchannel)
 REQUEST: channel close (cclose) More...
 
OPJ_BOOL gene_JPIPstream (query_param_t query_param, target_param_t *target, session_param_t *cursession, channel_param_t *curchannel, msgqueue_param_t **msgqueue)
 REQUEST: view-window (fsiz) More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL associate_channel (query_param_t query_param,
sessionlist_param_tsessionlist,
session_param_t ** cursession,
channel_param_t ** curchannel 
)
+
+ +

REQUEST: channel association this must be processed before any process.

+
Parameters
+ + + + + +
[in]query_paramstructured query
[in]sessionlistsession list pointer
[out]cursessionaddress of the associated session pointer
[out]curchanneladdress of the associated channel pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::cid, query_param::cnew, FCGI_stderr, OPJ_FALSE, OPJ_TRUE, search_session_and_channel(), and set_channel_variable_param().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL close_channel (query_param_t query_param,
sessionlist_param_tsessionlist,
session_param_t ** cursession,
channel_param_t ** curchannel 
)
+
+ +

REQUEST: channel close (cclose)

+
Parameters
+ + + + + +
[in]query_paramstructured query
[in]sessionlistsession list pointer
[in,out]cursessionaddress of the session pointer of deleting channel
[in,out]curchanneladdress of the deleting channel pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::cclose, delete_channel(), delete_session(), FCGI_stdout, logstream, query_param::numOfcclose, OPJ_FALSE, OPJ_TRUE, search_channel(), and search_session_and_channel().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL gene_JPIPstream (query_param_t query_param,
target_param_ttarget,
session_param_tcursession,
channel_param_tcurchannel,
msgqueue_param_t ** msgqueue 
)
+
+ +

REQUEST: view-window (fsiz)

+
Parameters
+ + + + + + +
[in]query_paramstructured query
[in]targetrequested target pointer
[in,out]cursessionassociated session pointer
[in,out]curchannelassociated channel pointer
[out]msgqueueaddress of the message queue pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::box_type, channel_param::cachemodel, index_param::COD, target_param::codeidx, enqueue_imagedata(), enqueue_mainheader(), enqueue_metabins(), FCGI_stdout, query_param::fx, query_param::fy, gene_cachemodel(), gene_msgqueue(), cachemodel_param::jppstream, JPPstream, query_param::layers, query_param::len, query_param::metadata_only, index_param::metadatalist, cachemodel_param::mhead_model, CODmarker_param::numOflayers, OPJ_FALSE, OPJ_TRUE, query_param::return_type, and cachemodel_param::target.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL identify_target (query_param_t query_param,
targetlist_param_ttargetlist,
target_param_t ** target 
)
+
+ +

REQUEST: target identification by target or tid request.

+
Parameters
+ + + + +
[in]query_paramstructured query
[in]targetlisttarget list pointer
[out]targetaddress of target pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References query_param::cid, FCGI_stdout, gene_target(), OPJ_FALSE, OPJ_TRUE, search_target(), search_targetBytid(), query_param::target, and query_param::tid.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OPJ_BOOL open_channel (query_param_t query_param,
sessionlist_param_tsessionlist,
auxtrans_param_t auxtrans,
target_param_ttarget,
session_param_t ** cursession,
channel_param_t ** curchannel 
)
+
+ +

REQUEST: new channel (cnew) assignment.

+
Parameters
+ + + + + + + +
[in]query_paramstructured query
[in]sessionlistsession list pointer
[in]auxtransauxiliary transport
[in]targetrequested target pointer
[in,out]cursessionaddress of the associated/opened session pointer
[in,out]curchanneladdress of the associated/opened channel pointer
+
+
+
Returns
if succeeded (true) or failed (false)
+ +

References gene_cachemodel(), gene_channel(), gene_session(), JPPstream, OPJ_FALSE, OPJ_TRUE, query_param::return_type, and search_cachemodel().

+ +
+
+
+ + + + diff --git a/doxygen/jpip__parser_8h_source.html b/doxygen/jpip__parser_8h_source.html new file mode 100644 index 00000000..6722f68d --- /dev/null +++ b/doxygen/jpip__parser_8h_source.html @@ -0,0 +1,147 @@ + + + + + + +OpenJPEG: jpip_parser.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
jpip_parser.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * Copyright (c) 2011, Lucian Corlaciu, GSoC
+
8  * All rights reserved.
+
9  *
+
10  * Redistribution and use in source and binary forms, with or without
+
11  * modification, are permitted provided that the following conditions
+
12  * are met:
+
13  * 1. Redistributions of source code must retain the above copyright
+
14  * notice, this list of conditions and the following disclaimer.
+
15  * 2. Redistributions in binary form must reproduce the above copyright
+
16  * notice, this list of conditions and the following disclaimer in the
+
17  * documentation and/or other materials provided with the distribution.
+
18  *
+
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
29  * POSSIBILITY OF SUCH DAMAGE.
+
30  */
+
31 
+
32 #ifndef JPIP_PARSER_H_
+
33 # define JPIP_PARSER_H_
+
34 
+
35 #include "query_parser.h"
+
36 #include "session_manager.h"
+
37 #include "target_manager.h"
+
38 #include "msgqueue_manager.h"
+
39 #include "channel_manager.h"
+
40 
+ +
50 
+ +
62  sessionlist_param_t *sessionlist,
+
63  session_param_t **cursession,
+
64  channel_param_t **curchannel);
+ +
77  sessionlist_param_t *sessionlist,
+
78  auxtrans_param_t auxtrans,
+
79  target_param_t *target,
+
80  session_param_t **cursession,
+
81  channel_param_t **curchannel);
+
82 
+ +
93  sessionlist_param_t *sessionlist,
+
94  session_param_t **cursession,
+
95  channel_param_t **curchannel);
+
96 
+ +
108  target_param_t *target,
+
109  session_param_t *cursession,
+
110  channel_param_t *curchannel,
+
111  msgqueue_param_t **msgqueue);
+
112 
+
113 #endif /* !JPIP_PARSER_H_ */
+ +
OPJ_BOOL associate_channel(query_param_t query_param, sessionlist_param_t *sessionlist, session_param_t **cursession, channel_param_t **curchannel)
REQUEST: channel association this must be processed before any process.
Definition: jpip_parser.c:79
+
message queue parameters
Definition: msgqueue_manager.h:62
+
int OPJ_BOOL
Definition: openjpeg.h:110
+
OPJ_BOOL close_channel(query_param_t query_param, sessionlist_param_t *sessionlist, session_param_t **cursession, channel_param_t **curchannel)
REQUEST: channel close (cclose)
Definition: jpip_parser.c:123
+
Target list parameters.
Definition: target_manager.h:57
+
auxiliary transport setting parameters
Definition: auxtrans_manager.h:38
+ + +
Query parameters.
Definition: query_parser.h:47
+ +
OPJ_BOOL identify_target(query_param_t query_param, targetlist_param_t *targetlist, target_param_t **target)
REQUEST: target identification by target or tid request.
Definition: jpip_parser.c:49
+
OPJ_BOOL open_channel(query_param_t query_param, sessionlist_param_t *sessionlist, auxtrans_param_t auxtrans, target_param_t *target, session_param_t **cursession, channel_param_t **curchannel)
REQUEST: new channel (cnew) assignment.
Definition: jpip_parser.c:96
+
Session list parameters.
Definition: session_manager.h:45
+
target parameters
Definition: target_manager.h:40
+
OPJ_BOOL gene_JPIPstream(query_param_t query_param, target_param_t *target, session_param_t *cursession, channel_param_t *curchannel, msgqueue_param_t **msgqueue)
REQUEST: view-window (fsiz)
Definition: jpip_parser.c:189
+
Session parameters.
Definition: session_manager.h:38
+
Channel parameters.
Definition: channel_manager.h:43
+ +
+ + + + diff --git a/doxygen/jpip_architect.png b/doxygen/jpip_architect.png new file mode 100644 index 0000000000000000000000000000000000000000..5375bf91f1305181ddcddcd0ab2fe63b9a2446ee GIT binary patch literal 62577 zcmYg&2RN2(__yr6LXw>xvdP{avcoHz?7c!n_IRwyN@SFgJtKRIBqV#6O=h-i-|7E9 zzVG-P$J=^&p8LM9>pIWhI-e*_bwwh48hkV~G$Lgsc`YS#N!Q6HbR4?I>%eU#?aZ=|`=?L>|rJQI*^`YKR0S7Q&A8 zYJMX06txFEJWJLddRsJkeddE3()!RFLR_G+Kia&u{guE%T?L{GvPNOib{rKzp> z4Gau!$1GBZ3x0c;bK?e=0&~1RCsl5GdhlYMVX1EM=)kS{t2b}RX`-KRO;yhZoRvO& zMKzrFD0|S(NhnPr`^ytXk_+B;(gXEE?FP>c-N3*=E-tP_l`!*U!_pO3kv~5_$l<5WoOc-iJHxl-MY)m2(i_pfbjZKI<)rMkjLqXl~eZ@QOM-*M-rOK%IiW|rsV z@CD>CkT_JQ7MFhT*<;yOT=SOh2>Fd_2-7Oe(PVRTbL&mwdhp=EnV2#SOa7^mt9kQT zgZ<4ew?vhPS(*-yl@2qt3K^sW2nh&^efgAfwSo`i5DDE@?r_8Q_V!3*dsi$&f4XF^ z8E;QdPdG81&)QHfmr;!w^;nJbG`*zH!Nz$1^zaR4#@O2WdWadk ze}T3GJUFD?;ri%~t(@Nes~e+K_+b_mby7X!n-`{%e}BGai??7z{ePvp<1Y@)YWr;}M;)r=nVI61Op8jG_;>)5+fQ)YQ}=D_Vf>oJg5A zJ4aya>8jr>{oy~V)Q`MwY65pFY=W%rCv@`?!VaN466STsJ)=7?|BP3GS@Oi?iS|uzMl{JOdrEK-Nu4Hp(Fgq(N z%R}q~^`$h6E3GYm3NF)=C%->UsB$E#z%h|qLp$p)*88-+y6Uk#bHP!Q%^bfvQDNB; zPNb@=JUBX9U0eI$JC!;2baf{yzSbV)QV_Dq##>Q>9_sPi=d1kT@ z(S&YoHVQZwii$W)6qJ;?y2U!|qlX*gx44Z9va_EZ@62b(MHFclG01UY3MmE4$mD8e zt;rH6s^q%Ly1DJ@;qDO;dlN*-w_8-K*I2Foh4&a78~Zz2d$=`d$Tbi-M}*VExc?^MT{ex4G)b!1z4*LT#Pd}A4w-3+f@Bir+b{tcCOc>(h@Ux8)pDBQggJT-DUb%Tk zvYHJR-lv`(zrv47mA}`W3~_F=iHeHy^18yFiHeG%r>AEjkJ9(0z{lEUZPLNowigzz z#UY{3$lV?;%vQ@H;-_FrdHGeoNUKx>a;wOb%9m-W@Pb|vX zI8MwQUi)O)YSQ3g|C@>cV{xJLRbQGg4&N&Lfy=OJb+q`M8luCksj6z^`*&R0U&nqe z!NI}EEVK$OHj0<>%orFL*rB`g9T5hVHe0_N$J^S1I_BFn`cefQS8W`TH!m^jk?{#1 zxZd?r;y=tz-=LutiFsV89bleyp1&&=LA;-9BwnYFNci%`V|9QDUJBk+7khsYjcW`#(R3-@ku9FE0<4 zQk$I;MV+Nt2c-~-Q-wZZ+S1v-?fkqv@^{@U2`r_WaU(x5tSj1&&T zBbSNrxHvt8SCXS3d)K?{UXLHfeE)t_pN+Klj@j2pGI&oOZtj`-XRO-ae*HRE^;DN{ zWJ0Yg5NZ`_YqJXq3XaasO5eNJ+0})UqZ)?1;Yb;7o~ZL&6JtTbk3>&zJWcqi!o!ER zsi`;NY{2V9k9aCnx=lDeS5Uw%87nZ3_(2B6g0)e5Jz+{8Rw88 zztUWJ+Wf}GF*hpBmwCjS*v@zS`z}h#?>H_wc_K>=hk+pj)@f^^;x0FL8T=_GCWb%d zb?-8_Y0G={{C+q#8)K#LFn&P~gi}R^yg2(uLPS(uQ$vi0r>v^Fe{kUBfzTt5`a16( zcHL>xI&Cn9<)dWU#)hHxGmJU=OE z*spAC-$zG1M+*LfY9!D6yT#v#g&bP@_u1L2*}$vcRrWU{I(82Za)#F!3nc>10s2V$ z9g|uOw70hhUS0hAk@A3+nDyR0EGCbmO@q3Ul9J7};e0=-tCRgdaO63u2s+B|sU{tt zp8C9aQSCHIP8)`Sj^5PNWLWJWXx&4BB284WuFzM>C1;N^pMWizF6ny&&(*Rk#!ZCQ z)O6O+P}_k6JNR>cU7a^{7FLb)gWX+t9M!x1IOt4a$oYkZy`6bE5|UW>5iBgM(NbS+ zx!`g|=IGLicd4GOH%XuVr}65eO?T#=4jToX_;UeaVMSa3B^&Fb#SIM&R8&;BOh!gV zv|W{zmHBEZ7WVchyNimds;YIj2yN@@>u=w_4ZGfXIFBf{OD@`(i#4G;7dhXZlf!gZ zaYjj_H9h^O880U%S7frFvua?7?$%j7NQa%lx;IkqX)OG9*qm zcP+6K*4F0-v!2 zqV(0G!b;0NT_#hDJz7mISuL+T2PKafwyR>6YE@&gsF)1@_RT$IGq6MV8c}w3cAm#F zczSvsdN-Z_`Ze-6fAhnKf7?@nPCuy0qX6KT`QWfhSj3>uiYMnPvyijJ!LBi+CEnC| zi;tD4Abv6ZRIH&vy{rsQD{s=g!i3OGS>CJvT$4ChBfA94qE)gnN@^Uc4OLYM5c<$x z$fH=^^+vybE#&g+_-wlsy45ADJ|%7GoCX|Ud;7JOl`%NFP|fvB2pA3D*KNKt4Y2>+ zAo%NSa_v?J@1s)sm_<$HYQsl%q-b9eC&m96eL>GDhf-4gbT*(Z=!O|xv2}`>Y(np{ zHoNDS5Ud1N4Q_7kOQ&*L+?(u)D*tiO=+3qE1PheZ>t|!Jd!c=bt#KIq*ty+$6+;SL z5b)XGk;0oXi`SU$?1&4w`foPS>-lqTc6Oh`bxI`L-Mby%zuW!$``dY{%AnTeLs-~D zfUYTORIfUrx+*GmO-y)0SGWTOzt)9LrfsN#NU#^6F~)1;%hkG{sN`N*d8a`# zHAu6bLG3^D`Sj&}28Xu6jL*n+2d(;GtVzdPS$x>(bkmW)~M1=a1JNu}2fnX(=$VkmbqU>w zab(Y1f`H)Fa__qgNnasBK^^9JLTX+#?z5fw4%l(t5+=|#R{AqC-n?-?*|Uan0xc#l zH@8&3;-g|L{awWv3FvZAb%dVIywAvpCDme2glb>FQt(6#y3>yzNnA!rsi{7@3lDLN zt{g^G?qI5v4-F0dhITjG+Un9u8m;iScr-mdJt-+^aBy&A{1eV2o?Scbzb4T=xrW-@ z0lKFA`bKOND#O&pH)S3;IN-A5?wR5rhulP{B|{ha9)A~(|A!Axwr83N2nb$C%s^Y2 zY4#njcGSCd>m9rmz%~OTqtIWpw6qd0_LiVKxB8#e0MEkB0w{8NcE)2|=L+SFfQpls zkMF-iZMckUaQ8Y%7ds)!oVuM?m?YLry7kQKuY~V;a;MGksz;dd%+L>~rHKkS;P&0! z_t1l-VimK8Gb96?TwJ7h*>E2hqO7eSc6J&qF1$QGhpQM|?E3d_Hwu@a@!7^0kEE|u zlh@PpkwQ6z*COS%{h_}9lDfXi^E@$RCVh(^mXN0*Tw6~4z}q$LXsgetnnu`KMXpx< zCMgovoH}Nayn?!;oIl>~dnB1E)C7LVu|W(RYPCFL1RQXMZ{OUeYv18w%3WMs;1CV{ z*)7ms-}c(3pR9d)k;KK-_hY8T2dfbaJ5)AH)5F8_KE+F8?%9?X&s?6@MAX(cCk&sA zjA&);ES~-26!QJ`_Ws%}9{R~vQ%)-J`uamR5334&I&n`GRpp9j?(8?C_@DlwCL?dR zsibrl4ekC>=X2N-Mu6x`C1Mb-VU)i5C+>xfjgxV?C5#<9*x&W%doad@zaRbO&+0=J62-w3~;yazrTmjd4V8t=#{BKX~xB+7ILBvH^2U? zhQ`0$-HO^;Xnb4KdKwxe?0BkjN=mq4NM$9ZiE77N$nV|Vg-O0shEcMaGfm#R7J$|K z{rp^MKN-;>zKhMz&$qGW+p_UduKMM;p z=a0#$sgKUn_c-)SB)tCi73*<~m#V5NPtr5Y&UPtk8ap{T(Kfm*{-hJuwDH4)nDi-ql8;f1D zrcKBHwp%aIF{GP(BjT0HORx6VhTjEV^;uLTb0z`t92-<__2|xhI{Wi?gTLQZOIYFk z&~Cqry?ase>>OObo1N1V(x#J$?o@etY`%ZLFkV(|H+|${vr?`4E=m4j=O@!o#l_P# z{=QEno4H%hE$pmN#iJG#6T`ECYv(5)hlcccOsRHH=uJ#s+4Ktu3XcyCPoHgkvSd|n z^8Wj)=24o0MzX8jwh778?NHyN)zvkFe`^UodsdYzeX(?60!|03y?^?jM!$L${i^Z# z$zGr1c>CSE_oE*S4*Vn0m-+qs_k90<*$Pak38$k-vb&^6&{aAjNEC4&Wk}I+qbVOi zbq3~69<>A@GWz99SdFdOS#5u&wKjTYz&(WqiubJv`oB1k}h&O<18%OG=8CI*R{=-%03fs@iexzm2Ue zNw)?0xQMp5V^*k3u^sOw6bjYej=Xc{PQCHZKl_~)ZpFH#R9uGIy$CFh{E7-b_E>XJ zlLTm@J1v4u=t`ylLl*ps$L(?>j=(5e-SOa0`SsaaReR<}(Z~nglS9X+Ps^T>7T<_j z+!A}fxv?hdF;c+&r19_X`UH7I@u-6{9UX^}QN|67DX;Y$Z8jyAH^zv{@~U6Hn-gck zPmeB7H^N7YJr56Gy?XiFd0Lm9;`#QdDk1@xj){;Ed06{Q_xt9D=YsqX$I<$_I&Hdk3LHG7YT$1{#n1GSA2XLj1e2=)>sZq@b36wTKbxC zb%=Bi?l0GU~eO8UU{xsXktd8aVKV0G-AbCJr(ygiK2gH1Qc`+M! zaW7u!^2P2)wX8N?r-5?wP#ltg{du_rYVANqi7G}xoS|gG;390Hgk*)&Qt0u_C{T4Q ztgJBA5xkS+P9kWGHYi`b5MdOln*mn;gZ2l6V=fjaV;*;hORScAM!xwTZ{$+xdqaiU z+uxV9DS4)hPVcrhbWh)y4Cy#l65qRA`*apNmK1t4z(Jrd_aEmSA0NX`!w&s2?^<-S z4%9>Zy2T!C0Asm!WSdl9Q2^a@3>uDT%OLh zzI&?}07#6BxNEc{RGvAiw`YzeTEX|QUs{c-c%P@0kPv^W(%<)vYVVlyREcq;uBNdu zJB0;x-Z!^;WA21*!suvmudN1;nI==8qouXAwSDhWPEOr2BfYPGinWWFrA!MoL0ZUM zckyeeVxW-s(kmX7Q;bd(vQ_`@Ke8w_>_65ZixzoqBsz{exQT$o!X6K5T&~vS(2vdj zd<{`UL-y)adFJjMEo~`MGrEsMcK)=q`c5^~rOp8U>wPzJVCFxEMT*v-csq@yB`18L%9`M5EpaS`MqS6)s1dyJu zgV{Hca;8^jJZ{k~!8b&bK^eA)FUT_bhl9g+NOnrFKuD`S;OGJ3HRukm#?~w%Wcv7( z0&Z_`JKF?~FZiNysrztr;tJUH$kU<5R2w)tG!}zOlPFocfw^O0QQ-{|mPpL>^mMKL z@XG1o1}>AW?H>?rTK!J=@7}cp)&J~hi-3?2IC9$?z34!JaPx29zQF?b{`ldyzY-lA z+Yg%e0@#C}w(-vZ_!fUnTCae19Xz}gL3f}ve!?K>x4N{V zYpliZJ;93|%7AO^G)L=*?7#?7<0C{Z^2aN2Qr)^m8GJ!OtJ-N% zA)8xuBZ|a5Nh!{dwv!}M`vt|Pk=v{+In@K zpq>xvVv6>Z{MCN*4TQ2j8wdmAB?dQd-^SZ#9b#N%wfG_sYOi_Hl=Z^E*}V~IZ5IA% z`Sro!1>sQ`C}sRYLf9Shztv+jX+pnT^Wmr}V_IUx$LLt@4hN)^Jcwyvp^ni{QyH}A2~mrF|W-a9lj;7SCL zSdhjnQm_lMil>$4-s9#-W2hc5l3J^+Ws(*mR9qpk$h<)IudUYlu3cisAwUFJa zCP?~raus`Vi`8ku0KIE*{{3BB+nAo1G^ZAF{Z2|8@c@3UHk1^WI0ybc{>hk6h)))G za%%d4K?!qIj_vjgb5@*6cArs`$i+fuQeK|(bTvquptC3{+Fri7_YHxdz<+40yE3== zV{B-Bpm6y0i~TZ_26^U$tq<>)_zk9?Z?!Ws|1hcsB5T-W5f+o4Zm==-V5MK9)iqci zF)b?gveQCbQL(H>C}+uORmi3NDzx0FP`e1AtGKwh*XqDLFjD>$Laj7wTia*##sE%S z*)`b{!@|Pa)?!J~hxo-llqs*0ydztiXf5FPyvG(Od!JFJjjuuq4?23YZ}y%QjpxkY zIGd#7n@jX1?@d029F>GSE9UG4m0ktiz|hjt^7Hrae=oZD=g+tmU2)Jl7bBxGBMR{- zm4cjn4~#0%Dp29!E|Z^^_m+D}onQGgtCksa8zAg28e)`G;lw~`{m|o~xCsO|EA_t!sVqs6d*H5+6VDv~UaaAov3wUY?B&3;$$yACZJ75bqSFrLj*8 zaSk!Kc<_Q86ERHOPDnepNJZej4vFmEOG<7AlRJEtDq%=ivDTu|b@Jf0`lqJGr7O3n z3@0bzlv!lmDzb|m0~s>F@dLji+lW0eh7j*R_C$+#T=Qhd)_^+0C;FNL!&6f;omlG# zvR5f;DA)fvgocTZ3HBQ$B_$Jzg&om7uNG0_g>mMPA7AGhMRLrY{ww zU~pu>PS7_n==}EW^5jnjba4NFe?g$@taDq;(OP2&JcmbR?(FOj@=liKF<^awWuOzm z3zeBPpGrR(pX-TrkFs_4Yce& zLrc}b)LCu_Ch{lC07lr)!>P?qArb=;hC?+?S(h7a0N27k8Pd!pTa%5vLZ5|P_T)u< z{al#B+xu+X+&80m$??#Sf$_R}QLZdguKZE$c`^pQ$m~%tM)|KVf}jiXhXLD8waVPS zxr23hc*v@jJO_k)aS_8<6o7{>+_{?C>*8WZ_*Eshr?2mWknQRkO39Y)Fi!itLx7`2)7Cf-=we3 zv-9)+UB84*@%Zyk<9kfQX`eoA=O`z{(21}7{X4_xaE0I4>@Y-!R;+`iG0GlYLW&d7 zb30v1MN?e3HNK(%aR{vvEv*e|YBeq`okpdc;x~gjS@EU#?`jQ^= zy>*aHL3SY6#Lg^kefEb~_Sfa=U^c-m?zZgxy}ciOeXwt0|HmT${bd{e-P^}UD)6!? zGjs0m@5Yst6-`_6C;>17!D^NAKc%LohOO|c#s3T}w#muK*2~l4n3$g+-97zPw|lVm zn1_eQ%+<8oVYKjZ{^!cdV9HCV-vw`;nsuN{WyF+m`(>|7%Rl-#-bC6botBjQ6rs}%ivyYVI`2QZ{Zzw-Mxm^h8~bfl_QMLX^cP(Wfnc2VfBTk~ znaLgZo@u*M^k*8uW0J#^*#GywGOIqYic#yTG-Ce<^*GCIpAc+S(di z(1>4XL}BbJKKklr9E3&jzkV6diHCgW1bGVl*!S-VIruoWqo;DQ6|w=Cf>3H{VF9vA zORhd>%@3IefvN%E0kn!uL}O)V7kPQ-ALe5Wc|tf&4UlYsMPl9b`ug?8sd7P+G57WJ zgN+5jmT+@@V`F0gGhp^bmdi1((0(Q;HLQjPz{$dbxtX@JdVYQmw24;y`DWz{1}6S6 z+;o%&8`O-Q-CcA3lzfehqksQ!jxO+@(NZ+p59j^(@q_4&kT$|4!m+Bl8m|^RQq9fF z>yN9*-@kvs`IcE8=1x%yC+;@mZL=m?e;jQ`KqH&!yFHj45g$)B^nSTDwwi&bR!z|3 zVXEeK(AWE_fBJ3TbXVp*^4&SxwhRfWK_Gl^FyBVWr*`0Uxq;zrGw|qU>JAZOLO0lf z0}Y;zK=nXlMSoJ7n`^DDP2uDP`!JF%B^Uz-Z0K7|RpuSoD9uWnzHc#f(}j;g6>GQR zhi{>g_@MnT>kd2SPg*Pf6R5|~GFPXnIgqPB13zqe#Qeky*SvJR~TL zIYh*UHUI5j1i7+A!E_Y}#ym@2k&sv2VFb4V&bDgF?kaE^*J&aW;=8R}BZtSwx8bVK zPxb+HfCS8?zleqY1*-3jp7ZNRG=B1ny08GrKH>+!Yu*C z&$SU!32(6Cm8{In1^_D*6ck|K5KH)F8=*h(OygRO+8dkiOD?k+|~ z&%Z^oUsWR)gqrLW;B@U)RD3%1Jy3= z{pd*5&)^}$gC@SskNRSEur=*9kSXgVMzvi)jDtW~r)5%(3<;%qczD=)^C#zaR83JAQH^nL#P zxlpu%QR8z+UtDa}&R*9w+x~Re0e$W57C;UBq*`-wtbV>1)z#H)`^!Zh_3QWVS1(__ zRk2o32v113S)dF^@cH)4qx@lU&vlC1w^ROK*Z`iP#s@J z+3`MQ%7$V?-VCfwsEW?N>fqU9jUY2E&M*GWZf$MB8Z^Gxw|TU11d$#FF^^R!uIlRQ zPAyI{n&*E#f<2Y28D8~Iy zkv|+bk24YqRj}M=YES5Q2Eg_OpM@wf!P0`-#=)V%@5CKHj34UpaJ~kh7w9;Md-s4m zxr@+BWjqDd-n=6mP7i{W)yUAW1w?dk6k9KjjMUVAMBQYKWHA*J6MNF&Aqr3#B8gz= z$cTT2%pjC(NL!5d_HKYA3B?i3#u>^x_dDOygEe4+f2XQ9Adv!0ixrGmUXCQ1>>eW&g9?FRze*1XiItueHsTKi~SZXq#rXyPOxFX(b^ zqv9eWaEzs&t*G@SjpsOZxi!JUz+y0RuR?m}OQ&YUYy(~pgXOk11H4Crp<%=6X@7>K zoUE)oX%doK@BURp-k6+-I(w|H3o zIXes9P68_}BV!f-GThbg&(_yG8mW#4Rz4~&F>w?UF5roCadMI(Yiep#a`zy)p=s#m zR#95Y#all5nJy^aAXn@9ig62QQ-@sR8y415YBQ<&2aU(BP>&m+K)Lr%3 zgoiwSuq^CzFvy(9-_^@>`Xuwubn+w7aPH&A8yU zP}Bh0#SS`YklhWTw2QvgocSy%DXHrcCFxUDQLzhT&VX|a)B(7!u~MU3i za(eK}{gQMV{L2-h-(Fe$#z_$Vi_4oG&PnDE{;;R)u=sq3G?o1^g z`fUCzEn#9}LV%Ctju2s&8-PrJUvhnXgq9Wh4%I%;Ls-byVx=#G8mTz-N$Kg;^M^}I zO5T6?5QdyDF{mslEwvW_Mf5hm)%Q}PS}0q2y2Z^+P3Y+8>zbB$pRq6-UwC`}fYu4S z8xoN>k~$gq=de7Uw7((ev9+yMd5D_3c#rlQJ4#K;Yl}wD=L_@JN)- zaV4U5MDb9BmRO`JuyXL;yWY@{5NO7bJuEBZ_FhSs@;Bt9+V_^w{Kmq~gR)1^D?@K;aUwBjtQ4O&=y4ZVnM5xz)cP#3ksr^P_zu zj9&wR_TSuW2}aB54#i@M^OG{o)vB0uijqf8$Qf`_$s0rQ0s%iu^SezY6Ei9(?}Eaf zr4QQ&SIJUQ|LK1(e4HnuNqq)-=!}@-L4yvK2`V1#^pgrF9Tav&$@oKHy3^VkT6ixr zbE?)w=AH)@;O`gr?nSGjohIdFv+-KECIE$YB;v6rvVWUQj(<24h{EiHYtgMFiw znCZ3d;+n4BHo^RXhnPS3{Lqc?aB+8bc9b4H%GG4U>|Llm$DBn2uCJ*0XZrZPe@4(P zJ@&-IW*@Qx!|ULv^l5T3HGQm}rsfV5R`87=?H&A)qH7lp_!00e$Qyw3e7Lu_4q(;A zrL3{>40dlM*?-n{N{Pzl^HdW;cIhRI7_vk_v0Gq!U|_)Fhsc+A+e~UEz;#jAWZpYl}BiO2YoZwA0ul(eqa@~Fsp-**jehwkt{Cud6lEThY z@~Gh}GY6)=rYA&C-eEi5K>obMj)lm=*HFg%MNruwNDe9rz}MH&(PT&%Md<2c6%rcz z`jv&1^*TWWNC*sC2-`te{q*#-TnEwy4&cQ_M-#DC0Rw~V96&8r3Vd)^fx8paOMvxt z24L-Qbx@9tA}=S0H|4tK1_hz9va;rCrM!JhK}ssaW-M!x0?`lwAC31J5Gm{go}l>Z#A3j)1_duS6$gnNWORLZWlI8F&@&RoP4!PfONx9^i2cg~}<>b~pe3ljR7*XWpa^G#u2*Ozo;>U? zYUP$K2!l8Y00E}=0q~?$lQ;*5hE8`!kf^bJMW4b?jwl~2PH7-*fF+@P;ATNEwq1xs zhuN0(5)~H$cmf26_h4d7I*Gi1$PP$m&?KRYGh`1t9MM&$XBrm=h8Jk6O&M_!nyxf;j-aUawI5R8l`a(z;M1Lki+c zD!JFOAcN0e2L|F?RWFWo+IcsDutHP$;`R$Xc+=JZ%I~L9=Bl{DsJjs>H1fuBPMWfB z#&Q-FaiiovLVJv%5nPAr090UjaL~MR^78T$-27_OLGX$qI-;VZM@L65>^=K2GqGO2 zdIdP)w9pw1i%DBc%fi|^Z2iSn#LV!=hp*s-0{2=1$wefF05b&qifTh=Tia`)4>CnC zv@@`F0Ql`L3Y0z};K=ZNFL%2bAV|RK(*5%%45Rq?_!N|N5r!e{@&BA?jkrJibX#58 zbxy|1%S&9m5rx78>z_B%kK~zGXy|IvqmnOzD8tgfun?^Q7a&>#jEuspprqnj(7+FS zla_Yp)-Amiv8j@u5zbN2W5 zfwgUKZ9y>h3_yGc5(4*n5Gq5b;$V)AMwlJ5QC@|v7!r7pgWAW_`njh+PT1vF zvUFgJVJRqZ^=WBF_V$HINmN-Jr|M`AM05CG$HV{xrHA(bb%06dXD#g>; z35Z9KLhJ7C2Kgsc8Snck7`8|yHj1RTZ>ec$hSofeb+R;ErF9&|gLFnQwMV~I&$qR)p_lTT7#wt)X?pSBfB#Y7 z=c@c0${?aVeIa;y!X8-U#C5OilWR-(=~V+(R!2d?5H5ftm)}9=z3uJjY7Y}J%%Y?r z>kk5qpPxidznl)1a$5r~vpwW9-{P%pRaI3%oE>-ql)kp27*cmnPgp5mbMtwC{{yUS z^p~cJ$EJ^%@^*3Z-11U|Ap8o|{BU3t*X7rrft1OTJJUTjp z<5yi#VF1ws=mPu?9)Rxyxx^aild#vFem5klA%vgK_$~J&uD1S;`rZk{9)PU3HaCNs zg+xW`k1XO4SGb8P&g7wyW5*-R50SX`j*g($GK^MQlKQ;{!bcF+{`xf`#Nk1j0+Q40 zb6E5^UmZ6Kz5XpkBbhkG{UXc1tca^n$+#>oBA&BH?-&Z7QK3 z4|pY+o%>>M{?UBmx)7W$SEx;VM`#lwR}hx*aCHTjfLFtx)rIJK#*Pa3J{egBq-CM$ zw<{0S-t0;>^g+H2K1TF${3p8MD5$I5*C_A^O`q%dt2EZ}XUGp5bJw~^S0J+(k7nKL zX?+R}OOupXQiFHDW>AL*TVZU4_l$E%OSgjY1ebS@g=OdDT1kQ#kr{Y+07NwNDl7Ma zPDdU*x8koadH(~!#>RH<9ssr~nD{ek7BDN0d-Dc{4ietH;dh$gg^`X7k|vXaLyVpF z%LalScL1N#~591JIV#I>AFPt`1mjb2qvve7sh_F5(~ee;O}yCIVfP)O4;4J z+19;Dr6$b))9)b=?)ASmH#Y|c26A$8pl~yyWVk49-5Li50TCf6J#g`>tE*shL5?k~ zcUd=?UN%{`P+K0Mc;`+UKGVzSThYB3Z&0MEAjiXZL6U8~`iQp}UKU6{ync<#@2PL! zR)D*K1`3A?=ByeTV1DHfXemHOAg8XOq!dJPla@FiL?=oYH+OfWDfzHTuGDSy5Pva2 zLCEoEff0bY?b_iN_YE6nzTi+o-N*E3uYP+yEm9B&H;^tJ_;+RH+u|+&3Z)!Y$JOzR zu^@F&D4^gD0{I`X1Nk`*MsFb10y)1?kyZkEj=ur1O9O z#T#=2n1tmdR6v!;Fvp{i(7A;orQ&)ZtW{fHPTGTV@~ZX|Bn<*h#nZzxP~2m6slt+$ z`&Ld|Kl;4LkgMn?v;r&0ItKgFF)hu{-}qGyV_rX!`Q()lDQZxp2|E7(I+cp2eVgz3J#tm56@E&9swX+9`9yD z%&JfubUWw4k63Aa*oHR|36sToJSa`Lx?{fp2Gpn&Z=ub~DB#uHNj50;jeP;h!JDxmSh+D(Bv zjf#UYBVhW#AW4x>rXf%Yy(8of$LwD2ed&rl0i&f9K}$~xlCKm z!C3*m()0E{5RMBl>0VND3=I#H(24|^CxeOsQniJpCCH_X&$oOQzeR&CTy`(Rz5^J?|X@g#b0_xpgB6HR z#VfI>A#Ns52;BHbzLlp{2n7Z+WLz&(J*l+k2l47n$sC_&5~$8#al>UP(=1lMqN;v{ z^-(4^-UpzBm^OIa2Pweh18=75)2B}%#szUj)BupY%ndj@!1-N%i+z6zFy|9=eb7CDZUO@xl+@sQ0Qq;kH3TcudawrLROpM8Iw+2QRPl z)hz&C3?L~*D*z1u0h%aF|b4Da8S!uH)3+n3X_R!H@l4?u+A??b1 zj2VT=)1RkyZeX1s_K}fzvcLaRP7bF1kMHs+bqYS>uEQXGK+jBx*J^iVnmcXReF_x-YLKF}u|XVAk#Yih_+(s<%+d-<3wX#3Y2-py`9n`|nfhCCvjHK>d&})rVFFhI;d}KkAQsbP9Mi6<3y*AAJxL zyni20`>~lb%l8G2@2R{qFC@}yYrVjF0#p_0b;yEdA7F|a0A>WsA>lB>M%c0H(eU8| zU9>_dnk3b$dldMgp`q~f#UbAaw*!!d-dkkeWKI^+cyrsSq&XGG4pZ;&{!-$;3f(TNSG$Rr!jINCPzdp-@NN~jdnj;sdtG8837xA2 zd>-hq45IE<&=L>-6p-jV9nR|mw`!hnGePsjPsNG?!0MAKJ2E#*!P*f_EB+VYh=IEV zhru4&8W7a6F+fi%u<2ne9ZXE{6egU6)JzU{7o>S3|BARTDLs3(4~-H81XGCD?OBd| z+on9@>HP>rIGN89*l8`0F$VtkEi`T6qut&1FsugCW`Ohq4p!sq>qT+-@WVbr-vZGl zTdNTI0zL`J_~76qKyA1X0(^Yf&AeqW{0pX3x(7G_W@Q*H+~AGlWcIg$QUIt0M1t>D z{QB?EF)%$=R?Z*;ArruXlcDF_x4toPH*Bl*-OS1TAx?rLo5POQe zSm1oSaAi6GJK~5+fFLwe1iXZcyWYS#F!ZuCuwE37t{1J{RAx~&xZOWMIu@iMiDeZA zH2`J?#=n1$%(RepTlfll0Ej%8f8eS^Qvx&uaZ&)u-W6>jn1gC?cXGHoF##d%uzmNS zM}ss4_zA3|=-UtSpr;859f4K?ZU#^RWE=$r7J}Zjx!p~Il~obu$tfDx6JLHYLrb~& zL7g>n!Hmza$s6?fEucx@1L5&!LBVE3!TsyVE2O%26xb}1);v6zy^9h7P>^ z=MSW+&H7Et&2Aig10aDuNXB~x)5t;XXMies>*++@F+0jdpRH)uUDnP90D}UO*)}Uj z{f`U@v#yFUw6eH;VDElafyf*8yR(N$nkZ7z9w<-~Q&a72ipwU7rUF8;BT6dQUy$hXEI;M#DoY4PJMk`qM|7Z*&tQuy9Bah$Bqt%fV;}be7R6F>-n>M*T|!~BO^ZBl|>gOlnCN;>42S|A`)T+9(} z4!Vd8uB7)4ni3nxV(^TvjdGZ4$<2jCcP7m>*@KK4c*-D}2laTJo9>E<#E{SlzU;QL z0Tsp84~G!2ZG$h#RP2((!wwSae00Mg*{os?PGfS z%(v(}@LSp@|!^{(y7Hwg)XrtjqukGrjSa~x{0As?q%xLR!2 z00NyXB}zd53={(SpK^~w+Z1WFThdAK=cyK`?d?LLgs(K1>=%(&mO<*Ex%uL2)J?D? z!708Td26@1eD&VfjPtse!npx-1Pmo)@99iay=^}|VMk^J3j#6I==BLY9*|0uXbUh+ zSg)VGy}dtwf=&Vn9PpN{!J78)5EzWd_3sB`9Mp$owH45Q{?4|N@Xf*JAi$*Cwa{s7 z{2o&85yW&bOCg^>%%rsqm@qZo3z8iA6&4TsOiK~R4Dt7nxLUBc^#D1lsszM7n5gze=NYa7iEjHWV)^Yg3>Id{2ZWW|CXd7UY;JA_wF+=L z@%<$;c))DnM8Ss}sN_P_Q$wTQG~i?z);?9#E12CMKAr~D6iB)WU&pS&aUKLpk^*)< z{5aHgQY3&slPbG-_*4!x#B`-CNm?I*d{abRoI%7D%{a7Gy&tE@cRMHuBG$KlrvGkm zTWtRE<8fC^82qK=A;CkP+anw@h1xVb-Vlo%OG}Nz56Ecit$d}Ory-9Uf1d()eEzV3 z({n+opF4kn8LiE>O1qKEcK{w}Uv+){9F&_n8OHAr1e18-4m%45xynpiTcCNtah{r( zcugmMU4x-!fjk5k2@@>Pmp<@YX(PqBS#<_HhN|!41<%yqhDdffF z+|xfD3s6ctX*vD2PKhsAzw#LJv=Dhx$^Bej?g}%(pu7S+jePz3n$p18!ZrGu`VQM! zapn@ZO$4?@=}D(DCe7*K`&eF<*~BDSooEG)lag+*9tsWY_P zp~w-V&sNItK{~LtfTaQIxk*m`CMjuUZOtI!!PS*hLz{TL*S3kNscB>brvI%XfypmH zPR0Zz=1H(PGZ3W!rIFjDX`=S2sl|&+Whah9{5V0ph;;D%A=?&&n4Fz$JxaavD5NoE#S650|Z3@tTI#6D`@b*JH9V&tgP5TtYtZ9LSFwbG=7K%%XVLlnkJyk z%jN4qC0?J8cRO7F97aI$ce0X=UyFs}jdcDLOWyuO~=xNNzFUIG}njE(a_bUsAz=aXmB51s&p-$S90?yc1C8pd z1s|@thZtQ*4sdH2RRKwj#IFh1ESysq&>%vsK^TS(4kyzH6gVKUU%KHyc&-g$*|Sw; z%0R{n+SHevEZyR(^L-7-6SObsX=~?b6>rZp6>1e;CTL~<+K)2Tx7(iExo@--8+=tA zs^SSLOWt%y0l>&Is72REVxP%_>+$2^rKKehEkSGLGWcu-WDs%?W(=U7@bdFd0iS|P zFsya?Ka_oUIMsa^x0Q~4%&aoA6S7k{Ns^VVR7hrJ6iN1$L`gzIl2suzRCZR$UQI-V zibA&cb9%1#ddKzt^Y+JcJ){g-2U+i+(&fOBsFul|8Q# z%pakWubA2M`iU025Ba`p7`=>iqGn6uW2~2j`xxC6)M5r1>J>)({)C(RhsKXRc8q=X zYLDFO-p|Vmd#I(`uOF&uXt+lzVe`u3xfO1ed@e=rKH4-oag&)tf**xqy@@17S_F8Y zGJtyvmF+B;k^L2XN`B8DmgxuzUel8eT)FeK0>}OiR)U05$CMp+lpJI7uj9Nc%HKA= zkVN)VN0NlDwXo}68RFsH>pw%`6y2&WWFiJz0h&>{y?f!Lofm8dDhk}qA6@v6DV-yE zy@TAl1Zf;@CLqfFC`7ei8K`X#xZ_%wWK+P$3}O#KGTRUB(VaDe(Ofw8kJzz~4Za&=G8* zt$Gzwgyh!_+P;u7;oYM@4P~qA=;hz3vlVtGX~@o}-T*4oM8 zP6U`i-IxR+CTKO-)m+lPW>W(rwyh2#gEKWXn?F4!9Uu`Z00F?+gtMPJDsXjCUQ+Tq zwj$){$j`ynlTAV9PEBK@F2u~d#6@3D;a}K**RDQ%#QSGsH&Krctt`+eJY+ug^ZBW% zgSa}69XnS0nnkP$KNZFVr&FiKzI}Ua{h)C>UFb_lpd*_x~RT+cz(Jp+#D;~^3NFI$e?RVSGqvu~+3#7dts`{HAg zfn?XBdUB3ItQeZCrdG3~?(`$c>}z#@p^gk+J-}JFr;1nZB-a*Bbmuc7t`kn{vRRe| z=jZ1FY;7A(ow{&m&ruDJN!>+h;Kyc_k$!DE8hsDj;(Jx5J;M0Fd8U z1=wcfsF-)}-Vw3^Uxc68bT?HoCsT2=A390FG#a6M#l`J*a)J*0%0I9Ce&BpsdAEuR zS&Rt76_4`iTTh-q2FO51cM+Y0r)PQX0|!i-_M*lToSV| z)$aiTBbH;_l`AjN#^L@E{Kf5Q+xh)GZIWxv*U*h9CwCK9MSh_xI$fQ;W1gzx#BFcMT8r0pZ^WFVkjWbNTDSiZE0bP9OhIBtjV-w){szlmH=@g6+Bezh6@ zm(Ro>_xkt8nIDF;v+*gTcfG?yTpv6y`2J|e(W~23XFd#;`7bZSU8iyB_dTCqpV49p zg$>7&hUUlLriyUI0Z=h&J}6f@J~oEP49Jfd>*2^iKm@|Xgi;N3Wlq90UUC<8QrNcx zGFN|Hri!S+(YwBSbb1zIL> zp9rmEU|#VQ!`+Aj8>9m~W~Go$lv?k)Z`{69a`5J@Tk~HI(>V~Uv+P2mo67Qx=OGKP z)qSd+Wg_9C_#Vo_2vRnhCR|GJK`U;_Z2tvKFzDhc;dwv6fhH0?{r%$S`8oXw0SDxo z!e~ zq#f;KcV7F(hz2WZtQKixsKu2(E3zu`{(z1xG3cJYx#vV_S=kHE;W}Kj$Z^{m)y-}+ z2;dp|PK61j;5(kn9#P9VJKd>BgnGH>q|TT7H<7fgt#6_3JAV9**p%SauW*3oYw+`OadO3x)jK*rU5;oT6uo}m$D-^k zR3${qm_&&Ye_>_%kNsLEB9^Bnlv(1iiSOMN<;(q6TDYuGAN{-t->EI6>NQef1fcJNJmG} zgr=fDp8j|xxJLmu|DEVOiPHItvua>ltU;A?fX|vVkw+z)3h`A3%bdiMt~(js_FJ5D zMTaI#OoRv`*4*5@2aqlhTH^fx!*%tJH+T?KQ-XfF>}PfJKYH-;{}A$$`FM12*=F#q zewMz%7vp15Ybhbu^63tbx3W;tenJ_8G6L;BpX7>}V5)Vb!1?@0AF7a7is+-+rh{`sQo;b$g~` z8Bre5V#J!(Q(5=+MT^DrFHO~kKiak}a%qV}iu2|s>m)RjCjrB|yOWC$!-Is;aI$VB zJ^e*xB`pmNF{+M!m?2rEo6|yaUu2do(m?8M!Gm64OK_Pi(bb zug~EXXe*X|n6|5T)n?3Vep6pbxp78;bin8S;R8P|$~8K*-wA}36tIoI&wH01;jhkz z>vgGZ@<>5fP!8aFW%VjKacr{*L+Jb&B#NM$#U<`DcH@{hcsQz1iqT(DJZ7rQ7oYWT zI$Wv#^vBCC&Gn__kbjtIu7d05RSrA5oUyAJs(r4e20bESA(T1CTnYsE8Js@X ziCqJ6Mdni2(C`s1EiF-grE}RQeSYPa*>#Ge+@$8dzMHx^aC+UQ3Eu2)V*e&R@_!;4+$WEFSIZ)^H?xWXGO^7#7 z{_o_Wi~>nI2wdj^5EcY66sSVGYxy#B0h#QqktCRwnVFdl#LUcIx=;8kSrSRRx|&V@ zc2ni678%R^R$>depZqtSQsd0j#}DClv8U@)sE0e?(FEe9u?N`Fw2c+>p84?`Yd#?v z>Tzula=zapf3ar=aE8*@mb%nkNE=W-)7sYJS~H|WA6e&6W});}a3Lq0l+7_Z7TI=t zsVHh&eyeos+Bi-#G@@8-bEy0F?Y(IJ&Tr($k3bZ;aAGvQeht>`V_Tb{D4WtVsW~%> z!dKv`(Rknz1Tf1Mc<|k{SO7h6TYpy3iZc_FilSP!LcI6%1KP~>aymuXS^(mK5Ozzl z_!_4r;Wwo`EO%qDTz;)lu!m$Wg)omIpQ#SBVxz$mYgM*qe$d`dz;_4@rHt53;kA$Y zvUZJRuZi(Skd`Vdl2RYW#!`occ|R^IVp)$KLLx7Gr9;1d;f9?huev*0a`&fy`~U%# ze)~2O6Zf3`sLC6^5a{+ZR*y9}cmstA4=-$|v}rDf)y`1$j!vvW#f;?U5LiIq&;{4m~^iOtiGZn3{dV3q!gfoo%j*pOELB@@%Ww*NeyL6SEQd0C1)$StS`-;pK zQtsN1|J``)Y;jk?gA`8j%>Z9vbhKgo&(S9?ha2GD$f}EmZwa+H?4D8g;f(ba0U%;AfXb9TP9RMfvl2BtSEwNS^ z2Y9tpGtaNDtt0^M?(auKTUJ#>$axQh1MLljE?~rvtvC(rjj*qzC$PYqAfdYRSYqPn&nd8iUXc zm~YtGamQ@iyqSzrY=GQC2~j6!u2XAm$MjL3Uk2u$Q%pW^+Up zBEnU4Z*bJ9L-mYG0nw=dhwwm5q`43Ejv7RYGM3OZHZ)8lu=UfYwaxEZ2dyc@jYTM`O=?NQWek0NZho@o6`zWy} zRqIsiP)c}h@yS0ph$WvzC`(~S(l@ioqlBn+T6GN&aCi2k-?(uecO5?AHqD@ycya)a zU^(gR?}xzfOLcpT742Ij3gh$!peA$tB^ebKwCMTbP4$`#6aUNOIdkR*EHfyq5V&Us z4I98=poPJ8K&h88EK780MA>jg!7)7dJxCg18N`nvboKw+v z-bZ&^eZBEXbhFCvhw$c#2>XHlSg9<^u#^8(e0b1DQVqa+1AGunc~gC~NwCc-Q9l>J z%?}Ww+S;KoHp1m(m%Jw5C5m>f)Y@Q1q@KfSC4s7E*tCFST?W~nrtH}*^C!gL@T=a% zsu-w1EZpmc2H4R!%ohPH60&8FRWkA^%gD)`nlKb}y+7M_#N=r*S=0J$0?+sMXFmf&%Os>{ODi2V7Xnx=g zz-PUHlT<9Z=EA17Rqlv=?f5tLCcXBmff>6`sbtfg2;DeHI&o=t3E996KNZXgZJ$16 zkg`jxA3&nk?E1dr*Iynq1I*D$NZP%9`?RCujl{$fa;l-UrQfAXD!zHHL@Iy^0J;$E zCY$nxl>{jBwDJq1^7A?lt=Kr`f3jT_-{UH=d|+J)Ik#}mj})p05^`&G-uyf~&+(4& z93mnkFZ%n3y)CpXfDPj!#<$JQVEN>*Kj-JcM3q1wqI!`i-P-Tt zFd?kP&0@$yBzA!IX>O&B+;?{`G@vdn+^npj_5-kn<4;E#dlg)I5s8r80ySclhD;5q zK>wLq$Ufug>6cK00HWpD`%v z8$bU?li@i-m%4sRuJ@1vT!Bjk7Y??0)DOQL>eDXvhH5ycQRbq3h4jSU$D`+*w~^61 z$WwyX=KH(4OhdIOY=#*b87CV~M(G(W6)@nAL&h2O8UHM2G-q7f1lA;1QeZ9uvi|bb zt86Xdz@5m#jEQlXu-s4xSo^$1REWO`$oIzT(m4dBxb@`YJ0lJyyzxp_1I3V1xPER} zT&?^~eYga>a3X=b)N?ORJrVEu4k}Q$3Y>qMLPEn3<0ADiV14yDST*gfy7wk_Skwsjd!cAhUC`4D``5cL6d0a6pCu z#9Owqe}NGIoBF%35H-m5Na*sz>8!Pk9Lu1#26ve1kVfHy;~Bpncf7B+H?M+Y4AxVW z{Ry`Onv8UmUPZl$l7B#702MwCAU|*9XN*kA%t6Ry5b{fcWXZx}Z}(}26DP<7oCsof4;+LzP5yKCmpoEDZ>BWtjPx^pSt}FshK)r;X-)p|L(__LD1wA& zAm9=>q8aN2m!0tL$>6I_Vdf{#zTVT8hQhP$d+&<*0DsUD4@9Gnm~N1eOx$u=vrYp@ zPeA1IAP!N`=URd#PoGv_{39m!JUBcrT---bFXqV;UtE5uc(?MSkSc@zod>ooM+Zvt zlHlC?_mRTQxn;{GKR-Cq4Z7F&=Wh#Q?1}H8RhLf`1|4YcZfa`_Eb1FXkw{Cx83oFO zIofPZjIUm;D?ufj5~KuR-mcnk=cJ^I8plzBYI=BFavtwxWrZWE zuMkBnMAAy`eUOhC-&UQ)>L6qT_7C%66oOS7^0lj9&82z=2Dl^WX0q>fy8N#+{zOH# zx$K79jID=-{o=W=aK`8&rh=77eUuQ9NXnMjv18Bq2@@9=iLR_t%GVT(!vF}-Vc6G4 z)xIhbiJYuGOXJ#bnd)H+z#K@Tkroru_`%AHe{-=TGzTt@IJ#gpIb&`scp4%F)a|CG zB;ji)KM=&BI$yEp~Klf%Wv zH%qlO?FPcvroo}As@@`HKLEqs-tGaRCLJ9e3<-|{gBa_UqwEI&TVl$?UWbMl=q67O zl!WT$Nb)@oWfZx_7=MM4hmoA#tKcZtBPOOFc{fdTx8dT=nqD`q^uUdG87HGzioZP0 z-T&t1>;3!HY-|)jLM7k*?SUB-QDo0j);Kx$70)S#gd7)aEu`y&eSKC?;0i#cw7K?( zAAIQ$SN)yrjq8Z1_Y;+^_p&`FTGt^$E7Cv-(gfrY{18I>q8gf-GGPY7?{z4JWW^6K zsm3;zrdj$+Y;8ifZ{1QwJ_d@BxA{7o6qD!jKc>QWXZN2}fxyUk`sL)s)oSzTH1X=T zoLaff{Pb`LX4z^Hav^F18sXq__Uuo{SeYSbcX1)p`sk0Jtwkr?dvs}*)UB}pRxZ%K z<~pTNu}vc?-7j5r#VrcBNSa(ZR@78YUbi|}N!(FzOyiH_AnnC)hL~ zl1X^xb;l%m8ZWqac>;t+;-AC(uT zA7~5iA-SN!6VMDID-2aV?SPbk{5ijZ=ot_Km?D6){{J!jpk^Lx4S(z`3`TfcFE9ON zZt@D%f;}0zm3Xj?!=6LW5v_>s9x9QK&%Dz1VLfX_z<%xqE&=-GJ1Hp_KZvg)3?ECVTni_;c z^Wga+wQg=c`p#wN=XQxFIXCiS!pk>`+`=l2wO)VA0HhU$S zk6nVU2{99*CJbt-s)!fx2A61;>^>85Lz7W4E|lY-skm6A`3Iv^Fy{1M)jHJ90@h zDao^pj5oeC+&=LXV3YyZ)aM@`+$|sYt&g^JA4qVxxzqULb2G7|HEw%VO@f?(Pzprb zxu#3s=BEZMitfkr719fpSvx#Q8{s-F7%Y6X!MsJr6hdA1> z|AM3t0TUqfU}M6OXk%riA|#~!&{7cR!TSav*WbX6FJn_Zb!T1`-!1QzEE6FfxcVnF8|#0tGID2qLCk+)hYH zNJ;4jHAMGC!Q>@7)f8SHD+$Oz{s&M0R0CyE2^UB(E}Z=|>F#_%WY4GOhI>ZbcGcT) z8gfPNQqkZK9Zb`I?e!6{xRl!3=yR@}Ee=++yQN=n+TLv$o>Es1{V(flD!<-i=!|>> zg0HR;BT0zI*|Z(bft2LX2u56`~YS*?ZgvlgU3_#|+? z7`_91WyBo#tC^*x@5VY<7xY*7UIV!FvD0OaK6wkNQ+GE40WqBf1=^l};}5=6`YYCkOp51qFzQaFYq(OX2~+W``CTB(>j92rc030ft6aovp84mE)x7I8TMh)*C+LNtR13{e;+ zczEO3Ci5V?yd;V1PD7vDLmEX-v6~zJD1O47WxF^0eLU}Y7mQn72xScDIc<)chgO%PMTzG zs$kcg7@{2>wTVXb=f{>^av{+{hh4vD1#ECY-I(=kps%*Jr8hZon1p*e{sOh-gY1=| z3p5I`qB4>^L=N+Y@#waUbYLCt+S0u$-uHYY4|9rhZg)E6OjgYe4)O?Lo(JMhaGYX` z9e&P0NrKNBx;h9nFoh_bTPNG3hJl9ad#LLI;x3^ffu_n1s+$^W$nDc-OlWHiq*LDD z1whk?$_fJn_P*2*z4K=5iF?1SynHFp3CLVf{RYeog(Bz3S|+N%_|J2>xb=;6H%5C; zWfB3l8lk;=Klk-Lft&_nbL>@@36|gWVfDi(4j@-NMaYJD3;|_>A3mUbB(8L2b~8Nb zTvV^ImXemHUdZ#<74I1EWG-j$0zekcTV)ejxf!1k$J_AZaoZDEy>6w`)o*xu? z7uTEskO{iOCrCU7?V{e2fSU08`Q^fx80HN1{X35OO32UF#ImCiz;Ud!+Q76eX_Io5 zWSP@3V`D4HWGE{t=cmNkVx1wC%GNjzn)-Kk%j1U|pWdsy_sd(EG} zX^YIUWtcg}+wbh(e_)^PYkap0-@C?eqH(sOO2?_UCvaI2*jZ9b;uTbLf)Nk~&=lhx z-cmcHufM+dl?CZBF|}xpGcxs`UT@2VOb8~2053o#( z|H6ugSODiW0(9BglOV9w^8&m&^xXTotqd0+LpSKp&^}E{AB*36@zap89$ z4oCuJRD|bL@5oWB?O!wFjx@ABFM+5t${uA3wlci14<9qzUBu@h;|3}Wv8Q!H`i4AJ zL2@8cCm6Xwwz3KF@t^SV$?_!x6C+Fp*-<7}z~lq#fWKQrK|ujJ+@_|c&Q8|i%XG)P zv&R7|CMt7UbMY|h?w~fvq8>dYidXf1;6sy+?!wO=SBOz_#0`iXTY~#McW%EkdIsBbdB~05`nmpr0Sr*kVEN zY5H-^@%*3u6Rm4Cjtbb)2}JJ;7ouHGz~cyq6lC{^nMcT38#3YnDK<7b0U*F0fH#*9 ziXBouHYK1o{4^xYFTuwNYx&`eb3yxpZ+dJd%Fq6uqnj`HwBzRD;ju9_y=x)?RcJx# z@|^SWLf&X@nnQ*H5dqQ;PUyA_Tzx9CwmY5`7hDD zzn!ZnRT&83{}C=zF&11W$D45{J!xM~_tz(9&Usxp@%;REk7$-my+bex028Y@WyJ$@ zsHQ_sOu@T5O=*XLVKtNek=`0F%mFejfZjH(xp~aq-jS^!n}#Tryga+MlFG0pYQGN0 z=(tMb;)`VpWB@0(3h&LdX3*vUQfeE|ydcTRn_WbKv(jqv59egP z#XCq(O$A$x2|p?z1%!IwWrLY(qu72)qYqCQ7fU@kPjD#Y%^1Am^g^TGzR^0Pa$zN@ zUVZWJS3LsWktT&-u?{?pjZkplHYh@(_a zWNjwYE_1)gt&o~(+|-mpiZEU9H`U6QETH5I*qd2D3~hE@aEbCf&7dCC-ZnO{3IbdY zH_FdWpV>{tsOcaT{e7EnQrcW>$Mvkd?eDVO)EKn-gi>}c;BW<|gd-5EgbxVD4jV47 zh-MD@DEnWZAy)5i@9b6T=q@YH_|%mwjoALOvd2AAoX-o#ZtLfM`!;$7d8*^Z)m)?F zX1r$`;U(H1u%7X=#lyqiDZ8_F;sfqJU8@h6Gr?~@Jw+x9HO4vuRU=58=3h*%JNB*bOT zSdX`hIWCya6lp(zUKt^P=SLdoxFaG~j<<2Db)<9BZ%TQC%zQHMRGWfCv>;c93IT4p zRVl_EsqgGXYG&J|M)g8l?gBXmRz?!pM_P?}{jv&@%F8rY6Lk69VREmn7*=l0GpcXMFN;M?4 zj3h4la}uU72xMcVOZC}qIkhxgboi+4NGDV8r>3GPmFZn1@U`K=%DGl8|G~)k4BgK4s2rz$1fF1YEl$1QnB0~cM6#PgDMy_k=tv6#NwZXwbTiFyspF62- z_Sj!F{{Ngbvv?{{@0ED-b{ikNLS&134Y&&x@ErbFsNe4!Wgx*O_Up6U+%do`5PG6= zV~Irm<_M4|#DVeAWYN>WQyoRDlVeq;7ub`Tm?vOecGQK-N@gm?RK< zW^_w#7!?GnP4Z_$NY3d<_pe;kANqv%1~&|p-U$j4p{5SBJ(f~@{KwZ{ndm-GzggeR zSg+*b$Y-lGF!Vfiy;_n;GHe|2U|_5t^}eXBO_|g}v-fD-_Dw=4!62G0&dC98zHhOB zc$bmUjdLRj8H($K%1%KrlyaP_beBVSX+vDQ&PLje^473tTId97yk>=~F~} zC5i`R(V$r1io+kp#KZ*YDFWXxITe)?RAa%2A*_Zy0YNm_wPhtG*03%jU{z8Q82Z)Z zWQ%Z?KaG*UjxdJFc0sm{-WG6Vwb*rJ#njx;&o+VZ7OWZ>rNatFABMap%-K8l{3A|h z!3fwYAT=w4EELZOF%^zz>$Hyeqj~_3L}@b#i)z)~_ky1=WeXqT5}Mq^S7V!LA8A)6 zwEnQ2s2-FfyxAhReALFqek`^?nz+FJ+D%_7EnvfE4VlB-M>#YY;s0eMC&aZfkuXFYUJV372hAcTtqqFu6wVgEfXaqok1AC*9;rNHJcSlE-Jbj1XlF_E!l>%yooKM=If81A6wc zv5~f4?}0X>I(H{ks2w^|lv$p%v}DH%9vf=OxVSffrZ7 z+1bOt`Y}~VmV6vh4Fbym3leVf{iuH@dtzTZ*dRmi;vd?EEX)}>Ru!NI1ur0bNb^g4 zaTy{!674M6&4Okav{-ldpE%lw_cM7BhEZz$Tj0nN%by|GKCj)r{nnur*2Lr0L72n{ z<3Y@6?iuL}qf87iOnHNv0*i8YB#B2eNF&Og{O6tf#;85OvgxwUU64j-+5rR@q$x^* z-NO0-{-_`?-_qQycj(a6$LD_ll@Lh)v+==|cI}dumJVOMfkFf{Eeo$=KI{WSy|UNz z0QCRwK|-j9OvPJN5JGORT{{rVZrJwrTVxb4tMTU4U6ua+b=R-&Op7HHUzOUP%=`04 zjJV~}#QoG+XWE$Ev$L}}#~=@Vt|uCH@t|zVFErt>U!%=~;28aIxzgWXUyxq{CFj=N zzB2G{3cYnyKwt!}^1r|faK54FiqTHe&qb*QtSCiK)cgGT+sbE-=;-LcV~Cih7$Pr1 z-H_M=PZq^_ai&jfUqrYWqf8`p#=eml>yhroi_B$vdrTGG{M>dO>A==c>{tQdLE)l9 zz>q&swU%bPgTOqzZDc+U#K*? zvuSb`H4B=e7udTv^&pCe#i6p2ZBXux#zm@X)HiXj9U@6yfLPF?lbdyTq0nJsR%f^9 z^yZ^r_ffz;A{$(AY(a!}O|Kjc9*PTggH;sm2MBHW!?UtN>W6Rdxnv2uHku8LaR5t> zvH}+cBQ5of072aouly^h-Z<eaZ{BT|}ykx9L)1vZpO9M>I{D)#XF zaDrWmLaY?Z4)PKeVBp8v}cpQ*W5C2($;InjKNb%4V*x__a%`6Zm*Z|>I~}nk2!-%7k0SYsPx&+eJ{*bR2@E2_nwkRq(=jxu zI)~G?hAbXDmt-=m&wT~%Dr8YDVM0@lx8X-Ulf#N<4pvLoh|0kzAeKaTWCqPLGM1;Y zMj(@F@XPLWA?~DgRmAL#vd531_AM^nDPJSc=-zoZvKj1YP8 zEupG+n%1K0;8#_Q1Vw}|tjvI?{!1-V98AyRZ}tkrorr!HshwH^MY+{fA6I_<_)vA{ zj{IzS!8M_ZOHNHzzq+2;pYc_EN!(MQHK`#xk;v7{^HA$tVOAGaeQN1khC;1uApHF-7bayfs~CrDTvCk?yu>Ab`twSLt|A3j}eA4 z3hsqphi3U8(p{kYn)OSw3e#q<67(eEXRrny{1-q~mns(E!7XQ3Q}eD(@iGO)xvYaa z+UB9u8&C;@EW^B4$jgxn!yNr}dio=PMjZLL863=gzjwWcbOT6m+IDm1?8tIHbXQ~; z6^|8AIJC!*OHg|`L%tRL=#W8_VF%5Xzc3qsYr;gYq9TS}WGLd_kht*p^W?kz_%@7O znDqnu9kn2U5Sh0-a8ZI2Aqe5=&pm&*8+oP8%@l33Ed0;R&IKemAU2PKZThIv;J%ti ziWoJ-uY9Q?<6T&LMbzLEbZQT)N5A6;F8J(S_D2mXQqm;!d z5n(u7#wmEiAWa-^704YcKmRmzgO{9d&?iu5Z@V7*ZG0TV(?JmI!n~J`t}fyGm|g)v z0T86@O`Dciu})W3R-z*!X8bfr+m=lQj&q+zJ9Y=5zQ}!%XB5$Si&FsJ07UdaEr~FP zUg%QAl9>2aiS=@rkU=Jcg|E4QZ9zMi7O|$I1nE4Hgj>ZxL(5PN+$qvz;Q5sV{E5Rv zV_Q4aakvP9yW!G2QRWn%lk*iXY;|o77o(%2BaRtF+})?;Hs7M3tDvg-45tLH-MEAV z@w)HsuOAbJ=OQCT71V-0Jo)*`zb!+(LQWH7XchW83#z6jF+2L_$5hPqOEqAuudA;I zk7F#B1k?{vSPP&AP&p-_d^@fZeoJyEs0FkwuhljwnZOr<(7k=W(aC3D9L?|mGGYzc;$Q+>&YAytetgl_7 zk9>?I=2GjI4zKBDQ_x3zz#)M6Cg!c`n6fP_B?W^ooPOJdg)vQI;L8`7C$IYHn>Dmv zpi2CWQ*I4E81QD^y?fAg<$=*e%!&}@T( zRd|*S(`h;)MrpzjXM@HL5>0v`ns6keK1GQL?MXF;yWvlF#t{hW6GsUdtbE1y?QYcB z*k7zAvj~tCj+lpACnBU)mu(OVvL|5C1ZM^&H=_JZJZXXS zjH#)O+xj1WSuv7$g}O7>_?7RNT31O4J7V)etXNq9Ni6#5}d18 z-#~Am^hT~D*mzJ<2+a=noBa8cxl#p+O2B?Vd7GP?=_A%=c3_7O*`b3c2r);qb8w6f z4G}pxeITX|4i2^(Nr;Q17XOP|41OiV0scZ&4q6U5Vl@I=+1N-W*NMHf6^R&(0#zay zP{_HkBM|%@qi(`*SVHw`^~JyMf;$8^Z%F|G?daqvbE4{H+EI`$Sa*m?1G)!!7swpM zjG<+Oc|L;ZAjb`p1)jrw6A7F$$UcHR2TTFbh#j)BXZs!uVio=chYK4WxS_=`01EBn zplLHuI@6=pg7yU)3U=b}@LB^;zyttR64Ck#IDeK~Zss3^We^IfYDedyxiOzoSdxUN?SD!#~&E7dix142;pnbitgPLm6P+tkqMT?F1aZ1 z3fqHjNa&lI!~v|=)!oIz0nl}3@bPv8bUhtuuVSD%3!+*G=5CPEiKY;2bMjwuKd$03 zOh$7iI;r2`5n=j{<)803xgws?MnLq$&QC1di#EluE@*KA$G@Cm+2H9B3e^U1efSkK zh1-2p>LJ{N=*&iKaxP*S+3IT^-zp~?onwm-n7I2O1+qQrs*$6z5t}fYW zUQ;6|B_)N@L|C}4zrPW*dVn9j>Y%vdnQ5iITaHspDKZ!f3VU9nB} z$@#aXN|za=Za-KGvp8}D!m2-DQn3=zd}EJQUHW?!*(V=2|J}S##LpS$Ik-u9gW!>| z67aCG`7?WlLRJQut*DE$YI;`b&L2Sw9DO4bOZCKK$CmzrNCNW;G;9EkFx?4j45#Ed zRsK*dxQbEex=Yk*nTH{S3`a4n-6;G(!u$XI`3g?!o%6h65=_@<10BXrbLX?wY7R3P z-|h(z7K*n}&A%R->3NAtDM9Rjk&@}wMRUllLBIWH%|}u%emw4VX%3j+E%@ryFbP9X zRKFsv{*@K+q86B8~_ZuVlu=oEkTR7K4LnZPWR6*Ds~SmzC!Lt69j2SWCQ z*qkeIahNo5CLmxHjT{1A;4eh@8ZtR-YzE0F8yIp8|2YXcIke7_$*rx%uB7^~AwAJ2 zVb&MdjbcP2jcI@W$q(?Wb7XM35Js6?lJ2g)Ogy-aAg0^q#gt-E@6sFL!D#mw0>gsn z=*?FGagO8l1%2PP7_BWr3@4I+-GEU=@Y#j+V0QViM9O_>F`_iaqpdnJnMcmLvk2!% zm2P7f6l1`blGp#wew4)(CRMx1`#Bm`3y~}J>827l@MpmE?AUpCe>jYddZH00r?(vL zWWVi-ei)Fa_H%)F7)#<$CAP6)r!_|Da~jnZ^pK8`hKgRDSDqr z>zrEWsLxy)u8V}6HUT1GG^9AlBN@3XV$V?SSK&C`b_zkC;^LccSZi$Csi6^o0(+=e z@l-2fsB!Kh{2J1SRY*plPJS7#CcW>{xZPxWyhh|g0_PS7Q%q^7E!d9R4Sfe_Z&*%>O= zoX(&^mLAmx!Iv7+NoV&tpDKKOR?z3#-mS!l)(cDj4WfuRA|WGVfB+}cO6X7P>+5p> z#3YXsUTSD3Sj!*_W&=wB$mBF4Nli>Bj#d`;IkNq29rH%a3542c#Xu=R*K!-r%jmkN z5lDFtNUpZkSiyrq4Bb$#N^N+$ST5TbaG80hiP^wMG`>k_#e1j2Tni1 zl#qZ$xd*;O227mX5FO)2YgQx(4N-~xyo|#4Dy~j=*orKRYT3_0jF-qgjM?ov_ikOg z)(MzjN@Fbgm&TV}F(wU2yMnL@*-^*`#re(pmG?>sjU=^KoPik7Cg5(0yk~%aCHlz& zQba-ust16dc8ssQ$1X#$3Qk#zPiM8@pg!nxs8*fd-s*%P1&3Ri^@GW7VWnX{ikpQ{ zWG`NYKoJO|4`$1pAJ*h-G0XWLlV+1ju+)m^02i@M!!Lx0NwZg>RX_;Y#`>!x52G~E zIbTmqq)5w#MFt=Zm{n9>?h5p534)516WtHII483X8vnJapq!2msT9M#j8h2~4ssI8 z)>XVjpyXytvN16Tbb*f<<`5NS<-MLmA+WyUoY|^7RNseK*Dp|pgCN3%4a$w|cTQ?S zQp-*L@OUcgi@yFu3$!%9a1{v%>`ZEDwtG`#+{(UnYX%N|2+G)Q2i-EbUr->K-WFxF zA9}ebr|BMF#ZaeMov^)VwjnjaKiFdMlU)+Ute6ZJ!^hWlDJl5rwmT>sGHUG%?r87`od@CqFEV*tOGASr{sAc5K0=0O@ZMd!*ps`n zV5w%cUPputd{M-+5go(z(U|W9psc~66k%advSN%|)TZ)k^2m`oNYbLXMLZapiH^O+nSg&(;x zKZR*>2nn04Phs*aKPYO7CK4YL(ji>cJ{SX)$Pz@GF2AT4lCKV?!b2c)s{c{jEtQ0W zxg+xhZ;OYFErpzPl9Fc3{<d6j`Dzm7E5{3~Fn;46!?U*(M=>8lmTaW*_VV_6`QERD!vKBxTpGT^K`z zhf5a~dEcmOD8yJRuN$c!)z!iF_Sw*x0q=xGtu}0Sm%&Q>aZx-&m=*qw*(102QBl8_ zkR(7t#xM|9-~^?(V=y)ZPZZh(6yoSha6?mnU{5tz#}dTD#}!tMyAC@Ax5ynG;Z2)2 z3#gwb%qfB#Pm~_VZ$d58hJ?&Z3o=sU#1(a-n-E?NFu(VMgB32FBe;JE*;oyvc51o| z12JbuM+{Pg4-t(BluKmbv#6aW)#NGki9kg0Z}HziXCXWqHtbY`gi z|D)qR7cL|K?rwT=hBhi{Xur7t%WK7~rMz#OGS!POS|xAUC#Nw?$BGr3CJTh%;_~vsWUo7JO4!~z z4kB#;U=cKKa9v|WJI3xolY_{(^L(K3R#yY=u~Jb9E?XZze%!@n0?3ll9gSEbtRl_e zW5_8>PXM1zUM zcY!$9b9Cd$X^AQ-8;G$0)PVES8@&MD98@bXEn*|Nc8hsRMz(vnxFAN15&F+Vhu#1Y zdUf$nV{I)tgcQT&ajs*R{pcxRPiT4pDKi`xX(}E+hlXY#2+DaMt36RIb_**8qEaAH zVJT-ZUXBD!1Lp7o_)t|>2a`#z8_*-&yEppbnJ(0NXo@kD3I7)51Pq&Z)XvfRGHQm4 zMi7M&t0mbDLyYg%-FMV|-?laCf>%U!$ZO2UAZX7saa!x$3Xk$dO}UUh%3dvQ;V$2_ z^mH(i2nc%&U=50D5fN$yaWq$20a5p#;J83+4)85ssC9PlM)L_uZUoa;j@;P6QUx4xZjOxu3Y>`c6pQ`X42j>Om@m7A4q+|=U|k4v`9&AO2Vt{dA|tiJ9;IwA$_K*;tgZH&73OZzRNAIJ zIlr)gL{j9rR^gg*lpObdo~Q;&H6D6RjQElkJtA}?k{~p*{J69|7M9w0kKy%Al_3?MkJT|kPY&bUo*%Sg`vZHzI*nFHT*|DA41&> zLTUpS4*-N!^95$ed1}a$=bu68y6~&o`+L_H0I%0>!efOUMo0hq7Z27;XK(M1uG}|> z^a8CxPIH6b1P#vGZF5&mS{Fs$7~Wo6>N!n3P5jhVU?<=pAS4`R#h+1>s8)*237!Kb z0`mF^LX7n_gCQ-Bp3Dfw-1bw*q}h2jxOC+dKm zBQkFR|3FEcCbXPMI+=OKTE^1U6uE9(qFFm6ByK^RfHVEbLs?15f?u&)8wOF`8<#d) z(nher>691>@yTAa_$VZ-np;;zvOC+uv*^RL8T#lM>$w?eiKTYj_a8naBRR0`$iOWC zE3+c6p==8EfjFnWUNnBV;t;GS2V)?P6AyGkxX97i;bI~4Z#W2mgu`82nV;{1Zf4@# zX+@=C4blW!Nv$)RM*!*1|NUDHsU<)D8kW=_{3Z*D9e*Q)XtQHitj^J9OO5G4nCS}A~A*-LL{N}F_9-I>?eRyjDVnY z^XBjdE+TPgWP~IqW3CxpQ>>qRUGH4aGm0HUkYRAeA!HZACw1@9X29L8j*l@whp`?S zXRX;2!9El}!!cP0Dx8`5g5hJD$=!2*RRjBp9hV?*2R;W@0#7~m;d4|4Vyp}pf$r~* z+hwPO1l+@D_!{=YsDbE2mdB4U#2GvScEh*PQD|2oT2rN+_W+Sdem_soGR1aG=@UZM zi1P0srb^a_M)EHtS#as1#=zmpeC)aQ!cUmDe7*4vVGQWGLccVqmD7n2f`QiLf-7jv zXC(iy)y@;laWNg8oszIobGQjb5Jzv&#(!%UX0ULan9UROpd!WOZ<7!Q+MrovMZvrb z-V>#YHZds2?06l6I!s0C>Sz>Elk8Pj=k;Eq+^KPobyfN29TZn6PiK1FCI$+>E5cTq ziKPH_MLMorzw0I^QqQP}Js z&LhKK0LveBY5-u>`gHW^WuoxS=zI#2o*;2xaBv482IPZ+BZY5yXLzlIq~uZ~dnnS< z>D+Nw|BJ)*M4zHrK%f2c>5%I2hVcaM-F@Bd9*%Zd2}M)Cdy4{B*FYt>-5uU|V$tZy zKR)Y+HXENOL*2(86dID=5J44OVl(Yb9Z&^i^27W0NMoJxdpVg)Z@7)7&T!rA9%I9? zhRg=z27~zmXN&uX@;yyb?T5_(#sDo)SAUP%xuc_G_WlcD1*F3uN`)?|5XT0F^NgjO zK(^x-2yN&kZ@Cfb_LcH($Waa5J?r2QR;80gljq77OZG%#-sH9fa{d=GFa)l+Rvz}1 zxtHxR_xJBckFM>x+wNEGN50l>e&oqBXT_bH)|CHpUw_lnVxp5lwh0ms<6e_PIkDxD zYzKhC7NT9k#TD8N7Tc|0wQzp&@bSGF_5^ZmhFM_Lms)y>9h5XwlyR>s{igb=j=g}$ z|4N3U>+EGtNBaFTY}cek`CTUHMIw}e3Zo}N$%9^lL1+}Nougd>PFyR46jS7^!4OJn z#A_f-FQ(PG%$W6QKyLltGy*V`D3Ep(iik(hQuf$dS^Y)9jV*;j z30O6PlpdnX)6d0)d-}tZ9pSZ$mpe{Y9AVOZn|8EMPt+8f2^1jmiQE=B4D(!(90%hS z%3+KpSk*J=jyGi#z6ZL2dX|t@N7*b3&;ML$TBQJ~wZMQYdi}*p=q^rWMbB4aM~|(& z5{bxz)D?HeZFL_v`2H{ziU+0w8ylV(y5282LRS#J2DDW}O3JO}`gSO75?@X?P0Uqn zcAVKEBf-7f>uy2n;LDDVl?y-l)z0Z!85>)hQr*Q&En%zl6JvZKo@Rjk)x91=9Pequ z_o>%-jDKM(l~c&T0Foy7Fo02xuePNe*MC%#c~m})8Pz`Vd+ z`x6%^m|2YHrF^%d9xO|^h%;M|2sP9}sbnmmL6p0Y#2DpmP<(pDOlg1qqM916h<*VL zYfe`CPo-b6(V7fyTT5{O=n?z@xK*j8PWu*bwS;!7^SIz$zI{uH$v2yIZQt~7DF65v zA*Ib-2s;jS5J+YoWE7MJZxO6eN5MvJb0*! zZQ`KsnQ5^Og5Kl?Q9_X_;+B5+WD zr*IbA^neyqc1)N=jGc#s)aCem{Do=S!OC3mu#7zKQL2~$LTTJ~x1L)A>qJRYF0Lmf zfuC8#-@dRR9u7U`c}GCNHzjrO1sKnj+vnQVjE`^2Y;O{Y{{82VB**1{QoFN`j-vpG z0Jo^}V|oR9+-vX?pgtW+x$k8VN%%WpT!7CZAadjamtihdQBp!td>?6&)N9tZyp>=j z|C!jy^Tr^VfTD*_-a!YR`n9W?&v-N2H6h3Ys~Hv^4i*m6E|3E5yCxOFl)O!h??3lM&%A3f?KhcUKr=~DJAM>?> z0Q8apt@QLm*(NYEL7BFUHH&a!s5*h6*TKEo+gpL_OR(akyZZ~M@gaF~hA2($J9t81 zaTt^q{HIMNcy;ywl42lq1>g>42YH}()*ois`3kVcm~4ZK8}T5x-4ak1|Lk%;vcMaU z$}}}Ct2NwieARyAvc!Albzw>mnm zQBrQ4{_@UI!Tndwq}%7kau^aO&M$+#1B0Z+$`TM!6Yps;GkM%V^&6fpGGP$>5iuKk z$)M;^h|oj5XS}cS-m9NN7N?ZdBrH%Jde?8-sUAGEe#MT&#PsX{#;ky3K~-&A=46Pj zwB|$q=p7q{)CVRKINQo#GDO3d#n2W-?Yi;S|9sKc6f|z}-BxW1E|o1Ef_5FqPR8C} z|DKnL)o3f5sc@0>HNM%JWwxzxVzyw*YfdFo@zyL1=sxpkFAP=q~vx@3I zQrow0;_!tx0sl+j;*5Q^2@L4SILBC!f$HE51gSp34FVM*hC&0Gk+yt*=vrv$AhLk2 z1>s-}Tr$L19l!y=YPo^Uf|Vh^mJVC)N0})p<3E2QbcUQE4&?+W%jKmdx=0dw)ZQbS zla%55`vqH_PM;3Is>EA6r+OQo7cKO^VE(>)YC$K%jPg?GX++s1h2%@~(mzZWm^r^q zJ$dS6nMc1YL?(|4Nsp+9=(D~dTktR54WfmS7y$Lkj6R7u2ZMp=h zx*2k0n(5Wm)M{5hBh&>o>ww61fr}#M)!E4b4Ml&GoSJ$OW*!t+Xo>ird`QdO+SfsGWM=$J@TIx$Nq~tCjkgy| z?9_y=$%>3@eyY65UeWs!K?XpSvE4DkRZlDl)dIdqv^{rtEsAX*N4n%WhUk&V(*$uw z#Kp$av9PFM*cZ$nn6HM31JFdw94i46=B}8Ax*B|c>wLPv=Gw;;tqq(Kn?&vC3o>ykN_X6;Tng&?&kn_ zp8rwUcZXBm|NkR#>|@I&Nk&Fik~m3{gpkNgvO-prWRD~i*=1%YMJRh#Dujjxl9Cb% z9U|Yyx%*we>-zrw`MK`T^||kg&N=Vbcs?J`$3Oti*|Wb<#s>xl!e&o7kzjCvrbFLc z&wfTg1QVc2_}&VrrPdbfNnz^t#DK3!<-u!*9r~3P9ggL*OCfn=`+mPc{>VeobUJkq zOCTPNqCjSh3V-Gd1Ph3O#;#p^Km&k*FEsxEqQ(4hN#Hp2YF@sTpYMpzO|+`gq8#%S zWz4nlI00SYMDiC;CWz7M*aAf@43Ip0;~kzR$fiYHn9vG;|i@RW{po>Nd$_c*DpcqU{3_=@3$S7MA$B`&X#7Bj%cP$rh>WX7Zd;zZnRGF@> zE@DwhV%EDFOuV1U$zBEN=|Mzrp)W-*-t)#;3S zHcr5Zqe{xk3+TOqwOa1pz52`?&_+&&%qujT37Q8=8TG>LT&yb%}!SPS5EFXM>A z;3FnxKcGV_sT|DWV1=i3^KbzG$aec4#*RD4AVmG;3X>H-4IAlHs1i8EhOl?xx&ajp z0x6Js2aFlPqgc|GR#qSc-~a^tyxsDSJGbCQc-wI?)h6@)f}FFLFjXGR@NVI!8S*tF^Ay>YjQCN-2i8>i4|2PK>^i&}cKDLi_VU30^h((}}gKWT3_SS$4 z_7EBm$af*OM7C&2?^jg7;9{t%sl`;*faqy|G+|XHbCUw|4x9nUZ|fCoqTI{<#=erj zPJ4Pb7+dxptIw=^_z;7fHJr;h2;YKwfRiKQsHrRuXlgjQFDwop1@P5=;TkSF3}yuc zCTtBci@(MytVE;q6Lkol;}4Wal(0m~xzGO6MR`mF!4XgJ<4_^2Uj$IMb3Wi4xjOFgAgE!I6u#iEuv!z)}3$bnHu;UPO z7Cm z4SSr~JNa`tINi5x&GYnWmPM<%2zHXU!nMaWu>KAePA{03;6Ltrqs<;b0y3i2k?ii< za2%|-U5>cV!;@?6a?5t#)uX#1h|eAqicmHdVa@vO)jIf0B(G8b5esOWW)CEJG#E=A zm3kBqAmaDay*wxpks4qHQuZ;d@4*B;z8x0nqVU44sDQnY2aL4Il5cBVBZw5y8qhkx zGI;S2DLb7w5y2GQF~>?ESfXP4mt2a>MlI*3e6cJfbE7uY9=J6@ft;Nkt+ZD2zU77q z@@y%rt3lqtmw~~@`9LUcQF>DCDY;QV5rLx5M??dE-k>ZYHbqS#VzPC zH9yF#yF#TND5%Ih;nR@2$YKV6*HGzty#hon4|fbHFmFh3u>S&|0uBF&Ij^>FKCW9I zxUZ+_ijP0(42vZRo8XsV4{7c^Eq5AgeQ)aQkUp(}-)j}eX#y^JQ#nB=Oo~PHF>_~lq@+&w$Iv3215^#Gx9&xO%NYipx=y`VY% zlidU7)x(~*xN$L8ZI}B%aOsxR0#mBjN#NthpTB;_3RSPuN7vq|Wy#XYF*#*o8ar%* zdlA*Ci%UsNOb>bs8#A+oXKJHh*`neB85qqUcyASUEy98sEnw*4Km(T)vwzSl3B`yr zg^$rcJHw?P@Bg5FK!<_0gIrJ37h_ckRs-NN3}%1;i7JRSDw2(8G<8P=m^2DltJZCQ z7ejL81!@(phUBB-33`LLQ5udndykW9tqv6r-n(}Xge$s}&lVrbLNDj;F2K#*Wv@`S zUdPZcT5CnAR`8kx-YrJc9rquGwFoIM*u%t^MukRgWK53Fu-?4TqTInYw9dYI;OheB zqUf1WzwWENm+qde;%2h(;;8JAiK})!hqZKkRtq9KzmEQwoh6Jw0DM4<3U z%f-(AJP%fSBaiGWDu$slX5u^|_{DdfaeA^Z_b)P-Wnyd%44sVWJtDP$&;qK&bE9YG zyK}M^Jff&wxPLD~K1EVgT}3zY5eE;@T&O-S{(gTJZnS8ivlJX?n4#VDhoLlh`jFEA z11FulghJ=C;7%os6K`z;HyQomn-3pCz?1;&_kWC@23#o`%LbWGi5i_e;{e=2iEfHba17dAWPjR9En0ssfg@M5+RVQ}@{F z%IBzA)|-Nt@1lVyFE4j^z|5db3+68hwygX(yPiqv&iksKBf4A;B=h&yaETfJIe9o% zo2pI<^4&~doU@>4d#GAlPYAs}<=`OZA&0xHKFj+FDvo2YrRV|L0|XPosy+Bm2x#AD zVTibnrUWf6;GDe#6l~rN$J3Kh&!K^aj~qxC@F@raDhogXj+`I?fjc@2Yy>k#Ks|oI zNS&P}&F&)SNf-lfOgJI22c2))fWI5=a2#=X853h;qNxS~ zEtd!BjlW2@+7bBk8NCNp=D&S#l`i5CqcxJfFuL~wjq;G0!DR97L-h~lu*gvkfHnqt z6=NIoR7+M1kbyIPew}?Uw9rY)K{$#U48xNcnLBShVh!$BS3d?mhSZ|Bb@HS~A3l5l zu!z-xf)>{sHYbRU_;)N3Aj06V>?fe8K%1$D9Fm})v|@-8+kcsF9K2B+1QZrH9Ub1o zB3Sz{((|wTVehfovDJ))uW_%NE^2SO^L7qah%r9o&fDEettUW=)hnQY8c(c1nL>;n zn0IhL!170E)(uh~IOP=9b>9~X&?P6wa*39otGPtF)n9kbg4#1*vKcX%9%C;j)l6M$ zF8+CzNdh9gF-7dPuMZMrfU!xxaMG`%rLlyhszUIsw)*WTLtMr(Tb&$f~B`7Pag=vAj$B+I+L16Ou*zI&=c^&&G@e7o?3`LSbhF_Yk--?5Yhy?DBq>io-Q z8qy?KyP{ zcC((I@Rz-U1&5=15@acjZ&N*)hgeuTN@)LaDHG0vnH+-o@AfMJ1))9*TGcig7Udm%`fpC#2`4Pg=ZG!QGP9@!67rTzEuojia^ zVj=*X7)#aE)$J#|N287-3{PiRYol1_xcA&dG7qK1$ERX5-v=@_xQ}Bh!Sc}#*vt4L zD?+w}FS7NVx_Bh46{>#aUyqsmRrIjtn(v-~#Yh2`vw{~hMQ_%f+qP?_&)+9xe$@b6 zBcAw+%advFM3^YQ_uROmXMBL!HOZ*VWO2XA)^dXUE#|fOvUZ=vwO!4|+I@ePmr>G! z$qj}cs%ne^DFKflG$8dO_gX4ObGY!)*G2Z@O2dH!nC}iQBK*hZy-HcRjCbnuNiF;A z%nY_TyUUc7XcHiG+87jcu0V&1dGo8A-)_fcl0l6mh|TbA)2~c3kdU*w&lRtWo0a8g z2=8@~Jmc3e4#yzUTsl3T}lbIgH$q2zuU%r2@ zIHJo%^-YaTKn=vK=mh>TBFfCL-pX#~H=T@F*Mq~V2#sCCxSY|mah|=iO71EcaGq5ikH1@JY;aG4A>O1rgms>Z43f-^_Z zTf^s~+^$pGUbLubzQlCeS` zgBq*_q;N??)|e9jq%plilZ*&E(3HM_$c5kT1L$|)0L*&nt=?!S95vTDp9%&IP&tQm zBhMVG%BA^v>dFJF%|q(>U|Ze0w@nW`Cp7E%huS`vQ-Yi&R};W>#HYA%7XR z8{?&I1}PfGBZ!;;4=B{Ka5>YF;OHm`kRKZ(81T}Jb|l01Bk*c(irFo_;zW% zFjhnqFRJyckDYM*#loSYuWx<2yz1k`gx9tMA?)mAA37uyS*7 zg(!Bqygrmw^ym*9vZw`I-`p*Vi#vc^Q$tDU;^Pw%aHCl@_)LQA4>pv$o_<5EiVnb6aY#c2tN+)e{Qz$$W>U^ zh?+-54bWH{pNlP-Ep?Y@!C z6sn_zc_4llbPc2e7u>z8Bq<609>Lf^(WBUjwpDXy~8TXe*&*@yNBaG53Fd}Ol2HFL?oVS4UkgANeoM&*TU|-oqNeoUBdj^fJzIeI2{|7N={Udi^tx#fg z=*VsufjQZK{~PxveyIq>C(v>#mddJ)E-0>50fN^ zh3uV%n>V9(D>Cg8XU}Pq;wA)my$zV|5dmpehWpaF3i(_XaMN(W<8dJc_9VO+m2*KnSzV ze|}(VQEFOPgBldItpD9rW>8q!b7jjBDW43F@w!ox&inPzGu;YGQR3wlvb>ByiWaI> zZes}@pxA7?$AsFga;7^4MUjr9L@}c z=t3$wL2U%+h)m%u0;7UCyyA)O)|Zqy9-1|W6F+cWQJhAwMb_5VYO9Xfjmtc{PNySI zcbR+2v%h#qi;7VO{^>yIz_h}WjWmX61G8?|!DK%)-+%{!j{)rrOc77l67{AV4@+95 zd49lB6?;fdRu;kYVAAXaHikP={k+<6s$$a1ZiNubnYQmETics=HB$X3=M12K$OclV znA`Ld0oodv8fd*d-qxWqRvEH|P@^NB3}>&Hj%;A?5m}QV2tFKRvq(i)KekaHRsJAeYhuDt~{t4L2 z@Yi`?e`dq#162N=|M0W0s^mLMy-s%_CBv26-eC_LYUHLUW&DS1swpYK^$I7#4pmhI z&Y>)XI?$*XAhNcZjohS)Kz`fok?xW!R^e~_#YgA+Oll`9S7tV+sAY1_nat~q$(%{( zQER4cYdQJ%;K4q-`a5U77%}Mp8qrK4z$TF@ElytoD+4|L=pBa*q(@MK;84Jo2iCbi+qQ^h1<)ZtCC3dYFDo02 zUJiHyH{(7KMo|SdG%SNnfaH=n;Kg9xV)6pT5CRrEv|MqPpdJ9*LuW~P+csB_ejusA zB%e<+a1PIU0}YL(>~*V3)g3#)BmM?880ME=4i41Lm8k7k$<+XAA+Sd;Ov!tNZ^Ptd z7eL@zYbh?|E9)8NyNl>jO^+PGQL&vT9#sZNNF(Wkw83dtl=OUjl;XS2p$$cAfOp%4NV934@wU``5~d6J`@o8T1>rNK(DVa8{0meH*Zi5YXZI5-ZJQ{b(C}BVzY;M@5aZ(Gt49%i zB!noasNmdKE1}*H(u0+VL;VL<1YRhPY)#=RENt8$fXRTJ956I=sM-EG0-1LNK8CzWQ53!@XdoSULa4)A+q&BBPu;?YYN@4qhm7|Y^X^< zxWMoT%mX+^;RnJj3I-pz74U^)oIHZNaN^@fsNHLDe7oFNM%T{!0akhK@sRe4Mk+85 zK9_D+fSIZ*`7LVv4!TPSguL%uJiZ|y9QG*s5*i_^>YbU-5PE{61|>N&0|V|UxHQ8l z0L9Vz=PWOv8CWViVDQ-Z^4)%FN#5AR^m5d+V5CKue-O=;M>Wv4{*9ERf9EvIhi^FU<6_wApi|CoY^*OS(aEVD zS@Z%Zh5{?zfsb}&EMX|5*IuD!^y5Cye~zYCZoVkk&o;wo%QBSF@2X*vI435a+)TU7 z&YxgmYb(shmkzyMd(hNGM1hI@RLD@P)=# zxQyXVEt@YgL=x5mpaXKu$j%nN=&vcp;adb;E8mZtU>hE-cZ*gggub$B{bn#uO&b`# z#Wt0C)Tynny;u3`pR+^U^{fG?th1g4`1yUB4+Lixm=ASYFPiIeL&*&{pMbXnyQ-6? zPvi6u4J`RF8twpn5NtBp)o+gNC7{GIyUng00jEmsO&x7*4yezdKsyr3ehhQ%=yw|28jl0N7(9pjyyUDVX!*>|IDyXNEAaH-Okg zii~q#@Uu9qxl_bW%|YEto)Gd}@lZ2j;36Kx)CL0No9oMet^voRA-3C&2;BcXMmcuMw|` zjior^U~^?tX+cj*i&5h~U0ndZ!R`kN2FBQ!SBU04#RoN`g^u?1hZ!k6gm3yk#tni} zUrPd6h^5D{Y6N#L_6utGRrF9Fqq=gVk_eSHapjNSpQL%V$$W7zo{^x_8BJ=DWn zoA|$Nq4Bd2UFFhm?Ejk`SkF&iPe1kR-Ua_3nMOq(W`onEzbyVRswi>i%pd9fI&!q+ zZ+^(Yf=g1~#+s13B6pjq#1=r*fIkqT+d=LUgaI|=1rP(_l$aeKM_v;K(@9sazCgo~ zl$1nS$*Os1$j8S^4_?@zIX4BlBOatC$i~>eXxlM^udDlwXOC1p2r>i9{iN6%DVG^s z2eWf>KcCcBTZq6P}(|4mwTI-UFrO(UT{P>YGS}C2Dr5qh=PQ zzb&}u$a8s+my=N8gkRCww-4?dU=bbj@TjN<0qa z4ut-3=KuKdP?6KqQ~9o%UWL-RZss=@SR2jH9kbFmzp{X_e3&kKssa2pr!lB@x&-zR zfL5sVQ2o-(W~jJZ0NuaYN8hp~_I~X2Ee+O7#Q;z71q=C(JE$RW0&bO*G|E(djN2RN zHTn)*v~INzG`4_Mg+V?1i)YaAL_|c0>1v=4NQ{U$l6w%37MUEDyVKv}+JP}nrA16s zlvw0z4^^&EaMB_4gEP*%Ixi9Z)37_(EH_Mpx)epw}DM2b{G*+yDxCxN*DCsW{&htqkk>@=GU* zkC6ts5yFXEuRR8<`s7KFF;Hf1;j+`Cj3!zoWjs{#5`Q~mtYK*YJPeP{K28@tZxjt9 z1elm+g@AT6Tc8VLB+OV>mHDDw|Ja}@F9_7Mm23N6BJBzDhK@MY&=L}~V#=_unCSpJ zV{9MF$8im?t_HMn-<+R?i4HI0F^~Jl^Rx-z@j3i=3=KYt^=4AxF5y>J@~&7bolPQd${Y;jDVas&g7wo|94#>`>6mmF(IQZV*i#E<4&^wk2K2 zb*D$IU8{q>%y*+*--TucXL?ni+YB;^p3#%#U=dKiV<;L5O3Mvf3#$h%U6+>QdDFOf zIjt3<+2Fst<qUNb;?wHMq*>*fm+&o1;6S0n`ULR=Yw~0O2z4#KALg#jksyNgFZjCjv^-Hx_IL6KF*^6N1?m|)BzEo~sb z*ssFR0!;vDPk7qTCw&|&Vul@1e;czsP|Tv;0Hxt84)Or)%MH@0{30SPK9f(NcOK)Y zr`!1GD2dP%IG?ZcYgenH1zKp_3xHx%4K4%+gTdwtG#b)LK;=AKTp%okHb#S3DY5NQ zhiUn+=vG*U1HuPnr>aW#n~IhlR{gOJ?D1VUMSEkWQ#porPh8fX5j`TsQLXOLeR*R4 z6+-V57v)SCIVzvF%BpIX-Y&i3!{=~>_O^tA>qyONW8m7`iO@}kPC17Hp z;Lsk4k`Z-O$oEbbTjE$@;1=fKoNkpe1?G-;&R|&vs$;tjAMT63^?^Sj8c5-XCV-k+ zs;Wz9j&W##)qv6-90X9ZP|^HZ{&ExG0V;a7W0RN}M2~*JDTzwOv~&o%Bp4xrODGaT zZtLuf>=*~Li&8(y$b3T!5B4|?8__58t_c!SCJ80yPyaa=16E>nt&jl!13dg9)5nwZ z-OKfUMb)F0jDXXd?n-}K*aycoCw@kxlJ^8MNdboh^=Od@c=I%p*hSRMzp$Ao_&L-!K?w!K98+i@6`v^D9P)S!tTcw=`!aHM1NT^3T1~re=}@?=mnR#S zu>0oKtG`;-_sQG+`2792c-j$H<)+RzZO~lkghVscTG=F}70+5wI3LDWi(f5=(VSHe zl+b=7rJE1~2gGnE8uP;bo2&d;yplD{WgHo~33JYN-&dT#W z(Tz_%iGTb@`>k2D4SdYqSWF=>nIDmH!(p6SSK(_ks@O$5G;qj#n0An1wUID@_i5*%6=D;PYJVtXg~ zKkL4Ca_KMTW})GSOtA1890)o8NFrBLO@JQlz;YHX1BVYtPD-@(?l^xvN&H?y7-A#995Ed2a z9>84jMm4LZ=H>Eg@|0;ldYsLXb7h0khH<$bjfRrDYA&wF=IveNn>3KT20X>}%cr5+ z<}z`XhMo&!E}Hd={eRacB#o3Et7Ah)M}R(AdMqV8eOi;k#S)!N6c=>qXK>!E0(S?VI;8NcuUDB(7s#T7{9RvXYV;#+>vGDXdUVfRKiMVu9>EUbcZC z1^_QJ@f@>jkHXWJFI6F<(5nmwfn1BF{)Gjwk$*D-{L3XGB@q^*AMCIzrK5t zsiJMg)8{nRSBlNq+U&*kZ@|BRaR>-_*lOfS^{3q%Caut&L&$L_yPSu(w0Bk6_5@w z5tu?k8*G8S4QSOoCvF{Dc`p?6y!4L+X^kc%@Yu08QDuQDG_@O|4>{{~uVty>qcpd* z^&I0gn^<6gNG9l~MEo;h^}sviz5aG#rpFrtq4DRHb!a%Qg>xJT8HgONuCNqIG1%gi zq@AZi7h!Vj7zj;m5~|>h*Pq!88z(6)cs7d?=az#3e(Zzy(k&Q6pj!371G6@O{J~uGM?e_BaalHloTUVDhqOC-0gPJdY?}z8+c+t4;J74^W4chf&u?02E;84xT>Ww-fE<|WV1hM-rVctv zTtxUQa1FLV)d%PoLIE&zTQK4TITdcLxP6#A>W@R$;7e)8ag067-g%^802-t%Teohe zNDXcqOJSvGy1pnxt8ne{C*T=h=VJ=kOvI7hW?^w3PY`N==$IIp)F=3U1fEP>NFmgX zFPz=OP6_z=+C(Evt2b3XM{7$qN*wrjh&A`;Zp_bA++U$w*c*S@BUpPY1cB`jl1V}b zUw3p&;4b!Q2!`@G$ppQKC>-P+9T82X1n(jc4zMf%n*^b@!u3oL3)3dDv!B6d0gweg z;P0P5HkHihuG8gHWZ}gCiXKJFHo0f?KSD)XvVVz zeG7LP%mfhl0O=cASh#2)G#I7{cv%QDTKc{TofbqP++4w`lxJh_?hfdfkAveUrVM~N z59eqsLhuDF3Jn&931`jBhVXLnbkTUAq5#P<1miQ*LgSDJpg;qDIf4lY47G9(j9y&d zT{8{3KgD5y5EU5-G7#dnDRWo+K)|Vx;G(YuVFT<<^hDT$$Rz>?Mp0L3hz1DrP~E^r zJTT(T+f{U9sY`B(>zO-QXi!*!wsJ0zVnuxdNE1eD&`~@?lZe4gBoXKkSf>JsJv*|0 zUe*+zMY|4AACkWNfpZtBIcb&^B8hVxC_E^6k8tZCGufM9IOJ`Jj>{!2+&Aj66Y|9z zC=oTT_$2@-ZYpHw`4{mcLi)vn4hmn3_SS4;ClUGGYkl?#sQNDvF`m3f;c6g41@+4;2HwCa!5~qP z`|{<>KXuW&cN9ST=j6eE>LP+_tH>}mJa!x>m^I^PFe8ra#|MZ8vLEMHtW)ceL|iiu z5LyqC;JbIn>FMbg@@(QS&ag;xZwehKI_vVg`_IZue69{Y#E)W>ZUHbD&M1oCJrdGD zl*&gyqMzU8*jThFFKo9hZmhS)_4DNEQ$Y~q!CAnTE8iiOGimVW+V51W?kcE00K#K4 zV{;mbC!-Ud^2q&7W&l@(;QKsFt%@QOJW@7#1&v32CVko6tNv2Sma-pe-H(E4{P5u} z(xbk<#GVN#FRLvpKJSm4E}EpJcXK8y`&^Fin|ips$ncJX!t}wCCkHnp#1r)`{=qT8 zPI~_QIm$>)-_M4)s^Gd1vhsE7Ovr{)bRKs*tOIrOjIol^z;wHM6%OGLbwm*F*4Dz? zCll}(4lRfZpx}~`mPRlJ)72|v6~Mm`*Q)`KgLW*oi-Oi-=Kv@#Z){w}3}8-4o zES=e2u^V&#Yb*W;6$Uxbo^+?fDseQtXVU!ln#%@pHyCTcmKEj^xGf_2o6}$KUn3T7 z@s9p`Fb?*38{%rAjlyUVi`;%jWrqP6TX2{*C~8;0wC3_N=ZTDn`Xj`&1Jq|lQzQm> z90BGUE70&3mftvGnCnV?Sbn91{w48x(c!&vS{&~^G@|m@fM`;5i4kv2!8ZrNjv@QgrxR+* z%*=U12ICzfd-jjkpXq?{4Z7()f61HUyPybMM6!!IEf~6RF>`4HjD5T%q^Z00^oF)S zQtV(Mf+L~k_1DsXcKex*IKFaL0u?e32Z5QxQJj{h4c28CmDg@!Hi~u&Vmf~d)Ivy% zP@#|&b_g~f96Le%$+FS{{_(A}mN|dLE9a^5H9*b91Ox3Acvbb9_m<}M-M?P#odg$O zuVB1JfJSFdlq4kQR5D~|BfI>IK`q*Wzc%x^y;-8pKy@S*0*qQ9RYBSw%6jzA<6J2I zPy@b&iu}owY24JtXXz=kqaehvPzWE&$DP3Ln{z~A4~eN>K@`OtD;QR$Po{B+A^;E) zcuaSc`5_@`hD)Ist>P>1W1!06z=H{rzSLeqCFV1L{>lDu8hCzVH;50QBH)p2Ni~>% zi80~sXz#JT@qJ$)?Qm&)KILY0>*&3F9sj)Rff@AK#_sYA8rPbe>!m&0DBdTpUY!L5 zgv9}#App>udz-$o#_oq1N+TEy7-2vUcYg8-_ukLi8YR32k#+`fV@!FHSX(B*!V%{L zodkCJ1`7$E_#>vK@EOG+rx3DAMm<6CN5gv&WTn`%X`cdZ2KK?q;KRY+0m?_*Bf!z{ z5*ed#CtwT1X=fMuVC-!7qZ+0AOUmXL)=EvK%?-9_^@W6t&9!XvFfR{jT7RuaXLJQS z0TVUYTjE@$oBTXah~uvmtsg+ujb1To>iTaXHoIzAPa*#k*>`56DKRmu>%@!RH7q;r z4{Fc{bLpEqgj1}7+%j)w!I$QM%CO$6`;lT1IYz~>M{Q&oalT_TqqAy9-Z#fvZ*m$s z72ZV@M(`%KkWK}y%jTXl3rW9V07HYX$_(V2m<=y^#e5s{)C4P4^Z;D_2{9q>x03rQ zh8K8F5XEDrT@P0ap)KDfPn}ayIs)^apJnrEfNH1w#y^HdrZ!;QKqG=77i9|rYlhX{@$Fvy zF$hWphQ=D>3uAP2!0QWxhp`i|HWD%QTmHmNYkk6{5%tnh=h+=qgycDR3gV;PPXqzo7SHdffubB3`(-xHzy{OnJby zM$w1MDVhj*y}qGg4N|4?YW@7a!*dBGFPgMH3En68Zkb9WH$JZP>)Y(?L+&pN|AGO^ zEB|83FV!?o;d{j5Hb1)is_W#}4y6|u6ZEX1Y6AZrv!eJeIMpY;3U|v?^pg#nK13Rp zwwTxod|Y#b;OCldu?0xiWMw_@al6%O;9qd|0wBg)d5-^KpovkUVeufQwZN4ejc*;5 zb8%FTH7L4$?4Di^ZP@;KOt(=XBw~G*4};;gOT51O;IKBs3U@DRI=C)Vowp6Y_n!AHfhnzfz& zMcaOpe00>~Blk!VRQhO(zJK|0)YQ}w zto>92YyduC;oAc)0P`r-k)WU^xGWil-A+m%U{TD?p|t=Afr$iqGz^Nm)W|o4{RY0ID^JPFm_*vo<)n=}(w}%JCh##{M z8yg!C0+8YkPC1CGr<|QXfB!DX&Q1xC!Q5nXq!wjGK`iie)8#Z8o%ZW;dxW))OA{+B zAHFO)u|HXF?=53}r@O*OijcOEODj$)(J4>;*ui}{?19t13tDqUh_R5hyd$cm^%wI@ z*g$50IFFrz*$u_xow9f`ReFsLtJw1521FO^I3s%}wJ^nit2K~?w-3*PKLG=7KxlY0 zQZh0E5bI%71M@5^bbH3eW1l}$Qfbg8;zoNIP(Fzwfsh9aLPTzq{DBVakmx;7Kd^Fl z?%c$@jXWLwr+UoQtb7=E2_y_qE4>H9uNgcxe7?{UXBb-8eWw+)$HCh>Nip6;5rWs4 z5EmDwQTWW1Z8ai=z*xKQdCvKjG`kd^<*8O}rKpcTCcDOcwjRFu-1*+<{i zZK`=57G<&Vk-fOK!Hm}aND=*wdy6V<$X@bqCmvlX(Kf~y&g{lCkG|uSUg$t!it$F5zl>7yFVBP>$u}E1jj-0 zGq90jIb#g#a}2iy*KzdX;=(o7m!+2Y*y-apncLFu(E}oA1+nHgZfIeD;TFXef7eo0 zDI*wATeT&{EEzB-J|E~(B6=rT1ysT7--8%0F#iS#YDiF)mOWk_F!LPzv?x*}F{dpM z&EcnQN5&lfap4N(+pez|6qao?w*CR~2tn)}Un|3ISr(Sx-&&bAs_sZN*o|5nfjp>+ z_lcW;oQ`4*%sZBzg%#1v4?l064)5&h3RCgLP#YLDT)M$WMRK`!!#f0D8$z3n<%_G- z=)eIO3nM%#6U!b3`U5c)JQ&X+NCNE*phXC1p^}DAJUUU4|I{N-kzoOTRPzeDlqO&( zdq))*qi6)o!QP;-L@!;U+=e(kUgqy(!kE!m%AS61uqJl=xJC}1F8)XxL(28*pJ!%R zR6b{|NymQJ8`nBh0rfr|T}aFMvoGsL5&T_v;ZLXdKzgodr17&9{Q_9ygX{BF)iYa& z`=pz*g^BG4ZC^2E^GXZsw-Bg$TNifei2Kbxx$>a=rr58;7<^x0AW2@s z*;j5RjqvUEac>N>Vd4;gEGHPZLgl#p^CaTmIXHkIZ}^adj=!nT4Z{s=YS70(#daSq zOD!naoS?TuO%3E5I;C%8V|OqCL)Ql4Ie?5*SYmA5%FE3?K7WRVKK%@Gk1-L40vc;y zNLcvCj~~$arUS6|Ru{}OCdix>q9>9Afi{4&X({`>uWt|FZk)*!FIW^#c#CGzXG&Y- z8AnnGVnFd_0OEY|X|7hxF&b?=uXbzT)9UO+SWm@pz#HnoV6ktICZO1Z?%&SWd9ewo zD@bnlH1_r`)ehyik8EvP`t=K$4KThrhdDY%)1We8KRYN2>~OwZS62tBFHX|sU@cM! z06Zu%4jn!$0#xbyAU?+xP?_N)w(#>OE^uIvTHx|nS!Kec={~LL?j;B|W`F)lW$Y?W ztvBD6T6kSxMT9NWfv>KJytT%gHAxxHc%$am*)-P0P`Qx2EQemEq@r z5rL_GVqzZ-aTM7*;AVy!10Mqf>mBpP9eTUWt^cDrDrGRIVIz4nLwumJmm>~TMFiOl zK|&Epe0mcl9>|$Ma0?8I;N|NG+4xqXXPo8t;kwzCO6#NY)&XEa`sCd)mCjKJX*@gH z%)ufPnHl)H_R8Ad^^V19G{ zwvaodzoZ?^t@=1@pv6hoq}NqOB?0r5oURzr~}C125VUX$K|s7Nn*`kA}o4w z6*E{cg=`aQz2UN0rI$cj&vVWN(@#l>f^1>sVi#%PM`5(O@Z*b^y zFi!Ahfq8-o420<=8blN;phRI>o3|8n?--kwh!gPRqIMtaq_h~~M>xM_rB4|H=uqCS zj+yWIKPw}zM)SQV+++7_-`y;vMnP=Y!N$5HKJZ={O+M*_3w110ik zNk}{*OrQQI2jIN;7N)B>=*Pdn!WM`BOu0(u>*(<8o0@M-T$MGCCze!JY?$J~DKFZL zAs{7o1S~_iu)w+(aZ-qxg|LN^HLnK-gpTQ1d~zVVp@+hF0bi)Mfkb0Q9)ePpX&qC@ z9g!4oJ9ZKd6Nw8bVDVT%sfOk$?VmhHp9{f5>tLiDkl+Z+gboH)F=W@sEM3W7X_*GW z=P;(~aDGZ2Zw>3r*;T+Rr*RIs<$5yPws)5q2u<4@$`8v;Bf27g6<%!EBj*;SV>-Z@ zSKzu2gVuwG4uL5FLxk^m__#mN_%U}atPuY_-dt8CZ~okF9C_F?@Bkjf^5Ep)Kuy8O z2GvYBNA~PJEBNCPdLv3pzoIh$JqF}{oq8ng#^H!W22w8c=GE0_Fmq&9N-EY)D0$4- z;31uQsb|8bF|ZmlJ=|sJEb)WSdV5cy6ZZC2$T6xa+MRSCX4Zef^uTqEJ`%c>aPOF0@l&wk_43JLyw zW4C~Kp%7IKcOqxFxM080>%oem=$Iwz!lGwCo3q_$qS?lzaH7xgblgE@)5ekzAK$?S zRdDzc5@P}R&aXRC3}P5ve`)kg*o}Yt#^e67?KN0U~eks7Jwfh znB~Ez1&tcf6cO@%LNo0T)(w$wZB`0HGi>0r+qObVK|kj=@BhTOF{=YUGO@Z!M1~f+ zeVb$SU%8xZ}updF(x$KW0Qx=5G(Q9}*ai;`9lM=}+4_ zq7$;z6~A0umwD8ecquk;sYfJOYkj=wd=mc%F`?Afmzm8q#%pM2?o!+ilWZR*s$XwrZG;as{|&cKTr!zzsaLVb{Ur=X+2%*4VH#WubV z5Zkz~a3Z}0fwl(9HW6FI<>HZ@!0@+vY-855m(^Cr<^$*trB*o;^d?YtfQz)gv4FlA zzM1ox4;X}A?V4juBC^p2yMT_3USrAh+ngP&7%%TH7zm{=c~i)!rc|>HtM96T#BxJJ z0X>_=w$u=6>c0{6iNbq85V^v@JXG*hDNLSaq?f^VFt58zgnZGTgXCVyk^d`>bwdr_H1{)Dh+sdRLSje|{2h6$QHnKW0W?SP<7N~SIrwXozQ6}ZN;GAzlTdpB{)jW zvs58318&UAeSs7vNJE>+DJsvca@mV&BLNTM1Vc4QO(|gmpH zy155r2#i-xr`m6z{T>V#!IIZHh6^yrGv09RF@>rVg4+C8MzeLHm;LKP*FiYO{VDTh z?~evsi&jQ8%f{B$=&3XqG<{$G+4F3wcc_pDngMzc%oUcy6SfQbn=mWu^3$G%Mg8xk zCHQ`T)a|77rn6I5l&Bn6`U|DS(c8zt+|affKSZ0Upzz&p_|4&;a|ngt&k=5N+!t|4 zR#i-ji_ziOo2`5J*Q481<-KGs%jHn(i6?i8C)Xt=>dJ;JF3FKfj;(z@Ov8}(@e*U2 zSM&VRJbS#Z#<6OZfD^x>pGR-QMA)qsB*1kP>3ARcgJ|rT896RSRAC6{1KM=t4AYm-pS$50vUMxQ zXI7)9#pb?(pu|yHQ(vfSY)a}};-}G0JtCfJH5a(zd2kJ$!~|LzGr3&uy>RO}a7OWU zh+R^AfkjeTfW{*yr6s$MgrJ9aymDuqRp}5Yad^*K;XMb&t|JTYmG?&8*QWV?`^K)b zo|tt;YgKl*z~%@j42S{>$CSDIU25O}20K^L3u!UpbC2)T+#P{^cR_`0l#cVZkc`|x z7hn;hkNSsnFjjQ(f#Rc{k0z{-y1swv*={j*o)iG~( literal 0 HcmV?d00001 diff --git a/doxygen/jpip_protocol.png b/doxygen/jpip_protocol.png new file mode 100644 index 0000000000000000000000000000000000000000..bc326d456d6b120e641561faa3ce6e7ec3ae0c6b GIT binary patch literal 6376 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 + + + + + +OpenJPEG: jpipstream_manager.c File Reference + + + + + + + +
+ +
+
jpipstream_manager.c File Reference
+
+
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include "jpipstream_manager.h"
+#include "jp2k_encoder.h"
+#include "jp2k_decoder.h"
+#include "ihdrbox_manager.h"
+#include "j2kheader_manager.h"
+
+ + + + + + + + + +

+Functions

Byte_tupdate_JPIPstream (Byte_t *newstream, OPJ_SIZE_T newstreamlen, Byte_t *cache_stream, OPJ_SIZE_T *streamlen)
 
void save_codestream (Byte_t *codestream, OPJ_SIZE_T streamlen, const char *fmt)
 
Byte_tjpipstream_to_pnm (Byte_t *jpipstream, msgqueue_param_t *msgqueue, Byte8_t csn, int fw, int fh, ihdrbox_param_t **ihdrbox)
 
ihdrbox_param_tget_SIZ_from_jpipstream (Byte_t *jpipstream, msgqueue_param_t *msgqueue, Byte8_t csn)
 
+

Function Documentation

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* jpipstream_to_pnm (Byte_tjpipstream,
msgqueue_param_tmsgqueue,
Byte8_t csn,
int fw,
int fh,
ihdrbox_param_t ** ihdrbox 
)
+
+ +

References j2k_to_pnm(), opj_free, and recons_j2k().

+ +

Referenced by handle_PNMreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void save_codestream (Byte_tcodestream,
OPJ_SIZE_T streamlen,
const char * fmt 
)
+
+ +

Referenced by handle_clientreq(), and handle_JP2saveMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* update_JPIPstream (Byte_tnewstream,
OPJ_SIZE_T newstreamlen,
Byte_tcache_stream,
OPJ_SIZE_Tstreamlen 
)
+
+ +

References opj_free, and opj_malloc.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+
+ + + + diff --git a/doxygen/jpipstream__manager_8h.html b/doxygen/jpipstream__manager_8h.html new file mode 100644 index 00000000..d56c1d79 --- /dev/null +++ b/doxygen/jpipstream__manager_8h.html @@ -0,0 +1,249 @@ + + + + + + +OpenJPEG: jpipstream_manager.h File Reference + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+ +
+
jpipstream_manager.h File Reference
+
+
+
#include "byte_manager.h"
+#include "msgqueue_manager.h"
+#include "ihdrbox_manager.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Functions

Byte_tupdate_JPIPstream (Byte_t *newstream, OPJ_SIZE_T newstreamlen, Byte_t *cache_stream, OPJ_SIZE_T *streamlen)
 
void save_codestream (Byte_t *codestream, OPJ_SIZE_T streamlen, const char *fmt)
 
Byte_tjpipstream_to_pnm (Byte_t *jpipstream, msgqueue_param_t *msgqueue, Byte8_t csn, int fw, int fh, ihdrbox_param_t **ihdrbox)
 
ihdrbox_param_tget_SIZ_from_jpipstream (Byte_t *jpipstream, msgqueue_param_t *msgqueue, Byte8_t csn)
 
+

Function Documentation

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* jpipstream_to_pnm (Byte_tjpipstream,
msgqueue_param_tmsgqueue,
Byte8_t csn,
int fw,
int fh,
ihdrbox_param_t ** ihdrbox 
)
+
+ +

References j2k_to_pnm(), opj_free, and recons_j2k().

+ +

Referenced by handle_PNMreqMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void save_codestream (Byte_tcodestream,
OPJ_SIZE_T streamlen,
const char * fmt 
)
+
+ +

Referenced by handle_clientreq(), and handle_JP2saveMSG().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Byte_t* update_JPIPstream (Byte_tnewstream,
OPJ_SIZE_T newstreamlen,
Byte_tcache_stream,
OPJ_SIZE_Tstreamlen 
)
+
+ +

References opj_free, and opj_malloc.

+ +

Referenced by handle_JPIPstreamMSG().

+ +
+
+
+ + + + diff --git a/doxygen/jpipstream__manager_8h_source.html b/doxygen/jpipstream__manager_8h_source.html new file mode 100644 index 00000000..68891fc9 --- /dev/null +++ b/doxygen/jpipstream__manager_8h_source.html @@ -0,0 +1,116 @@ + + + + + + +OpenJPEG: jpipstream_manager.h Source File + + + + + + +
+
+ + + + + + +
+
OpenJPEG +  2.1.0 +
+
+
+ + + + + +
+
+
+
jpipstream_manager.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * $Id$
+
3  *
+
4  * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+
5  * Copyright (c) 2002-2014, Professor Benoit Macq
+
6  * Copyright (c) 2010-2011, Kaori Hagihara
+
7  * All rights reserved.
+
8  *
+
9  * Redistribution and use in source and binary forms, with or without
+
10  * modification, are permitted provided that the following conditions
+
11  * are met:
+
12  * 1. Redistributions of source code must retain the above copyright
+
13  * notice, this list of conditions and the following disclaimer.
+
14  * 2. Redistributions in binary form must reproduce the above copyright
+
15  * notice, this list of conditions and the following disclaimer in the
+
16  * documentation and/or other materials provided with the distribution.
+
17  *
+
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
28  * POSSIBILITY OF SUCH DAMAGE.
+
29  */
+
30 
+
31 #include "byte_manager.h"
+
32 #include "msgqueue_manager.h"
+
33 #include "ihdrbox_manager.h"
+
34 
+
35 Byte_t * update_JPIPstream( Byte_t *newstream, OPJ_SIZE_T newstreamlen, Byte_t *cache_stream, OPJ_SIZE_T *streamlen);
+
36 
+
37 void save_codestream( Byte_t *codestream, OPJ_SIZE_T streamlen, const char *fmt);
+
38 
+
39 Byte_t * jpipstream_to_pnm( Byte_t *jpipstream, msgqueue_param_t *msgqueue, Byte8_t csn, int fw, int fh, ihdrbox_param_t **ihdrbox);
+
40 
+ +
uint8_t Byte_t
Definition: byte_manager.h:37
+
message queue parameters
Definition: msgqueue_manager.h:62
+ +
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
+ +
Byte_t * update_JPIPstream(Byte_t *newstream, OPJ_SIZE_T newstreamlen, Byte_t *cache_stream, OPJ_SIZE_T *streamlen)
Definition: jpipstream_manager.c:41
+
void save_codestream(Byte_t *codestream, OPJ_SIZE_T streamlen, const char *fmt)
Definition: jpipstream_manager.c:55
+
I.5.3.1 Image Header box.
Definition: ihdrbox_manager.h:39
+ +
ihdrbox_param_t * get_SIZ_from_jpipstream(Byte_t *jpipstream, msgqueue_param_t *msgqueue, Byte8_t csn)
Definition: jpipstream_manager.c:112
+
uint64_t Byte8_t
Definition: byte_manager.h:40
+
Byte_t * jpipstream_to_pnm(Byte_t *jpipstream, msgqueue_param_t *msgqueue, Byte8_t csn, int fw, int fh, ihdrbox_param_t **ihdrbox)
Definition: jpipstream_manager.c:74
+
+ + + + diff --git a/doxygen/jquery.js b/doxygen/jquery.js new file mode 100644 index 00000000..1f4d0b47 --- /dev/null +++ b/doxygen/jquery.js @@ -0,0 +1,68 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('