summaryrefslogtreecommitdiff
path: root/src/lib/openjp2/tcd.c
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2016-05-25 16:36:47 +0200
committerEven Rouault <even.rouault@spatialys.com>2016-05-25 21:02:07 +0200
commitd4b7f03cfa4732132767188782683f3d957da912 (patch)
tree47ae5bbd2694e2df24c80d3f4779a25f07345181 /src/lib/openjp2/tcd.c
parent54179fe1d53156c6b440166fe71a10f238a6ea56 (diff)
Add opj_codec_set_threads() in public API and propagate resulting thread pool to tcd level
By default, only the main thread is used. If opj_codec_set_threads() is not used, but the OPJ_NUM_THREADS environment variable is set, its value will be used to initialize the number of threads. The value can be either an integer number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is called, this function will override the behaviour of the environment variable.
Diffstat (limited to 'src/lib/openjp2/tcd.c')
-rw-r--r--src/lib/openjp2/tcd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/openjp2/tcd.c b/src/lib/openjp2/tcd.c
index b8cd3072..d76a3f9d 100644
--- a/src/lib/openjp2/tcd.c
+++ b/src/lib/openjp2/tcd.c
@@ -580,7 +580,8 @@ OPJ_BOOL opj_tcd_rateallocate( opj_tcd_t *tcd,
OPJ_BOOL opj_tcd_init( opj_tcd_t *p_tcd,
opj_image_t * p_image,
- opj_cp_t * p_cp )
+ opj_cp_t * p_cp,
+ opj_thread_pool_t* p_tp )
{
p_tcd->image = p_image;
p_tcd->cp = p_cp;
@@ -597,6 +598,7 @@ OPJ_BOOL opj_tcd_init( opj_tcd_t *p_tcd,
p_tcd->tcd_image->tiles->numcomps = p_image->numcomps;
p_tcd->tp_pos = p_cp->m_specific_param.m_enc.m_tp_pos;
+ p_tcd->thread_pool = p_tp;
return OPJ_TRUE;
}