diff --git a/abi-check/abi_dump/openjpeg/current/2c999/ABI.dump b/abi-check/abi_dump/openjpeg/current/2c999/ABI.dump
index 41f5514f..95c43204 100644
--- a/abi-check/abi_dump/openjpeg/current/2c999/ABI.dump
+++ b/abi-check/abi_dump/openjpeg/current/2c999/ABI.dump
@@ -207,7 +207,7 @@ $VAR1 = {
'Source' => 'cio.c',
'SourceLine' => '271'
},
- '168288' => {
+ '169257' => {
'Header' => 'openjpeg.h',
'Line' => '1062',
'Return' => '156',
@@ -215,13 +215,13 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '160'
},
- '168616' => {
+ '169577' => {
'Header' => 'openjpeg.h',
- 'Line' => '1550',
+ 'Line' => '1583',
'Param' => {
'0' => {
'name' => 'cstr_info',
- 'type' => '168634'
+ 'type' => '169595'
}
},
'Reg' => {
@@ -230,14 +230,14 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_destroy_cstr_info',
'Source' => 'openjpeg.c',
- 'SourceLine' => '924'
+ 'SourceLine' => '966'
},
- '230684' => {
+ '231966' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_callback',
@@ -258,12 +258,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '44'
},
- '230782' => {
+ '232064' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_callback',
@@ -284,12 +284,12 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '59'
},
- '230868' => {
+ '232150' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_callback',
@@ -310,28 +310,28 @@ $VAR1 = {
'Source' => 'openjpeg.c',
'SourceLine' => '74'
},
- '230983' => {
+ '232265' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_format',
- 'type' => '219841'
+ 'type' => '221024'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '230770',
+ 'Return' => '232052',
'ShortName' => 'opj_create_decompress',
'Source' => 'openjpeg.c',
'SourceLine' => '168'
},
- '231205' => {
+ '232487' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'parameters',
- 'type' => '76838'
+ 'type' => '76897'
}
},
'Reg' => {
@@ -340,14 +340,14 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_set_default_decoder_parameters',
'Source' => 'openjpeg.c',
- 'SourceLine' => '352'
+ 'SourceLine' => '364'
},
- '231336' => {
+ '232618' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'num_threads',
@@ -361,18 +361,18 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_codec_set_threads',
'Source' => 'openjpeg.c',
- 'SourceLine' => '375'
+ 'SourceLine' => '387'
},
- '231454' => {
+ '232736' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'parameters',
- 'type' => '76838'
+ 'type' => '76897'
}
},
'Reg' => {
@@ -382,9 +382,9 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_setup_decoder',
'Source' => 'openjpeg.c',
- 'SourceLine' => '386'
+ 'SourceLine' => '398'
},
- '231596' => {
+ '232878' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -393,11 +393,11 @@ $VAR1 = {
},
'1' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'2' => {
'name' => 'p_image',
- 'type' => '76826'
+ 'type' => '76891'
}
},
'Reg' => {
@@ -408,14 +408,45 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_read_header',
'Source' => 'openjpeg.c',
- 'SourceLine' => '406'
+ 'SourceLine' => '418'
},
- '231799' => {
+ '233081' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
+ },
+ '1' => {
+ 'name' => 'numcomps',
+ 'type' => '9015'
+ },
+ '2' => {
+ 'name' => 'comps_indices',
+ 'type' => '76909'
+ },
+ '3' => {
+ 'name' => 'apply_color_transforms',
+ 'type' => '2747'
+ }
+ },
+ 'Reg' => {
+ '0' => 'rdi',
+ '1' => 'rsi',
+ '2' => 'rdx',
+ '3' => 'rcx'
+ },
+ 'Return' => '2747',
+ 'ShortName' => 'opj_set_decoded_components',
+ 'Source' => 'openjpeg.c',
+ 'SourceLine' => '442'
+ },
+ '233323' => {
+ 'Header' => 'openjpeg.h',
+ 'Param' => {
+ '0' => {
+ 'name' => 'p_codec',
+ 'type' => '232052'
},
'1' => {
'name' => 'p_stream',
@@ -423,7 +454,7 @@ $VAR1 = {
},
'2' => {
'name' => 'p_image',
- 'type' => '21108'
+ 'type' => '21114'
}
},
'Reg' => {
@@ -434,18 +465,18 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_decode',
'Source' => 'openjpeg.c',
- 'SourceLine' => '429'
+ 'SourceLine' => '471'
},
- '231953' => {
+ '233477' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_image',
- 'type' => '21108'
+ 'type' => '21114'
},
'2' => {
'name' => 'p_start_x',
@@ -475,14 +506,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_set_decode_area',
'Source' => 'openjpeg.c',
- 'SourceLine' => '450'
+ 'SourceLine' => '492'
},
- '232161' => {
+ '233685' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_stream',
@@ -519,7 +550,7 @@ $VAR1 = {
},
'9' => {
'name' => 'p_should_go_on',
- 'type' => '76832'
+ 'type' => '23214'
}
},
'Reg' => {
@@ -536,14 +567,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_read_tile_header',
'Source' => 'openjpeg.c',
- 'SourceLine' => '473'
+ 'SourceLine' => '515'
},
- '232379' => {
+ '233903' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_tile_index',
@@ -572,14 +603,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_decode_tile_data',
'Source' => 'openjpeg.c',
- 'SourceLine' => '504'
+ 'SourceLine' => '546'
},
- '232579' => {
+ '234103' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_stream',
@@ -587,7 +618,7 @@ $VAR1 = {
},
'2' => {
'name' => 'p_image',
- 'type' => '21108'
+ 'type' => '21114'
},
'3' => {
'name' => 'tile_index',
@@ -603,14 +634,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_get_decoded_tile',
'Source' => 'openjpeg.c',
- 'SourceLine' => '530'
+ 'SourceLine' => '572'
},
- '232756' => {
+ '234280' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'res_factor',
@@ -624,30 +655,30 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_set_decoded_resolution_factor',
'Source' => 'openjpeg.c',
- 'SourceLine' => '554'
+ 'SourceLine' => '596'
},
- '232865' => {
+ '234389' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_format',
- 'type' => '219841'
+ 'type' => '221024'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '230770',
+ 'Return' => '232052',
'ShortName' => 'opj_create_compress',
'Source' => 'openjpeg.c',
- 'SourceLine' => '572'
+ 'SourceLine' => '614'
},
- '233090' => {
+ '234614' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'parameters',
- 'type' => '76850'
+ 'type' => '76920'
}
},
'Reg' => {
@@ -656,22 +687,22 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_set_default_encoder_parameters',
'Source' => 'openjpeg.c',
- 'SourceLine' => '670'
+ 'SourceLine' => '712'
},
- '233221' => {
+ '234745' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'parameters',
- 'type' => '76850'
+ 'type' => '76920'
},
'2' => {
'name' => 'p_image',
- 'type' => '21108'
+ 'type' => '21114'
}
},
'Reg' => {
@@ -682,18 +713,18 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_setup_encoder',
'Source' => 'openjpeg.c',
- 'SourceLine' => '731'
+ 'SourceLine' => '773'
},
- '233359' => {
+ '234883' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_image',
- 'type' => '21108'
+ 'type' => '21114'
},
'2' => {
'name' => 'p_stream',
@@ -708,14 +739,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_start_compress',
'Source' => 'openjpeg.c',
- 'SourceLine' => '749'
+ 'SourceLine' => '791'
},
- '233513' => {
+ '235037' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_info',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_stream',
@@ -729,14 +760,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_encode',
'Source' => 'openjpeg.c',
- 'SourceLine' => '768'
+ 'SourceLine' => '810'
},
- '233644' => {
+ '235168' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_stream',
@@ -750,14 +781,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_end_compress',
'Source' => 'openjpeg.c',
- 'SourceLine' => '785'
+ 'SourceLine' => '827'
},
- '233775' => {
+ '235299' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_stream',
@@ -771,14 +802,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_end_decompress',
'Source' => 'openjpeg.c',
- 'SourceLine' => '802'
+ 'SourceLine' => '844'
},
- '233906' => {
+ '235430' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'parameters',
- 'type' => '76850'
+ 'type' => '76920'
},
'1' => {
'name' => 'pEncodingMatrix',
@@ -802,14 +833,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_set_MCT',
'Source' => 'openjpeg.c',
- 'SourceLine' => '822'
+ 'SourceLine' => '864'
},
- '234252' => {
+ '235776' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'p_tile_index',
@@ -838,14 +869,14 @@ $VAR1 = {
'Return' => '2747',
'ShortName' => 'opj_write_tile',
'Source' => 'openjpeg.c',
- 'SourceLine' => '852'
+ 'SourceLine' => '894'
},
- '234452' => {
+ '235976' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
}
},
'Reg' => {
@@ -854,14 +885,14 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_destroy_codec',
'Source' => 'openjpeg.c',
- 'SourceLine' => '879'
+ 'SourceLine' => '921'
},
- '234553' => {
+ '236077' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
},
'1' => {
'name' => 'info_flag',
@@ -869,7 +900,7 @@ $VAR1 = {
},
'2' => {
'name' => 'output_stream',
- 'type' => '76856'
+ 'type' => '76926'
}
},
'Reg' => {
@@ -880,46 +911,46 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_dump_codec',
'Source' => 'openjpeg.c',
- 'SourceLine' => '897'
+ 'SourceLine' => '939'
},
- '234690' => {
+ '236214' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '76862',
+ 'Return' => '76932',
'ShortName' => 'opj_get_cstr_info',
'Source' => 'openjpeg.c',
- 'SourceLine' => '913'
+ 'SourceLine' => '955'
},
- '234854' => {
+ '236378' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_codec',
- 'type' => '230770'
+ 'type' => '232052'
}
},
'Reg' => {
'0' => 'rdi'
},
- 'Return' => '74658',
+ 'Return' => '74710',
'ShortName' => 'opj_get_cstr_index',
'Source' => 'openjpeg.c',
- 'SourceLine' => '941'
+ 'SourceLine' => '983'
},
- '234939' => {
+ '236463' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'p_cstr_index',
- 'type' => '234999'
+ 'type' => '236523'
}
},
'Reg' => {
@@ -928,9 +959,9 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_destroy_cstr_index',
'Source' => 'openjpeg.c',
- 'SourceLine' => '952'
+ 'SourceLine' => '994'
},
- '235005' => {
+ '236529' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -954,9 +985,9 @@ $VAR1 = {
'Return' => '14551',
'ShortName' => 'opj_stream_create_file_stream',
'Source' => 'openjpeg.c',
- 'SourceLine' => '967'
+ 'SourceLine' => '1009'
},
- '235124' => {
+ '236648' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -975,7 +1006,7 @@ $VAR1 = {
'Return' => '14551',
'ShortName' => 'opj_stream_create_default_file_stream',
'Source' => 'openjpeg.c',
- 'SourceLine' => '960'
+ 'SourceLine' => '1002'
},
'3808' => {
'Header' => 'openjpeg.h',
@@ -991,12 +1022,12 @@ $VAR1 = {
'Source' => 'thread.c',
'SourceLine' => '300'
},
- '61066' => {
+ '61085' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
'name' => 'image',
- 'type' => '21108'
+ 'type' => '21114'
}
},
'Reg' => {
@@ -1007,7 +1038,7 @@ $VAR1 = {
'Source' => 'image.c',
'SourceLine' => '92'
},
- '61244' => {
+ '61263' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1016,7 +1047,7 @@ $VAR1 = {
},
'1' => {
'name' => 'cmptparms',
- 'type' => '61595'
+ 'type' => '61614'
},
'2' => {
'name' => 'clrspc',
@@ -1028,12 +1059,12 @@ $VAR1 = {
'1' => 'rsi',
'2' => 'rdx'
},
- 'Return' => '21108',
+ 'Return' => '21114',
'ShortName' => 'opj_image_create',
'Source' => 'image.c',
'SourceLine' => '40'
},
- '63317' => {
+ '63336' => {
'Header' => 'openjpeg.h',
'Param' => {
'0' => {
@@ -1042,7 +1073,7 @@ $VAR1 = {
},
'1' => {
'name' => 'cmptparms',
- 'type' => '61595'
+ 'type' => '61614'
},
'2' => {
'name' => 'clrspc',
@@ -1054,12 +1085,12 @@ $VAR1 = {
'1' => 'rsi',
'2' => 'rdx'
},
- 'Return' => '21108',
+ 'Return' => '21114',
'ShortName' => 'opj_image_tile_create',
'Source' => 'image.c',
'SourceLine' => '228'
},
- '63596' => {
+ '63615' => {
'Header' => 'openjpeg.h',
'Line' => '1119',
'Param' => {
@@ -1074,9 +1105,9 @@ $VAR1 = {
'Return' => '1',
'ShortName' => 'opj_image_data_free',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1019'
+ 'SourceLine' => '1061'
},
- '63660' => {
+ '63679' => {
'Header' => 'openjpeg.h',
'Line' => '1109',
'Param' => {
@@ -1091,7 +1122,7 @@ $VAR1 = {
'Return' => '130',
'ShortName' => 'opj_image_data_alloc',
'Source' => 'openjpeg.c',
- 'SourceLine' => '1012'
+ 'SourceLine' => '1054'
}
},
'SymbolVersion' => {
@@ -1130,6 +1161,7 @@ $VAR1 = {
'opj_read_tile_header' => 1,
'opj_set_MCT' => 1,
'opj_set_decode_area' => 1,
+ 'opj_set_decoded_components' => 1,
'opj_set_decoded_resolution_factor' => 1,
'opj_set_default_decoder_parameters' => 1,
'opj_set_default_encoder_parameters' => 1,
@@ -1386,8 +1418,8 @@ $VAR1 = {
'Size' => '1',
'Type' => 'Const'
},
- '168634' => {
- 'BaseType' => '76862',
+ '169595' => {
+ 'BaseType' => '76932',
'Name' => 'opj_codestream_info_v2_t**',
'Size' => '8',
'Type' => 'Pointer'
@@ -1873,13 +1905,13 @@ $VAR1 = {
'Size' => '132',
'Type' => 'Array'
},
- '21108' => {
+ '21114' => {
'BaseType' => '19332',
'Name' => 'opj_image_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '219791' => {
+ '220974' => {
'Header' => 'openjpeg.h',
'Line' => '292',
'Memb' => {
@@ -1912,15 +1944,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '219841' => {
- 'BaseType' => '219791',
+ '221024' => {
+ 'BaseType' => '220974',
'Header' => 'openjpeg.h',
'Line' => '299',
'Name' => 'OPJ_CODEC_FORMAT',
'Size' => '4',
'Type' => 'Typedef'
},
- '221598' => {
+ '222781' => {
'BaseType' => '130',
'Header' => 'openjpeg.h',
'Line' => '578',
@@ -2093,14 +2125,26 @@ $VAR1 = {
'Size' => '216',
'Type' => 'Struct'
},
- '230770' => {
- 'BaseType' => '221598',
+ '232052' => {
+ 'BaseType' => '222781',
'Name' => 'opj_codec_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '234999' => {
- 'BaseType' => '74658',
+ '23214' => {
+ 'BaseType' => '2747',
+ 'Name' => 'OPJ_BOOL*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '23248' => {
+ 'BaseType' => '9015',
+ 'Name' => 'OPJ_UINT32 const',
+ 'Size' => '4',
+ 'Type' => 'Const'
+ },
+ '236523' => {
+ 'BaseType' => '74710',
'Name' => 'opj_codestream_index_t**',
'Size' => '8',
'Type' => 'Pointer'
@@ -2184,7 +2228,7 @@ $VAR1 = {
'Size' => '2',
'Type' => 'Intrinsic'
},
- '58921' => {
+ '58940' => {
'Header' => 'openjpeg.h',
'Line' => '694',
'Memb' => {
@@ -2243,16 +2287,16 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Intrinsic'
},
- '59044' => {
- 'BaseType' => '58921',
+ '59063' => {
+ 'BaseType' => '58940',
'Header' => 'openjpeg.h',
'Line' => '713',
'Name' => 'opj_image_cmptparm_t',
'Size' => '36',
'Type' => 'Typedef'
},
- '61595' => {
- 'BaseType' => '59044',
+ '61614' => {
+ 'BaseType' => '59063',
'Name' => 'opj_image_cmptparm_t*',
'Size' => '8',
'Type' => 'Pointer'
@@ -2262,7 +2306,7 @@ $VAR1 = {
'Size' => '8',
'Type' => 'Intrinsic'
},
- '66835' => {
+ '66854' => {
'BaseType' => '2250',
'Header' => 'stdio.h',
'Line' => '49',
@@ -2270,7 +2314,7 @@ $VAR1 = {
'Size' => '216',
'Type' => 'Typedef'
},
- '67552' => {
+ '67571' => {
'Header' => 'openjpeg.h',
'Line' => '246',
'Memb' => {
@@ -2295,15 +2339,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '67591' => {
- 'BaseType' => '67552',
+ '67610' => {
+ 'BaseType' => '67571',
'Header' => 'openjpeg.h',
'Line' => '251',
'Name' => 'OPJ_RSIZ_CAPABILITIES',
'Size' => '4',
'Type' => 'Typedef'
},
- '67602' => {
+ '67621' => {
'Header' => 'openjpeg.h',
'Line' => '257',
'Memb' => {
@@ -2328,15 +2372,15 @@ $VAR1 = {
'Size' => '4',
'Type' => 'Enum'
},
- '67640' => {
- 'BaseType' => '67602',
+ '67659' => {
+ 'BaseType' => '67621',
'Header' => 'openjpeg.h',
'Line' => '262',
'Name' => 'OPJ_CINEMA_MODE',
'Size' => '4',
'Type' => 'Typedef'
},
- '68324' => {
+ '68343' => {
'Header' => 'openjpeg.h',
'Line' => '353',
'Memb' => {
@@ -2378,12 +2422,12 @@ $VAR1 = {
'15' => {
'name' => 'tcp_rates',
'offset' => '4800',
- 'type' => '69188'
+ 'type' => '69207'
},
'16' => {
'name' => 'tcp_distoratio',
'offset' => '5200',
- 'type' => '69188'
+ 'type' => '69207'
},
'17' => {
'name' => 'numresolution',
@@ -2433,22 +2477,22 @@ $VAR1 = {
'25' => {
'name' => 'prcw_init',
'offset' => '5632',
- 'type' => '69204'
+ 'type' => '69223'
},
'26' => {
'name' => 'prch_init',
'offset' => '5764',
- 'type' => '69204'
+ 'type' => '69223'
},
'27' => {
'name' => 'infile',
'offset' => '5896',
- 'type' => '69220'
+ 'type' => '69239'
},
'28' => {
'name' => 'outfile',
'offset' => '9992',
- 'type' => '69220'
+ 'type' => '69239'
},
'29' => {
'name' => 'index_on',
@@ -2463,7 +2507,7 @@ $VAR1 = {
'30' => {
'name' => 'index',
'offset' => '14092',
- 'type' => '69220'
+ 'type' => '69239'
},
'31' => {
'name' => 'image_offset_x0',
@@ -2508,7 +2552,7 @@ $VAR1 = {
'39' => {
'name' => 'jpwl_hprot_TPH_tileno',
'offset' => '18220',
- 'type' => '69237'
+ 'type' => '69256'
},
'4' => {
'name' => 'cp_tdy',
@@ -2518,22 +2562,22 @@ $VAR1 = {
'40' => {
'name' => 'jpwl_hprot_TPH',
'offset' => '18284',
- 'type' => '69237'
+ 'type' => '69256'
},
'41' => {
'name' => 'jpwl_pprot_tileno',
'offset' => '18348',
- 'type' => '69237'
+ 'type' => '69256'
},
'42' => {
'name' => 'jpwl_pprot_packno',
'offset' => '18412',
- 'type' => '69237'
+ 'type' => '69256'
},
'43' => {
'name' => 'jpwl_pprot',
'offset' => '18476',
- 'type' => '69237'
+ 'type' => '69256'
},
'44' => {
'name' => 'jpwl_sens_size',
@@ -2558,12 +2602,12 @@ $VAR1 = {
'48' => {
'name' => 'jpwl_sens_TPH_tileno',
'offset' => '18556',
- 'type' => '69237'
+ 'type' => '69256'
},
'49' => {
'name' => 'jpwl_sens_TPH',
'offset' => '18620',
- 'type' => '69237'
+ 'type' => '69256'
},
'5' => {
'name' => 'cp_disto_alloc',
@@ -2573,7 +2617,7 @@ $VAR1 = {
'50' => {
'name' => 'cp_cinema',
'offset' => '18684',
- 'type' => '67640'
+ 'type' => '67659'
},
'51' => {
'name' => 'max_comp_size',
@@ -2583,7 +2627,7 @@ $VAR1 = {
'52' => {
'name' => 'cp_rsiz',
'offset' => '18692',
- 'type' => '67591'
+ 'type' => '67610'
},
'53' => {
'name' => 'tp_on',
@@ -2633,7 +2677,7 @@ $VAR1 = {
'8' => {
'name' => 'cp_matrice',
'offset' => '32',
- 'type' => '69166'
+ 'type' => '69185'
},
'9' => {
'name' => 'cp_comment',
@@ -2645,45 +2689,45 @@ $VAR1 = {
'Size' => '18720',
'Type' => 'Struct'
},
- '69166' => {
+ '69185' => {
'BaseType' => '87',
'Name' => 'int*',
'Size' => '8',
'Type' => 'Pointer'
},
- '69188' => {
+ '69207' => {
'BaseType' => '2236',
'Name' => 'float[100]',
'Size' => '400',
'Type' => 'Array'
},
- '69204' => {
+ '69223' => {
'BaseType' => '87',
'Name' => 'int[33]',
'Size' => '132',
'Type' => 'Array'
},
- '69220' => {
+ '69239' => {
'BaseType' => '138',
'Name' => 'char[4096]',
'Size' => '4096',
'Type' => 'Array'
},
- '69237' => {
+ '69256' => {
'BaseType' => '87',
'Name' => 'int[16]',
'Size' => '64',
'Type' => 'Array'
},
- '69253' => {
- 'BaseType' => '68324',
+ '69272' => {
+ 'BaseType' => '68343',
'Header' => 'openjpeg.h',
'Line' => '504',
'Name' => 'opj_cparameters_t',
'Size' => '18720',
'Type' => 'Typedef'
},
- '69265' => {
+ '69284' => {
'Header' => 'openjpeg.h',
'Line' => '512',
'Memb' => {
@@ -2735,12 +2779,12 @@ $VAR1 = {
'2' => {
'name' => 'infile',
'offset' => '8',
- 'type' => '69220'
+ 'type' => '69239'
},
'3' => {
'name' => 'outfile',
'offset' => '4104',
- 'type' => '69220'
+ 'type' => '69239'
},
'4' => {
'name' => 'decod_format',
@@ -2777,15 +2821,15 @@ $VAR1 = {
'Size' => '8252',
'Type' => 'Struct'
},
- '69515' => {
- 'BaseType' => '69265',
+ '69534' => {
+ 'BaseType' => '69284',
'Header' => 'openjpeg.h',
'Line' => '572',
'Name' => 'opj_dparameters_t',
'Size' => '8252',
'Type' => 'Typedef'
},
- '70031' => {
+ '70050' => {
'Header' => 'openjpeg.h',
'Line' => '726',
'Memb' => {
@@ -2814,15 +2858,15 @@ $VAR1 = {
'Size' => '32',
'Type' => 'Struct'
},
- '70097' => {
- 'BaseType' => '70031',
+ '70116' => {
+ 'BaseType' => '70050',
'Header' => 'openjpeg.h',
'Line' => '735',
'Name' => 'opj_packet_info_t',
'Size' => '32',
'Type' => 'Typedef'
},
- '70109' => {
+ '70128' => {
'Header' => 'openjpeg.h',
'Line' => '742',
'Memb' => {
@@ -2846,27 +2890,27 @@ $VAR1 = {
'Size' => '24',
'Type' => 'Struct'
},
- '70162' => {
- 'BaseType' => '70109',
+ '70181' => {
+ 'BaseType' => '70128',
'Header' => 'openjpeg.h',
'Line' => '749',
'Name' => 'opj_marker_info_t',
'Size' => '24',
'Type' => 'Typedef'
},
- '70514' => {
- 'BaseType' => '70097',
+ '70533' => {
+ 'BaseType' => '70116',
'Name' => 'opj_packet_info_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '70520' => {
- 'BaseType' => '70162',
+ '70539' => {
+ 'BaseType' => '70181',
'Name' => 'opj_marker_info_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '70860' => {
+ '70879' => {
'Header' => 'openjpeg.h',
'Line' => '866',
'Memb' => {
@@ -2933,33 +2977,33 @@ $VAR1 = {
'8' => {
'name' => 'stepsizes_mant',
'offset' => '32',
- 'type' => '71062'
+ 'type' => '71081'
},
'9' => {
'name' => 'stepsizes_expn',
'offset' => '420',
- 'type' => '71062'
+ 'type' => '71081'
}
},
'Name' => 'struct opj_tccp_info',
'Size' => '1080',
'Type' => 'Struct'
},
- '71062' => {
+ '71081' => {
'BaseType' => '9015',
'Name' => 'OPJ_UINT32[97]',
'Size' => '388',
'Type' => 'Array'
},
- '71094' => {
- 'BaseType' => '70860',
+ '71113' => {
+ 'BaseType' => '70879',
'Header' => 'openjpeg.h',
'Line' => '896',
'Name' => 'opj_tccp_info_t',
'Size' => '1080',
'Type' => 'Typedef'
},
- '71106' => {
+ '71125' => {
'Header' => 'openjpeg.h',
'Line' => '901',
'Memb' => {
@@ -2991,28 +3035,28 @@ $VAR1 = {
'5' => {
'name' => 'tccp_info',
'offset' => '24',
- 'type' => '71198'
+ 'type' => '71217'
}
},
'Name' => 'struct opj_tile_v2_info',
'Size' => '32',
'Type' => 'Struct'
},
- '71198' => {
- 'BaseType' => '71094',
+ '71217' => {
+ 'BaseType' => '71113',
'Name' => 'opj_tccp_info_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71204' => {
- 'BaseType' => '71106',
+ '71223' => {
+ 'BaseType' => '71125',
'Header' => 'openjpeg.h',
'Line' => '917',
'Name' => 'opj_tile_info_v2_t',
'Size' => '32',
'Type' => 'Typedef'
},
- '71216' => {
+ '71235' => {
'Header' => 'openjpeg.h',
'Line' => '922',
'Memb' => {
@@ -3054,33 +3098,33 @@ $VAR1 = {
'7' => {
'name' => 'm_default_tile_info',
'offset' => '32',
- 'type' => '71204'
+ 'type' => '71223'
},
'8' => {
'name' => 'tile_info',
'offset' => '64',
- 'type' => '71345'
+ 'type' => '71364'
}
},
'Name' => 'struct opj_codestream_info_v2',
'Size' => '72',
'Type' => 'Struct'
},
- '71345' => {
- 'BaseType' => '71204',
+ '71364' => {
+ 'BaseType' => '71223',
'Name' => 'opj_tile_info_v2_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71351' => {
- 'BaseType' => '71216',
+ '71370' => {
+ 'BaseType' => '71235',
'Header' => 'openjpeg.h',
'Line' => '946',
'Name' => 'opj_codestream_info_v2_t',
'Size' => '72',
'Type' => 'Typedef'
},
- '71363' => {
+ '71382' => {
'Header' => 'openjpeg.h',
'Line' => '952',
'Memb' => {
@@ -3104,15 +3148,15 @@ $VAR1 = {
'Size' => '24',
'Type' => 'Struct'
},
- '71416' => {
- 'BaseType' => '71363',
+ '71435' => {
+ 'BaseType' => '71382',
'Header' => 'openjpeg.h',
'Line' => '960',
'Name' => 'opj_tp_index_t',
'Size' => '24',
'Type' => 'Typedef'
},
- '71428' => {
+ '71447' => {
'Header' => 'openjpeg.h',
'Line' => '965',
'Memb' => {
@@ -3139,7 +3183,7 @@ $VAR1 = {
'4' => {
'name' => 'tp_index',
'offset' => '16',
- 'type' => '71572'
+ 'type' => '71591'
},
'5' => {
'name' => 'marknum',
@@ -3149,7 +3193,7 @@ $VAR1 = {
'6' => {
'name' => 'marker',
'offset' => '32',
- 'type' => '70520'
+ 'type' => '70539'
},
'7' => {
'name' => 'maxmarknum',
@@ -3164,28 +3208,28 @@ $VAR1 = {
'9' => {
'name' => 'packet_index',
'offset' => '48',
- 'type' => '70514'
+ 'type' => '70533'
}
},
'Name' => 'struct opj_tile_index',
'Size' => '56',
'Type' => 'Struct'
},
- '71572' => {
- 'BaseType' => '71416',
+ '71591' => {
+ 'BaseType' => '71435',
'Name' => 'opj_tp_index_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71578' => {
- 'BaseType' => '71428',
+ '71597' => {
+ 'BaseType' => '71447',
'Header' => 'openjpeg.h',
'Line' => '992',
'Name' => 'opj_tile_index_t',
'Size' => '56',
'Type' => 'Typedef'
},
- '71590' => {
+ '71609' => {
'Header' => 'openjpeg.h',
'Line' => '997',
'Memb' => {
@@ -3212,7 +3256,7 @@ $VAR1 = {
'4' => {
'name' => 'marker',
'offset' => '32',
- 'type' => '70520'
+ 'type' => '70539'
},
'5' => {
'name' => 'maxmarknum',
@@ -3227,21 +3271,21 @@ $VAR1 = {
'7' => {
'name' => 'tile_index',
'offset' => '48',
- 'type' => '71708'
+ 'type' => '71727'
}
},
'Name' => 'struct opj_codestream_index',
'Size' => '56',
'Type' => 'Struct'
},
- '71708' => {
- 'BaseType' => '71578',
+ '71727' => {
+ 'BaseType' => '71597',
'Name' => 'opj_tile_index_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '71714' => {
- 'BaseType' => '71590',
+ '71733' => {
+ 'BaseType' => '71609',
'Header' => 'openjpeg.h',
'Line' => '1020',
'Name' => 'opj_codestream_index_t',
@@ -3253,44 +3297,44 @@ $VAR1 = {
'Size' => '1',
'Type' => 'Intrinsic'
},
- '74658' => {
- 'BaseType' => '71714',
+ '74710' => {
+ 'BaseType' => '71733',
'Name' => 'opj_codestream_index_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76826' => {
- 'BaseType' => '21108',
+ '76891' => {
+ 'BaseType' => '21114',
'Name' => 'opj_image_t**',
'Size' => '8',
'Type' => 'Pointer'
},
- '76832' => {
- 'BaseType' => '2747',
- 'Name' => 'OPJ_BOOL*',
- 'Size' => '8',
- 'Type' => 'Pointer'
- },
- '76838' => {
- 'BaseType' => '69515',
+ '76897' => {
+ 'BaseType' => '69534',
'Name' => 'opj_dparameters_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76850' => {
- 'BaseType' => '69253',
+ '76909' => {
+ 'BaseType' => '23248',
+ 'Name' => 'OPJ_UINT32 const*',
+ 'Size' => '8',
+ 'Type' => 'Pointer'
+ },
+ '76920' => {
+ 'BaseType' => '69272',
'Name' => 'opj_cparameters_t*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76856' => {
- 'BaseType' => '66835',
+ '76926' => {
+ 'BaseType' => '66854',
'Name' => 'FILE*',
'Size' => '8',
'Type' => 'Pointer'
},
- '76862' => {
- 'BaseType' => '71351',
+ '76932' => {
+ 'BaseType' => '71370',
'Name' => 'opj_codestream_info_v2_t*',
'Size' => '8',
'Type' => 'Pointer'
diff --git a/abi-check/abi_dump/openjpeg/current/2c999/meta.json b/abi-check/abi_dump/openjpeg/current/2c999/meta.json
index c640a624..458fe7f0 100644
--- a/abi-check/abi_dump/openjpeg/current/2c999/meta.json
+++ b/abi-check/abi_dump/openjpeg/current/2c999/meta.json
@@ -1,7 +1,7 @@
{
"Object": "lib/libopenjp2.so.2.2.0",
"Lang": "C",
- "TotalSymbols": "48",
+ "TotalSymbols": "49",
"PublicABI": "1",
"Version": "1.7"
}
\ No newline at end of file
diff --git a/abi-check/changelog/openjpeg/current/log.html b/abi-check/changelog/openjpeg/current/log.html
index 56bb889f..850fe0ba 100644
--- a/abi-check/changelog/openjpeg/current/log.html
+++ b/abi-check/changelog/openjpeg/current/log.html
@@ -20,7 +20,16 @@
commit 3f0de88c7bf4e56826987aa7d3edb5acdd4399f2 +commit d45ccb048bb2166c5d975f4e1b8acaf8ba3d198d +Merge: 3f0de88 e17bbde +Author: Antonin Descampe <antonin@descampe.net> +Date: 2017-09-26 18:30:20 -0300 + + Merge pull request #1022 from rouault/partial_component_decoding + + Add capability to decode only a subset of all components of an image. + +commit 3f0de88c7bf4e56826987aa7d3edb5acdd4399f2 Author: Even Rouault <even.rouault@spatialys.com> Date: 2017-09-22 21:43:09 +0200 @@ -144,6 +153,28 @@ Date: 2017-09-19 18:22:07 +0200 Replace C++ style comments by C ones +commit e17bbde9066600528ab523adee69d9c9c33ba157 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-19 17:48:07 +0200 + + opj_set_decoded_components(): add a provision for a apply_color_transforms parameter in case we support it in the future + +commit 7e2b6bebff12eab8bdc17fc9af017e8c11652f4f +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-19 16:52:07 +0200 + + Add capability to decode only a subset of all components of an image. + + This adds a opj_set_decoded_components(opj_codec_t *p_codec, + OPJ_UINT32 numcomps, const OPJ_UINT32* comps_indices) function, + and equivalent "opj_decompress -c compno[,compno]*" option. + + When specified, neither the MCT transform nor JP2 channel transformations + will be applied. + + Tests added for various combinations of whole image vs tiled-based decoding, + full or reduced resolution, use of decode area or not. + commit ce199f42e77f972d6ee782b63492f6d861891053 Author: Even Rouault <even.rouault@spatialys.com> Date: 2017-09-19 12:48:12 +0200 @@ -393,6 +424,102 @@ Date: 2017-09-01 16:30:50 +0200 Optimize reading/write into sparse array +commit 0ae3cba3404674bbe2028ea9a801301a4c951b33 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:48 +0200 + + Allow several repeated calls to opj_set_decode_area() and opj_decode() for single-tiled images + + * Only works for single-tiled images --> will error out cleanly, as currently + in other cases + * Save re-reading the codestream for the tile, and re-use code-blocks of the + previous decoding pass. + * Future improvements might involve improving opj_decompress, and the image writing logic, + to use this strategy. + +commit 5d07d463fdb0a5eeffa90eba1566cc21697011b8 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:45 +0200 + + opj_j2k_decode_tiles(): apply whole single tile image decoding optimization to reading at reduced resolution as well + +commit 98b93103613c90753fb6c57696f9403f8ea0b1d6 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:44 +0200 + + Various changes to allow tile buffers of more than 4giga pixels + + Untested though, since that means a tile buffer of at least 16 GB. So + there might be places where uint32 overflow on multiplication still occur... + +commit 008a12d4fce0a7b1eabc51e04ed339be759646e2 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:41 +0200 + + TCD: allow tile buffer to be greater than 4GB on 64 bit hosts (but number of pixels must remain under 4 billion) + +commit d1299d9670d766006a7a162a770d3b70eaeef9bd +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:39 +0200 + + Fix compiler warning in release mode + +commit d5153ba404fa13b9c6e7b2c20d4d128aac718fba +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:37 +0200 + + Remove limitation that prevents from opening images bigger than 4 billion pixels + + However the intermediate buffer for decoding must still be smaller than 4 + billion pixels, so this is useful for decoding at a lower resolution level, + or subtile decoding. + +commit c37e360a5112b5471168e429159f61b74c0c2f58 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:35 +0200 + + opj_tcd_init_tile(): fix typo on overflow detection condition (introduced in previous commit) + +commit eee5104a8885227167a349b6dabdb1f72a04d9d0 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:32 +0200 + + opj_dwt_decode_partial_tile(): avoid undefined behaviour in lifting operation by properly initializing working buffer + +commit f9e9942330f476b66ac4a35d0ae521200878f343 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-09-01 16:30:29 +0200 + + Sub-tile decoding: only allocate tile component buffer of the needed dimension + + Instead of being the full tile size. + + * Use a sparse array mechanism to store code-blocks and intermediate stages of + IDWT. + * IDWT, DC level shift and MCT stages are done just on that smaller array. + * Improve copy of tile component array to final image, by saving an intermediate + buffer. + * For full-tile decoding at reduced resolution, only allocate the tile buffer to + the reduced size, instead of the full-resolution size. + +commit aa7198146b995fe2993ce24f5715057b7da0386d +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-21 23:21:39 +0200 + + opj_compress: reorder checks related to code block dimensions, to avoid potential int overflow + +commit 0a25dceca7761ee3f16cbb2ced87b915a948b25e +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-21 23:20:51 +0200 + + opj_j2k_setup_encoder(): validate code block width/height + +commit 84bbb4a8743a93d567f40d7233d5196105c8d84e +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-21 23:12:45 +0200 + + opj_t1_allocate_buffers(): remove useless overflow checks + commit 6ce49bf5aebb3c45c464fa82d14cfd4bf7026a28 Author: Even Rouault <even.rouault@spatialys.com> Date: 2017-09-01 10:26:18 +0200 @@ -464,6 +591,116 @@ Date: 2017-08-24 14:09:31 +0200 imagetopgx(): improve performance in 8 bit case (relates to broken.jpc test case) +commit fdcd4e6365731cc1015213e424068131bcd1f31f +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-24 13:23:25 +0200 + + Remove -NR-DEC-p1_06.j2k-156-decode and NR-DEC-p1_06.j2k-164-decode from knownfailures + + and make them explicit failures. The result images are empty at the requested resolution + +commit bc71bd1219269057ea18e6acbc77a96ec37aba82 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-23 18:58:32 +0200 + + opj_dwt_decode_partial_97(): perf improvement: limit copy of coefficients at end of horizontal pass to actual range of interest + +commit 8180eeace13ffceef5dd7c3f80be156e36181846 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-21 23:06:53 +0200 + + test_tile_encoder: fix checks on argc + +commit c97666f72ba26a7ceb64931963b988a6f8f377f9 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-21 19:02:04 +0200 + + j2k.c: fix comment, and remove FIXME + +commit 24d069e3ffa2286930a2e7e2638431ea1de6846a +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-21 17:19:13 +0200 + + Add comment + +commit e9bbc6d3dde946bdb5195f053f24b91335d5d84c +Merge: 3eed024 17a7ac4 +Author: Even Rouault <even.rouault@mines-paris.org> +Date: 2017-08-21 13:02:07 +0200 + + Merge pull request #1001 from rouault/subtile_decoding_stage2 + + Subtile decoding: only apply IDWT on areas that participate to the window of interest + +commit 17a7ac42d581c537cfc1da4324e53047ad82b13e +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-21 12:25:38 +0200 + + Add comments for filter_width values + +commit f87c5ef7ebef3d7a908e98f2de1b6a0336ae57ae +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-20 22:02:41 +0200 + + Subtile decoding: only do 9x7 IDWT computations on relevant areas of tile-component buffer. + +commit 3eed024eb45534f86537404e08d08fa572a40782 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-19 15:45:54 +0200 + + pgxtoimage(): avoid excessive memory allocation attempt (#999) + +commit 5d403250561398f7ba3041d9eb8c893bd680dd72 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-18 15:08:51 +0200 + + Subtile decoding: only do 5x3 IDWT computations on relevant areas of tile-component buffer. + + This lowers 'bin/opj_decompress -i ../MAPA.jp2 -o out.tif -d 0,0,256,256' + down to 0.860s + +commit e5285319229a5d77bf316bb0d3a6cbd3cb8666d9 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-18 13:39:20 +0200 + + pgxtoimage(): fix write stack buffer overflow (#997) + +commit 028c504a43e962a725c4fd73d6642ee73c653e1b +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-18 12:30:11 +0200 + + test_decode_area: fix to make it work with odd image dimensions + +commit 5597522cac96b1bc6d48a447751b1c6049248eef +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-18 10:16:38 +0200 + + bmp_read_rle8_data(): avoid potential infinite loop (#996) + +commit 5d12806091eab0659431fefcefdb797b09f8e884 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-17 19:18:48 +0200 + + opj_j2k_update_rates(): grow tile size buffer for some situations + +commit 4b0bfbfabc3ce1cc4c6d18dc7113b9f6335372d4 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-17 16:07:19 +0200 + + Zero-initialize tile buffer regions of skipped code-blocks, so as to make Valgrind happy + +commit fe338a057c39797bf61939471ebaef09e44464c7 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-14 13:23:57 +0200 + + Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area() + +commit 17ea17f487a777d14bd322ac06c4e6cb9124a226 +Author: Even Rouault <even.rouault@spatialys.com> +Date: 2017-08-17 19:05:29 +0200 + + Fix -Wconversion warning + ...
diff --git a/abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/abi_compat_report.html b/abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/abi_compat_report.html index 829e0292..f1dcb188 100644 --- a/abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/abi_compat_report.html +++ b/abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/abi_compat_report.html @@ -1,4 +1,4 @@ - +
@@ -287,7 +287,7 @@ function showContent(header, id)
-
Severity | Count | |
---|---|---|
Added Symbols | - | 0 |
Severity | Count | |
---|---|---|
Added Symbols | - | 1 |
Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
Medium | 0 | |
Problems with Constants | Low | 0 |
-
Severity | Count | |
---|---|---|
Added Symbols | - | 0 |
Severity | Count | |
---|---|---|
Added Symbols | - | 1 |
Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
Medium | 0 | |
Problems with Constants | Low | 0 |
-
Severity | Count | |||
---|---|---|---|---|
Added Symbols | - | 0 |
Severity | Count | |
---|---|---|
Added Symbols | - | 1 |
Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
Medium | 0 | |
Problems with Constants | Low | 0 |
diff --git a/abi-check/installed/openjpeg/current/include/openjpeg-2.2/openjpeg.h b/abi-check/installed/openjpeg/current/include/openjpeg-2.2/openjpeg.h index 79e0bb4f..f36286eb 100644 --- a/abi-check/installed/openjpeg/current/include/openjpeg-2.2/openjpeg.h +++ b/abi-check/installed/openjpeg/current/include/openjpeg-2.2/openjpeg.h @@ -1336,6 +1336,37 @@ OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_header(opj_stream_t *p_stream, opj_codec_t *p_codec, opj_image_t **p_image); + +/** Restrict the number of components to decode. + * + * This function should be called after opj_read_header(). + * + * This function enables to restrict the set of decoded components to the + * specified indices. + * Note that the current implementation (apply_color_transforms == OPJ_FALSE) + * is such that neither the multi-component transform at codestream level, + * nor JP2 channel transformations will be applied. + * Consequently the indices are relative to the codestream. + * + * Note: opj_decode_tile_data() should not be used together with opj_set_decoded_components(). + * + * @param p_codec the jpeg2000 codec to read. + * @param numcomps Size of the comps_indices array. + * @param comps_indices Array of numcomps values representing the indices + * of the components to decode (relative to the + * codestream, starting at 0) + * @param apply_color_transforms Whether multi-component transform at codestream level + * or JP2 channel transformations should be applied. + * Currently this parameter should be set to OPJ_FALSE. + * Setting it to OPJ_TRUE will result in an error. + * + * @return OPJ_TRUE in case of success. + */ +OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decoded_components(opj_codec_t *p_codec, + OPJ_UINT32 numcomps, + const OPJ_UINT32* comps_indices, + OPJ_BOOL apply_color_transforms); + /** * Sets the given area to be decoded. This function should be called right after opj_read_header and before any tile header reading. * @@ -1452,6 +1483,8 @@ OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_tile_header(opj_codec_t *p_codec, * Reads a tile data. This function is compulsory and allows one to decode tile data. opj_read_tile_header should be called before. * The user may need to refer to the image got by opj_read_header to understand the size being taken by the tile. * + * Note: opj_decode_tile_data() should not be used together with opj_set_decoded_components(). + * * @param p_codec the jpeg2000 codec. * @param p_tile_index the index of the tile being decoded, this should be the value set by opj_read_tile_header. * @param p_data pointer to a memory block that will hold the decoded data. diff --git a/abi-check/installed/openjpeg/current/lib/libopenjp2.a b/abi-check/installed/openjpeg/current/lib/libopenjp2.a index 60e3e601..dbbbced9 100644 Binary files a/abi-check/installed/openjpeg/current/lib/libopenjp2.a and b/abi-check/installed/openjpeg/current/lib/libopenjp2.a differ diff --git a/abi-check/installed/openjpeg/current/lib/libopenjp2.so.2.2.0 b/abi-check/installed/openjpeg/current/lib/libopenjp2.so.2.2.0 index 63bff8f3..eb07f2b2 100644 Binary files a/abi-check/installed/openjpeg/current/lib/libopenjp2.so.2.2.0 and b/abi-check/installed/openjpeg/current/lib/libopenjp2.so.2.2.0 differ diff --git a/abi-check/objects_report/openjpeg/2.2.0/current/meta.json b/abi-check/objects_report/openjpeg/2.2.0/current/meta.json index cdabadd3..8f03018c 100644 --- a/abi-check/objects_report/openjpeg/2.2.0/current/meta.json +++ b/abi-check/objects_report/openjpeg/2.2.0/current/meta.json @@ -1,6 +1,6 @@ { "BC": "100", - "Added": 0, + "Added": 1, "Removed": 0, "TotalProblems": 0, "ObjectsAdded": 0, diff --git a/abi-check/objects_report/openjpeg/2.2.0/current/report.html b/abi-check/objects_report/openjpeg/2.2.0/current/report.html index e9bbe3b7..bce689ff 100644 --- a/abi-check/objects_report/openjpeg/2.2.0/current/report.html +++ b/abi-check/objects_report/openjpeg/2.2.0/current/report.html @@ -30,7 +30,7 @@
diff --git a/abi-check/timeline/openjpeg/index.html b/abi-check/timeline/openjpeg/index.html index 2ffd3dfb..853dc55c 100644 --- a/abi-check/timeline/openjpeg/index.html +++ b/abi-check/timeline/openjpeg/index.html @@ -30,11 +30,11 @@
@@ -161,7 +161,7 @@
-
Maintained by OpenJPEG team. Last updated on Fri Sep 22 19:59:42 2017.
+
Maintained by OpenJPEG team. Last updated on Tue Sep 26 21:49:28 2017.