openjpeg/abi-check/compat_report/openjpeg/1.5.2/2.0/8470b/abi_compat_report.html

1572 lines
79 KiB
HTML

<!-- verdict:incompatible;affected:64.3;added:31;removed:9;type_problems_high:0;type_problems_medium:9;type_problems_low:95;interface_problems_high:10;interface_problems_medium:5;interface_problems_low:16;changed_constants:0;type_changes_other:1;tool_version:1.99.21 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="libopenjpeg, binary compatibility, API, report" />
<meta name="description" content="Binary compatibility report for the libopenjpeg object between 1.5.2 and 2.0 versions on x86_64" />
<title>libopenjpeg: 1.5.2 to 2.0 binary compatibility report</title>
<style type="text/css">
body {
font-family:Arial, sans-serif;
background-color:White;
color:Black;
}
hr {
color:Black;
background-color:Black;
height:1px;
border:0;
}
h1 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.625em;
}
h2 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.25em;
white-space:nowrap;
}
span.section {
font-weight:bold;
cursor:pointer;
color:#003E69;
white-space:nowrap;
margin-left:5px;
}
span.new_sign {
font-weight:bold;
margin-left:26px;
color:#003E69;
}
span.new_sign_lbl {
margin-left:28px;
font-size:0.875em;
color:Black;
}
span:hover.section {
color:#336699;
}
span.sect_aff {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:#cc3300;
}
span.sect_info {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:Black;
}
span.ext {
font-weight:100;
}
span.h_name {
color:#cc3300;
font-size:0.875em;
font-weight:bold;
}
div.h_list, div.lib_list {
font-size:0.94em;
padding-left:5px;
}
span.ns {
color:#408080;
font-size:0.94em;
}
span.lib_name {
color:Green;
font-size:0.875em;
font-weight:bold;
}
span.iname {
font-weight:bold;
color:#003E69;
margin-left:5px;
}
span.iname_b {
font-weight:bold;
font-size:1.1em;
}
span.iname_a {
color:#333333;
font-weight:bold;
font-size:0.94em;
}
span.sym_p {
font-weight:normal;
white-space:normal;
}
div.affect {
padding-left:15px;
padding-bottom:10px;
font-size:0.87em;
font-style:italic;
line-height:0.75em;
}
div.affected {
padding-left:30px;
padding-top:10px;
}
table.ptable {
border-collapse:collapse;
border:1px outset black;
line-height:1em;
margin-left:15px;
margin-top:3px;
margin-bottom:3px;
width:900px;
}
table.ptable td {
border:1px solid gray;
padding: 3px;
font-size:0.875em;
text-align:left;
vertical-align:top;
}
table.vtable {
border-collapse:collapse;
border:1px outset black;
line-height:16px;
margin-left:30px;
margin-top:10px;
}
table.vtable td {
border:1px solid gray;
word-wrap:break-word;
padding: 3px;
font-size:0.875em;
max-width:450px;
vertical-align:top;
}
table.ptable th, table.vtable th {
background-color:#eeeeee;
font-weight:bold;
color:#333333;
font-family:Verdana, Arial;
font-size:0.81em;
border:1px solid gray;
text-align:center;
vertical-align:top;
white-space:nowrap;
padding: 3px;
}
table.summary {
border-collapse:collapse;
border:1px outset black;
}
table.summary th {
background-color:#eeeeee;
font-weight:100;
text-align:left;
font-size:0.94em;
white-space:nowrap;
border:1px inset gray;
padding: 3px;
}
table.summary td {
text-align:right;
white-space:nowrap;
border:1px inset gray;
padding: 3px 5px 3px 10px;
}
span.mangled {
padding-left:15px;
font-size:0.875em;
cursor:text;
color:#444444;
}
span.sym_ver {
color:#333333;
white-space:nowrap;
font-family:"DejaVu Sans Mono", Monospace;
}
span.attr {
color:#333333;
font-weight:100;
}
span.color_p {
font-style:italic;
color:Brown;
}
span.p {
font-style:italic;
}
span.fp {
font-style:italic;
background-color:#DCDCDC;
}
span.ttype {
font-weight:100;
}
span.nowrap {
white-space:nowrap;
}
span.value {
white-space:nowrap;
font-weight:bold;
}
.passed {
background-color:#CCFFCC;
}
.warning {
background-color:#F4F4AF;
}
.failed {
background-color:#FFCCCC;
}
.new {
background-color:#C6DEFF;
}
.compatible {
background-color:#CCFFCC;
}
.almost_compatible {
background-color:#FFDAA3;
}
.incompatible {
background-color:#FFCCCC;
}
.gray {
background-color:#DCDCDC;
}
.top_ref {
font-size:0.69em;
}
.footer {
font-size:0.75em;
}
</style>
<script type="text/javascript" language="JavaScript">
<!--
function showContent(header, id)
{
e = document.getElementById(id);
if(e.style.display == 'none')
{
e.style.display = 'block';
e.style.visibility = 'visible';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
}
else
{
e.style.display = 'none';
e.style.visibility = 'hidden';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
}
}
-->
</script>
</head>
<body>
<div><a name='Top'></a>
<h1>Binary compatibility report between <span style='color:Blue;'>libopenjpeg.so.1.5.2</span> (<span style='color:Red;'>1.5.2</span>) and <span style='color:Blue;'>libopenjp2.so.2.0.0</span> (<span style='color:Red;'>2.0</span>) objects on <span style='color:Blue;'>x86_64</span></h1>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Module Name</th><td>libopenjpeg</td></tr>
<tr><th>Version #1</th><td>1.5.2</td></tr>
<tr><th>Version #2</th><td>2.0</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>4.9.2</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>4</a></td></tr>
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>21 / 54</td></tr>
<tr><th>Compatibility</th>
<td class='incompatible'>35.7%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Added' style='color:Blue;'>31</a></td></tr>
<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Removed' style='color:Blue;'>9</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Type_Problems_Medium' style='color:Blue;'>9</a></td></tr>
<tr><td>Low</td><td class='warning'><a href='#Type_Problems_Low' style='color:Blue;'>95</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Problems_High' style='color:Blue;'>10</a></td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Symbol_Problems_Medium' style='color:Blue;'>5</a></td></tr>
<tr><td>Low</td><td class='warning'><a href='#Symbol_Problems_Low' style='color:Blue;'>16</a></td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
<tr><th>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Changes_In_Types' style='color:Blue;'>1</a></td></tr>
</table>
<a name='Added'></a><h2>Added Symbols <span class='new'>&nbsp;31&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.0.0</span><br/>
<span class="iname">opj_decode_tile_data&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, OPJ_UINT32 <span class='color_p'>p_tile_index</span>, OPJ_BYTE* <span class='color_p'>p_data</span>, OPJ_UINT32 <span class='color_p'>p_data_size</span>, <span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<span class="iname">opj_destroy_codec&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <span class='color_p'>p_codec</span> )</span></span></span><br/>
<span class="iname">opj_destroy_cstr_index&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codestream_index_t** <span class='color_p'>p_cstr_index</span> )</span></span></span><br/>
<span class="iname">opj_dump_codec&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, OPJ_INT32 <span class='color_p'>info_flag</span>, <span class='nowrap'>FILE* <span class='color_p'>output_stream</span> )</span></span></span><br/>
<span class="iname">opj_end_compress&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<span class="iname">opj_end_decompress&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<span class="iname">opj_get_cstr_index&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <span class='color_p'>p_codec</span> )</span></span></span><br/>
<span class="iname">opj_get_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <span class='color_p'>p_codec</span> )</span></span></span><br/>
<span class="iname">opj_get_decoded_tile&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, opj_image_t* <span class='color_p'>p_image</span>, <span class='nowrap'>OPJ_UINT32 <span class='color_p'>tile_index</span> )</span></span></span><br/>
<span class="iname">opj_image_tile_create&#160;<span class='sym_p'>(&#160;OPJ_UINT32 <span class='color_p'>numcmpts</span>, opj_image_cmptparm_t* <span class='color_p'>cmptparms</span>, <span class='nowrap'>OPJ_COLOR_SPACE <span class='color_p'>clrspc</span> )</span></span></span><br/>
<span class="iname">opj_read_header&#160;<span class='sym_p'>(&#160;opj_stream_t* <span class='color_p'>p_stream</span>, opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>opj_image_t** <span class='color_p'>p_image</span> )</span></span></span><br/>
<span class="iname">opj_read_tile_header&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, OPJ_UINT32* <span class='color_p'>p_tile_index</span>, OPJ_UINT32* <span class='color_p'>p_data_size</span>, OPJ_INT32* <span class='color_p'>p_tile_x0</span>, OPJ_INT32* <span class='color_p'>p_tile_y0</span>, OPJ_INT32* <span class='color_p'>p_tile_x1</span>, OPJ_INT32* <span class='color_p'>p_tile_y1</span>, OPJ_UINT32* <span class='color_p'>p_nb_comps</span>, <span class='nowrap'>OPJ_BOOL* <span class='color_p'>p_should_go_on</span> )</span></span></span><br/>
<span class="iname">opj_set_decode_area&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_image_t* <span class='color_p'>p_image</span>, OPJ_INT32 <span class='color_p'>p_start_x</span>, OPJ_INT32 <span class='color_p'>p_start_y</span>, OPJ_INT32 <span class='color_p'>p_end_x</span>, <span class='nowrap'>OPJ_INT32 <span class='color_p'>p_end_y</span> )</span></span></span><br/>
<span class="iname">opj_set_decoded_resolution_factor&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>OPJ_UINT32 <span class='color_p'>res_factor</span> )</span></span></span><br/>
<span class="iname">opj_set_error_handler&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_msg_callback <span class='color_p'>p_callback</span>, <span class='nowrap'>void* <span class='color_p'>p_user_data</span> )</span></span></span><br/>
<span class="iname">opj_set_info_handler&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_msg_callback <span class='color_p'>p_callback</span>, <span class='nowrap'>void* <span class='color_p'>p_user_data</span> )</span></span></span><br/>
<span class="iname">opj_set_MCT&#160;<span class='sym_p'>(&#160;opj_cparameters_t* <span class='color_p'>parameters</span>, OPJ_FLOAT32* <span class='color_p'>pEncodingMatrix</span>, OPJ_INT32* <span class='color_p'>p_dc_shift</span>, <span class='nowrap'>OPJ_UINT32 <span class='color_p'>pNbComp</span> )</span></span></span><br/>
<span class="iname">opj_set_warning_handler&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_msg_callback <span class='color_p'>p_callback</span>, <span class='nowrap'>void* <span class='color_p'>p_user_data</span> )</span></span></span><br/>
<span class="iname">opj_start_compress&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_image_t* <span class='color_p'>p_image</span>, <span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<span class="iname">opj_stream_create&#160;<span class='sym_p'>(&#160;OPJ_SIZE_T <span class='color_p'>p_buffer_size</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>l_is_input</span> )</span></span></span><br/>
<span class="iname">opj_stream_create_default_file_stream&#160;<span class='sym_p'>(&#160;<span class='nowrap'>FILE* <span class='color_p'>p_file</span>,</span> <span class='nowrap'>OPJ_BOOL <span class='color_p'>p_is_read_stream</span> )</span></span></span><br/>
<span class="iname">opj_stream_create_file_stream&#160;<span class='sym_p'>(&#160;<span class='nowrap'>FILE* <span class='color_p'>p_file</span>,</span> OPJ_SIZE_T <span class='color_p'>p_size</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>p_is_read_stream</span> )</span></span></span><br/>
<span class="iname">opj_stream_default_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_BOOL <span class='color_p'>l_is_input</span> )</span></span></span><br/>
<span class="iname">opj_stream_destroy&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<span class="iname">opj_stream_set_read_function&#160;<span class='sym_p'>(&#160;opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>opj_stream_read_fn <span class='color_p'>p_function</span> )</span></span></span><br/>
<span class="iname">opj_stream_set_seek_function&#160;<span class='sym_p'>(&#160;opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>opj_stream_seek_fn <span class='color_p'>p_function</span> )</span></span></span><br/>
<span class="iname">opj_stream_set_skip_function&#160;<span class='sym_p'>(&#160;opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>opj_stream_skip_fn <span class='color_p'>p_function</span> )</span></span></span><br/>
<span class="iname">opj_stream_set_user_data&#160;<span class='sym_p'>(&#160;opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>void* <span class='color_p'>p_data</span> )</span></span></span><br/>
<span class="iname">opj_stream_set_user_data_length&#160;<span class='sym_p'>(&#160;opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>OPJ_UINT64 <span class='color_p'>data_length</span> )</span></span></span><br/>
<span class="iname">opj_stream_set_write_function&#160;<span class='sym_p'>(&#160;opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>opj_stream_write_fn <span class='color_p'>p_function</span> )</span></span></span><br/>
<span class="iname">opj_write_tile&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, OPJ_UINT32 <span class='color_p'>p_tile_index</span>, OPJ_BYTE* <span class='color_p'>p_data</span>, OPJ_UINT32 <span class='color_p'>p_data_size</span>, <span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Removed'></a><a name='Withdrawn'></a><h2>Removed Symbols <span class='failed'>&nbsp;9&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjpeg.so.1.5.2</span><br/>
<span class="iname">cio_seek&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span>,</span> <span class='nowrap'>int <span class='color_p'>pos</span> )</span></span></span><br/>
<span class="iname">cio_tell&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span> )</span></span></span><br/>
<span class="iname">opj_cio_close&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span> )</span></span></span><br/>
<span class="iname">opj_cio_open&#160;<span class='sym_p'>(&#160;opj_common_ptr <span class='color_p'>cinfo</span>, unsigned char* <span class='color_p'>buffer</span>, <span class='nowrap'>int <span class='color_p'>length</span> )</span></span></span><br/>
<span class="iname">opj_decode_with_info&#160;<span class='sym_p'>(&#160;opj_dinfo_t* <span class='color_p'>dinfo</span>, <span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span>,</span> <span class='nowrap'>opj_codestream_info_t* <span class='color_p'>cstr_info</span> )</span></span></span><br/>
<span class="iname">opj_destroy_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <span class='color_p'>cinfo</span> )</span></span></span><br/>
<span class="iname">opj_destroy_decompress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_dinfo_t* <span class='color_p'>dinfo</span> )</span></span></span><br/>
<span class="iname">opj_encode_with_info&#160;<span class='sym_p'>(&#160;opj_cinfo_t* <span class='color_p'>cinfo</span>, <span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span>,</span> opj_image_t* <span class='color_p'>image</span>, <span class='nowrap'>opj_codestream_info_t* <span class='color_p'>cstr_info</span> )</span></span></span><br/>
<span class="iname">opj_set_event_mgr&#160;<span class='sym_p'>(&#160;opj_common_ptr <span class='color_p'>cinfo</span>, opj_event_mgr_t* <span class='color_p'>event_mgr</span>, <span class='nowrap'>void* <span class='color_p'>context</span> )</span></span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Problems'></a><a name='Symbol_Problems_High'></a><a name='Interface_Problems_High'></a>
<h2>Problems with Symbols, High Severity <span class='failed'>&nbsp;10&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjpeg.so.1.5.2</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
<span class='ext'>[+]</span> opj_decode&#160;<span class='sym_p'>(&#160;opj_dinfo_t* <span class='color_p'>dinfo</span>, <span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span> )</span></span> <span class='failed'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_1" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_decode&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>opj_image_t* <span class='color_p'>p_image</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Parameter <b>p_codec</b> of type <b>opj_codec_t*</b> has been added to the calling stack at the middle position.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
<tr>
<th>2</th>
<td>Parameter <b>p_stream</b> of type <b>opj_stream_t*</b> has been added to the calling stack at the middle position.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
<tr>
<th>3</th>
<td><b>1st</b> middle parameter <b>dinfo</b> has been removed from the calling stack.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_2')">
<span class='ext'>[+]</span> opj_destroy_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codestream_info_t* <span class='color_p'>cstr_info</span> )</span></span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_2" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_destroy_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codestream_info_v2_t** <span class='color_p'>cstr_info</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The pointer level of <b>1st</b> parameter <b>cstr_info</b> has been increased from <b>1</b> to <b>2</b>.</td>
<td>The library function may try to access unallocated memory by the dereferencing of old parameter value and therefore cause a crash of applications.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_3')">
<span class='ext'>[+]</span> opj_encode&#160;<span class='sym_p'>(&#160;opj_cinfo_t* <span class='color_p'>cinfo</span>, <span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span>,</span> opj_image_t* <span class='color_p'>image</span>, <span class='nowrap'>char* <span class='color_p'>index</span> )</span></span> <span class='failed'>&nbsp;4&nbsp;</span></span>
<br/>
<div id="c_3" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_encode&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_info</span>, <span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Parameter <b>p_info</b> of type <b>opj_codec_t*</b> has been added to the calling stack at the middle position.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
<tr>
<th>2</th>
<td>Parameter <b>p_stream</b> of type <b>opj_stream_t*</b> has been added to the calling stack at the middle position.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
<tr>
<th>3</th>
<td><b>1st</b> middle parameter <b>cinfo</b> has been removed from the calling stack.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
<tr>
<th>4</th>
<td><b>2nd</b> middle parameter <b>cio</b> has been removed from the calling stack.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_4')">
<span class='ext'>[+]</span> opj_setup_decoder&#160;<span class='sym_p'>(&#160;opj_dinfo_t* <span class='color_p'>dinfo</span>, <span class='nowrap'>opj_dparameters_t* <span class='color_p'>parameters</span> )</span></span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_4" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_setup_decoder&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>opj_dparameters_t* <span class='color_p'>parameters</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The pointer level of <b>1st</b> parameter <b>dinfo</b> has been increased from <b>1</b> to <b>2</b>.</td>
<td>The library function may try to access unallocated memory by the dereferencing of old parameter value and therefore cause a crash of applications.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_5')">
<span class='ext'>[+]</span> opj_setup_encoder&#160;<span class='sym_p'>(&#160;opj_cinfo_t* <span class='color_p'>cinfo</span>, opj_cparameters_t* <span class='color_p'>parameters</span>, <span class='nowrap'>opj_image_t* <span class='color_p'>image</span> )</span></span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_5" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_cparameters_t* <span class='color_p'>parameters</span>, <span class='nowrap'>opj_image_t* <span class='color_p'>p_image</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>The pointer level of <b>1st</b> parameter <b>cinfo</b> has been increased from <b>1</b> to <b>2</b>.</td>
<td>The library function may try to access unallocated memory by the dereferencing of old parameter value and therefore cause a crash of applications.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Problems'></a><a name='Type_Problems_Medium'></a>
<h2>Problems with Data Types, Medium Severity <span class='failed'>&nbsp;9&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_6')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> opj_dparameters <span class='failed'>&nbsp;9&nbsp;</span></span>
<br/>
<div id="c_6" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Field <b>DA_x0</b> has been added at the middle position of this structural type.</td>
<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td>
</tr>
<tr>
<th>2</th>
<td>Field <b>DA_x1</b> has been added at the middle position of this structural type.</td>
<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td>
</tr>
<tr>
<th>3</th>
<td>Field <b>DA_y0</b> has been added at the middle position of this structural type.</td>
<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td>
</tr>
<tr>
<th>4</th>
<td>Field <b>m_verbose</b> has been added at the middle position of this structural type.</td>
<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td>
</tr>
<tr>
<th>5</th>
<td>Field <b>nb_tile_to_decode</b> has been added at the middle position of this structural type.</td>
<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td>
</tr>
<tr>
<th>6</th>
<td>Field <b>tile_index</b> has been added at the middle position of this structural type.</td>
<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td>
</tr>
<tr>
<th>7</th>
<td>The relative position of field <b>jpwl_correct</b> has been changed from <b>6</b> to <b>7</b>.</td>
<td>Applications will access incorrect memory when attempting to access this field.</td>
</tr>
<tr>
<th>8</th>
<td>The relative position of field <b>jpwl_exp_comps</b> has been changed from <b>7</b> to <b>8</b>.</td>
<td>Applications will access incorrect memory when attempting to access this field.</td>
</tr>
<tr>
<th>9</th>
<td>The relative position of field <b>jpwl_max_tiles</b> has been changed from <b>8</b> to <b>9</b>.</td>
<td>Applications will access incorrect memory when attempting to access this field.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_7')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_7" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_decoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_dparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_dparameters&#39;.</div>
<span class='iname_a'>opj_setup_decoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_dinfo_t* <i>dinfo</i>,</span> <span class='nowrap'>opj_dparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>2nd parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_dparameters&#39;.</div>
</div>
</div>
<br/><br/></div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Symbol_Problems_Medium'></a><a name='Interface_Problems_Medium'></a>
<h2>Problems with Symbols, Medium Severity <span class='failed'>&nbsp;5&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjpeg.so.1.5.2</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_8')">
<span class='ext'>[+]</span> opj_decode&#160;<span class='sym_p'>(&#160;opj_dinfo_t* <span class='color_p'>dinfo</span>, <span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span> )</span></span> <span class='failed'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_8" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_decode&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_stream_t* <span class='color_p'>p_stream</span>, <span class='nowrap'>opj_image_t* <span class='color_p'>p_image</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Parameter <b>p_image</b> of type <b>opj_image_t*</b> has been added to the calling stack.</td>
<td>This parameter will not be initialized by old clients.</td>
</tr>
<tr>
<th>2</th>
<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td>
<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td>
</tr>
<tr>
<th>3</th>
<td>Type of return value has been changed from <span class='nowrap'><b>opj_image_t*</b> (<b>8</b> bytes)</span> to <span class='nowrap'><b>OPJ_BOOL</b> (<b>4</b> bytes)</span>.</td>
<td>Applications will obtain a different return value and execution may change.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_9')">
<span class='ext'>[+]</span> opj_encode&#160;<span class='sym_p'>(&#160;opj_cinfo_t* <span class='color_p'>cinfo</span>, <span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span>,</span> opj_image_t* <span class='color_p'>image</span>, <span class='nowrap'>char* <span class='color_p'>index</span> )</span></span> <span class='failed'>&nbsp;2&nbsp;</span></span>
<br/>
<div id="c_9" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_encode&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_info</span>, <span class='nowrap'>opj_stream_t* <span class='color_p'>p_stream</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>3rd</b> parameter <b>image</b> has been removed from the calling stack.</td>
<td>This parameter will be ignored by the function.</td>
</tr>
<tr>
<th>2</th>
<td><b>4th</b> parameter <b>index</b> has been removed from the calling stack.</td>
<td>This parameter will be ignored by the function.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Low_Risk_Problems'></a><a name='Type_Problems_Low'></a>
<h2>Problems with Data Types, Low Severity <span class='warning'>&nbsp;95&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_10')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> CINEMA_MODE <span class='warning'>&nbsp;4&nbsp;</span></span>
<br/>
<div id="c_10" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Name of member with value <b>0</b> has been changed from <b>OFF</b> to <b>OPJ_OFF</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>2</th>
<td>Name of member with value <b>1</b> has been changed from <b>CINEMA2K_24</b> to <b>OPJ_CINEMA2K_24</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>3</th>
<td>Name of member with value <b>2</b> has been changed from <b>CINEMA2K_48</b> to <b>OPJ_CINEMA2K_48</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>4</th>
<td>Name of member with value <b>3</b> has been changed from <b>CINEMA4K_24</b> to <b>OPJ_CINEMA4K_24</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_11')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_11" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum CINEMA_MODE&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>image</i> )</span></span></span><br/>
<div class='affect'>2nd parameter &#39;parameters&#39; (pointer) has base type &#39;enum CINEMA_MODE&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_12')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> CODEC_FORMAT <span class='warning'>&nbsp;4&nbsp;</span></span>
<br/>
<div id="c_12" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Name of member with value <b>0</b> has been changed from <b>CODEC_J2K</b> to <b>OPJ_CODEC_J2K</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>2</th>
<td>Name of member with value <b>1</b> has been changed from <b>CODEC_JPT</b> to <b>OPJ_CODEC_JPT</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>3</th>
<td>Name of member with value <b>18446744073709551615</b> has been changed from <b>CODEC_UNKNOWN</b> to <b>OPJ_CODEC_UNKNOWN</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>4</th>
<td>Name of member with value <b>2</b> has been changed from <b>CODEC_JP2</b> to <b>OPJ_CODEC_JP2</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_13')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_13" style="display:none;">
<div class='affected'><span class='iname_a'>opj_create_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>format</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;format&#39; has base type &#39;enum CODEC_FORMAT&#39;.</div>
<span class='iname_a'>opj_create_decompress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>format</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;format&#39; has base type &#39;enum CODEC_FORMAT&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_14')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> COLOR_SPACE <span class='warning'>&nbsp;5&nbsp;</span></span>
<br/>
<div id="c_14" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Name of member with value <b>0</b> has been changed from <b>CLRSPC_UNSPECIFIED</b> to <b>OPJ_CLRSPC_UNSPECIFIED</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>2</th>
<td>Name of member with value <b>1</b> has been changed from <b>CLRSPC_SRGB</b> to <b>OPJ_CLRSPC_SRGB</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>3</th>
<td>Name of member with value <b>18446744073709551615</b> has been changed from <b>CLRSPC_UNKNOWN</b> to <b>OPJ_CLRSPC_UNKNOWN</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>4</th>
<td>Name of member with value <b>2</b> has been changed from <b>CLRSPC_GRAY</b> to <b>OPJ_CLRSPC_GRAY</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>5</th>
<td>Name of member with value <b>3</b> has been changed from <b>CLRSPC_SYCC</b> to <b>OPJ_CLRSPC_SYCC</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_15')">
[+] affected symbols: 3 (14.3%)</span>
<div id="c_15" style="display:none;">
<div class='affected'><span class='iname_a'>opj_image_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
<div class='affect'>3rd parameter &#39;clrspc&#39; has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_image_destroy&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> <span class='nowrap'>opj_cparameters_t* <i>parameters</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>3rd parameter &#39;image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_16')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> PROG_ORDER <span class='warning'>&nbsp;6&nbsp;</span></span>
<br/>
<div id="c_16" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Name of member with value <b>0</b> has been changed from <b>LRCP</b> to <b>OPJ_LRCP</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>2</th>
<td>Name of member with value <b>1</b> has been changed from <b>RLCP</b> to <b>OPJ_RLCP</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>3</th>
<td>Name of member with value <b>18446744073709551615</b> has been changed from <b>PROG_UNKNOWN</b> to <b>OPJ_PROG_UNKNOWN</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>4</th>
<td>Name of member with value <b>2</b> has been changed from <b>RPCL</b> to <b>OPJ_RPCL</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>5</th>
<td>Name of member with value <b>3</b> has been changed from <b>PCRL</b> to <b>OPJ_PCRL</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>6</th>
<td>Name of member with value <b>4</b> has been changed from <b>CPRL</b> to <b>OPJ_CPRL</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_17')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_17" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC&#39; in 1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>image</i> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC&#39; in 2nd parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_18')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> RSIZ_CAPABILITIES <span class='warning'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_18" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Name of member with value <b>0</b> has been changed from <b>STD_RSIZ</b> to <b>OPJ_STD_RSIZ</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>2</th>
<td>Name of member with value <b>3</b> has been changed from <b>CINEMA2K</b> to <b>OPJ_CINEMA2K</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
<tr>
<th>3</th>
<td>Name of member with value <b>4</b> has been changed from <b>CINEMA4K</b> to <b>OPJ_CINEMA4K</b>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_19')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_19" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum RSIZ_CAPABILITIES&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>image</i> )</span></span></span><br/>
<div class='affect'>2nd parameter &#39;parameters&#39; (pointer) has base type &#39;enum RSIZ_CAPABILITIES&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_20')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> opj_cparameters <span class='warning'>&nbsp;6&nbsp;</span></span>
<br/>
<div id="c_20" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Field <b>mct_data</b> has been added to this type.</td>
<td>1) This field will not be initialized by old clients.<br/>2) Size of the inclusive type has been changed.<br/><b>NOTE</b>: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.</td>
</tr>
<tr>
<th>2</th>
<td>Size of this type has been changed from <b>18704</b> bytes to <b>18712</b> bytes.</td>
<td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td>
</tr>
<tr>
<th>3</th>
<td>Type of field <b>jpip_on</b> has been changed from <b>opj_bool</b> to <b>OPJ_BOOL</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>4</th>
<td>Type of field <b>jpwl_epc_on</b> has been changed from <b>opj_bool</b> to <b>OPJ_BOOL</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>5</th>
<td>Type of field <b>numpocs</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>6</th>
<td>Type of field <b>tile_size_on</b> has been changed from <b>opj_bool</b> to <b>OPJ_BOOL</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_21')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_21" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_cparameters&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>image</i> )</span></span></span><br/>
<div class='affect'>2nd parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_cparameters&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_22')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> opj_dparameters <span class='warning'>&nbsp;5&nbsp;</span></span>
<br/>
<div id="c_22" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Size of this type has been changed from <b>8228</b> bytes to <b>8252</b> bytes.</td>
<td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td>
</tr>
<tr>
<th>2</th>
<td>Type of field <b>cp_layer</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>3</th>
<td>Type of field <b>cp_reduce</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>4</th>
<td>Type of field <b>jpwl_correct</b> has been changed from <b>opj_bool</b> to <b>OPJ_BOOL</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>5</th>
<td>Field <b>cp_limit_decoding</b> has been renamed to <b>DA_y1</b>.</td>
<td>Renaming of a field in data type may indicate a change in the semantic meaning of the field.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_23')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_23" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_decoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_dparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_dparameters&#39;.</div>
<span class='iname_a'>opj_setup_decoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_dinfo_t* <i>dinfo</i>,</span> <span class='nowrap'>opj_dparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>2nd parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_dparameters&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_24')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> opj_image <span class='warning'>&nbsp;7&nbsp;</span></span>
<br/>
<div id="c_24" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>icc_profile_buf</b> has been changed from <span class='value'>unsigned char*</span> to <b>OPJ_BYTE*</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>2</th>
<td>Type of field <b>icc_profile_len</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>3</th>
<td>Type of field <b>numcomps</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>4</th>
<td>Type of field <b>x0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>5</th>
<td>Type of field <b>x1</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>6</th>
<td>Type of field <b>y0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>7</th>
<td>Type of field <b>y1</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_25')">
[+] affected symbols: 3 (14.3%)</span>
<div id="c_25" style="display:none;">
<div class='affected'><span class='iname_a'>opj_image_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <i>clrspc</i> )</span></span></span><br/>
<div class='affect'>Return value (pointer) has base type &#39;struct opj_image&#39;.</div>
<span class='iname_a'>opj_image_destroy&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;image&#39; (pointer) has base type &#39;struct opj_image&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> <span class='nowrap'>opj_cparameters_t* <i>parameters</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>3rd parameter &#39;image&#39; (pointer) has base type &#39;struct opj_image&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_26')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> opj_image_comp <span class='warning'>&nbsp;12&nbsp;</span></span>
<br/>
<div id="c_26" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>bpp</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>2</th>
<td>Type of field <b>data</b> has been changed from <b>int*</b> to <b>OPJ_INT32*</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>3</th>
<td>Type of field <b>dx</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>4</th>
<td>Type of field <b>dy</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>5</th>
<td>Type of field <b>factor</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>6</th>
<td>Type of field <b>h</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>7</th>
<td>Type of field <b>prec</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>8</th>
<td>Type of field <b>resno_decoded</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>9</th>
<td>Type of field <b>sgnd</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>10</th>
<td>Type of field <b>w</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>11</th>
<td>Type of field <b>x0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>12</th>
<td>Type of field <b>y0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_27')">
[+] affected symbols: 3 (14.3%)</span>
<div id="c_27" style="display:none;">
<div class='affected'><span class='iname_a'>opj_image_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <i>clrspc</i> )</span></span></span><br/>
<div class='affect'>Field &#39;retval.comps&#39; in return value (pointer) has base type &#39;struct opj_image_comp&#39;.</div>
<span class='iname_a'>opj_image_destroy&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;image.comps&#39; in 1st parameter &#39;image&#39; (pointer) has base type &#39;struct opj_image_comp&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> <span class='nowrap'>opj_cparameters_t* <i>parameters</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;image.comps&#39; in 3rd parameter &#39;image&#39; (pointer) has base type &#39;struct opj_image_comp&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_28')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> opj_image_comptparm <span class='warning'>&nbsp;9&nbsp;</span></span>
<br/>
<div id="c_28" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>bpp</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>2</th>
<td>Type of field <b>dx</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>3</th>
<td>Type of field <b>dy</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>4</th>
<td>Type of field <b>h</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>5</th>
<td>Type of field <b>prec</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>6</th>
<td>Type of field <b>sgnd</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>7</th>
<td>Type of field <b>w</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>8</th>
<td>Type of field <b>x0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>9</th>
<td>Type of field <b>y0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_29')">
[+] affected symbols: 1 (4.8%)</span>
<div id="c_29" style="display:none;">
<div class='affected'><span class='iname_a'>opj_image_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int <i>numcmpts</i>,</span> opj_image_cmptparm_t* <span class='fp'>cmptparms</span>, <span class='nowrap'>OPJ_COLOR_SPACE <i>clrspc</i> )</span></span></span><br/>
<div class='affect'>2nd parameter &#39;cmptparms&#39; (pointer) has base type &#39;struct opj_image_comptparm&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_30')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> opj_poc <span class='warning'>&nbsp;34&nbsp;</span></span>
<br/>
<div id="c_30" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>compE</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>2</th>
<td>Type of field <b>compS</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>3</th>
<td>Type of field <b>comp_t</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>4</th>
<td>Type of field <b>compno0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>5</th>
<td>Type of field <b>compno1</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>6</th>
<td>Type of field <b>dx</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>7</th>
<td>Type of field <b>dy</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>8</th>
<td>Type of field <b>layE</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>9</th>
<td>Type of field <b>layS</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>10</th>
<td>Type of field <b>lay_t</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>11</th>
<td>Type of field <b>layno0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>12</th>
<td>Type of field <b>layno1</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>13</th>
<td>Type of field <b>prcE</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>14</th>
<td>Type of field <b>prcS</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>15</th>
<td>Type of field <b>prc_t</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>16</th>
<td>Type of field <b>precno0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>17</th>
<td>Type of field <b>precno1</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>18</th>
<td>Type of field <b>progorder</b> has been changed from <b>char[5]</b> to <b>OPJ_CHAR[5]</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>19</th>
<td>Type of field <b>resE</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>20</th>
<td>Type of field <b>resS</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>21</th>
<td>Type of field <b>res_t</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>22</th>
<td>Type of field <b>resno0</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>23</th>
<td>Type of field <b>resno1</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>24</th>
<td>Type of field <b>tile</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>25</th>
<td>Type of field <b>tx0</b> has been changed from <b>int</b> to <b>OPJ_INT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>26</th>
<td>Type of field <b>tx0_t</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>27</th>
<td>Type of field <b>tx1</b> has been changed from <b>int</b> to <b>OPJ_INT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>28</th>
<td>Type of field <b>txE</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>29</th>
<td>Type of field <b>txS</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>30</th>
<td>Type of field <b>ty0</b> has been changed from <b>int</b> to <b>OPJ_INT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>31</th>
<td>Type of field <b>ty0_t</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>32</th>
<td>Type of field <b>ty1</b> has been changed from <b>int</b> to <b>OPJ_INT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>33</th>
<td>Type of field <b>tyE</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
<tr>
<th>34</th>
<td>Type of field <b>tyS</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_31')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_31" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC&#39; in 1st parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_poc&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>image</i> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC&#39; in 2nd parameter &#39;parameters&#39; (pointer) has base type &#39;struct opj_poc&#39;.</div>
</div>
</div>
<br/><br/></div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Symbol_Problems_Low'></a><a name='Interface_Problems_Low'></a>
<h2>Problems with Symbols, Low Severity <span class='warning'>&nbsp;16&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjpeg.so.1.5.2</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_32')">
<span class='ext'>[+]</span> opj_create_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='color_p'>format</span> )</span></span> <span class='warning'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_32" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_create_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='color_p'>p_format</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>1st</b> parameter <b>format</b> has been renamed to <b>p_format</b>.</td>
<td>Renaming of a parameter may indicate a change in its semantic meaning.</td>
</tr>
<tr>
<th>2</th>
<td>The pointer level of return value has been increased from <b>1</b> to <b>2</b>.</td>
<td>Applications will treat the return value as the lower-dimension array and will not read all elements. This may change the behavior of applications.</td>
</tr>
<tr>
<th>3</th>
<td>Type of return value has been changed from <b>opj_cinfo_t*</b> to <b>opj_codec_t*</b>.</td>
<td>Replacement of return type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_33')">
<span class='ext'>[+]</span> opj_create_decompress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='color_p'>format</span> )</span></span> <span class='warning'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_33" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_create_decompress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='color_p'>p_format</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>1st</b> parameter <b>format</b> has been renamed to <b>p_format</b>.</td>
<td>Renaming of a parameter may indicate a change in its semantic meaning.</td>
</tr>
<tr>
<th>2</th>
<td>The pointer level of return value has been increased from <b>1</b> to <b>2</b>.</td>
<td>Applications will treat the return value as the lower-dimension array and will not read all elements. This may change the behavior of applications.</td>
</tr>
<tr>
<th>3</th>
<td>Type of return value has been changed from <b>opj_dinfo_t*</b> to <b>opj_codec_t*</b>.</td>
<td>Replacement of return type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_34')">
<span class='ext'>[+]</span> opj_destroy_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codestream_info_t* <span class='color_p'>cstr_info</span> )</span></span> <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_34" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_destroy_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codestream_info_v2_t** <span class='color_p'>cstr_info</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of <b>1st</b> parameter <b>cstr_info</b> has been changed from <b>opj_codestream_info_t*</b> to <b>opj_codestream_info_v2_t**</b>.</td>
<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_35')">
<span class='ext'>[+]</span> opj_encode&#160;<span class='sym_p'>(&#160;opj_cinfo_t* <span class='color_p'>cinfo</span>, <span class='nowrap'>opj_cio_t* <span class='color_p'>cio</span>,</span> opj_image_t* <span class='color_p'>image</span>, <span class='nowrap'>char* <span class='color_p'>index</span> )</span></span> <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_35" style="display:none;">
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of return value has been changed from <b>opj_bool</b> to <b>OPJ_BOOL</b>.</td>
<td>Replacement of return type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_36')">
<span class='ext'>[+]</span> opj_image_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int <span class='color_p'>numcmpts</span>,</span> opj_image_cmptparm_t* <span class='color_p'>cmptparms</span>, <span class='nowrap'>OPJ_COLOR_SPACE <span class='color_p'>clrspc</span> )</span></span> <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_36" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_image_create&#160;<span class='sym_p'>(&#160;OPJ_UINT32 <span class='color_p'>numcmpts</span>, opj_image_cmptparm_t* <span class='color_p'>cmptparms</span>, <span class='nowrap'>OPJ_COLOR_SPACE <span class='color_p'>clrspc</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of <b>1st</b> parameter <b>numcmpts</b> has been changed from <b>int</b> to <b>OPJ_UINT32</b>.</td>
<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_37')">
<span class='ext'>[+]</span> opj_setup_decoder&#160;<span class='sym_p'>(&#160;opj_dinfo_t* <span class='color_p'>dinfo</span>, <span class='nowrap'>opj_dparameters_t* <span class='color_p'>parameters</span> )</span></span> <span class='warning'>&nbsp;3&nbsp;</span></span>
<br/>
<div id="c_37" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_setup_decoder&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>opj_dparameters_t* <span class='color_p'>parameters</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of <b>1st</b> parameter <b>dinfo</b> has been changed from <b>opj_dinfo_t*</b> to <b>opj_codec_t*</b>.</td>
<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td>
</tr>
<tr>
<th>2</th>
<td><b>1st</b> parameter <b>dinfo</b> has been renamed to <b>p_codec</b>.</td>
<td>Renaming of a parameter may indicate a change in its semantic meaning.</td>
</tr>
<tr>
<th>3</th>
<td>Type of return value has been changed from <b>void</b> to <span class='nowrap'><b>OPJ_BOOL</b> (<b>4</b> bytes)</span>.</td>
<td>Replacement of return type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_38')">
<span class='ext'>[+]</span> opj_setup_encoder&#160;<span class='sym_p'>(&#160;opj_cinfo_t* <span class='color_p'>cinfo</span>, opj_cparameters_t* <span class='color_p'>parameters</span>, <span class='nowrap'>opj_image_t* <span class='color_p'>image</span> )</span></span> <span class='warning'>&nbsp;4&nbsp;</span></span>
<br/>
<div id="c_38" style="display:none;">
<span class='new_sign_lbl'>changed to:</span>
<br/>
<span class='new_sign'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, opj_cparameters_t* <span class='color_p'>parameters</span>, <span class='nowrap'>opj_image_t* <span class='color_p'>p_image</span> )</span></span></span><br/>
<table class='ptable'>
<tr>
<th width='2%'></th>
<th width='47%'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of <b>1st</b> parameter <b>cinfo</b> has been changed from <b>opj_cinfo_t*</b> to <b>opj_codec_t*</b>.</td>
<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td>
</tr>
<tr>
<th>2</th>
<td><b>1st</b> parameter <b>cinfo</b> has been renamed to <b>p_codec</b>.</td>
<td>Renaming of a parameter may indicate a change in its semantic meaning.</td>
</tr>
<tr>
<th>3</th>
<td><b>3rd</b> parameter <b>image</b> has been renamed to <b>p_image</b>.</td>
<td>Renaming of a parameter may indicate a change in its semantic meaning.</td>
</tr>
<tr>
<th>4</th>
<td>Type of return value has been changed from <b>void</b> to <span class='nowrap'><b>OPJ_BOOL</b> (<b>4</b> bytes)</span>.</td>
<td>Replacement of return type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Other_Changes'></a><a name='Other_Changes_In_Types'></a>
<h2>Other Changes in Data Types <span class='passed'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_39')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> RSIZ_CAPABILITIES <span class='passed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_39" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>The member <b>OPJ_MCT</b> with value <b>33024</b> has been added.</td>
<td>No effect.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_40')">
[+] affected symbols: 2 (9.5%)</span>
<div id="c_40" style="display:none;">
<div class='affected'><span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.cp_rsiz&#39; in 1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum RSIZ_CAPABILITIES&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cinfo_t* <i>cinfo</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>image</i> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.cp_rsiz&#39; in 2nd parameter &#39;parameters&#39; (pointer) has base type &#39;enum RSIZ_CAPABILITIES&#39;.</div>
</div>
</div>
<br/><br/></div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='h_list'>
openjpeg.h<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Sources'></a><h2>Source Files <span class='gray'>&nbsp;4&nbsp;</span></h2><hr/>
<div class='h_list'>
cio.c<br/>
event.c<br/>
image.c<br/>
openjpeg.c<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Objects <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='lib_list'>
libopenjpeg.so.1.5.2<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
</div>
<br/><br/><br/>
<hr/>
<div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.21 &#160;</i>
</div>
<br/>
</body></html>