コード例 #1
0
bool opj_tile_buf_alloc_component_data_encode(opj_tile_buf_component_t* buf)
{
    if (!buf)
        return false;

    if ((buf->data == 00) || ((buf->data_size_needed > buf->data_size) && (buf->owns_data == false))) {
        buf->data = (int32_t *)opj_aligned_malloc(buf->data_size_needed);
        if (!buf->data) {
            return false;
        }
        buf->data_size = buf->data_size_needed;
        buf->owns_data = true;
    } else if (buf->data_size_needed > buf->data_size) {
        /* We don't need to keep old data */
        opj_aligned_free(buf->data);
        buf->data = (int32_t *)opj_aligned_malloc(buf->data_size_needed);
        if (!buf->data) {
            buf->data_size = 0;
            buf->data_size_needed = 0;
            buf->owns_data = false;
            return false;
        }

        buf->data_size = buf->data_size_needed;
        buf->owns_data = true;
    }
    return true;
}
コード例 #2
0
ファイル: openjpeg.cpp プロジェクト: fvpolpeta/grok
void OPJ_CALLCONV opj_image_single_component_data_free(opj_image_comp_t* comp)
{
    if (!comp)
        return;
    if (comp->data) {
        opj_aligned_free(comp->data);
        comp->data = NULL;
    }
}
コード例 #3
0
ファイル: t1_opt.cpp プロジェクト: GrokImageCompression/grok
/**
* Destroys a previously created T1 handle
*
* @param p_t1 Tier 1 handle to destroy
*/
void opj_t1_opt_destroy(opj_t1_opt_t *p_t1)
{
    if (!p_t1) {
        return;
    }

    /* destroy MQC handles */
    opj_mqc_destroy(p_t1->mqc);
    p_t1->mqc = 00;

    /* encoder uses tile buffer, so no need to free */
    if (p_t1->data) {
        opj_aligned_free(p_t1->data);
        p_t1->data = 00;
    }

    if (p_t1->flags) {
        opj_aligned_free(p_t1->flags);
        p_t1->flags = 00;
    }

    opj_free(p_t1);
}
コード例 #4
0
void opj_tile_buf_destroy_component(opj_tile_buf_component_t* comp)
{
    if (!comp)
        return;
    if (comp->data && comp->owns_data)
        opj_aligned_free(comp->data);
    comp->data = NULL;
    comp->data_size = 0;
    comp->data_size_needed = 0;
	for (auto& res : comp->resolutions) {
		opj_free(res);
	}
	comp->resolutions.clear();
    delete comp;
}
コード例 #5
0
ファイル: openjpeg.c プロジェクト: DCPTools/openjpeg2-cdist
void OPJ_CALLCONV opj_image_data_free(void* ptr)
{
    /* printf("opj_image_data_free %p\n", ptr); */
    opj_aligned_free(ptr);
}