1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <meta name="keywords" content="OpenJPEG, header, diff" />
6 <meta name="description" content="Diff for header files between 2.2.0 and current versions of openjpeg" />
7 <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
8 <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
12 OpenJPEG: headers diff between 2.2.0 and current versions
18 <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/>
21 <h1>Headers diff: <span class='version'>2.2.0</span> vs <span class='version'>current</span></h1><br/><br/>
22 <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
23 <tr bgcolor="orange"><th></th><th> openjpeg.h (2.2.0) </th><th> </th><th> openjpeg.h (current) </th><th></th></tr>
24 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
25 <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> line 382</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> line 382</em></th><td></td></tr>
26 <tr><td class="lineno" valign="top"></td><td class="left"> /** csty : coding style */</td><td> </td><td class="right"> /** csty : coding style */</td><td class="lineno" valign="top"></td></tr>
27 <tr><td class="lineno" valign="top"></td><td class="left"> int csty;</td><td> </td><td class="right"> int csty;</td><td class="lineno" valign="top"></td></tr>
28 <tr><td class="lineno" valign="top"></td><td class="left"> /** progression order (default OPJ_LRCP) */</td><td> </td><td class="right"> /** progression order (default OPJ_LRCP) */</td><td class="lineno" valign="top"></td></tr>
29 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_PROG_ORDER prog_order;</td><td> </td><td class="right"> OPJ_PROG_ORDER prog_order;</td><td class="lineno" valign="top"></td></tr>
30 <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>
31 <tr><td class="lineno" valign="top"></td><td class="left"> opj_poc_t POC[32];</td><td> </td><td class="right"> opj_poc_t POC[32];</td><td class="lineno" valign="top"></td></tr>
32 <tr><td class="lineno" valign="top"></td><td class="left"> /** number of progression order changes (POC), default to 0 */</td><td> </td><td class="right"> /** number of progression order changes (POC), default to 0 */</td><td class="lineno" valign="top"></td></tr>
33 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 numpocs;</td><td> </td><td class="right"> OPJ_UINT32 numpocs;</td><td class="lineno" valign="top"></td></tr>
34 <tr><td class="lineno" valign="top"></td><td class="left"> /** number of layers */</td><td> </td><td class="right"> /** number of layers */</td><td class="lineno" valign="top"></td></tr>
35 <tr><td class="lineno" valign="top"></td><td class="left"> int tcp_numlayers;</td><td> </td><td class="right"> int tcp_numlayers;</td><td class="lineno" valign="top"></td></tr>
36 <tr><td><a name="diff0001" /></td></tr>
37 <tr><td class="lineno" valign="top"></td><td class="lblock"> /** rates of layers - might be subsequently limited by the max_cs_size </td><td> </td><td class="rblock"> /** rates of layers - might be subsequently limited by the max_cs_size </td><td class="lineno" valign="top"></td></tr>
38 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">field</span> */</td><td> </td><td class="rblock"><span class="insert">field.</span></td><td class="lineno" valign="top"></td></tr>
39 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Should be decreasing. 1 can be</span></td><td class="lineno" valign="top"></td></tr>
40 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * used as last value to indicate the last layer is lossless.</span> */</td><td class="lineno" valign="top"></td></tr>
41 <tr><td class="lineno" valign="top"></td><td class="left"> float tcp_rates[100];</td><td> </td><td class="right"> float tcp_rates[100];</td><td class="lineno" valign="top"></td></tr>
42 <tr><td><a name="diff0002" /></td></tr>
43 <tr><td class="lineno" valign="top"></td><td class="lblock"> /** different psnr for successive <span class="delete">layers</span> */</td><td> </td><td class="rblock"> /** different psnr for successive <span class="insert">layers. Should be increasing. 0 can b</span></td><td class="lineno" valign="top"></td></tr>
44 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">e</span></td><td class="lineno" valign="top"></td></tr>
45 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * used as last value to indicate the last layer is lossless.</span> */</td><td class="lineno" valign="top"></td></tr>
46 <tr><td class="lineno" valign="top"></td><td class="left"> float tcp_distoratio[100];</td><td> </td><td class="right"> float tcp_distoratio[100];</td><td class="lineno" valign="top"></td></tr>
47 <tr><td class="lineno" valign="top"></td><td class="left"> /** number of resolutions */</td><td> </td><td class="right"> /** number of resolutions */</td><td class="lineno" valign="top"></td></tr>
48 <tr><td class="lineno" valign="top"></td><td class="left"> int numresolution;</td><td> </td><td class="right"> int numresolution;</td><td class="lineno" valign="top"></td></tr>
49 <tr><td class="lineno" valign="top"></td><td class="left"> /** initial code block width, default to 64 */</td><td> </td><td class="right"> /** initial code block width, default to 64 */</td><td class="lineno" valign="top"></td></tr>
50 <tr><td class="lineno" valign="top"></td><td class="left"> int cblockw_init;</td><td> </td><td class="right"> int cblockw_init;</td><td class="lineno" valign="top"></td></tr>
51 <tr><td class="lineno" valign="top"></td><td class="left"> /** initial code block height, default to 64 */</td><td> </td><td class="right"> /** initial code block height, default to 64 */</td><td class="lineno" valign="top"></td></tr>
52 <tr><td class="lineno" valign="top"></td><td class="left"> int cblockh_init;</td><td> </td><td class="right"> int cblockh_init;</td><td class="lineno" valign="top"></td></tr>
53 <tr><td class="lineno" valign="top"></td><td class="left"> /** mode switch (cblk_style) */</td><td> </td><td class="right"> /** mode switch (cblk_style) */</td><td class="lineno" valign="top"></td></tr>
54 <tr><td class="lineno" valign="top"></td><td class="left"> int mode;</td><td> </td><td class="right"> int mode;</td><td class="lineno" valign="top"></td></tr>
55 <tr><td class="lineno" valign="top"></td><td class="left"> /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression (def
56 ault) */</td><td> </td><td class="right"> /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression (def
57 ault) */</td><td class="lineno" valign="top"></td></tr>
58 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
59 <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> line 864</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> line 867</em></th><td></td></tr>
60 <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
61 <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>
62 <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
63 <tr><td class="lineno" valign="top"></td><td class="left">typedef struct opj_tccp_info {</td><td> </td><td class="right">typedef struct opj_tccp_info {</td><td class="lineno" valign="top"></td></tr>
64 <tr><td class="lineno" valign="top"></td><td class="left"> /** component index */</td><td> </td><td class="right"> /** component index */</td><td class="lineno" valign="top"></td></tr>
65 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 compno;</td><td> </td><td class="right"> OPJ_UINT32 compno;</td><td class="lineno" valign="top"></td></tr>
66 <tr><td class="lineno" valign="top"></td><td class="left"> /** coding style */</td><td> </td><td class="right"> /** coding style */</td><td class="lineno" valign="top"></td></tr>
67 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 csty;</td><td> </td><td class="right"> OPJ_UINT32 csty;</td><td class="lineno" valign="top"></td></tr>
68 <tr><td class="lineno" valign="top"></td><td class="left"> /** number of resolutions */</td><td> </td><td class="right"> /** number of resolutions */</td><td class="lineno" valign="top"></td></tr>
69 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 numresolutions;</td><td> </td><td class="right"> OPJ_UINT32 numresolutions;</td><td class="lineno" valign="top"></td></tr>
70 <tr><td><a name="diff0003" /></td></tr>
71 <tr><td class="lineno" valign="top"></td><td class="lblock"> /** code-blocks width */</td><td> </td><td class="rblock"> /** <span class="insert">log2 of </span>code-blocks width */</td><td class="lineno" valign="top"></td></tr>
72 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 cblkw;</td><td> </td><td class="right"> OPJ_UINT32 cblkw;</td><td class="lineno" valign="top"></td></tr>
73 <tr><td><a name="diff0004" /></td></tr>
74 <tr><td class="lineno" valign="top"></td><td class="lblock"> /** code-blocks height */</td><td> </td><td class="rblock"> /** <span class="insert">log2 of </span>code-blocks height */</td><td class="lineno" valign="top"></td></tr>
75 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 cblkh;</td><td> </td><td class="right"> OPJ_UINT32 cblkh;</td><td class="lineno" valign="top"></td></tr>
76 <tr><td class="lineno" valign="top"></td><td class="left"> /** code-block coding style */</td><td> </td><td class="right"> /** code-block coding style */</td><td class="lineno" valign="top"></td></tr>
77 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 cblksty;</td><td> </td><td class="right"> OPJ_UINT32 cblksty;</td><td class="lineno" valign="top"></td></tr>
78 <tr><td class="lineno" valign="top"></td><td class="left"> /** discrete wavelet transform identifier: 0 = 9-7 irreversible, 1 = 5-
79 3 reversible */</td><td> </td><td class="right"> /** discrete wavelet transform identifier: 0 = 9-7 irreversible, 1 = 5-
80 3 reversible */</td><td class="lineno" valign="top"></td></tr>
81 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 qmfbid;</td><td> </td><td class="right"> OPJ_UINT32 qmfbid;</td><td class="lineno" valign="top"></td></tr>
82 <tr><td class="lineno" valign="top"></td><td class="left"> /** quantisation style */</td><td> </td><td class="right"> /** quantisation style */</td><td class="lineno" valign="top"></td></tr>
83 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 qntsty;</td><td> </td><td class="right"> OPJ_UINT32 qntsty;</td><td class="lineno" valign="top"></td></tr>
84 <tr><td class="lineno" valign="top"></td><td class="left"> /** stepsizes used for quantization */</td><td> </td><td class="right"> /** stepsizes used for quantization */</td><td class="lineno" valign="top"></td></tr>
85 <tr><td class="lineno" valign="top"></td><td class="left"> OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];</td><td> </td><td class="right"> OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS];</td><td class="lineno" valign="top"></td></tr>
86 <tr><td class="lineno" valign="top"></td><td class="left"> /** stepsizes used for quantization */</td><td> </td><td class="right"> /** stepsizes used for quantization */</td><td class="lineno" valign="top"></td></tr>
87 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
88 <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> line 1329</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> line 1332</em></th><td></td></tr>
89 <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
90 <tr><td class="lineno" valign="top"></td><td class="left"> * @return true if the main header of the codestream and the JP
91 2 header is correctly read.</td><td> </td><td class="right"> * @return true if the main header of the codestream and the JP
92 2 header is correctly read.</td><td class="lineno" valign="top"></td></tr>
93 <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
94 <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_header(opj_stream_t *p_stream,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_header(opj_stream_t *p_stream,</td><td class="lineno" valign="top"></td></tr>
95 <tr><td class="lineno" valign="top"></td><td class="left"> opj_codec_t *p_codec,</td><td> </td><td class="right"> opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
96 <tr><td class="lineno" valign="top"></td><td class="left"> opj_image_t **p_image);</td><td> </td><td class="right"> opj_image_t **p_image);</td><td class="lineno" valign="top"></td></tr>
97 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
98 <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
99 <tr><td class="lineno" valign="top"></td><td class="left"> * Sets the given area to be decoded. This function should be called right
100 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
101 after opj_read_header and before any tile header reading.</td><td class="lineno" valign="top"></td></tr>
102 <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
103 <tr><td><a name="diff0005" /></td></tr>
104 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">* The coordinates passed to this function should be expressed in the refer</span></td><td class="lineno" valign="top"></td></tr>
105 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ence grid,</span></td><td class="lineno" valign="top"></td></tr>
106 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * that is to say at the highest resolution level, even if requesting the i</span></td><td class="lineno" valign="top"></td></tr>
107 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">mage at lower</span></td><td class="lineno" valign="top"></td></tr>
108 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * resolution levels.</span></td><td class="lineno" valign="top"></td></tr>
109 <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>
110 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Generally opj_set_decode_area() should be followed by opj_decode(), and </span></td><td class="lineno" valign="top"></td></tr>
111 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">the</span></td><td class="lineno" valign="top"></td></tr>
112 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * codec cannot be re-used.</span></td><td class="lineno" valign="top"></td></tr>
113 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * In the particular case of an image made of a single tile, several sequen</span></td><td class="lineno" valign="top"></td></tr>
114 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ces of</span></td><td class="lineno" valign="top"></td></tr>
115 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * calls to opoj_set_decode_area() and opj_decode() are allowed, and will b</span></td><td class="lineno" valign="top"></td></tr>
116 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ring</span></td><td class="lineno" valign="top"></td></tr>
117 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * performance improvements when reading an image by chunks.</span></td><td class="lineno" valign="top"></td></tr>
118 <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>
119 <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="right"> * @param p_codec the jpeg2000 codec.</td><td class="lineno" valign="top"></td></tr>
120 <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_image the decoded image previously setted by opj_read
121 _header</td><td> </td><td class="right"> * @param p_image the decoded image previously setted by opj_read
122 _header</td><td class="lineno" valign="top"></td></tr>
123 <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_start_x the left position of the rectangle to decode (i
124 n image coordinates).</td><td> </td><td class="right"> * @param p_start_x the left position of the rectangle to decode (i
125 n image coordinates).</td><td class="lineno" valign="top"></td></tr>
126 <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_end_x the right position of the rectangle to decode (
127 in image coordinates).</td><td> </td><td class="right"> * @param p_end_x the right position of the rectangle to decode (
128 in image coordinates).</td><td class="lineno" valign="top"></td></tr>
129 <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_start_y the up position of the rectangle to decode (in
130 image coordinates).</td><td> </td><td class="right"> * @param p_start_y the up position of the rectangle to decode (in
131 image coordinates).</td><td class="lineno" valign="top"></td></tr>
132 <tr><td class="lineno" valign="top"></td><td class="left"> * @param p_end_y the bottom position of the rectangle to decode
133 (in image coordinates).</td><td> </td><td class="right"> * @param p_end_y the bottom position of the rectangle to decode
134 (in image coordinates).</td><td class="lineno" valign="top"></td></tr>
135 <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
136 <tr><td class="lineno" valign="top"></td><td class="left"> * @return true if the area could be set.</td><td> </td><td class="right"> * @return true if the area could be set.</td><td class="lineno" valign="top"></td></tr>
137 <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
138 <tr><td class="lineno" valign="top"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decode_area(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decode_area(opj_codec_t *p_codec,</td><td class="lineno" valign="top"></td></tr>
140 <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
141 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 5 change blocks. </a></th></tr>
142 <tr class="stats"><td></td><th><i>5 lines changed or deleted</i></th><th><i> </i></th><th><i>24 lines changed or added</i></th><td></td></tr>
143 <tr><td colspan="5" align="center" class="small"></td></tr>
145 <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>