X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libopenjpeg%2Fmct.h;h=68107136848d2653b9c63b5b180e403d17172a66;hb=8363a6ab1e031bb4b2e40a92e56efd40fdab1aa1;hp=906d0db89e4568cafd1a48dade0805ca923e7305;hpb=95bc884365deb41c357583874c23d82eac7cad2d;p=openjpeg.git diff --git a/libopenjpeg/mct.h b/libopenjpeg/mct.h index 906d0db8..68107136 100644 --- a/libopenjpeg/mct.h +++ b/libopenjpeg/mct.h @@ -1,9 +1,10 @@ /* + * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2007, Professor Benoit Macq * Copyright (c) 2001-2003, David Janssens * Copyright (c) 2002-2003, Yannick Verschueren - * Copyright (c) 2003-2005, Francois Devaux and Antonin Descampe - * Copyright (c) 2005, Hervé Drolon, FreeImage Team - * Copyright (c) 2002-2005, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium + * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe + * Copyright (c) 2005, Herve Drolon, FreeImage Team * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -82,13 +83,43 @@ Apply an irreversible multi-component inverse transform to an image @param c2 Samples for blue chrominance component @param n Number of samples for each component */ -void mct_decode_real(int *c0, int *c1, int *c2, int n); +void mct_decode_real(float* c0, float* c1, float* c2, int n); /** Get norm of the basis function used for the irreversible multi-component transform @param compno Number of the component (0->Y, 1->U, 2->V) @return */ double mct_getnorm_real(int compno); + + +opj_bool mct_encode_custom( + /* MCT data */ + OPJ_BYTE * p_coding_data, + /* size of components */ + OPJ_UINT32 n, + /* components */ + OPJ_BYTE ** p_data, + /* nb of components (i.e. size of p_data) */ + OPJ_UINT32 p_nb_comp, + /* tells if the data is signed */ + OPJ_UINT32 is_signed); + +opj_bool mct_decode_custom( + /* MCT data */ + OPJ_BYTE * pDecodingData, + /* size of components */ + OPJ_UINT32 n, + /* components */ + OPJ_BYTE ** pData, + /* nb of components (i.e. size of pData) */ + OPJ_UINT32 pNbComp, + /* tells if the data is signed */ + OPJ_UINT32 isSigned); + +void opj_calculate_norms(OPJ_FLOAT64 * pNorms,OPJ_UINT32 p_nb_comps,OPJ_FLOAT32 * pMatrix); + +const OPJ_FLOAT64 * get_mct_norms (); +const OPJ_FLOAT64 * get_mct_norms_real (); /* ----------------------------------------------------------------------- */ /*@}*/