diff --git a/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump b/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump
index 6fb32aef..9fcd50b4 100644
--- a/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump
+++ b/abi-check/abi_dump/openjpeg/current/ef225/ABI.dump
@@ -207,7 +207,7 @@ $VAR1 = {
'Source' => 'cio.c',
'SourceLine' => '271'
},
- '174021' => {
+ '183223' => {
'Header' => 'openjpeg.h',
'Line' => '1096',
'Return' => '156',
@@ -215,13 +215,13 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '160'
},
- '174341' => {
+ '183543' => {
'Header' => 'openjpeg.h',
- 'Line' => '1648',
+ 'Line' => '1647',
'Param' => {
'0' => {
'name' => 'cstr_info',
- 'type' => '174359'
+ 'type' => '183561'
}
},
'Reg' => {
@@ -230,14 +230,14 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_destroy_cstr_info',
'Source' => 'openjpeg.c',
- 'SourceLine' => '997'
+ 'SourceLine' => '1003'
},
- '236939' => {
+ '247125' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_callback',
@@ -258,12 +258,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '44'
},
- '237037' => {
+ '247223' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_callback',
@@ -284,12 +284,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '59'
},
- '237123' => {
+ '247309' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_callback',
@@ -310,28 +310,28 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '74'
},
- '237238' => {
+ '247424' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_format',
- 'type' => '225945'
+ 'type' => '236131'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '237025',
+ 'Return' => '247211',
'ShortName' => 'opj_create_decompress',
'Source' => 'openjpeg.c',
'SourceLine' => '168'
},
- '237460' => {
+ '247646' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'parameters',
- 'type' => '76948'
+ 'type' => '85815'
}
},
'Reg' => {
@@ -342,12 +342,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '364'
},
- '237591' => {
+ '247777' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'num_threads',
@@ -363,16 +363,16 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '387'
},
- '237709' => {
+ '247895' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'parameters',
- 'type' => '76948'
+ 'type' => '85815'
}
},
'Reg' => {
@@ -384,7 +384,7 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '398'
},
- '237851' => {
+ '248037' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -393,11 +393,11 @@ $VAR1 = {
},
'1' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'2' => {
'name' => 'p_image',
- 'type' => '76942'
+ 'type' => '85809'
}
},
'Reg' => {
@@ -410,12 +410,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '418'
},
- '238054' => {
+ '248240' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'numcomps',
@@ -423,7 +423,7 @@ $VAR1 = {
},
'2' => {
'name' => 'comps_indices',
- 'type' => '76960'
+ 'type' => '85827'
},
'3' => {
'name' => 'apply_color_transforms',
@@ -441,12 +441,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '442'
},
- '238296' => {
+ '248482' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_stream',
@@ -454,7 +454,7 @@ $VAR1 = {
},
'2' => {
'name' => 'p_image',
- 'type' => '21147'
+ 'type' => '21130'
}
},
'Reg' => {
@@ -467,16 +467,16 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '471'
},
- '238450' => {
+ '248636' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_image',
- 'type' => '21147'
+ 'type' => '21130'
},
'2' => {
'name' => 'p_start_x',
@@ -508,12 +508,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '492'
},
- '238658' => {
+ '248844' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_stream',
@@ -529,20 +529,20 @@ $VAR1 = {
},
'4' => {
'name' => 'p_tile_x0',
- 'type' => '19208'
+ 'type' => '19191'
},
'5' => {
'name' => 'p_tile_y0',
- 'type' => '19208'
+ 'type' => '19191'
},
'6' => {
'name' => 'p_tile_x1',
'offset' => '0',
- 'type' => '19208'
+ 'type' => '19191'
},
'7' => {
'name' => 'p_tile_y1',
- 'type' => '19208'
+ 'type' => '19191'
},
'8' => {
'name' => 'p_nb_comps',
@@ -550,7 +550,7 @@ $VAR1 = {
},
'9' => {
'name' => 'p_should_go_on',
- 'type' => '23247'
+ 'type' => '23230'
}
},
'Reg' => {
@@ -569,12 +569,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '515'
},
- '238864' => {
+ '249050' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_tile_index',
@@ -605,12 +605,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '546'
},
- '239064' => {
+ '249250' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_stream',
@@ -618,7 +618,7 @@ $VAR1 = {
},
'2' => {
'name' => 'p_image',
- 'type' => '21147'
+ 'type' => '21130'
},
'3' => {
'name' => 'tile_index',
@@ -636,12 +636,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '572'
},
- '239241' => {
+ '249427' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'res_factor',
@@ -657,28 +657,28 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '596'
},
- '239350' => {
+ '249536' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_format',
- 'type' => '225945'
+ 'type' => '236131'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '237025',
+ 'Return' => '247211',
'ShortName' => 'opj_create_compress',
'Source' => 'openjpeg.c',
'SourceLine' => '614'
},
- '239575' => {
+ '249761' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'parameters',
- 'type' => '76971'
+ 'type' => '85838'
}
},
'Reg' => {
@@ -687,22 +687,22 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_set_default_encoder_parameters',
'Source' => 'openjpeg.c',
- 'SourceLine' => '722'
+ 'SourceLine' => '728'
},
- '239706' => {
+ '249892' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'parameters',
- 'type' => '76971'
+ 'type' => '85838'
},
'2' => {
'name' => 'p_image',
- 'type' => '21147'
+ 'type' => '21130'
}
},
'Reg' => {
@@ -713,18 +713,18 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_setup_encoder',
'Source' => 'openjpeg.c',
- 'SourceLine' => '783'
+ 'SourceLine' => '789'
},
- '239844' => {
+ '250030' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'options',
- 'type' => '76977'
+ 'type' => '85844'
}
},
'Reg' => {
@@ -734,18 +734,18 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_encoder_set_extra_options',
'Source' => 'openjpeg.c',
- 'SourceLine' => '803'
+ 'SourceLine' => '809'
},
- '239959' => {
+ '250145' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_image',
- 'type' => '21147'
+ 'type' => '21130'
},
'2' => {
'name' => 'p_stream',
@@ -760,14 +760,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_start_compress',
'Source' => 'openjpeg.c',
- 'SourceLine' => '822'
+ 'SourceLine' => '828'
},
- '240113' => {
+ '250299' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_info',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_stream',
@@ -781,14 +781,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_encode',
'Source' => 'openjpeg.c',
- 'SourceLine' => '841'
+ 'SourceLine' => '847'
},
- '240244' => {
+ '250430' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_stream',
@@ -802,14 +802,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_end_compress',
'Source' => 'openjpeg.c',
- 'SourceLine' => '858'
+ 'SourceLine' => '864'
},
- '240375' => {
+ '250561' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_stream',
@@ -823,14 +823,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_end_decompress',
'Source' => 'openjpeg.c',
- 'SourceLine' => '875'
+ 'SourceLine' => '881'
},
- '240506' => {
+ '250692' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'parameters',
- 'type' => '76971'
+ 'type' => '85838'
},
'1' => {
'name' => 'pEncodingMatrix',
@@ -838,7 +838,7 @@ $VAR1 = {
},
'2' => {
'name' => 'p_dc_shift',
- 'type' => '19208'
+ 'type' => '19191'
},
'3' => {
'name' => 'pNbComp',
@@ -854,14 +854,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_set_MCT',
'Source' => 'openjpeg.c',
- 'SourceLine' => '895'
+ 'SourceLine' => '901'
},
- '240852' => {
+ '251038' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'p_tile_index',
@@ -890,14 +890,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_write_tile',
'Source' => 'openjpeg.c',
- 'SourceLine' => '925'
+ 'SourceLine' => '931'
},
- '241052' => {
+ '251238' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
}
},
'Reg' => {
@@ -906,14 +906,14 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_destroy_codec',
'Source' => 'openjpeg.c',
- 'SourceLine' => '952'
+ 'SourceLine' => '958'
},
- '241153' => {
+ '251339' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
},
'1' => {
'name' => 'info_flag',
@@ -921,7 +921,7 @@ $VAR1 = {
},
'2' => {
'name' => 'output_stream',
- 'type' => '76988'
+ 'type' => '85855'
}
},
'Reg' => {
@@ -932,46 +932,46 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_dump_codec',
'Source' => 'openjpeg.c',
- 'SourceLine' => '970'
+ 'SourceLine' => '976'
},
- '241290' => {
+ '251476' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '76994',
+ 'Return' => '85861',
'ShortName' => 'opj_get_cstr_info',
'Source' => 'openjpeg.c',
- 'SourceLine' => '986'
+ 'SourceLine' => '992'
},
- '241454' => {
+ '251640' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '237025'
+ 'type' => '247211'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '74696',
+ 'Return' => '83563',
'ShortName' => 'opj_get_cstr_index',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1014'
+ 'SourceLine' => '1020'
},
- '241539' => {
+ '251725' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_cstr_index',
- 'type' => '241599'
+ 'type' => '251785'
}
},
'Reg' => {
@@ -980,9 +980,9 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_destroy_cstr_index',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1025'
+ 'SourceLine' => '1031'
},
- '241605' => {
+ '251791' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1006,9 +1006,9 @@ $VAR1 = {
'Return' => '14584',
'ShortName' => 'opj_stream_create_file_stream',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1040'
+ 'SourceLine' => '1046'
},
- '241724' => {
+ '251910' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1027,7 +1027,7 @@ $VAR1 = {
'Return' => '14584',
'ShortName' => 'opj_stream_create_default_file_stream',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1033'
+ 'SourceLine' => '1039'
},
'3808' => {
'Header' => 'openjpeg.h',
@@ -1043,12 +1043,12 @@ $VAR1 = {
'Source' => 'thread.c',
'SourceLine' => '300'
},
- '61142' => {
+ '70009' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'image',
- 'type' => '21147'
+ 'type' => '21130'
}
},
'Reg' => {
@@ -1059,7 +1059,7 @@ $VAR1 = {
'Source' => 'image.c',
'SourceLine' => '92'
},
- '61308' => {
+ '70175' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1068,11 +1068,11 @@ $VAR1 = {
},
'1' => {
'name' => 'cmptparms',
- 'type' => '61658'
+ 'type' => '70525'
},
'2' => {
'name' => 'clrspc',
- 'type' => '18497'
+ 'type' => '18480'
}
},
'Reg' => {
@@ -1080,12 +1080,12 @@ $VAR1 = {
'1' => 'rsi',
'2' => 'rdx'
},
- 'Return' => '21147',
+ 'Return' => '21130',
'ShortName' => 'opj_image_create',
'Source' => 'image.c',
'SourceLine' => '40'
},
- '63300' => {
+ '72167' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1094,11 +1094,11 @@ $VAR1 = {
},
'1' => {
'name' => 'cmptparms',
- 'type' => '61658'
+ 'type' => '70525'
},
'2' => {
'name' => 'clrspc',
- 'type' => '18497'
+ 'type' => '18480'
}
},
'Reg' => {
@@ -1106,12 +1106,12 @@ $VAR1 = {
'1' => 'rsi',
'2' => 'rdx'
},
- 'Return' => '21147',
+ 'Return' => '21130',
'ShortName' => 'opj_image_tile_create',
'Source' => 'image.c',
'SourceLine' => '228'
},
- '63579' => {
+ '72446' => {
'Header' => 'openjpeg.h',
'Line' => '1153',
'Param' => {
@@ -1126,9 +1126,9 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_image_data_free',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1092'
+ 'SourceLine' => '1098'
},
- '63643' => {
+ '72510' => {
'Header' => 'openjpeg.h',
'Line' => '1143',
'Param' => {
@@ -1143,7 +1143,7 @@ $VAR1 = {
'Return' => '130',
'ShortName' => 'opj_image_data_alloc',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1085'
+ 'SourceLine' => '1091'
}
},
'SymbolVersion' => {
@@ -1440,13 +1440,7 @@ $VAR1 = {
'Size' => '1',
'Type' => 'Const'
},
- '174359' => {
- 'BaseType' => '76994',
- 'Name' => 'opj_codestream_info_v2_t**',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '18236' => {
+ '18230' => {
'BaseType' => '138',
'Header' => 'openjpeg.h',
'Line' => '114',
@@ -1454,7 +1448,7 @@ $VAR1 = {
'Size' => '1',
'Type' => 'Typedef'
},
- '18280' => {
+ '18274' => {
'BaseType' => '52',
'Header' => 'stdint.h',
'Line' => '50',
@@ -1462,15 +1456,21 @@ $VAR1 = {
'Size' => '2',
'Type' => 'Typedef'
},
- '18313' => {
- 'BaseType' => '18280',
+ '18307' => {
+ 'BaseType' => '18274',
'Header' => 'openjpeg.h',
'Line' => '124',
'Name' => 'OPJ_UINT16',
'Size' => '2',
'Type' => 'Typedef'
},
- '18379' => {
+ '183561' => {
+ 'BaseType' => '85861',
+ 'Name' => 'opj_codestream_info_v2_t**',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '18362' => {
'Header' => 'openjpeg.h',
'Line' => '297',
'Memb' => {
@@ -1503,15 +1503,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '18429' => {
- 'BaseType' => '18379',
+ '18412' => {
+ 'BaseType' => '18362',
'Header' => 'openjpeg.h',
'Line' => '304',
'Name' => 'OPJ_PROG_ORDER',
'Size' => '4',
'Type' => 'Typedef'
},
- '18441' => {
+ '18424' => {
'Header' => 'openjpeg.h',
'Line' => '309',
'Memb' => {
@@ -1548,15 +1548,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '18497' => {
- 'BaseType' => '18441',
+ '18480' => {
+ 'BaseType' => '18424',
'Header' => 'openjpeg.h',
'Line' => '317',
'Name' => 'OPJ_COLOR_SPACE',
'Size' => '4',
'Type' => 'Typedef'
},
- '18509' => {
+ '18492' => {
'Header' => 'openjpeg.h',
'Line' => '359',
'Memb' => {
@@ -1573,7 +1573,7 @@ $VAR1 = {
'10' => {
'name' => 'progorder',
'offset' => '40',
- 'type' => '18989'
+ 'type' => '18972'
},
'11' => {
'name' => 'tile',
@@ -1733,39 +1733,39 @@ $VAR1 = {
'8' => {
'name' => 'prg1',
'offset' => '32',
- 'type' => '18429'
+ 'type' => '18412'
},
'9' => {
'name' => 'prg',
'offset' => '36',
- 'type' => '18429'
+ 'type' => '18412'
}
},
'Name' => 'struct opj_poc',
'Size' => '148',
'Type' => 'Struct'
},
- '18989' => {
- 'BaseType' => '18236',
+ '18972' => {
+ 'BaseType' => '18230',
'Name' => 'OPJ_CHAR[5]',
'Size' => '5',
'Type' => 'Array'
},
- '19005' => {
- 'BaseType' => '18509',
+ '18988' => {
+ 'BaseType' => '18492',
'Header' => 'openjpeg.h',
'Line' => '382',
'Name' => 'opj_poc_t',
'Size' => '148',
'Type' => 'Typedef'
},
- '19017' => {
- 'BaseType' => '19005',
+ '19000' => {
+ 'BaseType' => '18988',
'Name' => 'opj_poc_t[32]',
'Size' => '4736',
'Type' => 'Array'
},
- '19033' => {
+ '19016' => {
'Header' => 'openjpeg.h',
'Line' => '671',
'Memb' => {
@@ -1787,12 +1787,12 @@ $VAR1 = {
'11' => {
'name' => 'data',
'offset' => '48',
- 'type' => '19208'
+ 'type' => '19191'
},
'12' => {
'name' => 'alpha',
'offset' => '56',
- 'type' => '18313'
+ 'type' => '18307'
},
'2' => {
'name' => 'w',
@@ -1839,21 +1839,21 @@ $VAR1 = {
'Size' => '64',
'Type' => 'Struct'
},
- '19208' => {
+ '19191' => {
'BaseType' => '9037',
'Name' => 'OPJ_INT32*',
'Size' => '8',
'Type' => 'Pointer'
},
- '19214' => {
- 'BaseType' => '19033',
+ '19197' => {
+ 'BaseType' => '19016',
'Header' => 'openjpeg.h',
'Line' => '698',
'Name' => 'opj_image_comp_t',
'Size' => '64',
'Type' => 'Typedef'
},
- '19226' => {
+ '19209' => {
'Header' => 'openjpeg.h',
'Line' => '703',
'Memb' => {
@@ -1885,12 +1885,12 @@ $VAR1 = {
'5' => {
'name' => 'color_space',
'offset' => '20',
- 'type' => '18497'
+ 'type' => '18480'
},
'6' => {
'name' => 'comps',
'offset' => '24',
- 'type' => '19353'
+ 'type' => '19336'
},
'7' => {
'name' => 'icc_profile_buf',
@@ -1907,28 +1907,28 @@ $VAR1 = {
'Size' => '48',
'Type' => 'Struct'
},
- '19353' => {
- 'BaseType' => '19214',
+ '19336' => {
+ 'BaseType' => '19197',
'Name' => 'opj_image_comp_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '19365' => {
- 'BaseType' => '19226',
+ '19348' => {
+ 'BaseType' => '19209',
'Header' => 'openjpeg.h',
'Line' => '722',
'Name' => 'opj_image_t',
'Size' => '48',
'Type' => 'Typedef'
},
- '19377' => {
+ '19360' => {
'BaseType' => '9048',
'Name' => 'OPJ_UINT32[33]',
'Size' => '132',
'Type' => 'Array'
},
- '21147' => {
- 'BaseType' => '19365',
+ '21130' => {
+ 'BaseType' => '19348',
'Name' => 'opj_image_t*',
'Size' => '8',
'Type' => 'Pointer'
@@ -2098,7 +2098,19 @@ $VAR1 = {
'Size' => '216',
'Type' => 'Struct'
},
- '225895' => {
+ '23230' => {
+ 'BaseType' => '2747',
+ 'Name' => 'OPJ_BOOL*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '23264' => {
+ 'BaseType' => '9048',
+ 'Name' => 'OPJ_UINT32 const',
+ 'Size' => '4',
+ 'Type' => 'Const'
+ },
+ '236081' => {
'Header' => 'openjpeg.h',
'Line' => '322',
'Memb' => {
@@ -2131,15 +2143,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '225945' => {
- 'BaseType' => '225895',
+ '236131' => {
+ 'BaseType' => '236081',
'Header' => 'openjpeg.h',
'Line' => '329',
'Name' => 'OPJ_CODEC_FORMAT',
'Size' => '4',
'Type' => 'Typedef'
},
- '227702' => {
+ '237888' => {
'BaseType' => '130',
'Header' => 'openjpeg.h',
'Line' => '612',
@@ -2147,26 +2159,14 @@ $VAR1 = {
'Size' => '8',
'Type' => 'Typedef'
},
- '23247' => {
- 'BaseType' => '2747',
- 'Name' => 'OPJ_BOOL*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '23281' => {
- 'BaseType' => '9048',
- 'Name' => 'OPJ_UINT32 const',
- 'Size' => '4',
- 'Type' => 'Const'
- },
- '237025' => {
- 'BaseType' => '227702',
+ '247211' => {
+ 'BaseType' => '237888',
'Name' => 'opj_codec_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '241599' => {
- 'BaseType' => '74696',
+ '251785' => {
+ 'BaseType' => '83563',
'Name' => 'opj_codestream_index_t**',
'Size' => '8',
'Type' => 'Pointer'
@@ -2250,7 +2250,17 @@ $VAR1 = {
'Size' => '2',
'Type' => 'Intrinsic'
},
- '58997' => {
+ '59' => {
+ 'Name' => 'unsigned int',
+ 'Size' => '4',
+ 'Type' => 'Intrinsic'
+ },
+ '66' => {
+ 'Name' => 'unsigned long',
+ 'Size' => '8',
+ 'Type' => 'Intrinsic'
+ },
+ '67864' => {
'Header' => 'openjpeg.h',
'Line' => '728',
'Memb' => {
@@ -2304,31 +2314,26 @@ $VAR1 = {
'Size' => '36',
'Type' => 'Struct'
},
- '59' => {
- 'Name' => 'unsigned int',
- 'Size' => '4',
- 'Type' => 'Intrinsic'
- },
- '59120' => {
- 'BaseType' => '58997',
+ '67987' => {
+ 'BaseType' => '67864',
'Header' => 'openjpeg.h',
'Line' => '747',
'Name' => 'opj_image_cmptparm_t',
'Size' => '36',
'Type' => 'Typedef'
},
- '61658' => {
- 'BaseType' => '59120',
+ '70525' => {
+ 'BaseType' => '67987',
'Name' => 'opj_image_cmptparm_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '66' => {
- 'Name' => 'unsigned long',
- 'Size' => '8',
+ '73' => {
+ 'Name' => 'signed char',
+ 'Size' => '1',
'Type' => 'Intrinsic'
},
- '66818' => {
+ '75685' => {
'BaseType' => '2250',
'Header' => 'stdio.h',
'Line' => '49',
@@ -2336,7 +2341,7 @@ $VAR1 = {
'Size' => '216',
'Type' => 'Typedef'
},
- '67557' => {
+ '76424' => {
'Header' => 'openjpeg.h',
'Line' => '276',
'Memb' => {
@@ -2361,15 +2366,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '67597' => {
- 'BaseType' => '67557',
+ '76464' => {
+ 'BaseType' => '76424',
'Header' => 'openjpeg.h',
'Line' => '281',
'Name' => 'OPJ_RSIZ_CAPABILITIES',
'Size' => '4',
'Type' => 'Typedef'
},
- '67609' => {
+ '76476' => {
'Header' => 'openjpeg.h',
'Line' => '287',
'Memb' => {
@@ -2394,15 +2399,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '67647' => {
- 'BaseType' => '67609',
+ '76514' => {
+ 'BaseType' => '76476',
'Header' => 'openjpeg.h',
'Line' => '292',
'Name' => 'OPJ_CINEMA_MODE',
'Size' => '4',
'Type' => 'Typedef'
},
- '68331' => {
+ '77198' => {
'Header' => 'openjpeg.h',
'Line' => '387',
'Memb' => {
@@ -2424,12 +2429,12 @@ $VAR1 = {
'11' => {
'name' => 'prog_order',
'offset' => '52',
- 'type' => '18429'
+ 'type' => '18412'
},
'12' => {
'name' => 'POC',
'offset' => '56',
- 'type' => '19017'
+ 'type' => '19000'
},
'13' => {
'name' => 'numpocs',
@@ -2444,12 +2449,12 @@ $VAR1 = {
'15' => {
'name' => 'tcp_rates',
'offset' => '4800',
- 'type' => '69195'
+ 'type' => '78062'
},
'16' => {
'name' => 'tcp_distoratio',
'offset' => '5200',
- 'type' => '69195'
+ 'type' => '78062'
},
'17' => {
'name' => 'numresolution',
@@ -2499,22 +2504,22 @@ $VAR1 = {
'25' => {
'name' => 'prcw_init',
'offset' => '5632',
- 'type' => '69211'
+ 'type' => '78078'
},
'26' => {
'name' => 'prch_init',
'offset' => '5764',
- 'type' => '69211'
+ 'type' => '78078'
},
'27' => {
'name' => 'infile',
'offset' => '5896',
- 'type' => '69227'
+ 'type' => '78094'
},
'28' => {
'name' => 'outfile',
'offset' => '9992',
- 'type' => '69227'
+ 'type' => '78094'
},
'29' => {
'name' => 'index_on',
@@ -2529,7 +2534,7 @@ $VAR1 = {
'30' => {
'name' => 'index',
'offset' => '14092',
- 'type' => '69227'
+ 'type' => '78094'
},
'31' => {
'name' => 'image_offset_x0',
@@ -2574,7 +2579,7 @@ $VAR1 = {
'39' => {
'name' => 'jpwl_hprot_TPH_tileno',
'offset' => '18220',
- 'type' => '69244'
+ 'type' => '78111'
},
'4' => {
'name' => 'cp_tdy',
@@ -2584,22 +2589,22 @@ $VAR1 = {
'40' => {
'name' => 'jpwl_hprot_TPH',
'offset' => '18284',
- 'type' => '69244'
+ 'type' => '78111'
},
'41' => {
'name' => 'jpwl_pprot_tileno',
'offset' => '18348',
- 'type' => '69244'
+ 'type' => '78111'
},
'42' => {
'name' => 'jpwl_pprot_packno',
'offset' => '18412',
- 'type' => '69244'
+ 'type' => '78111'
},
'43' => {
'name' => 'jpwl_pprot',
'offset' => '18476',
- 'type' => '69244'
+ 'type' => '78111'
},
'44' => {
'name' => 'jpwl_sens_size',
@@ -2624,12 +2629,12 @@ $VAR1 = {
'48' => {
'name' => 'jpwl_sens_TPH_tileno',
'offset' => '18556',
- 'type' => '69244'
+ 'type' => '78111'
},
'49' => {
'name' => 'jpwl_sens_TPH',
'offset' => '18620',
- 'type' => '69244'
+ 'type' => '78111'
},
'5' => {
'name' => 'cp_disto_alloc',
@@ -2639,7 +2644,7 @@ $VAR1 = {
'50' => {
'name' => 'cp_cinema',
'offset' => '18684',
- 'type' => '67647'
+ 'type' => '76514'
},
'51' => {
'name' => 'max_comp_size',
@@ -2649,7 +2654,7 @@ $VAR1 = {
'52' => {
'name' => 'cp_rsiz',
'offset' => '18692',
- 'type' => '67597'
+ 'type' => '76464'
},
'53' => {
'name' => 'tp_on',
@@ -2684,7 +2689,7 @@ $VAR1 = {
'59' => {
'name' => 'rsiz',
'offset' => '18716',
- 'type' => '18313'
+ 'type' => '18307'
},
'6' => {
'name' => 'cp_fixed_alloc',
@@ -2699,7 +2704,7 @@ $VAR1 = {
'8' => {
'name' => 'cp_matrice',
'offset' => '32',
- 'type' => '69173'
+ 'type' => '78040'
},
'9' => {
'name' => 'cp_comment',
@@ -2711,45 +2716,56 @@ $VAR1 = {
'Size' => '18720',
'Type' => 'Struct'
},
- '69173' => {
+ '78040' => {
'BaseType' => '87',
'Name' => 'int*',
'Size' => '8',
'Type' => 'Pointer'
},
- '69195' => {
+ '78062' => {
'BaseType' => '2236',
'Name' => 'float[100]',
'Size' => '400',
'Type' => 'Array'
},
- '69211' => {
+ '78078' => {
'BaseType' => '87',
'Name' => 'int[33]',
'Size' => '132',
'Type' => 'Array'
},
- '69227' => {
+ '78094' => {
'BaseType' => '138',
'Name' => 'char[4096]',
'Size' => '4096',
'Type' => 'Array'
},
- '69244' => {
+ '781' => {
+ 'Name' => 'void(*)(void*)',
+ 'Param' => {
+ '0' => {
+ 'type' => '130'
+ }
+ },
+ 'Return' => '1',
+ 'Size' => '8',
+ 'Type' => 'FuncPtr'
+ },
+ '78111' => {
'BaseType' => '87',
'Name' => 'int[16]',
'Size' => '64',
'Type' => 'Array'
},
- '69260' => {
- 'BaseType' => '68331',
+ '78127' => {
+ 'BaseType' => '77198',
'Header' => 'openjpeg.h',
'Line' => '538',
'Name' => 'opj_cparameters_t',
'Size' => '18720',
'Type' => 'Typedef'
},
- '69272' => {
+ '78139' => {
'Header' => 'openjpeg.h',
'Line' => '546',
'Memb' => {
@@ -2801,12 +2817,12 @@ $VAR1 = {
'2' => {
'name' => 'infile',
'offset' => '8',
- 'type' => '69227'
+ 'type' => '78094'
},
'3' => {
'name' => 'outfile',
'offset' => '4104',
- 'type' => '69227'
+ 'type' => '78094'
},
'4' => {
'name' => 'decod_format',
@@ -2843,15 +2859,15 @@ $VAR1 = {
'Size' => '8252',
'Type' => 'Struct'
},
- '69522' => {
- 'BaseType' => '69272',
+ '78389' => {
+ 'BaseType' => '78139',
'Header' => 'openjpeg.h',
'Line' => '606',
'Name' => 'opj_dparameters_t',
'Size' => '8252',
'Type' => 'Typedef'
},
- '70038' => {
+ '78905' => {
'Header' => 'openjpeg.h',
'Line' => '760',
'Memb' => {
@@ -2880,15 +2896,15 @@ $VAR1 = {
'Size' => '32',
'Type' => 'Struct'
},
- '70104' => {
- 'BaseType' => '70038',
+ '78971' => {
+ 'BaseType' => '78905',
'Header' => 'openjpeg.h',
'Line' => '769',
'Name' => 'opj_packet_info_t',
'Size' => '32',
'Type' => 'Typedef'
},
- '70116' => {
+ '78983' => {
'Header' => 'openjpeg.h',
'Line' => '776',
'Memb' => {
@@ -2912,27 +2928,27 @@ $VAR1 = {
'Size' => '24',
'Type' => 'Struct'
},
- '70169' => {
- 'BaseType' => '70116',
+ '79036' => {
+ 'BaseType' => '78983',
'Header' => 'openjpeg.h',
'Line' => '783',
'Name' => 'opj_marker_info_t',
'Size' => '24',
'Type' => 'Typedef'
},
- '70521' => {
- 'BaseType' => '70104',
+ '79388' => {
+ 'BaseType' => '78971',
'Name' => 'opj_packet_info_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '70527' => {
- 'BaseType' => '70169',
+ '79394' => {
+ 'BaseType' => '79036',
'Name' => 'opj_marker_info_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '70867' => {
+ '79734' => {
'Header' => 'openjpeg.h',
'Line' => '900',
'Memb' => {
@@ -2959,12 +2975,12 @@ $VAR1 = {
'12' => {
'name' => 'prcw',
'offset' => '816',
- 'type' => '19377'
+ 'type' => '19360'
},
'13' => {
'name' => 'prch',
'offset' => '948',
- 'type' => '19377'
+ 'type' => '19360'
},
'2' => {
'name' => 'numresolutions',
@@ -2999,33 +3015,33 @@ $VAR1 = {
'8' => {
'name' => 'stepsizes_mant',
'offset' => '32',
- 'type' => '71069'
+ 'type' => '79936'
},
'9' => {
'name' => 'stepsizes_expn',
'offset' => '420',
- 'type' => '71069'
+ 'type' => '79936'
}
},
'Name' => 'struct opj_tccp_info',
'Size' => '1080',
'Type' => 'Struct'
},
- '71069' => {
+ '79936' => {
'BaseType' => '9048',
'Name' => 'OPJ_UINT32[97]',
'Size' => '388',
'Type' => 'Array'
},
- '71101' => {
- 'BaseType' => '70867',
+ '79968' => {
+ 'BaseType' => '79734',
'Header' => 'openjpeg.h',
'Line' => '930',
'Name' => 'opj_tccp_info_t',
'Size' => '1080',
'Type' => 'Typedef'
},
- '71113' => {
+ '79980' => {
'Header' => 'openjpeg.h',
'Line' => '935',
'Memb' => {
@@ -3042,7 +3058,7 @@ $VAR1 = {
'2' => {
'name' => 'prg',
'offset' => '8',
- 'type' => '18429'
+ 'type' => '18412'
},
'3' => {
'name' => 'numlayers',
@@ -3057,28 +3073,28 @@ $VAR1 = {
'5' => {
'name' => 'tccp_info',
'offset' => '24',
- 'type' => '71205'
+ 'type' => '80072'
}
},
'Name' => 'struct opj_tile_v2_info',
'Size' => '32',
'Type' => 'Struct'
},
- '71205' => {
- 'BaseType' => '71101',
+ '80072' => {
+ 'BaseType' => '79968',
'Name' => 'opj_tccp_info_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71211' => {
- 'BaseType' => '71113',
+ '80078' => {
+ 'BaseType' => '79980',
'Header' => 'openjpeg.h',
'Line' => '951',
'Name' => 'opj_tile_info_v2_t',
'Size' => '32',
'Type' => 'Typedef'
},
- '71223' => {
+ '80090' => {
'Header' => 'openjpeg.h',
'Line' => '956',
'Memb' => {
@@ -3120,33 +3136,33 @@ $VAR1 = {
'7' => {
'name' => 'm_default_tile_info',
'offset' => '32',
- 'type' => '71211'
+ 'type' => '80078'
},
'8' => {
'name' => 'tile_info',
'offset' => '64',
- 'type' => '71352'
+ 'type' => '80219'
}
},
'Name' => 'struct opj_codestream_info_v2',
'Size' => '72',
'Type' => 'Struct'
},
- '71352' => {
- 'BaseType' => '71211',
+ '80219' => {
+ 'BaseType' => '80078',
'Name' => 'opj_tile_info_v2_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71358' => {
- 'BaseType' => '71223',
+ '80225' => {
+ 'BaseType' => '80090',
'Header' => 'openjpeg.h',
'Line' => '980',
'Name' => 'opj_codestream_info_v2_t',
'Size' => '72',
'Type' => 'Typedef'
},
- '71370' => {
+ '80237' => {
'Header' => 'openjpeg.h',
'Line' => '986',
'Memb' => {
@@ -3170,15 +3186,15 @@ $VAR1 = {
'Size' => '24',
'Type' => 'Struct'
},
- '71423' => {
- 'BaseType' => '71370',
+ '80290' => {
+ 'BaseType' => '80237',
'Header' => 'openjpeg.h',
'Line' => '994',
'Name' => 'opj_tp_index_t',
'Size' => '24',
'Type' => 'Typedef'
},
- '71435' => {
+ '80302' => {
'Header' => 'openjpeg.h',
'Line' => '999',
'Memb' => {
@@ -3205,7 +3221,7 @@ $VAR1 = {
'4' => {
'name' => 'tp_index',
'offset' => '16',
- 'type' => '71579'
+ 'type' => '80446'
},
'5' => {
'name' => 'marknum',
@@ -3215,7 +3231,7 @@ $VAR1 = {
'6' => {
'name' => 'marker',
'offset' => '32',
- 'type' => '70527'
+ 'type' => '79394'
},
'7' => {
'name' => 'maxmarknum',
@@ -3230,28 +3246,28 @@ $VAR1 = {
'9' => {
'name' => 'packet_index',
'offset' => '48',
- 'type' => '70521'
+ 'type' => '79388'
}
},
'Name' => 'struct opj_tile_index',
'Size' => '56',
'Type' => 'Struct'
},
- '71579' => {
- 'BaseType' => '71423',
+ '80446' => {
+ 'BaseType' => '80290',
'Name' => 'opj_tp_index_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71585' => {
- 'BaseType' => '71435',
+ '80452' => {
+ 'BaseType' => '80302',
'Header' => 'openjpeg.h',
'Line' => '1026',
'Name' => 'opj_tile_index_t',
'Size' => '56',
'Type' => 'Typedef'
},
- '71597' => {
+ '80464' => {
'Header' => 'openjpeg.h',
'Line' => '1031',
'Memb' => {
@@ -3278,7 +3294,7 @@ $VAR1 = {
'4' => {
'name' => 'marker',
'offset' => '32',
- 'type' => '70527'
+ 'type' => '79394'
},
'5' => {
'name' => 'maxmarknum',
@@ -3293,97 +3309,81 @@ $VAR1 = {
'7' => {
'name' => 'tile_index',
'offset' => '48',
- 'type' => '71715'
+ 'type' => '80582'
}
},
'Name' => 'struct opj_codestream_index',
'Size' => '56',
'Type' => 'Struct'
},
- '71715' => {
- 'BaseType' => '71585',
+ '80582' => {
+ 'BaseType' => '80452',
'Name' => 'opj_tile_index_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71721' => {
- 'BaseType' => '71597',
+ '80588' => {
+ 'BaseType' => '80464',
'Header' => 'openjpeg.h',
'Line' => '1054',
'Name' => 'opj_codestream_index_t',
'Size' => '56',
'Type' => 'Typedef'
},
- '73' => {
- 'Name' => 'signed char',
- 'Size' => '1',
- 'Type' => 'Intrinsic'
- },
- '74696' => {
- 'BaseType' => '71721',
+ '83563' => {
+ 'BaseType' => '80588',
'Name' => 'opj_codestream_index_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76942' => {
- 'BaseType' => '21147',
+ '85809' => {
+ 'BaseType' => '21130',
'Name' => 'opj_image_t**',
'Size' => '8',
'Type' => 'Pointer'
},
- '76948' => {
- 'BaseType' => '69522',
+ '85815' => {
+ 'BaseType' => '78389',
'Name' => 'opj_dparameters_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76960' => {
- 'BaseType' => '23281',
+ '85827' => {
+ 'BaseType' => '23264',
'Name' => 'OPJ_UINT32 const*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76971' => {
- 'BaseType' => '69260',
+ '85838' => {
+ 'BaseType' => '78127',
'Name' => 'opj_cparameters_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76977' => {
- 'BaseType' => '76983',
+ '85844' => {
+ 'BaseType' => '85850',
'Name' => 'char const*const*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76983' => {
+ '85850' => {
'BaseType' => '156',
'Name' => 'char const*const',
'Size' => '8',
'Type' => 'Const'
},
- '76988' => {
- 'BaseType' => '66818',
+ '85855' => {
+ 'BaseType' => '75685',
'Name' => 'FILE*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76994' => {
- 'BaseType' => '71358',
+ '85861' => {
+ 'BaseType' => '80225',
'Name' => 'opj_codestream_info_v2_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '781' => {
- 'Name' => 'void(*)(void*)',
- 'Param' => {
- '0' => {
- 'type' => '130'
- }
- },
- 'Return' => '1',
- 'Size' => '8',
- 'Type' => 'FuncPtr'
- },
'87' => {
'Name' => 'int',
'Size' => '4',
diff --git a/abi-check/changelog/openjpeg/current/log.html b/abi-check/changelog/openjpeg/current/log.html
index d5517246..67e74458 100644
--- a/abi-check/changelog/openjpeg/current/log.html
+++ b/abi-check/changelog/openjpeg/current/log.html
@@ -20,7 +20,16 @@
commit 65c8f577d2f057e80040e98958eae80ca76c6b94 +commit 491299eb073c80602ca8ee333303a31a581d3fa8 +Merge: 65c8f57 1c5627e +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-10-09 13:25:27 +0200 + + Merge pull request #1253 from rouault/floating_point_irreversible_encoding + + Single-threaded performance improvements in forward DWT for 5-3 and 9-7 (and other improvements) + +commit 65c8f577d2f057e80040e98958eae80ca76c6b94 Author: Pei JIA <jiapei@longervision.com> Date: 2020-09-23 02:34:31 -0700 @@ -126,6 +135,88 @@ Date: 2020-06-10 17:40:50 +0200 Testing for invalid values of width, height, numcomps (#1254) +commit 1c5627ee7406f84cfb40809b7ac31c63342427df +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-24 15:38:21 +0200 + + T1 encoder: speed-up by aggressive inlining and more cache friendly data organization + + ~ 9% speed improvement seen on 10980x10980 uint16 image, T36JTT_20160914T074612_B02.tif + opj_compress time from 17.2s to 15.8s + +commit 1e931fdb3655c64ab60ea5657f79309331a86485 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-22 23:57:51 +0200 + + Forward DWT 9-7: major speed up by vectorizing vertical pass + + `bench_dwt -I -encode` times goes from 8.6s to 2.1s + +commit a38e970fa59abd796c703ec469e578b09f7ffa33 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-22 17:50:15 +0200 + + Forward DWT 5-3: major speed up by vectorizing vertical pass + + `bench_dwt -encode` times goes from 7.9s to 1.7s + +commit e69fa09f604bc472f9fbff5c2b2db65e8dbe2418 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-22 15:58:47 +0200 + + Forward DWT: small code refactoring to allow future improvements for the vertical pass + +commit 33d3d0de07be710f53940c7548b9f2bd58ff3210 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-22 15:06:29 +0200 + + dwt.c: remove unused typedef + +commit 97b384aecdeea0c286213f5caf6244ec08ea32d7 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-22 15:03:40 +0200 + + Forward DWT 5x3: performance improvements in horizontal pass, and modest in vertical pass + +commit bd5f5ee7dea851aedae630fee094ef3b0ff0c888 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-21 21:20:19 +0200 + + Forward DWT: small code refactoring to allow future improvements for the horizontal pass + +commit 45a35223b79dee65a0059f999b690072e829669f +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-21 16:54:48 +0200 + + Speed-up 9x7 IDWD by ~30% with OPJ_NUM_THREADS=2 + + "bench_dwt -I" time goes from 2.2s to 1.5s + +commit 272b3e0fb2530ca8bffdc8c64f1505a8ff5f6ecc +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-21 11:24:29 +0200 + + Remove useless + 5U margin in opj_dwt_decode_tile_97() + + Nothing in code analysis nor test suite shows that this margin is + needed. + It dates back to commit dbeebe72b9d35f6ff807c21c7f217b569fa894f6 + where vector 9x7 decoding was introduced. + +commit 47943daa15983d20ab1ffd0a237125f1493c5658 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-21 11:23:00 +0200 + + Speed-up 9x7 IDWD by ~20% + + "bench_dwt -I" time goes from 2.8s to 2.2s + +commit 0c09062464fe74f62fb9a4da829992c6a8bd7920 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-20 23:20:48 +0200 + + bench_dwt.c: add a -I switch to test irreversible FWDT/IDWT + commit 19ef7f26c43f689b627aad642da7f6150893b863 Merge: 1d358f2 f3ee448 Author: Even Rouault <even.rouault@spatialys.com> @@ -135,6 +226,120 @@ Date: 2020-05-20 21:10:55 +0200 Add check to validate SGcod/SPcoc/SPcod parameter values. +commit adccbc8336ce5c46ca7de85ac364d9c992d337c7 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-20 19:24:09 +0200 + + Irreversible decoding: partially revert previous commit, to fix failures in test suite + +commit 3cd1305596f191a01afdc11f9355f9c6590065dd +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-20 18:00:45 +0200 + + Irreversible compression/decompression DWT: use 1/K constant as per standard + + The previous constant opj_c13318 was mysteriously equal to 2/K , and in + the DWT, we had to divide K and opj_c13318 by 2... The issue was that the + band->stepsize computation in tcd.c didn't take into account the log2gain of + the band. + + The effect of this change is expected to be mostly equivalent to the previous + situation, except some difference in rounding. But it leads to a dramatic + reduction of the mean square error and peak error in the irreversible encoding + of issue141.tif ! + +commit f38c069547f1c41dc94ec4a273efb07997685c21 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-20 13:14:16 +0200 + + Irreversible decoding: align code more closely to the standard by avoid messing up with stepsize (no functional change) + +commit e46e300de55aa35279935ef9e8572949d725d833 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-20 11:36:05 +0200 + + opj_dwt_encode_1_real(): avoid many bound comparisons, similarly to decoding side + +commit 4ab2ed090747ad2f22e78d45a1db5640d40e6a34 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-19 22:26:22 +0200 + + opj_j2k_setup_encoder(): add validation of tile width and height to avoid potential division by zero + +commit c6a413a42394836b956846cc037dd8297b732f44 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-19 19:45:00 +0200 + + opj_mct_encode_real(): add SSE optimization + +commit fe4c15f12c562a42a6b0c4b0a0c5e42a25797235 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-19 18:03:58 +0200 + + Testing: revise testing of lossy encoding by comparing PEAK and MSE with original image + +commit c2b9d09c65ec5db4a94de961b0470923aec74e2e +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-19 18:03:29 +0200 + + compare_images.c: code reformatting + +commit 3d35d0f3af46ee206a3ea147298aad3d83a7775c +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-18 20:17:07 +0200 + + tcd.c: add comment + +commit 00cff6f5c02deabb64ccb15f15c13fcb773968fe +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-18 20:15:07 +0200 + + Encoder: use floating-point operations for irreversible transformation + +commit 99107d5e468beef3cf2f7db24633ba8b40732405 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-05-18 18:09:10 +0200 + + dwt.c: change sign of constants to match standard and compensate (no functional change) + +commit 07d1f775a1ef95496b0c78b18f671dac41983320 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-04-30 11:52:42 +0200 + + Add multithreaded support in the DWT encoder. + + Update the bench_dwt utility to have a -decode/-encode switch + + Measured performance gains for DWT encoder on a + Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (4 cores, hyper threaded) + + Encoding time: + $ ./bin/bench_dwt -encode -num_threads 1 + time for dwt_encode: total = 8.348 s, wallclock = 8.352 s + + $ ./bin/bench_dwt -encode -num_threads 2 + time for dwt_encode: total = 9.776 s, wallclock = 4.904 s + + $ ./bin/bench_dwt -encode -num_threads 4 + time for dwt_encode: total = 13.188 s, wallclock = 3.310 s + + $ ./bin/bench_dwt -encode -num_threads 8 + time for dwt_encode: total = 30.024 s, wallclock = 4.064 s + + Scaling is probably limited by memory access patterns causing + memory access to be the bottleneck. + The slightly worse results with threads==8 than with thread==4 + is due to hyperthreading being not appropriate here. + +commit 97eb7e0bf17b476d516262e0af462ec7eeb8f505 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2020-04-29 11:50:17 +0200 + + Add multithreading support in the T1 (entropy phase) encoder + + - API wise, opj_codec_set_threads() can be used on the encoding side + - opj_compress has a -threads switch similar to opj_uncompress + commit 1d358f25c8eabbc7c274bcc148f4f5d594ec13fe Merge: 64689d0 4edb8c8 Author: Even Rouault <even.rouault@spatialys.com> @@ -713,236 +918,6 @@ Date: 2018-12-07 21:27:38 +0100 Fix multiple potential vulnerabilities and bugs -commit 05be3084460e46282ee63f04c72c451f3271fd28 -Author: Young Xiao <YangX92@hotmail.com> -Date: 2018-11-28 14:44:06 +0800 - - [JPWL] tgatoimage(): avoid excessive memory allocation attempt, - and fixes unaligned load - - Signed-off-by: Young Xiao <YangX92@hotmail.com> - -commit bd88611ed9ad7144ec4f3de54790cd848175891b -Author: Young_X <YangX92@hotmail.com> -Date: 2018-11-23 17:15:05 +0800 - - [JP3D] To avoid divisions by zero / undefined behaviour on shift (CVE-2018-14423 - - Signed-off-by: Young_X <YangX92@hotmail.com> - -commit ce9583d1d7627e007a34a31ae4e22a00d78bd153 -Author: Young_X <YangX92@hotmail.com> -Date: 2018-11-23 17:12:06 +0800 - - [JPWL] opj_compress: reorder checks related to code block dimensions to avoid potential int overflow - - Signed-off-by: Young_X <YangX92@hotmail.com> - -commit c58df149900df862806d0e892859b41115875845 -Author: Young_X <YangX92@hotmail.com> -Date: 2018-11-23 16:24:19 +0800 - - [OPENJP2] change the way to compute *p_tx0, *p_tx1, *p_ty0, *p_ty1 in function - opj_get_encoding_parameters - - Signed-off-by: Young_X <YangX92@hotmail.com> - -commit c277159986c80142180fbe5efb256bbf3bdf3edc -Author: Young_X <YangX92@hotmail.com> -Date: 2018-11-23 16:12:53 +0800 - - [MJ2] Avoid index out of bounds access to pi->include[] - - Signed-off-by: Young_X <YangX92@hotmail.com> - -commit e0f5212888c0c1abc5e060a75a3a4a5ff99afd1a -Merge: 92023cd 2e5ab1d -Author: Even Rouault <even.rouault@mines-paris.org> -Date: 2018-11-28 00:04:30 +0100 - - Merge pull request #1170 from rouault/fix_color_apply_icc_profile - - color_apply_icc_profile: avoid potential heap buffer overflow - -commit 2e5ab1d9987831c981ff05862e8ccf1381ed58ea -Author: Even Rouault <even.rouault@spatialys.com> -Date: 2018-11-27 23:31:30 +0100 - - color_apply_icc_profile: avoid potential heap buffer overflow - - Derived from a patch by Thuan Pham - -commit 46822d0eddc3324b2a056bc60ffa997027bebd66 -Author: Young_X <YangX92@hotmail.com> -Date: 2018-11-23 15:58:23 +0800 - - [JPWL] imagetotga(): fix read heap buffer overflow if numcomps < 3 (#987) - - Signed-off-by: Young_X <YangX92@hotmail.com> - -commit 619e1b086eaa21ebd9b23eb67deee543b07bf06f -Author: Young_X <YangX92@hotmail.com> -Date: 2018-11-23 15:02:26 +0800 - - [JPWL] fix CVE-2018-16375 - - Signed-off-by: Young_X <YangX92@hotmail.com> - -commit c5bd64ea146162967c29bd2af0cbb845ba3eaaaf -Author: Young_X <YangX92@hotmail.com> -Date: 2018-11-23 14:47:36 +0800 - - [MJ2] To avoid divisions by zero / undefined behaviour on shift - - Signed-off-by: Young_X <YangX92@hotmail.com> - -commit 92023cd6c377e0384a7725949b25655d4d94dced -Merge: c196b23 cab352e -Author: Even Rouault <even.rouault@mines-paris.org> -Date: 2018-11-16 09:42:19 +0100 - - Merge pull request #1160 from hlef/master - - jp3d/jpwl convert: fix write stack buffer overflow - -commit c196b23b90321b5c7e3238294607a2e8626c503f -Author: ichlubna <43234438+ichlubna@users.noreply.github.com> -Date: 2018-11-16 09:40:31 +0100 - - openjp3d: Int overflow fixed (#1159) - - When compressing a lot of slices (starting from 44 FullHD slices with 3 8bit components in our experiments) the rate values are high enough to cause an int overflow that leads to negative lengths and wrong results. The cast happens too late. - -commit cab352e249ed3372dd9355c85e837613fff98fa2 -Author: Hugo Lefeuvre <hle@debian.org> -Date: 2018-11-07 18:48:29 +0100 - - jp2: convert: fix null pointer dereference - - Tile components in a JP2 image might have null data pointer by defining a - zero component size (for example using large horizontal or vertical - sampling periods). This null data pointer leads to null image component - data pointer, causing crash when dereferenced without != null check in - imagetopnm. - - Add != null check. - - This commit addresses #1152 (CVE-2018-18088). - -commit 0bc90e4062a5f9258c91eca018c019b179066c62 -Author: Hugo Lefeuvre <hle@debian.org> -Date: 2018-10-22 16:59:41 +0200 - - jp3d/jpwl convert: fix write stack buffer overflow - - Missing buffer length formatter in fscanf call might lead to write - stack buffer overflow. - - fixes #1044 (CVE-2017-17480) - -commit 948332e6ed17565100d1df5f6fdbf66865218e36 -Author: Stefan Weil <sw@weilnetz.de> -Date: 2018-10-31 20:44:30 +0100 - - Fix some potential overflow issues (#1161) - - * Fix some potential overflow issues - - Put sizeof to the beginning of the multiplication to enforce that - size_t instead of smaller integer types is used for the calculation. - - This fixes warnings from LGTM: - - Multiplication result may overflow 'unsigned int' - before it is converted to 'unsigned long'. - - It also allows removing some type casts. - - Signed-off-by: Stefan Weil <sw@weilnetz.de> - - * Fix code indentation - - Signed-off-by: Stefan Weil <sw@weilnetz.de> - -commit e52909f4c7896c5efff3340d707c12d0df55d3f9 -Merge: cd900d9 943db0f -Author: Even Rouault <even.rouault@mines-paris.org> -Date: 2018-10-31 20:41:52 +0100 - - Merge pull request #1163 from nforro/memory-and-resource-leaks - - Fix several memory and resource leaks - -commit 943db0f1c28ca6a7df6d18483f97166a03be9bf7 -Author: Nikola Forró <nforro@redhat.com> -Date: 2018-10-31 13:39:05 +0100 - - Fix several memory and resource leaks - - Signed-off-by: Nikola Forró <nforro@redhat.com> - -commit cd900d96618ab77e79812db654731dd6b5fc7bd8 -Author: Even Rouault <even.rouault@spatialys.com> -Date: 2018-10-18 11:45:45 +0200 - - opj_thread_pool_setup(): fix infinite waiting if a thread creation failed - -commit 0e6a5553cfef21b764d289585af2c6934a95456b -Merge: 8fc09e5 ca16fe5 -Author: Even Rouault <even.rouault@mines-paris.org> -Date: 2018-09-22 23:54:12 +0200 - - Merge pull request #1148 from hlef/master - - CVE-2018-5785: fix issues with zero bitmasks - -commit 8fc09e50e557fa6af4c099b9c6d36bb1071ee1ed -Author: Even Rouault <even.rouault@spatialys.com> -Date: 2018-09-22 23:47:56 +0200 - - opj_jp2_apply_pclr(): remove useless assert that can trigger on some files (fixes #1125) - -commit aaf48ee6bae91032f025f9ac11592c4085a0d96b -Merge: ee827ad cc38247 -Author: Even Rouault <even.rouault@spatialys.com> -Date: 2018-09-22 23:12:50 +0200 - - Merge branch 'pr1095' - -commit cc3824767bde397fedb8a1ae4786a222ba860c8d -Author: Karol Babioch <kbabioch@suse.de> -Date: 2018-03-02 14:40:58 +0100 - - opj_mj2_extract: Check provided output prefix for length - - This uses snprintf() with correct buffer length instead of sprintf(), which - prevents a buffer overflow when providing a long output prefix. Furthermore - the program exits with an error when the provided output prefix is too long. - - Fixes #1088. - -commit ee827ad3f32469d4854b2da71c9703a2af359f9f -Merge: 5d94bcd 1eb9a57 -Author: Even Rouault <even.rouault@spatialys.com> -Date: 2018-09-22 23:05:54 +0200 - - Merge branch 'pr1107' - -commit 1eb9a57ac1216209a4d9adf87bc47ba19810d3b3 -Author: szukw000 <szukw000@arcor.de> -Date: 2018-03-13 18:11:54 +0100 - - opj_mj2_extract: Avoid segfault for long filenames - -commit 5d94bcd89c6e281614955c56cbfebb11b866a9dd -Merge: b54c06f 0fa7ebe -Author: Even Rouault <even.rouault@mines-paris.org> -Date: 2018-09-22 22:59:36 +0200 - - Merge pull request #1136 from reverson/master - - Cast on uint ceildiv - ...