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.3.1 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.3.1 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.3.1</span> vs <span class='version'>current</span></h1><br/><br/>
22 <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
23 <tr id="part-1" bgcolor="orange"><th></th><th> openjpeg.h (2.3.1) </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 id="part-1" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-1"><em> line 206<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-1"><em> line 206<span class="hide"> ¶</span></em></a></th><td></td></tr>
26 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_PART2 0x8000 /** At least 1 extension defined in
27 15444-2 (Part-2) */</td><td> </td><td class="right">#define OPJ_PROFILE_PART2 0x8000 /** At least 1 extension defined in
28 15444-2 (Part-2) */</td><td class="lineno"></td></tr>
29 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_CINEMA_2K 0x0003 /** 2K cinema profile defined in 154
30 44-1 AMD1 */</td><td> </td><td class="right">#define OPJ_PROFILE_CINEMA_2K 0x0003 /** 2K cinema profile defined in 154
31 44-1 AMD1 */</td><td class="lineno"></td></tr>
32 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_CINEMA_4K 0x0004 /** 4K cinema profile defined in 154
33 44-1 AMD1 */</td><td> </td><td class="right">#define OPJ_PROFILE_CINEMA_4K 0x0004 /** 4K cinema profile defined in 154
34 44-1 AMD1 */</td><td class="lineno"></td></tr>
35 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_CINEMA_S2K 0x0005 /** Scalable 2K cinema profile defin
36 ed in 15444-1 AMD2 */</td><td> </td><td class="right">#define OPJ_PROFILE_CINEMA_S2K 0x0005 /** Scalable 2K cinema profile defin
37 ed in 15444-1 AMD2 */</td><td class="lineno"></td></tr>
38 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_CINEMA_S4K 0x0006 /** Scalable 4K cinema profile defin
39 ed in 15444-1 AMD2 */</td><td> </td><td class="right">#define OPJ_PROFILE_CINEMA_S4K 0x0006 /** Scalable 4K cinema profile defin
40 ed in 15444-1 AMD2 */</td><td class="lineno"></td></tr>
41 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_CINEMA_LTS 0x0007 /** Long term storage cinema profile
42 defined in 15444-1 AMD2 */</td><td> </td><td class="right">#define OPJ_PROFILE_CINEMA_LTS 0x0007 /** Long term storage cinema profile
43 defined in 15444-1 AMD2 */</td><td class="lineno"></td></tr>
44 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_BC_SINGLE 0x0100 /** Single Tile Broadcast profile de
45 fined in 15444-1 AMD3 */</td><td> </td><td class="right">#define OPJ_PROFILE_BC_SINGLE 0x0100 /** Single Tile Broadcast profile de
46 fined in 15444-1 AMD3 */</td><td class="lineno"></td></tr>
47 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_BC_MULTI 0x0200 /** Multi Tile Broadcast profile def
48 ined in 15444-1 AMD3 */</td><td> </td><td class="right">#define OPJ_PROFILE_BC_MULTI 0x0200 /** Multi Tile Broadcast profile def
49 ined in 15444-1 AMD3 */</td><td class="lineno"></td></tr>
50 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_BC_MULTI_R 0x0300 /** Multi Tile Reversible Broadcast
51 profile defined in 15444-1 AMD3 */</td><td> </td><td class="right">#define OPJ_PROFILE_BC_MULTI_R 0x0300 /** Multi Tile Reversible Broadcast
52 profile defined in 15444-1 AMD3 */</td><td class="lineno"></td></tr>
53 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_IMF_2K 0x0400 /** 2K Single Tile Lossy IMF profile
54 defined in 15444-1 AMD 8 */</td><td> </td><td class="right">#define OPJ_PROFILE_IMF_2K 0x0400 /** 2K Single Tile Lossy IMF profile
55 defined in 15444-1 AMD 8 */</td><td class="lineno"></td></tr>
56 <tr id="diff0001"><td></td></tr>
57 <tr><td class="lineno"></td><td class="lblock">#define OPJ_PROFILE_IMF_4K <span class="delete">0x0401</span> /** 4K Single Tile Lossy IMF profile</td><td> </td><td class="rblock">#define OPJ_PROFILE_IMF_4K <span class="insert">0x0500</span> /** 4K Single Tile Lossy IMF profile</td><td class="lineno"></td></tr>
58 <tr><td class="lineno"></td><td class="lblock"> defined in 15444-1 AMD 8 */</td><td> </td><td class="rblock"> defined in 15444-1 AMD 8 */</td><td class="lineno"></td></tr>
59 <tr><td class="lineno"></td><td class="lblock">#define OPJ_PROFILE_IMF_8K <span class="delete">0x0402</span> /** 8K Single Tile Lossy IMF profile</td><td> </td><td class="rblock">#define OPJ_PROFILE_IMF_8K <span class="insert">0x0600</span> /** 8K Single Tile Lossy IMF profile</td><td class="lineno"></td></tr>
60 <tr><td class="lineno"></td><td class="lblock"> defined in 15444-1 AMD 8 */</td><td> </td><td class="rblock"> defined in 15444-1 AMD 8 */</td><td class="lineno"></td></tr>
61 <tr><td class="lineno"></td><td class="lblock">#define OPJ_PROFILE_IMF_2K_R <span class="delete">0x0403</span> /** 2K Single/Multi Tile Reversible </td><td> </td><td class="rblock">#define OPJ_PROFILE_IMF_2K_R <span class="insert">0x0700</span> /** 2K Single/Multi Tile Reversible </td><td class="lineno"></td></tr>
62 <tr><td class="lineno"></td><td class="lblock">IMF profile defined in 15444-1 AMD 8 */</td><td> </td><td class="rblock">IMF profile defined in 15444-1 AMD 8 */</td><td class="lineno"></td></tr>
63 <tr><td class="lineno"></td><td class="left">#define OPJ_PROFILE_IMF_4K_R 0x0800 /** 4K Single/Multi Tile Reversible
64 IMF profile defined in 15444-1 AMD 8 */</td><td> </td><td class="right">#define OPJ_PROFILE_IMF_4K_R 0x0800 /** 4K Single/Multi Tile Reversible
65 IMF profile defined in 15444-1 AMD 8 */</td><td class="lineno"></td></tr>
66 <tr id="diff0002"><td></td></tr>
67 <tr><td class="lineno"></td><td class="lblock">#define OPJ_PROFILE_IMF_8K_R 0x0<span class="delete">801 /** 8K Single/Multi Tile Reversible
68 </span>IMF profile defined in 15444-1 AMD 8 */</td><td> </td><td class="rblock">#define OPJ_PROFILE_IMF_8K_R 0x0<span class="insert">900 /** 8K Single/Multi Tile Reversible
69 </span>IMF profile defined in 15444-1 AMD 8 */</td><td class="lineno"></td></tr>
70 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
71 <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
72 <tr><td class="lineno"></td><td class="left"> * JPEG 2000 Part-2 extensions</td><td> </td><td class="right"> * JPEG 2000 Part-2 extensions</td><td class="lineno"></td></tr>
73 <tr><td class="lineno"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno"></td></tr>
74 <tr><td class="lineno"></td><td class="left">#define OPJ_EXTENSION_NONE 0x0000 /** No Part-2 extension */</td><td> </td><td class="right">#define OPJ_EXTENSION_NONE 0x0000 /** No Part-2 extension */</td><td class="lineno"></td></tr>
75 <tr><td class="lineno"></td><td class="left">#define OPJ_EXTENSION_MCT 0x0100 /** Custom MCT support */</td><td> </td><td class="right">#define OPJ_EXTENSION_MCT 0x0100 /** Custom MCT support */</td><td class="lineno"></td></tr>
76 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
77 <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
78 <tr><td class="lineno"></td><td class="left"> * JPEG 2000 profile macros</td><td> </td><td class="right"> * JPEG 2000 profile macros</td><td class="lineno"></td></tr>
79 <tr><td class="lineno"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno"></td></tr>
80 <tr><td class="lineno"></td><td class="left">#define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_P
81 ROFILE_CINEMA_S4K))</td><td> </td><td class="right">#define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_P
82 ROFILE_CINEMA_S4K))</td><td class="lineno"></td></tr>
83 <tr><td class="lineno"></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"></td></tr>
84 <tr><td class="lineno"></td><td class="left">#define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ
85 _PROFILE_BC_MULTI_R) | (0x000b))))</td><td> </td><td class="right">#define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ
86 _PROFILE_BC_MULTI_R) | (0x000b))))</td><td class="lineno"></td></tr>
87 <tr><td class="lineno"></td><td class="left">#define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PR
88 OFILE_IMF_8K_R) | (0x009b))))</td><td> </td><td class="right">#define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PR
89 OFILE_IMF_8K_R) | (0x009b))))</td><td class="lineno"></td></tr>
90 <tr><td class="lineno"></td><td class="left">#define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2)</td><td> </td><td class="right">#define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2)</td><td class="lineno"></td></tr>
91 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
92 <tr id="diff0003"><td></td></tr>
93 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_GET_IMF_PROFILE(v) ((v) & 0xff00) /** Extract IMF profil</span></td><td class="lineno"></td></tr>
94 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">e without mainlevel/sublevel */</span></td><td class="lineno"></td></tr>
95 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_GET_IMF_MAINLEVEL(v) ((v) & 0xf) /** Extract IMF main l</span></td><td class="lineno"></td></tr>
96 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">evel */</span></td><td class="lineno"></td></tr>
97 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_GET_IMF_SUBLEVEL(v) (((v) >> 4) & 0xf) /** Extract IMF sub le</span></td><td class="lineno"></td></tr>
98 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel */</span></td><td class="lineno"></td></tr>
99 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
100 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_MAX 11 /** Maximum main level */</span></td><td class="lineno"></td></tr>
101 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
102 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/** Max. Components Sampling Rate (MSamples/sec) per IMF main level */</span></td><td class="lineno"></td></tr>
103 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_1_MSAMPLESEC 65 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
104 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 1 */</span></td><td class="lineno"></td></tr>
105 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_2_MSAMPLESEC 130 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
106 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 2 */</span></td><td class="lineno"></td></tr>
107 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_3_MSAMPLESEC 195 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
108 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 3 */</span></td><td class="lineno"></td></tr>
109 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_4_MSAMPLESEC 260 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
110 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 4 */</span></td><td class="lineno"></td></tr>
111 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_5_MSAMPLESEC 520 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
112 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 5 */</span></td><td class="lineno"></td></tr>
113 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_6_MSAMPLESEC 1200 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
114 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 6 */</span></td><td class="lineno"></td></tr>
115 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_7_MSAMPLESEC 2400 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
116 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 7 */</span></td><td class="lineno"></td></tr>
117 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_8_MSAMPLESEC 4800 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
118 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 8 */</span></td><td class="lineno"></td></tr>
119 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_9_MSAMPLESEC 9600 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
120 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 9 */</span></td><td class="lineno"></td></tr>
121 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_10_MSAMPLESEC 19200 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
122 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 10 */</span></td><td class="lineno"></td></tr>
123 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_MAINLEVEL_11_MSAMPLESEC 38400 /** MSamples/sec for IMF m</span></td><td class="lineno"></td></tr>
124 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ain level 11 */</span></td><td class="lineno"></td></tr>
125 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
126 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/** Max. compressed Bit Rate (Mbits/s) per IMF sub level */</span></td><td class="lineno"></td></tr>
127 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_1_MBITSSEC 200 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
128 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 1 */</span></td><td class="lineno"></td></tr>
129 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_2_MBITSSEC 400 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
130 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 2 */</span></td><td class="lineno"></td></tr>
131 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_3_MBITSSEC 800 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
132 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 3 */</span></td><td class="lineno"></td></tr>
133 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_4_MBITSSEC 1600 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
134 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 4 */</span></td><td class="lineno"></td></tr>
135 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_5_MBITSSEC 3200 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
136 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 5 */</span></td><td class="lineno"></td></tr>
137 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_6_MBITSSEC 6400 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
138 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 6 */</span></td><td class="lineno"></td></tr>
139 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_7_MBITSSEC 12800 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
140 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 7 */</span></td><td class="lineno"></td></tr>
141 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_8_MBITSSEC 25600 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
142 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 8 */</span></td><td class="lineno"></td></tr>
143 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_IMF_SUBLEVEL_9_MBITSSEC 51200 /** Mbits/s for IMF sub le</span></td><td class="lineno"></td></tr>
144 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">vel 9 */</span></td><td class="lineno"></td></tr>
145 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno"></td></tr>
146 <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
147 <tr><td class="lineno"></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"></td></tr>
148 <tr><td class="lineno"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno"></td></tr>
149 <tr><td class="lineno"></td><td class="left">#define OPJ_CINEMA_24_CS 1302083 /** Maximum codestream length for 2
150 4fps */</td><td> </td><td class="right">#define OPJ_CINEMA_24_CS 1302083 /** Maximum codestream length for 2
151 4fps */</td><td class="lineno"></td></tr>
152 <tr><td class="lineno"></td><td class="left">#define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 4
153 8fps */</td><td> </td><td class="right">#define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 4
154 8fps */</td><td class="lineno"></td></tr>
155 <tr><td class="lineno"></td><td class="left">#define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color componen
156 t for 2K & 4K @ 24fps */</td><td> </td><td class="right">#define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color componen
157 t for 2K & 4K @ 24fps */</td><td class="lineno"></td></tr>
158 <tr><td class="lineno"></td><td class="left">#define OPJ_CINEMA_48_COMP 520833 /** Maximum size per color componen
159 t for 2K @ 48fps */</td><td> </td><td class="right">#define OPJ_CINEMA_48_COMP 520833 /** Maximum size per color componen
160 t for 2K @ 48fps */</td><td class="lineno"></td></tr>
161 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
162 <tr><td class="lineno"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno"></td></tr>
163 <tr><td class="lineno"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno"></td></tr>
164 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
165 <tr id="part-2" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-2"><em> line 319<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-2"><em> line 349<span class="hide"> ¶</span></em></a></th><td></td></tr>
166 <tr><td class="lineno"></td><td class="left"> * @param client_data Client object where will be return the event me
167 ssage</td><td> </td><td class="right"> * @param client_data Client object where will be return the event me
168 ssage</td><td class="lineno"></td></tr>
169 <tr><td class="lineno"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno"></td></tr>
170 <tr><td class="lineno"></td><td class="left">typedef void (*opj_msg_callback)(const char *msg, void *client_data);</td><td> </td><td class="right">typedef void (*opj_msg_callback)(const char *msg, void *client_data);</td><td class="lineno"></td></tr>
171 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
172 <tr><td class="lineno"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno"></td></tr>
173 <tr><td class="lineno"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno"></td></tr>
174 <tr><td class="lineno"></td><td class="left"> codec typedef definitions</td><td> </td><td class="right"> codec typedef definitions</td><td class="lineno"></td></tr>
175 <tr><td class="lineno"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno"></td></tr>
176 <tr><td class="lineno"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno"></td></tr>
177 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
178 <tr id="diff0004"><td></td></tr>
179 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#ifndef OPJ_UINT32_SEMANTICALLY_BUT_INT32</span></td><td class="lineno"></td></tr>
180 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_UINT32_SEMANTICALLY_BUT_INT32 OPJ_INT32</span></td><td class="lineno"></td></tr>
181 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#endif</span></td><td class="lineno"></td></tr>
182 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno"></td></tr>
183 <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
184 <tr><td class="lineno"></td><td class="left"> * Progression order changes</td><td> </td><td class="right"> * Progression order changes</td><td class="lineno"></td></tr>
185 <tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
186 <tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
187 <tr><td class="lineno"></td><td class="left">typedef struct opj_poc {</td><td> </td><td class="right">typedef struct opj_poc {</td><td class="lineno"></td></tr>
188 <tr><td class="lineno"></td><td class="left"> /** Resolution num start, Component num start, given by POC */</td><td> </td><td class="right"> /** Resolution num start, Component num start, given by POC */</td><td class="lineno"></td></tr>
189 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 resno0, compno0;</td><td> </td><td class="right"> OPJ_UINT32 resno0, compno0;</td><td class="lineno"></td></tr>
190 <tr><td class="lineno"></td><td class="left"> /** Layer num end,Resolution num end, Component num end, given by POC *
191 /</td><td> </td><td class="right"> /** Layer num end,Resolution num end, Component num end, given by POC *
192 /</td><td class="lineno"></td></tr>
193 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 layno1, resno1, compno1;</td><td> </td><td class="right"> OPJ_UINT32 layno1, resno1, compno1;</td><td class="lineno"></td></tr>
194 <tr><td class="lineno"></td><td class="left"> /** Layer num start,Precinct num start, Precinct num end */</td><td> </td><td class="right"> /** Layer num start,Precinct num start, Precinct num end */</td><td class="lineno"></td></tr>
195 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 layno0, precno0, precno1;</td><td> </td><td class="right"> OPJ_UINT32 layno0, precno0, precno1;</td><td class="lineno"></td></tr>
196 <tr><td class="lineno"></td><td class="left"> /** Progression order enum*/</td><td> </td><td class="right"> /** Progression order enum*/</td><td class="lineno"></td></tr>
197 <tr><td class="lineno"></td><td class="left"> OPJ_PROG_ORDER prg1, prg;</td><td> </td><td class="right"> OPJ_PROG_ORDER prg1, prg;</td><td class="lineno"></td></tr>
198 <tr><td class="lineno"></td><td class="left"> /** Progression order string*/</td><td> </td><td class="right"> /** Progression order string*/</td><td class="lineno"></td></tr>
199 <tr><td class="lineno"></td><td class="left"> OPJ_CHAR progorder[5];</td><td> </td><td class="right"> OPJ_CHAR progorder[5];</td><td class="lineno"></td></tr>
200 <tr id="diff0005"><td></td></tr>
201 <tr><td class="lineno"></td><td class="lblock"> /** Tile number */</td><td> </td><td class="rblock"> /** Tile number <span class="insert">(starting at 1) </span>*/</td><td class="lineno"></td></tr>
202 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 tile;</td><td> </td><td class="right"> OPJ_UINT32 tile;</td><td class="lineno"></td></tr>
203 <tr><td class="lineno"></td><td class="left"> /** Start and end values for Tile width and height*/</td><td> </td><td class="right"> /** Start and end values for Tile width and height*/</td><td class="lineno"></td></tr>
204 <tr id="diff0006"><td></td></tr>
205 <tr><td class="lineno"></td><td class="lblock"> OPJ_INT32 tx0, tx1, ty0, ty1;</td><td> </td><td class="rblock"> OPJ_<span class="insert">UINT32_SEMANTICALLY_BUT_</span>INT32 tx0, tx1, ty0, ty1;</td><td class="lineno"></td></tr>
206 <tr><td class="lineno"></td><td class="left"> /** Start value, initialised in pi_initialise_encode*/</td><td> </td><td class="right"> /** Start value, initialised in pi_initialise_encode*/</td><td class="lineno"></td></tr>
207 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 layS, resS, compS, prcS;</td><td> </td><td class="right"> OPJ_UINT32 layS, resS, compS, prcS;</td><td class="lineno"></td></tr>
208 <tr><td class="lineno"></td><td class="left"> /** End value, initialised in pi_initialise_encode */</td><td> </td><td class="right"> /** End value, initialised in pi_initialise_encode */</td><td class="lineno"></td></tr>
209 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 layE, resE, compE, prcE;</td><td> </td><td class="right"> OPJ_UINT32 layE, resE, compE, prcE;</td><td class="lineno"></td></tr>
210 <tr><td class="lineno"></td><td class="left"> /** Start and end values of Tile width and height, initialised in pi_in
211 itialise_encode*/</td><td> </td><td class="right"> /** Start and end values of Tile width and height, initialised in pi_in
212 itialise_encode*/</td><td class="lineno"></td></tr>
213 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 txS, txE, tyS, tyE, dx, dy;</td><td> </td><td class="right"> OPJ_UINT32 txS, txE, tyS, tyE, dx, dy;</td><td class="lineno"></td></tr>
214 <tr><td class="lineno"></td><td class="left"> /** Temporary values for Tile parts, initialised in pi_create_encode */</td><td> </td><td class="right"> /** Temporary values for Tile parts, initialised in pi_create_encode */</td><td class="lineno"></td></tr>
215 <tr><td class="lineno"></td><td class="left"> OPJ_UINT32 lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t;</td><td> </td><td class="right"> OPJ_UINT32 lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t;</td><td class="lineno"></td></tr>
216 <tr><td class="lineno"></td><td class="left">} opj_poc_t;</td><td> </td><td class="right">} opj_poc_t;</td><td class="lineno"></td></tr>
217 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
218 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
219 <tr id="part-3" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-3"><em> line 1539<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-3"><em> line 1573<span class="hide"> ¶</span></em></a></th><td></td></tr>
220 <tr><td class="lineno"></td><td class="left"> * Setup the encoder parameters using the current image and using user para
221 meters.</td><td> </td><td class="right"> * Setup the encoder parameters using the current image and using user para
222 meters.</td><td class="lineno"></td></tr>
223 <tr><td class="lineno"></td><td class="left"> * @param p_codec Compressor handle</td><td> </td><td class="right"> * @param p_codec Compressor handle</td><td class="lineno"></td></tr>
224 <tr><td class="lineno"></td><td class="left"> * @param parameters Compression parameters</td><td> </td><td class="right"> * @param parameters Compression parameters</td><td class="lineno"></td></tr>
225 <tr><td class="lineno"></td><td class="left"> * @param image Input filled image</td><td> </td><td class="right"> * @param image Input filled image</td><td class="lineno"></td></tr>
226 <tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
227 <tr><td class="lineno"></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"></td></tr>
228 <tr><td class="lineno"></td><td class="left"> opj_cparameters_t *parameters,</td><td> </td><td class="right"> opj_cparameters_t *parameters,</td><td class="lineno"></td></tr>
229 <tr><td class="lineno"></td><td class="left"> opj_image_t *image);</td><td> </td><td class="right"> opj_image_t *image);</td><td class="lineno"></td></tr>
230 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
231 <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
232 <tr id="diff0007"><td></td></tr>
233 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">* Specify extra options for the encoder.</span></td><td class="lineno"></td></tr>
234 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
235 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * This may be called after opj_setup_encoder() and before opj_start_compre</span></td><td class="lineno"></td></tr>
236 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ss()</span></td><td class="lineno"></td></tr>
237 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
238 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * This is the way to add new options in a fully ABI compatible way, withou</span></td><td class="lineno"></td></tr>
239 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">t</span></td><td class="lineno"></td></tr>
240 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * extending the opj_cparameters_t structure.</span></td><td class="lineno"></td></tr>
241 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
242 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Currently supported options are:</span></td><td class="lineno"></td></tr>
243 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * <ul></span></td><td class="lineno"></td></tr>
244 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * <li>PLT=YES/NO. Defaults to NO. If set to YES, PLT marker segments,</span></td><td class="lineno"></td></tr>
245 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * indicating the length of each packet in the tile-part header, will b</span></td><td class="lineno"></td></tr>
246 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">e</span></td><td class="lineno"></td></tr>
247 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * written. Since 2.3.2</li></span></td><td class="lineno"></td></tr>
248 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * </ul></span></td><td class="lineno"></td></tr>
249 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
250 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param p_codec Compressor handle</span></td><td class="lineno"></td></tr>
251 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param p_options Compression options. This should be a NULL terminat</span></td><td class="lineno"></td></tr>
252 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ed</span></td><td class="lineno"></td></tr>
253 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * array of strings. Each string is of the form KEY=VA</span></td><td class="lineno"></td></tr>
254 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">LUE.</span></td><td class="lineno"></td></tr>
255 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
256 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @return OPJ_TRUE in case of success.</span></td><td class="lineno"></td></tr>
257 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @since 2.3.2</span></td><td class="lineno"></td></tr>
258 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno"></td></tr>
259 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encoder_set_extra_options(</span></td><td class="lineno"></td></tr>
260 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> opj_codec_t *p_codec,</span></td><td class="lineno"></td></tr>
261 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> const char* const* p_options);</span></td><td class="lineno"></td></tr>
262 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
263 <tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno"></td></tr>
264 <tr><td class="lineno"></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"></td></tr>
265 <tr><td class="lineno"></td><td class="left"> * @param p_codec Compressor handle</td><td> </td><td class="right"> * @param p_codec Compressor handle</td><td class="lineno"></td></tr>
266 <tr><td class="lineno"></td><td class="left"> * @param p_image Input filled image</td><td> </td><td class="right"> * @param p_image Input filled image</td><td class="lineno"></td></tr>
267 <tr><td class="lineno"></td><td class="left"> * @param p_stream Input stgream</td><td> </td><td class="right"> * @param p_stream Input stgream</td><td class="lineno"></td></tr>
268 <tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
269 <tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
270 <tr><td class="lineno"></td><td class="left"> opj_image_t * p_image,</td><td> </td><td class="right"> opj_image_t * p_image,</td><td class="lineno"></td></tr>
271 <tr><td class="lineno"></td><td class="left"> opj_stream_t *p_stream);</td><td> </td><td class="right"> opj_stream_t *p_stream);</td><td class="lineno"></td></tr>
272 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
273 <tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
275 <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
276 <tr id="end" bgcolor="gray"><th colspan="5" align="center"> End of changes. 7 change blocks. </th></tr>
277 <tr class="stats"><td></td><th><i>9 lines changed or deleted</i></th><th><i> </i></th><th><i>97 lines changed or added</i></th><td></td></tr>
278 <tr><td colspan="5" align="center" class="small"></td></tr>
280 <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>