diff options
| author | Mickael Savinaud <savmickael@users.noreply.github.com> | 2011-11-17 14:21:11 +0000 |
|---|---|---|
| committer | Mickael Savinaud <savmickael@users.noreply.github.com> | 2011-11-17 14:21:11 +0000 |
| commit | 8026d0b2e75d390ece184893780fff51dafb8937 (patch) | |
| tree | 30c8933bdb6bf8daa9d1ef41ed8715867c870d43 /libopenjpeg/openjpeg.c | |
| parent | b41cad58cb0dcb0daba15e207b6116acb869c46a (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.c | 31 |
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; +} |
