diff --git a/_config.yml b/_config.yml index ddba7674..0fb24e00 100644 --- a/_config.yml +++ b/_config.yml @@ -19,7 +19,7 @@ author : #feedburner : feedname # Version of binary release (update this for each new release!) -binVersion: 2.2.0 +binVersion: 2.3.0 # Remaining URLs gitURL: https://github.com/uclouvain/openjpeg diff --git a/_posts/2017-10-04-OpenJPEG-2.3.0-released.md b/_posts/2017-10-04-OpenJPEG-2.3.0-released.md new file mode 100644 index 00000000..f4f9cad7 --- /dev/null +++ b/_posts/2017-10-04-OpenJPEG-2.3.0-released.md @@ -0,0 +1,38 @@ +--- +layout: post +title: OpenJPEG 2.3.0 released +--- +{% include JB/setup %} + +Good news everyone ! + +[OpenJPEG 2.3.0](https://github.com/uclouvain/openjpeg/releases/tag/v2.3.0) is released today. + +This new release finalizes the work made by Even Rouault and funded by several academic institutions and archival organizations to make OpenJPEG significantly faster and safer. + +In addition to what has been done in v2.2.0 (multithreading at decoding, speed optimizations, memory consumption reduction, etc, see [this post](http://www.openjpeg.org/2017/08/10/OpenJPEG-2.2.0-released) for details), this release adds improvement to sub-tile decoding. Now when you handle a huge single tile image and only wants to decode a small part of it, only the window of interest is actually processed: sounds quite natural but I can ensure it wasn't that easy to implement. This leads to drastic speed and memory improvements as they only depend now on the size of the window and not on the original image size. This release also adds the ability to decode only a subset of components. + +Overall, if we compare performances of OpenJPEG before all Even's optimizations (v2.1.2) and the ones reached by the new v2.3.0 release, we observe a **55-60% speed improvement** on whole image decoding (even more on big images like 10000x10000). Memory consumption is also drastically reduced on mega-image decoding: for example, for a full decoding of a single tile 8000x120000 image, it is reduced from 2 to 1.3 GB RAM. But more importantly, OpenJPEG is now a workable solution for workflows involving partial decoding. + +**Benchmarks are hard to compare as they are many variables that can influence the results: so if you are an OpenJPEG user, please download and try this new release within your workflows ... And share your feedback, that would be highly appreciated.** + +Last but not least, and as indicated above and described in a [previous post](http://www.openjpeg.org/2017/04/27/Faster-OpenJPEG-is-on-track), all this has been made possible thanks to a funding from academic institutions and archival organizations, namely: +- [Wellcome Library](https://wellcomelibrary.org/) +- [Stanford University](https://www.stanford.edu/) +- [Nationale Bibliotheek van Nederland (KBNL)](https://www.kb.nl/en) +- [University of Michigan](https://www.umich.edu/) +- [University of California, Los Angeles (UCLA)](http://www.ucla.edu/) + +... And logistic support from the International Image Interoperability Framework ([IIIF](http://iiif.io/)), the Council on Library and Information Resources ([CLIR](https://www.clir.org/)), [intoPIX](http://www.intopix.com), and of course the Image and Signal Processing Group ([ISPGroup](http://sites.uclouvain.be/ispgroup/index.php/Main/HomePage)) from University of Louvain ([UCL](https://uclouvain.be), Belgium) hosting the OpenJPEG project. Thanks to all of them ! + +Many thanks also to Even Rouault, the developper who actually implemented these improvements, and of course to all contributors having suggested fixes or enhancements. + +Enjoy, + +Antonin + +[News](https://github.com/uclouvain/openjpeg/blob/v2.2.0/NEWS.md) + +[Changelog](https://github.com/uclouvain/openjpeg/blob/v2.2.0/CHANGELOG.md) + +[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.1.2...v2.2.0) diff --git a/doxygen/_doxyfile-html_8dox.html b/doxygen/_doxyfile-html_8dox.html index 391f33ff..302db8e7 100644 --- a/doxygen/_doxyfile-html_8dox.html +++ b/doxygen/_doxyfile-html_8dox.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/annotated.html b/doxygen/annotated.html index 4dfbe078..5b1c592d 100644 --- a/doxygen/annotated.html +++ b/doxygen/annotated.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -127,54 +127,55 @@  Copj_ppx_struct  Copj_procedure_listA list of procedures  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_t1_cblk_decode_processing_job_t - Copj_t2Tier-2 coding - Copj_tccpTile-component coding parameters - Copj_tccp_infoTile-component coding parameters information - Copj_tcdTile coder/decoder - Copj_tcd_bandSub-band structure - Copj_tcd_cblk_decCode-block for decoding - Copj_tcd_cblk_encFIXME DOC - Copj_tcd_imageFIXME DOC - Copj_tcd_layerFIXME DOC - Copj_tcd_passFIXME DOC - Copj_tcd_precinctPrecinct structure - Copj_tcd_resolutionTile-component resolution structure - Copj_tcd_segSegment of a code-block - Copj_tcd_seg_data_chunkChunk of codestream data that is part of a code block - Copj_tcd_tileFIXME DOC - Copj_tcd_tilecompTile-component structure - 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_thread_pool_t - Copj_tile_indexIndex structure about a tile - Copj_tile_infoIndex structure : information regarding tiles - Copj_tile_v2_infoTile coding parameters information - Copj_tls_key_val_t - Copj_tls_t - Copj_tp_indexIndex structure about a tile part - Copj_tp_infoIndex structure : Information concerning tile-parts - Copj_v4_t - Copj_worker_thread_job_t - Copj_worker_thread_list_t - Copj_worker_thread_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 + Copj_sparse_array_int32 + Copj_stepsizeQuantization stepsize + Copj_stream_privateByte input-output stream + Copj_t1Tier-1 coding (coding of code-block coefficients) + Copj_t1_cblk_decode_processing_job_t + Copj_t2Tier-2 coding + Copj_tccpTile-component coding parameters + Copj_tccp_infoTile-component coding parameters information + Copj_tcdTile coder/decoder + Copj_tcd_bandSub-band structure + Copj_tcd_cblk_decCode-block for decoding + Copj_tcd_cblk_encFIXME DOC + Copj_tcd_imageFIXME DOC + Copj_tcd_layerFIXME DOC + Copj_tcd_passFIXME DOC + Copj_tcd_precinctPrecinct structure + Copj_tcd_resolutionTile-component resolution structure + Copj_tcd_segSegment of a code-block + Copj_tcd_seg_data_chunkChunk of codestream data that is part of a code block + Copj_tcd_tileFIXME DOC + Copj_tcd_tilecompTile-component structure + 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_thread_pool_t + Copj_tile_indexIndex structure about a tile + Copj_tile_infoIndex structure : information regarding tiles + Copj_tile_v2_infoTile coding parameters information + Copj_tls_key_val_t + Copj_tls_t + Copj_tp_indexIndex structure about a tile part + Copj_tp_infoIndex structure : Information concerning tile-parts + Copj_v4_t + Copj_worker_thread_job_t + Copj_worker_thread_list_t + Copj_worker_thread_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/auxtrans__manager_8c.html b/doxygen/auxtrans__manager_8c.html index 7dbb194e..4e71e392 100644 --- a/doxygen/auxtrans__manager_8c.html +++ b/doxygen/auxtrans__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/auxtrans__manager_8h.html b/doxygen/auxtrans__manager_8h.html index e127c188..4faa29af 100644 --- a/doxygen/auxtrans__manager_8h.html +++ b/doxygen/auxtrans__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/auxtrans__manager_8h_source.html b/doxygen/auxtrans__manager_8h_source.html index f0f6a4f3..c2290736 100644 --- a/doxygen/auxtrans__manager_8h_source.html +++ b/doxygen/auxtrans__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/bench__dwt_8c.html b/doxygen/bench__dwt_8c.html index 27f0fc02..4d6b512b 100644 --- a/doxygen/bench__dwt_8c.html +++ b/doxygen/bench__dwt_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -192,7 +192,7 @@ Functions
-

References opj_tcd_tilecomp::data, free_tilec(), getValue(), init_tilec(), opj_tcd_tilecomp::numresolutions, opj_clock(), opj_dwt_decode(), opj_dwt_encode(), OPJ_FALSE, opj_thread_pool_create(), opj_thread_pool_destroy(), OPJ_TRUE, usage(), opj_tcd_tilecomp::x0, opj_tcd_tilecomp::x1, opj_tcd_tilecomp::y0, and opj_tcd_tilecomp::y1.

+

References opj_tcd_tile::comps, opj_image::comps, opj_tcd_tilecomp::data, opj_image_comp::dx, opj_image_comp::dy, free_tilec(), getValue(), opj_tcd::image, init_tilec(), opj_tcd_tile::numcomps, opj_image::numcomps, opj_tcd_tilecomp::numresolutions, opj_clock(), opj_dwt_decode(), opj_dwt_encode(), OPJ_FALSE, opj_thread_pool_create(), opj_thread_pool_destroy(), OPJ_TRUE, opj_tcd::tcd_image, opj_tcd::thread_pool, opj_tcd_image::tiles, usage(), opj_tcd::whole_tile_decoding, opj_tcd::win_x0, opj_tcd::win_x1, opj_tcd::win_y0, opj_tcd::win_y1, opj_tcd_tilecomp::x0, opj_tcd_tile::x0, opj_tcd_tilecomp::x1, opj_tcd_tile::x1, opj_tcd_tilecomp::y0, opj_tcd_tile::y0, opj_tcd_tilecomp::y1, and opj_tcd_tile::y1.

diff --git a/doxygen/bio_8c.html b/doxygen/bio_8c.html index 66aac3c3..5d0bee34 100644 --- a/doxygen/bio_8c.html +++ b/doxygen/bio_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/bio_8h.html b/doxygen/bio_8h.html index dfb5d7c7..d3981745 100644 --- a/doxygen/bio_8h.html +++ b/doxygen/bio_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/bio_8h_source.html b/doxygen/bio_8h_source.html index 39c53be0..33b4d1ab 100644 --- a/doxygen/bio_8h_source.html +++ b/doxygen/bio_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/box__manager_8c.html b/doxygen/box__manager_8c.html index f53f89ee..19add042 100644 --- a/doxygen/box__manager_8c.html +++ b/doxygen/box__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/box__manager_8h.html b/doxygen/box__manager_8h.html index c60ee2d0..f3a148d3 100644 --- a/doxygen/box__manager_8h.html +++ b/doxygen/box__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/box__manager_8h_source.html b/doxygen/box__manager_8h_source.html index 849ff163..ac8a1087 100644 --- a/doxygen/box__manager_8h_source.html +++ b/doxygen/box__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/boxheader__manager_8c.html b/doxygen/boxheader__manager_8c.html index eba0368b..60736517 100644 --- a/doxygen/boxheader__manager_8c.html +++ b/doxygen/boxheader__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/boxheader__manager_8h.html b/doxygen/boxheader__manager_8h.html index 0e16c8c4..2649af5c 100644 --- a/doxygen/boxheader__manager_8h.html +++ b/doxygen/boxheader__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/boxheader__manager_8h_source.html b/doxygen/boxheader__manager_8h_source.html index f6b3d17c..5aecf649 100644 --- a/doxygen/boxheader__manager_8h_source.html +++ b/doxygen/boxheader__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/byte__manager_8c.html b/doxygen/byte__manager_8c.html index 2274cec1..5f5fa896 100644 --- a/doxygen/byte__manager_8c.html +++ b/doxygen/byte__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/byte__manager_8h.html b/doxygen/byte__manager_8h.html index e1075a84..341ad5dc 100644 --- a/doxygen/byte__manager_8h.html +++ b/doxygen/byte__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/byte__manager_8h_source.html b/doxygen/byte__manager_8h_source.html index 6f1fa195..ac0cc629 100644 --- a/doxygen/byte__manager_8h_source.html +++ b/doxygen/byte__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cache__manager_8c.html b/doxygen/cache__manager_8c.html index 622c03e4..d67225e7 100644 --- a/doxygen/cache__manager_8c.html +++ b/doxygen/cache__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cache__manager_8h.html b/doxygen/cache__manager_8h.html index fb0ece3f..5fb337e1 100644 --- a/doxygen/cache__manager_8h.html +++ b/doxygen/cache__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cache__manager_8h_source.html b/doxygen/cache__manager_8h_source.html index 2eea18e9..c4507603 100644 --- a/doxygen/cache__manager_8h_source.html +++ b/doxygen/cache__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cachemodel__manager_8c.html b/doxygen/cachemodel__manager_8c.html index c681012f..4917c1e8 100644 --- a/doxygen/cachemodel__manager_8c.html +++ b/doxygen/cachemodel__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cachemodel__manager_8h.html b/doxygen/cachemodel__manager_8h.html index 760c0bc6..4b512891 100644 --- a/doxygen/cachemodel__manager_8h.html +++ b/doxygen/cachemodel__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cachemodel__manager_8h_source.html b/doxygen/cachemodel__manager_8h_source.html index 65be7140..137da991 100644 --- a/doxygen/cachemodel__manager_8h_source.html +++ b/doxygen/cachemodel__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/channel__manager_8c.html b/doxygen/channel__manager_8c.html index 451be5dc..b9943eab 100644 --- a/doxygen/channel__manager_8c.html +++ b/doxygen/channel__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/channel__manager_8h.html b/doxygen/channel__manager_8h.html index a6041511..d5e8f495 100644 --- a/doxygen/channel__manager_8h.html +++ b/doxygen/channel__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/channel__manager_8h_source.html b/doxygen/channel__manager_8h_source.html index 26a6c91d..cc1b8fbd 100644 --- a/doxygen/channel__manager_8h_source.html +++ b/doxygen/channel__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cidx__manager_8c.html b/doxygen/cidx__manager_8c.html index f7d19321..46fdeb34 100644 --- a/doxygen/cidx__manager_8c.html +++ b/doxygen/cidx__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cidx__manager_8h.html b/doxygen/cidx__manager_8h.html index 4c053019..be4d0b2d 100644 --- a/doxygen/cidx__manager_8h.html +++ b/doxygen/cidx__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cidx__manager_8h_source.html b/doxygen/cidx__manager_8h_source.html index 653f5aaa..af0733a2 100644 --- a/doxygen/cidx__manager_8h_source.html +++ b/doxygen/cidx__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -120,10 +120,10 @@
opj_event_mgr
Message handler object used for.
Definition: event.h:50
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:110
opj_stream_private
Byte input-output stream.
Definition: cio.h:81
-
opj_marker_info
Marker structure.
Definition: openjpeg.h:739
+
opj_marker_info
Marker structure.
Definition: openjpeg.h:742
openjpeg.h
opj_check_EPHuse
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:233
-
opj_codestream_info
Index structure of the codestream.
Definition: openjpeg.h:808
+
opj_codestream_info
Index structure of the codestream.
Definition: openjpeg.h:811
opj_write_cidx
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 index 7d4c7e78..1e46b0f8 100644 --- a/doxygen/cio_8c.html +++ b/doxygen/cio_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cio_8h.html b/doxygen/cio_8h.html index 32e19272..b4375998 100644 --- a/doxygen/cio_8h.html +++ b/doxygen/cio_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/cio_8h_source.html b/doxygen/cio_8h_source.html index c841db4e..1b24d3d2 100644 --- a/doxygen/cio_8h_source.html +++ b/doxygen/cio_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -278,13 +278,13 @@
OPJ_FLOAT32
float OPJ_FLOAT32
Definition: openjpeg.h:115
opj_stream_private::m_skip_fn
opj_stream_skip_fn m_skip_fn
Pointer to actual skip function (NULL at the initialization of the cio.
Definition: cio.h:113
opj_write_float_BE
void opj_write_float_BE(OPJ_BYTE *p_buffer, OPJ_FLOAT32 p_value)
Definition: cio.c:127
-
opj_stream_write_fn
OPJ_SIZE_T(* opj_stream_write_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:600
+
opj_stream_write_fn
OPJ_SIZE_T(* opj_stream_write_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:603
opj_stream_private::m_read_fn
opj_stream_read_fn m_read_fn
Pointer to actual read function (NULL at the initialization of the cio.
Definition: cio.h:102
opj_stream_skip
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:593
opj_stream_default_skip
OPJ_OFF_T opj_stream_default_skip(OPJ_OFF_T p_nb_bytes, void *p_user_data)
FIXME DOC.
Definition: cio.c:671
opj_read_double_BE
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:112
opj_write_float_LE
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:133
-
opj_stream_free_user_data_fn
void(* opj_stream_free_user_data_fn)(void *p_user_data)
Definition: openjpeg.h:618
+
opj_stream_free_user_data_fn
void(* opj_stream_free_user_data_fn)(void *p_user_data)
Definition: openjpeg.h:621
opj_stream_private::m_opj_skip
OPJ_OFF_T(* m_opj_skip)(struct opj_stream_private *, OPJ_OFF_T, struct opj_event_mgr *)
FIXME DOC.
Definition: cio.h:134
opj_stream_private::m_bytes_in_buffer
OPJ_SIZE_T m_bytes_in_buffer
number of bytes containing in the buffer.
Definition: cio.h:146
opj_read_bytes_BE
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:71
@@ -297,10 +297,10 @@
opj_write_double_BE
void opj_write_double_BE(OPJ_BYTE *p_buffer, OPJ_FLOAT64 p_value)
Definition: cio.c:96
OPJ_UINT32
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
opj_stream_has_seek
OPJ_BOOL opj_stream_has_seek(const opj_stream_private_t *p_stream)
Tells if the given stream is seekable.
Definition: cio.c:648
-
opj_stream_read_fn
OPJ_SIZE_T(* opj_stream_read_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:594
+
opj_stream_read_fn
OPJ_SIZE_T(* opj_stream_read_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:597
opj_write_bytes_LE
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:58
-
opj_stream_skip_fn
OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:606
-
opj_stream_seek_fn
OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:612
+
opj_stream_skip_fn
OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:609
+
opj_stream_seek_fn
OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:615
opj_read_double_LE
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:118
opj_write_double_LE
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:102
opj_stream_get_number_byte_left
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:584
diff --git a/doxygen/classes.html b/doxygen/classes.html index e6329cf1..85304830 100644 --- a/doxygen/classes.html +++ b/doxygen/classes.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -51,53 +51,54 @@
A | B | C | D | F | I | J | M | O | P | Q | R | S | T | V
- + + + - - + + + + - - + + + + - - - + + + + - - - - - + + + + - - - + + + + - - - + + + - - + + +
  C  
-
faixelem4_param   opj_decoding_param   opj_pi_iterator   opj_tile_info   
faixelem8_param   opj_dparameters   opj_pi_resolution   opj_tile_v2_info   
faixelem4_param   opj_dparameters   opj_poc   opj_tls_key_val_t   
faixelem8_param   opj_dwd_decode_h_job_t   opj_ppx_struct   opj_tls_t   
CODmarker_param   
  i  
-
opj_dwd_decode_h_job_t   opj_poc   opj_tls_key_val_t   
opj_dwd_decode_v_job_t   opj_procedure_list   opj_tp_index   
  S  
-
opj_dwd_decode_v_job_t   opj_ppx_struct   opj_tls_t   
ihdrbox_param   opj_encoding_param   opj_procedure_list   opj_tp_index   
SIZmarker_param   imgreg_param   opj_event_mgr   opj_simple_mcc_decorrelation_data   opj_tp_info   
opj_encoding_param   opj_simple_mcc_decorrelation_data   opj_tp_info   
ihdrbox_param   opj_event_mgr   opj_sparse_array_int32   opj_v4_t   
SIZmarker_param   imgreg_param   opj_image   opj_stepsize   opj_worker_thread_job_t   
  a  
-
index_param   opj_image   opj_stepsize   opj_v4_t   
index_param   opj_image_comp   opj_stream_private   opj_worker_thread_list_t   
  j  
-
opj_image_comp   opj_stream_private   opj_worker_thread_job_t   
aux_response_param   opj_image_comptparm   opj_t1   opj_worker_thread_list_t   
auxtrans_param   j2k_prog_order   opj_j2k   opj_t1_cblk_decode_processing_job_t   opj_worker_thread_t   
opj_image_comptparm   opj_t1   opj_worker_thread_t   
aux_response_param   opj_j2k   opj_t1_cblk_decode_processing_job_t   
  p  
+
auxtrans_param   j2k_prog_order   opj_j2k_dec   opj_t2   
  b  
-
jpip_dec_param   opj_j2k_dec   opj_t2   
  p  
-
jpip_dec_param   opj_j2k_enc   opj_tccp   placeholder_param   
  m  
-
opj_j2k_enc   opj_tccp   
box_param   opj_job_list_t   opj_tccp_info   placeholder_param   
boxcontents_param   manfbox_param   opj_jp2   opj_tcd   placeholderlist_param   
boxheader_param   marker_param   opj_jp2_box   opj_tcd_band   
  q  
+
opj_job_list_t   opj_tccp_info   placeholderlist_param   
box_param   opj_jp2   opj_tcd   
  q  
+
boxcontents_param   manfbox_param   opj_jp2_box   opj_tcd_band   
boxheader_param   marker_param   opj_jp2_cdef   opj_tcd_cblk_dec   query_param   
boxlist_param   markeridx_param   opj_jp2_cdef_info   opj_tcd_cblk_enc   
  r  
boxlist_param   markeridx_param   opj_jp2_cdef   opj_tcd_cblk_dec   
  c  
-
message_param   opj_jp2_cdef_info   opj_tcd_cblk_enc   query_param   
metadata_param   opj_jp2_cmap_comp   opj_tcd_image   
  r  
-
cache_param   metadatalist_param   opj_jp2_color   opj_tcd_layer   
cachelist_param   mhixbox_param   opj_jp2_comps   opj_tcd_pass   range_param   
cachemodel_param   msgqueue_param   opj_jp2_header_handler   opj_tcd_precinct   
  s  
+
message_param   opj_jp2_cmap_comp   opj_tcd_image   
metadata_param   opj_jp2_color   opj_tcd_layer   range_param   
cache_param   metadatalist_param   opj_jp2_comps   opj_tcd_pass   
  s  
cachelist_param   mhixbox_param   opj_jp2_header_handler   opj_tcd_precinct   
cachemodel_param   msgqueue_param   opj_jp2_img_header_writer_handler   opj_tcd_resolution   session_param   
cachemodellist_param   
  o  
-
opj_jp2_img_header_writer_handler   opj_tcd_resolution   
channel_param   opj_jp2_index   opj_tcd_seg   session_param   
channellist_param   opj_bio   opj_jp2_metadata   opj_tcd_seg_data_chunk   sessionlist_param   
codestream_param   opj_codec_private   opj_jp2_pclr   opj_tcd_tile   subfaixbox4_param   
opj_jp2_index   opj_tcd_seg   sessionlist_param   
channel_param   opj_jp2_metadata   opj_tcd_seg_data_chunk   subfaixbox4_param   
channellist_param   opj_bio   opj_jp2_pclr   opj_tcd_tile   subfaixbox8_param   
codestream_param   opj_codec_private   opj_marker_info   opj_tcd_tilecomp   subfaixbox_param   
  d  
-
opj_codestream_index   opj_marker_info   opj_tcd_tilecomp   subfaixbox8_param   
opj_codestream_info   opj_mct_data   opj_tcp   subfaixbox_param   
dec_server_record   opj_codestream_info_v2   opj_mqc   opj_tgt_node   
  t  
+
opj_codestream_index   opj_mct_data   opj_tcp   
  t  
dwt_local   opj_cp   opj_mqc_state   opj_tgt_tree   
opj_codestream_info   opj_mqc   opj_tgt_node   
dec_server_record   opj_codestream_info_v2   opj_mqc_state   opj_tgt_tree   target_param   
dwt_local   opj_cp   opj_packet_info   opj_thread_pool_t   targetlist_param   
  f  
-
opj_cparameters   opj_packet_info   opj_thread_pool_t   target_param   
opj_dec_memory_marker_handler   opj_pi_comp   opj_tile_index   targetlist_param   
faixbox_param   
opj_cparameters   opj_pi_comp   opj_tile_index   
  v  
+
opj_dec_memory_marker_handler   opj_pi_iterator   opj_tile_info   
faixbox_param   opj_decoding_param   opj_pi_resolution   opj_tile_v2_info   v4dwt_local   
A | B | C | D | F | I | J | M | O | P | Q | R | S | T | V
diff --git a/doxygen/codestream__manager_8c.html b/doxygen/codestream__manager_8c.html index dc8dc037..d0048105 100644 --- a/doxygen/codestream__manager_8c.html +++ b/doxygen/codestream__manager_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/codestream__manager_8h.html b/doxygen/codestream__manager_8h.html index ed64ae38..daa9128e 100644 --- a/doxygen/codestream__manager_8h.html +++ b/doxygen/codestream__manager_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/codestream__manager_8h_source.html b/doxygen/codestream__manager_8h_source.html index a5d2cc8d..540268c7 100644 --- a/doxygen/codestream__manager_8h_source.html +++ b/doxygen/codestream__manager_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dec__clientmsg__handler_8c.html b/doxygen/dec__clientmsg__handler_8c.html index 643e8d84..577c1c32 100644 --- a/doxygen/dec__clientmsg__handler_8c.html +++ b/doxygen/dec__clientmsg__handler_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dec__clientmsg__handler_8h.html b/doxygen/dec__clientmsg__handler_8h.html index 5190ac5c..74a0e84b 100644 --- a/doxygen/dec__clientmsg__handler_8h.html +++ b/doxygen/dec__clientmsg__handler_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dec__clientmsg__handler_8h_source.html b/doxygen/dec__clientmsg__handler_8h_source.html index abc1319b..404c886b 100644 --- a/doxygen/dec__clientmsg__handler_8h_source.html +++ b/doxygen/dec__clientmsg__handler_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_0b20524d8f8835ca75acc430451c8412.html b/doxygen/dir_0b20524d8f8835ca75acc430451c8412.html index 0a7d52dc..5d8aa8c5 100644 --- a/doxygen/dir_0b20524d8f8835ca75acc430451c8412.html +++ b/doxygen/dir_0b20524d8f8835ca75acc430451c8412.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_181a881edfcb8646dab693a228fa6bde.html b/doxygen/dir_181a881edfcb8646dab693a228fa6bde.html index 5747c742..3a05be7e 100644 --- a/doxygen/dir_181a881edfcb8646dab693a228fa6bde.html +++ b/doxygen/dir_181a881edfcb8646dab693a228fa6bde.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html b/doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html index 5437023c..b47c5eba 100644 --- a/doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html +++ b/doxygen/dir_3ca1ad36e65e03f9e8d67ddc2553765b.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_5064bb5511811c3176850b7e47443f14.html b/doxygen/dir_5064bb5511811c3176850b7e47443f14.html index aacbf718..bab7646d 100644 --- a/doxygen/dir_5064bb5511811c3176850b7e47443f14.html +++ b/doxygen/dir_5064bb5511811c3176850b7e47443f14.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_68013e83e260d17d49dee5e209315608.html b/doxygen/dir_68013e83e260d17d49dee5e209315608.html index cb6044da..0047d903 100644 --- a/doxygen/dir_68013e83e260d17d49dee5e209315608.html +++ b/doxygen/dir_68013e83e260d17d49dee5e209315608.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -154,6 +154,11 @@ Files file  ppix_manager.c  Modification of jpip.c from 2KAN indexer.
  +file  sparse_array.c +  +file  sparse_array.h [code] + Sparse array management.
+  file  t1.c   file  t1.h [code] @@ -173,6 +178,8 @@ Files file  tcd.h [code]  Implementation of a tile coder/decoder (TCD)
  +file  test_sparse_array.c +  file  tgt.c   file  tgt.h [code] diff --git a/doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html b/doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html index 9eb3d5e0..73c35af8 100644 --- a/doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html +++ b/doxygen/dir_694e20c96f4fc1be4aed4f026eadce94.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html b/doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html index 0a4ff899..baafea19 100644 --- a/doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html +++ b/doxygen/dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_d522931ffa1371640980b621734a4381.html b/doxygen/dir_d522931ffa1371640980b621734a4381.html index 1ea643a4..4d637517 100644 --- a/doxygen/dir_d522931ffa1371640980b621734a4381.html +++ b/doxygen/dir_d522931ffa1371640980b621734a4381.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html b/doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html index 6d678abb..785801c4 100644 --- a/doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html +++ b/doxygen/dir_da83fe5fdfb6c4554d36abffc03790ad.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html b/doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html index eb6d3fbd..fbec062a 100644 --- a/doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html +++ b/doxygen/dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
diff --git a/doxygen/dwt_8c.html b/doxygen/dwt_8c.html index e7e42a42..1384553f 100644 --- a/doxygen/dwt_8c.html +++ b/doxygen/dwt_8c.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -100,6 +100,18 @@ Macros   #define OPJ_DD_(i)   ((i)<0?OPJ_D(0):((i)>=sn?OPJ_D(sn-1):OPJ_D(i)))   +#define OPJ_S_off(i, off)   a[(OPJ_UINT32)(i)*2*4+off] +  +#define OPJ_D_off(i, off)   a[(1+(OPJ_UINT32)(i)*2)*4+off] +  +#define OPJ_S__off(i, off)   ((i)<0?OPJ_S_off(0,off):((i)>=sn?OPJ_S_off(sn-1,off):OPJ_S_off(i,off))) +  +#define OPJ_D__off(i, off)   ((i)<0?OPJ_D_off(0,off):((i)>=dn?OPJ_D_off(dn-1,off):OPJ_D_off(i,off))) +  +#define OPJ_SS__off(i, off)   ((i)<0?OPJ_S_off(0,off):((i)>=dn?OPJ_S_off(dn-1,off):OPJ_S_off(i,off))) +  +#define OPJ_DD__off(i, off)   ((i)<0?OPJ_D_off(0,off):((i)>=sn?OPJ_D_off(sn-1,off):OPJ_D_off(i,off))) +  @@ -115,20 +127,20 @@ Functions - - - - - - - - + + + + + + + + - - - + + + @@ -151,9 +163,31 @@ Functions - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -173,20 +207,22 @@ Functions + + - - - - - - - - + + + + + + + +

Typedefs

 
static void opj_idwt53_h (const opj_dwt_t *dwt, OPJ_INT32 *tiledp)
 
static void opj_idwt3_v_cas0 (OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp_col, const OPJ_INT32 stride)
 Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on even coordinate. More...
 
static void opj_idwt3_v_cas1 (OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp_col, const OPJ_INT32 stride)
 Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on odd coordinate. More...
 
static void opj_idwt53_v (const opj_dwt_t *dwt, OPJ_INT32 *tiledp_col, OPJ_INT32 stride, OPJ_INT32 nb_cols)
 
static void opj_idwt3_v_cas0 (OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp_col, const OPJ_SIZE_T stride)
 Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on even coordinate. More...
 
static void opj_idwt3_v_cas1 (OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp_col, const OPJ_SIZE_T stride)
 Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on odd coordinate. More...
 
static void opj_idwt53_v (const opj_dwt_t *dwt, OPJ_INT32 *tiledp_col, OPJ_SIZE_T stride, OPJ_INT32 nb_cols)
 
OPJ_BOOL opj_dwt_encode (opj_tcd_tilecomp_t *tilec)
 Forward 5-3 wavelet transform in 2-D. More...
 
OPJ_BOOL opj_dwt_decode (opj_thread_pool_t *tp, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
 Inverse 5-3 wavelet transform in 2-D. More...
 
OPJ_BOOL opj_dwt_decode (opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
 Inverse 5-3 wavelet transform 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...
 
 
static void opj_dwt_decode_v_func (void *user_data, opj_tls_t *tls)
 
OPJ_BOOL opj_dwt_decode_real (opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
 Inverse 9-7 wavelet transform in 2-D. More...
 
static void opj_dwt_interleave_partial_h (OPJ_INT32 *dest, OPJ_INT32 cas, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_line, OPJ_UINT32 sn, OPJ_UINT32 win_l_x0, OPJ_UINT32 win_l_x1, OPJ_UINT32 win_h_x0, OPJ_UINT32 win_h_x1)
 
static void opj_dwt_interleave_partial_v (OPJ_INT32 *dest, OPJ_INT32 cas, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_col, OPJ_UINT32 nb_cols, OPJ_UINT32 sn, OPJ_UINT32 win_l_y0, OPJ_UINT32 win_l_y1, OPJ_UINT32 win_h_y0, OPJ_UINT32 win_h_y1)
 
static void opj_dwt_decode_partial_1 (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas, OPJ_INT32 win_l_x0, OPJ_INT32 win_l_x1, OPJ_INT32 win_h_x0, OPJ_INT32 win_h_x1)
 
static void opj_dwt_decode_partial_1_parallel (OPJ_INT32 *a, OPJ_UINT32 nb_cols, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas, OPJ_INT32 win_l_x0, OPJ_INT32 win_l_x1, OPJ_INT32 win_h_x0, OPJ_INT32 win_h_x1)
 
static void opj_dwt_get_band_coordinates (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 resno, OPJ_UINT32 bandno, OPJ_UINT32 tcx0, OPJ_UINT32 tcy0, OPJ_UINT32 tcx1, OPJ_UINT32 tcy1, OPJ_UINT32 *tbx0, OPJ_UINT32 *tby0, OPJ_UINT32 *tbx1, OPJ_UINT32 *tby1)
 
static void opj_dwt_segment_grow (OPJ_UINT32 filter_width, OPJ_UINT32 max_size, OPJ_UINT32 *start, OPJ_UINT32 *end)
 
static opj_sparse_array_int32_topj_dwt_init_sparse_array (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
 
static void opj_v4dwt_interleave_partial_h (opj_v4dwt_t *dwt, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_line, OPJ_UINT32 remaining_height)
 
static void opj_v4dwt_interleave_partial_v (opj_v4dwt_t *OPJ_RESTRICT dwt, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_col, OPJ_UINT32 nb_elts_read)
 
static OPJ_BOOL opj_dwt_decode_tile_97 (opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
 
static OPJ_BOOL opj_dwt_decode_partial_97 (opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
 
OPJ_BOOL opj_dwt_decode_real (opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *OPJ_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 OPJ_BOOL opj_dwt_decode_tile (opj_thread_pool_t *tp, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 i)
 Inverse wavelet transform in 2-D. More...
 
static OPJ_BOOL opj_dwt_decode_partial_tile (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
 
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 *OPJ_RESTRICT r, OPJ_UINT32 i)
 
static void opj_v4dwt_decode (opj_v4dwt_t *OPJ_RESTRICT dwt)
 
static void opj_v4dwt_interleave_h (opj_v4dwt_t *OPJ_RESTRICT w, OPJ_FLOAT32 *OPJ_RESTRICT a, OPJ_INT32 x, OPJ_INT32 size)
 
static void opj_v4dwt_interleave_v (opj_v4dwt_t *OPJ_RESTRICT v, OPJ_FLOAT32 *OPJ_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)
 
static void opj_v4dwt_interleave_h (opj_v4dwt_t *OPJ_RESTRICT dwt, OPJ_FLOAT32 *OPJ_RESTRICT a, OPJ_UINT32 width, OPJ_UINT32 remaining_height)
 
static void opj_v4dwt_interleave_v (opj_v4dwt_t *OPJ_RESTRICT dwt, OPJ_FLOAT32 *OPJ_RESTRICT a, OPJ_UINT32 width, OPJ_UINT32 nb_elts_read)
 
static void opj_v4dwt_decode_step1 (opj_v4_t *w, OPJ_UINT32 start, OPJ_UINT32 end, const OPJ_FLOAT32 c)
 
static void opj_v4dwt_decode_step2 (opj_v4_t *l, opj_v4_t *w, OPJ_UINT32 start, OPJ_UINT32 end, OPJ_UINT32 m, OPJ_FLOAT32 c)
 
@@ -229,7 +265,7 @@ Local data structures

Variables

-

Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+

Referenced by opj_dwt_decode_partial_1(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().

@@ -247,7 +283,63 @@ Local data structures
-

Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+

Referenced by opj_dwt_decode_partial_1(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + +
#define OPJ_D__off( i,
 off 
)   ((i)<0?OPJ_D_off(0,off):((i)>=dn?OPJ_D_off(dn-1,off):OPJ_D_off(i,off)))
+
+ +

Referenced by opj_dwt_decode_partial_1_parallel().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define OPJ_D_off( i,
 off 
)   a[(1+(OPJ_UINT32)(i)*2)*4+off]
+
+ +

Referenced by opj_dwt_decode_partial_1_parallel().

@@ -265,7 +357,35 @@ Local data structures
-

Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+

Referenced by opj_dwt_decode_partial_1(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + +
#define OPJ_DD__off( i,
 off 
)   ((i)<0?OPJ_D_off(0,off):((i)>=sn?OPJ_D_off(sn-1,off):OPJ_D_off(i,off)))
+
+ +

Referenced by opj_dwt_decode_partial_1_parallel().

@@ -283,7 +403,7 @@ Local data structures
-

Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+

Referenced by opj_dwt_decode_partial_1(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().

@@ -301,7 +421,63 @@ Local data structures
-

Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+

Referenced by opj_dwt_decode_partial_1(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + +
#define OPJ_S__off( i,
 off 
)   ((i)<0?OPJ_S_off(0,off):((i)>=sn?OPJ_S_off(sn-1,off):OPJ_S_off(i,off)))
+
+ +

Referenced by opj_dwt_decode_partial_1_parallel().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define OPJ_S_off( i,
 off 
)   a[(OPJ_UINT32)(i)*2*4+off]
+
+ +

Referenced by opj_dwt_decode_partial_1_parallel().

@@ -331,7 +507,35 @@ Local data structures
-

Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+

Referenced by opj_dwt_decode_partial_1(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().

+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + +
#define OPJ_SS__off( i,
 off 
)   ((i)<0?OPJ_S_off(0,off):((i)>=dn?OPJ_S_off(dn-1,off):OPJ_S_off(i,off)))
+
+ +

Referenced by opj_dwt_decode_partial_1_parallel().

@@ -372,6 +576,236 @@ Local data structures

Referenced by opj_dwt_decode_tile().

+ + + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_dwt_decode_partial_1 (OPJ_INT32a,
OPJ_INT32 dn,
OPJ_INT32 sn,
OPJ_INT32 cas,
OPJ_INT32 win_l_x0,
OPJ_INT32 win_l_x1,
OPJ_INT32 win_h_x0,
OPJ_INT32 win_h_x1 
)
+
+static
+
+ +

References OPJ_D, OPJ_D_, OPJ_DD_, OPJ_S, OPJ_S_, and OPJ_SS_.

+ +

Referenced by opj_dwt_decode_partial_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_dwt_decode_partial_1_parallel (OPJ_INT32a,
OPJ_UINT32 nb_cols,
OPJ_INT32 dn,
OPJ_INT32 sn,
OPJ_INT32 cas,
OPJ_INT32 win_l_x0,
OPJ_INT32 win_l_x1,
OPJ_INT32 win_h_x0,
OPJ_INT32 win_h_x1 
)
+
+static
+
+ +

References OPJ_D__off, OPJ_D_off, OPJ_DD__off, OPJ_S__off, OPJ_S_off, and OPJ_SS__off.

+ +

Referenced by opj_dwt_decode_partial_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_dwt_decode_partial_97 (opj_tcd_tilecomp_t *OPJ_RESTRICT tilec,
OPJ_UINT32 numres 
)
+
+static
+
+ +

References opj_tcd_resolution::bands, v4dwt_local::cas, v4dwt_local::dn, opj_v4_t::f, opj_aligned_free(), opj_aligned_malloc(), opj_dwt_get_band_coordinates(), opj_dwt_init_sparse_array(), opj_dwt_max_resolution(), opj_dwt_segment_grow(), OPJ_FALSE, opj_sparse_array_int32_free(), opj_sparse_array_int32_read(), opj_sparse_array_int32_write(), OPJ_TRUE, opj_uint_max(), opj_uint_min(), opj_uint_subs(), OPJ_UNUSED, opj_v4dwt_decode(), opj_v4dwt_interleave_partial_h(), opj_v4dwt_interleave_partial_v(), SIZE_MAX, v4dwt_local::sn, v4dwt_local::wavelet, v4dwt_local::win_h_x0, v4dwt_local::win_h_x1, v4dwt_local::win_l_x0, v4dwt_local::win_l_x1, opj_tcd_resolution::win_x0, opj_tcd_resolution::win_x1, opj_tcd_resolution::win_y0, opj_tcd_resolution::win_y1, opj_tcd_band::x0, opj_tcd_resolution::x0, opj_tcd_resolution::x1, opj_tcd_band::y0, opj_tcd_resolution::y0, and opj_tcd_resolution::y1.

+ +

Referenced by opj_dwt_decode_real().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static OPJ_BOOL opj_dwt_decode_tile_97 (opj_tcd_tilecomp_t *OPJ_RESTRICT tilec,
OPJ_UINT32 numres 
)
+
+static
+
+ +

References v4dwt_local::cas, v4dwt_local::dn, opj_v4_t::f, opj_aligned_free(), opj_aligned_malloc(), opj_dwt_max_resolution(), OPJ_FALSE, OPJ_RESTRICT, OPJ_TRUE, opj_v4dwt_decode(), opj_v4dwt_interleave_h(), opj_v4dwt_interleave_v(), SIZE_MAX, v4dwt_local::sn, v4dwt_local::wavelet, v4dwt_local::win_h_x0, v4dwt_local::win_h_x1, v4dwt_local::win_l_x0, v4dwt_local::win_l_x1, opj_tcd_resolution::x0, opj_tcd_resolution::x1, opj_tcd_resolution::y0, and opj_tcd_resolution::y1.

+ +

Referenced by opj_dwt_decode_real().

+
@@ -406,13 +840,359 @@ Local data structures
-

References opj_dwd_decode_v_job_t::max_j, dwt_local::mem, opj_dwd_decode_v_job_t::min_j, opj_aligned_free(), opj_free(), opj_idwt53_v(), PARALLEL_COLS_53, opj_dwd_decode_v_job_t::tiledp, opj_dwd_decode_v_job_t::v, and opj_dwd_decode_v_job_t::w.

+

References opj_dwd_decode_v_job_t::max_j, dwt_local::mem, opj_dwd_decode_v_job_t::min_j, opj_aligned_free(), opj_free(), opj_idwt53_v(), PARALLEL_COLS_53, opj_dwd_decode_v_job_t::tiledp, opj_dwd_decode_v_job_t::v, and opj_dwd_decode_v_job_t::w.

Referenced by opj_dwt_decode_tile().

- + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_dwt_get_band_coordinates (opj_tcd_tilecomp_ttilec,
OPJ_UINT32 resno,
OPJ_UINT32 bandno,
OPJ_UINT32 tcx0,
OPJ_UINT32 tcy0,
OPJ_UINT32 tcx1,
OPJ_UINT32 tcy1,
OPJ_UINT32tbx0,
OPJ_UINT32tby0,
OPJ_UINT32tbx1,
OPJ_UINT32tby1 
)
+
+static
+
+ +

References opj_tcd_tilecomp::numresolutions, and opj_uint_ceildivpow2().

+ +

Referenced by opj_dwt_decode_partial_97(), and opj_dwt_decode_partial_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static opj_sparse_array_int32_t* opj_dwt_init_sparse_array (opj_tcd_tilecomp_ttilec,
OPJ_UINT32 numres 
)
+
+static
+
+ +

References opj_tcd_band::bandno, opj_tcd_resolution::bands, opj_tcd_precinct::cblks, opj_tcd_precinct::ch, opj_tcd_precinct::cw, opj_tcd_precinct::dec, opj_tcd_cblk_dec::decoded_data, opj_tcd_resolution::numbands, opj_sparse_array_int32_create(), opj_sparse_array_int32_free(), opj_sparse_array_int32_write(), OPJ_TRUE, opj_uint_min(), opj_tcd_resolution::ph, opj_tcd_band::precincts, opj_tcd_resolution::pw, opj_tcd_tilecomp::resolutions, opj_tcd_cblk_dec::x0, opj_tcd_band::x0, opj_tcd_resolution::x0, opj_tcd_cblk_dec::x1, opj_tcd_resolution::x1, opj_tcd_cblk_dec::y0, opj_tcd_band::y0, opj_tcd_resolution::y0, opj_tcd_cblk_dec::y1, and opj_tcd_resolution::y1.

+ +

Referenced by opj_dwt_decode_partial_97(), and opj_dwt_decode_partial_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_dwt_interleave_partial_h (OPJ_INT32dest,
OPJ_INT32 cas,
opj_sparse_array_int32_tsa,
OPJ_UINT32 sa_line,
OPJ_UINT32 sn,
OPJ_UINT32 win_l_x0,
OPJ_UINT32 win_l_x1,
OPJ_UINT32 win_h_x0,
OPJ_UINT32 win_h_x1 
)
+
+static
+
+ +

References opj_sparse_array_int32_read(), OPJ_TRUE, and OPJ_UNUSED.

+ +

Referenced by opj_dwt_decode_partial_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_dwt_interleave_partial_v (OPJ_INT32dest,
OPJ_INT32 cas,
opj_sparse_array_int32_tsa,
OPJ_UINT32 sa_col,
OPJ_UINT32 nb_cols,
OPJ_UINT32 sn,
OPJ_UINT32 win_l_y0,
OPJ_UINT32 win_l_y1,
OPJ_UINT32 win_h_y0,
OPJ_UINT32 win_h_y1 
)
+
+static
+
+ +

References opj_sparse_array_int32_read(), OPJ_TRUE, and OPJ_UNUSED.

+ +

Referenced by opj_dwt_decode_partial_tile().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_dwt_segment_grow (OPJ_UINT32 filter_width,
OPJ_UINT32 max_size,
OPJ_UINT32start,
OPJ_UINT32end 
)
+
+static
+
+ +

References opj_uint_adds(), opj_uint_min(), and opj_uint_subs().

+ +

Referenced by opj_dwt_decode_partial_97(), and opj_dwt_decode_partial_tile().

+ +
+
+
@@ -446,7 +1226,7 @@ Local data structures - + @@ -464,11 +1244,11 @@ Local data structures

Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on even coordinate.

-

Referenced by opj_idwt53_v().

+

Referenced by opj_idwt53_v().

- +
const OPJ_INT32 const OPJ_SIZE_T  stride 
@@ -502,7 +1282,7 @@ Local data structures - + @@ -520,7 +1300,7 @@ Local data structures

Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on odd coordinate.

-

Referenced by opj_idwt53_v().

+

Referenced by opj_idwt53_v().

@@ -658,7 +1438,7 @@ Local data structures - +
const OPJ_INT32 const OPJ_SIZE_T  stride 
@@ -680,7 +1460,7 @@ Local data structures - + @@ -702,10 +1482,110 @@ Local data structures
OPJ_INT32 OPJ_SIZE_T  stride,
-

References dwt_local::cas, dwt_local::dn, dwt_local::mem, opj_idwt3_v_cas0(), opj_idwt3_v_cas1(), PARALLEL_COLS_53, and dwt_local::sn.

+

References dwt_local::cas, dwt_local::dn, dwt_local::mem, opj_idwt3_v_cas0(), opj_idwt3_v_cas1(), PARALLEL_COLS_53, and dwt_local::sn.

Referenced by opj_dwt_decode_tile(), and opj_dwt_decode_v_func().

+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_v4dwt_interleave_partial_h (opj_v4dwt_tdwt,
opj_sparse_array_int32_tsa,
OPJ_UINT32 sa_line,
OPJ_UINT32 remaining_height 
)
+
+static
+
+ +

References v4dwt_local::cas, opj_sparse_array_int32_read(), OPJ_TRUE, OPJ_UNUSED, v4dwt_local::sn, v4dwt_local::wavelet, v4dwt_local::win_h_x0, v4dwt_local::win_h_x1, v4dwt_local::win_l_x0, and v4dwt_local::win_l_x1.

+ +

Referenced by opj_dwt_decode_partial_97().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void opj_v4dwt_interleave_partial_v (opj_v4dwt_t *OPJ_RESTRICT dwt,
opj_sparse_array_int32_tsa,
OPJ_UINT32 sa_col,
OPJ_UINT32 nb_elts_read 
)
+
+static
+
+ +

References opj_sparse_array_int32_read(), OPJ_TRUE, and OPJ_UNUSED.

+ +

Referenced by opj_dwt_decode_partial_97().

+

Variable Documentation

diff --git a/doxygen/dwt_8h.html b/doxygen/dwt_8h.html index fe654bc7..51b7d1cf 100644 --- a/doxygen/dwt_8h.html +++ b/doxygen/dwt_8h.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -64,9 +64,9 @@ Functions OPJ_BOOL opj_dwt_encode (opj_tcd_tilecomp_t *tilec)  Forward 5-3 wavelet transform in 2-D. More...
  -OPJ_BOOL opj_dwt_decode (opj_thread_pool_t *tp, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres) - Inverse 5-3 wavelet transform in 2-D. More...
-  +OPJ_BOOL opj_dwt_decode (opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres) + Inverse 5-3 wavelet transform 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...
  @@ -76,9 +76,9 @@ Functions 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 *OPJ_RESTRICT tilec, OPJ_UINT32 numres) - Inverse 9-7 wavelet transform in 2-D. More...
-  +OPJ_BOOL opj_dwt_decode_real (opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *OPJ_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...
  diff --git a/doxygen/dwt_8h_source.html b/doxygen/dwt_8h_source.html index 49ff6a4d..3c8e75a1 100644 --- a/doxygen/dwt_8h_source.html +++ b/doxygen/dwt_8h_source.html @@ -18,7 +18,7 @@
OpenJPEG -  2.2.0 +  2.3.0
@@ -97,37 +97,39 @@
55 /* ----------------------------------------------------------------------- */
61 OPJ_BOOL opj_dwt_encode(opj_tcd_tilecomp_t * tilec);
62 
-
70 OPJ_BOOL opj_dwt_decode(opj_thread_pool_t* tp, opj_tcd_tilecomp_t* tilec,
-
71  OPJ_UINT32 numres);
-
72 
-
78 OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient) ;
-
85 OPJ_FLOAT64 opj_dwt_getnorm(OPJ_UINT32 level, OPJ_UINT32 orient);
-
91 OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t * tilec);
-
98 OPJ_BOOL opj_dwt_decode_real(opj_tcd_tilecomp_t* OPJ_RESTRICT tilec,
-
99  OPJ_UINT32 numres);
-
100 
-
106 OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient);
-
113 OPJ_FLOAT64 opj_dwt_getnorm_real(OPJ_UINT32 level, OPJ_UINT32 orient);
-
119 void opj_dwt_calc_explicit_stepsizes(opj_tccp_t * tccp, OPJ_UINT32 prec);
-
120 /* ----------------------------------------------------------------------- */
-
124 
-
125 #endif /* OPJ_DWT_H */
-
opj_dwt_encode
OPJ_BOOL opj_dwt_encode(opj_tcd_tilecomp_t *tilec)
Forward 5-3 wavelet transform in 2-D.
Definition: dwt.c:1171
+
70 OPJ_BOOL opj_dwt_decode(opj_tcd_t *p_tcd,
+
71  opj_tcd_tilecomp_t* tilec,
+
72  OPJ_UINT32 numres);
+
73 
+
79 OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient) ;
+
86 OPJ_FLOAT64 opj_dwt_getnorm(OPJ_UINT32 level, OPJ_UINT32 orient);
+
92 OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t * tilec);
+
100 OPJ_BOOL opj_dwt_decode_real(opj_tcd_t *p_tcd,
+
101  opj_tcd_tilecomp_t* OPJ_RESTRICT tilec,
+
102  OPJ_UINT32 numres);
+
103 
+
109 OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient);
+
116 OPJ_FLOAT64 opj_dwt_getnorm_real(OPJ_UINT32 level, OPJ_UINT32 orient);
+
122 void opj_dwt_calc_explicit_stepsizes(opj_tccp_t * tccp, OPJ_UINT32 prec);
+
123 /* ----------------------------------------------------------------------- */
+
127 
+
128 #endif /* OPJ_DWT_H */
+
opj_dwt_encode
OPJ_BOOL opj_dwt_encode(opj_tcd_tilecomp_t *tilec)
Forward 5-3 wavelet transform in 2-D.
Definition: dwt.c:1198
OPJ_FLOAT64
double OPJ_FLOAT64
Definition: openjpeg.h:116
-
opj_dwt_getgain
OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient)
Get the gain of a subband for the reversible 5-3 DWT.
Definition: dwt.c:1189
+
opj_dwt_getgain
OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient)
Get the gain of a subband for the reversible 5-3 DWT.
Definition: dwt.c:1220
+
opj_tcd
Tile coder/decoder.
Definition: tcd.h:251
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:110
-
opj_tccp
Tile-component coding parameters.
Definition: j2k.h:173
-
opj_dwt_decode_real
OPJ_BOOL opj_dwt_decode_real(opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
Inverse 9-7 wavelet transform in 2-D.
Definition: dwt.c:1735
-
opj_dwt_encode_real
OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t *tilec)
Forward 9-7 wavelet transform in 2-D.
Definition: dwt.c:1211
-
opj_dwt_decode
OPJ_BOOL opj_dwt_decode(opj_thread_pool_t *tp, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
Inverse 5-3 wavelet transform in 2-D.
Definition: dwt.c:1179
-
opj_dwt_getgain_real
OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient)
Get the gain of a subband for the irreversible 9-7 DWT.
Definition: dwt.c:1219
-
opj_dwt_getnorm
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:1203
+
opj_tccp
Tile-component coding parameters.
Definition: j2k.h:175
+
opj_dwt_encode_real
OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t *tilec)
Forward 9-7 wavelet transform in 2-D.
Definition: dwt.c:1250
+
opj_dwt_getgain_real
OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient)
Get the gain of a subband for the irreversible 9-7 DWT.
Definition: dwt.c:1258
+
opj_dwt_getnorm
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:1234
OPJ_RESTRICT
#define OPJ_RESTRICT
Definition: opj_includes.h:121
-
opj_dwt_getnorm_real
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:1228
-
opj_thread_pool_t
Definition: thread.c:600
-
opj_dwt_calc_explicit_stepsizes
void opj_dwt_calc_explicit_stepsizes(opj_tccp_t *tccp, OPJ_UINT32 prec)
Explicit calculation of the Quantization Stepsizes.
Definition: dwt.c:1233
+
opj_dwt_getnorm_real
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:1267
+
opj_dwt_calc_explicit_stepsizes
void opj_dwt_calc_explicit_stepsizes(opj_tccp_t *tccp, OPJ_UINT32 prec)
Explicit calculation of the Quantization Stepsizes.
Definition: dwt.c:1280
OPJ_UINT32
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
-
opj_tcd_tilecomp
Tile-component structure.
Definition: tcd.h:180
+
opj_tcd_tilecomp
Tile-component structure.
Definition: tcd.h:189
+
opj_dwt_decode
OPJ_BOOL opj_dwt_decode(opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
Inverse 5-3 wavelet transform in 2-D.
Definition: dwt.c:1206
+
opj_dwt_decode_real
OPJ_BOOL opj_dwt_decode_real(opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
Inverse 9-7 wavelet transform in 2-D.
Definition: dwt.c:2880