diff options
| author | Antonin Descampe <antonin@gmail.com> | 2004-05-07 13:50:47 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2004-05-07 13:50:47 +0000 |
| commit | a4911967eb32c3b9ea5bdcef10205f68e136b123 (patch) | |
| tree | da4417fbd5d8c55f63e87946bc4271f1de063284 /libopenjpeg/j2k.h | |
| parent | 32e7b1529bea8f4464a7f511ac86e7b30b0aa0c5 (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.h | 11 |
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 */ |
