summaryrefslogtreecommitdiff
path: root/libopenjpeg/openjpeg.c
diff options
context:
space:
mode:
authorMickael Savinaud <savmickael@users.noreply.github.com>2011-11-17 14:21:11 +0000
committerMickael Savinaud <savmickael@users.noreply.github.com>2011-11-17 14:21:11 +0000
commit8026d0b2e75d390ece184893780fff51dafb8937 (patch)
tree30c8933bdb6bf8daa9d1ef41ed8715867c870d43 /libopenjpeg/openjpeg.c
parentb41cad58cb0dcb0daba15e207b6116acb869c46a (diff)
[trunk] WIP: add a set decoded resolution factor function and update j2k_to_image help about decoded region
Diffstat (limited to 'libopenjpeg/openjpeg.c')
-rw-r--r--libopenjpeg/openjpeg.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/libopenjpeg/openjpeg.c b/libopenjpeg/openjpeg.c
index aa77a5e1..73b136d6 100644
--- a/libopenjpeg/openjpeg.c
+++ b/libopenjpeg/openjpeg.c
@@ -85,6 +85,10 @@ typedef struct opj_decompression
opj_image_t *p_image,
struct opj_event_mgr * p_manager,
OPJ_UINT32 tile_index);
+
+ /** Set the decoded resolution factor */
+ opj_bool (*opj_set_decoded_resolution_factor) (void * p_codec, OPJ_UINT32 res_factor, struct opj_event_mgr * p_manager);
+
}opj_decompression_t;
/**
@@ -299,6 +303,10 @@ opj_codec_t* OPJ_CALLCONV opj_create_decompress_v2(OPJ_CODEC_FORMAT p_format)
struct opj_event_mgr * p_manager,
OPJ_UINT32 tile_index)) j2k_get_tile;
+ l_info->m_codec_data.m_decompression.opj_set_decoded_resolution_factor = (opj_bool (*) (void * p_codec,
+ OPJ_UINT32 res_factor,
+ struct opj_event_mgr * p_manager)) j2k_set_decoded_resolution_factor;
+
l_info->m_codec = j2k_create_decompress_v2();
if (! l_info->m_codec) {
@@ -357,6 +365,10 @@ opj_codec_t* OPJ_CALLCONV opj_create_decompress_v2(OPJ_CODEC_FORMAT p_format)
struct opj_event_mgr * p_manager,
OPJ_UINT32 tile_index)) jp2_get_tile;
+ l_info->m_codec_data.m_decompression.opj_set_decoded_resolution_factor = (opj_bool (*) (void * p_codec,
+ OPJ_UINT32 res_factor,
+ opj_event_mgr_t * p_manager)) jp2_set_decoded_resolution_factor;
+
l_info->m_codec = jp2_create(OPJ_TRUE);
if (! l_info->m_codec) {
@@ -1002,3 +1014,22 @@ opj_bool OPJ_CALLCONV opj_get_decoded_tile( opj_codec_t *p_codec,
return OPJ_FALSE;
}
+
+/*
+ *
+ *
+ */
+opj_bool OPJ_CALLCONV opj_set_decoded_resolution_factor(opj_codec_t *p_codec, OPJ_UINT32 res_factor)
+{
+ opj_codec_private_t * l_codec = (opj_codec_private_t *) p_codec;
+
+ if ( !l_codec ){
+ fprintf(stderr, "[ERROR] Input parameters of the setup_decoder function are incorrect.\n");
+ return OPJ_FALSE;
+ }
+
+
+ l_codec->m_codec_data.m_decompression.opj_set_decoded_resolution_factor(l_codec->m_codec, res_factor, l_codec->m_event_mgr);
+
+ return OPJ_TRUE;
+}