summaryrefslogtreecommitdiff
path: root/libopenjpeg/j2k.h
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2004-05-07 13:50:47 +0000
committerAntonin Descampe <antonin@gmail.com>2004-05-07 13:50:47 +0000
commita4911967eb32c3b9ea5bdcef10205f68e136b123 (patch)
treeda4417fbd5d8c55f63e87946bc4271f1de063284 /libopenjpeg/j2k.h
parent32e7b1529bea8f4464a7f511ac86e7b30b0aa0c5 (diff)
* Fixed_quality option added : specifying -q psnr1,psnr2,psnr3,... at the command line when encoding an image generates layers with the corresponding psnr. You have to specify values in the increase order. This option is incompatible with "-r" or "-f" options.
* Old -q option is now available with -f * The INDEX-file structure has been modified and is now like this : ------------------------------ image_width image_height progression order tile_width tile_height nb_tiles_width nb_tiles_height nb_components nb_layers nb_decompositions foreach resolution_level {[precinct_width,precinct_height]} main_header_end codestream_size foreach tile { tileno start_pos end_header end_pos squarred_error_total nb_pixels mean_squarred_error } foreach tile { foreach packet { packetno tileno layerno resno compno precinctno start_pos end_pos SE_reduction } } SE max SE total -----------------------------
Diffstat (limited to 'libopenjpeg/j2k.h')
-rw-r--r--libopenjpeg/j2k.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/libopenjpeg/j2k.h b/libopenjpeg/j2k.h
index dd8176b8..30764bc8 100644
--- a/libopenjpeg/j2k.h
+++ b/libopenjpeg/j2k.h
@@ -124,6 +124,7 @@ typedef struct {
unsigned char *ppt_data; /* packet header store there for futur use in t2_decode_packet */
int ppt; /* If ppt == 1 --> there was a PPT marker for the present tile */
int ppt_store; /* Use in case of multiple marker PPT (number of info already store) */
+ float distoratio[100]; /* add fixed_quality */
j2k_tccp_t *tccps; /* tile-component coding parameters */
} j2k_tcp_t;
@@ -131,6 +132,7 @@ typedef struct {
int image_type; /* 0: PNM, PGM, PPM 1: PGX */
int disto_alloc; /* Allocation by rate/distortion */
int fixed_alloc; /* Allocation by fixed layer */
+ int fixed_quality; /* add fixed_quality */
int reduce_on; /* option reduce is used if reduce = 1 */
int reduce_value; /* if option reduce is used -> original dimension divided by 2^value */
int tx0, ty0; /* XTOsiz, YTOsiz */
@@ -158,8 +160,11 @@ typedef struct {
int start_pos; /* Start position */
int end_header; /* End position of the header */
int end_pos; /* End position */
- int pw, ph; /* number of precinct by tile */
+ int pw[33], ph[33]; /* precinct number for each resolution level */
+ int pdx[33], pdy[33]; /* precinct size (in power of 2), in X and Y for each resolution level */
info_packet *packet; /* information concerning packets inside tile */
+ int nbpix; /* add fixed_quality */
+ double distotile; /* add fixed_quality */
} info_tile; /* index struct */
typedef struct {
@@ -174,8 +179,8 @@ typedef struct {
int Comp; /* Component numbers */
int Layer; /* number of layer */
int Decomposition; /* number of decomposition */
- int pw, ph; /* nombre precinct in X and Y */
- int pdx, pdy; /* size of precinct in X and Y */
+ //int pw, ph; /* nombre precinct in X and Y */
+ //int pdx, pdy; /* size of precinct in X and Y */
int Main_head_end; /* Main header position */
int codestream_size; /* codestream's size */
info_tile *tile; /* information concerning tiles inside image */