Update ABI/API compatibility reports after commit c5987173c5ca2d6fb140dd84d7ae7736824...
authorOpenJPEG Travis CI <info@openjpeg.org>
Thu, 10 Aug 2017 04:49:16 +0000 (04:49 +0000)
committerOpenJPEG Travis CI <info@openjpeg.org>
Thu, 10 Aug 2017 04:49:16 +0000 (04:49 +0000)
38 files changed:
abi-check/abi_dump/openjpeg/2.2.0/2c999/ABI.dump [new file with mode: 0644]
abi-check/abi_dump/openjpeg/2.2.0/2c999/meta.json [new file with mode: 0644]
abi-check/changelog/openjpeg/2.2.0/log.html [new file with mode: 0644]
abi-check/changelog/openjpeg/current/log.html
abi-check/compat_report/openjpeg/2.1.2/2.2.0/58361/abi_compat_report.html [new file with mode: 0644]
abi-check/compat_report/openjpeg/2.1.2/2.2.0/58361/meta.json [new file with mode: 0644]
abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/abi_compat_report.html [new file with mode: 0644]
abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/meta.json [new file with mode: 0644]
abi-check/compat_reports/openjpeg/2.1.2_to_2.2.0/abi_compat_report.html [new file with mode: 0644]
abi-check/compat_reports/openjpeg/2.1.2_to_2.2.0/src_compat_report.html [new file with mode: 0644]
abi-check/compat_reports/openjpeg/2.2.0_to_current/abi_compat_report.html [new file with mode: 0644]
abi-check/compat_reports/openjpeg/2.2.0_to_current/src_compat_report.html [new file with mode: 0644]
abi-check/db/openjpeg/Monitor.data
abi-check/db/openjpeg/Tracker.data
abi-check/headers_diff/openjpeg/2.1.2/2.2.0/diff.html [new file with mode: 0644]
abi-check/headers_diff/openjpeg/2.1.2/2.2.0/meta.json [new file with mode: 0644]
abi-check/headers_diff/openjpeg/2.2.0/current/diff.html [new file with mode: 0644]
abi-check/headers_diff/openjpeg/2.2.0/current/meta.json [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/openjpeg.h [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/opj_config.h [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/opj_stdint.h [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.a [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so [new symlink]
abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so.2.2.0 [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so.7 [new symlink]
abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGConfig.cmake [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGTargets-debug.cmake [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGTargets.cmake [new file with mode: 0644]
abi-check/installed/openjpeg/2.2.0/lib/pkgconfig/libopenjp2.pc [new file with mode: 0644]
abi-check/installed/openjpeg/current/lib/libopenjp2.a
abi-check/installed/openjpeg/current/lib/libopenjp2.so.2.2.0
abi-check/objects_report/openjpeg/2.1.2/2.2.0/meta.json [new file with mode: 0644]
abi-check/objects_report/openjpeg/2.1.2/2.2.0/report.html [new file with mode: 0644]
abi-check/objects_report/openjpeg/2.2.0/current/meta.json [new file with mode: 0644]
abi-check/objects_report/openjpeg/2.2.0/current/report.html [new file with mode: 0644]
abi-check/openjpeg.json
abi-check/src/openjpeg/2.2.0/version.-2.2.0.tar.gz [new file with mode: 0644]
abi-check/timeline/openjpeg/index.html

diff --git a/abi-check/abi_dump/openjpeg/2.2.0/2c999/ABI.dump b/abi-check/abi_dump/openjpeg/2.2.0/2c999/ABI.dump
new file mode 100644 (file)
index 0000000..29c6a5d
--- /dev/null
@@ -0,0 +1,3426 @@
+$VAR1 = {
+          'ABI_DUMPER_VERSION' => '0.99.15',
+          'ABI_DUMP_VERSION' => '3.2',
+          'Arch' => 'x86_64',
+          'GccVersion' => '4.8.1',
+          'Headers' => {
+                         'openjpeg.h' => 1
+                       },
+          'Language' => 'C',
+          'LibraryName' => 'libopenjp2.so.2.2.0',
+          'LibraryVersion' => '2.2.0',
+          'NameSpaces' => {},
+          'Needed' => {
+                        'libc.so.6' => 1,
+                        'libm.so.6' => 1,
+                        'libpthread.so.0' => 1
+                      },
+          'PublicABI' => '1',
+          'Sources' => {
+                         'cio.c' => 1,
+                         'image.c' => 1,
+                         'openjpeg.c' => 1,
+                         'thread.c' => 1
+                       },
+          'SymbolInfo' => {
+                            '14399' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_buffer_size',
+                                                               'type' => '9026'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'l_is_input',
+                                                               'type' => '701'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi'
+                                                  },
+                                         'Return' => '14551',
+                                         'ShortName' => 'opj_stream_create',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '158'
+                                       },
+                            '14557' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'l_is_input',
+                                                               'type' => '701'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi'
+                                                  },
+                                         'Return' => '14551',
+                                         'ShortName' => 'opj_stream_default_create',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '194'
+                                       },
+                            '14634' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_stream',
+                                                               'type' => '14551'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_stream_destroy',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '199'
+                                       },
+                            '14727' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_stream',
+                                                               'type' => '14551'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'p_function',
+                                                               'type' => '11255'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_stream_set_read_function',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '213'
+                                       },
+                            '14796' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_stream',
+                                                               'type' => '14551'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'p_function',
+                                                               'type' => '11348'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_stream_set_seek_function',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '225'
+                                       },
+                            '14865' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_stream',
+                                                               'type' => '14551'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'p_function',
+                                                               'type' => '11298'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_stream_set_write_function',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '236'
+                                       },
+                            '14934' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_stream',
+                                                               'type' => '14551'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'p_function',
+                                                               'type' => '11310'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_stream_set_skip_function',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '248'
+                                       },
+                            '15003' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_stream',
+                                                               'type' => '14551'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'p_data',
+                                                               'type' => '141'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'p_function',
+                                                               'type' => '11386'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi',
+                                                    '2' => 'rdx'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_stream_set_user_data',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '260'
+                                       },
+                            '15090' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'p_stream',
+                                                               'type' => '14551'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'data_length',
+                                                               'type' => '11188'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_stream_set_user_data_length',
+                                         'Source' => 'cio.c',
+                                         'SourceLine' => '271'
+                                       },
+                            '152235' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Line' => '1059',
+                                          'Return' => '177',
+                                          'ShortName' => 'opj_version',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '160'
+                                        },
+                            '152538' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Line' => '1537',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'cstr_info',
+                                                                'type' => '152556'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '1',
+                                          'ShortName' => 'opj_destroy_cstr_info',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '924'
+                                        },
+                            '214126' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_callback',
+                                                                'type' => '11221'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_user_data',
+                                                                'type' => '141'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_set_info_handler',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '44'
+                                        },
+                            '214224' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_callback',
+                                                                'type' => '11221'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_user_data',
+                                                                'type' => '141'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_set_warning_handler',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '59'
+                                        },
+                            '214310' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_callback',
+                                                                'type' => '11221'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_user_data',
+                                                                'type' => '141'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_set_error_handler',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '74'
+                                        },
+                            '214425' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_format',
+                                                                'type' => '203491'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '214212',
+                                          'ShortName' => 'opj_create_decompress',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '168'
+                                        },
+                            '214647' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'parameters',
+                                                                'type' => '60916'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '1',
+                                          'ShortName' => 'opj_set_default_decoder_parameters',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '352'
+                                        },
+                            '214778' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'num_threads',
+                                                                'type' => '98'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_codec_set_threads',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '375'
+                                        },
+                            '214896' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'parameters',
+                                                                'type' => '60916'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_setup_decoder',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '386'
+                                        },
+                            '215038' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_image',
+                                                                'type' => '60904'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_read_header',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '406'
+                                        },
+                            '215241' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_image',
+                                                                'type' => '45024'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_decode',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '429'
+                                        },
+                            '215395' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_image',
+                                                                'type' => '45024'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_start_x',
+                                                                'type' => '9004'
+                                                              },
+                                                       '3' => {
+                                                                'name' => 'p_start_y',
+                                                                'type' => '9004'
+                                                              },
+                                                       '4' => {
+                                                                'name' => 'p_end_x',
+                                                                'type' => '9004'
+                                                              },
+                                                       '5' => {
+                                                                'name' => 'p_end_y',
+                                                                'type' => '9004'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx',
+                                                     '3' => 'rcx',
+                                                     '4' => 'r8',
+                                                     '5' => 'r9'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_set_decode_area',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '450'
+                                        },
+                            '215603' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_tile_index',
+                                                                'type' => '11819'
+                                                              },
+                                                       '3' => {
+                                                                'name' => 'p_data_size',
+                                                                'type' => '11819'
+                                                              },
+                                                       '4' => {
+                                                                'name' => 'p_tile_x0',
+                                                                'type' => '18280'
+                                                              },
+                                                       '5' => {
+                                                                'name' => 'p_tile_y0',
+                                                                'type' => '18280'
+                                                              },
+                                                       '6' => {
+                                                                'name' => 'p_tile_x1',
+                                                                'offset' => '0',
+                                                                'type' => '18280'
+                                                              },
+                                                       '7' => {
+                                                                'name' => 'p_tile_y1',
+                                                                'type' => '18280'
+                                                              },
+                                                       '8' => {
+                                                                'name' => 'p_nb_comps',
+                                                                'type' => '11819'
+                                                              },
+                                                       '9' => {
+                                                                'name' => 'p_should_go_on',
+                                                                'type' => '60910'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rbp',
+                                                     '3' => 'rbx',
+                                                     '4' => 'rcx',
+                                                     '5' => 'r8',
+                                                     '7' => 'rdx',
+                                                     '8' => 'rdx',
+                                                     '9' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_read_tile_header',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '473'
+                                        },
+                            '215821' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_tile_index',
+                                                                'type' => '9015'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_data',
+                                                                'type' => '9037'
+                                                              },
+                                                       '3' => {
+                                                                'name' => 'p_data_size',
+                                                                'type' => '9015'
+                                                              },
+                                                       '4' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx',
+                                                     '3' => 'rcx',
+                                                     '4' => 'r8'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_decode_tile_data',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '504'
+                                        },
+                            '216021' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_image',
+                                                                'type' => '45024'
+                                                              },
+                                                       '3' => {
+                                                                'name' => 'tile_index',
+                                                                'type' => '9015'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx',
+                                                     '3' => 'rcx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_get_decoded_tile',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '530'
+                                        },
+                            '216198' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'res_factor',
+                                                                'type' => '9015'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_set_decoded_resolution_factor',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '554'
+                                        },
+                            '216307' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_format',
+                                                                'type' => '203491'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '214212',
+                                          'ShortName' => 'opj_create_compress',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '572'
+                                        },
+                            '216532' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'parameters',
+                                                                'type' => '60928'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '1',
+                                          'ShortName' => 'opj_set_default_encoder_parameters',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '670'
+                                        },
+                            '216663' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'parameters',
+                                                                'type' => '60928'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_image',
+                                                                'type' => '45024'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_setup_encoder',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '731'
+                                        },
+                            '216801' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_image',
+                                                                'type' => '45024'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_start_compress',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '749'
+                                        },
+                            '216955' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_info',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_encode',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '768'
+                                        },
+                            '217086' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_end_compress',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '785'
+                                        },
+                            '217217' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_end_decompress',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '802'
+                                        },
+                            '217348' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'parameters',
+                                                                'type' => '60928'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'pEncodingMatrix',
+                                                                'type' => '11813'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_dc_shift',
+                                                                'type' => '18280'
+                                                              },
+                                                       '3' => {
+                                                                'name' => 'pNbComp',
+                                                                'type' => '9015'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx',
+                                                     '3' => 'rcx'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_set_MCT',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '822'
+                                        },
+                            '217694' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_tile_index',
+                                                                'type' => '9015'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_data',
+                                                                'type' => '9037'
+                                                              },
+                                                       '3' => {
+                                                                'name' => 'p_data_size',
+                                                                'type' => '9015'
+                                                              },
+                                                       '4' => {
+                                                                'name' => 'p_stream',
+                                                                'type' => '14551'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx',
+                                                     '3' => 'rcx',
+                                                     '4' => 'r8'
+                                                   },
+                                          'Return' => '701',
+                                          'ShortName' => 'opj_write_tile',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '852'
+                                        },
+                            '217894' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '1',
+                                          'ShortName' => 'opj_destroy_codec',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '879'
+                                        },
+                            '217995' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'info_flag',
+                                                                'type' => '9004'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'output_stream',
+                                                                'type' => '60934'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi',
+                                                     '2' => 'rdx'
+                                                   },
+                                          'Return' => '1',
+                                          'ShortName' => 'opj_dump_codec',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '897'
+                                        },
+                            '218132' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '60940',
+                                          'ShortName' => 'opj_get_cstr_info',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '913'
+                                        },
+                            '218296' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_codec',
+                                                                'type' => '214212'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '58944',
+                                          'ShortName' => 'opj_get_cstr_index',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '941'
+                                        },
+                            '218381' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'p_cstr_index',
+                                                                'type' => '218441'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi'
+                                                   },
+                                          'Return' => '1',
+                                          'ShortName' => 'opj_destroy_cstr_index',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '952'
+                                        },
+                            '218447' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'fname',
+                                                                'type' => '177'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_size',
+                                                                'type' => '9026'
+                                                              },
+                                                       '2' => {
+                                                                'name' => 'p_is_read_stream',
+                                                                'type' => '701'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'r12',
+                                                     '2' => 'rbx'
+                                                   },
+                                          'Return' => '14551',
+                                          'ShortName' => 'opj_stream_create_file_stream',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '967'
+                                        },
+                            '218566' => {
+                                          'Header' => 'openjpeg.h',
+                                          'Param' => {
+                                                       '0' => {
+                                                                'name' => 'fname',
+                                                                'type' => '177'
+                                                              },
+                                                       '1' => {
+                                                                'name' => 'p_is_read_stream',
+                                                                'type' => '701'
+                                                              }
+                                                     },
+                                          'Reg' => {
+                                                     '0' => 'rdi',
+                                                     '1' => 'rsi'
+                                                   },
+                                          'Return' => '14551',
+                                          'ShortName' => 'opj_stream_create_default_file_stream',
+                                          'Source' => 'openjpeg.c',
+                                          'SourceLine' => '960'
+                                        },
+                            '3808' => {
+                                        'Header' => 'openjpeg.h',
+                                        'Return' => '701',
+                                        'ShortName' => 'opj_has_thread_support',
+                                        'Source' => 'thread.c',
+                                        'SourceLine' => '292'
+                                      },
+                            '3838' => {
+                                        'Header' => 'openjpeg.h',
+                                        'Return' => '98',
+                                        'ShortName' => 'opj_get_num_cpus',
+                                        'Source' => 'thread.c',
+                                        'SourceLine' => '297'
+                                      },
+                            '45353' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'image',
+                                                               'type' => '45024'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_image_destroy',
+                                         'Source' => 'image.c',
+                                         'SourceLine' => '92'
+                                       },
+                            '45531' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'numcmpts',
+                                                               'type' => '9015'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'cmptparms',
+                                                               'type' => '45882'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'clrspc',
+                                                               'type' => '42329'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi',
+                                                    '2' => 'rdx'
+                                                  },
+                                         'Return' => '45024',
+                                         'ShortName' => 'opj_image_create',
+                                         'Source' => 'image.c',
+                                         'SourceLine' => '40'
+                                       },
+                            '47604' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'numcmpts',
+                                                               'type' => '9015'
+                                                             },
+                                                      '1' => {
+                                                               'name' => 'cmptparms',
+                                                               'type' => '45882'
+                                                             },
+                                                      '2' => {
+                                                               'name' => 'clrspc',
+                                                               'type' => '42329'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi',
+                                                    '1' => 'rsi',
+                                                    '2' => 'rdx'
+                                                  },
+                                         'Return' => '45024',
+                                         'ShortName' => 'opj_image_tile_create',
+                                         'Source' => 'image.c',
+                                         'SourceLine' => '228'
+                                       },
+                            '47883' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Line' => '1116',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'ptr',
+                                                               'type' => '141'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi'
+                                                  },
+                                         'Return' => '1',
+                                         'ShortName' => 'opj_image_data_free',
+                                         'Source' => 'openjpeg.c',
+                                         'SourceLine' => '1019'
+                                       },
+                            '47947' => {
+                                         'Header' => 'openjpeg.h',
+                                         'Line' => '1106',
+                                         'Param' => {
+                                                      '0' => {
+                                                               'name' => 'size',
+                                                               'type' => '9026'
+                                                             }
+                                                    },
+                                         'Reg' => {
+                                                    '0' => 'rdi'
+                                                  },
+                                         'Return' => '141',
+                                         'ShortName' => 'opj_image_data_alloc',
+                                         'Source' => 'openjpeg.c',
+                                         'SourceLine' => '1012'
+                                       }
+                          },
+          'SymbolVersion' => {
+                               '_ITM_deregisterTMCloneTable' => 'sysconf@@GLIBC_2.2.5',
+                               '_ITM_registerTMCloneTable' => 'sysconf@@GLIBC_2.2.5',
+                               '_Jv_RegisterClasses' => 'sysconf@@GLIBC_2.2.5',
+                               '__gmon_start__' => 'sysconf@@GLIBC_2.2.5'
+                             },
+          'Symbols' => {
+                         'libopenjp2.so.2.2.0' => {
+                                                    '_fini' => 1,
+                                                    '_init' => 1,
+                                                    'opj_codec_set_threads' => 1,
+                                                    'opj_create_compress' => 1,
+                                                    'opj_create_decompress' => 1,
+                                                    'opj_decode' => 1,
+                                                    'opj_decode_tile_data' => 1,
+                                                    'opj_destroy_codec' => 1,
+                                                    'opj_destroy_cstr_index' => 1,
+                                                    'opj_destroy_cstr_info' => 1,
+                                                    'opj_dump_codec' => 1,
+                                                    'opj_encode' => 1,
+                                                    'opj_end_compress' => 1,
+                                                    'opj_end_decompress' => 1,
+                                                    'opj_get_cstr_index' => 1,
+                                                    'opj_get_cstr_info' => 1,
+                                                    'opj_get_decoded_tile' => 1,
+                                                    'opj_get_num_cpus' => 1,
+                                                    'opj_has_thread_support' => 1,
+                                                    'opj_image_create' => 1,
+                                                    'opj_image_data_alloc' => 1,
+                                                    'opj_image_data_free' => 1,
+                                                    'opj_image_destroy' => 1,
+                                                    'opj_image_tile_create' => 1,
+                                                    'opj_read_header' => 1,
+                                                    'opj_read_tile_header' => 1,
+                                                    'opj_set_MCT' => 1,
+                                                    'opj_set_decode_area' => 1,
+                                                    'opj_set_decoded_resolution_factor' => 1,
+                                                    'opj_set_default_decoder_parameters' => 1,
+                                                    'opj_set_default_encoder_parameters' => 1,
+                                                    'opj_set_error_handler' => 1,
+                                                    'opj_set_info_handler' => 1,
+                                                    'opj_set_warning_handler' => 1,
+                                                    'opj_setup_decoder' => 1,
+                                                    'opj_setup_encoder' => 1,
+                                                    'opj_start_compress' => 1,
+                                                    'opj_stream_create' => 1,
+                                                    'opj_stream_create_default_file_stream' => 1,
+                                                    'opj_stream_create_file_stream' => 1,
+                                                    'opj_stream_default_create' => 1,
+                                                    'opj_stream_destroy' => 1,
+                                                    'opj_stream_set_read_function' => 1,
+                                                    'opj_stream_set_seek_function' => 1,
+                                                    'opj_stream_set_skip_function' => 1,
+                                                    'opj_stream_set_user_data' => 1,
+                                                    'opj_stream_set_user_data_length' => 1,
+                                                    'opj_stream_set_write_function' => 1,
+                                                    'opj_version' => 1,
+                                                    'opj_write_tile' => 1
+                                                  }
+                       },
+          'Target' => 'unix',
+          'TypeInfo' => {
+                          '1' => {
+                                   'Name' => 'void',
+                                   'Type' => 'Intrinsic'
+                                 },
+                          '105' => {
+                                     'Name' => 'long',
+                                     'Size' => '8',
+                                     'Type' => 'Intrinsic'
+                                   },
+                          '11089' => {
+                                       'BaseType' => '163',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '115',
+                                       'Name' => 'OPJ_FLOAT32',
+                                       'Size' => '4',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11133' => {
+                                       'BaseType' => '105',
+                                       'Header' => 'stdint.h',
+                                       'Line' => '41',
+                                       'Name' => 'int64_t',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11155' => {
+                                       'BaseType' => '56',
+                                       'Header' => 'stdint.h',
+                                       'Line' => '56',
+                                       'Name' => 'uint64_t',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11188' => {
+                                       'BaseType' => '11155',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '128',
+                                       'Name' => 'OPJ_UINT64',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11199' => {
+                                       'BaseType' => '11133',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '130',
+                                       'Name' => 'OPJ_OFF_T',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '112' => {
+                                     'BaseType' => '105',
+                                     'Header' => 'types.h',
+                                     'Line' => '141',
+                                     'Name' => '__off_t',
+                                     'Size' => '8',
+                                     'Type' => 'Typedef'
+                                   },
+                          '11221' => {
+                                       'BaseType' => '11233',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '313',
+                                       'Name' => 'opj_msg_callback',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11233' => {
+                                       'Name' => 'void(*)(char const*, void*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '177'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '141'
+                                                           }
+                                                  },
+                                       'Return' => '1',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '11255' => {
+                                       'BaseType' => '11267',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '594',
+                                       'Name' => 'opj_stream_read_fn',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11267' => {
+                                       'Name' => 'OPJ_SIZE_T(*)(void*, OPJ_SIZE_T, void*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '141'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '9026'
+                                                           },
+                                                    '2' => {
+                                                             'type' => '141'
+                                                           }
+                                                  },
+                                       'Return' => '9026',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '11298' => {
+                                       'BaseType' => '11267',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '600',
+                                       'Name' => 'opj_stream_write_fn',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11310' => {
+                                       'BaseType' => '11322',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '606',
+                                       'Name' => 'opj_stream_skip_fn',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11322' => {
+                                       'Name' => 'OPJ_OFF_T(*)(OPJ_OFF_T, void*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '11199'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '141'
+                                                           }
+                                                  },
+                                       'Return' => '11199',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '11348' => {
+                                       'BaseType' => '11360',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '612',
+                                       'Name' => 'opj_stream_seek_fn',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11360' => {
+                                       'Name' => 'OPJ_BOOL(*)(OPJ_OFF_T, void*)',
+                                       'Param' => {
+                                                    '0' => {
+                                                             'type' => '11199'
+                                                           },
+                                                    '1' => {
+                                                             'type' => '141'
+                                                           }
+                                                  },
+                                       'Return' => '701',
+                                       'Size' => '8',
+                                       'Type' => 'FuncPtr'
+                                     },
+                          '11386' => {
+                                       'BaseType' => '712',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '618',
+                                       'Name' => 'opj_stream_free_user_data_fn',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11415' => {
+                                       'BaseType' => '141',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '623',
+                                       'Name' => 'opj_stream_t',
+                                       'Size' => '8',
+                                       'Type' => 'Typedef'
+                                     },
+                          '11813' => {
+                                       'BaseType' => '11089',
+                                       'Name' => 'OPJ_FLOAT32*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '11819' => {
+                                       'BaseType' => '9015',
+                                       'Name' => 'OPJ_UINT32*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '123' => {
+                                     'BaseType' => '105',
+                                     'Header' => 'types.h',
+                                     'Line' => '142',
+                                     'Name' => '__off64_t',
+                                     'Size' => '8',
+                                     'Type' => 'Typedef'
+                                   },
+                          '141' => {
+                                     'BaseType' => '1',
+                                     'Name' => 'void*',
+                                     'Size' => '8',
+                                     'Type' => 'Pointer'
+                                   },
+                          '143' => {
+                                     'BaseType' => '149',
+                                     'Name' => 'char*',
+                                     'Size' => '8',
+                                     'Type' => 'Pointer'
+                                   },
+                          '14551' => {
+                                       'BaseType' => '11415',
+                                       'Name' => 'opj_stream_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '149' => {
+                                     'Name' => 'char',
+                                     'Size' => '1',
+                                     'Type' => 'Intrinsic'
+                                   },
+                          '152556' => {
+                                        'BaseType' => '60940',
+                                        'Name' => 'opj_codestream_info_v2_t**',
+                                        'Size' => '8',
+                                        'Type' => 'Pointer'
+                                      },
+                          '163' => {
+                                     'Name' => 'float',
+                                     'Size' => '4',
+                                     'Type' => 'Intrinsic'
+                                   },
+                          '170' => {
+                                     'Name' => 'double',
+                                     'Size' => '8',
+                                     'Type' => 'Intrinsic'
+                                   },
+                          '177' => {
+                                     'BaseType' => '183',
+                                     'Name' => 'char const*',
+                                     'Size' => '8',
+                                     'Type' => 'Pointer'
+                                   },
+                          '18280' => {
+                                       'BaseType' => '9004',
+                                       'Name' => 'OPJ_INT32*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '18292' => {
+                                       'BaseType' => '9015',
+                                       'Name' => 'OPJ_UINT32[33]',
+                                       'Size' => '132',
+                                       'Type' => 'Array'
+                                     },
+                          '183' => {
+                                     'BaseType' => '149',
+                                     'Name' => 'char const',
+                                     'Size' => '1',
+                                     'Type' => 'Const'
+                                   },
+                          '188' => {
+                                     'Header' => 'libio.h',
+                                     'Line' => '273',
+                                     'Memb' => {
+                                                 '0' => {
+                                                          'name' => '_flags',
+                                                          'offset' => '0',
+                                                          'type' => '98'
+                                                        },
+                                                 '1' => {
+                                                          'name' => '_IO_read_ptr',
+                                                          'offset' => '8',
+                                                          'type' => '143'
+                                                        },
+                                                 '10' => {
+                                                           'name' => '_IO_backup_base',
+                                                           'offset' => '80',
+                                                           'type' => '143'
+                                                         },
+                                                 '11' => {
+                                                           'name' => '_IO_save_end',
+                                                           'offset' => '88',
+                                                           'type' => '143'
+                                                         },
+                                                 '12' => {
+                                                           'name' => '_markers',
+                                                           'offset' => '96',
+                                                           'type' => '651'
+                                                         },
+                                                 '13' => {
+                                                           'name' => '_chain',
+                                                           'offset' => '104',
+                                                           'type' => '657'
+                                                         },
+                                                 '14' => {
+                                                           'name' => '_fileno',
+                                                           'offset' => '112',
+                                                           'type' => '98'
+                                                         },
+                                                 '15' => {
+                                                           'name' => '_flags2',
+                                                           'offset' => '116',
+                                                           'type' => '98'
+                                                         },
+                                                 '16' => {
+                                                           'name' => '_old_offset',
+                                                           'offset' => '120',
+                                                           'type' => '112'
+                                                         },
+                                                 '17' => {
+                                                           'name' => '_cur_column',
+                                                           'offset' => '128',
+                                                           'type' => '70'
+                                                         },
+                                                 '18' => {
+                                                           'name' => '_vtable_offset',
+                                                           'offset' => '130',
+                                                           'type' => '84'
+                                                         },
+                                                 '19' => {
+                                                           'name' => '_shortbuf',
+                                                           'offset' => '131',
+                                                           'type' => '663'
+                                                         },
+                                                 '2' => {
+                                                          'name' => '_IO_read_end',
+                                                          'offset' => '16',
+                                                          'type' => '143'
+                                                        },
+                                                 '20' => {
+                                                           'name' => '_lock',
+                                                           'offset' => '136',
+                                                           'type' => '679'
+                                                         },
+                                                 '21' => {
+                                                           'name' => '_offset',
+                                                           'offset' => '144',
+                                                           'type' => '123'
+                                                         },
+                                                 '22' => {
+                                                           'name' => '__pad1',
+                                                           'offset' => '152',
+                                                           'type' => '141'
+                                                         },
+                                                 '23' => {
+                                                           'name' => '__pad2',
+                                                           'offset' => '160',
+                                                           'type' => '141'
+                                                         },
+                                                 '24' => {
+                                                           'name' => '__pad3',
+                                                           'offset' => '168',
+                                                           'type' => '141'
+                                                         },
+                                                 '25' => {
+                                                           'name' => '__pad4',
+                                                           'offset' => '176',
+                                                           'type' => '141'
+                                                         },
+                                                 '26' => {
+                                                           'name' => '__pad5',
+                                                           'offset' => '184',
+                                                           'type' => '45'
+                                                         },
+                                                 '27' => {
+                                                           'name' => '_mode',
+                                                           'offset' => '192',
+                                                           'type' => '98'
+                                                         },
+                                                 '28' => {
+                                                           'name' => '_unused2',
+                                                           'offset' => '196',
+                                                           'type' => '685'
+                                                         },
+                                                 '3' => {
+                                                          'name' => '_IO_read_base',
+                                                          'offset' => '24',
+                                                          'type' => '143'
+                                                        },
+                                                 '4' => {
+                                                          'name' => '_IO_write_base',
+                                                          'offset' => '32',
+                                                          'type' => '143'
+                                                        },
+                                                 '5' => {
+                                                          'name' => '_IO_write_ptr',
+                                                          'offset' => '40',
+                                                          'type' => '143'
+                                                        },
+                                                 '6' => {
+                                                          'name' => '_IO_write_end',
+                                                          'offset' => '48',
+                                                          'type' => '143'
+                                                        },
+                                                 '7' => {
+                                                          'name' => '_IO_buf_base',
+                                                          'offset' => '56',
+                                                          'type' => '143'
+                                                        },
+                                                 '8' => {
+                                                          'name' => '_IO_buf_end',
+                                                          'offset' => '64',
+                                                          'type' => '143'
+                                                        },
+                                                 '9' => {
+                                                          'name' => '_IO_save_base',
+                                                          'offset' => '72',
+                                                          'type' => '143'
+                                                        }
+                                               },
+                                     'Name' => 'struct _IO_FILE',
+                                     'PrivateABI' => 1,
+                                     'Size' => '216',
+                                     'Type' => 'Struct'
+                                   },
+                          '203441' => {
+                                        'Header' => 'openjpeg.h',
+                                        'Line' => '292',
+                                        'Memb' => {
+                                                    '0' => {
+                                                             'name' => 'OPJ_CODEC_UNKNOWN',
+                                                             'value' => '18446744073709551615'
+                                                           },
+                                                    '1' => {
+                                                             'name' => 'OPJ_CODEC_J2K',
+                                                             'value' => '0'
+                                                           },
+                                                    '2' => {
+                                                             'name' => 'OPJ_CODEC_JPT',
+                                                             'value' => '1'
+                                                           },
+                                                    '3' => {
+                                                             'name' => 'OPJ_CODEC_JP2',
+                                                             'value' => '2'
+                                                           },
+                                                    '4' => {
+                                                             'name' => 'OPJ_CODEC_JPP',
+                                                             'value' => '3'
+                                                           },
+                                                    '5' => {
+                                                             'name' => 'OPJ_CODEC_JPX',
+                                                             'value' => '4'
+                                                           }
+                                                  },
+                                        'Name' => 'enum CODEC_FORMAT',
+                                        'Size' => '4',
+                                        'Type' => 'Enum'
+                                      },
+                          '203491' => {
+                                        'BaseType' => '203441',
+                                        'Header' => 'openjpeg.h',
+                                        'Line' => '299',
+                                        'Name' => 'OPJ_CODEC_FORMAT',
+                                        'Size' => '4',
+                                        'Type' => 'Typedef'
+                                      },
+                          '205248' => {
+                                        'BaseType' => '141',
+                                        'Header' => 'openjpeg.h',
+                                        'Line' => '575',
+                                        'Name' => 'opj_codec_t',
+                                        'Size' => '8',
+                                        'Type' => 'Typedef'
+                                      },
+                          '214212' => {
+                                        'BaseType' => '205248',
+                                        'Name' => 'opj_codec_t*',
+                                        'Size' => '8',
+                                        'Type' => 'Pointer'
+                                      },
+                          '218441' => {
+                                        'BaseType' => '58944',
+                                        'Name' => 'opj_codestream_index_t**',
+                                        'Size' => '8',
+                                        'Type' => 'Pointer'
+                                      },
+                          '42068' => {
+                                       'BaseType' => '149',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '114',
+                                       'Name' => 'OPJ_CHAR',
+                                       'Size' => '1',
+                                       'Type' => 'Typedef'
+                                     },
+                          '42123' => {
+                                       'BaseType' => '70',
+                                       'Header' => 'stdint.h',
+                                       'Line' => '50',
+                                       'Name' => 'uint16_t',
+                                       'Size' => '2',
+                                       'Type' => 'Typedef'
+                                     },
+                          '42156' => {
+                                       'BaseType' => '42123',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '124',
+                                       'Name' => 'OPJ_UINT16',
+                                       'Size' => '2',
+                                       'Type' => 'Typedef'
+                                     },
+                          '42211' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '267',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'OPJ_PROG_UNKNOWN',
+                                                            'value' => '18446744073709551615'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'OPJ_LRCP',
+                                                            'value' => '0'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'OPJ_RLCP',
+                                                            'value' => '1'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'OPJ_RPCL',
+                                                            'value' => '2'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'OPJ_PCRL',
+                                                            'value' => '3'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'OPJ_CPRL',
+                                                            'value' => '4'
+                                                          }
+                                                 },
+                                       'Name' => 'enum PROG_ORDER',
+                                       'Size' => '4',
+                                       'Type' => 'Enum'
+                                     },
+                          '42261' => {
+                                       'BaseType' => '42211',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '274',
+                                       'Name' => 'OPJ_PROG_ORDER',
+                                       'Size' => '4',
+                                       'Type' => 'Typedef'
+                                     },
+                          '42273' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '279',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'OPJ_CLRSPC_UNKNOWN',
+                                                            'value' => '18446744073709551615'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'OPJ_CLRSPC_UNSPECIFIED',
+                                                            'value' => '0'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'OPJ_CLRSPC_SRGB',
+                                                            'value' => '1'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'OPJ_CLRSPC_GRAY',
+                                                            'value' => '2'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'OPJ_CLRSPC_SYCC',
+                                                            'value' => '3'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'OPJ_CLRSPC_EYCC',
+                                                            'value' => '4'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'OPJ_CLRSPC_CMYK',
+                                                            'value' => '5'
+                                                          }
+                                                 },
+                                       'Name' => 'enum COLOR_SPACE',
+                                       'Size' => '4',
+                                       'Type' => 'Enum'
+                                     },
+                          '42329' => {
+                                       'BaseType' => '42273',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '287',
+                                       'Name' => 'OPJ_COLOR_SPACE',
+                                       'Size' => '4',
+                                       'Type' => 'Typedef'
+                                     },
+                          '42341' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '325',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'resno0',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'compno0',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '10' => {
+                                                             'name' => 'progorder',
+                                                             'offset' => '40',
+                                                             'type' => '42821'
+                                                           },
+                                                   '11' => {
+                                                             'name' => 'tile',
+                                                             'offset' => '48',
+                                                             'type' => '9015'
+                                                           },
+                                                   '12' => {
+                                                             'name' => 'tx0',
+                                                             'offset' => '52',
+                                                             'type' => '9004'
+                                                           },
+                                                   '13' => {
+                                                             'name' => 'tx1',
+                                                             'offset' => '56',
+                                                             'type' => '9004'
+                                                           },
+                                                   '14' => {
+                                                             'name' => 'ty0',
+                                                             'offset' => '60',
+                                                             'type' => '9004'
+                                                           },
+                                                   '15' => {
+                                                             'name' => 'ty1',
+                                                             'offset' => '64',
+                                                             'type' => '9004'
+                                                           },
+                                                   '16' => {
+                                                             'name' => 'layS',
+                                                             'offset' => '68',
+                                                             'type' => '9015'
+                                                           },
+                                                   '17' => {
+                                                             'name' => 'resS',
+                                                             'offset' => '72',
+                                                             'type' => '9015'
+                                                           },
+                                                   '18' => {
+                                                             'name' => 'compS',
+                                                             'offset' => '76',
+                                                             'type' => '9015'
+                                                           },
+                                                   '19' => {
+                                                             'name' => 'prcS',
+                                                             'offset' => '80',
+                                                             'type' => '9015'
+                                                           },
+                                                   '2' => {
+                                                            'name' => 'layno1',
+                                                            'offset' => '8',
+                                                            'type' => '9015'
+                                                          },
+                                                   '20' => {
+                                                             'name' => 'layE',
+                                                             'offset' => '84',
+                                                             'type' => '9015'
+                                                           },
+                                                   '21' => {
+                                                             'name' => 'resE',
+                                                             'offset' => '88',
+                                                             'type' => '9015'
+                                                           },
+                                                   '22' => {
+                                                             'name' => 'compE',
+                                                             'offset' => '92',
+                                                             'type' => '9015'
+                                                           },
+                                                   '23' => {
+                                                             'name' => 'prcE',
+                                                             'offset' => '96',
+                                                             'type' => '9015'
+                                                           },
+                                                   '24' => {
+                                                             'name' => 'txS',
+                                                             'offset' => '100',
+                                                             'type' => '9015'
+                                                           },
+                                                   '25' => {
+                                                             'name' => 'txE',
+                                                             'offset' => '104',
+                                                             'type' => '9015'
+                                                           },
+                                                   '26' => {
+                                                             'name' => 'tyS',
+                                                             'offset' => '108',
+                                                             'type' => '9015'
+                                                           },
+                                                   '27' => {
+                                                             'name' => 'tyE',
+                                                             'offset' => '112',
+                                                             'type' => '9015'
+                                                           },
+                                                   '28' => {
+                                                             'name' => 'dx',
+                                                             'offset' => '116',
+                                                             'type' => '9015'
+                                                           },
+                                                   '29' => {
+                                                             'name' => 'dy',
+                                                             'offset' => '120',
+                                                             'type' => '9015'
+                                                           },
+                                                   '3' => {
+                                                            'name' => 'resno1',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '30' => {
+                                                             'name' => 'lay_t',
+                                                             'offset' => '124',
+                                                             'type' => '9015'
+                                                           },
+                                                   '31' => {
+                                                             'name' => 'res_t',
+                                                             'offset' => '128',
+                                                             'type' => '9015'
+                                                           },
+                                                   '32' => {
+                                                             'name' => 'comp_t',
+                                                             'offset' => '132',
+                                                             'type' => '9015'
+                                                           },
+                                                   '33' => {
+                                                             'name' => 'prc_t',
+                                                             'offset' => '136',
+                                                             'type' => '9015'
+                                                           },
+                                                   '34' => {
+                                                             'name' => 'tx0_t',
+                                                             'offset' => '140',
+                                                             'type' => '9015'
+                                                           },
+                                                   '35' => {
+                                                             'name' => 'ty0_t',
+                                                             'offset' => '144',
+                                                             'type' => '9015'
+                                                           },
+                                                   '4' => {
+                                                            'name' => 'compno1',
+                                                            'offset' => '16',
+                                                            'type' => '9015'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'layno0',
+                                                            'offset' => '20',
+                                                            'type' => '9015'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'precno0',
+                                                            'offset' => '24',
+                                                            'type' => '9015'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'precno1',
+                                                            'offset' => '28',
+                                                            'type' => '9015'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'prg1',
+                                                            'offset' => '32',
+                                                            'type' => '42261'
+                                                          },
+                                                   '9' => {
+                                                            'name' => 'prg',
+                                                            'offset' => '36',
+                                                            'type' => '42261'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_poc',
+                                       'Size' => '148',
+                                       'Type' => 'Struct'
+                                     },
+                          '42821' => {
+                                       'BaseType' => '42068',
+                                       'Name' => 'OPJ_CHAR[5]',
+                                       'Size' => '5',
+                                       'Type' => 'Array'
+                                     },
+                          '42837' => {
+                                       'BaseType' => '42341',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '348',
+                                       'Name' => 'opj_poc_t',
+                                       'Size' => '148',
+                                       'Type' => 'Typedef'
+                                     },
+                          '42849' => {
+                                       'BaseType' => '42837',
+                                       'Name' => 'opj_poc_t[32]',
+                                       'Size' => '4736',
+                                       'Type' => 'Array'
+                                     },
+                          '42865' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '634',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'dx',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'dy',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '10' => {
+                                                             'name' => 'factor',
+                                                             'offset' => '40',
+                                                             'type' => '9015'
+                                                           },
+                                                   '11' => {
+                                                             'name' => 'data',
+                                                             'offset' => '48',
+                                                             'type' => '18280'
+                                                           },
+                                                   '12' => {
+                                                             'name' => 'alpha',
+                                                             'offset' => '56',
+                                                             'type' => '42156'
+                                                           },
+                                                   '2' => {
+                                                            'name' => 'w',
+                                                            'offset' => '8',
+                                                            'type' => '9015'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'h',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'x0',
+                                                            'offset' => '16',
+                                                            'type' => '9015'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'y0',
+                                                            'offset' => '20',
+                                                            'type' => '9015'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'prec',
+                                                            'offset' => '24',
+                                                            'type' => '9015'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'bpp',
+                                                            'offset' => '28',
+                                                            'type' => '9015'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'sgnd',
+                                                            'offset' => '32',
+                                                            'type' => '9015'
+                                                          },
+                                                   '9' => {
+                                                            'name' => 'resno_decoded',
+                                                            'offset' => '36',
+                                                            'type' => '9015'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_image_comp',
+                                       'Size' => '64',
+                                       'Type' => 'Struct'
+                                     },
+                          '43046' => {
+                                       'BaseType' => '42865',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '661',
+                                       'Name' => 'opj_image_comp_t',
+                                       'Size' => '64',
+                                       'Type' => 'Typedef'
+                                     },
+                          '43058' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '666',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'x0',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'y0',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'x1',
+                                                            'offset' => '8',
+                                                            'type' => '9015'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'y1',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'numcomps',
+                                                            'offset' => '16',
+                                                            'type' => '9015'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'color_space',
+                                                            'offset' => '20',
+                                                            'type' => '42329'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'comps',
+                                                            'offset' => '24',
+                                                            'type' => '43185'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'icc_profile_buf',
+                                                            'offset' => '32',
+                                                            'type' => '9037'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'icc_profile_len',
+                                                            'offset' => '40',
+                                                            'type' => '9015'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_image',
+                                       'Size' => '48',
+                                       'Type' => 'Struct'
+                                     },
+                          '43185' => {
+                                       'BaseType' => '43046',
+                                       'Name' => 'opj_image_comp_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '43197' => {
+                                       'BaseType' => '43058',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '685',
+                                       'Name' => 'opj_image_t',
+                                       'Size' => '48',
+                                       'Type' => 'Typedef'
+                                     },
+                          '43209' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '691',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'dx',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'dy',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'w',
+                                                            'offset' => '8',
+                                                            'type' => '9015'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'h',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'x0',
+                                                            'offset' => '16',
+                                                            'type' => '9015'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'y0',
+                                                            'offset' => '20',
+                                                            'type' => '9015'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'prec',
+                                                            'offset' => '24',
+                                                            'type' => '9015'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'bpp',
+                                                            'offset' => '28',
+                                                            'type' => '9015'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'sgnd',
+                                                            'offset' => '32',
+                                                            'type' => '9015'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_image_comptparm',
+                                       'Size' => '36',
+                                       'Type' => 'Struct'
+                                     },
+                          '43332' => {
+                                       'BaseType' => '43209',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '710',
+                                       'Name' => 'opj_image_cmptparm_t',
+                                       'Size' => '36',
+                                       'Type' => 'Typedef'
+                                     },
+                          '45' => {
+                                    'BaseType' => '56',
+                                    'Header' => 'stddef.h',
+                                    'Line' => '212',
+                                    'Name' => 'size_t',
+                                    'Size' => '8',
+                                    'Type' => 'Typedef'
+                                  },
+                          '45024' => {
+                                       'BaseType' => '43197',
+                                       'Name' => 'opj_image_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '45882' => {
+                                       'BaseType' => '43332',
+                                       'Name' => 'opj_image_cmptparm_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '51122' => {
+                                       'BaseType' => '188',
+                                       'Header' => 'stdio.h',
+                                       'Line' => '49',
+                                       'Name' => 'FILE',
+                                       'Size' => '216',
+                                       'Type' => 'Typedef'
+                                     },
+                          '51839' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '246',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'OPJ_STD_RSIZ',
+                                                            'value' => '0'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'OPJ_CINEMA2K',
+                                                            'value' => '3'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'OPJ_CINEMA4K',
+                                                            'value' => '4'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'OPJ_MCT',
+                                                            'value' => '33024'
+                                                          }
+                                                 },
+                                       'Name' => 'enum RSIZ_CAPABILITIES',
+                                       'Size' => '4',
+                                       'Type' => 'Enum'
+                                     },
+                          '51878' => {
+                                       'BaseType' => '51839',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '251',
+                                       'Name' => 'OPJ_RSIZ_CAPABILITIES',
+                                       'Size' => '4',
+                                       'Type' => 'Typedef'
+                                     },
+                          '51889' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '257',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'OPJ_OFF',
+                                                            'value' => '0'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'OPJ_CINEMA2K_24',
+                                                            'value' => '1'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'OPJ_CINEMA2K_48',
+                                                            'value' => '2'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'OPJ_CINEMA4K_24',
+                                                            'value' => '3'
+                                                          }
+                                                 },
+                                       'Name' => 'enum CINEMA_MODE',
+                                       'Size' => '4',
+                                       'Type' => 'Enum'
+                                     },
+                          '51927' => {
+                                       'BaseType' => '51889',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '262',
+                                       'Name' => 'OPJ_CINEMA_MODE',
+                                       'Size' => '4',
+                                       'Type' => 'Typedef'
+                                     },
+                          '52611' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '353',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'tile_size_on',
+                                                            'offset' => '0',
+                                                            'type' => '701'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'cp_tx0',
+                                                            'offset' => '4',
+                                                            'type' => '98'
+                                                          },
+                                                   '10' => {
+                                                             'name' => 'csty',
+                                                             'offset' => '48',
+                                                             'type' => '98'
+                                                           },
+                                                   '11' => {
+                                                             'name' => 'prog_order',
+                                                             'offset' => '52',
+                                                             'type' => '42261'
+                                                           },
+                                                   '12' => {
+                                                             'name' => 'POC',
+                                                             'offset' => '56',
+                                                             'type' => '42849'
+                                                           },
+                                                   '13' => {
+                                                             'name' => 'numpocs',
+                                                             'offset' => '4792',
+                                                             'type' => '9015'
+                                                           },
+                                                   '14' => {
+                                                             'name' => 'tcp_numlayers',
+                                                             'offset' => '4796',
+                                                             'type' => '98'
+                                                           },
+                                                   '15' => {
+                                                             'name' => 'tcp_rates',
+                                                             'offset' => '4800',
+                                                             'type' => '53475'
+                                                           },
+                                                   '16' => {
+                                                             'name' => 'tcp_distoratio',
+                                                             'offset' => '5200',
+                                                             'type' => '53475'
+                                                           },
+                                                   '17' => {
+                                                             'name' => 'numresolution',
+                                                             'offset' => '5600',
+                                                             'type' => '98'
+                                                           },
+                                                   '18' => {
+                                                             'name' => 'cblockw_init',
+                                                             'offset' => '5604',
+                                                             'type' => '98'
+                                                           },
+                                                   '19' => {
+                                                             'name' => 'cblockh_init',
+                                                             'offset' => '5608',
+                                                             'type' => '98'
+                                                           },
+                                                   '2' => {
+                                                            'name' => 'cp_ty0',
+                                                            'offset' => '8',
+                                                            'type' => '98'
+                                                          },
+                                                   '20' => {
+                                                             'name' => 'mode',
+                                                             'offset' => '5612',
+                                                             'type' => '98'
+                                                           },
+                                                   '21' => {
+                                                             'name' => 'irreversible',
+                                                             'offset' => '5616',
+                                                             'type' => '98'
+                                                           },
+                                                   '22' => {
+                                                             'name' => 'roi_compno',
+                                                             'offset' => '5620',
+                                                             'type' => '98'
+                                                           },
+                                                   '23' => {
+                                                             'name' => 'roi_shift',
+                                                             'offset' => '5624',
+                                                             'type' => '98'
+                                                           },
+                                                   '24' => {
+                                                             'name' => 'res_spec',
+                                                             'offset' => '5628',
+                                                             'type' => '98'
+                                                           },
+                                                   '25' => {
+                                                             'name' => 'prcw_init',
+                                                             'offset' => '5632',
+                                                             'type' => '53491'
+                                                           },
+                                                   '26' => {
+                                                             'name' => 'prch_init',
+                                                             'offset' => '5764',
+                                                             'type' => '53491'
+                                                           },
+                                                   '27' => {
+                                                             'name' => 'infile',
+                                                             'offset' => '5896',
+                                                             'type' => '53507'
+                                                           },
+                                                   '28' => {
+                                                             'name' => 'outfile',
+                                                             'offset' => '9992',
+                                                             'type' => '53507'
+                                                           },
+                                                   '29' => {
+                                                             'name' => 'index_on',
+                                                             'offset' => '14088',
+                                                             'type' => '98'
+                                                           },
+                                                   '3' => {
+                                                            'name' => 'cp_tdx',
+                                                            'offset' => '12',
+                                                            'type' => '98'
+                                                          },
+                                                   '30' => {
+                                                             'name' => 'index',
+                                                             'offset' => '14092',
+                                                             'type' => '53507'
+                                                           },
+                                                   '31' => {
+                                                             'name' => 'image_offset_x0',
+                                                             'offset' => '18188',
+                                                             'type' => '98'
+                                                           },
+                                                   '32' => {
+                                                             'name' => 'image_offset_y0',
+                                                             'offset' => '18192',
+                                                             'type' => '98'
+                                                           },
+                                                   '33' => {
+                                                             'name' => 'subsampling_dx',
+                                                             'offset' => '18196',
+                                                             'type' => '98'
+                                                           },
+                                                   '34' => {
+                                                             'name' => 'subsampling_dy',
+                                                             'offset' => '18200',
+                                                             'type' => '98'
+                                                           },
+                                                   '35' => {
+                                                             'name' => 'decod_format',
+                                                             'offset' => '18204',
+                                                             'type' => '98'
+                                                           },
+                                                   '36' => {
+                                                             'name' => 'cod_format',
+                                                             'offset' => '18208',
+                                                             'type' => '98'
+                                                           },
+                                                   '37' => {
+                                                             'name' => 'jpwl_epc_on',
+                                                             'offset' => '18212',
+                                                             'type' => '701'
+                                                           },
+                                                   '38' => {
+                                                             'name' => 'jpwl_hprot_MH',
+                                                             'offset' => '18216',
+                                                             'type' => '98'
+                                                           },
+                                                   '39' => {
+                                                             'name' => 'jpwl_hprot_TPH_tileno',
+                                                             'offset' => '18220',
+                                                             'type' => '53524'
+                                                           },
+                                                   '4' => {
+                                                            'name' => 'cp_tdy',
+                                                            'offset' => '16',
+                                                            'type' => '98'
+                                                          },
+                                                   '40' => {
+                                                             'name' => 'jpwl_hprot_TPH',
+                                                             'offset' => '18284',
+                                                             'type' => '53524'
+                                                           },
+                                                   '41' => {
+                                                             'name' => 'jpwl_pprot_tileno',
+                                                             'offset' => '18348',
+                                                             'type' => '53524'
+                                                           },
+                                                   '42' => {
+                                                             'name' => 'jpwl_pprot_packno',
+                                                             'offset' => '18412',
+                                                             'type' => '53524'
+                                                           },
+                                                   '43' => {
+                                                             'name' => 'jpwl_pprot',
+                                                             'offset' => '18476',
+                                                             'type' => '53524'
+                                                           },
+                                                   '44' => {
+                                                             'name' => 'jpwl_sens_size',
+                                                             'offset' => '18540',
+                                                             'type' => '98'
+                                                           },
+                                                   '45' => {
+                                                             'name' => 'jpwl_sens_addr',
+                                                             'offset' => '18544',
+                                                             'type' => '98'
+                                                           },
+                                                   '46' => {
+                                                             'name' => 'jpwl_sens_range',
+                                                             'offset' => '18548',
+                                                             'type' => '98'
+                                                           },
+                                                   '47' => {
+                                                             'name' => 'jpwl_sens_MH',
+                                                             'offset' => '18552',
+                                                             'type' => '98'
+                                                           },
+                                                   '48' => {
+                                                             'name' => 'jpwl_sens_TPH_tileno',
+                                                             'offset' => '18556',
+                                                             'type' => '53524'
+                                                           },
+                                                   '49' => {
+                                                             'name' => 'jpwl_sens_TPH',
+                                                             'offset' => '18620',
+                                                             'type' => '53524'
+                                                           },
+                                                   '5' => {
+                                                            'name' => 'cp_disto_alloc',
+                                                            'offset' => '20',
+                                                            'type' => '98'
+                                                          },
+                                                   '50' => {
+                                                             'name' => 'cp_cinema',
+                                                             'offset' => '18684',
+                                                             'type' => '51927'
+                                                           },
+                                                   '51' => {
+                                                             'name' => 'max_comp_size',
+                                                             'offset' => '18688',
+                                                             'type' => '98'
+                                                           },
+                                                   '52' => {
+                                                             'name' => 'cp_rsiz',
+                                                             'offset' => '18692',
+                                                             'type' => '51878'
+                                                           },
+                                                   '53' => {
+                                                             'name' => 'tp_on',
+                                                             'offset' => '18696',
+                                                             'type' => '149'
+                                                           },
+                                                   '54' => {
+                                                             'name' => 'tp_flag',
+                                                             'offset' => '18697',
+                                                             'type' => '149'
+                                                           },
+                                                   '55' => {
+                                                             'name' => 'tcp_mct',
+                                                             'offset' => '18698',
+                                                             'type' => '149'
+                                                           },
+                                                   '56' => {
+                                                             'name' => 'jpip_on',
+                                                             'offset' => '18700',
+                                                             'type' => '701'
+                                                           },
+                                                   '57' => {
+                                                             'name' => 'mct_data',
+                                                             'offset' => '18704',
+                                                             'type' => '141'
+                                                           },
+                                                   '58' => {
+                                                             'name' => 'max_cs_size',
+                                                             'offset' => '18712',
+                                                             'type' => '98'
+                                                           },
+                                                   '59' => {
+                                                             'name' => 'rsiz',
+                                                             'offset' => '18716',
+                                                             'type' => '42156'
+                                                           },
+                                                   '6' => {
+                                                            'name' => 'cp_fixed_alloc',
+                                                            'offset' => '24',
+                                                            'type' => '98'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'cp_fixed_quality',
+                                                            'offset' => '28',
+                                                            'type' => '98'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'cp_matrice',
+                                                            'offset' => '32',
+                                                            'type' => '53453'
+                                                          },
+                                                   '9' => {
+                                                            'name' => 'cp_comment',
+                                                            'offset' => '40',
+                                                            'type' => '143'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_cparameters',
+                                       'Size' => '18720',
+                                       'Type' => 'Struct'
+                                     },
+                          '53453' => {
+                                       'BaseType' => '98',
+                                       'Name' => 'int*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '53475' => {
+                                       'BaseType' => '163',
+                                       'Name' => 'float[100]',
+                                       'Size' => '400',
+                                       'Type' => 'Array'
+                                     },
+                          '53491' => {
+                                       'BaseType' => '98',
+                                       'Name' => 'int[33]',
+                                       'Size' => '132',
+                                       'Type' => 'Array'
+                                     },
+                          '53507' => {
+                                       'BaseType' => '149',
+                                       'Name' => 'char[4096]',
+                                       'Size' => '4096',
+                                       'Type' => 'Array'
+                                     },
+                          '53524' => {
+                                       'BaseType' => '98',
+                                       'Name' => 'int[16]',
+                                       'Size' => '64',
+                                       'Type' => 'Array'
+                                     },
+                          '53540' => {
+                                       'BaseType' => '52611',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '501',
+                                       'Name' => 'opj_cparameters_t',
+                                       'Size' => '18720',
+                                       'Type' => 'Typedef'
+                                     },
+                          '53552' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '509',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'cp_reduce',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'cp_layer',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '10' => {
+                                                             'name' => 'm_verbose',
+                                                             'offset' => '8224',
+                                                             'type' => '701'
+                                                           },
+                                                   '11' => {
+                                                             'name' => 'tile_index',
+                                                             'offset' => '8228',
+                                                             'type' => '9015'
+                                                           },
+                                                   '12' => {
+                                                             'name' => 'nb_tile_to_decode',
+                                                             'offset' => '8232',
+                                                             'type' => '9015'
+                                                           },
+                                                   '13' => {
+                                                             'name' => 'jpwl_correct',
+                                                             'offset' => '8236',
+                                                             'type' => '701'
+                                                           },
+                                                   '14' => {
+                                                             'name' => 'jpwl_exp_comps',
+                                                             'offset' => '8240',
+                                                             'type' => '98'
+                                                           },
+                                                   '15' => {
+                                                             'name' => 'jpwl_max_tiles',
+                                                             'offset' => '8244',
+                                                             'type' => '98'
+                                                           },
+                                                   '16' => {
+                                                             'name' => 'flags',
+                                                             'offset' => '8248',
+                                                             'type' => '77'
+                                                           },
+                                                   '2' => {
+                                                            'name' => 'infile',
+                                                            'offset' => '8',
+                                                            'type' => '53507'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'outfile',
+                                                            'offset' => '4104',
+                                                            'type' => '53507'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'decod_format',
+                                                            'offset' => '8200',
+                                                            'type' => '98'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'cod_format',
+                                                            'offset' => '8204',
+                                                            'type' => '98'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'DA_x0',
+                                                            'offset' => '8208',
+                                                            'type' => '9015'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'DA_x1',
+                                                            'offset' => '8212',
+                                                            'type' => '9015'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'DA_y0',
+                                                            'offset' => '8216',
+                                                            'type' => '9015'
+                                                          },
+                                                   '9' => {
+                                                            'name' => 'DA_y1',
+                                                            'offset' => '8220',
+                                                            'type' => '9015'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_dparameters',
+                                       'Size' => '8252',
+                                       'Type' => 'Struct'
+                                     },
+                          '53802' => {
+                                       'BaseType' => '53552',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '569',
+                                       'Name' => 'opj_dparameters_t',
+                                       'Size' => '8252',
+                                       'Type' => 'Typedef'
+                                     },
+                          '54318' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '723',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'start_pos',
+                                                            'offset' => '0',
+                                                            'type' => '11199'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'end_ph_pos',
+                                                            'offset' => '8',
+                                                            'type' => '11199'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'end_pos',
+                                                            'offset' => '16',
+                                                            'type' => '11199'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'disto',
+                                                            'offset' => '24',
+                                                            'type' => '170'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_packet_info',
+                                       'Size' => '32',
+                                       'Type' => 'Struct'
+                                     },
+                          '54384' => {
+                                       'BaseType' => '54318',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '732',
+                                       'Name' => 'opj_packet_info_t',
+                                       'Size' => '32',
+                                       'Type' => 'Typedef'
+                                     },
+                          '54396' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '739',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'type',
+                                                            'offset' => '0',
+                                                            'type' => '70'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'pos',
+                                                            'offset' => '8',
+                                                            'type' => '11199'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'len',
+                                                            'offset' => '16',
+                                                            'type' => '98'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_marker_info',
+                                       'Size' => '24',
+                                       'Type' => 'Struct'
+                                     },
+                          '54449' => {
+                                       'BaseType' => '54396',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '746',
+                                       'Name' => 'opj_marker_info_t',
+                                       'Size' => '24',
+                                       'Type' => 'Typedef'
+                                     },
+                          '54801' => {
+                                       'BaseType' => '54384',
+                                       'Name' => 'opj_packet_info_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '54807' => {
+                                       'BaseType' => '54449',
+                                       'Name' => 'opj_marker_info_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '55147' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '863',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'compno',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'csty',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '10' => {
+                                                             'name' => 'numgbits',
+                                                             'offset' => '808',
+                                                             'type' => '9015'
+                                                           },
+                                                   '11' => {
+                                                             'name' => 'roishift',
+                                                             'offset' => '812',
+                                                             'type' => '9004'
+                                                           },
+                                                   '12' => {
+                                                             'name' => 'prcw',
+                                                             'offset' => '816',
+                                                             'type' => '18292'
+                                                           },
+                                                   '13' => {
+                                                             'name' => 'prch',
+                                                             'offset' => '948',
+                                                             'type' => '18292'
+                                                           },
+                                                   '2' => {
+                                                            'name' => 'numresolutions',
+                                                            'offset' => '8',
+                                                            'type' => '9015'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'cblkw',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'cblkh',
+                                                            'offset' => '16',
+                                                            'type' => '9015'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'cblksty',
+                                                            'offset' => '20',
+                                                            'type' => '9015'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'qmfbid',
+                                                            'offset' => '24',
+                                                            'type' => '9015'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'qntsty',
+                                                            'offset' => '28',
+                                                            'type' => '9015'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'stepsizes_mant',
+                                                            'offset' => '32',
+                                                            'type' => '55349'
+                                                          },
+                                                   '9' => {
+                                                            'name' => 'stepsizes_expn',
+                                                            'offset' => '420',
+                                                            'type' => '55349'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_tccp_info',
+                                       'Size' => '1080',
+                                       'Type' => 'Struct'
+                                     },
+                          '55349' => {
+                                       'BaseType' => '9015',
+                                       'Name' => 'OPJ_UINT32[97]',
+                                       'Size' => '388',
+                                       'Type' => 'Array'
+                                     },
+                          '55381' => {
+                                       'BaseType' => '55147',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '893',
+                                       'Name' => 'opj_tccp_info_t',
+                                       'Size' => '1080',
+                                       'Type' => 'Typedef'
+                                     },
+                          '55393' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '898',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'tileno',
+                                                            'offset' => '0',
+                                                            'type' => '98'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'csty',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'prg',
+                                                            'offset' => '8',
+                                                            'type' => '42261'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'numlayers',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'mct',
+                                                            'offset' => '16',
+                                                            'type' => '9015'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'tccp_info',
+                                                            'offset' => '24',
+                                                            'type' => '55485'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_tile_v2_info',
+                                       'Size' => '32',
+                                       'Type' => 'Struct'
+                                     },
+                          '55485' => {
+                                       'BaseType' => '55381',
+                                       'Name' => 'opj_tccp_info_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '55491' => {
+                                       'BaseType' => '55393',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '914',
+                                       'Name' => 'opj_tile_info_v2_t',
+                                       'Size' => '32',
+                                       'Type' => 'Typedef'
+                                     },
+                          '55503' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '919',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'tx0',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'ty0',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'tdx',
+                                                            'offset' => '8',
+                                                            'type' => '9015'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'tdy',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'tw',
+                                                            'offset' => '16',
+                                                            'type' => '9015'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'th',
+                                                            'offset' => '20',
+                                                            'type' => '9015'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'nbcomps',
+                                                            'offset' => '24',
+                                                            'type' => '9015'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'm_default_tile_info',
+                                                            'offset' => '32',
+                                                            'type' => '55491'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'tile_info',
+                                                            'offset' => '64',
+                                                            'type' => '55632'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_codestream_info_v2',
+                                       'Size' => '72',
+                                       'Type' => 'Struct'
+                                     },
+                          '55632' => {
+                                       'BaseType' => '55491',
+                                       'Name' => 'opj_tile_info_v2_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '55638' => {
+                                       'BaseType' => '55503',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '943',
+                                       'Name' => 'opj_codestream_info_v2_t',
+                                       'Size' => '72',
+                                       'Type' => 'Typedef'
+                                     },
+                          '55650' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '949',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'start_pos',
+                                                            'offset' => '0',
+                                                            'type' => '11199'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'end_header',
+                                                            'offset' => '8',
+                                                            'type' => '11199'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'end_pos',
+                                                            'offset' => '16',
+                                                            'type' => '11199'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_tp_index',
+                                       'Size' => '24',
+                                       'Type' => 'Struct'
+                                     },
+                          '55703' => {
+                                       'BaseType' => '55650',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '957',
+                                       'Name' => 'opj_tp_index_t',
+                                       'Size' => '24',
+                                       'Type' => 'Typedef'
+                                     },
+                          '55715' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '962',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'tileno',
+                                                            'offset' => '0',
+                                                            'type' => '9015'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'nb_tps',
+                                                            'offset' => '4',
+                                                            'type' => '9015'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'current_nb_tps',
+                                                            'offset' => '8',
+                                                            'type' => '9015'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'current_tpsno',
+                                                            'offset' => '12',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'tp_index',
+                                                            'offset' => '16',
+                                                            'type' => '55859'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'marknum',
+                                                            'offset' => '24',
+                                                            'type' => '9015'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'marker',
+                                                            'offset' => '32',
+                                                            'type' => '54807'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'maxmarknum',
+                                                            'offset' => '40',
+                                                            'type' => '9015'
+                                                          },
+                                                   '8' => {
+                                                            'name' => 'nb_packet',
+                                                            'offset' => '44',
+                                                            'type' => '9015'
+                                                          },
+                                                   '9' => {
+                                                            'name' => 'packet_index',
+                                                            'offset' => '48',
+                                                            'type' => '54801'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_tile_index',
+                                       'Size' => '56',
+                                       'Type' => 'Struct'
+                                     },
+                          '55859' => {
+                                       'BaseType' => '55703',
+                                       'Name' => 'opj_tp_index_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '55865' => {
+                                       'BaseType' => '55715',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '989',
+                                       'Name' => 'opj_tile_index_t',
+                                       'Size' => '56',
+                                       'Type' => 'Typedef'
+                                     },
+                          '55877' => {
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '994',
+                                       'Memb' => {
+                                                   '0' => {
+                                                            'name' => 'main_head_start',
+                                                            'offset' => '0',
+                                                            'type' => '11199'
+                                                          },
+                                                   '1' => {
+                                                            'name' => 'main_head_end',
+                                                            'offset' => '8',
+                                                            'type' => '11199'
+                                                          },
+                                                   '2' => {
+                                                            'name' => 'codestream_size',
+                                                            'offset' => '16',
+                                                            'type' => '11188'
+                                                          },
+                                                   '3' => {
+                                                            'name' => 'marknum',
+                                                            'offset' => '24',
+                                                            'type' => '9015'
+                                                          },
+                                                   '4' => {
+                                                            'name' => 'marker',
+                                                            'offset' => '32',
+                                                            'type' => '54807'
+                                                          },
+                                                   '5' => {
+                                                            'name' => 'maxmarknum',
+                                                            'offset' => '40',
+                                                            'type' => '9015'
+                                                          },
+                                                   '6' => {
+                                                            'name' => 'nb_of_tiles',
+                                                            'offset' => '44',
+                                                            'type' => '9015'
+                                                          },
+                                                   '7' => {
+                                                            'name' => 'tile_index',
+                                                            'offset' => '48',
+                                                            'type' => '55995'
+                                                          }
+                                                 },
+                                       'Name' => 'struct opj_codestream_index',
+                                       'Size' => '56',
+                                       'Type' => 'Struct'
+                                     },
+                          '55995' => {
+                                       'BaseType' => '55865',
+                                       'Name' => 'opj_tile_index_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '56' => {
+                                    'Name' => 'unsigned long',
+                                    'Size' => '8',
+                                    'Type' => 'Intrinsic'
+                                  },
+                          '56001' => {
+                                       'BaseType' => '55877',
+                                       'Header' => 'openjpeg.h',
+                                       'Line' => '1017',
+                                       'Name' => 'opj_codestream_index_t',
+                                       'Size' => '56',
+                                       'Type' => 'Typedef'
+                                     },
+                          '58944' => {
+                                       'BaseType' => '56001',
+                                       'Name' => 'opj_codestream_index_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '595' => {
+                                     'Header' => 'libio.h',
+                                     'Line' => '182',
+                                     'Name' => '_IO_lock_t',
+                                     'Type' => 'Typedef'
+                                   },
+                          '602' => {
+                                     'Header' => 'libio.h',
+                                     'Line' => '188',
+                                     'Memb' => {
+                                                 '0' => {
+                                                          'name' => '_next',
+                                                          'offset' => '0',
+                                                          'type' => '651'
+                                                        },
+                                                 '1' => {
+                                                          'name' => '_sbuf',
+                                                          'offset' => '8',
+                                                          'type' => '657'
+                                                        },
+                                                 '2' => {
+                                                          'name' => '_pos',
+                                                          'offset' => '16',
+                                                          'type' => '98'
+                                                        }
+                                               },
+                                     'Name' => 'struct _IO_marker',
+                                     'PrivateABI' => 1,
+                                     'Size' => '24',
+                                     'Type' => 'Struct'
+                                   },
+                          '60904' => {
+                                       'BaseType' => '45024',
+                                       'Name' => 'opj_image_t**',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '60910' => {
+                                       'BaseType' => '701',
+                                       'Name' => 'OPJ_BOOL*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '60916' => {
+                                       'BaseType' => '53802',
+                                       'Name' => 'opj_dparameters_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '60928' => {
+                                       'BaseType' => '53540',
+                                       'Name' => 'opj_cparameters_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '60934' => {
+                                       'BaseType' => '51122',
+                                       'Name' => 'FILE*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '60940' => {
+                                       'BaseType' => '55638',
+                                       'Name' => 'opj_codestream_info_v2_t*',
+                                       'Size' => '8',
+                                       'Type' => 'Pointer'
+                                     },
+                          '63' => {
+                                    'Name' => 'unsigned char',
+                                    'Size' => '1',
+                                    'Type' => 'Intrinsic'
+                                  },
+                          '651' => {
+                                     'BaseType' => '602',
+                                     'Name' => 'struct _IO_marker*',
+                                     'Size' => '8',
+                                     'Type' => 'Pointer'
+                                   },
+                          '657' => {
+                                     'BaseType' => '188',
+                                     'Name' => 'struct _IO_FILE*',
+                                     'Size' => '8',
+                                     'Type' => 'Pointer'
+                                   },
+                          '663' => {
+                                     'BaseType' => '149',
+                                     'Name' => 'char[1]',
+                                     'Size' => '1',
+                                     'Type' => 'Array'
+                                   },
+                          '679' => {
+                                     'BaseType' => '595',
+                                     'Name' => '_IO_lock_t*',
+                                     'Size' => '8',
+                                     'Type' => 'Pointer'
+                                   },
+                          '685' => {
+                                     'BaseType' => '149',
+                                     'Name' => 'char[20]',
+                                     'Size' => '20',
+                                     'Type' => 'Array'
+                                   },
+                          '70' => {
+                                    'Name' => 'unsigned short',
+                                    'Size' => '2',
+                                    'Type' => 'Intrinsic'
+                                  },
+                          '701' => {
+                                     'BaseType' => '98',
+                                     'Header' => 'openjpeg.h',
+                                     'Line' => '110',
+                                     'Name' => 'OPJ_BOOL',
+                                     'Size' => '4',
+                                     'Type' => 'Typedef'
+                                   },
+                          '712' => {
+                                     'Name' => 'void(*)(void*)',
+                                     'Param' => {
+                                                  '0' => {
+                                                           'type' => '141'
+                                                         }
+                                                },
+                                     'Return' => '1',
+                                     'Size' => '8',
+                                     'Type' => 'FuncPtr'
+                                   },
+                          '77' => {
+                                    'Name' => 'unsigned int',
+                                    'Size' => '4',
+                                    'Type' => 'Intrinsic'
+                                  },
+                          '84' => {
+                                    'Name' => 'signed char',
+                                    'Size' => '1',
+                                    'Type' => 'Intrinsic'
+                                  },
+                          '8971' => {
+                                      'BaseType' => '63',
+                                      'Header' => 'openjpeg.h',
+                                      'Line' => '117',
+                                      'Name' => 'OPJ_BYTE',
+                                      'Size' => '1',
+                                      'Type' => 'Typedef'
+                                    },
+                          '8982' => {
+                                      'BaseType' => '98',
+                                      'Header' => 'stdint.h',
+                                      'Line' => '39',
+                                      'Name' => 'int32_t',
+                                      'Size' => '4',
+                                      'Type' => 'Typedef'
+                                    },
+                          '8993' => {
+                                      'BaseType' => '77',
+                                      'Header' => 'stdint.h',
+                                      'Line' => '52',
+                                      'Name' => 'uint32_t',
+                                      'Size' => '4',
+                                      'Type' => 'Typedef'
+                                    },
+                          '9004' => {
+                                      'BaseType' => '8982',
+                                      'Header' => 'openjpeg.h',
+                                      'Line' => '125',
+                                      'Name' => 'OPJ_INT32',
+                                      'Size' => '4',
+                                      'Type' => 'Typedef'
+                                    },
+                          '9015' => {
+                                      'BaseType' => '8993',
+                                      'Header' => 'openjpeg.h',
+                                      'Line' => '126',
+                                      'Name' => 'OPJ_UINT32',
+                                      'Size' => '4',
+                                      'Type' => 'Typedef'
+                                    },
+                          '9026' => {
+                                      'BaseType' => '45',
+                                      'Header' => 'openjpeg.h',
+                                      'Line' => '133',
+                                      'Name' => 'OPJ_SIZE_T',
+                                      'Size' => '8',
+                                      'Type' => 'Typedef'
+                                    },
+                          '9037' => {
+                                      'BaseType' => '8971',
+                                      'Name' => 'OPJ_BYTE*',
+                                      'Size' => '8',
+                                      'Type' => 'Pointer'
+                                    },
+                          '98' => {
+                                    'Name' => 'int',
+                                    'Size' => '4',
+                                    'Type' => 'Intrinsic'
+                                  }
+                        },
+          'UndefinedSymbols' => {
+                                  'libopenjp2.so.2.2.0' => {
+                                                             '_ITM_deregisterTMCloneTable' => 0,
+                                                             '_ITM_registerTMCloneTable' => 0,
+                                                             '_Jv_RegisterClasses' => 0,
+                                                             '__assert_fail@GLIBC_2.2.5' => 0,
+                                                             '__cxa_finalize@GLIBC_2.2.5' => 0,
+                                                             '__fprintf_chk@GLIBC_2.3.4' => 0,
+                                                             '__gmon_start__' => 0,
+                                                             '__sprintf_chk@GLIBC_2.3.4' => 0,
+                                                             '__stack_chk_fail@GLIBC_2.4' => 0,
+                                                             '__vsnprintf_chk@GLIBC_2.3.4' => 0,
+                                                             'calloc@GLIBC_2.2.5' => 0,
+                                                             'ceilf@GLIBC_2.2.5' => 0,
+                                                             'fclose@GLIBC_2.2.5' => 0,
+                                                             'floor@GLIBC_2.2.5' => 0,
+                                                             'floorf@GLIBC_2.2.5' => 0,
+                                                             'fopen@GLIBC_2.2.5' => 0,
+                                                             'fputc@GLIBC_2.2.5' => 0,
+                                                             'fread@GLIBC_2.2.5' => 0,
+                                                             'free@GLIBC_2.2.5' => 0,
+                                                             'fseeko@GLIBC_2.2.5' => 0,
+                                                             'ftello@GLIBC_2.2.5' => 0,
+                                                             'fwrite@GLIBC_2.2.5' => 0,
+                                                             'getenv@GLIBC_2.2.5' => 0,
+                                                             'getrusage@GLIBC_2.2.5' => 0,
+                                                             'malloc@GLIBC_2.2.5' => 0,
+                                                             'memcpy@GLIBC_2.14' => 0,
+                                                             'memset@GLIBC_2.2.5' => 0,
+                                                             'posix_memalign@GLIBC_2.2.5' => 0,
+                                                             'pow@GLIBC_2.2.5' => 0,
+                                                             'pthread_attr_init@GLIBC_2.2.5' => 0,
+                                                             'pthread_attr_setdetachstate@GLIBC_2.2.5' => 0,
+                                                             'pthread_cond_destroy@GLIBC_2.3.2' => 0,
+                                                             'pthread_cond_init@GLIBC_2.3.2' => 0,
+                                                             'pthread_cond_signal@GLIBC_2.3.2' => 0,
+                                                             'pthread_cond_wait@GLIBC_2.3.2' => 0,
+                                                             'pthread_create@GLIBC_2.2.5' => 0,
+                                                             'pthread_join@GLIBC_2.2.5' => 0,
+                                                             'pthread_mutex_destroy@GLIBC_2.2.5' => 0,
+                                                             'pthread_mutex_init@GLIBC_2.2.5' => 0,
+                                                             'pthread_mutex_lock@GLIBC_2.2.5' => 0,
+                                                             'pthread_mutex_unlock@GLIBC_2.2.5' => 0,
+                                                             'realloc@GLIBC_2.2.5' => 0,
+                                                             'sqrt@GLIBC_2.2.5' => 0,
+                                                             'stdout@GLIBC_2.2.5' => 0,
+                                                             'strcpy@GLIBC_2.2.5' => 0,
+                                                             'strtol@GLIBC_2.2.5' => 0,
+                                                             'sysconf@GLIBC_2.2.5' => 0
+                                                           }
+                                },
+          'WordSize' => '8'
+        };
diff --git a/abi-check/abi_dump/openjpeg/2.2.0/2c999/meta.json b/abi-check/abi_dump/openjpeg/2.2.0/2c999/meta.json
new file mode 100644 (file)
index 0000000..c640a62
--- /dev/null
@@ -0,0 +1,7 @@
+{
+  "Object": "lib/libopenjp2.so.2.2.0",
+  "Lang": "C",
+  "TotalSymbols": "48",
+  "PublicABI": "1",
+  "Version": "1.7"
+}
\ No newline at end of file
diff --git a/abi-check/changelog/openjpeg/2.2.0/log.html b/abi-check/changelog/openjpeg/2.2.0/log.html
new file mode 100644 (file)
index 0000000..21af7a6
--- /dev/null
@@ -0,0 +1,260 @@
+<!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="OpenJPEG, 2.2.0, changes, changelog" />
+    <meta name="description" content="Log of changes in the package" />
+    <link rel="stylesheet" type="text/css" href="../../../css/common.css" />
+    <link rel="stylesheet" type="text/css" href="../../../css/changelog.css" />
+    
+    
+    <title>
+        OpenJPEG 2.2.0: changelog
+    </title>
+    
+    </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Changelog for <span class='version'>2.2.0</span> version</h1><br/><br/>
+<div class='changelog'>
+<pre class='wrap'># Changelog
+
+## [v2.2.0]("https://github.com/uclouvain/openjpeg/releases/v2.2.0" ) (2017-08-10)
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.1.2...v2.2.0)
+
+**Implemented enhancements:**
+
+- Memory consumption reduction at decoding side [\#968](https://github.com/uclouvain/openjpeg/pull/968) ([rouault](https://github.com/rouault))
+- T1 &amp; DWT multithreading decoding optimizations [\#786](https://github.com/uclouvain/openjpeg/pull/786) ([rouault](https://github.com/rouault))
+- Tier1 decoder speed optimizations [\#783](https://github.com/uclouvain/openjpeg/pull/783) ([rouault](https://github.com/rouault))
+- Inverse DWT 5x3: lift implementation / SSE accelerated version [\#953](https://github.com/uclouvain/openjpeg/issues/953)
+- install static libraries [\#969](https://github.com/uclouvain/openjpeg/pull/969) ([jeroen](https://github.com/jeroen))
+- IDWT 5x3 single-pass lifting and SSE2/AVX2 implementation [\#957](https://github.com/uclouvain/openjpeg/pull/957) ([rouault](https://github.com/rouault))
+- build both shared and static library [\#954](https://github.com/uclouvain/openjpeg/pull/954) ([jeroen](https://github.com/jeroen))
+- T1 flag optimizations \(\#172\) [\#945](https://github.com/uclouvain/openjpeg/pull/945) ([rouault](https://github.com/rouault))
+- CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement [\#936](https://github.com/uclouvain/openjpeg/pull/936) ([rouault](https://github.com/rouault))
+- Quiet mode for opj\_decompress via -quiet long parameter. [\#928](https://github.com/uclouvain/openjpeg/pull/928) ([RussellMcOrmond](https://github.com/RussellMcOrmond))
+- Implement predictive termination check [\#800](https://github.com/uclouvain/openjpeg/pull/800) ([rouault](https://github.com/rouault))
+
+**Fixed bugs:**
+
+- Several issues spotted by Google OSS Fuzz - [see here](https://github.com/search?l=&amp;q=OSS+Fuzz+author-date%3A2017-07-04..2017-08-01+repo%3Auclouvain%2Fopenjpeg&amp;ref=advsearch&amp;type=Commits&amp;utf8=%E2%9C%93)
+- Missing fclose [\#976](https://github.com/uclouvain/openjpeg/issues/976)
+- Heap buffer overflow read in openjpeg imagetopnm [\#970](https://github.com/uclouvain/openjpeg/issues/970)
+- opj\_decompress opj\_j2k\_update\_image\_data\(\) Segment falut [\#948](https://github.com/uclouvain/openjpeg/issues/948)
+- Generic Crash in 1.5.0 [\#941](https://github.com/uclouvain/openjpeg/issues/941)
+- Segmentation Faults [\#940](https://github.com/uclouvain/openjpeg/issues/940)
+- Assertions thrown [\#939](https://github.com/uclouvain/openjpeg/issues/939)
+- Floating Point Errors [\#938](https://github.com/uclouvain/openjpeg/issues/938)
+- Division by zero crash [\#937](https://github.com/uclouvain/openjpeg/issues/937)
+- malformed jp2 can cause heap-buffer-overflow  [\#909](https://github.com/uclouvain/openjpeg/issues/909)
+- NULL dereference can cause by malformed file [\#908](https://github.com/uclouvain/openjpeg/issues/908)
+- Out of bound read in opj\_j2k\_add\_mct [\#907](https://github.com/uclouvain/openjpeg/issues/907)
+- Check bpno\_plus\_one in opj\_t1\_decode\_cblk [\#903](https://github.com/uclouvain/openjpeg/issues/903)
+- Undefined-shift in opj\_j2k\_read\_siz [\#902](https://github.com/uclouvain/openjpeg/issues/902)
+- opj\_compress v2.1.2 can create images opj\_decompress cannot read [\#891](https://github.com/uclouvain/openjpeg/issues/891)
+- Improper usage of opj\_int\_ceildiv can cause overflows [\#889](https://github.com/uclouvain/openjpeg/issues/889)
+- Undefined shift in opj\_get\_all\_encoding\_parameters [\#885](https://github.com/uclouvain/openjpeg/issues/885)
+- Denial of service \(crash\) due to use-after-free when decoding an illegal JPEG2000 image file v2.1.2 \(2017-04 [\#880](https://github.com/uclouvain/openjpeg/issues/880)
+- Denial of service \(crash\) when decoding an illegal JPEG2000 image file v2.1.2 \(2017-03\) [\#879](https://github.com/uclouvain/openjpeg/issues/879)
+- bug png 2 j2k [\#868](https://github.com/uclouvain/openjpeg/issues/868)
+- Inconsistent compression using cinema settings on folder of non-compliant image [\#864](https://github.com/uclouvain/openjpeg/issues/864)
+- Openjpeg-2.1.2 Heap Buffer Overflow Vulnerability due to Insufficient check [\#862](https://github.com/uclouvain/openjpeg/issues/862)
+- Heap Buffer Overflow in function pnmtoimage of convert.c [\#861](https://github.com/uclouvain/openjpeg/issues/861)
+- CVE-2016-9112 FPE\(Floating Point Exception\) in lib/openjp2/pi.c:523 [\#855](https://github.com/uclouvain/openjpeg/issues/855)
+- CVE-2016-5139, CVE-2016-5152, CVE-2016-5158, CVE-2016-5159 [\#854](https://github.com/uclouvain/openjpeg/issues/854)
+- Undefined Reference error [\#853](https://github.com/uclouvain/openjpeg/issues/853)
+- opj\_compress with lossy compression results in strange pixel values [\#851](https://github.com/uclouvain/openjpeg/issues/851)
+- CVE-2016-1626 and CVE-2016-1628 [\#850](https://github.com/uclouvain/openjpeg/issues/850)
+- Out-of-Bounds Write in opj\_mqc\_byteout of mqc.c [\#835](https://github.com/uclouvain/openjpeg/issues/835)
+- WARNING in tgt\_create tree-\&gt;numnodes == 0, no tree created. [\#794](https://github.com/uclouvain/openjpeg/issues/794)
+- Potential overflow when precision is larger than 32 [\#781](https://github.com/uclouvain/openjpeg/issues/781)
+- division-by-zero in function opj\_pi\_next\_rpcl of pi.c \(line 366\) [\#780](https://github.com/uclouvain/openjpeg/issues/780)
+- division-by-zero in function opj\_pi\_next\_rpcl of pi.c \(line 363\) [\#779](https://github.com/uclouvain/openjpeg/issues/779)
+- division-by-zero in function opj\_pi\_next\_pcrl of pi.c \(line 447\) [\#778](https://github.com/uclouvain/openjpeg/issues/778)
+- division-by-zero in function opj\_pi\_next\_pcrl of pi.c \(line 444\) [\#777](https://github.com/uclouvain/openjpeg/issues/777)
+- Encoding the following file with 32x32 tiling produces jp2 image with artifact [\#737](https://github.com/uclouvain/openjpeg/issues/737)
+- division-by-zero \(SIGFPE\) error in opj\_pi\_next\_cprl function \(line 526 of pi.c\) [\#732](https://github.com/uclouvain/openjpeg/issues/732)
+- division-by-zero \(SIGFPE\) error in opj\_pi\_next\_cprl function \(line 523 of pi.c\) [\#731](https://github.com/uclouvain/openjpeg/issues/731)
+- OpenJpeg 2.1 and 1.4 fails to decompress this file correctly [\#721](https://github.com/uclouvain/openjpeg/issues/721)
+- MQ Encode :uninitialized memory access when first pass does not output any bytes [\#709](https://github.com/uclouvain/openjpeg/issues/709)
+- Out-of-bounds read in opj\_j2k\_update\_image\_data and opj\_tgt\_reset function [\#704](https://github.com/uclouvain/openjpeg/issues/704)
+- Remove opj\_aligned\_malloc / opj\_aligned\_realloc / opj\_aligned\_free? [\#689](https://github.com/uclouvain/openjpeg/issues/689)
+- There is an issue with rendering some type of jpeg file. Please ref the link. [\#672](https://github.com/uclouvain/openjpeg/issues/672)
+- Null Dereference in tcd\_malloc\_decode\_tile [\#657](https://github.com/uclouvain/openjpeg/issues/657)
+- ETS-C1P0-p0\_12.j2k-compare2ref &amp; NR-C1P0-p0\_12.j2k-compare2base failing under windows [\#655](https://github.com/uclouvain/openjpeg/issues/655)
+- Memory leak [\#631](https://github.com/uclouvain/openjpeg/issues/631)
+- Test 481 reports error in valgrind memcheck [\#612](https://github.com/uclouvain/openjpeg/issues/612)
+- reserved identifier violation [\#587](https://github.com/uclouvain/openjpeg/issues/587)
+- Buffer overflow when compressing some 16 bits images of the test suite [\#539](https://github.com/uclouvain/openjpeg/issues/539)
+- Heap-buffer-overflow in opj\_dwt\_decode\_1 [\#480](https://github.com/uclouvain/openjpeg/issues/480)
+- Automated fuzz testing [\#468](https://github.com/uclouvain/openjpeg/issues/468)
+- Expected to find EPH marker  [\#425](https://github.com/uclouvain/openjpeg/issues/425)
+- read: segment too long \(6182\) with max \(35872\) for codeblock 0 \(p=19, b=2, r=5, c=1\) [\#284](https://github.com/uclouvain/openjpeg/issues/284)
+- building 64bit version has lots of warnings [\#244](https://github.com/uclouvain/openjpeg/issues/244)
+- Wrong encoding of small tiles with high level number [\#239](https://github.com/uclouvain/openjpeg/issues/239)
+- Errors raised in pi.c by VS11 analyzer  [\#190](https://github.com/uclouvain/openjpeg/issues/190)
+- Undocumented optimization found in v2 branch of openjpeg [\#183](https://github.com/uclouvain/openjpeg/issues/183)
+- T1 optimisations jpeg2000 [\#172](https://github.com/uclouvain/openjpeg/issues/172)
+- Remove OPJ\_NOSANITIZE in opj\_bio\_read\(\) and opj\_bio\_write\(\) \(\#761\) [\#955](https://github.com/uclouvain/openjpeg/pull/955) ([rouault](https://github.com/rouault))
+- Fix bypass pterm termall and lossless decomposition issue \(\#891, \#892\) [\#949](https://github.com/uclouvain/openjpeg/pull/949) ([rouault](https://github.com/rouault))
+- Escape quotes to ensure README renders on GitHub correctly [\#914](https://github.com/uclouvain/openjpeg/pull/914) ([alexwlchan](https://github.com/alexwlchan))
+- Remove spurious .R macros from manpages [\#899](https://github.com/uclouvain/openjpeg/pull/899) ([jwilk](https://github.com/jwilk))
+- Remove warnings related to empty tag-trees. [\#893](https://github.com/uclouvain/openjpeg/pull/893) ([rouault](https://github.com/rouault))
+
+**Maintenance-related tasks:**
+
+- Submit OpenJPEG to oss-fuzz [\#965](https://github.com/uclouvain/openjpeg/issues/965)
+- Updates for Doxygen to suppress warnings [\#849](https://github.com/uclouvain/openjpeg/issues/849)
+- Remove useless knownfailures \(since LAZY encoding is fixed\) [\#964](https://github.com/uclouvain/openjpeg/pull/964) ([rouault](https://github.com/rouault))
+- Enable AVX2 at runtime on Travis-CI and AppVeyor [\#963](https://github.com/uclouvain/openjpeg/pull/963) ([rouault](https://github.com/rouault))
+- Tests: test opj\_compress in VSC mode \(related to \#172\) [\#935](https://github.com/uclouvain/openjpeg/pull/935) ([rouault](https://github.com/rouault))
+- Reformat: apply reformattin on .h files \(\#128\) [\#926](https://github.com/uclouvain/openjpeg/pull/926) ([rouault](https://github.com/rouault))
+- Add mechanisms to reformat and check code style, and reformat whole codebase \(\#128\) [\#919](https://github.com/uclouvain/openjpeg/pull/919) ([rouault](https://github.com/rouault))
+- Add profiling of CPU and memory usage \(\#912\) [\#918](https://github.com/uclouvain/openjpeg/pull/918) ([rouault](https://github.com/rouault))
+- Add performance benchmarking scripts [\#917](https://github.com/uclouvain/openjpeg/pull/917) ([rouault](https://github.com/rouault))
+- Fix retrieval of jpylyzer in AppVeyor [\#915](https://github.com/uclouvain/openjpeg/pull/915) ([rouault](https://github.com/rouault))
+
+## [v2.1.2](https://github.com/uclouvain/openjpeg/releases/v2.1.2) (2016-09-28)
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.1.1...v2.1.2)
+
+**Closed issues:**
+
+- null ptr dereference in convert.c:1331 [\#843](https://github.com/uclouvain/openjpeg/issues/843)
+- Out-of-Bounds Read in function bmp24toimage of convertbmp.c [\#833](https://github.com/uclouvain/openjpeg/issues/833)
+- Disable automatic compilation of t1\_generate\_luts in CMakeLists.txt [\#831](https://github.com/uclouvain/openjpeg/issues/831)
+- CVE-2016-7163 Integer overflow in opj\_pi\_create\_decode [\#826](https://github.com/uclouvain/openjpeg/issues/826)
+- Security Advisory for OpenJPEG [\#810](https://github.com/uclouvain/openjpeg/issues/810)
+- Add dashboard with static lib [\#804](https://github.com/uclouvain/openjpeg/issues/804)
+- hidden visibility for the static library / building with -DOPJ\_STATIC against shared lib [\#802](https://github.com/uclouvain/openjpeg/issues/802)
+- Optimization when building library from source [\#799](https://github.com/uclouvain/openjpeg/issues/799)
+- unsigned int16 on Solaris 11.2/sparc [\#796](https://github.com/uclouvain/openjpeg/issues/796)
+- appveyor [\#793](https://github.com/uclouvain/openjpeg/issues/793)
+- FFMpeg will not link to 2.1.1 release built as shared library [\#766](https://github.com/uclouvain/openjpeg/issues/766)
+- API change since v2: opj\_event\_mgr\_t not available [\#754](https://github.com/uclouvain/openjpeg/issues/754)
+- openjpeg.h needs dependencies [\#673](https://github.com/uclouvain/openjpeg/issues/673)
+- "master" does not build on ubuntu [\#658](https://github.com/uclouvain/openjpeg/issues/658)
+- Package 'openjp2', required by 'libopenjpip', not found [\#594](https://github.com/uclouvain/openjpeg/issues/594)
+
+**Merged pull requests:**
+
+- Fix PNM file reading [\#847](https://github.com/uclouvain/openjpeg/pull/847) ([mayeut](https://github.com/mayeut))
+- Fix some issues reported by Coverity Scan [\#846](https://github.com/uclouvain/openjpeg/pull/846) ([stweil](https://github.com/stweil))
+- Fix potential out-of-bounds read \(coverity\)  [\#844](https://github.com/uclouvain/openjpeg/pull/844) ([stweil](https://github.com/stweil))
+- Remove TODO for overflow check [\#842](https://github.com/uclouvain/openjpeg/pull/842) ([mayeut](https://github.com/mayeut))
+- Add overflow checks for opj\_aligned\_malloc [\#841](https://github.com/uclouvain/openjpeg/pull/841) ([mayeut](https://github.com/mayeut))
+- Flags in T1 shall be unsigned [\#840](https://github.com/uclouvain/openjpeg/pull/840) ([mayeut](https://github.com/mayeut))
+- Fix some warnings [\#838](https://github.com/uclouvain/openjpeg/pull/838) ([mayeut](https://github.com/mayeut))
+- Fix issue 833. [\#834](https://github.com/uclouvain/openjpeg/pull/834) ([trylab](https://github.com/trylab))
+- Add overflow checks for opj\_aligned\_malloc [\#832](https://github.com/uclouvain/openjpeg/pull/832) ([mayeut](https://github.com/mayeut))
+- Add test for issue 820 [\#829](https://github.com/uclouvain/openjpeg/pull/829) ([mayeut](https://github.com/mayeut))
+- Add test for issue 826 [\#827](https://github.com/uclouvain/openjpeg/pull/827) ([mayeut](https://github.com/mayeut))
+- Fix coverity 113065 \(CWE-484\) [\#824](https://github.com/uclouvain/openjpeg/pull/824) ([mayeut](https://github.com/mayeut))
+- Add sanity check for tile coordinates [\#823](https://github.com/uclouvain/openjpeg/pull/823) ([mayeut](https://github.com/mayeut))
+- Add test for PR 818 [\#822](https://github.com/uclouvain/openjpeg/pull/822) ([mayeut](https://github.com/mayeut))
+- Update to libpng 1.6.25 [\#821](https://github.com/uclouvain/openjpeg/pull/821) ([mayeut](https://github.com/mayeut))
+- CVE-2016-8332: fix incrementing of "l\_tcp-\&gt;m\_nb\_mcc\_records" in opj\_j2k\_read\_mcc [\#820](https://github.com/uclouvain/openjpeg/pull/820) ([mayeut](https://github.com/mayeut))
+- Add overflow check in opj\_tcd\_init\_tile [\#819](https://github.com/uclouvain/openjpeg/pull/819) ([mayeut](https://github.com/mayeut))
+- Fix leak &amp; invalid behavior of opj\_jp2\_read\_ihdr [\#818](https://github.com/uclouvain/openjpeg/pull/818) ([mayeut](https://github.com/mayeut))
+- Add overflow check in opj\_j2k\_update\_image\_data [\#817](https://github.com/uclouvain/openjpeg/pull/817) ([mayeut](https://github.com/mayeut))
+- Change 'restrict' define to 'OPJ\_RESTRICT' [\#816](https://github.com/uclouvain/openjpeg/pull/816) ([mayeut](https://github.com/mayeut))
+- Switch to clang 3.8 [\#814](https://github.com/uclouvain/openjpeg/pull/814) ([mayeut](https://github.com/mayeut))
+- Fix an integer overflow issue [\#809](https://github.com/uclouvain/openjpeg/pull/809) ([trylab](https://github.com/trylab))
+- Update to lcms 2.8 [\#808](https://github.com/uclouvain/openjpeg/pull/808) ([mayeut](https://github.com/mayeut))
+- Update to libpng 1.6.24 [\#807](https://github.com/uclouvain/openjpeg/pull/807) ([mayeut](https://github.com/mayeut))
+- Reenable clang-3.9 build on travis [\#806](https://github.com/uclouvain/openjpeg/pull/806) ([mayeut](https://github.com/mayeut))
+- Bit fields type [\#805](https://github.com/uclouvain/openjpeg/pull/805) ([smuehlst](https://github.com/smuehlst))
+- Add compilation test for standalone inclusion of openjpeg.h [\#798](https://github.com/uclouvain/openjpeg/pull/798) ([mayeut](https://github.com/mayeut))
+- jpwl: Remove non-portable data type u\_int16\_t \(fix issue \#796\) [\#797](https://github.com/uclouvain/openjpeg/pull/797) ([stweil](https://github.com/stweil))
+- Fix dependency for pkg-config \(issue \#594\) [\#795](https://github.com/uclouvain/openjpeg/pull/795) ([stweil](https://github.com/stweil))
+- Add .gitignore [\#787](https://github.com/uclouvain/openjpeg/pull/787) ([stweil](https://github.com/stweil))
+
+## [v2.1.1](https://github.com/uclouvain/openjpeg/releases/tag/v2.1.1) (2016-07-05)
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/version.2.1...v2.1.1)
+
+**Implemented enhancements:**
+
+- opj\_malloc replacement [\#625](https://github.com/uclouvain/openjpeg/issues/625)
+- backport "-p" and "-force-rgb" options in 1.5 [\#606](https://github.com/uclouvain/openjpeg/issues/606)
+- Use travis-ci matrix build [\#581](https://github.com/uclouvain/openjpeg/issues/581)
+- Add Coverity Scan analysis [\#580](https://github.com/uclouvain/openjpeg/issues/580)
+- Unnecessary rate distortion calculations  [\#479](https://github.com/uclouvain/openjpeg/issues/479)
+- Add images from various security issues to test suite [\#415](https://github.com/uclouvain/openjpeg/issues/415)
+- Coding speed for 9/7 on 32bits platforms \(x86/ARM\) can be improved with a quick fix [\#220](https://github.com/uclouvain/openjpeg/issues/220)
+
+**Fixed bugs:**
+
+- Out-of-Bounds Access in function opj\_tgt\_reset of tgt.c [\#775](https://github.com/uclouvain/openjpeg/issues/775)
+- Heap Buffer Overflow in function color\_cmyk\_to\_rgb of color.c [\#774](https://github.com/uclouvain/openjpeg/issues/774)
+- division-by-zero \(SIGFPE\) error in opj\_tcd\_init\_tile function \(line 730 of tcd.c\) [\#733](https://github.com/uclouvain/openjpeg/issues/733)
+- Out-Of-Bounds Read in sycc422\_to\_rgb function [\#726](https://github.com/uclouvain/openjpeg/issues/726)
+- Heap Corruption in opj\_free function [\#725](https://github.com/uclouvain/openjpeg/issues/725)
+- Out-Of-Bounds Read in opj\_tcd\_free\_tile function [\#724](https://github.com/uclouvain/openjpeg/issues/724)
+- Cannot handle box of undefined size [\#653](https://github.com/uclouvain/openjpeg/issues/653)
+- Compilation fails without platform-supplied aligned malloc [\#642](https://github.com/uclouvain/openjpeg/issues/642)
+- HP compiler warns about redeclaration of static function [\#640](https://github.com/uclouvain/openjpeg/issues/640)
+- Implementation-defined behavior of malloc causes different behavior on Linux and AIX [\#635](https://github.com/uclouvain/openjpeg/issues/635)
+- Build on AIX fails because "opj\_includes.h" is included after system headers [\#633](https://github.com/uclouvain/openjpeg/issues/633)
+- Compiling with SSE2 on Linux 32-bit causes crashes in OpenJPEG [\#624](https://github.com/uclouvain/openjpeg/issues/624)
+- Build on AIX fails because of "restrict" pointers [\#620](https://github.com/uclouvain/openjpeg/issues/620)
+- bug in new tif conversion code [\#609](https://github.com/uclouvain/openjpeg/issues/609)
+- bin/jp2/convert.c line 1085 Resource leak [\#607](https://github.com/uclouvain/openjpeg/issues/607)
+- bin/jp2/convert.c  memory leak [\#601](https://github.com/uclouvain/openjpeg/issues/601)
+- Resource leak in opj\_j2k\_create\_cstr\_index in case of failure [\#599](https://github.com/uclouvain/openjpeg/issues/599)
+- Resource leak in opj\_j2k\_encode in case of failure [\#598](https://github.com/uclouvain/openjpeg/issues/598)
+- Resource leak in opj\_j2k\_decode\_one\_tile in case of failure [\#597](https://github.com/uclouvain/openjpeg/issues/597)
+- Resource Leak [\#573](https://github.com/uclouvain/openjpeg/issues/573)
+- opj\_compress fails to compress lossless on gcc/x86 \(-m32\) [\#571](https://github.com/uclouvain/openjpeg/issues/571)
+- Use-after-free in opj\_j2k\_write\_mco [\#563](https://github.com/uclouvain/openjpeg/issues/563)
+- openjpeg-master-2015-07-30 failed to compile on LINUX [\#556](https://github.com/uclouvain/openjpeg/issues/556)
+- PNG images are always read as RGB\(A\) images [\#536](https://github.com/uclouvain/openjpeg/issues/536)
+- g4\_colr.j2c not handled properly [\#532](https://github.com/uclouvain/openjpeg/issues/532)
+- Bigendian: opj\_compress + opj\_decompress fails [\#518](https://github.com/uclouvain/openjpeg/issues/518)
+- Suspicious code in j2k.c [\#517](https://github.com/uclouvain/openjpeg/issues/517)
+- Decode times almost double\(!!\) on Visual Studio 2013, 2015 [\#505](https://github.com/uclouvain/openjpeg/issues/505)
+- opj\_data/input/nonregression/issue226.j2k [\#500](https://github.com/uclouvain/openjpeg/issues/500)
+- opj\_setup\_encoder always returns true [\#497](https://github.com/uclouvain/openjpeg/issues/497)
+- Double free in j2k\_read\_ppm\_v3 parsing \(\(presumably invalid\) image. [\#496](https://github.com/uclouvain/openjpeg/issues/496)
+- Invalid write in opj\_j2k\_update\_image\_data [\#495](https://github.com/uclouvain/openjpeg/issues/495)
+- Undefined printf format specifier %ud used in code [\#494](https://github.com/uclouvain/openjpeg/issues/494)
+- Potential double free on malloc failure in opj\_j2k\_copy\_default\_tcp\_and\_create\_tcp\(\) [\#492](https://github.com/uclouvain/openjpeg/issues/492)
+- Do not link with -ffast-math [\#488](https://github.com/uclouvain/openjpeg/issues/488)
+- Heap-buffer-overflow in opj\_dwt\_decode [\#486](https://github.com/uclouvain/openjpeg/issues/486)
+- opj\_dump fails on Windows 7, 64 bits [\#482](https://github.com/uclouvain/openjpeg/issues/482)
+- SIGSEGV in opj\_j2k\_update\_image\_data via pdfium\_test [\#481](https://github.com/uclouvain/openjpeg/issues/481)
+- Heap-buffer-overflow in opj\_j2k\_tcp\_destroy [\#477](https://github.com/uclouvain/openjpeg/issues/477)
+- Invalid image causes write past end of heap buffer [\#476](https://github.com/uclouvain/openjpeg/issues/476)
+- Assertion `l\_res-\&gt;x0 \&gt;= 0' fails when parsing invalid images  [\#475](https://github.com/uclouvain/openjpeg/issues/475)
+- Bug on opj\_write\_bytes\_BE function  [\#472](https://github.com/uclouvain/openjpeg/issues/472)
+- Refactor j2k\_read\_ppm\_v3 function [\#470](https://github.com/uclouvain/openjpeg/issues/470)
+- compression: strange precinct dimensions [\#466](https://github.com/uclouvain/openjpeg/issues/466)
+- \(:- Console message in opj\_decompress -:\) [\#465](https://github.com/uclouvain/openjpeg/issues/465)
+- opj\_decompress fails to decompress any files [\#463](https://github.com/uclouvain/openjpeg/issues/463)
+- bio-\&gt;ct is unnecessarily set to zero in opj\_bio\_flush method [\#461](https://github.com/uclouvain/openjpeg/issues/461)
+- Maximal unsigned short is 65535, not 65536 [\#460](https://github.com/uclouvain/openjpeg/issues/460)
+- OpenJpeg fails to encode components with different precision properly [\#459](https://github.com/uclouvain/openjpeg/issues/459)
+- component precision upscaling isn't correct in opj\_decompress [\#458](https://github.com/uclouvain/openjpeg/issues/458)
+- Multiple precision components won't get encoded to jp2 if 1 component is unsigned 1 bit [\#457](https://github.com/uclouvain/openjpeg/issues/457)
+- Incorrect code in ../bin/jp2/convert.c,  function rawtoimage\_common\(...\) [\#456](https://github.com/uclouvain/openjpeg/issues/456)
+- \[OpenJPEG-trunk\] opj\_stream\_get\_number\_byte\_left throws assert [\#455](https://github.com/uclouvain/openjpeg/issues/455)
+- NR-DEC-kodak\_2layers\_lrcp.j2c-31-decode-md5 fails randomly when running tests in parallel [\#454](https://github.com/uclouvain/openjpeg/issues/454)
+- compare\_raw\_files doesn't report an error on invalid arguments / missing input files [\#453](https://github.com/uclouvain/openjpeg/issues/453)
+- Forward discrete wavelet transform: implement periodic symmetric extension at boundaries [\#452](https://github.com/uclouvain/openjpeg/issues/452)
+- Bug in tiff reading method in convert.c [\#449](https://github.com/uclouvain/openjpeg/issues/449)
+- Image in pdf don't display [\#447](https://github.com/uclouvain/openjpeg/issues/447)
+- Multiple issues causing opj\_decompress to segfault [\#446](https://github.com/uclouvain/openjpeg/issues/446)
+- opj\_compress: 40% of encode time is spent freeing data [\#445](https://github.com/uclouvain/openjpeg/issues/445)
+- Multiple warnings when configuring OpenJPEG on MacOS with CMake 3.x \(trunk\) [\#443](https://github.com/uclouvain/openjpeg/issues/443)
+- valgrind memleak found [\#437](https://github.com/uclouvain/openjpeg/issues/437)
+- global-buffer-overflow src/lib/openjp2/t1.c:1146 opj\_t1\_getwmsedec [\#436](https://github.com/uclouvain/openjpeg/issues/436)
+- Warning introduced on trunk r2923 &amp; r2924 [\#435](https://github.com/uclouvain/openjpeg/issues/435)
+- heap-buffer-overflow in opj\_t1\_decode\_cblks [\#432](https://github.com/uclouvain/openjpeg/issues/432)
+- Heap-buffer-overflow in opj\_tcd\_init\_decode\_tile [\#431](https://github.com/uclouvain/openjpeg/issues/431)
+- He
+...</pre></div>
+
+</body>
+</html>
index 4227dd85e03a3ed4ca117bc6630a34b02a020c64..d1d1837dd79cbe944e3dc9433b5f3a7655493987 100644 (file)
 <br/>
 <h1>Changelog from Git</h1><br/><br/>
 <div class='changelog'>
-<pre class='wrap'>commit bc21818c635f1f84aa72bb327a20ca42c3b6dcbe
+<pre class='wrap'>commit c5987173c5ca2d6fb140dd84d7ae7736824e6d66
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-09 21:35:30 -0700
+
+    update abi-check for latest release
+
+commit 3d7cde5fc9fbc5618d02160900d32e02ed12a00e
+Author: Antonin Descampe &lt;antonin@descampe.net&gt;
+Date:   2017-08-09 17:31:50 -0700
+
+    Preparing Release v2.2.0
+
+commit bc21818c635f1f84aa72bb327a20ca42c3b6dcbe
 Author: Antonin Descampe &lt;antonin@gmail.com&gt;
 Date:   2017-08-09 17:28:17 -0700
 
@@ -574,15 +586,6 @@ Date:   2017-07-26 23:25:38 +0200
     
     Credit to OSS Fuzz
 
-commit a88cbb6a0b3539461dfb29922102953b7a7fc3a7
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-26 22:53:59 +0200
-
-    Fix various undefined shift behaviour in pi.c
-    
-    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2496
-    Credit to OSS Fuzz
-
 ...</pre></div>
 
 </body>
diff --git a/abi-check/compat_report/openjpeg/2.1.2/2.2.0/58361/abi_compat_report.html b/abi-check/compat_report/openjpeg/2.1.2/2.2.0/58361/abi_compat_report.html
new file mode 100644 (file)
index 0000000..79f054a
--- /dev/null
@@ -0,0 +1,334 @@
+<!-- verdict:compatible;affected:0;added:5;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;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="libopenjp2, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the libopenjp2 object between 2.1.2 and 2.2.0 versions on x86_64" />
+<title>libopenjp2: 2.1.2 to 2.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 for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.1.2</span> and <span style='color:Red;'>2.2.0</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>libopenjp2</td></tr>
+<tr><th>Version #1</th><td>2.1.2</td></tr>
+<tr><th>Version #2</th><td>2.2.0</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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;'>3</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>43 / 110</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</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;'>5</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<a name='Added'></a><h2>Added Symbols <span class='new'>&nbsp;5&nbsp;</span></h2><hr/>
+<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.2.0</span><br/>
+<span class="iname">opj_codec_set_threads&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>int <span class='color_p'>num_threads</span> )</span></span></span><br/>
+<span class="iname">opj_get_num_cpus&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">opj_has_thread_support&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">opj_image_data_alloc&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_SIZE_T <span class='color_p'>size</span> )</span></span></span><br/>
+<span class="iname">opj_image_data_free&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void* <span class='color_p'>ptr</span> )</span></span></span><br/>
+<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;3&nbsp;</span></h2><hr/>
+<div class='h_list'>
+cio.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'>
+libopenjp2.so.2.1.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>
diff --git a/abi-check/compat_report/openjpeg/2.1.2/2.2.0/58361/meta.json b/abi-check/compat_report/openjpeg/2.1.2/2.2.0/58361/meta.json
new file mode 100644 (file)
index 0000000..8aced4d
--- /dev/null
@@ -0,0 +1,8 @@
+{
+  "Affected": "0",
+  "Added": 5,
+  "Removed": 0,
+  "TotalProblems": 0,
+  "Object1": "lib/libopenjp2.so.2.1.2",
+  "Object2": "lib/libopenjp2.so.2.2.0"
+}
\ No newline at end of file
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
new file mode 100644 (file)
index 0000000..829e029
--- /dev/null
@@ -0,0 +1,326 @@
+<!-- verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;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="libopenjp2, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the libopenjp2 object between 2.2.0 and current versions on x86_64" />
+<title>libopenjp2: 2.2.0 to current 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 for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.2.0</span> and <span style='color:Red;'>current</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>libopenjp2</td></tr>
+<tr><th>Version #1</th><td>2.2.0</td></tr>
+<tr><th>Version #2</th><td>current</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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>48 / 110</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</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>0</td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<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/>
+image.c<br/>
+openjpeg.c<br/>
+thread.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'>
+libopenjp2.so.2.2.0<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>
diff --git a/abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/meta.json b/abi-check/compat_report/openjpeg/2.2.0/current/4cd8b/meta.json
new file mode 100644 (file)
index 0000000..9b49148
--- /dev/null
@@ -0,0 +1,8 @@
+{
+  "Affected": "0",
+  "Added": 0,
+  "Removed": 0,
+  "TotalProblems": 0,
+  "Object1": "lib/libopenjp2.so.2.2.0",
+  "Object2": "lib/libopenjp2.so.2.2.0"
+}
\ No newline at end of file
diff --git a/abi-check/compat_reports/openjpeg/2.1.2_to_2.2.0/abi_compat_report.html b/abi-check/compat_reports/openjpeg/2.1.2_to_2.2.0/abi_compat_report.html
new file mode 100644 (file)
index 0000000..940353b
--- /dev/null
@@ -0,0 +1,334 @@
+<!-- verdict:compatible;affected:0;added:5;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;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="openjpeg, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the openjpeg object between 2.1.2 and 2.2.0 versions on x86_64" />
+<title>openjpeg: 2.1.2 to 2.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 for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.1.2</span> and <span style='color:Red;'>2.2.0</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>openjpeg</td></tr>
+<tr><th>Version #1</th><td>2.1.2</td></tr>
+<tr><th>Version #2</th><td>2.2.0</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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;'>3</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>43 / 110</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</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;'>5</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<a name='Added'></a><h2>Added Symbols <span class='new'>&nbsp;5&nbsp;</span></h2><hr/>
+<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.2.0</span><br/>
+<span class="iname">opj_codec_set_threads&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>int <span class='color_p'>num_threads</span> )</span></span></span><br/>
+<span class="iname">opj_get_num_cpus&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">opj_has_thread_support&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">opj_image_data_alloc&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_SIZE_T <span class='color_p'>size</span> )</span></span></span><br/>
+<span class="iname">opj_image_data_free&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void* <span class='color_p'>ptr</span> )</span></span></span><br/>
+<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;3&nbsp;</span></h2><hr/>
+<div class='h_list'>
+cio.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'>
+libopenjp2.so.2.1.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>
diff --git a/abi-check/compat_reports/openjpeg/2.1.2_to_2.2.0/src_compat_report.html b/abi-check/compat_reports/openjpeg/2.1.2_to_2.2.0/src_compat_report.html
new file mode 100644 (file)
index 0000000..5eeb786
--- /dev/null
@@ -0,0 +1,334 @@
+<!-- verdict:compatible;affected:0;added:5;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;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="openjpeg, source compatibility, API, report" />
+<meta name="description" content="Source compatibility report for the openjpeg object between 2.1.2 and 2.2.0 versions" />
+<title>openjpeg: 2.1.2 to 2.2.0 source 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>Source compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.1.2</span> and <span style='color:Red;'>2.2.0</span> versions</h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>openjpeg</td></tr>
+<tr><th>Version #1</th><td>2.1.2</td></tr>
+<tr><th>Version #2</th><td>2.2.0</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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;'>3</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>43 / 110</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</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;'>5</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<a name='Added'></a><h2>Added Symbols <span class='new'>&nbsp;5&nbsp;</span></h2><hr/>
+<span class='h_name'>openjpeg.h</span><br/>
+<span class="iname">opj_codec_set_threads&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>int <span class='color_p'>num_threads</span> )</span></span></span><br/>
+<span class="iname">opj_get_num_cpus&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">opj_has_thread_support&#160;<span class='sym_p'>(&#160;)</span></span><br/>
+<span class="iname">opj_image_data_alloc&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_SIZE_T <span class='color_p'>size</span> )</span></span></span><br/>
+<span class="iname">opj_image_data_free&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void* <span class='color_p'>ptr</span> )</span></span></span><br/>
+<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;3&nbsp;</span></h2><hr/>
+<div class='h_list'>
+cio.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'>
+libopenjp2.so.2.1.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>
diff --git a/abi-check/compat_reports/openjpeg/2.2.0_to_current/abi_compat_report.html b/abi-check/compat_reports/openjpeg/2.2.0_to_current/abi_compat_report.html
new file mode 100644 (file)
index 0000000..20ea5d4
--- /dev/null
@@ -0,0 +1,326 @@
+<!-- verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;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="openjpeg, binary compatibility, API, report" />
+<meta name="description" content="Binary compatibility report for the openjpeg object between 2.2.0 and current versions on x86_64" />
+<title>openjpeg: 2.2.0 to current 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 for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.2.0</span> and <span style='color:Red;'>current</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>openjpeg</td></tr>
+<tr><th>Version #1</th><td>2.2.0</td></tr>
+<tr><th>Version #2</th><td>current</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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>48 / 110</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</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>0</td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<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/>
+image.c<br/>
+openjpeg.c<br/>
+thread.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'>
+libopenjp2.so.2.2.0<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>
diff --git a/abi-check/compat_reports/openjpeg/2.2.0_to_current/src_compat_report.html b/abi-check/compat_reports/openjpeg/2.2.0_to_current/src_compat_report.html
new file mode 100644 (file)
index 0000000..b6159e8
--- /dev/null
@@ -0,0 +1,326 @@
+<!-- verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;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="openjpeg, source compatibility, API, report" />
+<meta name="description" content="Source compatibility report for the openjpeg object between 2.2.0 and current versions" />
+<title>openjpeg: 2.2.0 to current source 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>Source compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.2.0</span> and <span style='color:Red;'>current</span> versions</h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>openjpeg</td></tr>
+<tr><th>Version #1</th><td>2.2.0</td></tr>
+<tr><th>Version #2</th><td>current</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+<tr><th>GCC Version</th><td>4.8.1</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>48 / 110</td></tr>
+<tr><th>Compatibility</th>
+<td class='compatible'>100%</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>0</td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<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/>
+image.c<br/>
+openjpeg.c<br/>
+thread.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'>
+libopenjp2.so.2.2.0<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>
index 192e20ed97aa1085c40d06626844a0d19683bd7a..47354c2e32afefa72914f96c9455a9fbf14d7f4e 100644 (file)
@@ -12,7 +12,8 @@ $VAR1 = {
                            '2.0.1' => 'NEWS',
                            '2.1' => 'NEWS',
                            '2.1.1' => 'Off',
-                           '2.1.2' => 'Off'
+                           '2.1.2' => 'Off',
+                           '2.2.0' => 'Off'
                          },
           'Installed' => {
                            '1.1' => 'installed/openjpeg/1.1',
@@ -26,6 +27,7 @@ $VAR1 = {
                            '2.1' => 'installed/openjpeg/2.1',
                            '2.1.1' => 'installed/openjpeg/2.1.1',
                            '2.1.2' => 'installed/openjpeg/2.1.2',
+                           '2.2.0' => 'installed/openjpeg/2.2.0',
                            'current' => 'installed/openjpeg/current'
                          },
           'Source' => {
@@ -42,6 +44,7 @@ $VAR1 = {
                         '2.1' => 'src/openjpeg/2.1/version.2.1.tar.gz',
                         '2.1.1' => 'src/openjpeg/2.1.1/v2.1.1.tar.gz',
                         '2.1.2' => 'src/openjpeg/2.1.2/version.-2.1.2.tar.gz',
+                        '2.2.0' => 'src/openjpeg/2.2.0/version.-2.2.0.tar.gz',
                         'current' => 'src/openjpeg/current'
                       }
         };
index bc8168e7f4572f24bd29bb23bd294a517eeff7f1..4aa98a8b153f8c471acaba5c45fdbe9c642b59d7 100644 (file)
@@ -110,6 +110,16 @@ $VAR1 = {
                                                    'Version' => '1.7'
                                                  }
                                     },
+                         '2.2.0' => {
+                                      '2c999' => {
+                                                   'Lang' => 'C',
+                                                   'Object' => 'lib/libopenjp2.so.2.2.0',
+                                                   'Path' => 'abi_dump/openjpeg/2.2.0/2c999/ABI.dump',
+                                                   'TotalSymbols' => '48',
+                                                   'TotalSymbolsFiltered' => '48',
+                                                   'Version' => '1.7'
+                                                 }
+                                    },
                          'current' => {
                                         '2c999' => {
                                                      'Lang' => 'C',
@@ -286,6 +296,19 @@ $VAR1 = {
                                                      }
                                       },
                            '2.1.2' => {
+                                        '2.2.0' => {
+                                                     'Added' => 5,
+                                                     'BC' => 100,
+                                                     'ChangedSoname' => 0,
+                                                     'ObjectsAdded' => 0,
+                                                     'ObjectsAddedSymbols' => 0,
+                                                     'ObjectsRemoved' => 0,
+                                                     'ObjectsRemovedSymbols' => 0,
+                                                     'Path' => 'objects_report/openjpeg/2.1.2/2.2.0/report.html',
+                                                     'Removed' => 0,
+                                                     'TotalObjects' => 1,
+                                                     'TotalProblems' => 0
+                                                   },
                                         'current' => {
                                                        'Added' => 5,
                                                        'BC' => 100,
@@ -299,6 +322,21 @@ $VAR1 = {
                                                        'TotalObjects' => 1,
                                                        'TotalProblems' => 0
                                                      }
+                                      },
+                           '2.2.0' => {
+                                        'current' => {
+                                                       'Added' => 0,
+                                                       'BC' => 100,
+                                                       'ChangedSoname' => 0,
+                                                       'ObjectsAdded' => 0,
+                                                       'ObjectsAddedSymbols' => 0,
+                                                       'ObjectsRemoved' => 0,
+                                                       'ObjectsRemovedSymbols' => 0,
+                                                       'Path' => 'objects_report/openjpeg/2.2.0/current/report.html',
+                                                       'Removed' => 0,
+                                                       'TotalObjects' => 1,
+                                                       'TotalProblems' => 0
+                                                     }
                                       }
                          },
           'ABIReport_D' => {
@@ -453,6 +491,17 @@ $VAR1 = {
                                                        }
                                         },
                              '2.1.2' => {
+                                          '2.2.0' => {
+                                                       '58361' => {
+                                                                    'Added' => 5,
+                                                                    'Affected' => 0,
+                                                                    'Object1' => 'lib/libopenjp2.so.2.1.2',
+                                                                    'Object2' => 'lib/libopenjp2.so.2.2.0',
+                                                                    'Path' => 'compat_report/openjpeg/2.1.2/2.2.0/58361/abi_compat_report.html',
+                                                                    'Removed' => 0,
+                                                                    'TotalProblems' => 0
+                                                                  }
+                                                     },
                                           'current' => {
                                                          '58361' => {
                                                                       'Added' => 5,
@@ -464,6 +513,19 @@ $VAR1 = {
                                                                       'TotalProblems' => 0
                                                                     }
                                                        }
+                                        },
+                             '2.2.0' => {
+                                          'current' => {
+                                                         '4cd8b' => {
+                                                                      'Added' => 0,
+                                                                      'Affected' => 0,
+                                                                      'Object1' => 'lib/libopenjp2.so.2.2.0',
+                                                                      'Object2' => 'lib/libopenjp2.so.2.2.0',
+                                                                      'Path' => 'compat_report/openjpeg/2.2.0/current/4cd8b/abi_compat_report.html',
+                                                                      'Removed' => 0,
+                                                                      'TotalProblems' => 0
+                                                                    }
+                                                       }
                                         }
                            },
           'ABIView' => {},
@@ -481,6 +543,7 @@ $VAR1 = {
                            '2.1' => 'changelog/openjpeg/2.1/log.html',
                            '2.1.1' => 'changelog/openjpeg/2.1.1/log.html',
                            '2.1.2' => 'changelog/openjpeg/2.1.2/log.html',
+                           '2.2.0' => 'changelog/openjpeg/2.2.0/log.html',
                            'current' => 'changelog/openjpeg/current/log.html'
                          },
           'Date' => {
@@ -496,7 +559,8 @@ $VAR1 = {
                       '2.1' => '2014-04-29 12:58',
                       '2.1.1' => '2016-07-05 14:54',
                       '2.1.2' => '2016-09-28 18:18',
-                      'current' => '2017-08-09 17:28:17'
+                      '2.2.0' => '2017-08-10 00:31',
+                      'current' => '2017-08-09 21:35:30'
                     },
           'HeadersDiff' => {
                              '1.1' => {
@@ -565,16 +629,26 @@ $VAR1 = {
                                                        }
                                         },
                              '2.1.2' => {
+                                          '2.2.0' => {
+                                                       'Path' => 'headers_diff/openjpeg/2.1.2/2.2.0/diff.html',
+                                                       'Total' => 2
+                                                     },
                                           'current' => {
                                                          'Path' => 'headers_diff/openjpeg/2.1.2/current/diff.html',
                                                          'Total' => 2
                                                        }
+                                        },
+                             '2.2.0' => {
+                                          'current' => {
+                                                         'Path' => 'headers_diff/openjpeg/2.2.0/current/diff.html',
+                                                         'Total' => 0
+                                                       }
                                         }
                            },
           'Maintainer' => 'OpenJPEG team',
           'MaintainerUrl' => 'http://www.openjpeg.org/',
           'PackageDiff' => {},
-          'ScmUpdateTime' => '1502325970',
+          'ScmUpdateTime' => '1502340507',
           'Soname' => {
                         '1.1' => {
                                    'lib/libopenjpeg.so' => 'libopenjpeg.so'
@@ -609,6 +683,9 @@ $VAR1 = {
                         '2.1.2' => {
                                      'lib/libopenjp2.so.2.1.2' => 'libopenjp2.so.7'
                                    },
+                        '2.2.0' => {
+                                     'lib/libopenjp2.so.2.2.0' => 'libopenjp2.so.7'
+                                   },
                         'current' => {
                                        'lib/libopenjp2.so.2.2.0' => 'libopenjp2.so.7'
                                      }
@@ -625,6 +702,7 @@ $VAR1 = {
                        '2.1' => '7',
                        '2.1.1' => '7',
                        '2.1.2' => '7',
+                       '2.2.0' => '7',
                        'current' => '7'
                      },
           'Title' => 'OpenJPEG'
diff --git a/abi-check/headers_diff/openjpeg/2.1.2/2.2.0/diff.html b/abi-check/headers_diff/openjpeg/2.1.2/2.2.0/diff.html
new file mode 100644 (file)
index 0000000..89977a4
--- /dev/null
@@ -0,0 +1,2050 @@
+<!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="OpenJPEG, header, diff" />
+    <meta name="description" content="Diff for header files between 2.1.2 and 2.2.0 versions of openjpeg" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
+    
+    
+    <title>
+        OpenJPEG: headers diff between 2.1.2 and 2.2.0 versions
+    </title>
+    
+    </head>
+
+<body>
+<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Headers diff: <span class='version'>2.1.2</span> vs <span class='version'>2.2.0</span></h1><br/><br/> 
+  <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0"> 
+  <tr bgcolor="orange"><th></th><th>&nbsp;openjpeg.h (2.1.2)&nbsp;</th><th> </th><th>&nbsp;openjpeg.h (2.2.0)&nbsp;</th><th></th></tr> 
+      <tr><td><a name="diff0001" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> /*</td><td> </td><td class="rblock">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * The copyright in this software is being made available under the <span class="delete">2-claus</span></td><td> </td><td class="rblock">* The copyright in this software is being made available under the <span class="insert">2-clause</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">es</span></td><td> </td><td class="rblock"><span class="insert">s</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * BSD License, included below. This software may be subject to other third</td><td> </td><td class="rblock">* BSD License, included below. This software may be subject to other third</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * party and contributor rights, including patent rights, and no such <span class="delete">right</span></td><td> </td><td class="rblock">* party and contributor rights, including patent rights, and no such <span class="insert">rights</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s</span></td><td> </td><td class="rblock">* are granted under this license.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * are granted under this license.</td><td> </td><td class="rblock">*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *</td><td> </td><td class="rblock">* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium</td><td> </td><td class="rblock">* Copyright (c) 2002-2014, Professor Benoit Macq</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2002-2014, Professor Benoit Macq</td><td> </td><td class="rblock">* Copyright (c) 2001-2003, David Janssens</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2001-2003, David Janssens</td><td> </td><td class="rblock">* Copyright (c) 2002-2003, Yannick Verschueren</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2002-2003, Yannick Verschueren</td><td> </td><td class="rblock">* Copyright (c) 2003-2007, Francois-Olivier Devaux</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2003-2007, Francois-Olivier Devaux</td><td> </td><td class="rblock">* Copyright (c) 2003-2014, Antonin Descampe</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2003-2014, Antonin Descampe</td><td> </td><td class="rblock">* Copyright (c) 2005, Herve Drolon, FreeImage Team</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2005, Herve Drolon, FreeImage Team</td><td> </td><td class="rblock">* Copyright (c) 2006-2007, Parvatha Elangovan</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2006-2007, Parvatha Elangovan</td><td> </td><td class="rblock">* Copyright (c) 2008, Jerome Fimes, Communications &amp; Systemes <span class="insert">&lt;jerome.fimes</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2008, Jerome Fimes, Communications &amp; Systemes <span class="delete">&lt;jerome.fime</span></td><td> </td><td class="rblock"><span class="insert">@c-s.fr&gt;</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s@c-s.fr&gt;</span></td><td> </td><td class="rblock">* Copyright (c) 2010-2011, Kaori Hagihara</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2010-2011, Kaori Hagihara</td><td> </td><td class="rblock">* Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), <span class="insert">Franc</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), <span class="delete">Fran</span></td><td> </td><td class="rblock"><span class="insert">e</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ce</span></td><td> </td><td class="rblock">* Copyright (c) 2012, CS Systemes d'Information, France</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Copyright (c) 2012, CS Systemes d'Information, France</td><td> </td><td class="rblock">* All rights reserved.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * All rights reserved.</td><td> </td><td class="rblock">*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *</td><td> </td><td class="rblock">* Redistribution and use in source and binary forms, with or without</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * Redistribution and use in source and binary forms, with or without</td><td> </td><td class="rblock">* modification, are permitted provided that the following conditions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * modification, are permitted provided that the following conditions</td><td> </td><td class="rblock">* are met:</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * are met:</td><td> </td><td class="rblock">* 1. Redistributions of source code must retain the above copyright</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * 1. Redistributions of source code must retain the above copyright</td><td> </td><td class="rblock">*    notice, this list of conditions and the following disclaimer.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *    notice, this list of conditions and the following disclaimer.</td><td> </td><td class="rblock">* 2. Redistributions in binary form must reproduce the above copyright</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * 2. Redistributions in binary form must reproduce the above copyright</td><td> </td><td class="rblock">*    notice, this list of conditions and the following disclaimer in the</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *    notice, this list of conditions and the following disclaimer in the</td><td> </td><td class="rblock">*    documentation and/or other materials provided with the distribution.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *    documentation and/or other materials provided with the distribution.</td><td> </td><td class="rblock">*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *</td><td> </td><td class="rblock">* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS <span class="insert">I</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS </td><td> </td><td class="rblock"><span class="insert">S'</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">IS'</span></td><td> </td><td class="rblock">* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, <span class="insert">THE</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, <span class="delete">TH</span></td><td> </td><td class="rblock">* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR <span class="insert">PURPOS</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">E</span></td><td> </td><td class="rblock"><span class="insert">E</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR <span class="delete">PURPO</span></td><td> </td><td class="rblock">* ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS <span class="insert">BE</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">SE</span></td><td> </td><td class="rblock">* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS <span class="delete">B</span></td><td> </td><td class="rblock">* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">E</span></td><td> </td><td class="rblock">* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</td><td> </td><td class="rblock">* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</td><td> </td><td class="rblock">* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</td><td> </td><td class="rblock">* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF <span class="insert">TH</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</td><td> </td><td class="rblock"><span class="insert">E</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</td><td> </td><td class="rblock">* POSSIBILITY OF SUCH DAMAGE.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF <span class="delete">T</span></td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">HE</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * POSSIBILITY OF SUCH DAMAGE.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#ifndef OPENJPEG_H</td><td> </td><td class="right">#ifndef OPENJPEG_H</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPENJPEG_H</td><td> </td><td class="right">#define OPENJPEG_H</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   Compiler directives</td><td> </td><td class="right">   Compiler directives</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">The inline keyword is supported by C99 but not by C90.</td><td> </td><td class="right">The inline keyword is supported by C99 but not by C90.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">Most compilers implement their own version of this keyword ...</td><td> </td><td class="right">Most compilers implement their own version of this keyword ...</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#ifndef INLINE</td><td> </td><td class="right">#ifndef INLINE</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0002" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       #if defined(_MSC_VER)</td><td> </td><td class="rblock">#if defined(_MSC_VER)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               #define INLINE __forceinline</td><td> </td><td class="rblock">#define INLINE __forceinline</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       #elif defined(__GNUC__)</td><td> </td><td class="rblock">#elif defined(__GNUC__)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               #define INLINE __inline__</td><td> </td><td class="rblock">#define INLINE __inline__</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       #elif defined(__MWERKS__)</td><td> </td><td class="rblock">#elif defined(__MWERKS__)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               #define INLINE inline</td><td> </td><td class="rblock">#define INLINE inline</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       #else</td><td> </td><td class="rblock">#else</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               /* add other compilers here ... */</td><td> </td><td class="rblock">/* add other compilers here ... */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               #define INLINE</td><td> </td><td class="rblock">#define INLINE</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       #endif /* defined(&lt;Compiler&gt;) */</td><td> </td><td class="rblock">#endif /* defined(&lt;Compiler&gt;) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#endif /* INLINE */</td><td> </td><td class="right">#endif /* INLINE */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* deprecated attribute */</td><td> </td><td class="right">/* deprecated attribute */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __GNUC__</td><td> </td><td class="right">#ifdef __GNUC__</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0003" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       </span>#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td> </td><td class="rblock">#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#elif defined(_MSC_VER)</td><td> </td><td class="right">#elif defined(_MSC_VER)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0004" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       </span>#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td> </td><td class="rblock">#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0005" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       #pragma message("WARNING: You need to implement DEPRECATED for this </td><td> </td><td class="rblock">#pragma message("WARNING: You need to implement DEPRECATED for this <span class="insert">compile</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">compiler")</span></td><td> </td><td class="rblock"><span class="insert">r")</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       #define OPJ_DEPRECATED(func) func</td><td> </td><td class="rblock">#define OPJ_DEPRECATED(func) func</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td> </td><td class="right">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* http://gcc.gnu.org/wiki/Visibility */</td><td> </td><td class="right">/* http://gcc.gnu.org/wiki/Visibility */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0006" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#      if __GNUC__ &gt;= 4</td><td> </td><td class="rblock">#   if __GNUC__ &gt;= 4</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td> </td><td class="rblock">#       if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#                      define OPJ_API    __attribute__ ((visibility <span class="delete">("hidde</span></td><td> </td><td class="rblock">#           define OPJ_API    __attribute__ ((visibility <span class="insert">("hidden")))</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">n")))</span></td><td> </td><td class="rblock">#       else</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              else</td><td> </td><td class="rblock">#           define OPJ_API    __attribute__ ((visibility <span class="insert">("default")))</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#                      define OPJ_API    __attribute__ ((visibility <span class="delete">("defau</span></td><td> </td><td class="rblock">#       endif</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">lt")))</span></td><td> </td><td class="rblock">#       define OPJ_LOCAL  __attribute__ ((visibility ("hidden")))</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              endif</td><td> </td><td class="rblock">#   else</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              define OPJ_LOCAL  __attribute__ ((visibility ("hidden")))</td><td> </td><td class="rblock">#       define OPJ_API</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#      else</td><td> </td><td class="rblock">#       define OPJ_LOCAL</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              define OPJ_API</td><td> </td><td class="rblock">#   endif</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              define OPJ_LOCAL</td><td> </td><td class="rblock">#   define OPJ_CALLCONV</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#      endif</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#      define OPJ_CALLCONV</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0007" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#   <span class="delete">   </span>define OPJ_CALLCONV __stdcall</td><td> </td><td class="rblock">#   define OPJ_CALLCONV __stdcall</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">The following ifdef block is the standard way of creating macros which make
+ exporting</td><td> </td><td class="right">The following ifdef block is the standard way of creating macros which make
+ exporting</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">from a DLL simpler. All files within this DLL are compiled with the OPJ_EXP
+ORTS</td><td> </td><td class="right">from a DLL simpler. All files within this DLL are compiled with the OPJ_EXP
+ORTS</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">symbol defined on the command line. this symbol should not be defined on an
+y project</td><td> </td><td class="right">symbol defined on the command line. this symbol should not be defined on an
+y project</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">that uses this DLL. This way any other project whose source files include t
+his file see</td><td> </td><td class="right">that uses this DLL. This way any other project whose source files include t
+his file see</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API functions as being imported from a DLL, whereas this DLL sees symbo
+ls</td><td> </td><td class="right">OPJ_API functions as being imported from a DLL, whereas this DLL sees symbo
+ls</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">defined with this macro as being exported.</td><td> </td><td class="right">defined with this macro as being exported.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0008" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#      if defined(OPJ_EXPORTS) || defined(DLL_EXPORT)</td><td> </td><td class="rblock">#   if defined(OPJ_EXPORTS) || defined(DLL_EXPORT)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              define OPJ_API __declspec(dllexport)</td><td> </td><td class="rblock">#       define OPJ_API __declspec(dllexport)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#      else</td><td> </td><td class="rblock">#   else</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#              define OPJ_API __declspec(dllimport)</td><td> </td><td class="rblock">#       define OPJ_API __declspec(dllimport)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#      endif /* OPJ_EXPORTS */</td><td> </td><td class="rblock">#   endif /* OPJ_EXPORTS */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#endif /* !OPJ_STATIC || !_WIN32 */</td><td> </td><td class="right">#endif /* !OPJ_STATIC || !_WIN32 */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef int OPJ_BOOL;</td><td> </td><td class="right">typedef int OPJ_BOOL;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_TRUE 1</td><td> </td><td class="right">#define OPJ_TRUE 1</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_FALSE 0</td><td> </td><td class="right">#define OPJ_FALSE 0</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef char          OPJ_CHAR;</td><td> </td><td class="right">typedef char          OPJ_CHAR;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef float         OPJ_FLOAT32;</td><td> </td><td class="right">typedef float         OPJ_FLOAT32;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef double        OPJ_FLOAT64;</td><td> </td><td class="right">typedef double        OPJ_FLOAT64;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef unsigned char OPJ_BYTE;</td><td> </td><td class="right">typedef unsigned char OPJ_BYTE;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> line 145</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> line 145</em></th><td></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_ARG_NOT_USED(x) (void)(x)</td><td> </td><td class="right">#define OPJ_ARG_NOT_USED(x) (void)(x)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   Useful constant definitions</td><td> </td><td class="right">   Useful constant definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_PATH_LEN 4096 /**&lt; Maximum allowed size for filenames */</td><td> </td><td class="right">#define OPJ_PATH_LEN 4096 /**&lt; Maximum allowed size for filenames */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0009" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MAXRLVLS 33                                    /**&lt; Number </td><td> </td><td class="rblock">#define OPJ_J2K_MAXRLVLS 33                 /**&lt; Number of maximum <span class="insert">resoluti</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">of maximum <span class="delete">resolution</span> level authorized */</td><td> </td><td class="rblock"><span class="insert">on</span> level authorized */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2)        /**&lt; Number of <span class="delete">maxim</span></td><td> </td><td class="rblock">#define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2) /**&lt; Number of <span class="insert">maximum sub-</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">um sub-band</span> linked to number of resolution level */</td><td> </td><td class="rblock"><span class="insert">band</span> linked to number of resolution level */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0010" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_DEFAULT_NB_SEGS                                10</td><td> </td><td class="rblock">#define OPJ_J2K_DEFAULT_NB_SEGS             10</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_STREAM_CHUNK_SIZE                      0x100000 /** 1 mega </td><td> </td><td class="rblock">#define OPJ_J2K_STREAM_CHUNK_SIZE           0x100000 /** 1 mega by default </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">by default */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_DEFAULT_HEADER_SIZE                    1000</td><td> </td><td class="rblock">#define OPJ_J2K_DEFAULT_HEADER_SIZE         1000</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MCC_DEFAULT_NB_RECORDS         10</td><td> </td><td class="rblock">#define OPJ_J2K_MCC_DEFAULT_NB_RECORDS      10</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MCT_DEFAULT_NB_RECORDS         10</td><td> </td><td class="rblock">#define OPJ_J2K_MCT_DEFAULT_NB_RECORDS      10</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* UniPG&gt;&gt; */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td> </td><td class="right">/* UniPG&gt;&gt; */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0011" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define JPWL_MAX_NO_TILESPECS  16 /**&lt; Maximum number of tile parts <span class="delete">expecte</span></td><td> </td><td class="rblock">#define JPWL_MAX_NO_TILESPECS   16 /**&lt; Maximum number of tile parts <span class="insert">expect</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">d</span> by JPWL: increase at your will */</td><td> </td><td class="rblock"><span class="insert">ed</span> by JPWL: increase at your will */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define JPWL_MAX_NO_PACKSPECS  16 /**&lt; Maximum number of packet parts <span class="delete">expec</span></td><td> </td><td class="rblock">#define JPWL_MAX_NO_PACKSPECS   16 /**&lt; Maximum number of packet parts <span class="insert">expe</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ted</span> by JPWL: increase at your will */</td><td> </td><td class="rblock"><span class="insert">cted</span> by JPWL: increase at your will */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define JPWL_MAX_NO_MARKERS    512 /**&lt; Maximum number of JPWL markers: <span class="delete">inc</span></td><td> </td><td class="rblock">#define JPWL_MAX_NO_MARKERS 512 /**&lt; Maximum number of JPWL markers: <span class="insert">increa</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">rease</span> at your will */</td><td> </td><td class="rblock"><span class="insert">se</span> at your will */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename" /**&lt; index file
+ name used when JPWL is on */</td><td> </td><td class="right">#define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename" /**&lt; index file
+ name used when JPWL is on */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_EXPECTED_COMPONENTS 3 /**&lt; Expect this number of components, s
+o you'll find better the first EPB */</td><td> </td><td class="right">#define JPWL_EXPECTED_COMPONENTS 3 /**&lt; Expect this number of components, s
+o you'll find better the first EPB */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_MAXIMUM_TILES 8192 /**&lt; Expect this maximum number of tiles, t
+o avoid some crashes */</td><td> </td><td class="right">#define JPWL_MAXIMUM_TILES 8192 /**&lt; Expect this maximum number of tiles, t
+o avoid some crashes */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_MAXIMUM_HAMMING 2 /**&lt; Expect this maximum number of bit error
+s in marker id's */</td><td> </td><td class="right">#define JPWL_MAXIMUM_HAMMING 2 /**&lt; Expect this maximum number of bit error
+s in marker id's */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define JPWL_MAXIMUM_EPB_ROOM 65450 /**&lt; Expect this maximum number of byte
+s for composition of EPBs */</td><td> </td><td class="right">#define JPWL_MAXIMUM_EPB_ROOM 65450 /**&lt; Expect this maximum number of byte
+s for composition of EPBs */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* &lt;&lt;UniPG */</td><td> </td><td class="right">/* &lt;&lt;UniPG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * EXPERIMENTAL FOR THE MOMENT</td><td> </td><td class="right"> * EXPERIMENTAL FOR THE MOMENT</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Supported options about file information used only in j2k_dump</td><td> </td><td class="right"> * Supported options about file information used only in j2k_dump</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0012" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_IMG_INFO           1       /**&lt; Basic image information <span class="delete">provide</span></td><td> </td><td class="rblock">#define OPJ_IMG_INFO        1   /**&lt; Basic image information <span class="insert">provided</span> to <span class="insert">th</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">d</span> to <span class="delete">the</span> user */</td><td> </td><td class="rblock"><span class="insert">e</span> user */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MH_INFO                2       /**&lt; Codestream information </td><td> </td><td class="rblock">#define OPJ_J2K_MH_INFO     2   /**&lt; Codestream information based only on <span class="insert">t</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">based only on <span class="delete">the</span> main header */</td><td> </td><td class="rblock"><span class="insert">he</span> main header */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_TH_INFO                4       /**&lt; Tile information based </td><td> </td><td class="rblock">#define OPJ_J2K_TH_INFO     4   /**&lt; Tile information based on the current </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">on the current tile header */</td><td> </td><td class="rblock">tile header */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_TCH_INFO       8       /**&lt; Tile/Component information of <span class="delete">a</span></td><td> </td><td class="rblock">#define OPJ_J2K_TCH_INFO    8   /**&lt; Tile/Component information of <span class="insert">all tile</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ll tiles</span> */</td><td> </td><td class="rblock"><span class="insert">s</span> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_MH_IND         16      /**&lt; Codestream index based only on </td><td> </td><td class="rblock">#define OPJ_J2K_MH_IND      16  /**&lt; Codestream index based only on the <span class="insert">mai</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">the <span class="delete">main</span> header */</td><td> </td><td class="rblock"><span class="insert">n</span> header */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_J2K_TH_IND         32      /**&lt; Tile index based on the current</td><td> </td><td class="rblock">#define OPJ_J2K_TH_IND      32  /**&lt; Tile index based on the current tile <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> tile <span class="delete">*/</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/*FIXME #define OPJ_J2K_CSTR_IND       48*/    /**&lt;  */</td><td> </td><td class="rblock">/*FIXME #define OPJ_J2K_CSTR_IND    48*/    /**&lt;  */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_JP2_INFO           128     /**&lt; JP2 file information */</td><td> </td><td class="rblock">#define OPJ_JP2_INFO        128 /**&lt; JP2 file information */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_JP2_IND                    256     /**&lt; JP2 file index */</td><td> </td><td class="rblock">#define OPJ_JP2_IND         256 /**&lt; JP2 file index */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMD)</td><td> </td><td class="right"> * JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMD)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0013" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * These values help chosing the RSIZ value for the J2K codestream.</td><td> </td><td class="rblock"> * These values help cho<span class="insert">o</span>sing the RSIZ value for the J2K codestream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * The RSIZ value triggers various encoding options, as detailed in Table A
+.10.</td><td> </td><td class="right"> * The RSIZ value triggers various encoding options, as detailed in Table A
+.10.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * If OPJ_PROFILE_PART2 is chosen, it has to be combined with one or more e
+xtensions</td><td> </td><td class="right"> * If OPJ_PROFILE_PART2 is chosen, it has to be combined with one or more e
+xtensions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * described hereunder.</td><td> </td><td class="right"> * described hereunder.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *   Example: rsiz = OPJ_PROFILE_PART2 | OPJ_EXTENSION_MCT;</td><td> </td><td class="right"> *   Example: rsiz = OPJ_PROFILE_PART2 | OPJ_EXTENSION_MCT;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * For broadcast profiles, the OPJ_PROFILE value has to be combined with th
+e targeted</td><td> </td><td class="right"> * For broadcast profiles, the OPJ_PROFILE value has to be combined with th
+e targeted</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * mainlevel (3-0 LSB, value between 0 and 11):</td><td> </td><td class="right"> * mainlevel (3-0 LSB, value between 0 and 11):</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *   Example: rsiz = OPJ_PROFILE_BC_MULTI | 0x0005; (here mainlevel 5)</td><td> </td><td class="right"> *   Example: rsiz = OPJ_PROFILE_BC_MULTI | 0x0005; (here mainlevel 5)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * For IMF profiles, the OPJ_PROFILE value has to be combined with the targ
+eted mainlevel</td><td> </td><td class="right"> * For IMF profiles, the OPJ_PROFILE value has to be combined with the targ
+eted mainlevel</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * (3-0 LSB, value between 0 and 11) and sublevel (7-4 LSB, value between 0
+ and 9):</td><td> </td><td class="right"> * (3-0 LSB, value between 0 and 11) and sublevel (7-4 LSB, value between 0
+ and 9):</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *   Example: rsiz = OPJ_PROFILE_IMF_2K | 0x0040 | 0x0005; (here main 5 and
+ sublevel 4)</td><td> </td><td class="right"> *   Example: rsiz = OPJ_PROFILE_IMF_2K | 0x0040 | 0x0005; (here main 5 and
+ sublevel 4)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> line 230</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> line 230</em></th><td></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_CINEMA(v)     (((v) &gt;= OPJ_PROFILE_CINEMA_2K)&amp;&amp;((v) &lt;= OPJ_P
+ROFILE_CINEMA_S4K))</td><td> </td><td class="right">#define OPJ_IS_CINEMA(v)     (((v) &gt;= OPJ_PROFILE_CINEMA_2K)&amp;&amp;((v) &lt;= OPJ_P
+ROFILE_CINEMA_S4K))</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_STORAGE(v)    ((v) == OPJ_PROFILE_CINEMA_LTS)</td><td> </td><td class="right">#define OPJ_IS_STORAGE(v)    ((v) == OPJ_PROFILE_CINEMA_LTS)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_BROADCAST(v)  (((v) &gt;= OPJ_PROFILE_BC_SINGLE)&amp;&amp;((v) &lt;= ((OPJ
+_PROFILE_BC_MULTI_R) | (0x000b))))</td><td> </td><td class="right">#define OPJ_IS_BROADCAST(v)  (((v) &gt;= OPJ_PROFILE_BC_SINGLE)&amp;&amp;((v) &lt;= ((OPJ
+_PROFILE_BC_MULTI_R) | (0x000b))))</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_IMF(v)        (((v) &gt;= OPJ_PROFILE_IMF_2K)&amp;&amp;((v) &lt;= ((OPJ_PR
+OFILE_IMF_8K_R) | (0x009b))))</td><td> </td><td class="right">#define OPJ_IS_IMF(v)        (((v) &gt;= OPJ_PROFILE_IMF_2K)&amp;&amp;((v) &lt;= ((OPJ_PR
+OFILE_IMF_8K_R) | (0x009b))))</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_IS_PART2(v)      ((v) &amp; OPJ_PROFILE_PART2)</td><td> </td><td class="right">#define OPJ_IS_PART2(v)      ((v) &amp; OPJ_PROFILE_PART2)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG 2000 codestream and component size limits in cinema profiles</td><td> </td><td class="right"> * JPEG 2000 codestream and component size limits in cinema profiles</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0014" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_CINEMA_24_CS     1302083    <span class="delete">       /** Maximum codestream lengt
+h for 2</span>4fps */</td><td> </td><td class="rblock">#define OPJ_CINEMA_24_CS     1302083    <span class="insert">/** Maximum codestream length for 2
+</span>4fps */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_CINEMA_48_CS     651041     /** Maximum codestream length for 4
+8fps */</td><td> </td><td class="right">#define OPJ_CINEMA_48_CS     651041     /** Maximum codestream length for 4
+8fps */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_CINEMA_24_COMP   1041666    /** Maximum size per color componen
+t for 2K &amp; 4K @ 24fps */</td><td> </td><td class="right">#define OPJ_CINEMA_24_COMP   1041666    /** Maximum size per color componen
+t for 2K &amp; 4K @ 24fps */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0015" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_CINEMA_48_COMP   520833     <span class="delete">       /** Maximum size per color c
+omponen</span>t for 2K @ 48fps */</td><td> </td><td class="rblock">#define OPJ_CINEMA_48_COMP   520833     <span class="insert">/** Maximum size per color componen
+</span>t for 2K @ 48fps */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   enum definitions</td><td> </td><td class="right">   enum definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td> </td><td class="right"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Rsiz Capabilities</td><td> </td><td class="right"> * Rsiz Capabilities</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef enum RSIZ_CAPABILITIES {</td><td> </td><td class="right">typedef enum RSIZ_CAPABILITIES {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0016" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_STD_RSIZ = 0,          /** Standard JPEG2000 profile*/</td><td> </td><td class="rblock">    OPJ_STD_RSIZ = 0,       /** Standard JPEG2000 profile*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CINEMA2K = 3,          /** Profile name for a 2K image*/</td><td> </td><td class="rblock">    OPJ_CINEMA2K = 3,       /** Profile name for a 2K image*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CINEMA4K = 4,          /** Profile name for a 4K image*/</td><td> </td><td class="rblock">    OPJ_CINEMA4K = 4,       /** Profile name for a 4K image*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    OPJ_MCT = 0x8100</td><td> </td><td class="right">    OPJ_MCT = 0x8100</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_RSIZ_CAPABILITIES;</td><td> </td><td class="right">} OPJ_RSIZ_CAPABILITIES;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td> </td><td class="right"> * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Digital cinema operation mode</td><td> </td><td class="right"> * Digital cinema operation mode</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef enum CINEMA_MODE {</td><td> </td><td class="right">typedef enum CINEMA_MODE {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0017" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_OFF = 0,                       /** Not Digital Cinema*/</td><td> </td><td class="rblock">    OPJ_OFF = 0,            /** Not Digital Cinema*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CINEMA2K_24 = 1,       /** 2K Digital Cinema at 24 fps*/</td><td> </td><td class="rblock">    OPJ_CINEMA2K_24 = 1,    /** 2K Digital Cinema at 24 fps*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CINEMA2K_48 = 2,       /** 2K Digital Cinema at 48 fps*/</td><td> </td><td class="rblock">    OPJ_CINEMA2K_48 = 2,    /** 2K Digital Cinema at 48 fps*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CINEMA4K_24 = 3                /** 4K Digital Cinema at 24 fps*/</td><td> </td><td class="rblock">    OPJ_CINEMA4K_24 = 3     /** 4K Digital Cinema at 24 fps*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">}OPJ_CINEMA_MODE;</span></td><td> </td><td class="rblock"><span class="insert">} OPJ_CINEMA_MODE;</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Progression order</td><td> </td><td class="right"> * Progression order</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef enum PROG_ORDER {</td><td> </td><td class="right">typedef enum PROG_ORDER {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0018" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_PROG_UNKNOWN = -1,  /**&lt; place-holder */</td><td> </td><td class="rblock">    OPJ_PROG_UNKNOWN = -1,  /**&lt; place-holder */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_LRCP = 0,                   /**&lt; <span class="delete">layer-resolution-component-prec</span></td><td> </td><td class="rblock">    OPJ_LRCP = 0,           /**&lt; <span class="insert">layer-resolution-component-precinct</span> order </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">inct</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_RLCP = 1,                   /**&lt; <span class="delete">resolution-layer-component-prec</span></td><td> </td><td class="rblock">    OPJ_RLCP = 1,           /**&lt; <span class="insert">resolution-layer-component-precinct</span> order </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">inct</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_RPCL = 2,                   /**&lt; <span class="delete">resolution-precinct-component-l</span></td><td> </td><td class="rblock">    OPJ_RPCL = 2,           /**&lt; <span class="insert">resolution-precinct-component-layer</span> order </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ayer</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_PCRL = 3,                   /**&lt; <span class="delete">precinct-component-resolution-l</span></td><td> </td><td class="rblock">    OPJ_PCRL = 3,           /**&lt; <span class="insert">precinct-component-resolution-layer</span> order </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ayer</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_CPRL = 4                    /**&lt; <span class="delete">component-precinct-resolution-l</span></td><td> </td><td class="rblock">    OPJ_CPRL = 4            /**&lt; <span class="insert">component-precinct-resolution-layer</span> order </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ayer</span> order */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_PROG_ORDER;</td><td> </td><td class="right">} OPJ_PROG_ORDER;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Supported image color spaces</td><td> </td><td class="right"> * Supported image color spaces</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef enum COLOR_SPACE {</td><td> </td><td class="right">typedef enum COLOR_SPACE {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0019" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CLRSPC_UNKNOWN = -1,   /**&lt; not supported by the library */</td><td> </td><td class="rblock">    OPJ_CLRSPC_UNKNOWN = -1,    /**&lt; not supported by the library */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CLRSPC_UNSPECIFIED = 0,        /**&lt; not specified in the codestream</td><td> </td><td class="rblock">    OPJ_CLRSPC_UNSPECIFIED = 0, /**&lt; not specified in the codestream */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock">    OPJ_CLRSPC_SRGB = 1,        /**&lt; sRGB */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CLRSPC_SRGB = 1,               /**&lt; sRGB */</td><td> </td><td class="rblock">    OPJ_CLRSPC_GRAY = 2,        /**&lt; grayscale */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CLRSPC_GRAY = 2,               /**&lt; grayscale */</td><td> </td><td class="rblock">    OPJ_CLRSPC_SYCC = 3,        /**&lt; YUV */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CLRSPC_SYCC = 3,               /**&lt; YUV */</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    OPJ_CLRSPC_EYCC = 4,        /**&lt; e-YCC */</td><td> </td><td class="right">    OPJ_CLRSPC_EYCC = 4,        /**&lt; e-YCC */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    OPJ_CLRSPC_CMYK = 5         /**&lt; CMYK */</td><td> </td><td class="right">    OPJ_CLRSPC_CMYK = 5         /**&lt; CMYK */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_COLOR_SPACE;</td><td> </td><td class="right">} OPJ_COLOR_SPACE;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Supported codec</td><td> </td><td class="right"> * Supported codec</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef enum CODEC_FORMAT {</td><td> </td><td class="right">typedef enum CODEC_FORMAT {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0020" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_CODEC_UNKNOWN = -1, /**&lt; place-holder */</td><td> </td><td class="rblock">    OPJ_CODEC_UNKNOWN = -1, /**&lt; place-holder */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_CODEC_J2K  = 0,             /**&lt; JPEG-2000 codestream : <span class="delete">read/wri</span></td><td> </td><td class="rblock">    OPJ_CODEC_J2K  = 0,     /**&lt; JPEG-2000 codestream : <span class="insert">read/write</span> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">te</span> */</td><td> </td><td class="rblock">    OPJ_CODEC_JPT  = 1,     /**&lt; JPT-stream (JPEG 2000, JPIP) : read only <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_CODEC_JPT  = 1,             /**&lt; JPT-stream (JPEG 2000, JPIP) : </td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">read only <span class="delete">*/</span></td><td> </td><td class="rblock">    OPJ_CODEC_JP2  = 2,     /**&lt; JP2 file format : read/write */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CODEC_JP2  = 2,                /**&lt; JP2 file format : read/write */</td><td> </td><td class="rblock">    OPJ_CODEC_JPP  = 3,     /**&lt; JPP-stream (JPEG 2000, JPIP) : to be coded</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CODEC_JPP  = 3,                /**&lt; JPP-stream (JPEG 2000, JPIP) : </td><td> </td><td class="rblock"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">to be coded */</td><td> </td><td class="rblock">    OPJ_CODEC_JPX  = 4      /**&lt; JPX file format (JPEG 2000 Part-2) : to be</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    OPJ_CODEC_JPX  = 4         /**&lt; JPX file format (JPEG 2000 Part-2) : to</td><td> </td><td class="rblock"> coded */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> be coded */</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} OPJ_CODEC_FORMAT;</td><td> </td><td class="right">} OPJ_CODEC_FORMAT;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   event manager typedef definitions</td><td> </td><td class="right">   event manager typedef definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for events</td><td> </td><td class="right"> * Callback function prototype for events</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param msg               Event message</td><td> </td><td class="right"> * @param msg               Event message</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param client_data       Client object where will be return the event me
+ssage</td><td> </td><td class="right"> * @param client_data       Client object where will be return the event me
+ssage</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0021" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">typedef void (*opj_msg_callback)<span class="delete"> </span>(const char *msg, void *client_data);</td><td> </td><td class="rblock">typedef void (*opj_msg_callback)(const char *msg, void *client_data);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   codec typedef definitions</td><td> </td><td class="right">   codec typedef definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Progression order changes</td><td> </td><td class="right"> * Progression order changes</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_poc {</td><td> </td><td class="right">typedef struct opj_poc {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0022" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Resolution num start, Component num start, given by POC */</td><td> </td><td class="rblock">    /** Resolution num start, Component num start, given by POC */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 resno0, compno0;</td><td> </td><td class="rblock">    OPJ_UINT32 resno0, compno0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Layer num end,Resolution num end, Component num end, given by <span class="delete">PO</span></td><td> </td><td class="rblock">    /** Layer num end,Resolution num end, Component num end, given by <span class="insert">POC *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">C */</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 layno1, resno1, compno1;</td><td> </td><td class="rblock">    OPJ_UINT32 layno1, resno1, compno1;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Layer num start,Precinct num start, Precinct num end */</td><td> </td><td class="rblock">    /** Layer num start,Precinct num start, Precinct num end */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 layno0, precno0, precno1;</td><td> </td><td class="rblock">    OPJ_UINT32 layno0, precno0, precno1;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Progression order enum*/</td><td> </td><td class="rblock">    /** Progression order enum*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_PROG_ORDER <span class="delete">prg1,prg;</span></td><td> </td><td class="rblock">    OPJ_PROG_ORDER <span class="insert">prg1, prg;</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Progression order string*/</td><td> </td><td class="rblock">    /** Progression order string*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_CHAR progorder[5];</td><td> </td><td class="rblock">    OPJ_CHAR progorder[5];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Tile number */</td><td> </td><td class="rblock">    /** Tile number */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 tile;</td><td> </td><td class="rblock">    OPJ_UINT32 tile;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Start and end values for Tile width and height*/</td><td> </td><td class="rblock">    /** Start and end values for Tile width and height*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_INT32 <span class="delete">tx0,tx1,ty0,ty1;</span></td><td> </td><td class="rblock">    OPJ_INT32 <span class="insert">tx0, tx1, ty0, ty1;</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Start value, initialised in pi_initialise_encode*/</td><td> </td><td class="rblock">    /** Start value, initialised in pi_initialise_encode*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 layS, resS, compS, prcS;</td><td> </td><td class="rblock">    OPJ_UINT32 layS, resS, compS, prcS;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** End value, initialised in pi_initialise_encode */</td><td> </td><td class="rblock">    /** End value, initialised in pi_initialise_encode */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 layE, resE, compE, prcE;</td><td> </td><td class="rblock">    OPJ_UINT32 layE, resE, compE, prcE;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Start and end values of Tile width and height, initialised in <span class="delete">pi</span></td><td> </td><td class="rblock">    /** Start and end values of Tile width and height, initialised in <span class="insert">pi_in</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_initialise_encode*/</span></td><td> </td><td class="rblock"><span class="insert">itialise_encode*/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 <span class="delete">txS,txE,tyS,tyE,dx,dy;</span></td><td> </td><td class="rblock">    OPJ_UINT32 <span class="insert">txS, txE, tyS, tyE, dx, dy;</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Temporary values for Tile parts, initialised in pi_create_encode</td><td> </td><td class="rblock">    /** Temporary values for Tile parts, initialised in pi_create_encode */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> */</td><td> </td><td class="rblock">    OPJ_UINT32 lay_t, res_t, comp_t, <span class="insert">prc_t, tx0_t, ty0_t;</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 lay_t, res_t, comp_t, <span class="delete">prc_t,tx0_t,ty0_t;</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_poc_t;</td><td> </td><td class="right">} opj_poc_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Compression parameters</td><td> </td><td class="right"> * Compression parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_cparameters {</td><td> </td><td class="right">typedef struct opj_cparameters {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0023" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** size of tile: tile_size_on = false (not in argument) or = true <span class="delete">(</span></td><td> </td><td class="rblock">    /** size of tile: tile_size_on = false (not in argument) or = true <span class="insert">(in</span> </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">in</span> argument) */</td><td> </td><td class="rblock">argument) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_BOOL tile_size_on;</td><td> </td><td class="rblock">    OPJ_BOOL tile_size_on;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** XTOsiz */</td><td> </td><td class="rblock">    /** XTOsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cp_tx0;</td><td> </td><td class="rblock">    int cp_tx0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** YTOsiz */</td><td> </td><td class="rblock">    /** YTOsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cp_ty0;</td><td> </td><td class="rblock">    int cp_ty0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** XTsiz */</td><td> </td><td class="rblock">    /** XTsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cp_tdx;</td><td> </td><td class="rblock">    int cp_tdx;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** YTsiz */</td><td> </td><td class="rblock">    /** YTsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cp_tdy;</td><td> </td><td class="rblock">    int cp_tdy;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** allocation by rate/distortion */</td><td> </td><td class="rblock">    /** allocation by rate/distortion */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cp_disto_alloc;</td><td> </td><td class="rblock">    int cp_disto_alloc;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** allocation by fixed layer */</td><td> </td><td class="rblock">    /** allocation by fixed layer */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cp_fixed_alloc;</td><td> </td><td class="rblock">    int cp_fixed_alloc;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** add fixed_quality */</td><td> </td><td class="rblock">    /** add fixed_quality */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cp_fixed_quality;</td><td> </td><td class="rblock">    int cp_fixed_quality;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** fixed layer */</td><td> </td><td class="rblock">    /** fixed layer */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int *cp_matrice;</td><td> </td><td class="rblock">    int *cp_matrice;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** comment for coding */</td><td> </td><td class="rblock">    /** comment for coding */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char *cp_comment;</td><td> </td><td class="rblock">    char *cp_comment;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** csty : coding style */</td><td> </td><td class="rblock">    /** csty : coding style */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int csty;</td><td> </td><td class="rblock">    int csty;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** progression order (default OPJ_LRCP) */</td><td> </td><td class="rblock">    /** progression order (default OPJ_LRCP) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_PROG_ORDER prog_order;</td><td> </td><td class="rblock">    OPJ_PROG_ORDER prog_order;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** progression order changes */</td><td> </td><td class="rblock">    /** progression order changes */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_poc_t POC[32];</td><td> </td><td class="rblock">    opj_poc_t POC[32];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of progression order changes (POC), default to 0 */</td><td> </td><td class="rblock">    /** number of progression order changes (POC), default to 0 */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 numpocs;</td><td> </td><td class="rblock">    OPJ_UINT32 numpocs;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of layers */</td><td> </td><td class="rblock">    /** number of layers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tcp_numlayers;</td><td> </td><td class="rblock">    int tcp_numlayers;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    /** rates of layers - might be subsequently limited by the max_cs_size 
+field */</td><td> </td><td class="right">    /** rates of layers - might be subsequently limited by the max_cs_size 
+field */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0024" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       float tcp_rates[100];</td><td> </td><td class="rblock">    float tcp_rates[100];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** different psnr for successive layers */</td><td> </td><td class="rblock">    /** different psnr for successive layers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       float tcp_distoratio[100];</td><td> </td><td class="rblock">    float tcp_distoratio[100];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of resolutions */</td><td> </td><td class="rblock">    /** number of resolutions */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int numresolution;</td><td> </td><td class="rblock">    int numresolution;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** initial code block width, default to 64 */</td><td> </td><td class="rblock">    /** initial code block width, default to 64 */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cblockw_init;</td><td> </td><td class="rblock">    int cblockw_init;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** initial code block height, default to 64 */</td><td> </td><td class="rblock">    /** initial code block height, default to 64 */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cblockh_init;</td><td> </td><td class="rblock">    int cblockh_init;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** mode switch (cblk_style) */</td><td> </td><td class="rblock">    /** mode switch (cblk_style) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int mode;</td><td> </td><td class="rblock">    int mode;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression <span class="delete">(</span></td><td> </td><td class="rblock">    /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression <span class="insert">(def</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">default)</span> */</td><td> </td><td class="rblock"><span class="insert">ault)</span> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int irreversible;</td><td> </td><td class="rblock">    int irreversible;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** region of interest: affected component in [0..3], -1 means no <span class="delete">RO</span></td><td> </td><td class="rblock">    /** region of interest: affected component in [0..3], -1 means no <span class="insert">ROI *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">I */</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int roi_compno;</td><td> </td><td class="rblock">    int roi_compno;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** region of interest: upshift value */</td><td> </td><td class="rblock">    /** region of interest: upshift value */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int roi_shift;</td><td> </td><td class="rblock">    int roi_shift;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /* number of precinct size specifications */</td><td> </td><td class="rblock">    /* number of precinct size specifications */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int res_spec;</td><td> </td><td class="rblock">    int res_spec;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** initial precinct width */</td><td> </td><td class="rblock">    /** initial precinct width */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int prcw_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock">    int prcw_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** initial precinct height */</td><td> </td><td class="rblock">    /** initial precinct height */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int prch_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock">    int prch_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0025" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /**@name command line encoder parameters (not used inside the <span class="delete">librar</span></td><td> </td><td class="rblock">    /**@name command line encoder parameters (not used inside the <span class="insert">library)</span> </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">y)</span> */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /*@{*/</td><td> </td><td class="rblock">    /*@{*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** input file name */</td><td> </td><td class="rblock">    /** input file name */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char infile[OPJ_PATH_LEN];</td><td> </td><td class="rblock">    char infile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** output file name */</td><td> </td><td class="rblock">    /** output file name */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char outfile[OPJ_PATH_LEN];</td><td> </td><td class="rblock">    char outfile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** DEPRECATED. Index generation is now handeld with the <span class="delete">opj_encode_</span></td><td> </td><td class="rblock">    /** DEPRECATED. Index generation is now handeld with the <span class="insert">opj_encode_wit</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">with_info()</span> function. Set to NULL */</td><td> </td><td class="rblock"><span class="insert">h_info()</span> function. Set to NULL */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int index_on;</td><td> </td><td class="rblock">    int index_on;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** DEPRECATED. Index generation is now handeld with the <span class="delete">opj_encode_</span></td><td> </td><td class="rblock">    /** DEPRECATED. Index generation is now handeld with the <span class="insert">opj_encode_wit</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">with_info()</span> function. Set to NULL */</td><td> </td><td class="rblock"><span class="insert">h_info()</span> function. Set to NULL */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char index[OPJ_PATH_LEN];</td><td> </td><td class="rblock">    char index[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** subimage encoding: origin image offset in x direction */</td><td> </td><td class="rblock">    /** subimage encoding: origin image offset in x direction */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int image_offset_x0;</td><td> </td><td class="rblock">    int image_offset_x0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** subimage encoding: origin image offset in y direction */</td><td> </td><td class="rblock">    /** subimage encoding: origin image offset in y direction */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int image_offset_y0;</td><td> </td><td class="rblock">    int image_offset_y0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** subsampling value for dx */</td><td> </td><td class="rblock">    /** subsampling value for dx */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int subsampling_dx;</td><td> </td><td class="rblock">    int subsampling_dx;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** subsampling value for dy */</td><td> </td><td class="rblock">    /** subsampling value for dy */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int subsampling_dy;</td><td> </td><td class="rblock">    int subsampling_dy;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td> </td><td class="rblock">    /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int decod_format;</td><td> </td><td class="rblock">    int decod_format;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** output file format 0: J2K, 1: JP2, 2: JPT */</td><td> </td><td class="rblock">    /** output file format 0: J2K, 1: JP2, 2: JPT */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cod_format;</td><td> </td><td class="rblock">    int cod_format;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /*@}*/</td><td> </td><td class="rblock">    /*@}*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0026" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG&gt;&gt; */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td> </td><td class="rblock">    /* UniPG&gt;&gt; */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /**@name JPWL encoding parameters */</td><td> </td><td class="rblock">    /**@name JPWL encoding parameters */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /*@{*/</td><td> </td><td class="rblock">    /*@{*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** enables writing of EPC in MH, thus activating JPWL */</td><td> </td><td class="rblock">    /** enables writing of EPC in MH, thus activating JPWL */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_BOOL jpwl_epc_on;</td><td> </td><td class="rblock">    OPJ_BOOL jpwl_epc_on;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** error protection method for MH (0,1,16,32,37-128) */</td><td> </td><td class="rblock">    /** error protection method for MH (0,1,16,32,37-128) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_hprot_MH;</td><td> </td><td class="rblock">    int jpwl_hprot_MH;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile number of header protection specification (&gt;=0) */</td><td> </td><td class="rblock">    /** tile number of header protection specification (&gt;=0) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock">    int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** error protection methods for TPHs (0,1,16,32,37-128) */</td><td> </td><td class="rblock">    /** error protection methods for TPHs (0,1,16,32,37-128) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock">    int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile number of packet protection specification (&gt;=0) */</td><td> </td><td class="rblock">    /** tile number of packet protection specification (&gt;=0) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS];</td><td> </td><td class="rblock">    int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** packet number of packet protection specification (&gt;=0) */</td><td> </td><td class="rblock">    /** packet number of packet protection specification (&gt;=0) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS];</td><td> </td><td class="rblock">    int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** error protection methods for packets (0,1,16,32,37-128) */</td><td> </td><td class="rblock">    /** error protection methods for packets (0,1,16,32,37-128) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_pprot[JPWL_MAX_NO_PACKSPECS];</td><td> </td><td class="rblock">    int jpwl_pprot[JPWL_MAX_NO_PACKSPECS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** enables writing of ESD, (0=no/1/2 bytes) */</td><td> </td><td class="rblock">    /** enables writing of ESD, (0=no/1/2 bytes) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_sens_size;</td><td> </td><td class="rblock">    int jpwl_sens_size;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** sensitivity addressing size (0=auto/2/4 bytes) */</td><td> </td><td class="rblock">    /** sensitivity addressing size (0=auto/2/4 bytes) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_sens_addr;</td><td> </td><td class="rblock">    int jpwl_sens_addr;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** sensitivity range (0-3) */</td><td> </td><td class="rblock">    /** sensitivity range (0-3) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_sens_range;</td><td> </td><td class="rblock">    int jpwl_sens_range;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** sensitivity method for MH (-1=no,0-7) */</td><td> </td><td class="rblock">    /** sensitivity method for MH (-1=no,0-7) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_sens_MH;</td><td> </td><td class="rblock">    int jpwl_sens_MH;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile number of sensitivity specification (&gt;=0) */</td><td> </td><td class="rblock">    /** tile number of sensitivity specification (&gt;=0) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock">    int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** sensitivity methods for TPHs (-1=no,0-7) */</td><td> </td><td class="rblock">    /** sensitivity methods for TPHs (-1=no,0-7) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS];</td><td> </td><td class="rblock">    int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /*@}*/</td><td> </td><td class="rblock">    /*@}*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* &lt;&lt;UniPG */</td><td> </td><td class="rblock">    /* &lt;&lt;UniPG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    /**</td><td> </td><td class="right">    /**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * DEPRECATED: use RSIZ, OPJ_PROFILE_* and MAX_COMP_SIZE instead</td><td> </td><td class="right">     * DEPRECATED: use RSIZ, OPJ_PROFILE_* and MAX_COMP_SIZE instead</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * Digital Cinema compliance 0-not compliant, 1-compliant</td><td> </td><td class="right">     * Digital Cinema compliance 0-not compliant, 1-compliant</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * */</td><td> </td><td class="right">     * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    OPJ_CINEMA_MODE cp_cinema;</td><td> </td><td class="right">    OPJ_CINEMA_MODE cp_cinema;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    /**</td><td> </td><td class="right">    /**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * Maximum size (in bytes) for each component.</td><td> </td><td class="right">     * Maximum size (in bytes) for each component.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * If == 0, component size limitation is not considered</td><td> </td><td class="right">     * If == 0, component size limitation is not considered</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * */</td><td> </td><td class="right">     * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0027" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    <span class="delete">   </span>int max_comp_size;</td><td> </td><td class="rblock">    int max_comp_size;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    /**</td><td> </td><td class="right">    /**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td> </td><td class="right">     * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * Profile name</td><td> </td><td class="right">     * Profile name</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * */</td><td> </td><td class="right">     * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    OPJ_RSIZ_CAPABILITIES cp_rsiz;</td><td> </td><td class="right">    OPJ_RSIZ_CAPABILITIES cp_rsiz;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0028" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Tile part generation*/</td><td> </td><td class="rblock">    /** Tile part generation*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char tp_on;</td><td> </td><td class="rblock">    char tp_on;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Flag for Tile part generation*/</td><td> </td><td class="rblock">    /** Flag for Tile part generation*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char tp_flag;</td><td> </td><td class="rblock">    char tp_flag;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** MCT (multiple component transform) */</td><td> </td><td class="rblock">    /** MCT (multiple component transform) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char tcp_mct;</td><td> </td><td class="rblock">    char tcp_mct;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Enable JPIP indexing*/</td><td> </td><td class="rblock">    /** Enable JPIP indexing*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_BOOL jpip_on;</td><td> </td><td class="rblock">    OPJ_BOOL jpip_on;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Naive implementation of MCT restricted to a single reversible <span class="delete">ar</span></td><td> </td><td class="rblock">    /** Naive implementation of MCT restricted to a single reversible <span class="insert">array</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ray</span> based</td><td> </td><td class="rblock"> based</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">        encoding without offset concerning all the components. */</td><td> </td><td class="right">        encoding without offset concerning all the components. */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0029" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    <span class="delete">   </span>void * mct_data;</td><td> </td><td class="rblock">    void * mct_data;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    /**</td><td> </td><td class="right">    /**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * Maximum size (in bytes) for the whole codestream.</td><td> </td><td class="right">     * Maximum size (in bytes) for the whole codestream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * If == 0, codestream size limitation is not considered</td><td> </td><td class="right">     * If == 0, codestream size limitation is not considered</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * If it does not comply with tcp_rates, max_cs_size prevails</td><td> </td><td class="right">     * If it does not comply with tcp_rates, max_cs_size prevails</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * and a warning is issued.</td><td> </td><td class="right">     * and a warning is issued.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">     * */</td><td> </td><td class="right">     * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    int max_cs_size;</td><td> </td><td class="right">    int max_cs_size;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    /** RSIZ value</td><td> </td><td class="right">    /** RSIZ value</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">        To be used to combine OPJ_PROFILE_*, OPJ_EXTENSION_* and (sub)level
+s values. */</td><td> </td><td class="right">        To be used to combine OPJ_PROFILE_*, OPJ_EXTENSION_* and (sub)level
+s values. */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">    OPJ_UINT16 rsiz;</td><td> </td><td class="right">    OPJ_UINT16 rsiz;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_cparameters_t;</td><td> </td><td class="right">} opj_cparameters_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0030" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG     0x0001</td><td> </td><td class="rblock">#define OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG  0x0001</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_DPARAMETERS_DUMP_FLAG 0x0002</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Decompression parameters</td><td> </td><td class="right"> * Decompression parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_dparameters {</td><td> </td><td class="right">typedef struct opj_dparameters {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0031" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /**</td><td> </td><td class="rblock">    /**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       Set the number of highest resolution levels to be discarded.</td><td> </td><td class="rblock">    Set the number of highest resolution levels to be discarded.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       The image resolution is effectively divided by 2 to the power of the</td><td> </td><td class="rblock">    The image resolution is effectively divided by 2 to the power of the <span class="insert">nu</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">number</span> of discarded levels.</td><td> </td><td class="rblock"><span class="insert">mber</span> of discarded levels.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       The reduce factor is limited by the smallest total number of <span class="delete">decompo</span></td><td> </td><td class="rblock">    The reduce factor is limited by the smallest total number of <span class="insert">decomposit</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">sition</span> levels among tiles.</td><td> </td><td class="rblock"><span class="insert">ion</span> levels among tiles.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       if != 0, then original dimension divided by 2^(reduce);</td><td> </td><td class="rblock">    if != 0, then original dimension divided by 2^(reduce);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       if == 0 or not used, image is decoded to the full resolution</td><td> </td><td class="rblock">    if == 0 or not used, image is decoded to the full resolution</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       */</td><td> </td><td class="rblock">    */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 cp_reduce;</td><td> </td><td class="rblock">    OPJ_UINT32 cp_reduce;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /**</td><td> </td><td class="rblock">    /**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       Set the maximum number of quality layers to decode.</td><td> </td><td class="rblock">    Set the maximum number of quality layers to decode.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       If there are less quality layers than the specified number, all the </td><td> </td><td class="rblock">    If there are less quality layers than the specified number, all the <span class="insert">qua</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">quality</span> layers are decoded.</td><td> </td><td class="rblock"><span class="insert">lity</span> layers are decoded.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       if != 0, then only the first "layer" layers are decoded;</td><td> </td><td class="rblock">    if != 0, then only the first "layer" layers are decoded;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       if == 0 or not used, all the quality layers are decoded</td><td> </td><td class="rblock">    if == 0 or not used, all the quality layers are decoded</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       */</td><td> </td><td class="rblock">    */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 cp_layer;</td><td> </td><td class="rblock">    OPJ_UINT32 cp_layer;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0032" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /**@name command line decoder parameters (not used inside the <span class="delete">librar</span></td><td> </td><td class="rblock">    /**@name command line decoder parameters (not used inside the <span class="insert">library)</span> </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">y)</span> */</td><td> </td><td class="rblock">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /*@{*/</td><td> </td><td class="rblock">    /*@{*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** input file name */</td><td> </td><td class="rblock">    /** input file name */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char infile[OPJ_PATH_LEN];</td><td> </td><td class="rblock">    char infile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** output file name */</td><td> </td><td class="rblock">    /** output file name */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       char outfile[OPJ_PATH_LEN];</td><td> </td><td class="rblock">    char outfile[OPJ_PATH_LEN];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** input file format 0: J2K, 1: JP2, 2: JPT */</td><td> </td><td class="rblock">    /** input file format 0: J2K, 1: JP2, 2: JPT */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int decod_format;</td><td> </td><td class="rblock">    int decod_format;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** output file format 0: PGX, 1: PxM, 2: BMP */</td><td> </td><td class="rblock">    /** output file format 0: PGX, 1: PxM, 2: BMP */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int cod_format;</td><td> </td><td class="rblock">    int cod_format;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0033" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Decoding area left boundary */</td><td> </td><td class="rblock">    /** Decoding area left boundary */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 DA_x0;</td><td> </td><td class="rblock">    OPJ_UINT32 DA_x0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Decoding area right boundary */</td><td> </td><td class="rblock">    /** Decoding area right boundary */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 DA_x1;</td><td> </td><td class="rblock">    OPJ_UINT32 DA_x1;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Decoding area up boundary */</td><td> </td><td class="rblock">    /** Decoding area up boundary */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 DA_y0;</td><td> </td><td class="rblock">    OPJ_UINT32 DA_y0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Decoding area bottom boundary */</td><td> </td><td class="rblock">    /** Decoding area bottom boundary */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 DA_y1;</td><td> </td><td class="rblock">    OPJ_UINT32 DA_y1;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Verbose mode */</td><td> </td><td class="rblock">    /** Verbose mode */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_BOOL m_verbose;</td><td> </td><td class="rblock">    OPJ_BOOL m_verbose;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0034" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile number ot the decoded tile*/</td><td> </td><td class="rblock">    /** tile number ot the decoded tile*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 tile_index;</td><td> </td><td class="rblock">    OPJ_UINT32 tile_index;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Nb of tile to decode */</td><td> </td><td class="rblock">    /** Nb of tile to decode */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 nb_tile_to_decode;</td><td> </td><td class="rblock">    OPJ_UINT32 nb_tile_to_decode;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0035" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    <span class="delete">   </span>/*@}*/</td><td> </td><td class="rblock">    /*@}*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0036" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG&gt;&gt; */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td> </td><td class="rblock">    /* UniPG&gt;&gt; */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /**@name JPWL decoding parameters */</td><td> </td><td class="rblock">    /**@name JPWL decoding parameters */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /*@{*/</td><td> </td><td class="rblock">    /*@{*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** activates the JPWL correction capabilities */</td><td> </td><td class="rblock">    /** activates the JPWL correction capabilities */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_BOOL jpwl_correct;</td><td> </td><td class="rblock">    OPJ_BOOL jpwl_correct;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** expected number of components */</td><td> </td><td class="rblock">    /** expected number of components */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_exp_comps;</td><td> </td><td class="rblock">    int jpwl_exp_comps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** maximum number of tiles */</td><td> </td><td class="rblock">    /** maximum number of tiles */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int jpwl_max_tiles;</td><td> </td><td class="rblock">    int jpwl_max_tiles;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /*@}*/</td><td> </td><td class="rblock">    /*@}*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* &lt;&lt;UniPG */</td><td> </td><td class="rblock">    /* &lt;&lt;UniPG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0037" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">    <span class="delete">   </span>unsigned int flags;</td><td> </td><td class="rblock">    unsigned int flags;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_dparameters_t;</td><td> </td><td class="right">} opj_dparameters_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG2000 codec V2.</td><td> </td><td class="right"> * JPEG2000 codec V2.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef void * opj_codec_t;</td><td> </td><td class="right">typedef void * opj_codec_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   I/O stream typedef definitions</td><td> </td><td class="right">   I/O stream typedef definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Stream open flags.</td><td> </td><td class="right"> * Stream open flags.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/** The stream was opened for reading. */</td><td> </td><td class="right">/** The stream was opened for reading. */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0038" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_STREAM_READ <span class="delete">       </span>OPJ_TRUE</td><td> </td><td class="rblock">#define OPJ_STREAM_READ OPJ_TRUE</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/** The stream was opened for writing. */</td><td> </td><td class="right">/** The stream was opened for writing. */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_STREAM_WRITE OPJ_FALSE</td><td> </td><td class="right">#define OPJ_STREAM_WRITE OPJ_FALSE</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for read function</td><td> </td><td class="right"> * Callback function prototype for read function</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0039" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_SIZE_T (* opj_stream_read_fn) (void</span> * p_buffer, OPJ_SIZE_T <span class="delete">p_nb</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_SIZE_T(* opj_stream_read_fn)(void</span> * p_buffer, OPJ_SIZE_T <span class="insert">p_nb_b</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_bytes,</span> void * p_user_data) ;</td><td> </td><td class="rblock"><span class="insert">ytes,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">        void * p_user_data) ;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for write function</td><td> </td><td class="right"> * Callback function prototype for write function</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0040" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_SIZE_T (* opj_stream_write_fn) (void</span> * p_buffer, OPJ_SIZE_T <span class="delete">p_n</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_SIZE_T(* opj_stream_write_fn)(void</span> * p_buffer,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">b_bytes,</span> void * p_user_data) ;</td><td> </td><td class="rblock">        OPJ_SIZE_T <span class="insert">p_nb_bytes,</span> void * p_user_data) ;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for skip function</td><td> </td><td class="right"> * Callback function prototype for skip function</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0041" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_OFF_T (* opj_stream_skip_fn) (OPJ_OFF_T</span> p_nb_bytes, void * <span class="delete">p_us</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T</span> p_nb_bytes,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">er_data)</span> ;</td><td> </td><td class="rblock">                                        void * <span class="insert">p_user_data)</span> ;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for seek function</td><td> </td><td class="right"> * Callback function prototype for seek function</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0042" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">typedef <span class="delete">OPJ_BOOL (* opj_stream_seek_fn) (OPJ_OFF_T</span> p_nb_bytes, void * <span class="delete">p_use</span></td><td> </td><td class="rblock">typedef <span class="insert">OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T</span> p_nb_bytes,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">r_data)</span> ;</td><td> </td><td class="rblock">                                       void * <span class="insert">p_user_data)</span> ;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Callback function prototype for free user data function</td><td> </td><td class="right"> * Callback function prototype for free user data function</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0043" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">typedef void (* opj_stream_free_user_data_fn)<span class="delete"> </span>(void * p_user_data) ;</td><td> </td><td class="rblock">typedef void (* opj_stream_free_user_data_fn)(void * p_user_data) ;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * JPEG2000 Stream.</td><td> </td><td class="right"> * JPEG2000 Stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef void * opj_stream_t;</td><td> </td><td class="right">typedef void * opj_stream_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   image typedef definitions</td><td> </td><td class="right">   image typedef definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Defines a single image component</td><td> </td><td class="right"> * Defines a single image component</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_image_comp {</td><td> </td><td class="right">typedef struct opj_image_comp {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0044" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** XRsiz: horizontal separation of a sample of ith component with <span class="delete">r</span></td><td> </td><td class="rblock">    /** XRsiz: horizontal separation of a sample of ith component with <span class="insert">resp</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">espect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">ect</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 dx;</td><td> </td><td class="rblock">    OPJ_UINT32 dx;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** YRsiz: vertical separation of a sample of ith component with <span class="delete">res</span></td><td> </td><td class="rblock">    /** YRsiz: vertical separation of a sample of ith component with <span class="insert">respec</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">pect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">t</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 dy;</td><td> </td><td class="rblock">    OPJ_UINT32 dy;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** data width */</td><td> </td><td class="rblock">    /** data width */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 w;</td><td> </td><td class="rblock">    OPJ_UINT32 w;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** data height */</td><td> </td><td class="rblock">    /** data height */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 h;</td><td> </td><td class="rblock">    OPJ_UINT32 h;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** x component offset compared to the whole image */</td><td> </td><td class="rblock">    /** x component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 x0;</td><td> </td><td class="rblock">    OPJ_UINT32 x0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** y component offset compared to the whole image */</td><td> </td><td class="rblock">    /** y component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 y0;</td><td> </td><td class="rblock">    OPJ_UINT32 y0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precision */</td><td> </td><td class="rblock">    /** precision */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 prec;</td><td> </td><td class="rblock">    OPJ_UINT32 prec;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** image depth in bits */</td><td> </td><td class="rblock">    /** image depth in bits */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 bpp;</td><td> </td><td class="rblock">    OPJ_UINT32 bpp;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** signed (1) / unsigned (0) */</td><td> </td><td class="rblock">    /** signed (1) / unsigned (0) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 sgnd;</td><td> </td><td class="rblock">    OPJ_UINT32 sgnd;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of decoded resolution */</td><td> </td><td class="rblock">    /** number of decoded resolution */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 resno_decoded;</td><td> </td><td class="rblock">    OPJ_UINT32 resno_decoded;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of division by 2 of the out image compared to the <span class="delete">origina</span></td><td> </td><td class="rblock">    /** number of division by 2 of the out image compared to the <span class="insert">original s</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">l size</span> of image */</td><td> </td><td class="rblock"><span class="insert">ize</span> of image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 factor;</td><td> </td><td class="rblock">    OPJ_UINT32 factor;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** image component data */</td><td> </td><td class="rblock">    /** image component data */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_INT32 *data;</td><td> </td><td class="rblock">    OPJ_INT32 *data;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">  /** alpha channel */</td><td> </td><td class="rblock">    /** alpha channel */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">  OPJ_UINT16 alpha;</td><td> </td><td class="rblock">    OPJ_UINT16 alpha;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_image_comp_t;</td><td> </td><td class="right">} opj_image_comp_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Defines image data and characteristics</td><td> </td><td class="right"> * Defines image data and characteristics</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_image {</td><td> </td><td class="right">typedef struct opj_image {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0045" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** XOsiz: horizontal offset from the origin of the reference grid t</td><td> </td><td class="rblock">    /** XOsiz: horizontal offset from the origin of the reference grid <span class="insert">to</span> t</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">o the</span> left side of the image area */</td><td> </td><td class="rblock"><span class="insert">he</span> left side of the image area */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 x0;</td><td> </td><td class="rblock">    OPJ_UINT32 x0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** YOsiz: vertical offset from the origin of the reference grid to </td><td> </td><td class="rblock">    /** YOsiz: vertical offset from the origin of the reference grid to the</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">the top side of the image area */</td><td> </td><td class="rblock"> top side of the image area */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 y0;</td><td> </td><td class="rblock">    OPJ_UINT32 y0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Xsiz: width of the reference grid */</td><td> </td><td class="rblock">    /** Xsiz: width of the reference grid */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 x1;</td><td> </td><td class="rblock">    OPJ_UINT32 x1;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Ysiz: height of the reference grid */</td><td> </td><td class="rblock">    /** Ysiz: height of the reference grid */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 y1;</td><td> </td><td class="rblock">    OPJ_UINT32 y1;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of components in the image */</td><td> </td><td class="rblock">    /** number of components in the image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 numcomps;</td><td> </td><td class="rblock">    OPJ_UINT32 numcomps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** color space: sRGB, Greyscale or YUV */</td><td> </td><td class="rblock">    /** color space: sRGB, Greyscale or YUV */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_COLOR_SPACE color_space;</td><td> </td><td class="rblock">    OPJ_COLOR_SPACE color_space;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** image components */</td><td> </td><td class="rblock">    /** image components */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_image_comp_t *comps;</td><td> </td><td class="rblock">    opj_image_comp_t *comps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** 'restricted' ICC profile */</td><td> </td><td class="rblock">    /** 'restricted' ICC profile */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_BYTE *icc_profile_buf;</td><td> </td><td class="rblock">    OPJ_BYTE *icc_profile_buf;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** size of ICC profile */</td><td> </td><td class="rblock">    /** size of ICC profile */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 icc_profile_len;</td><td> </td><td class="rblock">    OPJ_UINT32 icc_profile_len;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_image_t;</td><td> </td><td class="right">} opj_image_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Component parameters structure used by the opj_image_create function</td><td> </td><td class="right"> * Component parameters structure used by the opj_image_create function</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_image_comptparm {</td><td> </td><td class="right">typedef struct opj_image_comptparm {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0046" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** XRsiz: horizontal separation of a sample of ith component with <span class="delete">r</span></td><td> </td><td class="rblock">    /** XRsiz: horizontal separation of a sample of ith component with <span class="insert">resp</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">espect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">ect</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 dx;</td><td> </td><td class="rblock">    OPJ_UINT32 dx;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** YRsiz: vertical separation of a sample of ith component with <span class="delete">res</span></td><td> </td><td class="rblock">    /** YRsiz: vertical separation of a sample of ith component with <span class="insert">respec</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">pect</span> to the reference grid */</td><td> </td><td class="rblock"><span class="insert">t</span> to the reference grid */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 dy;</td><td> </td><td class="rblock">    OPJ_UINT32 dy;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** data width */</td><td> </td><td class="rblock">    /** data width */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 w;</td><td> </td><td class="rblock">    OPJ_UINT32 w;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** data height */</td><td> </td><td class="rblock">    /** data height */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 h;</td><td> </td><td class="rblock">    OPJ_UINT32 h;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** x component offset compared to the whole image */</td><td> </td><td class="rblock">    /** x component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 x0;</td><td> </td><td class="rblock">    OPJ_UINT32 x0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** y component offset compared to the whole image */</td><td> </td><td class="rblock">    /** y component offset compared to the whole image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 y0;</td><td> </td><td class="rblock">    OPJ_UINT32 y0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precision */</td><td> </td><td class="rblock">    /** precision */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 prec;</td><td> </td><td class="rblock">    OPJ_UINT32 prec;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** image depth in bits */</td><td> </td><td class="rblock">    /** image depth in bits */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 bpp;</td><td> </td><td class="rblock">    OPJ_UINT32 bpp;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** signed (1) / unsigned (0) */</td><td> </td><td class="rblock">    /** signed (1) / unsigned (0) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 sgnd;</td><td> </td><td class="rblock">    OPJ_UINT32 sgnd;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_image_cmptparm_t;</td><td> </td><td class="right">} opj_image_cmptparm_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   Information on the JPEG 2000 codestream</td><td> </td><td class="right">   Information on the JPEG 2000 codestream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td> </td><td class="right">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure : Information concerning a packet inside tile</td><td> </td><td class="right"> * Index structure : Information concerning a packet inside tile</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_packet_info {</td><td> </td><td class="right">typedef struct opj_packet_info {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0047" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** packet start position (including SOP marker if it exists) */</td><td> </td><td class="rblock">    /** packet start position (including SOP marker if it exists) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T start_pos;</td><td> </td><td class="rblock">    OPJ_OFF_T start_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** end of packet header position (including EPH marker if it <span class="delete">exists</span></td><td> </td><td class="rblock">    /** end of packet header position (including EPH marker if it <span class="insert">exists)*/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">)*/</span></td><td> </td><td class="rblock">    OPJ_OFF_T end_ph_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T end_ph_pos;</td><td> </td><td class="rblock">    /** packet end position */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** packet end position */</td><td> </td><td class="rblock">    OPJ_OFF_T end_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T end_pos;</td><td> </td><td class="rblock">    /** packet distorsion */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** packet distorsion */</td><td> </td><td class="rblock">    double disto;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       double disto;</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_packet_info_t;</td><td> </td><td class="right">} opj_packet_info_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* UniPG&gt;&gt; */</td><td> </td><td class="right">/* UniPG&gt;&gt; */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Marker structure</td><td> </td><td class="right"> * Marker structure</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_marker_info {</td><td> </td><td class="right">typedef struct opj_marker_info {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0048" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** marker type */</td><td> </td><td class="rblock">    /** marker type */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       unsigned short int type;</td><td> </td><td class="rblock">    unsigned short int type;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** position in codestream */</td><td> </td><td class="rblock">    /** position in codestream */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T pos;</td><td> </td><td class="rblock">    OPJ_OFF_T pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** length, marker val included */</td><td> </td><td class="rblock">    /** length, marker val included */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int len;</td><td> </td><td class="rblock">    int len;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_marker_info_t;</td><td> </td><td class="right">} opj_marker_info_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* &lt;&lt;UniPG */</td><td> </td><td class="right">/* &lt;&lt;UniPG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure : Information concerning tile-parts</td><td> </td><td class="right"> * Index structure : Information concerning tile-parts</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tp_info {</td><td> </td><td class="right">typedef struct opj_tp_info {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0049" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** start position of tile part */</td><td> </td><td class="rblock">    /** start position of tile part */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tp_start_pos;</td><td> </td><td class="rblock">    int tp_start_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** end position of tile part header */</td><td> </td><td class="rblock">    /** end position of tile part header */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tp_end_header;</td><td> </td><td class="rblock">    int tp_end_header;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** end position of tile part */</td><td> </td><td class="rblock">    /** end position of tile part */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tp_end_pos;</td><td> </td><td class="rblock">    int tp_end_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** start packet of tile part */</td><td> </td><td class="rblock">    /** start packet of tile part */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tp_start_pack;</td><td> </td><td class="rblock">    int tp_start_pack;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of packets of tile part */</td><td> </td><td class="rblock">    /** number of packets of tile part */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tp_numpacks;</td><td> </td><td class="rblock">    int tp_numpacks;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_tp_info_t;</td><td> </td><td class="right">} opj_tp_info_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure : information regarding tiles</td><td> </td><td class="right"> * Index structure : information regarding tiles</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tile_info {</td><td> </td><td class="right">typedef struct opj_tile_info {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0050" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** value of thresh for each layer by tile cfr. Marcela   */</td><td> </td><td class="rblock">    /** value of thresh for each layer by tile cfr. Marcela   */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       double *thresh;</td><td> </td><td class="rblock">    double *thresh;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of tile */</td><td> </td><td class="rblock">    /** number of tile */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tileno;</td><td> </td><td class="rblock">    int tileno;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** start position */</td><td> </td><td class="rblock">    /** start position */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int start_pos;</td><td> </td><td class="rblock">    int start_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** end position of the header */</td><td> </td><td class="rblock">    /** end position of the header */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int end_header;</td><td> </td><td class="rblock">    int end_header;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** end position */</td><td> </td><td class="rblock">    /** end position */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int end_pos;</td><td> </td><td class="rblock">    int end_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precinct number for each resolution level (width) */</td><td> </td><td class="rblock">    /** precinct number for each resolution level (width) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int pw[33];</td><td> </td><td class="rblock">    int pw[33];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precinct number for each resolution level (height) */</td><td> </td><td class="rblock">    /** precinct number for each resolution level (height) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int ph[33];</td><td> </td><td class="rblock">    int ph[33];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precinct size (in power of 2), in X for each resolution level */</td><td> </td><td class="rblock">    /** precinct size (in power of 2), in X for each resolution level */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int pdx[33];</td><td> </td><td class="rblock">    int pdx[33];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precinct size (in power of 2), in Y for each resolution level */</td><td> </td><td class="rblock">    /** precinct size (in power of 2), in Y for each resolution level */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int pdy[33];</td><td> </td><td class="rblock">    int pdy[33];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** information concerning packets inside tile */</td><td> </td><td class="rblock">    /** information concerning packets inside tile */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_packet_info_t *packet;</td><td> </td><td class="rblock">    opj_packet_info_t *packet;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** add fixed_quality */</td><td> </td><td class="rblock">    /** add fixed_quality */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int numpix;</td><td> </td><td class="rblock">    int numpix;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** add fixed_quality */</td><td> </td><td class="rblock">    /** add fixed_quality */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       double distotile;</td><td> </td><td class="rblock">    double distotile;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of markers */</td><td> </td><td class="rblock">    /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int marknum;</td><td> </td><td class="rblock">    int marknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** list of markers */</td><td> </td><td class="rblock">    /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_marker_info_t *marker;</td><td> </td><td class="rblock">    opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** actual size of markers array */</td><td> </td><td class="rblock">    /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int maxmarknum;</td><td> </td><td class="rblock">    int maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of tile parts */</td><td> </td><td class="rblock">    /** number of tile parts */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int num_tps;</td><td> </td><td class="rblock">    int num_tps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** information concerning tile parts */</td><td> </td><td class="rblock">    /** information concerning tile parts */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_tp_info_t *tp;</td><td> </td><td class="rblock">    opj_tp_info_t *tp;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_tile_info_t;</td><td> </td><td class="right">} opj_tile_info_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure of the codestream</td><td> </td><td class="right"> * Index structure of the codestream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_codestream_info {</td><td> </td><td class="right">typedef struct opj_codestream_info {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0051" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** maximum distortion reduction on the whole image (add for <span class="delete">Marcela</span></td><td> </td><td class="rblock">    /** maximum distortion reduction on the whole image (add for <span class="insert">Marcela) *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">) */</span></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       double D_max;</td><td> </td><td class="rblock">    double D_max;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** packet number */</td><td> </td><td class="rblock">    /** packet number */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int packno;</td><td> </td><td class="rblock">    int packno;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** writing the packet in the index with t2_encode_packets */</td><td> </td><td class="rblock">    /** writing the packet in the index with t2_encode_packets */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int index_write;</td><td> </td><td class="rblock">    int index_write;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** image width */</td><td> </td><td class="rblock">    /** image width */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int image_w;</td><td> </td><td class="rblock">    int image_w;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** image height */</td><td> </td><td class="rblock">    /** image height */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int image_h;</td><td> </td><td class="rblock">    int image_h;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** progression order */</td><td> </td><td class="rblock">    /** progression order */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_PROG_ORDER prog;</td><td> </td><td class="rblock">    OPJ_PROG_ORDER prog;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile size in x */</td><td> </td><td class="rblock">    /** tile size in x */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tile_x;</td><td> </td><td class="rblock">    int tile_x;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile size in y */</td><td> </td><td class="rblock">    /** tile size in y */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tile_y;</td><td> </td><td class="rblock">    int tile_y;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** */</td><td> </td><td class="rblock">    /** */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tile_Ox;</td><td> </td><td class="rblock">    int tile_Ox;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** */</td><td> </td><td class="rblock">    /** */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tile_Oy;</td><td> </td><td class="rblock">    int tile_Oy;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of tiles in X */</td><td> </td><td class="rblock">    /** number of tiles in X */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tw;</td><td> </td><td class="rblock">    int tw;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of tiles in Y */</td><td> </td><td class="rblock">    /** number of tiles in Y */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int th;</td><td> </td><td class="rblock">    int th;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** component numbers */</td><td> </td><td class="rblock">    /** component numbers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int numcomps;</td><td> </td><td class="rblock">    int numcomps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of layer */</td><td> </td><td class="rblock">    /** number of layer */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int numlayers;</td><td> </td><td class="rblock">    int numlayers;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of decomposition for each component */</td><td> </td><td class="rblock">    /** number of decomposition for each component */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int *numdecompos;</td><td> </td><td class="rblock">    int *numdecompos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG&gt;&gt; */</td><td> </td><td class="rblock">    /* UniPG&gt;&gt; */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of markers */</td><td> </td><td class="rblock">    /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int marknum;</td><td> </td><td class="rblock">    int marknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** list of markers */</td><td> </td><td class="rblock">    /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_marker_info_t *marker;</td><td> </td><td class="rblock">    opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** actual size of markers array */</td><td> </td><td class="rblock">    /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int maxmarknum;</td><td> </td><td class="rblock">    int maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* &lt;&lt;UniPG */</td><td> </td><td class="rblock">    /* &lt;&lt;UniPG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** main header position */</td><td> </td><td class="rblock">    /** main header position */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int main_head_start;</td><td> </td><td class="rblock">    int main_head_start;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** main header position */</td><td> </td><td class="rblock">    /** main header position */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int main_head_end;</td><td> </td><td class="rblock">    int main_head_end;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** codestream's size */</td><td> </td><td class="rblock">    /** codestream's size */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int codestream_size;</td><td> </td><td class="rblock">    int codestream_size;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** information regarding tiles inside image */</td><td> </td><td class="rblock">    /** information regarding tiles inside image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_tile_info_t *tile;</td><td> </td><td class="rblock">    opj_tile_info_t *tile;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_codestream_info_t;</td><td> </td><td class="right">} opj_codestream_info_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* &lt;----------------------------------------------------------- */</td><td> </td><td class="right">/* &lt;----------------------------------------------------------- */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* new output management of the codestream information and index */</td><td> </td><td class="right">/* new output management of the codestream information and index */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Tile-component coding parameters information</td><td> </td><td class="right"> * Tile-component coding parameters information</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0052" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">typedef struct opj_tccp_info</td><td> </td><td class="rblock">typedef struct opj_tccp_info {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">{</td><td> </td><td class="rblock">    /** component index */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** component index */</td><td> </td><td class="rblock">    OPJ_UINT32 compno;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 compno;</td><td> </td><td class="rblock">    /** coding style */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** coding style */</td><td> </td><td class="rblock">    OPJ_UINT32 csty;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 csty;</td><td> </td><td class="rblock">    /** number of resolutions */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of resolutions */</td><td> </td><td class="rblock">    OPJ_UINT32 numresolutions;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 numresolutions;</td><td> </td><td class="rblock">    /** code-blocks width */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** code-blocks width */</td><td> </td><td class="rblock">    OPJ_UINT32 cblkw;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 cblkw;</td><td> </td><td class="rblock">    /** code-blocks height */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** code-blocks height */</td><td> </td><td class="rblock">    OPJ_UINT32 cblkh;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 cblkh;</td><td> </td><td class="rblock">    /** code-block coding style */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** code-block coding style */</td><td> </td><td class="rblock">    OPJ_UINT32 cblksty;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 cblksty;</td><td> </td><td class="rblock">    /** discrete wavelet transform <span class="insert">identifier: 0 = 9-7 irreversible, 1 = 5-</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** discrete wavelet transform <span class="delete">identifier</span> */</td><td> </td><td class="rblock"><span class="insert">3 reversible</span> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 qmfbid;</td><td> </td><td class="rblock">    OPJ_UINT32 qmfbid;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** quantisation style */</td><td> </td><td class="rblock">    /** quantisation style */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 qntsty;</td><td> </td><td class="rblock">    OPJ_UINT32 qntsty;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** stepsizes used for quantization */</td><td> </td><td class="rblock">    /** stepsizes used for quantization */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];</td><td> </td><td class="rblock">    OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** stepsizes used for quantization */</td><td> </td><td class="rblock">    /** stepsizes used for quantization */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 stepsizes_expn[OPJ_J2K_MAXBANDS];</td><td> </td><td class="rblock">    OPJ_UINT32 stepsizes_expn[OPJ_J2K_MAXBANDS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of guard bits */</td><td> </td><td class="rblock">    /** number of guard bits */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 numgbits;</td><td> </td><td class="rblock">    OPJ_UINT32 numgbits;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Region Of Interest shift */</td><td> </td><td class="rblock">    /** Region Of Interest shift */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_INT32 roishift;</td><td> </td><td class="rblock">    OPJ_INT32 roishift;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precinct width */</td><td> </td><td class="rblock">    /** precinct width */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock">    OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** precinct height */</td><td> </td><td class="rblock">    /** precinct height */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="rblock">    OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS];</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">}</td><td> </td><td class="right">}</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">opj_tccp_info_t;</td><td> </td><td class="right">opj_tccp_info_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Tile coding parameters information</td><td> </td><td class="right"> * Tile coding parameters information</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tile_v2_info {</td><td> </td><td class="right">typedef struct opj_tile_v2_info {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0053" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number (index) of tile */</td><td> </td><td class="rblock">    /** number (index) of tile */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       int tileno;</td><td> </td><td class="rblock">    int tileno;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** coding style */</td><td> </td><td class="rblock">    /** coding style */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 csty;</td><td> </td><td class="rblock">    OPJ_UINT32 csty;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** progression order */</td><td> </td><td class="rblock">    /** progression order */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_PROG_ORDER prg;</td><td> </td><td class="rblock">    OPJ_PROG_ORDER prg;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of layers */</td><td> </td><td class="rblock">    /** number of layers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 numlayers;</td><td> </td><td class="rblock">    OPJ_UINT32 numlayers;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** multi-component transform identifier */</td><td> </td><td class="rblock">    /** multi-component transform identifier */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 mct;</td><td> </td><td class="rblock">    OPJ_UINT32 mct;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0054" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** information concerning tile component parameters*/</td><td> </td><td class="rblock">    /** information concerning tile component parameters*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_tccp_info_t *tccp_info;</td><td> </td><td class="rblock">    opj_tccp_info_t *tccp_info;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_tile_info_v2_t;</td><td> </td><td class="right">} opj_tile_info_v2_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Information structure about the codestream (FIXME should be expand and e
+nhance)</td><td> </td><td class="right"> * Information structure about the codestream (FIXME should be expand and e
+nhance)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_codestream_info_v2 {</td><td> </td><td class="right">typedef struct opj_codestream_info_v2 {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0055" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /* Tile info */</td><td> </td><td class="rblock">    /* Tile info */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile origin in x = XTOsiz */</td><td> </td><td class="rblock">    /** tile origin in x = XTOsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 tx0;</td><td> </td><td class="rblock">    OPJ_UINT32 tx0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile origin in y = YTOsiz */</td><td> </td><td class="rblock">    /** tile origin in y = YTOsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 ty0;</td><td> </td><td class="rblock">    OPJ_UINT32 ty0;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile size in x = XTsiz */</td><td> </td><td class="rblock">    /** tile size in x = XTsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 tdx;</td><td> </td><td class="rblock">    OPJ_UINT32 tdx;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile size in y = YTsiz */</td><td> </td><td class="rblock">    /** tile size in y = YTsiz */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 tdy;</td><td> </td><td class="rblock">    OPJ_UINT32 tdy;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of tiles in X */</td><td> </td><td class="rblock">    /** number of tiles in X */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 tw;</td><td> </td><td class="rblock">    OPJ_UINT32 tw;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of tiles in Y */</td><td> </td><td class="rblock">    /** number of tiles in Y */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 th;</td><td> </td><td class="rblock">    OPJ_UINT32 th;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0056" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of components*/</td><td> </td><td class="rblock">    /** number of components*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 nbcomps;</td><td> </td><td class="rblock">    OPJ_UINT32 nbcomps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0057" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** Default information regarding tiles inside image */</td><td> </td><td class="rblock">    /** Default information regarding tiles inside image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_tile_info_v2_t m_default_tile_info;</td><td> </td><td class="rblock">    opj_tile_info_v2_t m_default_tile_info;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0058" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** information regarding tiles inside image */</td><td> </td><td class="rblock">    /** information regarding tiles inside image */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_tile_info_v2_t *tile_info; /* FIXME not used for the moment */</td><td> </td><td class="rblock">    opj_tile_info_v2_t *tile_info; /* FIXME not used for the moment */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_codestream_info_v2_t;</td><td> </td><td class="right">} opj_codestream_info_v2_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure about a tile part</td><td> </td><td class="right"> * Index structure about a tile part</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tp_index {</td><td> </td><td class="right">typedef struct opj_tp_index {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0059" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** start position */</td><td> </td><td class="rblock">    /** start position */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T start_pos;</td><td> </td><td class="rblock">    OPJ_OFF_T start_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** end position of the header */</td><td> </td><td class="rblock">    /** end position of the header */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T end_header;</td><td> </td><td class="rblock">    OPJ_OFF_T end_header;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** end position */</td><td> </td><td class="rblock">    /** end position */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T end_pos;</td><td> </td><td class="rblock">    OPJ_OFF_T end_pos;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_tp_index_t;</td><td> </td><td class="right">} opj_tp_index_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure about a tile</td><td> </td><td class="right"> * Index structure about a tile</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tile_index {</td><td> </td><td class="right">typedef struct opj_tile_index {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0060" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** tile index */</td><td> </td><td class="rblock">    /** tile index */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 tileno;</td><td> </td><td class="rblock">    OPJ_UINT32 tileno;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0061" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of tile parts */</td><td> </td><td class="rblock">    /** number of tile parts */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 nb_tps;</td><td> </td><td class="rblock">    OPJ_UINT32 nb_tps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** current nb of tile part (allocated)*/</td><td> </td><td class="rblock">    /** current nb of tile part (allocated)*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 current_nb_tps;</td><td> </td><td class="rblock">    OPJ_UINT32 current_nb_tps;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** current tile-part index */</td><td> </td><td class="rblock">    /** current tile-part index */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 current_tpsno;</td><td> </td><td class="rblock">    OPJ_UINT32 current_tpsno;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** information concerning tile parts */</td><td> </td><td class="rblock">    /** information concerning tile parts */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_tp_index_t *tp_index;</td><td> </td><td class="rblock">    opj_tp_index_t *tp_index;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0062" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /* UniPG&gt;&gt; */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td> </td><td class="rblock">    /* UniPG&gt;&gt; */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               /** number of markers */</td><td> </td><td class="rblock">    /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               OPJ_UINT32 marknum;</td><td> </td><td class="rblock">    OPJ_UINT32 marknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               /** list of markers */</td><td> </td><td class="rblock">    /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               opj_marker_info_t *marker;</td><td> </td><td class="rblock">    opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               /** actual size of markers array */</td><td> </td><td class="rblock">    /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">               OPJ_UINT32 maxmarknum;</td><td> </td><td class="rblock">    OPJ_UINT32 maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /* &lt;&lt;UniPG */</td><td> </td><td class="rblock">    /* &lt;&lt;UniPG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0063" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** packet number */</td><td> </td><td class="rblock">    /** packet number */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 nb_packet;</td><td> </td><td class="rblock">    OPJ_UINT32 nb_packet;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** information concerning packets inside tile */</td><td> </td><td class="rblock">    /** information concerning packets inside tile */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_packet_info_t *packet_index;</td><td> </td><td class="rblock">    opj_packet_info_t *packet_index;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_tile_index_t;</td><td> </td><td class="right">} opj_tile_index_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure of the codestream (FIXME should be expand and enhance)</td><td> </td><td class="right"> * Index structure of the codestream (FIXME should be expand and enhance)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_codestream_index {</td><td> </td><td class="right">typedef struct opj_codestream_index {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0064" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** main header start position (SOC position) */</td><td> </td><td class="rblock">    /** main header start position (SOC position) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T main_head_start;</td><td> </td><td class="rblock">    OPJ_OFF_T main_head_start;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** main header end position (first SOT position) */</td><td> </td><td class="rblock">    /** main header end position (first SOT position) */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_OFF_T main_head_end;</td><td> </td><td class="rblock">    OPJ_OFF_T main_head_end;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0065" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** codestream's size */</td><td> </td><td class="rblock">    /** codestream's size */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT64 codestream_size;</td><td> </td><td class="rblock">    OPJ_UINT64 codestream_size;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0066" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* UniPG&gt;&gt; */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td> </td><td class="rblock">    /* UniPG&gt;&gt; */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** number of markers */</td><td> </td><td class="rblock">    /** number of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 marknum;</td><td> </td><td class="rblock">    OPJ_UINT32 marknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** list of markers */</td><td> </td><td class="rblock">    /** list of markers */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_marker_info_t *marker;</td><td> </td><td class="rblock">    opj_marker_info_t *marker;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** actual size of markers array */</td><td> </td><td class="rblock">    /** actual size of markers array */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 maxmarknum;</td><td> </td><td class="rblock">    OPJ_UINT32 maxmarknum;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">/* &lt;&lt;UniPG */</td><td> </td><td class="rblock">    /* &lt;&lt;UniPG */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0067" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** */</td><td> </td><td class="rblock">    /** */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_UINT32 nb_of_tiles;</td><td> </td><td class="rblock">    OPJ_UINT32 nb_of_tiles;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** */</td><td> </td><td class="rblock">    /** */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       opj_tile_index_t *tile_index; /* FIXME not used for the moment */</td><td> </td><td class="rblock">    opj_tile_index_t *tile_index; /* FIXME not used for the moment */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0068" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">}opj_codestream_index_t;</td><td> </td><td class="rblock">}<span class="insert"> </span>opj_codestream_index_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* -----------------------------------------------------------&gt; */</td><td> </td><td class="right">/* -----------------------------------------------------------&gt; */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   Metadata from the JP2file</td><td> </td><td class="right">   Metadata from the JP2file</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Info structure of the JP2 file</td><td> </td><td class="right"> * Info structure of the JP2 file</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * EXPERIMENTAL FOR THE MOMENT</td><td> </td><td class="right"> * EXPERIMENTAL FOR THE MOMENT</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_jp2_metadata {</td><td> </td><td class="right">typedef struct opj_jp2_metadata {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0069" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** */</td><td> </td><td class="rblock">    /** */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_INT32       not_used;</td><td> </td><td class="rblock">    OPJ_INT32   not_used;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_jp2_metadata_t;</td><td> </td><td class="right">} opj_jp2_metadata_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Index structure of the JP2 file</td><td> </td><td class="right"> * Index structure of the JP2 file</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * EXPERIMENTAL FOR THE MOMENT</td><td> </td><td class="right"> * EXPERIMENTAL FOR THE MOMENT</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_jp2_index {</td><td> </td><td class="right">typedef struct opj_jp2_index {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0070" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       /** */</td><td> </td><td class="rblock">    /** */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">       OPJ_INT32       not_used;</td><td> </td><td class="rblock">    OPJ_INT32   not_used;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">} opj_jp2_index_t;</td><td> </td><td class="right">} opj_jp2_index_t;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __cplusplus</td><td> </td><td class="right">#ifdef __cplusplus</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">extern "C" {</td><td> </td><td class="right">extern "C" {</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   openjpeg version</td><td> </td><td class="right">   openjpeg version</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> line 1062</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> line 1066</em></th><td></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Create an image</td><td> </td><td class="right"> * Create an image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param numcmpts      number of components</td><td> </td><td class="right"> * @param numcmpts      number of components</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param cmptparms     components parameters</td><td> </td><td class="right"> * @param cmptparms     components parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param clrspc        image color space</td><td> </td><td class="right"> * @param clrspc        image color space</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @return returns      a new image structure if successful, returns NULL o
+therwise</td><td> </td><td class="right"> * @return returns      a new image structure if successful, returns NULL o
+therwise</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0071" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts, <span class="delete">opj</span></td><td> </td><td class="rblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_image_cmptparm_t</span> *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td> </td><td class="rblock">        <span class="insert">opj_image_cmptparm_t</span> *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Deallocate any resources associated with an image</td><td> </td><td class="right"> * Deallocate any resources associated with an image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param image         image to be destroyed</td><td> </td><td class="right"> * @param image         image to be destroyed</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image);</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Creates an image without allocating memory for the image (used in the ne
+w version of the library).</td><td> </td><td class="right"> * Creates an image without allocating memory for the image (used in the ne
+w version of the library).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0072" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      numcmpts    the number of components</td><td> </td><td class="rblock"> * @param   numcmpts    the number of components</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      cmptparms   the components parameters</td><td> </td><td class="rblock"> * @param   cmptparms   the components parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      clrspc      the image color space</td><td> </td><td class="rblock"> * @param   clrspc      the image color space</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0073" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return  <span class="delete">   </span>a new image structure if successful, NULL otherwise.</td><td> </td><td class="rblock"> * @return  a new image structure if successful, NULL otherwise.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0074" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts</td><td> </td><td class="rblock">OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">, opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td> </td><td class="rblock">,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">        opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                           </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Allocator for opj_image_t-&gt;comps[].data</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * To be paired with opj_image_data_free.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param   size    number of bytes to allocate</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @return  a new pointer if successful, NULL otherwise.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @since 2.2.0</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">*/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API void* OPJ_CALLCONV opj_image_data_alloc(OPJ_SIZE_T size);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Destructor for opj_image_t-&gt;comps[].data</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * To be paired with opj_image_data_alloc.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param   ptr    Pointer to free</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @since 2.2.0</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">*/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API void OPJ_CALLCONV opj_image_data_free(void* ptr);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   stream functions definitions</td><td> </td><td class="right">   stream functions definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td> </td><td class="right"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0075" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_is_input              if set to true then the stream will 
+be an input</span> stream, an output stream else.</td><td> </td><td class="rblock"> * @param   <span class="insert">p_is_input      if set to true then the stream will be an input
+</span> stream, an output stream else.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0076" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return  <span class="delete">   </span>a stream object.</td><td> </td><td class="rblock"> * @return  a stream object.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0077" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="delete">opj_stream_default_create(OPJ_BOOL p_is_</span></td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="insert">opj_stream_default_create(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">input);</span></td><td> </td><td class="rblock"><span class="insert">    OPJ_BOOL p_is_input);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td> </td><td class="right"> * Creates an abstract stream. This function does nothing except allocating
+ memory and initializing the abstract stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0078" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_buffer_size  FIXME DOC</td><td> </td><td class="rblock"> * @param   p_buffer_size  FIXME DOC</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_is_input              if set to true then the stream will </td><td> </td><td class="rblock"> * @param   p_is_input      if set to true then the stream will be an input</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">be an input stream, an output stream else.</td><td> </td><td class="rblock"> stream, an output stream else.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0079" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return  <span class="delete">   </span>a stream object.</td><td> </td><td class="rblock"> * @return  a stream object.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0080" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_si</td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_si</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">ze, OPJ_BOOL p_is_input);</td><td> </td><td class="rblock">ze,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">        OPJ_BOOL p_is_input);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Destroys a stream created by opj_create_stream. This function does NOT c
+lose the abstract stream. If needed the user must</td><td> </td><td class="right"> * Destroys a stream created by opj_create_stream. This function does NOT c
+lose the abstract stream. If needed the user must</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * close its own implementation of the stream.</td><td> </td><td class="right"> * close its own implementation of the stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0081" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_stream    </span>    the stream to destroy.</td><td> </td><td class="rblock"> * @param   <span class="insert">p_stream</span>    the stream to destroy.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t* p_stream);</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t* p_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given function to be used as a read function.</td><td> </td><td class="right"> * Sets the given function to be used as a read function.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0082" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_stream        the stream to modify</td><td> </td><td class="rblock"> * @param       p_stream    the stream to modify</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_function      the function to use a read function.</td><td> </td><td class="rblock"> * @param       p_function  the function to use a read function.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0083" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t* p_stre</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t* p_stre</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">am, opj_stream_read_fn p_function);</td><td> </td><td class="rblock">am,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">        opj_stream_read_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given function to be used as a write function.</td><td> </td><td class="right"> * Sets the given function to be used as a write function.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0084" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_stream        the stream to modify</td><td> </td><td class="rblock"> * @param       p_stream    the stream to modify</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_function      the function to use a write <span class="delete">function</span></td><td> </td><td class="rblock"> * @param       p_function  the function to use a write <span class="insert">function.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0085" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t* p_str</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t* p_str</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">eam, opj_stream_write_fn p_function);</td><td> </td><td class="rblock">eam,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">        opj_stream_write_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given function to be used as a skip function.</td><td> </td><td class="right"> * Sets the given function to be used as a skip function.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0086" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_stream        the stream to modify</td><td> </td><td class="rblock"> * @param       p_stream    the stream to modify</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_function      the function to use a skip function.</td><td> </td><td class="rblock"> * @param       p_function  the function to use a skip function.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0087" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stre</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stre</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">am, opj_stream_skip_fn p_function);</td><td> </td><td class="rblock">am,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">        opj_stream_skip_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given function to be used as a seek function, the stream is the
+n seekable.</td><td> </td><td class="right"> * Sets the given function to be used as a seek function, the stream is the
+n seekable.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0088" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_stream        the stream to modify</td><td> </td><td class="rblock"> * @param       p_stream    the stream to modify</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_function      the function to use a skip function.</td><td> </td><td class="rblock"> * @param       p_function  the function to use a skip function.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0089" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stre</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stre</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">am, opj_stream_seek_fn p_function);</td><td> </td><td class="rblock">am,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">        opj_stream_seek_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given data to be used as a user data for the stream.</td><td> </td><td class="right"> * Sets the given data to be used as a user data for the stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0090" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_stream        the stream to modify</td><td> </td><td class="rblock"> * @param       p_stream    the stream to modify</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_data          the data to set.</td><td> </td><td class="rblock"> * @param       p_data      the data to set.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param              p_function      the function to free p_data when <span class="delete">opj</span></td><td> </td><td class="rblock"> * @param       p_function  the function to free p_data when <span class="insert">opj_stream_des</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_stream_destroy()</span> is called.</td><td> </td><td class="rblock"><span class="insert">troy()</span> is called.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0091" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_stream_set_user_data (opj_stream_t*</span> p_stream,</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_stream_set_user_data(opj_stream_t*</span> p_stream,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> void * p_data, opj_stream_free_user_data_fn p_function);</td><td> </td><td class="rblock">        void * p_data, opj_stream_free_user_data_fn p_function);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the length of the user data for the stream.</td><td> </td><td class="right"> * Sets the length of the user data for the stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_stream    the stream to modify</td><td> </td><td class="right"> * @param p_stream    the stream to modify</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param data_length length of the user_data.</td><td> </td><td class="right"> * @param data_length length of the user_data.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0092" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_stream_set_user_data_length(opj_stream_t* p_s</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_stream_set_user_data_length(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">tream,</span> OPJ_UINT64 data_length);</td><td> </td><td class="rblock"><span class="insert">    opj_stream_t* p_stream,</span> OPJ_UINT64 data_length);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Create a stream from a file identified with its filename with default pa
+rameters (helper function)</td><td> </td><td class="right"> * Create a stream from a file identified with its filename with default pa
+rameters (helper function)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param fname             the filename of the file to stream</td><td> </td><td class="right"> * @param fname             the filename of the file to stream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_is_read_stream  whether the stream is a read stream (true) or n
+ot (false)</td><td> </td><td class="right"> * @param p_is_read_stream  whether the stream is a read stream (true) or n
+ot (false)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0093" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="delete">opj_stream_create_default_file_stream (c</span></td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="insert">opj_stream_create_default_file_stream(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">onst</span> char *fname, OPJ_BOOL p_is_read_stream);</td><td> </td><td class="rblock"><span class="insert">    const</span> char *fname, OPJ_BOOL p_is_read_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/** Create a stream from a file identified with its filename with a specifi
+c buffer size</td><td> </td><td class="right">/** Create a stream from a file identified with its filename with a specifi
+c buffer size</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param fname             the filename of the file to stream</td><td> </td><td class="right"> * @param fname             the filename of the file to stream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_buffer_size     size of the chunk used to stream</td><td> </td><td class="right"> * @param p_buffer_size     size of the chunk used to stream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_is_read_stream  whether the stream is a read stream (true) or n
+ot (false)</td><td> </td><td class="right"> * @param p_is_read_stream  whether the stream is a read stream (true) or n
+ot (false)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0094" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="delete">opj_stream_create_file_stream (const cha</span></td><td> </td><td class="rblock">OPJ_API opj_stream_t* OPJ_CALLCONV <span class="insert">opj_stream_create_file_stream(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">r</span> *fname,</td><td> </td><td class="rblock"><span class="insert">    const char</span> *fname,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                     <span class="delete">OPJ_SI</span></td><td> </td><td class="rblock">    <span class="insert">OPJ_SIZE_T</span> p_buffer_size,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ZE_T</span> p_buffer_size,</td><td> </td><td class="rblock">    <span class="insert">OPJ_BOOL</span> p_is_read_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                     <span class="delete">OPJ_BO</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">OL</span> p_is_read_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   event manager functions definitions</td><td> </td><td class="right">   event manager functions definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Set the info handler use by openjpeg.</td><td> </td><td class="right"> * Set the info handler use by openjpeg.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_codec       the codec previously initialise</td><td> </td><td class="right"> * @param p_codec       the codec previously initialise</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_callback    the callback function which will be used</td><td> </td><td class="right"> * @param p_callback    the callback function which will be used</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_user_data   client object where will be returned the message</td><td> </td><td class="right"> * @param p_user_data   client object where will be returned the message</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0095" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                   opj_msg_callback <span class="delete">p_callb</span></td><td> </td><td class="rblock">        opj_msg_callback <span class="insert">p_callback,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ack,</span></td><td> </td><td class="rblock">        void * p_user_data);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                   void * p_user_data);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Set the warning handler use by openjpeg.</td><td> </td><td class="right"> * Set the warning handler use by openjpeg.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_codec       the codec previously initialise</td><td> </td><td class="right"> * @param p_codec       the codec previously initialise</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_callback    the callback function which will be used</td><td> </td><td class="right"> * @param p_callback    the callback function which will be used</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_user_data   client object where will be returned the message</td><td> </td><td class="right"> * @param p_user_data   client object where will be returned the message</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec
+,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec
+,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0096" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                      opj_msg_callback <span class="delete">p_ca</span></td><td> </td><td class="rblock">        opj_msg_callback <span class="insert">p_callback,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">llback,</span></td><td> </td><td class="rblock">        void * p_user_data);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                      void * p_user_data);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Set the error handler use by openjpeg.</td><td> </td><td class="right"> * Set the error handler use by openjpeg.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_codec       the codec previously initialise</td><td> </td><td class="right"> * @param p_codec       the codec previously initialise</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_callback    the callback function which will be used</td><td> </td><td class="right"> * @param p_callback    the callback function which will be used</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_user_data   client object where will be returned the message</td><td> </td><td class="right"> * @param p_user_data   client object where will be returned the message</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0097" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                    opj_msg_callback <span class="delete">p_call</span></td><td> </td><td class="rblock">        opj_msg_callback <span class="insert">p_callback,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">back,</span></td><td> </td><td class="rblock">        void * p_user_data);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                    void * p_user_data);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   codec functions definitions</td><td> </td><td class="right">   codec functions definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Creates a J2K/JP2 decompression structure</td><td> </td><td class="right"> * Creates a J2K/JP2 decompression structure</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0098" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param format        <span class="delete">       </span>Decoder to select</td><td> </td><td class="rblock"> * @param format        Decoder to select</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @return Returns a handle to a decompressor if successful, returns NULL o
+therwise</td><td> </td><td class="right"> * @return Returns a handle to a decompressor if successful, returns NULL o
+therwise</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0099" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_codec_t* OPJ_CALLCONV <span class="delete">opj_create_decompress(OPJ_CODEC_FORMAT fo</span></td><td> </td><td class="rblock">OPJ_API opj_codec_t* OPJ_CALLCONV <span class="insert">opj_create_decompress(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">rmat);</span></td><td> </td><td class="rblock"><span class="insert">    OPJ_CODEC_FORMAT format);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Destroy a decompressor handle</td><td> </td><td class="right"> * Destroy a decompressor handle</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0100" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_codec        </span>         decompressor handle to destroy</td><td> </td><td class="rblock"> * @param   <span class="insert">p_codec</span>         decompressor handle to destroy</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec);</td><td> </td><td class="right">OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Read after the codestream if necessary</td><td> </td><td class="right"> * Read after the codestream if necessary</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0101" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the JPEG2000 codec to read.</td><td> </td><td class="rblock"> * @param   p_codec         the JPEG2000 codec to read.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_stream                the JPEG2000 stream.</td><td> </td><td class="rblock"> * @param   p_stream        the JPEG2000 stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0102" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_end_decompress (     opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_end_decompress(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock">        opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            opj_stream_t *p_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Set decoding parameters to default values</td><td> </td><td class="right"> * Set decoding parameters to default values</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * @param parameters Decompression parameters</td><td> </td><td class="right"> * @param parameters Decompression parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0103" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_set_default_decoder_parameters(opj_dparameter</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_set_default_decoder_parameters(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s_t</span> *parameters);</td><td> </td><td class="rblock"><span class="insert">    opj_dparameters_t</span> *parameters);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Setup the decoder with decompression parameters provided by the user and
+ with the message handler</td><td> </td><td class="right"> * Setup the decoder with decompression parameters provided by the user and
+ with the message handler</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * provided by the user.</td><td> </td><td class="right"> * provided by the user.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0104" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec              decompressor handler</td><td> </td><td class="rblock"> * @param p_codec       decompressor handler</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param parameters   decompression parameters</td><td> </td><td class="rblock"> * @param parameters    decompression parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0105" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return true         <span class="delete">               </span>if the decoder is correctly set</td><td> </td><td class="rblock"> * @return true         if the decoder is correctly set</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0106" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        opj_dparameters_t <span class="insert">*parameters);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_dparameters_t <span class="delete">*parameters );</span></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Allocates worker threads for the compressor/decompressor.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * By default, only the main thread is used. If this function is not used,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * but the OPJ_NUM_THREADS environment variable is set, its value will be</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * used to initialize the number of threads. The value can be either an int</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">eger</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">lled,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * this function will override the behaviour of the environment variable.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Note: currently only has effect on the decompressor.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param p_codec       decompressor handler</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param num_threads   number of threads.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @return OPJ_TRUE     if the decoder is correctly set</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">        int num_threads);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Decodes an image header.</td><td> </td><td class="right"> * Decodes an image header.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0107" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_stream                the jpeg2000 stream.</td><td> </td><td class="rblock"> * @param   p_stream        the jpeg2000 stream.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec to read.</td><td> </td><td class="rblock"> * @param   p_codec         the jpeg2000 codec to read.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_image                 the image structure initialized with</td><td> </td><td class="rblock"> * @param   p_image         the image structure initialized with the <span class="insert">charac</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> the <span class="delete">characteristics</span> of encoded image.</td><td> </td><td class="rblock"><span class="insert">teristics</span> of encoded image.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0108" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return true             <span class="delete">                   if the main header of the co
+destream and the JP</span>2 header is correctly read.</td><td> </td><td class="rblock"> * @return true             <span class="insert">if the main header of the codestream and the JP
+</span>2 header is correctly read.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0109" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_read_header (        opj_stream_t *p_stre</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_read_header(opj_stream_t *p_stream,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">am,</span></td><td> </td><td class="rblock">        opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        opj_image_t **p_image);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_codec_t *p_codec,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_image_t **p_image);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given area to be decoded. This function should be called right 
+after opj_read_header and before any tile header reading.</td><td> </td><td class="right"> * Sets the given area to be decoded. This function should be called right 
+after opj_read_header and before any tile header reading.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0110" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   p_codec         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_image         the decoded image previously setted by <span class="delete">opj_r</span></td><td> </td><td class="rblock"> * @param   p_image         the decoded image previously setted by <span class="insert">opj_read</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ead_header</span></td><td> </td><td class="rblock"><span class="insert">_header</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_start_x               the left position of the rectangle <span class="delete">t</span></td><td> </td><td class="rblock"> * @param   p_start_x       the left position of the rectangle <span class="insert">to</span> decode <span class="insert">(i</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">o</span> decode <span class="delete">(in</span> image coordinates).</td><td> </td><td class="rblock"><span class="insert">n</span> image coordinates).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_end_x                 the right position of the rectangle </td><td> </td><td class="rblock"> * @param   p_end_x         the right position of the rectangle to decode <span class="insert">(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">to decode <span class="delete">(in</span> image coordinates).</td><td> </td><td class="rblock"><span class="insert">in</span> image coordinates).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_start_y               the up position of the rectangle to </td><td> </td><td class="rblock"> * @param   p_start_y       the up position of the rectangle to decode (in </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">decode (in image coordinates).</td><td> </td><td class="rblock">image coordinates).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_end_y                 the bottom position of the rectangle</td><td> </td><td class="rblock"> * @param   p_end_y         the bottom position of the rectangle to decode </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> to decode (in image coordinates).</td><td> </td><td class="rblock">(in image coordinates).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0111" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return  <span class="delete">   true        </span>            if the area could be set.</td><td> </td><td class="rblock"> * @return  <span class="insert">true</span>            if the area could be set.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0112" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_set_decode_area(     opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_set_decode_area(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock">        opj_image_t* p_image,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            opj_image_t* p_image,</td><td> </td><td class="rblock">        OPJ_INT32 p_end_x, OPJ_INT32 <span class="insert">p_end_y);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            OPJ_INT32 p_end_x, OPJ_INT32 <span class="delete">p_end_y );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Decode an image from a JPEG-2000 codestream</td><td> </td><td class="right"> * Decode an image from a JPEG-2000 codestream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0113" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_decompressor       decompressor handle</td><td> </td><td class="rblock"> * @param p_decompressor    decompressor handle</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream                     Input buffer stream</td><td> </td><td class="rblock"> * @param p_stream          Input buffer stream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_image                      the decoded image</td><td> </td><td class="rblock"> * @param p_image           the decoded image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                                     true if success, otherwise <span class="delete">f</span></td><td> </td><td class="rblock"> * @return                  true if success, otherwise <span class="insert">false</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">alse</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0114" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_decode(   opj_codec_t</span> *p_decompressor,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_decode(opj_codec_t</span> *p_decompressor,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                            opj_stream_t *p_stream,</td><td> </td><td class="rblock">        opj_stream_t *p_stream,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                            opj_image_t *p_image);</td><td> </td><td class="rblock">        opj_image_t *p_image);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Get the decoded tile from the codec</td><td> </td><td class="right"> * Get the decoded tile from the codec</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0115" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   p_codec         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_stream                input streamm</td><td> </td><td class="rblock"> * @param   p_stream        input streamm</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_image                 output image</td><td> </td><td class="rblock"> * @param   p_image         output image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      tile_index              index of the tile which will be <span class="delete">deco</span></td><td> </td><td class="rblock"> * @param   tile_index      index of the tile which will be <span class="insert">decode</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">de</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0116" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                  <span class="delete">                   true if success, otherwise f
+</span>alse</td><td> </td><td class="rblock"> * @return                  <span class="insert">true if success, otherwise f</span>alse</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0117" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_get_decoded_tile(    opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_get_decoded_tile(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock">        opj_stream_t *p_stream,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        opj_image_t *p_image,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            opj_stream_t *p_stream,</td><td> </td><td class="rblock">        OPJ_UINT32 tile_index);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            opj_image_t *p_image,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            OPJ_UINT32 tile_index);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Set the resolution factor of the decoded image</td><td> </td><td class="right"> * Set the resolution factor of the decoded image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0118" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   p_codec         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      res_factor              resolution factor to set</td><td> </td><td class="rblock"> * @param   res_factor      resolution factor to set</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0119" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                  <span class="delete">                   true if success, otherwise f
+</span>alse</td><td> </td><td class="rblock"> * @return                  <span class="insert">true if success, otherwise f</span>alse</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0120" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_set_decoded_resolution_factor(opj_codec_t</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_set_decoded_resolution_factor(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *p_codec, OPJ_UINT32 res_factor);</td><td> </td><td class="rblock"><span class="insert">    opj_codec_t</span> *p_codec, OPJ_UINT32 res_factor);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Writes a tile with the given data.</td><td> </td><td class="right"> * Writes a tile with the given data.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0121" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   p_codec             the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_tile_index            the index of the tile to write. At <span class="delete">t</span></td><td> </td><td class="rblock"> * @param   p_tile_index        the index of the tile to write. At <span class="insert">the mome</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">he moment,</span> the tiles must be written from 0 to n-1 in sequence.</td><td> </td><td class="rblock"><span class="insert">nt,</span> the tiles must be written from 0 to n-1 in sequence.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_data                          pointer to the data to <span class="delete">write</span></td><td> </td><td class="rblock"> * @param   p_data              pointer to the data to <span class="insert">write.</span> Data is <span class="insert">arran</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">.</span> Data is <span class="delete">arranged</span> in sequence, data_comp0, then data_comp1, then ... NO <span class="delete">IN</span></td><td> </td><td class="rblock"><span class="insert">ged</span> in sequence, data_comp0, then data_comp1, then ... NO <span class="insert">INTERLEAVING shou</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">TERLEAVING should</span> be set.</td><td> </td><td class="rblock"><span class="insert">ld</span> be set.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_data_size                     this value os used to make <span class="delete">s</span></td><td> </td><td class="rblock"> * @param   p_data_size         this value os used to make <span class="insert">sure</span> the data <span class="insert">be</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ure</span> the data <span class="delete">being</span> written is correct. The size must be equal to the sum <span class="delete">fo</span></td><td> </td><td class="rblock"><span class="insert">ing</span> written is correct. The size must be equal to the sum <span class="insert">for</span> each <span class="insert">componen</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">r</span> each <span class="delete">component</span> of</td><td> </td><td class="rblock"><span class="insert">t</span> of</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *                              tile_width * tile_height * component_size. 
+component_size can be 1,2 or 4 bytes, depending on the precision of the giv
+en component.</td><td> </td><td class="right"> *                              tile_width * tile_height * component_size. 
+component_size can be 1,2 or 4 bytes, depending on the precision of the giv
+en component.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0122" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_stream            </span>            the stream to write data to.</td><td> </td><td class="rblock"> * @param   <span class="insert">p_stream</span>            the stream to write data to.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0123" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return  <span class="delete">   </span>true if the data could be written.</td><td> </td><td class="rblock"> * @return  true if the data could be written.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0124" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_write_tile ( opj_codec_t</span> *p_codec,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_write_tile(opj_codec_t</span> *p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_UINT32 p_tile_index,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_UINT32 p_tile_index,</td><td> </td><td class="rblock">        OPJ_BYTE * p_data,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_UINT32 p_data_size,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_BYTE * p_data,</td><td> </td><td class="rblock">        opj_stream_t <span class="insert">*p_stream);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_UINT32 p_data_size,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_stream_t <span class="delete">*p_stream );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Reads a tile header. This function is compulsory and allows one to know 
+the size of the tile that will be decoded.</td><td> </td><td class="right"> * Reads a tile header. This function is compulsory and allows one to know 
+the size of the tile that will be decoded.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td> </td><td class="right"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0125" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   p_codec         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_tile_index    pointer to a value that will hold the index </td><td> </td><td class="rblock"> * @param   p_tile_index    pointer to a value that will hold the index of </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">of the tile being decoded, in case of success.</td><td> </td><td class="rblock">the tile being decoded, in case of success.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_data_size             pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param   p_data_size     pointer to a value that will hold <span class="insert">the</span> maximum <span class="insert">s</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> maximum <span class="delete">size</span> of the decoded data, in case of success. In case</td><td> </td><td class="rblock"><span class="insert">ize</span> of the decoded data, in case of success. In case</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *                                                     of truncated <span class="delete">codestr</span></td><td> </td><td class="rblock"> *                          of truncated <span class="insert">codestreams,</span> the actual number of </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">eams,</span> the actual number of bytes decoded may be lower. The computation of <span class="delete">t</span></td><td> </td><td class="rblock">bytes decoded may be lower. The computation of <span class="insert">the</span> size is the same</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">he</span> size is the same</td><td> </td><td class="rblock"> *                          as depicted in <span class="insert">opj_write_tile.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *                                                     as depicted in <span class="delete">opj_w</span></td><td> </td><td class="rblock"> * @param   p_tile_x0       pointer to a value that will hold <span class="insert">the</span> x0 pos of</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">rite_tile.</span></td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_tile_x0               pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param   p_tile_y0       pointer to a value that will hold <span class="insert">the</span> y0 pos of</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> x0 pos of the tile (in the image).</td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_tile_y0               pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param   p_tile_x1       pointer to a value that will hold <span class="insert">the</span> x1 pos of</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> y0 pos of the tile (in the image).</td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_tile_x1               pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param   p_tile_y1       pointer to a value that will hold <span class="insert">the</span> y1 pos of</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> x1 pos of the tile (in the image).</td><td> </td><td class="rblock"> the tile (in the image).</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_tile_y1               pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param   p_nb_comps      pointer to a value that will hold <span class="insert">the</span> number of</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> y1 pos of the tile (in the image).</td><td> </td><td class="rblock"> components in the tile.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_nb_comps              pointer to a value that will hold <span class="delete">th</span></td><td> </td><td class="rblock"> * @param   p_should_go_on  pointer to a boolean that will hold the fact <span class="insert">th</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> number of components in the tile.</td><td> </td><td class="rblock"><span class="insert">at</span> the decoding should go on. In case the</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_should_go_on  pointer to a boolean that will hold the fact</td><td> </td><td class="rblock"> *                          codestream is over <span class="insert">at</span> the time of the call, the</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">that</span> the decoding should go on. In case the</td><td> </td><td class="rblock"> value will be set to false. The user should <span class="insert">then</span> stop</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *                                                     codestream is over <span class="delete">a</span></td><td> </td><td class="rblock"> *                          the decoding.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> the time of the call, the value will be set to false. The user should <span class="delete">the</span></td><td> </td><td class="rblock"> * @param   p_stream        the stream to decode.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">n</span> stop</td><td> </td><td class="rblock"> * @return  true            if the tile header could be decoded. In case <span class="insert">th</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *                                                     the decoding.</td><td> </td><td class="rblock"><span class="insert">e</span> decoding should end, the returned value is still true.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_stream                the stream to decode.</td><td> </td><td class="rblock"> *                          returning false may be the result of a shortage</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return     true                    if the tile header could be decoded.</td><td> </td><td class="rblock"> of memory or an internal error.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> In case <span class="delete">the</span> decoding should end, the returned value is still true.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> *                                                     returning false may </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">be the result of a shortage of memory or an internal error.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0126" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_read_tile_header(    opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_read_tile_header(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock">        opj_stream_t * p_stream,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_UINT32 * p_tile_index,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_stream_t * p_stream,</td><td> </td><td class="rblock">        OPJ_UINT32 * p_data_size,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_INT32 * p_tile_x0, OPJ_INT32 * p_tile_y0,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_UINT32 * p_tile_index,</td><td> </td><td class="rblock">        OPJ_INT32 * p_tile_x1, OPJ_INT32 * p_tile_y1,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_UINT32 * p_nb_comps,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_UINT32 * p_data_size,</td><td> </td><td class="rblock">        OPJ_BOOL * <span class="insert">p_should_go_on);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_INT32 * p_tile_x0, OPJ_INT32 * p_tile_y0,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_INT32 * p_tile_x1, OPJ_INT32 * p_tile_y1,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_UINT32 * p_nb_comps,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    OPJ_BOOL * <span class="delete">p_should_go_on );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Reads a tile data. This function is compulsory and allows one to decode 
+tile data. opj_read_tile_header should be called before.</td><td> </td><td class="right"> * Reads a tile data. This function is compulsory and allows one to decode 
+tile data. opj_read_tile_header should be called before.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td> </td><td class="right"> * The user may need to refer to the image got by opj_read_header to unders
+tand the size being taken by the tile.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0127" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   p_codec         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_tile_index    the index of the tile being decoded, this <span class="delete">sh</span></td><td> </td><td class="rblock"> * @param   p_tile_index    the index of the tile being decoded, this <span class="insert">shoul</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ould</span> be the value set by opj_read_tile_header.</td><td> </td><td class="rblock"><span class="insert">d</span> be the value set by opj_read_tile_header.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_data                  pointer to a memory block that will </td><td> </td><td class="rblock"> * @param   p_data          pointer to a memory block that will hold the <span class="insert">de</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">hold the <span class="delete">decoded</span> data.</td><td> </td><td class="rblock"><span class="insert">coded</span> data.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_data_size             size of p_data. p_data_size should <span class="delete">b</span></td><td> </td><td class="rblock"> * @param   p_data_size     size of p_data. p_data_size should <span class="insert">be</span> bigger or</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e</span> bigger or equal to the value set by opj_read_tile_header.</td><td> </td><td class="rblock"> equal to the value set by opj_read_tile_header.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_stream                the stream to decode.</td><td> </td><td class="rblock"> * @param   p_stream        the stream to decode.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0128" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return  <span class="delete">   true        </span>            if the data could be decoded.</td><td> </td><td class="rblock"> * @return  <span class="insert">true</span>            if the data could be decoded.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0129" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_decode_tile_data(    opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_decode_tile_data(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock">        OPJ_UINT32 p_tile_index,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_BYTE * p_data,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            OPJ_UINT32 p_tile_index,</td><td> </td><td class="rblock">        OPJ_UINT32 p_data_size,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        opj_stream_t <span class="insert">*p_stream);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            OPJ_BYTE * p_data,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            OPJ_UINT32 p_data_size,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            opj_stream_t <span class="delete">*p_stream );</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* COMPRESSION FUNCTIONS*/</td><td> </td><td class="right">/* COMPRESSION FUNCTIONS*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Creates a J2K/JP2 compression structure</td><td> </td><td class="right"> * Creates a J2K/JP2 compression structure</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0130" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      format          Coder to select</td><td> </td><td class="rblock"> * @param   format      Coder to select</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                             Returns a handle to a compressor if </td><td> </td><td class="rblock"> * @return              Returns a handle to a compressor if successful, <span class="insert">ret</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">successful, <span class="delete">returns</span> NULL otherwise</td><td> </td><td class="rblock"><span class="insert">urns</span> NULL otherwise</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT form
+at);</td><td> </td><td class="right">OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT form
+at);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">Set encoding parameters to default values, that means :</td><td> </td><td class="right">Set encoding parameters to default values, that means :</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;ul&gt;</td><td> </td><td class="right">&lt;ul&gt;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;Lossless</td><td> </td><td class="right">&lt;li&gt;Lossless</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;1 tile</td><td> </td><td class="right">&lt;li&gt;1 tile</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;Size of precinct : 2^15 x 2^15 (means 1 precinct)</td><td> </td><td class="right">&lt;li&gt;Size of precinct : 2^15 x 2^15 (means 1 precinct)</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;Size of code-block : 64 x 64</td><td> </td><td class="right">&lt;li&gt;Size of code-block : 64 x 64</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> line 1417</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> line 1476</em></th><td></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;No mode switch activated</td><td> </td><td class="right">&lt;li&gt;No mode switch activated</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;Progression order: LRCP</td><td> </td><td class="right">&lt;li&gt;Progression order: LRCP</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;No index file</td><td> </td><td class="right">&lt;li&gt;No index file</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;No ROI upshifted</td><td> </td><td class="right">&lt;li&gt;No ROI upshifted</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;No offset of the origin of the image</td><td> </td><td class="right">&lt;li&gt;No offset of the origin of the image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;No offset of the origin of the tiles</td><td> </td><td class="right">&lt;li&gt;No offset of the origin of the tiles</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;li&gt;Reversible DWT 5-3</td><td> </td><td class="right">&lt;li&gt;Reversible DWT 5-3</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">&lt;/ul&gt;</td><td> </td><td class="right">&lt;/ul&gt;</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">@param parameters Compression parameters</td><td> </td><td class="right">@param parameters Compression parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0131" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_set_default_encoder_parameters(opj_cparameter</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_set_default_encoder_parameters(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">s_t</span> *parameters);</td><td> </td><td class="rblock"><span class="insert">    opj_cparameters_t</span> *parameters);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Setup the encoder parameters using the current image and using user para
+meters.</td><td> </td><td class="right"> * Setup the encoder parameters using the current image and using user para
+meters.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0132" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec              Compressor handle</td><td> </td><td class="rblock"> * @param p_codec       Compressor handle</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param parameters   Compression parameters</td><td> </td><td class="rblock"> * @param parameters    Compression parameters</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param image                Input filled image</td><td> </td><td class="rblock"> * @param image         Input filled image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0133" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        opj_cparameters_t *parameters,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_cparameters_t *parameters,</td><td> </td><td class="rblock">        opj_image_t *image);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_image_t *image);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Start to compress the current image.</td><td> </td><td class="right"> * Start to compress the current image.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0134" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec              Compressor handle</td><td> </td><td class="rblock"> * @param p_codec       Compressor handle</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param <span class="delete">image</span>            Input filled image</td><td> </td><td class="rblock"> * @param <span class="insert">p_image</span>       Input filled image</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream             Input stgream</td><td> </td><td class="rblock"> * @param p_stream      Input stgream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0135" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_start_compress (     opj_codec_t *p_codec</span></td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_start_compress(opj_codec_t *p_codec,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">,</span></td><td> </td><td class="rblock">        opj_image_t * p_image,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            opj_image_t * p_image,</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                            opj_stream_t *p_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * End to compress the current image.</td><td> </td><td class="right"> * End to compress the current image.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0136" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec              Compressor handle</td><td> </td><td class="rblock"> * @param p_codec       Compressor handle</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream             Input stgream</td><td> </td><td class="rblock"> * @param p_stream      Input stgream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0137" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_end_compress (opj_codec_t</span> *p_codec,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_end_compress(opj_codec_t</span> *p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                    opj_stream_t *p_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Encode an image into a JPEG-2000 codestream</td><td> </td><td class="right"> * Encode an image into a JPEG-2000 codestream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0138" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_codec              compressor handle</td><td> </td><td class="rblock"> * @param p_codec       compressor handle</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param p_stream             Output buffer stream</td><td> </td><td class="rblock"> * @param p_stream      Output buffer stream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0139" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return              <span class="delete">               Returns true if successful, returns 
+</span>false otherwise</td><td> </td><td class="rblock"> * @return              <span class="insert">Returns true if successful, returns </span>false otherwise</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0140" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">        <span class="delete">                                 </span>opj_stream_t *p_stream);</td><td> </td><td class="rblock">        opj_stream_t *p_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   codec output functions definitions</td><td> </td><td class="right">   codec output functions definitions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* EXPERIMENTAL FUNCTIONS FOR NOW, USED ONLY IN J2K_DUMP*/</td><td> </td><td class="right">/* EXPERIMENTAL FUNCTIONS FOR NOW, USED ONLY IN J2K_DUMP*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">Destroy Codestream information after compression or decompression</td><td> </td><td class="right">Destroy Codestream information after compression or decompression</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">@param cstr_info Codestream information structure</td><td> </td><td class="right">@param cstr_info Codestream information structure</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0141" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t <span class="delete">**</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">cstr_info);</span></td><td> </td><td class="rblock">        <span class="insert">**cstr_info);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Dump the codec information into the output stream</td><td> </td><td class="right"> * Dump the codec information into the output stream</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0142" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_codec                 the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   p_codec         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      info_flag               type of information dump.</td><td> </td><td class="rblock"> * @param   info_flag       type of information dump.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      output_stream   output stream where dump the <span class="delete">informations ge</span></td><td> </td><td class="rblock"> * @param   output_stream   output stream where dump the <span class="insert">information gotten</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> from the codec.</td><td> </td><td class="rblock"> from the codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0143" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV <span class="delete">opj_dump_codec(      opj_codec_t</span> *p_codec,</td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV <span class="insert">opj_dump_codec(opj_codec_t</span> *p_codec,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock">        OPJ_INT32 info_flag,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">            OPJ_INT32 info_flag,</td><td> </td><td class="rblock">        FILE* output_stream);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                           </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">            FILE* output_stream);</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Get the codestream information from the codec</td><td> </td><td class="right"> * Get the codestream information from the codec</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0144" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_codec        </span>         the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   <span class="insert">p_codec</span>         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0145" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                  <span class="delete">                   a pointer to a codestream in
+formation structure</span>.</td><td> </td><td class="rblock"> * @return                  <span class="insert">a pointer to a codestream information structure
+</span>.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0146" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_codestream_info_v2_t* OPJ_CALLCONV <span class="delete">opj_get_cstr_info(opj_codec_</span></td><td> </td><td class="rblock">OPJ_API opj_codestream_info_v2_t* OPJ_CALLCONV <span class="insert">opj_get_cstr_info(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> *p_codec);</td><td> </td><td class="rblock"><span class="insert">    opj_codec_t</span> *p_codec);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Get the codestream index from the codec</td><td> </td><td class="right"> * Get the codestream index from the codec</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0147" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_codec        </span>         the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   <span class="insert">p_codec</span>         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0148" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                  <span class="delete">                   a pointer to a codestream in
+</span>dex structure.</td><td> </td><td class="rblock"> * @return                  <span class="insert">a pointer to a codestream in</span>dex structure.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0149" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_codestream_index_t * OPJ_CALLCONV <span class="delete">opj_get_cstr_index(opj_codec_</span></td><td> </td><td class="rblock">OPJ_API opj_codestream_index_t * OPJ_CALLCONV <span class="insert">opj_get_cstr_index(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">t</span> *p_codec);</td><td> </td><td class="rblock"><span class="insert">    opj_codec_t</span> *p_codec);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0150" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t <span class="delete">**p</span></td><td> </td><td class="rblock">OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">_cstr_index);</span></td><td> </td><td class="rblock">        <span class="insert">**p_cstr_index);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Get the JP2 file information from the codec FIXME</td><td> </td><td class="right"> * Get the JP2 file information from the codec FIXME</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0151" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_codec        </span>         the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   <span class="insert">p_codec</span>         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0152" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                  <span class="delete">                   a pointer to a JP2 metadata 
+</span>structure.</td><td> </td><td class="rblock"> * @return                  <span class="insert">a pointer to a JP2 metadata </span>structure.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0153" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV <span class="delete">opj_get_jp2_metadata(opj_codec_t *</span></td><td> </td><td class="rblock">OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV <span class="insert">opj_get_jp2_metadata(</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">p_codec);</span></td><td> </td><td class="rblock"><span class="insert">    opj_codec_t *p_codec);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Get the JP2 file index from the codec FIXME</td><td> </td><td class="right"> * Get the JP2 file index from the codec FIXME</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0154" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param   <span class="delete">   p_codec        </span>         the jpeg2000 codec.</td><td> </td><td class="rblock"> * @param   <span class="insert">p_codec</span>         the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0155" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return                  <span class="delete">                   a pointer to a JP2 index str
+</span>ucture.</td><td> </td><td class="rblock"> * @return                  <span class="insert">a pointer to a JP2 index str</span>ucture.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_code
+c);</td><td> </td><td class="right">OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_code
+c);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">   MCT functions</td><td> </td><td class="right">   MCT functions</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the MCT matrix to use.</td><td> </td><td class="right"> * Sets the MCT matrix to use.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0156" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      parameters              the parameters to change.</td><td> </td><td class="rblock"> * @param   parameters      the parameters to change.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      pEncodingMatrix the encoding matrix.</td><td> </td><td class="rblock"> * @param   pEncodingMatrix the encoding matrix.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      p_dc_shift              the dc shift coefficients to use.</td><td> </td><td class="rblock"> * @param   p_dc_shift      the dc shift coefficients to use.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @param      pNbComp                 the number of components of the <span class="delete">imag</span></td><td> </td><td class="rblock"> * @param   pNbComp         the number of components of the <span class="insert">image.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">e.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0157" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"> * @return  <span class="delete">   </span>true if the parameters could be set.</td><td> </td><td class="rblock"> * @return  true if the parameters could be set.</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0158" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="delete">opj_set_MCT( opj_cparameters_t</span> *parameters,</td><td> </td><td class="rblock">OPJ_API OPJ_BOOL OPJ_CALLCONV <span class="insert">opj_set_MCT(opj_cparameters_t</span> *parameters,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                  OPJ_FLOAT32 * <span class="delete">pEncodingMa</span></td><td> </td><td class="rblock">        OPJ_FLOAT32 * <span class="insert">pEncodingMatrix,</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">trix,</span></td><td> </td><td class="rblock">        OPJ_INT32 * p_dc_shift,</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                  OPJ_INT32 * p_dc_shift,</td><td> </td><td class="rblock">        OPJ_UINT32 pNbComp);</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                  OPJ_UINT32 pNbComp);</td><td> </td><td class="rblock">                                                                           </td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/*</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">==========================================================</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Thread functions</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">==========================================================</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">*/</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/** Returns if the library is built with thread support.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * OPJ_TRUE if mutex, condition, thread, thread pool are available.</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/** Return the number of virtual CPUs */</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API int OPJ_CALLCONV opj_get_num_cpus(void);</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __cplusplus</td><td> </td><td class="right">#ifdef __cplusplus</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">}</td><td> </td><td class="right">}</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#endif /* OPENJPEG_H */</td><td> </td><td class="right">#endif /* OPENJPEG_H */</td><td class="lineno" valign="top"></td></tr>
+
+     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 158 change blocks.&nbsp;</a></th></tr>
+     <tr class="stats"><td></td><th><i>949 lines changed or deleted</i></th><th><i> </i></th><th><i>952 lines changed or added</i></th><td></td></tr>
+     <tr><td colspan="5" align="center" class="small"></td></tr>
+   </table>
+   <br/><br/>
+  <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0"> 
+  <tr bgcolor="orange"><th></th><th>&nbsp;opj_config.h (2.1.2)&nbsp;</th><th> </th><th>&nbsp;opj_config.h (2.2.0)&nbsp;</th><th></th></tr> 
+      <tr><td class="lineno" valign="top"></td><td class="left">/* create opj_config.h for CMake */</td><td> </td><td class="right">/* create opj_config.h for CMake */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_HAVE_STDINT_H              1</td><td> </td><td class="right">#define OPJ_HAVE_STDINT_H              1</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/*-------------------------------------------------------------------------
+-*/</td><td> </td><td class="right">/*-------------------------------------------------------------------------
+-*/</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* OpenJPEG Versioning                                                     
+ */</td><td> </td><td class="right">/* OpenJPEG Versioning                                                     
+ */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">/* Version number. */</td><td> </td><td class="right">/* Version number. */</td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="left">#define OPJ_VERSION_MAJOR 2</td><td> </td><td class="right">#define OPJ_VERSION_MAJOR 2</td><td class="lineno" valign="top"></td></tr>
+      <tr><td><a name="diff0001" /></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_VERSION_MINOR <span class="delete">1</span></td><td> </td><td class="rblock">#define OPJ_VERSION_MINOR <span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
+      <tr><td class="lineno" valign="top"></td><td class="lblock">#define OPJ_VERSION_BUILD <span class="delete">2</span></td><td> </td><td class="rblock">#define OPJ_VERSION_BUILD <span class="insert">0</span></td><td class="lineno" valign="top"></td></tr>
+
+     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 1 change blocks.&nbsp;</a></th></tr>
+     <tr class="stats"><td></td><th><i>0 lines changed or deleted</i></th><th><i> </i></th><th><i>0 lines changed or added</i></th><td></td></tr>
+     <tr><td colspan="5" align="center" class="small"></td></tr>
+   </table>
+   <br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
+</td></tr></table>
+</body>
+</html>
diff --git a/abi-check/headers_diff/openjpeg/2.1.2/2.2.0/meta.json b/abi-check/headers_diff/openjpeg/2.1.2/2.2.0/meta.json
new file mode 100644 (file)
index 0000000..c9b9e49
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "Total": 2
+}
\ No newline at end of file
diff --git a/abi-check/headers_diff/openjpeg/2.2.0/current/diff.html b/abi-check/headers_diff/openjpeg/2.2.0/current/diff.html
new file mode 100644 (file)
index 0000000..437374d
--- /dev/null
@@ -0,0 +1,24 @@
+<!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="OpenJPEG, header, diff" />
+    <meta name="description" content="Diff for header files between 2.2.0 and current versions of openjpeg" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
+    
+    
+    <title>
+        OpenJPEG: headers diff between 2.2.0 and current versions
+    </title>
+    
+    </head>
+
+<body>
+<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Headers diff: <span class='version'>2.2.0</span> vs <span class='version'>current</span></h1><br/><br/><br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
+</td></tr></table>
+</body>
+</html>
diff --git a/abi-check/headers_diff/openjpeg/2.2.0/current/meta.json b/abi-check/headers_diff/openjpeg/2.2.0/current/meta.json
new file mode 100644 (file)
index 0000000..58a1d64
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "Total": 0
+}
\ No newline at end of file
diff --git a/abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/openjpeg.h b/abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/openjpeg.h
new file mode 100644 (file)
index 0000000..d571c51
--- /dev/null
@@ -0,0 +1,1641 @@
+/*
+* The copyright in this software is being made available under the 2-clauses
+* BSD License, included below. This software may be subject to other third
+* party and contributor rights, including patent rights, and no such rights
+* are granted under this license.
+*
+* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+* Copyright (c) 2002-2014, Professor Benoit Macq
+* Copyright (c) 2001-2003, David Janssens
+* Copyright (c) 2002-2003, Yannick Verschueren
+* Copyright (c) 2003-2007, Francois-Olivier Devaux
+* Copyright (c) 2003-2014, Antonin Descampe
+* Copyright (c) 2005, Herve Drolon, FreeImage Team
+* Copyright (c) 2006-2007, Parvatha Elangovan
+* Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
+* Copyright (c) 2010-2011, Kaori Hagihara
+* Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France
+* Copyright (c) 2012, CS Systemes d'Information, France
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+* 1. Redistributions of source code must retain the above copyright
+*    notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+*    notice, this list of conditions and the following disclaimer in the
+*    documentation and/or other materials provided with the distribution.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+* ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+* POSSIBILITY OF SUCH DAMAGE.
+*/
+#ifndef OPENJPEG_H
+#define OPENJPEG_H
+
+
+/*
+==========================================================
+   Compiler directives
+==========================================================
+*/
+
+/*
+The inline keyword is supported by C99 but not by C90.
+Most compilers implement their own version of this keyword ...
+*/
+#ifndef INLINE
+#if defined(_MSC_VER)
+#define INLINE __forceinline
+#elif defined(__GNUC__)
+#define INLINE __inline__
+#elif defined(__MWERKS__)
+#define INLINE inline
+#else
+/* add other compilers here ... */
+#define INLINE
+#endif /* defined(<Compiler>) */
+#endif /* INLINE */
+
+/* deprecated attribute */
+#ifdef __GNUC__
+#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))
+#elif defined(_MSC_VER)
+#define OPJ_DEPRECATED(func) __declspec(deprecated) func
+#else
+#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
+#define OPJ_DEPRECATED(func) func
+#endif
+
+#if defined(OPJ_STATIC) || !defined(_WIN32)
+/* http://gcc.gnu.org/wiki/Visibility */
+#   if __GNUC__ >= 4
+#       if defined(OPJ_STATIC) /* static library uses "hidden" */
+#           define OPJ_API    __attribute__ ((visibility ("hidden")))
+#       else
+#           define OPJ_API    __attribute__ ((visibility ("default")))
+#       endif
+#       define OPJ_LOCAL  __attribute__ ((visibility ("hidden")))
+#   else
+#       define OPJ_API
+#       define OPJ_LOCAL
+#   endif
+#   define OPJ_CALLCONV
+#else
+#   define OPJ_CALLCONV __stdcall
+/*
+The following ifdef block is the standard way of creating macros which make exporting
+from a DLL simpler. All files within this DLL are compiled with the OPJ_EXPORTS
+symbol defined on the command line. this symbol should not be defined on any project
+that uses this DLL. This way any other project whose source files include this file see
+OPJ_API functions as being imported from a DLL, whereas this DLL sees symbols
+defined with this macro as being exported.
+*/
+#   if defined(OPJ_EXPORTS) || defined(DLL_EXPORT)
+#       define OPJ_API __declspec(dllexport)
+#   else
+#       define OPJ_API __declspec(dllimport)
+#   endif /* OPJ_EXPORTS */
+#endif /* !OPJ_STATIC || !_WIN32 */
+
+typedef int OPJ_BOOL;
+#define OPJ_TRUE 1
+#define OPJ_FALSE 0
+
+typedef char          OPJ_CHAR;
+typedef float         OPJ_FLOAT32;
+typedef double        OPJ_FLOAT64;
+typedef unsigned char OPJ_BYTE;
+
+#include "opj_stdint.h"
+
+typedef int8_t   OPJ_INT8;
+typedef uint8_t  OPJ_UINT8;
+typedef int16_t  OPJ_INT16;
+typedef uint16_t OPJ_UINT16;
+typedef int32_t  OPJ_INT32;
+typedef uint32_t OPJ_UINT32;
+typedef int64_t  OPJ_INT64;
+typedef uint64_t OPJ_UINT64;
+
+typedef int64_t  OPJ_OFF_T; /* 64-bit file offset type */
+
+#include <stdio.h>
+typedef size_t   OPJ_SIZE_T;
+
+/* Avoid compile-time warning because parameter is not used */
+#define OPJ_ARG_NOT_USED(x) (void)(x)
+
+/*
+==========================================================
+   Useful constant definitions
+==========================================================
+*/
+
+#define OPJ_PATH_LEN 4096 /**< Maximum allowed size for filenames */
+
+#define OPJ_J2K_MAXRLVLS 33                 /**< Number of maximum resolution level authorized */
+#define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2) /**< Number of maximum sub-band linked to number of resolution level */
+
+#define OPJ_J2K_DEFAULT_NB_SEGS             10
+#define OPJ_J2K_STREAM_CHUNK_SIZE           0x100000 /** 1 mega by default */
+#define OPJ_J2K_DEFAULT_HEADER_SIZE         1000
+#define OPJ_J2K_MCC_DEFAULT_NB_RECORDS      10
+#define OPJ_J2K_MCT_DEFAULT_NB_RECORDS      10
+
+/* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */
+#define JPWL_MAX_NO_TILESPECS   16 /**< Maximum number of tile parts expected by JPWL: increase at your will */
+#define JPWL_MAX_NO_PACKSPECS   16 /**< Maximum number of packet parts expected by JPWL: increase at your will */
+#define JPWL_MAX_NO_MARKERS 512 /**< Maximum number of JPWL markers: increase at your will */
+#define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename" /**< index file name used when JPWL is on */
+#define JPWL_EXPECTED_COMPONENTS 3 /**< Expect this number of components, so you'll find better the first EPB */
+#define JPWL_MAXIMUM_TILES 8192 /**< Expect this maximum number of tiles, to avoid some crashes */
+#define JPWL_MAXIMUM_HAMMING 2 /**< Expect this maximum number of bit errors in marker id's */
+#define JPWL_MAXIMUM_EPB_ROOM 65450 /**< Expect this maximum number of bytes for composition of EPBs */
+/* <<UniPG */
+
+/**
+ * EXPERIMENTAL FOR THE MOMENT
+ * Supported options about file information used only in j2k_dump
+*/
+#define OPJ_IMG_INFO        1   /**< Basic image information provided to the user */
+#define OPJ_J2K_MH_INFO     2   /**< Codestream information based only on the main header */
+#define OPJ_J2K_TH_INFO     4   /**< Tile information based on the current tile header */
+#define OPJ_J2K_TCH_INFO    8   /**< Tile/Component information of all tiles */
+#define OPJ_J2K_MH_IND      16  /**< Codestream index based only on the main header */
+#define OPJ_J2K_TH_IND      32  /**< Tile index based on the current tile */
+/*FIXME #define OPJ_J2K_CSTR_IND    48*/    /**<  */
+#define OPJ_JP2_INFO        128 /**< JP2 file information */
+#define OPJ_JP2_IND         256 /**< JP2 file index */
+
+/**
+ * JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMD)
+ * These values help choosing the RSIZ value for the J2K codestream.
+ * The RSIZ value triggers various encoding options, as detailed in Table A.10.
+ * If OPJ_PROFILE_PART2 is chosen, it has to be combined with one or more extensions
+ * described hereunder.
+ *   Example: rsiz = OPJ_PROFILE_PART2 | OPJ_EXTENSION_MCT;
+ * For broadcast profiles, the OPJ_PROFILE value has to be combined with the targeted
+ * mainlevel (3-0 LSB, value between 0 and 11):
+ *   Example: rsiz = OPJ_PROFILE_BC_MULTI | 0x0005; (here mainlevel 5)
+ * For IMF profiles, the OPJ_PROFILE value has to be combined with the targeted mainlevel
+ * (3-0 LSB, value between 0 and 11) and sublevel (7-4 LSB, value between 0 and 9):
+ *   Example: rsiz = OPJ_PROFILE_IMF_2K | 0x0040 | 0x0005; (here main 5 and sublevel 4)
+ * */
+#define OPJ_PROFILE_NONE        0x0000 /** no profile, conform to 15444-1 */
+#define OPJ_PROFILE_0           0x0001 /** Profile 0 as described in 15444-1,Table A.45 */
+#define OPJ_PROFILE_1           0x0002 /** Profile 1 as described in 15444-1,Table A.45 */
+#define OPJ_PROFILE_PART2       0x8000 /** At least 1 extension defined in 15444-2 (Part-2) */
+#define OPJ_PROFILE_CINEMA_2K   0x0003 /** 2K cinema profile defined in 15444-1 AMD1 */
+#define OPJ_PROFILE_CINEMA_4K   0x0004 /** 4K cinema profile defined in 15444-1 AMD1 */
+#define OPJ_PROFILE_CINEMA_S2K  0x0005 /** Scalable 2K cinema profile defined in 15444-1 AMD2 */
+#define OPJ_PROFILE_CINEMA_S4K  0x0006 /** Scalable 4K cinema profile defined in 15444-1 AMD2 */
+#define OPJ_PROFILE_CINEMA_LTS  0x0007 /** Long term storage cinema profile defined in 15444-1 AMD2 */
+#define OPJ_PROFILE_BC_SINGLE   0x0100 /** Single Tile Broadcast profile defined in 15444-1 AMD3 */
+#define OPJ_PROFILE_BC_MULTI    0x0200 /** Multi Tile Broadcast profile defined in 15444-1 AMD3 */
+#define OPJ_PROFILE_BC_MULTI_R  0x0300 /** Multi Tile Reversible Broadcast profile defined in 15444-1 AMD3 */
+#define OPJ_PROFILE_IMF_2K      0x0400 /** 2K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_4K      0x0401 /** 4K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_8K      0x0402 /** 8K Single Tile Lossy IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_2K_R    0x0403 /** 2K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_4K_R    0x0800 /** 4K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */
+#define OPJ_PROFILE_IMF_8K_R    0x0801  /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD 8 */
+
+/**
+ * JPEG 2000 Part-2 extensions
+ * */
+#define OPJ_EXTENSION_NONE      0x0000 /** No Part-2 extension */
+#define OPJ_EXTENSION_MCT       0x0100  /** Custom MCT support */
+
+/**
+ * JPEG 2000 profile macros
+ * */
+#define OPJ_IS_CINEMA(v)     (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_PROFILE_CINEMA_S4K))
+#define OPJ_IS_STORAGE(v)    ((v) == OPJ_PROFILE_CINEMA_LTS)
+#define OPJ_IS_BROADCAST(v)  (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ_PROFILE_BC_MULTI_R) | (0x000b))))
+#define OPJ_IS_IMF(v)        (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PROFILE_IMF_8K_R) | (0x009b))))
+#define OPJ_IS_PART2(v)      ((v) & OPJ_PROFILE_PART2)
+
+/**
+ * JPEG 2000 codestream and component size limits in cinema profiles
+ * */
+#define OPJ_CINEMA_24_CS     1302083    /** Maximum codestream length for 24fps */
+#define OPJ_CINEMA_48_CS     651041     /** Maximum codestream length for 48fps */
+#define OPJ_CINEMA_24_COMP   1041666    /** Maximum size per color component for 2K & 4K @ 24fps */
+#define OPJ_CINEMA_48_COMP   520833     /** Maximum size per color component for 2K @ 48fps */
+
+/*
+==========================================================
+   enum definitions
+==========================================================
+*/
+
+/**
+ * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead
+ * Rsiz Capabilities
+ * */
+typedef enum RSIZ_CAPABILITIES {
+    OPJ_STD_RSIZ = 0,       /** Standard JPEG2000 profile*/
+    OPJ_CINEMA2K = 3,       /** Profile name for a 2K image*/
+    OPJ_CINEMA4K = 4,       /** Profile name for a 4K image*/
+    OPJ_MCT = 0x8100
+} OPJ_RSIZ_CAPABILITIES;
+
+/**
+ * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead
+ * Digital cinema operation mode
+ * */
+typedef enum CINEMA_MODE {
+    OPJ_OFF = 0,            /** Not Digital Cinema*/
+    OPJ_CINEMA2K_24 = 1,    /** 2K Digital Cinema at 24 fps*/
+    OPJ_CINEMA2K_48 = 2,    /** 2K Digital Cinema at 48 fps*/
+    OPJ_CINEMA4K_24 = 3     /** 4K Digital Cinema at 24 fps*/
+} OPJ_CINEMA_MODE;
+
+/**
+ * Progression order
+ * */
+typedef enum PROG_ORDER {
+    OPJ_PROG_UNKNOWN = -1,  /**< place-holder */
+    OPJ_LRCP = 0,           /**< layer-resolution-component-precinct order */
+    OPJ_RLCP = 1,           /**< resolution-layer-component-precinct order */
+    OPJ_RPCL = 2,           /**< resolution-precinct-component-layer order */
+    OPJ_PCRL = 3,           /**< precinct-component-resolution-layer order */
+    OPJ_CPRL = 4            /**< component-precinct-resolution-layer order */
+} OPJ_PROG_ORDER;
+
+/**
+ * Supported image color spaces
+*/
+typedef enum COLOR_SPACE {
+    OPJ_CLRSPC_UNKNOWN = -1,    /**< not supported by the library */
+    OPJ_CLRSPC_UNSPECIFIED = 0, /**< not specified in the codestream */
+    OPJ_CLRSPC_SRGB = 1,        /**< sRGB */
+    OPJ_CLRSPC_GRAY = 2,        /**< grayscale */
+    OPJ_CLRSPC_SYCC = 3,        /**< YUV */
+    OPJ_CLRSPC_EYCC = 4,        /**< e-YCC */
+    OPJ_CLRSPC_CMYK = 5         /**< CMYK */
+} OPJ_COLOR_SPACE;
+
+/**
+ * Supported codec
+*/
+typedef enum CODEC_FORMAT {
+    OPJ_CODEC_UNKNOWN = -1, /**< place-holder */
+    OPJ_CODEC_J2K  = 0,     /**< JPEG-2000 codestream : read/write */
+    OPJ_CODEC_JPT  = 1,     /**< JPT-stream (JPEG 2000, JPIP) : read only */
+    OPJ_CODEC_JP2  = 2,     /**< JP2 file format : read/write */
+    OPJ_CODEC_JPP  = 3,     /**< JPP-stream (JPEG 2000, JPIP) : to be coded */
+    OPJ_CODEC_JPX  = 4      /**< JPX file format (JPEG 2000 Part-2) : to be coded */
+} OPJ_CODEC_FORMAT;
+
+
+/*
+==========================================================
+   event manager typedef definitions
+==========================================================
+*/
+
+/**
+ * Callback function prototype for events
+ * @param msg               Event message
+ * @param client_data       Client object where will be return the event message
+ * */
+typedef void (*opj_msg_callback)(const char *msg, void *client_data);
+
+/*
+==========================================================
+   codec typedef definitions
+==========================================================
+*/
+
+/**
+ * Progression order changes
+ *
+ */
+typedef struct opj_poc {
+    /** Resolution num start, Component num start, given by POC */
+    OPJ_UINT32 resno0, compno0;
+    /** Layer num end,Resolution num end, Component num end, given by POC */
+    OPJ_UINT32 layno1, resno1, compno1;
+    /** Layer num start,Precinct num start, Precinct num end */
+    OPJ_UINT32 layno0, precno0, precno1;
+    /** Progression order enum*/
+    OPJ_PROG_ORDER prg1, prg;
+    /** Progression order string*/
+    OPJ_CHAR progorder[5];
+    /** Tile number */
+    OPJ_UINT32 tile;
+    /** Start and end values for Tile width and height*/
+    OPJ_INT32 tx0, tx1, ty0, ty1;
+    /** Start value, initialised in pi_initialise_encode*/
+    OPJ_UINT32 layS, resS, compS, prcS;
+    /** End value, initialised in pi_initialise_encode */
+    OPJ_UINT32 layE, resE, compE, prcE;
+    /** Start and end values of Tile width and height, initialised in pi_initialise_encode*/
+    OPJ_UINT32 txS, txE, tyS, tyE, dx, dy;
+    /** Temporary values for Tile parts, initialised in pi_create_encode */
+    OPJ_UINT32 lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t;
+} opj_poc_t;
+
+/**
+ * Compression parameters
+ * */
+typedef struct opj_cparameters {
+    /** size of tile: tile_size_on = false (not in argument) or = true (in argument) */
+    OPJ_BOOL tile_size_on;
+    /** XTOsiz */
+    int cp_tx0;
+    /** YTOsiz */
+    int cp_ty0;
+    /** XTsiz */
+    int cp_tdx;
+    /** YTsiz */
+    int cp_tdy;
+    /** allocation by rate/distortion */
+    int cp_disto_alloc;
+    /** allocation by fixed layer */
+    int cp_fixed_alloc;
+    /** add fixed_quality */
+    int cp_fixed_quality;
+    /** fixed layer */
+    int *cp_matrice;
+    /** comment for coding */
+    char *cp_comment;
+    /** csty : coding style */
+    int csty;
+    /** progression order (default OPJ_LRCP) */
+    OPJ_PROG_ORDER prog_order;
+    /** progression order changes */
+    opj_poc_t POC[32];
+    /** number of progression order changes (POC), default to 0 */
+    OPJ_UINT32 numpocs;
+    /** number of layers */
+    int tcp_numlayers;
+    /** rates of layers - might be subsequently limited by the max_cs_size field */
+    float tcp_rates[100];
+    /** different psnr for successive layers */
+    float tcp_distoratio[100];
+    /** number of resolutions */
+    int numresolution;
+    /** initial code block width, default to 64 */
+    int cblockw_init;
+    /** initial code block height, default to 64 */
+    int cblockh_init;
+    /** mode switch (cblk_style) */
+    int mode;
+    /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression (default) */
+    int irreversible;
+    /** region of interest: affected component in [0..3], -1 means no ROI */
+    int roi_compno;
+    /** region of interest: upshift value */
+    int roi_shift;
+    /* number of precinct size specifications */
+    int res_spec;
+    /** initial precinct width */
+    int prcw_init[OPJ_J2K_MAXRLVLS];
+    /** initial precinct height */
+    int prch_init[OPJ_J2K_MAXRLVLS];
+
+    /**@name command line encoder parameters (not used inside the library) */
+    /*@{*/
+    /** input file name */
+    char infile[OPJ_PATH_LEN];
+    /** output file name */
+    char outfile[OPJ_PATH_LEN];
+    /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
+    int index_on;
+    /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
+    char index[OPJ_PATH_LEN];
+    /** subimage encoding: origin image offset in x direction */
+    int image_offset_x0;
+    /** subimage encoding: origin image offset in y direction */
+    int image_offset_y0;
+    /** subsampling value for dx */
+    int subsampling_dx;
+    /** subsampling value for dy */
+    int subsampling_dy;
+    /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/
+    int decod_format;
+    /** output file format 0: J2K, 1: JP2, 2: JPT */
+    int cod_format;
+    /*@}*/
+
+    /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */
+    /**@name JPWL encoding parameters */
+    /*@{*/
+    /** enables writing of EPC in MH, thus activating JPWL */
+    OPJ_BOOL jpwl_epc_on;
+    /** error protection method for MH (0,1,16,32,37-128) */
+    int jpwl_hprot_MH;
+    /** tile number of header protection specification (>=0) */
+    int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS];
+    /** error protection methods for TPHs (0,1,16,32,37-128) */
+    int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS];
+    /** tile number of packet protection specification (>=0) */
+    int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS];
+    /** packet number of packet protection specification (>=0) */
+    int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS];
+    /** error protection methods for packets (0,1,16,32,37-128) */
+    int jpwl_pprot[JPWL_MAX_NO_PACKSPECS];
+    /** enables writing of ESD, (0=no/1/2 bytes) */
+    int jpwl_sens_size;
+    /** sensitivity addressing size (0=auto/2/4 bytes) */
+    int jpwl_sens_addr;
+    /** sensitivity range (0-3) */
+    int jpwl_sens_range;
+    /** sensitivity method for MH (-1=no,0-7) */
+    int jpwl_sens_MH;
+    /** tile number of sensitivity specification (>=0) */
+    int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS];
+    /** sensitivity methods for TPHs (-1=no,0-7) */
+    int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS];
+    /*@}*/
+    /* <<UniPG */
+
+    /**
+     * DEPRECATED: use RSIZ, OPJ_PROFILE_* and MAX_COMP_SIZE instead
+     * Digital Cinema compliance 0-not compliant, 1-compliant
+     * */
+    OPJ_CINEMA_MODE cp_cinema;
+    /**
+     * Maximum size (in bytes) for each component.
+     * If == 0, component size limitation is not considered
+     * */
+    int max_comp_size;
+    /**
+     * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead
+     * Profile name
+     * */
+    OPJ_RSIZ_CAPABILITIES cp_rsiz;
+    /** Tile part generation*/
+    char tp_on;
+    /** Flag for Tile part generation*/
+    char tp_flag;
+    /** MCT (multiple component transform) */
+    char tcp_mct;
+    /** Enable JPIP indexing*/
+    OPJ_BOOL jpip_on;
+    /** Naive implementation of MCT restricted to a single reversible array based
+        encoding without offset concerning all the components. */
+    void * mct_data;
+    /**
+     * Maximum size (in bytes) for the whole codestream.
+     * If == 0, codestream size limitation is not considered
+     * If it does not comply with tcp_rates, max_cs_size prevails
+     * and a warning is issued.
+     * */
+    int max_cs_size;
+    /** RSIZ value
+        To be used to combine OPJ_PROFILE_*, OPJ_EXTENSION_* and (sub)levels values. */
+    OPJ_UINT16 rsiz;
+} opj_cparameters_t;
+
+#define OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG  0x0001
+#define OPJ_DPARAMETERS_DUMP_FLAG 0x0002
+
+/**
+ * Decompression parameters
+ * */
+typedef struct opj_dparameters {
+    /**
+    Set the number of highest resolution levels to be discarded.
+    The image resolution is effectively divided by 2 to the power of the number of discarded levels.
+    The reduce factor is limited by the smallest total number of decomposition levels among tiles.
+    if != 0, then original dimension divided by 2^(reduce);
+    if == 0 or not used, image is decoded to the full resolution
+    */
+    OPJ_UINT32 cp_reduce;
+    /**
+    Set the maximum number of quality layers to decode.
+    If there are less quality layers than the specified number, all the quality layers are decoded.
+    if != 0, then only the first "layer" layers are decoded;
+    if == 0 or not used, all the quality layers are decoded
+    */
+    OPJ_UINT32 cp_layer;
+
+    /**@name command line decoder parameters (not used inside the library) */
+    /*@{*/
+    /** input file name */
+    char infile[OPJ_PATH_LEN];
+    /** output file name */
+    char outfile[OPJ_PATH_LEN];
+    /** input file format 0: J2K, 1: JP2, 2: JPT */
+    int decod_format;
+    /** output file format 0: PGX, 1: PxM, 2: BMP */
+    int cod_format;
+
+    /** Decoding area left boundary */
+    OPJ_UINT32 DA_x0;
+    /** Decoding area right boundary */
+    OPJ_UINT32 DA_x1;
+    /** Decoding area up boundary */
+    OPJ_UINT32 DA_y0;
+    /** Decoding area bottom boundary */
+    OPJ_UINT32 DA_y1;
+    /** Verbose mode */
+    OPJ_BOOL m_verbose;
+
+    /** tile number ot the decoded tile*/
+    OPJ_UINT32 tile_index;
+    /** Nb of tile to decode */
+    OPJ_UINT32 nb_tile_to_decode;
+
+    /*@}*/
+
+    /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */
+    /**@name JPWL decoding parameters */
+    /*@{*/
+    /** activates the JPWL correction capabilities */
+    OPJ_BOOL jpwl_correct;
+    /** expected number of components */
+    int jpwl_exp_comps;
+    /** maximum number of tiles */
+    int jpwl_max_tiles;
+    /*@}*/
+    /* <<UniPG */
+
+    unsigned int flags;
+
+} opj_dparameters_t;
+
+
+/**
+ * JPEG2000 codec V2.
+ * */
+typedef void * opj_codec_t;
+
+/*
+==========================================================
+   I/O stream typedef definitions
+==========================================================
+*/
+
+/**
+ * Stream open flags.
+ * */
+/** The stream was opened for reading. */
+#define OPJ_STREAM_READ OPJ_TRUE
+/** The stream was opened for writing. */
+#define OPJ_STREAM_WRITE OPJ_FALSE
+
+/*
+ * Callback function prototype for read function
+ */
+typedef OPJ_SIZE_T(* opj_stream_read_fn)(void * p_buffer, OPJ_SIZE_T p_nb_bytes,
+        void * p_user_data) ;
+
+/*
+ * Callback function prototype for write function
+ */
+typedef OPJ_SIZE_T(* opj_stream_write_fn)(void * p_buffer,
+        OPJ_SIZE_T p_nb_bytes, void * p_user_data) ;
+
+/*
+ * Callback function prototype for skip function
+ */
+typedef OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T p_nb_bytes,
+                                        void * p_user_data) ;
+
+/*
+ * Callback function prototype for seek function
+ */
+typedef OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T p_nb_bytes,
+                                       void * p_user_data) ;
+
+/*
+ * Callback function prototype for free user data function
+ */
+typedef void (* opj_stream_free_user_data_fn)(void * p_user_data) ;
+
+/*
+ * JPEG2000 Stream.
+ */
+typedef void * opj_stream_t;
+
+/*
+==========================================================
+   image typedef definitions
+==========================================================
+*/
+
+/**
+ * Defines a single image component
+ * */
+typedef struct opj_image_comp {
+    /** XRsiz: horizontal separation of a sample of ith component with respect to the reference grid */
+    OPJ_UINT32 dx;
+    /** YRsiz: vertical separation of a sample of ith component with respect to the reference grid */
+    OPJ_UINT32 dy;
+    /** data width */
+    OPJ_UINT32 w;
+    /** data height */
+    OPJ_UINT32 h;
+    /** x component offset compared to the whole image */
+    OPJ_UINT32 x0;
+    /** y component offset compared to the whole image */
+    OPJ_UINT32 y0;
+    /** precision */
+    OPJ_UINT32 prec;
+    /** image depth in bits */
+    OPJ_UINT32 bpp;
+    /** signed (1) / unsigned (0) */
+    OPJ_UINT32 sgnd;
+    /** number of decoded resolution */
+    OPJ_UINT32 resno_decoded;
+    /** number of division by 2 of the out image compared to the original size of image */
+    OPJ_UINT32 factor;
+    /** image component data */
+    OPJ_INT32 *data;
+    /** alpha channel */
+    OPJ_UINT16 alpha;
+} opj_image_comp_t;
+
+/**
+ * Defines image data and characteristics
+ * */
+typedef struct opj_image {
+    /** XOsiz: horizontal offset from the origin of the reference grid to the left side of the image area */
+    OPJ_UINT32 x0;
+    /** YOsiz: vertical offset from the origin of the reference grid to the top side of the image area */
+    OPJ_UINT32 y0;
+    /** Xsiz: width of the reference grid */
+    OPJ_UINT32 x1;
+    /** Ysiz: height of the reference grid */
+    OPJ_UINT32 y1;
+    /** number of components in the image */
+    OPJ_UINT32 numcomps;
+    /** color space: sRGB, Greyscale or YUV */
+    OPJ_COLOR_SPACE color_space;
+    /** image components */
+    opj_image_comp_t *comps;
+    /** 'restricted' ICC profile */
+    OPJ_BYTE *icc_profile_buf;
+    /** size of ICC profile */
+    OPJ_UINT32 icc_profile_len;
+} opj_image_t;
+
+
+/**
+ * Component parameters structure used by the opj_image_create function
+ * */
+typedef struct opj_image_comptparm {
+    /** XRsiz: horizontal separation of a sample of ith component with respect to the reference grid */
+    OPJ_UINT32 dx;
+    /** YRsiz: vertical separation of a sample of ith component with respect to the reference grid */
+    OPJ_UINT32 dy;
+    /** data width */
+    OPJ_UINT32 w;
+    /** data height */
+    OPJ_UINT32 h;
+    /** x component offset compared to the whole image */
+    OPJ_UINT32 x0;
+    /** y component offset compared to the whole image */
+    OPJ_UINT32 y0;
+    /** precision */
+    OPJ_UINT32 prec;
+    /** image depth in bits */
+    OPJ_UINT32 bpp;
+    /** signed (1) / unsigned (0) */
+    OPJ_UINT32 sgnd;
+} opj_image_cmptparm_t;
+
+
+/*
+==========================================================
+   Information on the JPEG 2000 codestream
+==========================================================
+*/
+/* QUITE EXPERIMENTAL FOR THE MOMENT */
+
+/**
+ * Index structure : Information concerning a packet inside tile
+ * */
+typedef struct opj_packet_info {
+    /** packet start position (including SOP marker if it exists) */
+    OPJ_OFF_T start_pos;
+    /** end of packet header position (including EPH marker if it exists)*/
+    OPJ_OFF_T end_ph_pos;
+    /** packet end position */
+    OPJ_OFF_T end_pos;
+    /** packet distorsion */
+    double disto;
+} opj_packet_info_t;
+
+
+/* UniPG>> */
+/**
+ * Marker structure
+ * */
+typedef struct opj_marker_info {
+    /** marker type */
+    unsigned short int type;
+    /** position in codestream */
+    OPJ_OFF_T pos;
+    /** length, marker val included */
+    int len;
+} opj_marker_info_t;
+/* <<UniPG */
+
+/**
+ * Index structure : Information concerning tile-parts
+*/
+typedef struct opj_tp_info {
+    /** start position of tile part */
+    int tp_start_pos;
+    /** end position of tile part header */
+    int tp_end_header;
+    /** end position of tile part */
+    int tp_end_pos;
+    /** start packet of tile part */
+    int tp_start_pack;
+    /** number of packets of tile part */
+    int tp_numpacks;
+} opj_tp_info_t;
+
+/**
+ * Index structure : information regarding tiles
+*/
+typedef struct opj_tile_info {
+    /** value of thresh for each layer by tile cfr. Marcela   */
+    double *thresh;
+    /** number of tile */
+    int tileno;
+    /** start position */
+    int start_pos;
+    /** end position of the header */
+    int end_header;
+    /** end position */
+    int end_pos;
+    /** precinct number for each resolution level (width) */
+    int pw[33];
+    /** precinct number for each resolution level (height) */
+    int ph[33];
+    /** precinct size (in power of 2), in X for each resolution level */
+    int pdx[33];
+    /** precinct size (in power of 2), in Y for each resolution level */
+    int pdy[33];
+    /** information concerning packets inside tile */
+    opj_packet_info_t *packet;
+    /** add fixed_quality */
+    int numpix;
+    /** add fixed_quality */
+    double distotile;
+    /** number of markers */
+    int marknum;
+    /** list of markers */
+    opj_marker_info_t *marker;
+    /** actual size of markers array */
+    int maxmarknum;
+    /** number of tile parts */
+    int num_tps;
+    /** information concerning tile parts */
+    opj_tp_info_t *tp;
+} opj_tile_info_t;
+
+/**
+ * Index structure of the codestream
+*/
+typedef struct opj_codestream_info {
+    /** maximum distortion reduction on the whole image (add for Marcela) */
+    double D_max;
+    /** packet number */
+    int packno;
+    /** writing the packet in the index with t2_encode_packets */
+    int index_write;
+    /** image width */
+    int image_w;
+    /** image height */
+    int image_h;
+    /** progression order */
+    OPJ_PROG_ORDER prog;
+    /** tile size in x */
+    int tile_x;
+    /** tile size in y */
+    int tile_y;
+    /** */
+    int tile_Ox;
+    /** */
+    int tile_Oy;
+    /** number of tiles in X */
+    int tw;
+    /** number of tiles in Y */
+    int th;
+    /** component numbers */
+    int numcomps;
+    /** number of layer */
+    int numlayers;
+    /** number of decomposition for each component */
+    int *numdecompos;
+    /* UniPG>> */
+    /** number of markers */
+    int marknum;
+    /** list of markers */
+    opj_marker_info_t *marker;
+    /** actual size of markers array */
+    int maxmarknum;
+    /* <<UniPG */
+    /** main header position */
+    int main_head_start;
+    /** main header position */
+    int main_head_end;
+    /** codestream's size */
+    int codestream_size;
+    /** information regarding tiles inside image */
+    opj_tile_info_t *tile;
+} opj_codestream_info_t;
+
+/* <----------------------------------------------------------- */
+/* new output management of the codestream information and index */
+
+/**
+ * Tile-component coding parameters information
+ */
+typedef struct opj_tccp_info {
+    /** component index */
+    OPJ_UINT32 compno;
+    /** coding style */
+    OPJ_UINT32 csty;
+    /** number of resolutions */
+    OPJ_UINT32 numresolutions;
+    /** code-blocks width */
+    OPJ_UINT32 cblkw;
+    /** code-blocks height */
+    OPJ_UINT32 cblkh;
+    /** code-block coding style */
+    OPJ_UINT32 cblksty;
+    /** discrete wavelet transform identifier: 0 = 9-7 irreversible, 1 = 5-3 reversible */
+    OPJ_UINT32 qmfbid;
+    /** quantisation style */
+    OPJ_UINT32 qntsty;
+    /** stepsizes used for quantization */
+    OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];
+    /** stepsizes used for quantization */
+    OPJ_UINT32 stepsizes_expn[OPJ_J2K_MAXBANDS];
+    /** number of guard bits */
+    OPJ_UINT32 numgbits;
+    /** Region Of Interest shift */
+    OPJ_INT32 roishift;
+    /** precinct width */
+    OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS];
+    /** precinct height */
+    OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS];
+}
+opj_tccp_info_t;
+
+/**
+ * Tile coding parameters information
+ */
+typedef struct opj_tile_v2_info {
+
+    /** number (index) of tile */
+    int tileno;
+    /** coding style */
+    OPJ_UINT32 csty;
+    /** progression order */
+    OPJ_PROG_ORDER prg;
+    /** number of layers */
+    OPJ_UINT32 numlayers;
+    /** multi-component transform identifier */
+    OPJ_UINT32 mct;
+
+    /** information concerning tile component parameters*/
+    opj_tccp_info_t *tccp_info;
+
+} opj_tile_info_v2_t;
+
+/**
+ * Information structure about the codestream (FIXME should be expand and enhance)
+ */
+typedef struct opj_codestream_info_v2 {
+    /* Tile info */
+    /** tile origin in x = XTOsiz */
+    OPJ_UINT32 tx0;
+    /** tile origin in y = YTOsiz */
+    OPJ_UINT32 ty0;
+    /** tile size in x = XTsiz */
+    OPJ_UINT32 tdx;
+    /** tile size in y = YTsiz */
+    OPJ_UINT32 tdy;
+    /** number of tiles in X */
+    OPJ_UINT32 tw;
+    /** number of tiles in Y */
+    OPJ_UINT32 th;
+
+    /** number of components*/
+    OPJ_UINT32 nbcomps;
+
+    /** Default information regarding tiles inside image */
+    opj_tile_info_v2_t m_default_tile_info;
+
+    /** information regarding tiles inside image */
+    opj_tile_info_v2_t *tile_info; /* FIXME not used for the moment */
+
+} opj_codestream_info_v2_t;
+
+
+/**
+ * Index structure about a tile part
+ */
+typedef struct opj_tp_index {
+    /** start position */
+    OPJ_OFF_T start_pos;
+    /** end position of the header */
+    OPJ_OFF_T end_header;
+    /** end position */
+    OPJ_OFF_T end_pos;
+
+} opj_tp_index_t;
+
+/**
+ * Index structure about a tile
+ */
+typedef struct opj_tile_index {
+    /** tile index */
+    OPJ_UINT32 tileno;
+
+    /** number of tile parts */
+    OPJ_UINT32 nb_tps;
+    /** current nb of tile part (allocated)*/
+    OPJ_UINT32 current_nb_tps;
+    /** current tile-part index */
+    OPJ_UINT32 current_tpsno;
+    /** information concerning tile parts */
+    opj_tp_index_t *tp_index;
+
+    /* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */
+    /** number of markers */
+    OPJ_UINT32 marknum;
+    /** list of markers */
+    opj_marker_info_t *marker;
+    /** actual size of markers array */
+    OPJ_UINT32 maxmarknum;
+    /* <<UniPG */
+
+    /** packet number */
+    OPJ_UINT32 nb_packet;
+    /** information concerning packets inside tile */
+    opj_packet_info_t *packet_index;
+
+} opj_tile_index_t;
+
+/**
+ * Index structure of the codestream (FIXME should be expand and enhance)
+ */
+typedef struct opj_codestream_index {
+    /** main header start position (SOC position) */
+    OPJ_OFF_T main_head_start;
+    /** main header end position (first SOT position) */
+    OPJ_OFF_T main_head_end;
+
+    /** codestream's size */
+    OPJ_UINT64 codestream_size;
+
+    /* UniPG>> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */
+    /** number of markers */
+    OPJ_UINT32 marknum;
+    /** list of markers */
+    opj_marker_info_t *marker;
+    /** actual size of markers array */
+    OPJ_UINT32 maxmarknum;
+    /* <<UniPG */
+
+    /** */
+    OPJ_UINT32 nb_of_tiles;
+    /** */
+    opj_tile_index_t *tile_index; /* FIXME not used for the moment */
+
+} opj_codestream_index_t;
+/* -----------------------------------------------------------> */
+
+/*
+==========================================================
+   Metadata from the JP2file
+==========================================================
+*/
+
+/**
+ * Info structure of the JP2 file
+ * EXPERIMENTAL FOR THE MOMENT
+ */
+typedef struct opj_jp2_metadata {
+    /** */
+    OPJ_INT32   not_used;
+
+} opj_jp2_metadata_t;
+
+/**
+ * Index structure of the JP2 file
+ * EXPERIMENTAL FOR THE MOMENT
+ */
+typedef struct opj_jp2_index {
+    /** */
+    OPJ_INT32   not_used;
+
+} opj_jp2_index_t;
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/*
+==========================================================
+   openjpeg version
+==========================================================
+*/
+
+/* Get the version of the openjpeg library*/
+OPJ_API const char * OPJ_CALLCONV opj_version(void);
+
+/*
+==========================================================
+   image functions definitions
+==========================================================
+*/
+
+/**
+ * Create an image
+ *
+ * @param numcmpts      number of components
+ * @param cmptparms     components parameters
+ * @param clrspc        image color space
+ * @return returns      a new image structure if successful, returns NULL otherwise
+ * */
+OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts,
+        opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);
+
+/**
+ * Deallocate any resources associated with an image
+ *
+ * @param image         image to be destroyed
+ */
+OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image);
+
+/**
+ * Creates an image without allocating memory for the image (used in the new version of the library).
+ *
+ * @param   numcmpts    the number of components
+ * @param   cmptparms   the components parameters
+ * @param   clrspc      the image color space
+ *
+ * @return  a new image structure if successful, NULL otherwise.
+*/
+OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts,
+        opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc);
+
+/**
+ * Allocator for opj_image_t->comps[].data
+ * To be paired with opj_image_data_free.
+ *
+ * @param   size    number of bytes to allocate
+ *
+ * @return  a new pointer if successful, NULL otherwise.
+ * @since 2.2.0
+*/
+OPJ_API void* OPJ_CALLCONV opj_image_data_alloc(OPJ_SIZE_T size);
+
+/**
+ * Destructor for opj_image_t->comps[].data
+ * To be paired with opj_image_data_alloc.
+ *
+ * @param   ptr    Pointer to free
+ *
+ * @since 2.2.0
+*/
+OPJ_API void OPJ_CALLCONV opj_image_data_free(void* ptr);
+
+/*
+==========================================================
+   stream functions definitions
+==========================================================
+*/
+
+/**
+ * Creates an abstract stream. This function does nothing except allocating memory and initializing the abstract stream.
+ *
+ * @param   p_is_input      if set to true then the stream will be an input stream, an output stream else.
+ *
+ * @return  a stream object.
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_default_create(
+    OPJ_BOOL p_is_input);
+
+/**
+ * Creates an abstract stream. This function does nothing except allocating memory and initializing the abstract stream.
+ *
+ * @param   p_buffer_size  FIXME DOC
+ * @param   p_is_input      if set to true then the stream will be an input stream, an output stream else.
+ *
+ * @return  a stream object.
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_size,
+        OPJ_BOOL p_is_input);
+
+/**
+ * Destroys a stream created by opj_create_stream. This function does NOT close the abstract stream. If needed the user must
+ * close its own implementation of the stream.
+ *
+ * @param   p_stream    the stream to destroy.
+ */
+OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t* p_stream);
+
+/**
+ * Sets the given function to be used as a read function.
+ * @param       p_stream    the stream to modify
+ * @param       p_function  the function to use a read function.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t* p_stream,
+        opj_stream_read_fn p_function);
+
+/**
+ * Sets the given function to be used as a write function.
+ * @param       p_stream    the stream to modify
+ * @param       p_function  the function to use a write function.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t* p_stream,
+        opj_stream_write_fn p_function);
+
+/**
+ * Sets the given function to be used as a skip function.
+ * @param       p_stream    the stream to modify
+ * @param       p_function  the function to use a skip function.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stream,
+        opj_stream_skip_fn p_function);
+
+/**
+ * Sets the given function to be used as a seek function, the stream is then seekable.
+ * @param       p_stream    the stream to modify
+ * @param       p_function  the function to use a skip function.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stream,
+        opj_stream_seek_fn p_function);
+
+/**
+ * Sets the given data to be used as a user data for the stream.
+ * @param       p_stream    the stream to modify
+ * @param       p_data      the data to set.
+ * @param       p_function  the function to free p_data when opj_stream_destroy() is called.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_user_data(opj_stream_t* p_stream,
+        void * p_data, opj_stream_free_user_data_fn p_function);
+
+/**
+ * Sets the length of the user data for the stream.
+ *
+ * @param p_stream    the stream to modify
+ * @param data_length length of the user_data.
+*/
+OPJ_API void OPJ_CALLCONV opj_stream_set_user_data_length(
+    opj_stream_t* p_stream, OPJ_UINT64 data_length);
+
+/**
+ * Create a stream from a file identified with its filename with default parameters (helper function)
+ * @param fname             the filename of the file to stream
+ * @param p_is_read_stream  whether the stream is a read stream (true) or not (false)
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create_default_file_stream(
+    const char *fname, OPJ_BOOL p_is_read_stream);
+
+/** Create a stream from a file identified with its filename with a specific buffer size
+ * @param fname             the filename of the file to stream
+ * @param p_buffer_size     size of the chunk used to stream
+ * @param p_is_read_stream  whether the stream is a read stream (true) or not (false)
+*/
+OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create_file_stream(
+    const char *fname,
+    OPJ_SIZE_T p_buffer_size,
+    OPJ_BOOL p_is_read_stream);
+
+/*
+==========================================================
+   event manager functions definitions
+==========================================================
+*/
+/**
+ * Set the info handler use by openjpeg.
+ * @param p_codec       the codec previously initialise
+ * @param p_callback    the callback function which will be used
+ * @param p_user_data   client object where will be returned the message
+*/
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec,
+        opj_msg_callback p_callback,
+        void * p_user_data);
+/**
+ * Set the warning handler use by openjpeg.
+ * @param p_codec       the codec previously initialise
+ * @param p_callback    the callback function which will be used
+ * @param p_user_data   client object where will be returned the message
+*/
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec,
+        opj_msg_callback p_callback,
+        void * p_user_data);
+/**
+ * Set the error handler use by openjpeg.
+ * @param p_codec       the codec previously initialise
+ * @param p_callback    the callback function which will be used
+ * @param p_user_data   client object where will be returned the message
+*/
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec,
+        opj_msg_callback p_callback,
+        void * p_user_data);
+
+/*
+==========================================================
+   codec functions definitions
+==========================================================
+*/
+
+/**
+ * Creates a J2K/JP2 decompression structure
+ * @param format        Decoder to select
+ *
+ * @return Returns a handle to a decompressor if successful, returns NULL otherwise
+ * */
+OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_decompress(
+    OPJ_CODEC_FORMAT format);
+
+/**
+ * Destroy a decompressor handle
+ *
+ * @param   p_codec         decompressor handle to destroy
+ */
+OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec);
+
+/**
+ * Read after the codestream if necessary
+ * @param   p_codec         the JPEG2000 codec to read.
+ * @param   p_stream        the JPEG2000 stream.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_end_decompress(opj_codec_t *p_codec,
+        opj_stream_t *p_stream);
+
+
+/**
+ * Set decoding parameters to default values
+ * @param parameters Decompression parameters
+ */
+OPJ_API void OPJ_CALLCONV opj_set_default_decoder_parameters(
+    opj_dparameters_t *parameters);
+
+/**
+ * Setup the decoder with decompression parameters provided by the user and with the message handler
+ * provided by the user.
+ *
+ * @param p_codec       decompressor handler
+ * @param parameters    decompression parameters
+ *
+ * @return true         if the decoder is correctly set
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,
+        opj_dparameters_t *parameters);
+
+/**
+ * Allocates worker threads for the compressor/decompressor.
+ *
+ * By default, only the main thread is used. If this function is not used,
+ * but the OPJ_NUM_THREADS environment variable is set, its value will be
+ * used to initialize the number of threads. The value can be either an integer
+ * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is called,
+ * this function will override the behaviour of the environment variable.
+ *
+ * Note: currently only has effect on the decompressor.
+ *
+ * @param p_codec       decompressor handler
+ * @param num_threads   number of threads.
+ *
+ * @return OPJ_TRUE     if the decoder is correctly set
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec,
+        int num_threads);
+
+/**
+ * Decodes an image header.
+ *
+ * @param   p_stream        the jpeg2000 stream.
+ * @param   p_codec         the jpeg2000 codec to read.
+ * @param   p_image         the image structure initialized with the characteristics of encoded image.
+ *
+ * @return true             if the main header of the codestream and the JP2 header is correctly read.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_header(opj_stream_t *p_stream,
+        opj_codec_t *p_codec,
+        opj_image_t **p_image);
+
+/**
+ * Sets the given area to be decoded. This function should be called right after opj_read_header and before any tile header reading.
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ * @param   p_image         the decoded image previously setted by opj_read_header
+ * @param   p_start_x       the left position of the rectangle to decode (in image coordinates).
+ * @param   p_end_x         the right position of the rectangle to decode (in image coordinates).
+ * @param   p_start_y       the up position of the rectangle to decode (in image coordinates).
+ * @param   p_end_y         the bottom position of the rectangle to decode (in image coordinates).
+ *
+ * @return  true            if the area could be set.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decode_area(opj_codec_t *p_codec,
+        opj_image_t* p_image,
+        OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
+        OPJ_INT32 p_end_x, OPJ_INT32 p_end_y);
+
+/**
+ * Decode an image from a JPEG-2000 codestream
+ *
+ * @param p_decompressor    decompressor handle
+ * @param p_stream          Input buffer stream
+ * @param p_image           the decoded image
+ * @return                  true if success, otherwise false
+ * */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor,
+        opj_stream_t *p_stream,
+        opj_image_t *p_image);
+
+/**
+ * Get the decoded tile from the codec
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ * @param   p_stream        input streamm
+ * @param   p_image         output image
+ * @param   tile_index      index of the tile which will be decode
+ *
+ * @return                  true if success, otherwise false
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_get_decoded_tile(opj_codec_t *p_codec,
+        opj_stream_t *p_stream,
+        opj_image_t *p_image,
+        OPJ_UINT32 tile_index);
+
+/**
+ * Set the resolution factor of the decoded image
+ * @param   p_codec         the jpeg2000 codec.
+ * @param   res_factor      resolution factor to set
+ *
+ * @return                  true if success, otherwise false
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decoded_resolution_factor(
+    opj_codec_t *p_codec, OPJ_UINT32 res_factor);
+
+/**
+ * Writes a tile with the given data.
+ *
+ * @param   p_codec             the jpeg2000 codec.
+ * @param   p_tile_index        the index of the tile to write. At the moment, the tiles must be written from 0 to n-1 in sequence.
+ * @param   p_data              pointer to the data to write. Data is arranged in sequence, data_comp0, then data_comp1, then ... NO INTERLEAVING should be set.
+ * @param   p_data_size         this value os used to make sure the data being written is correct. The size must be equal to the sum for each component of
+ *                              tile_width * tile_height * component_size. component_size can be 1,2 or 4 bytes, depending on the precision of the given component.
+ * @param   p_stream            the stream to write data to.
+ *
+ * @return  true if the data could be written.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_write_tile(opj_codec_t *p_codec,
+        OPJ_UINT32 p_tile_index,
+        OPJ_BYTE * p_data,
+        OPJ_UINT32 p_data_size,
+        opj_stream_t *p_stream);
+
+/**
+ * Reads a tile header. This function is compulsory and allows one to know the size of the tile that will be decoded.
+ * The user may need to refer to the image got by opj_read_header to understand the size being taken by the tile.
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ * @param   p_tile_index    pointer to a value that will hold the index of the tile being decoded, in case of success.
+ * @param   p_data_size     pointer to a value that will hold the maximum size of the decoded data, in case of success. In case
+ *                          of truncated codestreams, the actual number of bytes decoded may be lower. The computation of the size is the same
+ *                          as depicted in opj_write_tile.
+ * @param   p_tile_x0       pointer to a value that will hold the x0 pos of the tile (in the image).
+ * @param   p_tile_y0       pointer to a value that will hold the y0 pos of the tile (in the image).
+ * @param   p_tile_x1       pointer to a value that will hold the x1 pos of the tile (in the image).
+ * @param   p_tile_y1       pointer to a value that will hold the y1 pos of the tile (in the image).
+ * @param   p_nb_comps      pointer to a value that will hold the number of components in the tile.
+ * @param   p_should_go_on  pointer to a boolean that will hold the fact that the decoding should go on. In case the
+ *                          codestream is over at the time of the call, the value will be set to false. The user should then stop
+ *                          the decoding.
+ * @param   p_stream        the stream to decode.
+ * @return  true            if the tile header could be decoded. In case the decoding should end, the returned value is still true.
+ *                          returning false may be the result of a shortage of memory or an internal error.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_tile_header(opj_codec_t *p_codec,
+        opj_stream_t * p_stream,
+        OPJ_UINT32 * p_tile_index,
+        OPJ_UINT32 * p_data_size,
+        OPJ_INT32 * p_tile_x0, OPJ_INT32 * p_tile_y0,
+        OPJ_INT32 * p_tile_x1, OPJ_INT32 * p_tile_y1,
+        OPJ_UINT32 * p_nb_comps,
+        OPJ_BOOL * p_should_go_on);
+
+/**
+ * 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.
+ *
+ * @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.
+ * @param   p_data_size     size of p_data. p_data_size should be bigger or equal to the value set by opj_read_tile_header.
+ * @param   p_stream        the stream to decode.
+ *
+ * @return  true            if the data could be decoded.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode_tile_data(opj_codec_t *p_codec,
+        OPJ_UINT32 p_tile_index,
+        OPJ_BYTE * p_data,
+        OPJ_UINT32 p_data_size,
+        opj_stream_t *p_stream);
+
+/* COMPRESSION FUNCTIONS*/
+
+/**
+ * Creates a J2K/JP2 compression structure
+ * @param   format      Coder to select
+ * @return              Returns a handle to a compressor if successful, returns NULL otherwise
+ */
+OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT format);
+
+/**
+Set encoding parameters to default values, that means :
+<ul>
+<li>Lossless
+<li>1 tile
+<li>Size of precinct : 2^15 x 2^15 (means 1 precinct)
+<li>Size of code-block : 64 x 64
+<li>Number of resolutions: 6
+<li>No SOP marker in the codestream
+<li>No EPH marker in the codestream
+<li>No sub-sampling in x or y direction
+<li>No mode switch activated
+<li>Progression order: LRCP
+<li>No index file
+<li>No ROI upshifted
+<li>No offset of the origin of the image
+<li>No offset of the origin of the tiles
+<li>Reversible DWT 5-3
+</ul>
+@param parameters Compression parameters
+*/
+OPJ_API void OPJ_CALLCONV opj_set_default_encoder_parameters(
+    opj_cparameters_t *parameters);
+
+/**
+ * Setup the encoder parameters using the current image and using user parameters.
+ * @param p_codec       Compressor handle
+ * @param parameters    Compression parameters
+ * @param image         Input filled image
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,
+        opj_cparameters_t *parameters,
+        opj_image_t *image);
+
+/**
+ * Start to compress the current image.
+ * @param p_codec       Compressor handle
+ * @param p_image       Input filled image
+ * @param p_stream      Input stgream
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec,
+        opj_image_t * p_image,
+        opj_stream_t *p_stream);
+
+/**
+ * End to compress the current image.
+ * @param p_codec       Compressor handle
+ * @param p_stream      Input stgream
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_end_compress(opj_codec_t *p_codec,
+        opj_stream_t *p_stream);
+
+/**
+ * Encode an image into a JPEG-2000 codestream
+ * @param p_codec       compressor handle
+ * @param p_stream      Output buffer stream
+ *
+ * @return              Returns true if successful, returns false otherwise
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec,
+        opj_stream_t *p_stream);
+/*
+==========================================================
+   codec output functions definitions
+==========================================================
+*/
+/* EXPERIMENTAL FUNCTIONS FOR NOW, USED ONLY IN J2K_DUMP*/
+
+/**
+Destroy Codestream information after compression or decompression
+@param cstr_info Codestream information structure
+*/
+OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t
+        **cstr_info);
+
+
+/**
+ * Dump the codec information into the output stream
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ * @param   info_flag       type of information dump.
+ * @param   output_stream   output stream where dump the information gotten from the codec.
+ *
+ */
+OPJ_API void OPJ_CALLCONV opj_dump_codec(opj_codec_t *p_codec,
+        OPJ_INT32 info_flag,
+        FILE* output_stream);
+
+/**
+ * Get the codestream information from the codec
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ *
+ * @return                  a pointer to a codestream information structure.
+ *
+ */
+OPJ_API opj_codestream_info_v2_t* OPJ_CALLCONV opj_get_cstr_info(
+    opj_codec_t *p_codec);
+
+/**
+ * Get the codestream index from the codec
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ *
+ * @return                  a pointer to a codestream index structure.
+ *
+ */
+OPJ_API opj_codestream_index_t * OPJ_CALLCONV opj_get_cstr_index(
+    opj_codec_t *p_codec);
+
+OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t
+        **p_cstr_index);
+
+
+/**
+ * Get the JP2 file information from the codec FIXME
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ *
+ * @return                  a pointer to a JP2 metadata structure.
+ *
+ */
+OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV opj_get_jp2_metadata(
+    opj_codec_t *p_codec);
+
+/**
+ * Get the JP2 file index from the codec FIXME
+ *
+ * @param   p_codec         the jpeg2000 codec.
+ *
+ * @return                  a pointer to a JP2 index structure.
+ *
+ */
+OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_codec);
+
+
+/*
+==========================================================
+   MCT functions
+==========================================================
+*/
+
+/**
+ * Sets the MCT matrix to use.
+ *
+ * @param   parameters      the parameters to change.
+ * @param   pEncodingMatrix the encoding matrix.
+ * @param   p_dc_shift      the dc shift coefficients to use.
+ * @param   pNbComp         the number of components of the image.
+ *
+ * @return  true if the parameters could be set.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_MCT(opj_cparameters_t *parameters,
+        OPJ_FLOAT32 * pEncodingMatrix,
+        OPJ_INT32 * p_dc_shift,
+        OPJ_UINT32 pNbComp);
+
+/*
+==========================================================
+   Thread functions
+==========================================================
+*/
+
+/** Returns if the library is built with thread support.
+ * OPJ_TRUE if mutex, condition, thread, thread pool are available.
+ */
+OPJ_API OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void);
+
+/** Return the number of virtual CPUs */
+OPJ_API int OPJ_CALLCONV opj_get_num_cpus(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* OPENJPEG_H */
diff --git a/abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/opj_config.h b/abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/opj_config.h
new file mode 100644 (file)
index 0000000..055fa2e
--- /dev/null
@@ -0,0 +1,10 @@
+/* create opj_config.h for CMake */
+#define OPJ_HAVE_STDINT_H              1
+
+/*--------------------------------------------------------------------------*/
+/* OpenJPEG Versioning                                                      */
+
+/* Version number. */
+#define OPJ_VERSION_MAJOR 2
+#define OPJ_VERSION_MINOR 2
+#define OPJ_VERSION_BUILD 0
diff --git a/abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/opj_stdint.h b/abi-check/installed/openjpeg/2.2.0/include/openjpeg-2.2/opj_stdint.h
new file mode 100644 (file)
index 0000000..f26c921
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * The copyright in this software is being made available under the 2-clauses
+ * BSD License, included below. This software may be subject to other third
+ * party and contributor rights, including patent rights, and no such rights
+ * are granted under this license.
+ *
+ * Copyright (c) 2012, Mathieu Malaterre <mathieu.malaterre@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef OPJ_STDINT_H
+#define OPJ_STDINT_H
+
+#include "opj_config.h"
+#ifdef OPJ_HAVE_STDINT_H
+#include <stdint.h>
+#else
+#if defined(_WIN32)
+typedef   signed __int8   int8_t;
+typedef unsigned __int8   uint8_t;
+typedef   signed __int16  int16_t;
+typedef unsigned __int16  uint16_t;
+typedef   signed __int32  int32_t;
+typedef unsigned __int32  uint32_t;
+typedef   signed __int64  int64_t;
+typedef unsigned __int64  uint64_t;
+#else
+#error unsupported platform
+#endif
+#endif
+
+#endif /* OPJ_STDINT_H */
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.a b/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.a
new file mode 100644 (file)
index 0000000..7397bd0
Binary files /dev/null and b/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.a differ
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so b/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so
new file mode 120000 (symlink)
index 0000000..196c0c7
--- /dev/null
@@ -0,0 +1 @@
+libopenjp2.so.7
\ No newline at end of file
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so.2.2.0 b/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so.2.2.0
new file mode 100644 (file)
index 0000000..a17cf1c
Binary files /dev/null and b/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so.2.2.0 differ
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so.7 b/abi-check/installed/openjpeg/2.2.0/lib/libopenjp2.so.7
new file mode 120000 (symlink)
index 0000000..1dcec4d
--- /dev/null
@@ -0,0 +1 @@
+libopenjp2.so.2.2.0
\ No newline at end of file
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGConfig.cmake b/abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGConfig.cmake
new file mode 100644 (file)
index 0000000..794320c
--- /dev/null
@@ -0,0 +1,48 @@
+#-----------------------------------------------------------------------------
+#
+# OPENJPEGConfig.cmake - CMake configuration file for external projects.
+#
+# This file is configured by OPENJPEG and used by the UseOPENJPEG.cmake
+# module to load OPENJPEG's settings for an external project.
+
+# The OPENJPEG version number.
+set(OPENJPEG_MAJOR_VERSION "2")
+set(OPENJPEG_MINOR_VERSION "2")
+set(OPENJPEG_BUILD_VERSION "0")
+
+# The libraries.
+set(OPENJPEG_LIBRARIES "openjp2")
+
+# The CMake macros dir.
+set(OPENJPEG_CMAKE_DIR "lib/openjpeg-2.2")
+
+# The configuration options.
+set(OPENJPEG_BUILD_SHARED_LIBS "ON")
+
+# The "use" file.
+set(OPENJPEG_USE_FILE "")
+
+get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
+  # This is an install tree
+  include(${SELF_DIR}/OpenJPEGTargets.cmake)
+  get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../include/openjpeg-2.2" ABSOLUTE)
+  set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_ROOT})
+
+else()
+  if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake)
+    # This is a build tree
+    set( OPENJPEG_INCLUDE_DIRS )
+
+    include(${SELF_DIR}/OpenJPEGExports.cmake)
+
+  else()
+    message(FATAL_ERROR "ooops")
+  endif()
+endif()
+
+set(OPENJPEG_USE_FILE ${SELF_DIR}/UseOPENJPEG.cmake)
+
+# Backward compatible part:
+set(OPENJPEG_FOUND       TRUE)
+
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGTargets-debug.cmake b/abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGTargets-debug.cmake
new file mode 100644 (file)
index 0000000..e85b346
--- /dev/null
@@ -0,0 +1,84 @@
+#----------------------------------------------------------------
+# Generated CMake target import file for configuration "Debug".
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+SET(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Compute the installation prefix relative to this file.
+GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+GET_FILENAME_COMPONENT(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+
+# Import target "openjp2" for configuration "Debug"
+SET_PROPERTY(TARGET openjp2 APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+SET_TARGET_PROPERTIES(openjp2 PROPERTIES
+  IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG "m;-lpthread"
+  IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.2.0"
+  IMPORTED_SONAME_DEBUG "libopenjp2.so.7"
+  )
+
+LIST(APPEND _IMPORT_CHECK_TARGETS openjp2 )
+LIST(APPEND _IMPORT_CHECK_FILES_FOR_openjp2 "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.2.0" )
+
+# Import target "openjp2_static" for configuration "Debug"
+SET_PROPERTY(TARGET openjp2_static APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+SET_TARGET_PROPERTIES(openjp2_static PROPERTIES
+  IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+  IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.a"
+  )
+
+LIST(APPEND _IMPORT_CHECK_TARGETS openjp2_static )
+LIST(APPEND _IMPORT_CHECK_FILES_FOR_openjp2_static "${_IMPORT_PREFIX}/lib/libopenjp2.a" )
+
+# Import target "opj_decompress" for configuration "Debug"
+SET_PROPERTY(TARGET opj_decompress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+SET_TARGET_PROPERTIES(opj_decompress PROPERTIES
+  IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_decompress"
+  )
+
+LIST(APPEND _IMPORT_CHECK_TARGETS opj_decompress )
+LIST(APPEND _IMPORT_CHECK_FILES_FOR_opj_decompress "${_IMPORT_PREFIX}/bin/opj_decompress" )
+
+# Import target "opj_compress" for configuration "Debug"
+SET_PROPERTY(TARGET opj_compress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+SET_TARGET_PROPERTIES(opj_compress PROPERTIES
+  IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_compress"
+  )
+
+LIST(APPEND _IMPORT_CHECK_TARGETS opj_compress )
+LIST(APPEND _IMPORT_CHECK_FILES_FOR_opj_compress "${_IMPORT_PREFIX}/bin/opj_compress" )
+
+# Import target "opj_dump" for configuration "Debug"
+SET_PROPERTY(TARGET opj_dump APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+SET_TARGET_PROPERTIES(opj_dump PROPERTIES
+  IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_dump"
+  )
+
+LIST(APPEND _IMPORT_CHECK_TARGETS opj_dump )
+LIST(APPEND _IMPORT_CHECK_FILES_FOR_opj_dump "${_IMPORT_PREFIX}/bin/opj_dump" )
+
+# Loop over all imported files and verify that they actually exist
+FOREACH(target ${_IMPORT_CHECK_TARGETS} )
+  FOREACH(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
+    IF(NOT EXISTS "${file}" )
+      MESSAGE(FATAL_ERROR "The imported target \"${target}\" references the file
+   \"${file}\"
+but this file does not exist.  Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+   \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+    ENDIF()
+  ENDFOREACH()
+  UNSET(_IMPORT_CHECK_FILES_FOR_${target})
+ENDFOREACH()
+UNSET(_IMPORT_CHECK_TARGETS)
+
+# Cleanup temporary variables.
+SET(_IMPORT_PREFIX)
+
+# Commands beyond this point should not need to know the version.
+SET(CMAKE_IMPORT_FILE_VERSION)
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGTargets.cmake b/abi-check/installed/openjpeg/2.2.0/lib/openjpeg-2.2/OpenJPEGTargets.cmake
new file mode 100644 (file)
index 0000000..87f192b
--- /dev/null
@@ -0,0 +1,39 @@
+# Generated by CMake 2.8.7
+
+IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+   MESSAGE(FATAL_ERROR "CMake >= 2.6.0 required")
+ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+CMAKE_POLICY(PUSH)
+CMAKE_POLICY(VERSION 2.6)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+SET(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Create imported target openjp2
+ADD_LIBRARY(openjp2 SHARED IMPORTED)
+
+# Create imported target openjp2_static
+ADD_LIBRARY(openjp2_static STATIC IMPORTED)
+
+# Create imported target opj_decompress
+ADD_EXECUTABLE(opj_decompress IMPORTED)
+
+# Create imported target opj_compress
+ADD_EXECUTABLE(opj_compress IMPORTED)
+
+# Create imported target opj_dump
+ADD_EXECUTABLE(opj_dump IMPORTED)
+
+# Load information for each installed configuration.
+GET_FILENAME_COMPONENT(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+FILE(GLOB CONFIG_FILES "${_DIR}/OpenJPEGTargets-*.cmake")
+FOREACH(f ${CONFIG_FILES})
+  INCLUDE(${f})
+ENDFOREACH(f)
+
+# Commands beyond this point should not need to know the version.
+SET(CMAKE_IMPORT_FILE_VERSION)
+CMAKE_POLICY(POP)
diff --git a/abi-check/installed/openjpeg/2.2.0/lib/pkgconfig/libopenjp2.pc b/abi-check/installed/openjpeg/2.2.0/lib/pkgconfig/libopenjp2.pc
new file mode 100644 (file)
index 0000000..ba2de99
--- /dev/null
@@ -0,0 +1,14 @@
+prefix=/home/travis/abi-check/work/abi-check/installed/openjpeg/2.2.0
+bindir=${prefix}/bin
+mandir=${prefix}/
+docdir=${prefix}/
+libdir=${prefix}/lib
+includedir=${prefix}/include/openjpeg-2.2
+
+Name: openjp2
+Description: JPEG2000 library (Part 1 and 2)
+URL: http://www.openjpeg.org/
+Version: 2.2.0
+Libs: -L${libdir} -lopenjp2
+Libs.private: -lm
+Cflags: -I${includedir}
index 2781fd7f5f9fac13e0e94a0c866670b747a2feee..97d9add9d6217c555f12ea177a9b5c68e35ba783 100644 (file)
Binary files a/abi-check/installed/openjpeg/current/lib/libopenjp2.a and b/abi-check/installed/openjpeg/current/lib/libopenjp2.a differ
index 449f222fc23553a8337934238301c86e64f521c1..16b7145edc469be2e19362102c597b127ba0ec3a 100644 (file)
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.1.2/2.2.0/meta.json b/abi-check/objects_report/openjpeg/2.1.2/2.2.0/meta.json
new file mode 100644 (file)
index 0000000..3b5e475
--- /dev/null
@@ -0,0 +1,12 @@
+{
+  "BC": "100",
+  "Added": 5,
+  "Removed": 0,
+  "TotalProblems": 0,
+  "ObjectsAdded": 0,
+  "ObjectsRemoved": 0,
+  "ObjectsAddedSymbols": 0,
+  "ObjectsRemovedSymbols": 0,
+  "ChangedSoname": 0,
+  "TotalObjects": 1
+}
\ No newline at end of file
diff --git a/abi-check/objects_report/openjpeg/2.1.2/2.2.0/report.html b/abi-check/objects_report/openjpeg/2.1.2/2.2.0/report.html
new file mode 100644 (file)
index 0000000..c60d255
--- /dev/null
@@ -0,0 +1,44 @@
+<!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="OpenJPEG, ABI, changes, compatibility, report" />
+    <meta name="description" content="ABI changes/compatibility report between 2.1.2 and 2.2.0 versions of the openjpeg" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
+    
+    
+    <title>
+        OpenJPEG: Objects ABI report between 2.1.2 and 2.2.0 versions
+    </title>
+    
+    </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Objects ABI report: <span class='version'>2.1.2</span> vs <span class='version'>2.2.0</span></h1>
+<br/>
+<br/>
+<table class='summary'>
+<tr><th>Object</th>
+<th>Backward<br/>Compatibility</th>
+<th>Added<br/>Symbols</th>
+<th>Removed<br/>Symbols</th>
+</tr>
+<tr>
+<td class='object'>libopenjp2.so.2.1.2</td>
+<td class='ok'><a href='../../../../compat_report/openjpeg/2.1.2/2.2.0/58361/abi_compat_report.html'>100%</a></td>
+<td class='added'><a class='num' href='../../../../compat_report/openjpeg/2.1.2/2.2.0/58361/abi_compat_report.html#Added'>5 new</a></td>
+<td class='ok'>0</td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
+<br/>
+
+</body>
+</html>
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
new file mode 100644 (file)
index 0000000..cdabadd
--- /dev/null
@@ -0,0 +1,12 @@
+{
+  "BC": "100",
+  "Added": 0,
+  "Removed": 0,
+  "TotalProblems": 0,
+  "ObjectsAdded": 0,
+  "ObjectsRemoved": 0,
+  "ObjectsAddedSymbols": 0,
+  "ObjectsRemovedSymbols": 0,
+  "ChangedSoname": 0,
+  "TotalObjects": 1
+}
\ No newline at end of file
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
new file mode 100644 (file)
index 0000000..e9bbe3b
--- /dev/null
@@ -0,0 +1,44 @@
+<!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="OpenJPEG, ABI, changes, compatibility, report" />
+    <meta name="description" content="ABI changes/compatibility report between 2.2.0 and current versions of the openjpeg" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+    <link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
+    
+    
+    <title>
+        OpenJPEG: Objects ABI report between 2.2.0 and current versions
+    </title>
+    
+    </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Objects ABI report: <span class='version'>2.2.0</span> vs <span class='version'>current</span></h1>
+<br/>
+<br/>
+<table class='summary'>
+<tr><th>Object</th>
+<th>Backward<br/>Compatibility</th>
+<th>Added<br/>Symbols</th>
+<th>Removed<br/>Symbols</th>
+</tr>
+<tr>
+<td class='object'>libopenjp2.so.2.2.0</td>
+<td class='ok'><a href='../../../../compat_report/openjpeg/2.2.0/current/4cd8b/abi_compat_report.html'>100%</a></td>
+<td class='ok'>0</td>
+<td class='ok'>0</td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
+<br/>
+
+</body>
+</html>
index 56298f6698f960113242bbc69693a38f4edd4c38..be821912a938cb4cbee438fe611fe61958e615f2 100644 (file)
     "PublicSymbols":  "public_symbols/openjpeg/current/list",
     "PublicTypes":    "public_types/openjpeg/current/list"
   },
+  {
+    "Number":         "2.2.0",
+    "Installed":      "installed/openjpeg/2.2.0",
+    "Source":         "src/openjpeg/2.2.0/version.-2.2.0.tar.gz",
+    "Changelog":      "CHANGELOG.md",
+    "HeadersDiff":    "On",
+    "PkgDiff":        "Off",
+    "ABIView":        "Off",
+    "ABIDiff":        "Off",
+    "PublicSymbols":  "public_symbols/openjpeg/2.2.0/list",
+    "PublicTypes":    "public_types/openjpeg/2.2.0/list"
+  },
   {
     "Number":         "2.1.2",
     "Installed":      "installed/openjpeg/2.1.2",
diff --git a/abi-check/src/openjpeg/2.2.0/version.-2.2.0.tar.gz b/abi-check/src/openjpeg/2.2.0/version.-2.2.0.tar.gz
new file mode 100644 (file)
index 0000000..8ca77fa
Binary files /dev/null and b/abi-check/src/openjpeg/2.2.0/version.-2.2.0.tar.gz differ
index eb45da7e7c2f82aae682028b38f04ce29ee2a04c..8ad6b7818efaf4c57f03997c985b76e6fbf3ef05 100644 (file)
 <th>Headers<br/>Diff</th>
 </tr>
 <tr id='current'><td>current</td>
-<td>2017-08-09<br/>17:28</td>
+<td>2017-08-09<br/>21:35</td>
 <td>7</td>
 <td><a href='../../changelog/openjpeg/current/log.html'>changelog</a></td>
-<td class='ok'><a href='../../objects_report/openjpeg/2.1.2/current/report.html'>100%</a></td>
-<td class='added'><a class='num' href='../../objects_report/openjpeg/2.1.2/current/report.html'>5 new</a></td>
+<td class='ok'><a href='../../objects_report/openjpeg/2.2.0/current/report.html'>100%</a></td>
 <td class='ok'>0</td>
-<td><a href='../../headers_diff/openjpeg/2.1.2/current/diff.html'>2</a></td>
+<td class='ok'>0</td>
+<td>0</td>
+</tr>
+<tr id='v2.2.0'><td>2.2.0</td>
+<td>2017-08-10</td>
+<td>7</td>
+<td><a href='../../changelog/openjpeg/2.2.0/log.html'>changelog</a></td>
+<td class='ok'><a href='../../objects_report/openjpeg/2.1.2/2.2.0/report.html'>100%</a></td>
+<td class='added'><a class='num' href='../../objects_report/openjpeg/2.1.2/2.2.0/report.html'>5 new</a></td>
+<td class='ok'>0</td>
+<td><a href='../../headers_diff/openjpeg/2.1.2/2.2.0/diff.html'>2</a></td>
 </tr>
 <tr id='v2.1.2'><td>2.1.2</td>
 <td>2016-09-28</td>
 <td>N/A</td>
 <td>N/A</td>
 </tr>
-</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Thu Aug 10 00:46:34 2017.<br/>
+</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Thu Aug 10 04:49:14 2017.<br/>
 <br/>
 <hr/>
 <div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='http://abi-laboratory.pro/'>abi-laboratory.pro</a></div>