update j2k_lib with new opj type
[openjpeg.git] / libopenjpeg / mct.h
index 906d0db89e4568cafd1a48dade0805ca923e7305..68107136848d2653b9c63b5b180e403d17172a66 100644 (file)
@@ -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 ();
 /* ----------------------------------------------------------------------- */
 /*@}*/