xref: /aosp_15_r20/external/pdfium/third_party/libopenjpeg/0046-func-ptr-mixup.patch (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Workerdiff --git a/third_party/libopenjpeg/j2k.c b/third_party/libopenjpeg/j2k.c
2*3ac0a46fSAndroid Build Coastguard Workerindex 9b06e7ec8..e2e048760 100644
3*3ac0a46fSAndroid Build Coastguard Worker--- a/third_party/libopenjpeg/j2k.c
4*3ac0a46fSAndroid Build Coastguard Worker+++ b/third_party/libopenjpeg/j2k.c
5*3ac0a46fSAndroid Build Coastguard Worker@@ -6685,8 +6685,9 @@ static OPJ_BOOL opj_j2k_read_cpf(opj_j2k_t *p_j2k,
6*3ac0a46fSAndroid Build Coastguard Worker /* J2K / JPT decoder interface                                             */
7*3ac0a46fSAndroid Build Coastguard Worker /* ----------------------------------------------------------------------- */
8*3ac0a46fSAndroid Build Coastguard Worker
9*3ac0a46fSAndroid Build Coastguard Worker-void opj_j2k_setup_decoder(opj_j2k_t *j2k, opj_dparameters_t *parameters)
10*3ac0a46fSAndroid Build Coastguard Worker+void opj_j2k_setup_decoder(void *p_j2k, opj_dparameters_t *parameters)
11*3ac0a46fSAndroid Build Coastguard Worker {
12*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* j2k = (opj_j2k_t*)p_j2k;
13*3ac0a46fSAndroid Build Coastguard Worker     if (j2k && parameters) {
14*3ac0a46fSAndroid Build Coastguard Worker         j2k->m_cp.m_specific_param.m_dec.m_layer = parameters->cp_layer;
15*3ac0a46fSAndroid Build Coastguard Worker         j2k->m_cp.m_specific_param.m_dec.m_reduce = parameters->cp_reduce;
16*3ac0a46fSAndroid Build Coastguard Worker@@ -6700,15 +6701,17 @@ void opj_j2k_setup_decoder(opj_j2k_t *j2k, opj_dparameters_t *parameters)
17*3ac0a46fSAndroid Build Coastguard Worker     }
18*3ac0a46fSAndroid Build Coastguard Worker }
19*3ac0a46fSAndroid Build Coastguard Worker
20*3ac0a46fSAndroid Build Coastguard Worker-void opj_j2k_decoder_set_strict_mode(opj_j2k_t *j2k, OPJ_BOOL strict)
21*3ac0a46fSAndroid Build Coastguard Worker+void opj_j2k_decoder_set_strict_mode(void *p_j2k, OPJ_BOOL strict)
22*3ac0a46fSAndroid Build Coastguard Worker {
23*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* j2k = (opj_j2k_t*)p_j2k;
24*3ac0a46fSAndroid Build Coastguard Worker     if (j2k) {
25*3ac0a46fSAndroid Build Coastguard Worker         j2k->m_cp.strict = strict;
26*3ac0a46fSAndroid Build Coastguard Worker     }
27*3ac0a46fSAndroid Build Coastguard Worker }
28*3ac0a46fSAndroid Build Coastguard Worker
29*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_threads(opj_j2k_t *j2k, OPJ_UINT32 num_threads)
30*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_threads(void *p_j2k, OPJ_UINT32 num_threads)
31*3ac0a46fSAndroid Build Coastguard Worker {
32*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* j2k = (opj_j2k_t*)p_j2k;
33*3ac0a46fSAndroid Build Coastguard Worker     /* Currently we pass the thread-pool to the tcd, so we cannot re-set it */
34*3ac0a46fSAndroid Build Coastguard Worker     /* afterwards */
35*3ac0a46fSAndroid Build Coastguard Worker     if (opj_has_thread_support() && j2k->m_tcd == NULL) {
36*3ac0a46fSAndroid Build Coastguard Worker@@ -7613,11 +7616,12 @@ static OPJ_BOOL opj_j2k_is_imf_compliant(opj_cparameters_t *parameters,
37*3ac0a46fSAndroid Build Coastguard Worker }
38*3ac0a46fSAndroid Build Coastguard Worker
39*3ac0a46fSAndroid Build Coastguard Worker
40*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k,
41*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_setup_encoder(void *p_j2k,
42*3ac0a46fSAndroid Build Coastguard Worker                                opj_cparameters_t *parameters,
43*3ac0a46fSAndroid Build Coastguard Worker                                opj_image_t *image,
44*3ac0a46fSAndroid Build Coastguard Worker                                opj_event_mgr_t * p_manager)
45*3ac0a46fSAndroid Build Coastguard Worker {
46*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* j2k = (opj_j2k_t*)p_j2k;
47*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 i, j, tileno, numpocs_tile;
48*3ac0a46fSAndroid Build Coastguard Worker     opj_cp_t *cp = 00;
49*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 cblkw, cblkh;
50*3ac0a46fSAndroid Build Coastguard Worker@@ -7666,10 +7670,10 @@ OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k,
51*3ac0a46fSAndroid Build Coastguard Worker         return OPJ_FALSE;
52*3ac0a46fSAndroid Build Coastguard Worker     }
53*3ac0a46fSAndroid Build Coastguard Worker
54*3ac0a46fSAndroid Build Coastguard Worker-    p_j2k->m_specific_param.m_encoder.m_nb_comps = image->numcomps;
55*3ac0a46fSAndroid Build Coastguard Worker+    j2k->m_specific_param.m_encoder.m_nb_comps = image->numcomps;
56*3ac0a46fSAndroid Build Coastguard Worker
57*3ac0a46fSAndroid Build Coastguard Worker     /* keep a link to cp so that we can destroy it later in j2k_destroy_compress */
58*3ac0a46fSAndroid Build Coastguard Worker-    cp = &(p_j2k->m_cp);
59*3ac0a46fSAndroid Build Coastguard Worker+    cp = &(j2k->m_cp);
60*3ac0a46fSAndroid Build Coastguard Worker
61*3ac0a46fSAndroid Build Coastguard Worker     /* set default values for cp */
62*3ac0a46fSAndroid Build Coastguard Worker     cp->tw = 1;
63*3ac0a46fSAndroid Build Coastguard Worker@@ -7834,7 +7838,7 @@ OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k,
64*3ac0a46fSAndroid Build Coastguard Worker     }
65*3ac0a46fSAndroid Build Coastguard Worker
66*3ac0a46fSAndroid Build Coastguard Worker     if (OPJ_IS_CINEMA(parameters->rsiz) || OPJ_IS_IMF(parameters->rsiz)) {
67*3ac0a46fSAndroid Build Coastguard Worker-        p_j2k->m_specific_param.m_encoder.m_TLM = OPJ_TRUE;
68*3ac0a46fSAndroid Build Coastguard Worker+        j2k->m_specific_param.m_encoder.m_TLM = OPJ_TRUE;
69*3ac0a46fSAndroid Build Coastguard Worker     }
70*3ac0a46fSAndroid Build Coastguard Worker
71*3ac0a46fSAndroid Build Coastguard Worker     /* Manage profiles and applications and set RSIZ */
72*3ac0a46fSAndroid Build Coastguard Worker@@ -8379,7 +8383,7 @@ static OPJ_BOOL opj_j2k_add_tlmarker(OPJ_UINT32 tileno,
73*3ac0a46fSAndroid Build Coastguard Worker  * -----------------------------------------------------------------------
74*3ac0a46fSAndroid Build Coastguard Worker  */
75*3ac0a46fSAndroid Build Coastguard Worker
76*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_end_decompress(opj_j2k_t *p_j2k,
77*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_end_decompress(void *p_j2k,
78*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *p_stream,
79*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager
80*3ac0a46fSAndroid Build Coastguard Worker                                )
81*3ac0a46fSAndroid Build Coastguard Worker@@ -8391,10 +8395,11 @@ OPJ_BOOL opj_j2k_end_decompress(opj_j2k_t *p_j2k,
82*3ac0a46fSAndroid Build Coastguard Worker }
83*3ac0a46fSAndroid Build Coastguard Worker
84*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_j2k_read_header(opj_stream_private_t *p_stream,
85*3ac0a46fSAndroid Build Coastguard Worker-                             opj_j2k_t* p_j2k,
86*3ac0a46fSAndroid Build Coastguard Worker+                             void* j2k,
87*3ac0a46fSAndroid Build Coastguard Worker                              opj_image_t** p_image,
88*3ac0a46fSAndroid Build Coastguard Worker                              opj_event_mgr_t* p_manager)
89*3ac0a46fSAndroid Build Coastguard Worker {
90*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t *p_j2k = (opj_j2k_t*)j2k;
91*3ac0a46fSAndroid Build Coastguard Worker     /* preconditions */
92*3ac0a46fSAndroid Build Coastguard Worker     assert(p_j2k != 00);
93*3ac0a46fSAndroid Build Coastguard Worker     assert(p_stream != 00);
94*3ac0a46fSAndroid Build Coastguard Worker@@ -9178,8 +9183,9 @@ static const opj_dec_memory_marker_handler_t * opj_j2k_get_marker_handler(
95*3ac0a46fSAndroid Build Coastguard Worker     return e;
96*3ac0a46fSAndroid Build Coastguard Worker }
97*3ac0a46fSAndroid Build Coastguard Worker
98*3ac0a46fSAndroid Build Coastguard Worker-void opj_j2k_destroy(opj_j2k_t *p_j2k)
99*3ac0a46fSAndroid Build Coastguard Worker+void opj_j2k_destroy(void *j2k)
100*3ac0a46fSAndroid Build Coastguard Worker {
101*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t *p_j2k = (opj_j2k_t*)j2k;
102*3ac0a46fSAndroid Build Coastguard Worker     if (p_j2k == 00) {
103*3ac0a46fSAndroid Build Coastguard Worker         return;
104*3ac0a46fSAndroid Build Coastguard Worker     }
105*3ac0a46fSAndroid Build Coastguard Worker@@ -9518,7 +9524,7 @@ static OPJ_BOOL opj_j2k_need_nb_tile_parts_correction(opj_stream_private_t
106*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
107*3ac0a46fSAndroid Build Coastguard Worker }
108*3ac0a46fSAndroid Build Coastguard Worker
109*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t * p_j2k,
110*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_read_tile_header(void * j2k,
111*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_tile_index,
112*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_data_size,
113*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_INT32 * p_tile_x0, OPJ_INT32 * p_tile_y0,
114*3ac0a46fSAndroid Build Coastguard Worker@@ -9528,6 +9534,7 @@ OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t * p_j2k,
115*3ac0a46fSAndroid Build Coastguard Worker                                   opj_stream_private_t *p_stream,
116*3ac0a46fSAndroid Build Coastguard Worker                                   opj_event_mgr_t * p_manager)
117*3ac0a46fSAndroid Build Coastguard Worker {
118*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
119*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 l_current_marker = J2K_MS_SOT;
120*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 l_marker_size;
121*3ac0a46fSAndroid Build Coastguard Worker     const opj_dec_memory_marker_handler_t * l_marker_handler = 00;
122*3ac0a46fSAndroid Build Coastguard Worker@@ -9827,13 +9834,14 @@ OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t * p_j2k,
123*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
124*3ac0a46fSAndroid Build Coastguard Worker }
125*3ac0a46fSAndroid Build Coastguard Worker
126*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_decode_tile(opj_j2k_t * p_j2k,
127*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_decode_tile(void * j2k,
128*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_tile_index,
129*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_BYTE * p_data,
130*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_data_size,
131*3ac0a46fSAndroid Build Coastguard Worker                              opj_stream_private_t *p_stream,
132*3ac0a46fSAndroid Build Coastguard Worker                              opj_event_mgr_t * p_manager)
133*3ac0a46fSAndroid Build Coastguard Worker {
134*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
135*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 l_current_marker;
136*3ac0a46fSAndroid Build Coastguard Worker     OPJ_BYTE l_data [2];
137*3ac0a46fSAndroid Build Coastguard Worker     opj_tcp_t * l_tcp;
138*3ac0a46fSAndroid Build Coastguard Worker@@ -10200,11 +10208,12 @@ static OPJ_BOOL opj_j2k_update_image_dimensions(opj_image_t* p_image,
139*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
140*3ac0a46fSAndroid Build Coastguard Worker }
141*3ac0a46fSAndroid Build Coastguard Worker
142*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_decoded_components(opj_j2k_t *p_j2k,
143*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_decoded_components(void *j2k,
144*3ac0a46fSAndroid Build Coastguard Worker                                         OPJ_UINT32 numcomps,
145*3ac0a46fSAndroid Build Coastguard Worker                                         const OPJ_UINT32* comps_indices,
146*3ac0a46fSAndroid Build Coastguard Worker                                         opj_event_mgr_t * p_manager)
147*3ac0a46fSAndroid Build Coastguard Worker {
148*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
149*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 i;
150*3ac0a46fSAndroid Build Coastguard Worker     OPJ_BOOL* already_mapped;
151*3ac0a46fSAndroid Build Coastguard Worker
152*3ac0a46fSAndroid Build Coastguard Worker@@ -10260,12 +10269,13 @@ OPJ_BOOL opj_j2k_set_decoded_components(opj_j2k_t *p_j2k,
153*3ac0a46fSAndroid Build Coastguard Worker }
154*3ac0a46fSAndroid Build Coastguard Worker
155*3ac0a46fSAndroid Build Coastguard Worker
156*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_decode_area(opj_j2k_t *p_j2k,
157*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_decode_area(void *j2k,
158*3ac0a46fSAndroid Build Coastguard Worker                                  opj_image_t* p_image,
159*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
160*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_end_x, OPJ_INT32 p_end_y,
161*3ac0a46fSAndroid Build Coastguard Worker                                  opj_event_mgr_t * p_manager)
162*3ac0a46fSAndroid Build Coastguard Worker {
163*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
164*3ac0a46fSAndroid Build Coastguard Worker     opj_cp_t * l_cp = &(p_j2k->m_cp);
165*3ac0a46fSAndroid Build Coastguard Worker     opj_image_t * l_image = p_j2k->m_private_image;
166*3ac0a46fSAndroid Build Coastguard Worker     OPJ_BOOL ret;
167*3ac0a46fSAndroid Build Coastguard Worker@@ -11200,8 +11210,9 @@ static void opj_j2k_dump_tile_info(opj_tcp_t * l_default_tile,
168*3ac0a46fSAndroid Build Coastguard Worker     }
169*3ac0a46fSAndroid Build Coastguard Worker }
170*3ac0a46fSAndroid Build Coastguard Worker
171*3ac0a46fSAndroid Build Coastguard Worker-void j2k_dump(opj_j2k_t* p_j2k, OPJ_INT32 flag, FILE* out_stream)
172*3ac0a46fSAndroid Build Coastguard Worker+void j2k_dump(void* j2k, OPJ_INT32 flag, FILE* out_stream)
173*3ac0a46fSAndroid Build Coastguard Worker {
174*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
175*3ac0a46fSAndroid Build Coastguard Worker     /* Check if the flag is compatible with j2k file*/
176*3ac0a46fSAndroid Build Coastguard Worker     if ((flag & OPJ_JP2_INFO) || (flag & OPJ_JP2_IND)) {
177*3ac0a46fSAndroid Build Coastguard Worker         fprintf(out_stream, "Wrong flag\n");
178*3ac0a46fSAndroid Build Coastguard Worker@@ -11391,8 +11402,9 @@ void j2k_dump_image_comp_header(opj_image_comp_t* comp_header,
179*3ac0a46fSAndroid Build Coastguard Worker     }
180*3ac0a46fSAndroid Build Coastguard Worker }
181*3ac0a46fSAndroid Build Coastguard Worker
182*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_info_v2_t* j2k_get_cstr_info(opj_j2k_t* p_j2k)
183*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_info_v2_t* j2k_get_cstr_info(void* j2k)
184*3ac0a46fSAndroid Build Coastguard Worker {
185*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
186*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 compno;
187*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 numcomps = p_j2k->m_private_image->numcomps;
188*3ac0a46fSAndroid Build Coastguard Worker     opj_tcp_t *l_default_tile;
189*3ac0a46fSAndroid Build Coastguard Worker@@ -11467,8 +11479,9 @@ opj_codestream_info_v2_t* j2k_get_cstr_info(opj_j2k_t* p_j2k)
190*3ac0a46fSAndroid Build Coastguard Worker     return cstr_info;
191*3ac0a46fSAndroid Build Coastguard Worker }
192*3ac0a46fSAndroid Build Coastguard Worker
193*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_index_t* j2k_get_cstr_index(opj_j2k_t* p_j2k)
194*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_index_t* j2k_get_cstr_index(void* j2k)
195*3ac0a46fSAndroid Build Coastguard Worker {
196*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
197*3ac0a46fSAndroid Build Coastguard Worker     opj_codestream_index_t* l_cstr_index = (opj_codestream_index_t*)
198*3ac0a46fSAndroid Build Coastguard Worker                                            opj_calloc(1, sizeof(opj_codestream_index_t));
199*3ac0a46fSAndroid Build Coastguard Worker     if (!l_cstr_index) {
200*3ac0a46fSAndroid Build Coastguard Worker@@ -11972,11 +11985,12 @@ static OPJ_BOOL opj_j2k_move_data_from_codec_to_output_image(opj_j2k_t * p_j2k,
201*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
202*3ac0a46fSAndroid Build Coastguard Worker }
203*3ac0a46fSAndroid Build Coastguard Worker
204*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_decode(opj_j2k_t * p_j2k,
205*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_decode(void * j2k,
206*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t * p_stream,
207*3ac0a46fSAndroid Build Coastguard Worker                         opj_image_t * p_image,
208*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t * p_manager)
209*3ac0a46fSAndroid Build Coastguard Worker {
210*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
211*3ac0a46fSAndroid Build Coastguard Worker     if (!p_image) {
212*3ac0a46fSAndroid Build Coastguard Worker         return OPJ_FALSE;
213*3ac0a46fSAndroid Build Coastguard Worker     }
214*3ac0a46fSAndroid Build Coastguard Worker@@ -12030,12 +12044,13 @@ OPJ_BOOL opj_j2k_decode(opj_j2k_t * p_j2k,
215*3ac0a46fSAndroid Build Coastguard Worker     return opj_j2k_move_data_from_codec_to_output_image(p_j2k, p_image);
216*3ac0a46fSAndroid Build Coastguard Worker }
217*3ac0a46fSAndroid Build Coastguard Worker
218*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_get_tile(opj_j2k_t *p_j2k,
219*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_get_tile(void *j2k,
220*3ac0a46fSAndroid Build Coastguard Worker                           opj_stream_private_t *p_stream,
221*3ac0a46fSAndroid Build Coastguard Worker                           opj_image_t* p_image,
222*3ac0a46fSAndroid Build Coastguard Worker                           opj_event_mgr_t * p_manager,
223*3ac0a46fSAndroid Build Coastguard Worker                           OPJ_UINT32 tile_index)
224*3ac0a46fSAndroid Build Coastguard Worker {
225*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
226*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 compno;
227*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 l_tile_x, l_tile_y;
228*3ac0a46fSAndroid Build Coastguard Worker     opj_image_comp_t* l_img_comp;
229*3ac0a46fSAndroid Build Coastguard Worker@@ -12143,10 +12158,11 @@ OPJ_BOOL opj_j2k_get_tile(opj_j2k_t *p_j2k,
230*3ac0a46fSAndroid Build Coastguard Worker     return opj_j2k_move_data_from_codec_to_output_image(p_j2k, p_image);
231*3ac0a46fSAndroid Build Coastguard Worker }
232*3ac0a46fSAndroid Build Coastguard Worker
233*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_decoded_resolution_factor(opj_j2k_t *p_j2k,
234*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_decoded_resolution_factor(void *j2k,
235*3ac0a46fSAndroid Build Coastguard Worker         OPJ_UINT32 res_factor,
236*3ac0a46fSAndroid Build Coastguard Worker         opj_event_mgr_t * p_manager)
237*3ac0a46fSAndroid Build Coastguard Worker {
238*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
239*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 it_comp;
240*3ac0a46fSAndroid Build Coastguard Worker
241*3ac0a46fSAndroid Build Coastguard Worker     p_j2k->m_cp.m_specific_param.m_dec.m_reduce = res_factor;
242*3ac0a46fSAndroid Build Coastguard Worker@@ -12177,10 +12193,11 @@ OPJ_BOOL opj_j2k_set_decoded_resolution_factor(opj_j2k_t *p_j2k,
243*3ac0a46fSAndroid Build Coastguard Worker /* ----------------------------------------------------------------------- */
244*3ac0a46fSAndroid Build Coastguard Worker
245*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_j2k_encoder_set_extra_options(
246*3ac0a46fSAndroid Build Coastguard Worker-    opj_j2k_t *p_j2k,
247*3ac0a46fSAndroid Build Coastguard Worker+    void *j2k,
248*3ac0a46fSAndroid Build Coastguard Worker     const char* const* p_options,
249*3ac0a46fSAndroid Build Coastguard Worker     opj_event_mgr_t * p_manager)
250*3ac0a46fSAndroid Build Coastguard Worker {
251*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
252*3ac0a46fSAndroid Build Coastguard Worker     const char* const* p_option_iter;
253*3ac0a46fSAndroid Build Coastguard Worker
254*3ac0a46fSAndroid Build Coastguard Worker     if (p_options == NULL) {
255*3ac0a46fSAndroid Build Coastguard Worker@@ -12239,10 +12256,11 @@ OPJ_BOOL opj_j2k_encoder_set_extra_options(
256*3ac0a46fSAndroid Build Coastguard Worker
257*3ac0a46fSAndroid Build Coastguard Worker /* ----------------------------------------------------------------------- */
258*3ac0a46fSAndroid Build Coastguard Worker
259*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_encode(opj_j2k_t * p_j2k,
260*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_encode(void * j2k,
261*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t *p_stream,
262*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t * p_manager)
263*3ac0a46fSAndroid Build Coastguard Worker {
264*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
265*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 i, j;
266*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 l_nb_tiles;
267*3ac0a46fSAndroid Build Coastguard Worker     OPJ_SIZE_T l_max_tile_size = 0, l_current_tile_size;
268*3ac0a46fSAndroid Build Coastguard Worker@@ -12347,10 +12365,11 @@ OPJ_BOOL opj_j2k_encode(opj_j2k_t * p_j2k,
269*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
270*3ac0a46fSAndroid Build Coastguard Worker }
271*3ac0a46fSAndroid Build Coastguard Worker
272*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_end_compress(opj_j2k_t *p_j2k,
273*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_end_compress(void *j2k,
274*3ac0a46fSAndroid Build Coastguard Worker                               opj_stream_private_t *p_stream,
275*3ac0a46fSAndroid Build Coastguard Worker                               opj_event_mgr_t * p_manager)
276*3ac0a46fSAndroid Build Coastguard Worker {
277*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
278*3ac0a46fSAndroid Build Coastguard Worker     /* customization of the encoding */
279*3ac0a46fSAndroid Build Coastguard Worker     if (! opj_j2k_setup_end_compress(p_j2k, p_manager)) {
280*3ac0a46fSAndroid Build Coastguard Worker         return OPJ_FALSE;
281*3ac0a46fSAndroid Build Coastguard Worker@@ -12363,11 +12382,12 @@ OPJ_BOOL opj_j2k_end_compress(opj_j2k_t *p_j2k,
282*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
283*3ac0a46fSAndroid Build Coastguard Worker }
284*3ac0a46fSAndroid Build Coastguard Worker
285*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_start_compress(opj_j2k_t *p_j2k,
286*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_start_compress(void *j2k,
287*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *p_stream,
288*3ac0a46fSAndroid Build Coastguard Worker                                 opj_image_t * p_image,
289*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager)
290*3ac0a46fSAndroid Build Coastguard Worker {
291*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
292*3ac0a46fSAndroid Build Coastguard Worker     /* preconditions */
293*3ac0a46fSAndroid Build Coastguard Worker     assert(p_j2k != 00);
294*3ac0a46fSAndroid Build Coastguard Worker     assert(p_stream != 00);
295*3ac0a46fSAndroid Build Coastguard Worker@@ -13154,13 +13174,14 @@ static OPJ_BOOL opj_j2k_create_tcd(opj_j2k_t *p_j2k,
296*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
297*3ac0a46fSAndroid Build Coastguard Worker }
298*3ac0a46fSAndroid Build Coastguard Worker
299*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_write_tile(opj_j2k_t * p_j2k,
300*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_write_tile(void * j2k,
301*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_tile_index,
302*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_BYTE * p_data,
303*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_data_size,
304*3ac0a46fSAndroid Build Coastguard Worker                             opj_stream_private_t *p_stream,
305*3ac0a46fSAndroid Build Coastguard Worker                             opj_event_mgr_t * p_manager)
306*3ac0a46fSAndroid Build Coastguard Worker {
307*3ac0a46fSAndroid Build Coastguard Worker+    opj_j2k_t* p_j2k = (opj_j2k_t*)j2k;
308*3ac0a46fSAndroid Build Coastguard Worker     if (! opj_j2k_pre_write_tile(p_j2k, p_tile_index, p_stream, p_manager)) {
309*3ac0a46fSAndroid Build Coastguard Worker         opj_event_msg(p_manager, EVT_ERROR,
310*3ac0a46fSAndroid Build Coastguard Worker                       "Error while opj_j2k_pre_write_tile with tile index = %d\n", p_tile_index);
311*3ac0a46fSAndroid Build Coastguard Workerdiff --git a/third_party/libopenjpeg/j2k.h b/third_party/libopenjpeg/j2k.h
312*3ac0a46fSAndroid Build Coastguard Workerindex 04fba645a..1d824c019 100644
313*3ac0a46fSAndroid Build Coastguard Worker--- a/third_party/libopenjpeg/j2k.h
314*3ac0a46fSAndroid Build Coastguard Worker+++ b/third_party/libopenjpeg/j2k.h
315*3ac0a46fSAndroid Build Coastguard Worker@@ -621,15 +621,15 @@ opj_j2k_t;
316*3ac0a46fSAndroid Build Coastguard Worker
317*3ac0a46fSAndroid Build Coastguard Worker /**
318*3ac0a46fSAndroid Build Coastguard Worker Setup the decoder decoding parameters using user parameters.
319*3ac0a46fSAndroid Build Coastguard Worker-Decoding parameters are returned in j2k->cp.
320*3ac0a46fSAndroid Build Coastguard Worker-@param j2k J2K decompressor handle
321*3ac0a46fSAndroid Build Coastguard Worker+Decoding parameters are returned in p_j2k->cp.
322*3ac0a46fSAndroid Build Coastguard Worker+@param p_j2k J2K decompressor handle
323*3ac0a46fSAndroid Build Coastguard Worker @param parameters decompression parameters
324*3ac0a46fSAndroid Build Coastguard Worker */
325*3ac0a46fSAndroid Build Coastguard Worker-void opj_j2k_setup_decoder(opj_j2k_t *j2k, opj_dparameters_t *parameters);
326*3ac0a46fSAndroid Build Coastguard Worker+void opj_j2k_setup_decoder(void *p_j2k, opj_dparameters_t *parameters);
327*3ac0a46fSAndroid Build Coastguard Worker
328*3ac0a46fSAndroid Build Coastguard Worker-void opj_j2k_decoder_set_strict_mode(opj_j2k_t *j2k, OPJ_BOOL strict);
329*3ac0a46fSAndroid Build Coastguard Worker+void opj_j2k_decoder_set_strict_mode(void *j2k, OPJ_BOOL strict);
330*3ac0a46fSAndroid Build Coastguard Worker
331*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_threads(opj_j2k_t *j2k, OPJ_UINT32 num_threads);
332*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_threads(void *j2k, OPJ_UINT32 num_threads);
333*3ac0a46fSAndroid Build Coastguard Worker
334*3ac0a46fSAndroid Build Coastguard Worker /**
335*3ac0a46fSAndroid Build Coastguard Worker  * Creates a J2K compression structure
336*3ac0a46fSAndroid Build Coastguard Worker@@ -639,7 +639,7 @@ OPJ_BOOL opj_j2k_set_threads(opj_j2k_t *j2k, OPJ_UINT32 num_threads);
337*3ac0a46fSAndroid Build Coastguard Worker opj_j2k_t* opj_j2k_create_compress(void);
338*3ac0a46fSAndroid Build Coastguard Worker
339*3ac0a46fSAndroid Build Coastguard Worker
340*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k,
341*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_setup_encoder(void *p_j2k,
342*3ac0a46fSAndroid Build Coastguard Worker                                opj_cparameters_t *parameters,
343*3ac0a46fSAndroid Build Coastguard Worker                                opj_image_t *image,
344*3ac0a46fSAndroid Build Coastguard Worker                                opj_event_mgr_t * p_manager);
345*3ac0a46fSAndroid Build Coastguard Worker@@ -658,7 +658,7 @@ const char *opj_j2k_convert_progression_order(OPJ_PROG_ORDER prg_order);
346*3ac0a46fSAndroid Build Coastguard Worker  * Ends the decompression procedures and possibiliy add data to be read after the
347*3ac0a46fSAndroid Build Coastguard Worker  * codestream.
348*3ac0a46fSAndroid Build Coastguard Worker  */
349*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_end_decompress(opj_j2k_t *j2k,
350*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_end_decompress(void *j2k,
351*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *p_stream,
352*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager);
353*3ac0a46fSAndroid Build Coastguard Worker
354*3ac0a46fSAndroid Build Coastguard Worker@@ -666,14 +666,14 @@ OPJ_BOOL opj_j2k_end_decompress(opj_j2k_t *j2k,
355*3ac0a46fSAndroid Build Coastguard Worker  * Reads a jpeg2000 codestream header structure.
356*3ac0a46fSAndroid Build Coastguard Worker  *
357*3ac0a46fSAndroid Build Coastguard Worker  * @param p_stream the stream to read data from.
358*3ac0a46fSAndroid Build Coastguard Worker- * @param p_j2k the jpeg2000 codec.
359*3ac0a46fSAndroid Build Coastguard Worker+ * @param j2k the jpeg2000 codec.
360*3ac0a46fSAndroid Build Coastguard Worker  * @param p_image FIXME DOC
361*3ac0a46fSAndroid Build Coastguard Worker  * @param p_manager the user event manager.
362*3ac0a46fSAndroid Build Coastguard Worker  *
363*3ac0a46fSAndroid Build Coastguard Worker  * @return true if the box is valid.
364*3ac0a46fSAndroid Build Coastguard Worker  */
365*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_j2k_read_header(opj_stream_private_t *p_stream,
366*3ac0a46fSAndroid Build Coastguard Worker-                             opj_j2k_t* p_j2k,
367*3ac0a46fSAndroid Build Coastguard Worker+                             void* j2k,
368*3ac0a46fSAndroid Build Coastguard Worker                              opj_image_t** p_image,
369*3ac0a46fSAndroid Build Coastguard Worker                              opj_event_mgr_t* p_manager);
370*3ac0a46fSAndroid Build Coastguard Worker
371*3ac0a46fSAndroid Build Coastguard Worker@@ -681,9 +681,9 @@ OPJ_BOOL opj_j2k_read_header(opj_stream_private_t *p_stream,
372*3ac0a46fSAndroid Build Coastguard Worker /**
373*3ac0a46fSAndroid Build Coastguard Worker  * Destroys a jpeg2000 codec.
374*3ac0a46fSAndroid Build Coastguard Worker  *
375*3ac0a46fSAndroid Build Coastguard Worker- * @param   p_j2k   the jpeg20000 structure to destroy.
376*3ac0a46fSAndroid Build Coastguard Worker+ * @param   j2k   the jpeg20000 structure to destroy.
377*3ac0a46fSAndroid Build Coastguard Worker  */
378*3ac0a46fSAndroid Build Coastguard Worker-void opj_j2k_destroy(opj_j2k_t *p_j2k);
379*3ac0a46fSAndroid Build Coastguard Worker+void opj_j2k_destroy(void *j2k);
380*3ac0a46fSAndroid Build Coastguard Worker
381*3ac0a46fSAndroid Build Coastguard Worker /**
382*3ac0a46fSAndroid Build Coastguard Worker  * Destroys a codestream index structure.
383*3ac0a46fSAndroid Build Coastguard Worker@@ -694,14 +694,14 @@ void j2k_destroy_cstr_index(opj_codestream_index_t *p_cstr_ind);
384*3ac0a46fSAndroid Build Coastguard Worker
385*3ac0a46fSAndroid Build Coastguard Worker /**
386*3ac0a46fSAndroid Build Coastguard Worker  * Decode tile data.
387*3ac0a46fSAndroid Build Coastguard Worker- * @param   p_j2k       the jpeg2000 codec.
388*3ac0a46fSAndroid Build Coastguard Worker+ * @param   j2k       the jpeg2000 codec.
389*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_tile_index
390*3ac0a46fSAndroid Build Coastguard Worker  * @param p_data       FIXME DOC
391*3ac0a46fSAndroid Build Coastguard Worker  * @param p_data_size  FIXME DOC
392*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_stream            the stream to write data to.
393*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_manager   the user event manager.
394*3ac0a46fSAndroid Build Coastguard Worker  */
395*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_decode_tile(opj_j2k_t * p_j2k,
396*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_decode_tile(void * j2k,
397*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_tile_index,
398*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_BYTE * p_data,
399*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_data_size,
400*3ac0a46fSAndroid Build Coastguard Worker@@ -710,7 +710,7 @@ OPJ_BOOL opj_j2k_decode_tile(opj_j2k_t * p_j2k,
401*3ac0a46fSAndroid Build Coastguard Worker
402*3ac0a46fSAndroid Build Coastguard Worker /**
403*3ac0a46fSAndroid Build Coastguard Worker  * Reads a tile header.
404*3ac0a46fSAndroid Build Coastguard Worker- * @param   p_j2k       the jpeg2000 codec.
405*3ac0a46fSAndroid Build Coastguard Worker+ * @param   j2k       the jpeg2000 codec.
406*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_tile_index FIXME DOC
407*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_data_size FIXME DOC
408*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_tile_x0 FIXME DOC
409*3ac0a46fSAndroid Build Coastguard Worker@@ -722,7 +722,7 @@ OPJ_BOOL opj_j2k_decode_tile(opj_j2k_t * p_j2k,
410*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_stream            the stream to write data to.
411*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_manager   the user event manager.
412*3ac0a46fSAndroid Build Coastguard Worker  */
413*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t * p_j2k,
414*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_read_tile_header(void * j2k,
415*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_tile_index,
416*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_data_size,
417*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_INT32 * p_tile_x0,
418*3ac0a46fSAndroid Build Coastguard Worker@@ -737,7 +737,7 @@ OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t * p_j2k,
419*3ac0a46fSAndroid Build Coastguard Worker
420*3ac0a46fSAndroid Build Coastguard Worker /** Sets the indices of the components to decode.
421*3ac0a46fSAndroid Build Coastguard Worker  *
422*3ac0a46fSAndroid Build Coastguard Worker- * @param p_j2k         the jpeg2000 codec.
423*3ac0a46fSAndroid Build Coastguard Worker+ * @param j2k         the jpeg2000 codec.
424*3ac0a46fSAndroid Build Coastguard Worker  * @param numcomps      Number of components to decode.
425*3ac0a46fSAndroid Build Coastguard Worker  * @param comps_indices Array of num_compts indices (numbering starting at 0)
426*3ac0a46fSAndroid Build Coastguard Worker  *                      corresponding to the components to decode.
427*3ac0a46fSAndroid Build Coastguard Worker@@ -745,7 +745,7 @@ OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t * p_j2k,
428*3ac0a46fSAndroid Build Coastguard Worker  *
429*3ac0a46fSAndroid Build Coastguard Worker  * @return OPJ_TRUE in case of success.
430*3ac0a46fSAndroid Build Coastguard Worker  */
431*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_decoded_components(opj_j2k_t *p_j2k,
432*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_decoded_components(void *j2k,
433*3ac0a46fSAndroid Build Coastguard Worker                                         OPJ_UINT32 numcomps,
434*3ac0a46fSAndroid Build Coastguard Worker                                         const OPJ_UINT32* comps_indices,
435*3ac0a46fSAndroid Build Coastguard Worker                                         opj_event_mgr_t * p_manager);
436*3ac0a46fSAndroid Build Coastguard Worker@@ -753,7 +753,7 @@ OPJ_BOOL opj_j2k_set_decoded_components(opj_j2k_t *p_j2k,
437*3ac0a46fSAndroid Build Coastguard Worker /**
438*3ac0a46fSAndroid Build Coastguard Worker  * Sets the given area to be decoded. This function should be called right after opj_read_header and before any tile header reading.
439*3ac0a46fSAndroid Build Coastguard Worker  *
440*3ac0a46fSAndroid Build Coastguard Worker- * @param   p_j2k           the jpeg2000 codec.
441*3ac0a46fSAndroid Build Coastguard Worker+ * @param   j2k           the jpeg2000 codec.
442*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_image     FIXME DOC
443*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_start_x       the left position of the rectangle to decode (in image coordinates).
444*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_start_y       the up position of the rectangle to decode (in image coordinates).
445*3ac0a46fSAndroid Build Coastguard Worker@@ -763,7 +763,7 @@ OPJ_BOOL opj_j2k_set_decoded_components(opj_j2k_t *p_j2k,
446*3ac0a46fSAndroid Build Coastguard Worker  *
447*3ac0a46fSAndroid Build Coastguard Worker  * @return  true            if the area could be set.
448*3ac0a46fSAndroid Build Coastguard Worker  */
449*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_decode_area(opj_j2k_t *p_j2k,
450*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_decode_area(void *j2k,
451*3ac0a46fSAndroid Build Coastguard Worker                                  opj_image_t* p_image,
452*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
453*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_end_x, OPJ_INT32 p_end_y,
454*3ac0a46fSAndroid Build Coastguard Worker@@ -780,12 +780,12 @@ opj_j2k_t* opj_j2k_create_decompress(void);
455*3ac0a46fSAndroid Build Coastguard Worker /**
456*3ac0a46fSAndroid Build Coastguard Worker  * Dump some elements from the J2K decompression structure .
457*3ac0a46fSAndroid Build Coastguard Worker  *
458*3ac0a46fSAndroid Build Coastguard Worker- *@param p_j2k              the jpeg2000 codec.
459*3ac0a46fSAndroid Build Coastguard Worker+ *@param j2k                the jpeg2000 codec.
460*3ac0a46fSAndroid Build Coastguard Worker  *@param flag               flag to describe what elements are dump.
461*3ac0a46fSAndroid Build Coastguard Worker  *@param out_stream         output stream where dump the elements.
462*3ac0a46fSAndroid Build Coastguard Worker  *
463*3ac0a46fSAndroid Build Coastguard Worker */
464*3ac0a46fSAndroid Build Coastguard Worker-void j2k_dump(opj_j2k_t* p_j2k, OPJ_INT32 flag, FILE* out_stream);
465*3ac0a46fSAndroid Build Coastguard Worker+void j2k_dump(void* j2k, OPJ_INT32 flag, FILE* out_stream);
466*3ac0a46fSAndroid Build Coastguard Worker
467*3ac0a46fSAndroid Build Coastguard Worker
468*3ac0a46fSAndroid Build Coastguard Worker
469*3ac0a46fSAndroid Build Coastguard Worker@@ -812,20 +812,20 @@ void j2k_dump_image_comp_header(opj_image_comp_t* comp, OPJ_BOOL dev_dump_flag,
470*3ac0a46fSAndroid Build Coastguard Worker /**
471*3ac0a46fSAndroid Build Coastguard Worker  * Get the codestream info from a JPEG2000 codec.
472*3ac0a46fSAndroid Build Coastguard Worker  *
473*3ac0a46fSAndroid Build Coastguard Worker- *@param    p_j2k               the component image header to dump.
474*3ac0a46fSAndroid Build Coastguard Worker+ *@param    j2k               the component image header to dump.
475*3ac0a46fSAndroid Build Coastguard Worker  *
476*3ac0a46fSAndroid Build Coastguard Worker  *@return   the codestream information extract from the jpg2000 codec
477*3ac0a46fSAndroid Build Coastguard Worker  */
478*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_info_v2_t* j2k_get_cstr_info(opj_j2k_t* p_j2k);
479*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_info_v2_t* j2k_get_cstr_info(void* j2k);
480*3ac0a46fSAndroid Build Coastguard Worker
481*3ac0a46fSAndroid Build Coastguard Worker /**
482*3ac0a46fSAndroid Build Coastguard Worker  * Get the codestream index from a JPEG2000 codec.
483*3ac0a46fSAndroid Build Coastguard Worker  *
484*3ac0a46fSAndroid Build Coastguard Worker- *@param    p_j2k               the component image header to dump.
485*3ac0a46fSAndroid Build Coastguard Worker+ *@param    j2k               the component image header to dump.
486*3ac0a46fSAndroid Build Coastguard Worker  *
487*3ac0a46fSAndroid Build Coastguard Worker  *@return   the codestream index extract from the jpg2000 codec
488*3ac0a46fSAndroid Build Coastguard Worker  */
489*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_index_t* j2k_get_cstr_index(opj_j2k_t* p_j2k);
490*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_index_t* j2k_get_cstr_index(void* j2k);
491*3ac0a46fSAndroid Build Coastguard Worker
492*3ac0a46fSAndroid Build Coastguard Worker /**
493*3ac0a46fSAndroid Build Coastguard Worker  * Decode an image from a JPEG-2000 codestream
494*3ac0a46fSAndroid Build Coastguard Worker@@ -835,46 +835,46 @@ opj_codestream_index_t* j2k_get_cstr_index(opj_j2k_t* p_j2k);
495*3ac0a46fSAndroid Build Coastguard Worker  * @param p_manager FIXME DOC
496*3ac0a46fSAndroid Build Coastguard Worker  * @return FIXME DOC
497*3ac0a46fSAndroid Build Coastguard Worker */
498*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_decode(opj_j2k_t *j2k,
499*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_decode(void *j2k,
500*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t *p_stream,
501*3ac0a46fSAndroid Build Coastguard Worker                         opj_image_t *p_image,
502*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t *p_manager);
503*3ac0a46fSAndroid Build Coastguard Worker
504*3ac0a46fSAndroid Build Coastguard Worker
505*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_get_tile(opj_j2k_t *p_j2k,
506*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_get_tile(void *j2k,
507*3ac0a46fSAndroid Build Coastguard Worker                           opj_stream_private_t *p_stream,
508*3ac0a46fSAndroid Build Coastguard Worker                           opj_image_t* p_image,
509*3ac0a46fSAndroid Build Coastguard Worker                           opj_event_mgr_t * p_manager,
510*3ac0a46fSAndroid Build Coastguard Worker                           OPJ_UINT32 tile_index);
511*3ac0a46fSAndroid Build Coastguard Worker
512*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_set_decoded_resolution_factor(opj_j2k_t *p_j2k,
513*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_set_decoded_resolution_factor(void *j2k,
514*3ac0a46fSAndroid Build Coastguard Worker         OPJ_UINT32 res_factor,
515*3ac0a46fSAndroid Build Coastguard Worker         opj_event_mgr_t * p_manager);
516*3ac0a46fSAndroid Build Coastguard Worker
517*3ac0a46fSAndroid Build Coastguard Worker /**
518*3ac0a46fSAndroid Build Coastguard Worker  * Specify extra options for the encoder.
519*3ac0a46fSAndroid Build Coastguard Worker  *
520*3ac0a46fSAndroid Build Coastguard Worker- * @param  p_j2k        the jpeg2000 codec.
521*3ac0a46fSAndroid Build Coastguard Worker+ * @param  j2k          the jpeg2000 codec.
522*3ac0a46fSAndroid Build Coastguard Worker  * @param  p_options    options
523*3ac0a46fSAndroid Build Coastguard Worker  * @param  p_manager    the user event manager
524*3ac0a46fSAndroid Build Coastguard Worker  *
525*3ac0a46fSAndroid Build Coastguard Worker  * @see opj_encoder_set_extra_options() for more details.
526*3ac0a46fSAndroid Build Coastguard Worker  */
527*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_j2k_encoder_set_extra_options(
528*3ac0a46fSAndroid Build Coastguard Worker-    opj_j2k_t *p_j2k,
529*3ac0a46fSAndroid Build Coastguard Worker+    void *j2k,
530*3ac0a46fSAndroid Build Coastguard Worker     const char* const* p_options,
531*3ac0a46fSAndroid Build Coastguard Worker     opj_event_mgr_t * p_manager);
532*3ac0a46fSAndroid Build Coastguard Worker
533*3ac0a46fSAndroid Build Coastguard Worker /**
534*3ac0a46fSAndroid Build Coastguard Worker  * Writes a tile.
535*3ac0a46fSAndroid Build Coastguard Worker- * @param   p_j2k       the jpeg2000 codec.
536*3ac0a46fSAndroid Build Coastguard Worker+ * @param   j2k         the jpeg2000 codec.
537*3ac0a46fSAndroid Build Coastguard Worker  * @param p_tile_index FIXME DOC
538*3ac0a46fSAndroid Build Coastguard Worker  * @param p_data FIXME DOC
539*3ac0a46fSAndroid Build Coastguard Worker  * @param p_data_size FIXME DOC
540*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_stream            the stream to write data to.
541*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_manager   the user event manager.
542*3ac0a46fSAndroid Build Coastguard Worker  */
543*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_write_tile(opj_j2k_t * p_j2k,
544*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_write_tile(void * j2k,
545*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_tile_index,
546*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_BYTE * p_data,
547*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_data_size,
548*3ac0a46fSAndroid Build Coastguard Worker@@ -884,21 +884,21 @@ OPJ_BOOL opj_j2k_write_tile(opj_j2k_t * p_j2k,
549*3ac0a46fSAndroid Build Coastguard Worker /**
550*3ac0a46fSAndroid Build Coastguard Worker  * Encodes an image into a JPEG-2000 codestream
551*3ac0a46fSAndroid Build Coastguard Worker  */
552*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_encode(opj_j2k_t * p_j2k,
553*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_encode(void * j2k,
554*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t *cio,
555*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t * p_manager);
556*3ac0a46fSAndroid Build Coastguard Worker
557*3ac0a46fSAndroid Build Coastguard Worker /**
558*3ac0a46fSAndroid Build Coastguard Worker  * Starts a compression scheme, i.e. validates the codec parameters, writes the header.
559*3ac0a46fSAndroid Build Coastguard Worker  *
560*3ac0a46fSAndroid Build Coastguard Worker- * @param   p_j2k       the jpeg2000 codec.
561*3ac0a46fSAndroid Build Coastguard Worker+ * @param   j2k         the jpeg2000 codec.
562*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_stream            the stream object.
563*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_image FIXME DOC
564*3ac0a46fSAndroid Build Coastguard Worker  * @param   p_manager   the user event manager.
565*3ac0a46fSAndroid Build Coastguard Worker  *
566*3ac0a46fSAndroid Build Coastguard Worker  * @return true if the codec is valid.
567*3ac0a46fSAndroid Build Coastguard Worker  */
568*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_start_compress(opj_j2k_t *p_j2k,
569*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_start_compress(void *j2k,
570*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *p_stream,
571*3ac0a46fSAndroid Build Coastguard Worker                                 opj_image_t * p_image,
572*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager);
573*3ac0a46fSAndroid Build Coastguard Worker@@ -907,7 +907,7 @@ OPJ_BOOL opj_j2k_start_compress(opj_j2k_t *p_j2k,
574*3ac0a46fSAndroid Build Coastguard Worker  * Ends the compression procedures and possibiliy add data to be read after the
575*3ac0a46fSAndroid Build Coastguard Worker  * codestream.
576*3ac0a46fSAndroid Build Coastguard Worker  */
577*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_j2k_end_compress(opj_j2k_t *p_j2k,
578*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_j2k_end_compress(void *j2k,
579*3ac0a46fSAndroid Build Coastguard Worker                               opj_stream_private_t *cio,
580*3ac0a46fSAndroid Build Coastguard Worker                               opj_event_mgr_t * p_manager);
581*3ac0a46fSAndroid Build Coastguard Worker
582*3ac0a46fSAndroid Build Coastguard Workerdiff --git a/third_party/libopenjpeg/jp2.c b/third_party/libopenjpeg/jp2.c
583*3ac0a46fSAndroid Build Coastguard Workerindex 44d0c98e5..6db728d18 100644
584*3ac0a46fSAndroid Build Coastguard Worker--- a/third_party/libopenjpeg/jp2.c
585*3ac0a46fSAndroid Build Coastguard Worker+++ b/third_party/libopenjpeg/jp2.c
586*3ac0a46fSAndroid Build Coastguard Worker@@ -1609,11 +1609,12 @@ static OPJ_BOOL opj_jp2_read_colr(opj_jp2_t *jp2,
587*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
588*3ac0a46fSAndroid Build Coastguard Worker }
589*3ac0a46fSAndroid Build Coastguard Worker
590*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_decode(opj_jp2_t *jp2,
591*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_decode(void *p_jp2,
592*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t *p_stream,
593*3ac0a46fSAndroid Build Coastguard Worker                         opj_image_t* p_image,
594*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t * p_manager)
595*3ac0a46fSAndroid Build Coastguard Worker {
596*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
597*3ac0a46fSAndroid Build Coastguard Worker     if (!p_image) {
598*3ac0a46fSAndroid Build Coastguard Worker         return OPJ_FALSE;
599*3ac0a46fSAndroid Build Coastguard Worker     }
600*3ac0a46fSAndroid Build Coastguard Worker@@ -1905,8 +1906,9 @@ static OPJ_BOOL opj_jp2_write_jp(opj_jp2_t *jp2,
601*3ac0a46fSAndroid Build Coastguard Worker /* JP2 decoder interface                                             */
602*3ac0a46fSAndroid Build Coastguard Worker /* ----------------------------------------------------------------------- */
603*3ac0a46fSAndroid Build Coastguard Worker
604*3ac0a46fSAndroid Build Coastguard Worker-void opj_jp2_setup_decoder(opj_jp2_t *jp2, opj_dparameters_t *parameters)
605*3ac0a46fSAndroid Build Coastguard Worker+void opj_jp2_setup_decoder(void *p_jp2, opj_dparameters_t *parameters)
606*3ac0a46fSAndroid Build Coastguard Worker {
607*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
608*3ac0a46fSAndroid Build Coastguard Worker     /* setup the J2K codec */
609*3ac0a46fSAndroid Build Coastguard Worker     opj_j2k_setup_decoder(jp2->j2k, parameters);
610*3ac0a46fSAndroid Build Coastguard Worker
611*3ac0a46fSAndroid Build Coastguard Worker@@ -1917,13 +1919,15 @@ void opj_jp2_setup_decoder(opj_jp2_t *jp2, opj_dparameters_t *parameters)
612*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG;
613*3ac0a46fSAndroid Build Coastguard Worker }
614*3ac0a46fSAndroid Build Coastguard Worker
615*3ac0a46fSAndroid Build Coastguard Worker-void opj_jp2_decoder_set_strict_mode(opj_jp2_t *jp2, OPJ_BOOL strict)
616*3ac0a46fSAndroid Build Coastguard Worker+void opj_jp2_decoder_set_strict_mode(void *p_jp2, OPJ_BOOL strict)
617*3ac0a46fSAndroid Build Coastguard Worker {
618*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
619*3ac0a46fSAndroid Build Coastguard Worker     opj_j2k_decoder_set_strict_mode(jp2->j2k, strict);
620*3ac0a46fSAndroid Build Coastguard Worker }
621*3ac0a46fSAndroid Build Coastguard Worker
622*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_threads(opj_jp2_t *jp2, OPJ_UINT32 num_threads)
623*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_threads(void *p_jp2, OPJ_UINT32 num_threads)
624*3ac0a46fSAndroid Build Coastguard Worker {
625*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
626*3ac0a46fSAndroid Build Coastguard Worker     return opj_j2k_set_threads(jp2->j2k, num_threads);
627*3ac0a46fSAndroid Build Coastguard Worker }
628*3ac0a46fSAndroid Build Coastguard Worker
629*3ac0a46fSAndroid Build Coastguard Worker@@ -1931,11 +1935,12 @@ OPJ_BOOL opj_jp2_set_threads(opj_jp2_t *jp2, OPJ_UINT32 num_threads)
630*3ac0a46fSAndroid Build Coastguard Worker /* JP2 encoder interface                                             */
631*3ac0a46fSAndroid Build Coastguard Worker /* ----------------------------------------------------------------------- */
632*3ac0a46fSAndroid Build Coastguard Worker
633*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_setup_encoder(opj_jp2_t *jp2,
634*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_setup_encoder(void *p_jp2,
635*3ac0a46fSAndroid Build Coastguard Worker                                opj_cparameters_t *parameters,
636*3ac0a46fSAndroid Build Coastguard Worker                                opj_image_t *image,
637*3ac0a46fSAndroid Build Coastguard Worker                                opj_event_mgr_t * p_manager)
638*3ac0a46fSAndroid Build Coastguard Worker {
639*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
640*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 i;
641*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 depth_0;
642*3ac0a46fSAndroid Build Coastguard Worker     OPJ_UINT32 sign;
643*3ac0a46fSAndroid Build Coastguard Worker@@ -2118,18 +2123,20 @@ OPJ_BOOL opj_jp2_setup_encoder(opj_jp2_t *jp2,
644*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
645*3ac0a46fSAndroid Build Coastguard Worker }
646*3ac0a46fSAndroid Build Coastguard Worker
647*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_encode(opj_jp2_t *jp2,
648*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_encode(void *p_jp2,
649*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t *stream,
650*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t * p_manager)
651*3ac0a46fSAndroid Build Coastguard Worker {
652*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
653*3ac0a46fSAndroid Build Coastguard Worker     return opj_j2k_encode(jp2->j2k, stream, p_manager);
654*3ac0a46fSAndroid Build Coastguard Worker }
655*3ac0a46fSAndroid Build Coastguard Worker
656*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_end_decompress(opj_jp2_t *jp2,
657*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_end_decompress(void *p_jp2,
658*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *cio,
659*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager
660*3ac0a46fSAndroid Build Coastguard Worker                                )
661*3ac0a46fSAndroid Build Coastguard Worker {
662*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
663*3ac0a46fSAndroid Build Coastguard Worker     /* preconditions */
664*3ac0a46fSAndroid Build Coastguard Worker     assert(jp2 != 00);
665*3ac0a46fSAndroid Build Coastguard Worker     assert(cio != 00);
666*3ac0a46fSAndroid Build Coastguard Worker@@ -2148,11 +2155,12 @@ OPJ_BOOL opj_jp2_end_decompress(opj_jp2_t *jp2,
667*3ac0a46fSAndroid Build Coastguard Worker     return opj_j2k_end_decompress(jp2->j2k, cio, p_manager);
668*3ac0a46fSAndroid Build Coastguard Worker }
669*3ac0a46fSAndroid Build Coastguard Worker
670*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_end_compress(opj_jp2_t *jp2,
671*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_end_compress(void *p_jp2,
672*3ac0a46fSAndroid Build Coastguard Worker                               opj_stream_private_t *cio,
673*3ac0a46fSAndroid Build Coastguard Worker                               opj_event_mgr_t * p_manager
674*3ac0a46fSAndroid Build Coastguard Worker                              )
675*3ac0a46fSAndroid Build Coastguard Worker {
676*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
677*3ac0a46fSAndroid Build Coastguard Worker     /* preconditions */
678*3ac0a46fSAndroid Build Coastguard Worker     assert(jp2 != 00);
679*3ac0a46fSAndroid Build Coastguard Worker     assert(cio != 00);
680*3ac0a46fSAndroid Build Coastguard Worker@@ -2476,12 +2484,13 @@ static OPJ_BOOL opj_jp2_exec(opj_jp2_t * jp2,
681*3ac0a46fSAndroid Build Coastguard Worker     return l_result;
682*3ac0a46fSAndroid Build Coastguard Worker }
683*3ac0a46fSAndroid Build Coastguard Worker
684*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_start_compress(opj_jp2_t *jp2,
685*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_start_compress(void *p_jp2,
686*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *stream,
687*3ac0a46fSAndroid Build Coastguard Worker                                 opj_image_t * p_image,
688*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager
689*3ac0a46fSAndroid Build Coastguard Worker                                )
690*3ac0a46fSAndroid Build Coastguard Worker {
691*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
692*3ac0a46fSAndroid Build Coastguard Worker     /* preconditions */
693*3ac0a46fSAndroid Build Coastguard Worker     assert(jp2 != 00);
694*3ac0a46fSAndroid Build Coastguard Worker     assert(stream != 00);
695*3ac0a46fSAndroid Build Coastguard Worker@@ -2854,11 +2863,12 @@ static OPJ_BOOL opj_jp2_read_boxhdr_char(opj_jp2_box_t *box,
696*3ac0a46fSAndroid Build Coastguard Worker }
697*3ac0a46fSAndroid Build Coastguard Worker
698*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_jp2_read_header(opj_stream_private_t *p_stream,
699*3ac0a46fSAndroid Build Coastguard Worker-                             opj_jp2_t *jp2,
700*3ac0a46fSAndroid Build Coastguard Worker+                             void *p_jp2,
701*3ac0a46fSAndroid Build Coastguard Worker                              opj_image_t ** p_image,
702*3ac0a46fSAndroid Build Coastguard Worker                              opj_event_mgr_t * p_manager
703*3ac0a46fSAndroid Build Coastguard Worker                             )
704*3ac0a46fSAndroid Build Coastguard Worker {
705*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
706*3ac0a46fSAndroid Build Coastguard Worker     /* preconditions */
707*3ac0a46fSAndroid Build Coastguard Worker     assert(jp2 != 00);
708*3ac0a46fSAndroid Build Coastguard Worker     assert(p_stream != 00);
709*3ac0a46fSAndroid Build Coastguard Worker@@ -2981,7 +2991,7 @@ static OPJ_BOOL opj_jp2_setup_header_reading(opj_jp2_t *jp2,
710*3ac0a46fSAndroid Build Coastguard Worker     return OPJ_TRUE;
711*3ac0a46fSAndroid Build Coastguard Worker }
712*3ac0a46fSAndroid Build Coastguard Worker
713*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_read_tile_header(opj_jp2_t * p_jp2,
714*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_read_tile_header(void *p_jp2,
715*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_tile_index,
716*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_data_size,
717*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_INT32 * p_tile_x0,
718*3ac0a46fSAndroid Build Coastguard Worker@@ -2994,7 +3004,8 @@ OPJ_BOOL opj_jp2_read_tile_header(opj_jp2_t * p_jp2,
719*3ac0a46fSAndroid Build Coastguard Worker                                   opj_event_mgr_t * p_manager
720*3ac0a46fSAndroid Build Coastguard Worker                                  )
721*3ac0a46fSAndroid Build Coastguard Worker {
722*3ac0a46fSAndroid Build Coastguard Worker-    return opj_j2k_read_tile_header(p_jp2->j2k,
723*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
724*3ac0a46fSAndroid Build Coastguard Worker+    return opj_j2k_read_tile_header(jp2->j2k,
725*3ac0a46fSAndroid Build Coastguard Worker                                     p_tile_index,
726*3ac0a46fSAndroid Build Coastguard Worker                                     p_data_size,
727*3ac0a46fSAndroid Build Coastguard Worker                                     p_tile_x0, p_tile_y0,
728*3ac0a46fSAndroid Build Coastguard Worker@@ -3005,7 +3016,7 @@ OPJ_BOOL opj_jp2_read_tile_header(opj_jp2_t * p_jp2,
729*3ac0a46fSAndroid Build Coastguard Worker                                     p_manager);
730*3ac0a46fSAndroid Build Coastguard Worker }
731*3ac0a46fSAndroid Build Coastguard Worker
732*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_write_tile(opj_jp2_t *p_jp2,
733*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_write_tile(void *p_jp2,
734*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_tile_index,
735*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_BYTE * p_data,
736*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_data_size,
737*3ac0a46fSAndroid Build Coastguard Worker@@ -3014,11 +3025,12 @@ OPJ_BOOL opj_jp2_write_tile(opj_jp2_t *p_jp2,
738*3ac0a46fSAndroid Build Coastguard Worker                            )
739*3ac0a46fSAndroid Build Coastguard Worker
740*3ac0a46fSAndroid Build Coastguard Worker {
741*3ac0a46fSAndroid Build Coastguard Worker-    return opj_j2k_write_tile(p_jp2->j2k, p_tile_index, p_data, p_data_size,
742*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
743*3ac0a46fSAndroid Build Coastguard Worker+    return opj_j2k_write_tile(jp2->j2k, p_tile_index, p_data, p_data_size,
744*3ac0a46fSAndroid Build Coastguard Worker                               p_stream, p_manager);
745*3ac0a46fSAndroid Build Coastguard Worker }
746*3ac0a46fSAndroid Build Coastguard Worker
747*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_decode_tile(opj_jp2_t * p_jp2,
748*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_decode_tile(void *p_jp2,
749*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_tile_index,
750*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_BYTE * p_data,
751*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_data_size,
752*3ac0a46fSAndroid Build Coastguard Worker@@ -3026,12 +3038,14 @@ OPJ_BOOL opj_jp2_decode_tile(opj_jp2_t * p_jp2,
753*3ac0a46fSAndroid Build Coastguard Worker                              opj_event_mgr_t * p_manager
754*3ac0a46fSAndroid Build Coastguard Worker                             )
755*3ac0a46fSAndroid Build Coastguard Worker {
756*3ac0a46fSAndroid Build Coastguard Worker-    return opj_j2k_decode_tile(p_jp2->j2k, p_tile_index, p_data, p_data_size,
757*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
758*3ac0a46fSAndroid Build Coastguard Worker+    return opj_j2k_decode_tile(jp2->j2k, p_tile_index, p_data, p_data_size,
759*3ac0a46fSAndroid Build Coastguard Worker                                p_stream, p_manager);
760*3ac0a46fSAndroid Build Coastguard Worker }
761*3ac0a46fSAndroid Build Coastguard Worker
762*3ac0a46fSAndroid Build Coastguard Worker-void opj_jp2_destroy(opj_jp2_t *jp2)
763*3ac0a46fSAndroid Build Coastguard Worker+void opj_jp2_destroy(void *p_jp2)
764*3ac0a46fSAndroid Build Coastguard Worker {
765*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
766*3ac0a46fSAndroid Build Coastguard Worker     if (jp2) {
767*3ac0a46fSAndroid Build Coastguard Worker         /* destroy the J2K codec */
768*3ac0a46fSAndroid Build Coastguard Worker         opj_j2k_destroy(jp2->j2k);
769*3ac0a46fSAndroid Build Coastguard Worker@@ -3098,34 +3112,37 @@ void opj_jp2_destroy(opj_jp2_t *jp2)
770*3ac0a46fSAndroid Build Coastguard Worker     }
771*3ac0a46fSAndroid Build Coastguard Worker }
772*3ac0a46fSAndroid Build Coastguard Worker
773*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_decoded_components(opj_jp2_t *p_jp2,
774*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_decoded_components(void *p_jp2,
775*3ac0a46fSAndroid Build Coastguard Worker                                         OPJ_UINT32 numcomps,
776*3ac0a46fSAndroid Build Coastguard Worker                                         const OPJ_UINT32* comps_indices,
777*3ac0a46fSAndroid Build Coastguard Worker                                         opj_event_mgr_t * p_manager)
778*3ac0a46fSAndroid Build Coastguard Worker {
779*3ac0a46fSAndroid Build Coastguard Worker-    return opj_j2k_set_decoded_components(p_jp2->j2k,
780*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
781*3ac0a46fSAndroid Build Coastguard Worker+    return opj_j2k_set_decoded_components(jp2->j2k,
782*3ac0a46fSAndroid Build Coastguard Worker                                           numcomps, comps_indices,
783*3ac0a46fSAndroid Build Coastguard Worker                                           p_manager);
784*3ac0a46fSAndroid Build Coastguard Worker }
785*3ac0a46fSAndroid Build Coastguard Worker
786*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_decode_area(opj_jp2_t *p_jp2,
787*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_decode_area(void *p_jp2,
788*3ac0a46fSAndroid Build Coastguard Worker                                  opj_image_t* p_image,
789*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
790*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_end_x, OPJ_INT32 p_end_y,
791*3ac0a46fSAndroid Build Coastguard Worker                                  opj_event_mgr_t * p_manager
792*3ac0a46fSAndroid Build Coastguard Worker                                 )
793*3ac0a46fSAndroid Build Coastguard Worker {
794*3ac0a46fSAndroid Build Coastguard Worker-    return opj_j2k_set_decode_area(p_jp2->j2k, p_image, p_start_x, p_start_y,
795*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
796*3ac0a46fSAndroid Build Coastguard Worker+    return opj_j2k_set_decode_area(jp2->j2k, p_image, p_start_x, p_start_y,
797*3ac0a46fSAndroid Build Coastguard Worker                                    p_end_x, p_end_y, p_manager);
798*3ac0a46fSAndroid Build Coastguard Worker }
799*3ac0a46fSAndroid Build Coastguard Worker
800*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_get_tile(opj_jp2_t *p_jp2,
801*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_get_tile(void *jp2,
802*3ac0a46fSAndroid Build Coastguard Worker                           opj_stream_private_t *p_stream,
803*3ac0a46fSAndroid Build Coastguard Worker                           opj_image_t* p_image,
804*3ac0a46fSAndroid Build Coastguard Worker                           opj_event_mgr_t * p_manager,
805*3ac0a46fSAndroid Build Coastguard Worker                           OPJ_UINT32 tile_index
806*3ac0a46fSAndroid Build Coastguard Worker                          )
807*3ac0a46fSAndroid Build Coastguard Worker {
808*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *p_jp2 = (opj_jp2_t*)jp2;
809*3ac0a46fSAndroid Build Coastguard Worker     if (!p_image) {
810*3ac0a46fSAndroid Build Coastguard Worker         return OPJ_FALSE;
811*3ac0a46fSAndroid Build Coastguard Worker     }
812*3ac0a46fSAndroid Build Coastguard Worker@@ -3234,41 +3251,46 @@ opj_jp2_t* opj_jp2_create(OPJ_BOOL p_is_decoder)
813*3ac0a46fSAndroid Build Coastguard Worker     return jp2;
814*3ac0a46fSAndroid Build Coastguard Worker }
815*3ac0a46fSAndroid Build Coastguard Worker
816*3ac0a46fSAndroid Build Coastguard Worker-void jp2_dump(opj_jp2_t* p_jp2, OPJ_INT32 flag, FILE* out_stream)
817*3ac0a46fSAndroid Build Coastguard Worker+void jp2_dump(void* p_jp2, OPJ_INT32 flag, FILE* out_stream)
818*3ac0a46fSAndroid Build Coastguard Worker {
819*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
820*3ac0a46fSAndroid Build Coastguard Worker     /* preconditions */
821*3ac0a46fSAndroid Build Coastguard Worker     assert(p_jp2 != 00);
822*3ac0a46fSAndroid Build Coastguard Worker
823*3ac0a46fSAndroid Build Coastguard Worker-    j2k_dump(p_jp2->j2k,
824*3ac0a46fSAndroid Build Coastguard Worker+    j2k_dump(jp2->j2k,
825*3ac0a46fSAndroid Build Coastguard Worker              flag,
826*3ac0a46fSAndroid Build Coastguard Worker              out_stream);
827*3ac0a46fSAndroid Build Coastguard Worker }
828*3ac0a46fSAndroid Build Coastguard Worker
829*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_index_t* jp2_get_cstr_index(opj_jp2_t* p_jp2)
830*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_index_t* jp2_get_cstr_index(void* p_jp2)
831*3ac0a46fSAndroid Build Coastguard Worker {
832*3ac0a46fSAndroid Build Coastguard Worker-    return j2k_get_cstr_index(p_jp2->j2k);
833*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
834*3ac0a46fSAndroid Build Coastguard Worker+    return j2k_get_cstr_index(jp2->j2k);
835*3ac0a46fSAndroid Build Coastguard Worker }
836*3ac0a46fSAndroid Build Coastguard Worker
837*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_info_v2_t* jp2_get_cstr_info(opj_jp2_t* p_jp2)
838*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_info_v2_t* jp2_get_cstr_info(void* p_jp2)
839*3ac0a46fSAndroid Build Coastguard Worker {
840*3ac0a46fSAndroid Build Coastguard Worker-    return j2k_get_cstr_info(p_jp2->j2k);
841*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
842*3ac0a46fSAndroid Build Coastguard Worker+    return j2k_get_cstr_info(jp2->j2k);
843*3ac0a46fSAndroid Build Coastguard Worker }
844*3ac0a46fSAndroid Build Coastguard Worker
845*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_decoded_resolution_factor(opj_jp2_t *p_jp2,
846*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_decoded_resolution_factor(void *p_jp2,
847*3ac0a46fSAndroid Build Coastguard Worker         OPJ_UINT32 res_factor,
848*3ac0a46fSAndroid Build Coastguard Worker         opj_event_mgr_t * p_manager)
849*3ac0a46fSAndroid Build Coastguard Worker {
850*3ac0a46fSAndroid Build Coastguard Worker-    return opj_j2k_set_decoded_resolution_factor(p_jp2->j2k, res_factor, p_manager);
851*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
852*3ac0a46fSAndroid Build Coastguard Worker+    return opj_j2k_set_decoded_resolution_factor(jp2->j2k, res_factor, p_manager);
853*3ac0a46fSAndroid Build Coastguard Worker }
854*3ac0a46fSAndroid Build Coastguard Worker
855*3ac0a46fSAndroid Build Coastguard Worker /* ----------------------------------------------------------------------- */
856*3ac0a46fSAndroid Build Coastguard Worker
857*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_jp2_encoder_set_extra_options(
858*3ac0a46fSAndroid Build Coastguard Worker-    opj_jp2_t *p_jp2,
859*3ac0a46fSAndroid Build Coastguard Worker+    void *p_jp2,
860*3ac0a46fSAndroid Build Coastguard Worker     const char* const* p_options,
861*3ac0a46fSAndroid Build Coastguard Worker     opj_event_mgr_t * p_manager)
862*3ac0a46fSAndroid Build Coastguard Worker {
863*3ac0a46fSAndroid Build Coastguard Worker-    return opj_j2k_encoder_set_extra_options(p_jp2->j2k, p_options, p_manager);
864*3ac0a46fSAndroid Build Coastguard Worker+    opj_jp2_t *jp2 = (opj_jp2_t*)p_jp2;
865*3ac0a46fSAndroid Build Coastguard Worker+    return opj_j2k_encoder_set_extra_options(jp2->j2k, p_options, p_manager);
866*3ac0a46fSAndroid Build Coastguard Worker }
867*3ac0a46fSAndroid Build Coastguard Worker
868*3ac0a46fSAndroid Build Coastguard Worker /* ----------------------------------------------------------------------- */
869*3ac0a46fSAndroid Build Coastguard Workerdiff --git a/third_party/libopenjpeg/jp2.h b/third_party/libopenjpeg/jp2.h
870*3ac0a46fSAndroid Build Coastguard Workerindex 173f25119..fd9175a4e 100644
871*3ac0a46fSAndroid Build Coastguard Worker--- a/third_party/libopenjpeg/jp2.h
872*3ac0a46fSAndroid Build Coastguard Worker+++ b/third_party/libopenjpeg/jp2.h
873*3ac0a46fSAndroid Build Coastguard Worker@@ -230,38 +230,38 @@ opj_jp2_img_header_writer_handler_t;
874*3ac0a46fSAndroid Build Coastguard Worker /**
875*3ac0a46fSAndroid Build Coastguard Worker Setup the decoder decoding parameters using user parameters.
876*3ac0a46fSAndroid Build Coastguard Worker Decoding parameters are returned in jp2->j2k->cp.
877*3ac0a46fSAndroid Build Coastguard Worker-@param jp2 JP2 decompressor handle
878*3ac0a46fSAndroid Build Coastguard Worker+@param p_jp2 JP2 decompressor handle
879*3ac0a46fSAndroid Build Coastguard Worker @param parameters decompression parameters
880*3ac0a46fSAndroid Build Coastguard Worker */
881*3ac0a46fSAndroid Build Coastguard Worker-void opj_jp2_setup_decoder(opj_jp2_t *jp2, opj_dparameters_t *parameters);
882*3ac0a46fSAndroid Build Coastguard Worker+void opj_jp2_setup_decoder(void *p_jp2, opj_dparameters_t *parameters);
883*3ac0a46fSAndroid Build Coastguard Worker
884*3ac0a46fSAndroid Build Coastguard Worker /**
885*3ac0a46fSAndroid Build Coastguard Worker Set the strict mode parameter.  When strict mode is enabled, the entire
886*3ac0a46fSAndroid Build Coastguard Worker bitstream must be decoded or an error is returned.  When it is disabled,
887*3ac0a46fSAndroid Build Coastguard Worker the decoder will decode partial bitstreams.
888*3ac0a46fSAndroid Build Coastguard Worker-@param jp2 JP2 decompressor handle
889*3ac0a46fSAndroid Build Coastguard Worker+@param p_jp2 JP2 decompressor handle
890*3ac0a46fSAndroid Build Coastguard Worker @param strict OPJ_TRUE for strict mode
891*3ac0a46fSAndroid Build Coastguard Worker */
892*3ac0a46fSAndroid Build Coastguard Worker-void opj_jp2_decoder_set_strict_mode(opj_jp2_t *jp2, OPJ_BOOL strict);
893*3ac0a46fSAndroid Build Coastguard Worker+void opj_jp2_decoder_set_strict_mode(void *p_jp2, OPJ_BOOL strict);
894*3ac0a46fSAndroid Build Coastguard Worker
895*3ac0a46fSAndroid Build Coastguard Worker /** Allocates worker threads for the compressor/decompressor.
896*3ac0a46fSAndroid Build Coastguard Worker  *
897*3ac0a46fSAndroid Build Coastguard Worker- * @param jp2 JP2 decompressor handle
898*3ac0a46fSAndroid Build Coastguard Worker+ * @param p_jp2 JP2 decompressor handle
899*3ac0a46fSAndroid Build Coastguard Worker  * @param num_threads Number of threads.
900*3ac0a46fSAndroid Build Coastguard Worker  * @return OPJ_TRUE in case of success.
901*3ac0a46fSAndroid Build Coastguard Worker  */
902*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_threads(opj_jp2_t *jp2, OPJ_UINT32 num_threads);
903*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_threads(void *p_jp2, OPJ_UINT32 num_threads);
904*3ac0a46fSAndroid Build Coastguard Worker
905*3ac0a46fSAndroid Build Coastguard Worker /**
906*3ac0a46fSAndroid Build Coastguard Worker  * Decode an image from a JPEG-2000 file stream
907*3ac0a46fSAndroid Build Coastguard Worker- * @param jp2 JP2 decompressor handle
908*3ac0a46fSAndroid Build Coastguard Worker+ * @param p_jp2 JP2 decompressor handle
909*3ac0a46fSAndroid Build Coastguard Worker  * @param p_stream  FIXME DOC
910*3ac0a46fSAndroid Build Coastguard Worker  * @param p_image   FIXME DOC
911*3ac0a46fSAndroid Build Coastguard Worker  * @param p_manager FIXME DOC
912*3ac0a46fSAndroid Build Coastguard Worker  *
913*3ac0a46fSAndroid Build Coastguard Worker  * @return Returns a decoded image if successful, returns NULL otherwise
914*3ac0a46fSAndroid Build Coastguard Worker */
915*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_decode(opj_jp2_t *jp2,
916*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_decode(void *p_jp2,
917*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t *p_stream,
918*3ac0a46fSAndroid Build Coastguard Worker                         opj_image_t* p_image,
919*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t * p_manager);
920*3ac0a46fSAndroid Build Coastguard Worker@@ -270,25 +270,25 @@ OPJ_BOOL opj_jp2_decode(opj_jp2_t *jp2,
921*3ac0a46fSAndroid Build Coastguard Worker  * Setup the encoder parameters using the current image and using user parameters.
922*3ac0a46fSAndroid Build Coastguard Worker  * Coding parameters are returned in jp2->j2k->cp.
923*3ac0a46fSAndroid Build Coastguard Worker  *
924*3ac0a46fSAndroid Build Coastguard Worker- * @param jp2 JP2 compressor handle
925*3ac0a46fSAndroid Build Coastguard Worker+ * @param p_jp2 JP2 compressor handle
926*3ac0a46fSAndroid Build Coastguard Worker  * @param parameters compression parameters
927*3ac0a46fSAndroid Build Coastguard Worker  * @param image input filled image
928*3ac0a46fSAndroid Build Coastguard Worker  * @param p_manager  FIXME DOC
929*3ac0a46fSAndroid Build Coastguard Worker  * @return OPJ_TRUE if successful, OPJ_FALSE otherwise
930*3ac0a46fSAndroid Build Coastguard Worker */
931*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_setup_encoder(opj_jp2_t *jp2,
932*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_setup_encoder(void *p_jp2,
933*3ac0a46fSAndroid Build Coastguard Worker                                opj_cparameters_t *parameters,
934*3ac0a46fSAndroid Build Coastguard Worker                                opj_image_t *image,
935*3ac0a46fSAndroid Build Coastguard Worker                                opj_event_mgr_t * p_manager);
936*3ac0a46fSAndroid Build Coastguard Worker
937*3ac0a46fSAndroid Build Coastguard Worker /**
938*3ac0a46fSAndroid Build Coastguard Worker Encode an image into a JPEG-2000 file stream
939*3ac0a46fSAndroid Build Coastguard Worker-@param jp2      JP2 compressor handle
940*3ac0a46fSAndroid Build Coastguard Worker+@param p_jp2      JP2 compressor handle
941*3ac0a46fSAndroid Build Coastguard Worker @param stream    Output buffer stream
942*3ac0a46fSAndroid Build Coastguard Worker @param p_manager  event manager
943*3ac0a46fSAndroid Build Coastguard Worker @return Returns true if successful, returns false otherwise
944*3ac0a46fSAndroid Build Coastguard Worker */
945*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_encode(opj_jp2_t *jp2,
946*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_encode(void *p_jp2,
947*3ac0a46fSAndroid Build Coastguard Worker                         opj_stream_private_t *stream,
948*3ac0a46fSAndroid Build Coastguard Worker                         opj_event_mgr_t * p_manager);
949*3ac0a46fSAndroid Build Coastguard Worker
950*3ac0a46fSAndroid Build Coastguard Worker@@ -296,14 +296,14 @@ OPJ_BOOL opj_jp2_encode(opj_jp2_t *jp2,
951*3ac0a46fSAndroid Build Coastguard Worker /**
952*3ac0a46fSAndroid Build Coastguard Worker  * Starts a compression scheme, i.e. validates the codec parameters, writes the header.
953*3ac0a46fSAndroid Build Coastguard Worker  *
954*3ac0a46fSAndroid Build Coastguard Worker- * @param  jp2    the jpeg2000 file codec.
955*3ac0a46fSAndroid Build Coastguard Worker+ * @param  p_jp2    the jpeg2000 file codec.
956*3ac0a46fSAndroid Build Coastguard Worker  * @param  stream    the stream object.
957*3ac0a46fSAndroid Build Coastguard Worker  * @param  p_image   FIXME DOC
958*3ac0a46fSAndroid Build Coastguard Worker  * @param p_manager FIXME DOC
959*3ac0a46fSAndroid Build Coastguard Worker  *
960*3ac0a46fSAndroid Build Coastguard Worker  * @return true if the codec is valid.
961*3ac0a46fSAndroid Build Coastguard Worker  */
962*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_start_compress(opj_jp2_t *jp2,
963*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_start_compress(void *p_jp2,
964*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *stream,
965*3ac0a46fSAndroid Build Coastguard Worker                                 opj_image_t * p_image,
966*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager);
967*3ac0a46fSAndroid Build Coastguard Worker@@ -313,7 +313,7 @@ OPJ_BOOL opj_jp2_start_compress(opj_jp2_t *jp2,
968*3ac0a46fSAndroid Build Coastguard Worker  * Ends the compression procedures and possibiliy add data to be read after the
969*3ac0a46fSAndroid Build Coastguard Worker  * codestream.
970*3ac0a46fSAndroid Build Coastguard Worker  */
971*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_end_compress(opj_jp2_t *jp2,
972*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_end_compress(void *p_jp2,
973*3ac0a46fSAndroid Build Coastguard Worker                               opj_stream_private_t *cio,
974*3ac0a46fSAndroid Build Coastguard Worker                               opj_event_mgr_t * p_manager);
975*3ac0a46fSAndroid Build Coastguard Worker
976*3ac0a46fSAndroid Build Coastguard Worker@@ -323,7 +323,7 @@ OPJ_BOOL opj_jp2_end_compress(opj_jp2_t *jp2,
977*3ac0a46fSAndroid Build Coastguard Worker  * Ends the decompression procedures and possibiliy add data to be read after the
978*3ac0a46fSAndroid Build Coastguard Worker  * codestream.
979*3ac0a46fSAndroid Build Coastguard Worker  */
980*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_end_decompress(opj_jp2_t *jp2,
981*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_end_decompress(void *p_jp2,
982*3ac0a46fSAndroid Build Coastguard Worker                                 opj_stream_private_t *cio,
983*3ac0a46fSAndroid Build Coastguard Worker                                 opj_event_mgr_t * p_manager);
984*3ac0a46fSAndroid Build Coastguard Worker
985*3ac0a46fSAndroid Build Coastguard Worker@@ -331,20 +331,20 @@ OPJ_BOOL opj_jp2_end_decompress(opj_jp2_t *jp2,
986*3ac0a46fSAndroid Build Coastguard Worker  * Reads a jpeg2000 file header structure.
987*3ac0a46fSAndroid Build Coastguard Worker  *
988*3ac0a46fSAndroid Build Coastguard Worker  * @param p_stream the stream to read data from.
989*3ac0a46fSAndroid Build Coastguard Worker- * @param jp2 the jpeg2000 file header structure.
990*3ac0a46fSAndroid Build Coastguard Worker+ * @param p_jp2 the jpeg2000 file header structure.
991*3ac0a46fSAndroid Build Coastguard Worker  * @param p_image   FIXME DOC
992*3ac0a46fSAndroid Build Coastguard Worker  * @param p_manager the user event manager.
993*3ac0a46fSAndroid Build Coastguard Worker  *
994*3ac0a46fSAndroid Build Coastguard Worker  * @return true if the box is valid.
995*3ac0a46fSAndroid Build Coastguard Worker  */
996*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_jp2_read_header(opj_stream_private_t *p_stream,
997*3ac0a46fSAndroid Build Coastguard Worker-                             opj_jp2_t *jp2,
998*3ac0a46fSAndroid Build Coastguard Worker+                             void *p_jp2,
999*3ac0a46fSAndroid Build Coastguard Worker                              opj_image_t ** p_image,
1000*3ac0a46fSAndroid Build Coastguard Worker                              opj_event_mgr_t * p_manager);
1001*3ac0a46fSAndroid Build Coastguard Worker
1002*3ac0a46fSAndroid Build Coastguard Worker /** Sets the indices of the components to decode.
1003*3ac0a46fSAndroid Build Coastguard Worker  *
1004*3ac0a46fSAndroid Build Coastguard Worker- * @param jp2 JP2 decompressor handle
1005*3ac0a46fSAndroid Build Coastguard Worker+ * @param p_jp2 JP2 decompressor handle
1006*3ac0a46fSAndroid Build Coastguard Worker  * @param numcomps Number of components to decode.
1007*3ac0a46fSAndroid Build Coastguard Worker  * @param comps_indices Array of num_compts indices (numbering starting at 0)
1008*3ac0a46fSAndroid Build Coastguard Worker  *                     corresponding to the components to decode.
1009*3ac0a46fSAndroid Build Coastguard Worker@@ -352,7 +352,7 @@ OPJ_BOOL opj_jp2_read_header(opj_stream_private_t *p_stream,
1010*3ac0a46fSAndroid Build Coastguard Worker  *
1011*3ac0a46fSAndroid Build Coastguard Worker  * @return OPJ_TRUE in case of success.
1012*3ac0a46fSAndroid Build Coastguard Worker  */
1013*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_decoded_components(opj_jp2_t *jp2,
1014*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_decoded_components(void *p_jp2,
1015*3ac0a46fSAndroid Build Coastguard Worker                                         OPJ_UINT32 numcomps,
1016*3ac0a46fSAndroid Build Coastguard Worker                                         const OPJ_UINT32* comps_indices,
1017*3ac0a46fSAndroid Build Coastguard Worker                                         opj_event_mgr_t * p_manager);
1018*3ac0a46fSAndroid Build Coastguard Worker@@ -371,7 +371,7 @@ OPJ_BOOL opj_jp2_set_decoded_components(opj_jp2_t *jp2,
1019*3ac0a46fSAndroid Build Coastguard Worker  * @param  p_stream      the stream to write data to.
1020*3ac0a46fSAndroid Build Coastguard Worker  * @param  p_manager     the user event manager.
1021*3ac0a46fSAndroid Build Coastguard Worker  */
1022*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_read_tile_header(opj_jp2_t * p_jp2,
1023*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_read_tile_header(void * p_jp2,
1024*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_tile_index,
1025*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_UINT32 * p_data_size,
1026*3ac0a46fSAndroid Build Coastguard Worker                                   OPJ_INT32 * p_tile_x0,
1027*3ac0a46fSAndroid Build Coastguard Worker@@ -393,7 +393,7 @@ OPJ_BOOL opj_jp2_read_tile_header(opj_jp2_t * p_jp2,
1028*3ac0a46fSAndroid Build Coastguard Worker  * @param  p_stream      the stream to write data to.
1029*3ac0a46fSAndroid Build Coastguard Worker  * @param  p_manager  the user event manager.
1030*3ac0a46fSAndroid Build Coastguard Worker  */
1031*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_write_tile(opj_jp2_t *p_jp2,
1032*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_write_tile(void *p_jp2,
1033*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_tile_index,
1034*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_BYTE * p_data,
1035*3ac0a46fSAndroid Build Coastguard Worker                             OPJ_UINT32 p_data_size,
1036*3ac0a46fSAndroid Build Coastguard Worker@@ -411,7 +411,7 @@ OPJ_BOOL opj_jp2_write_tile(opj_jp2_t *p_jp2,
1037*3ac0a46fSAndroid Build Coastguard Worker  *
1038*3ac0a46fSAndroid Build Coastguard Worker  * @return FIXME DOC
1039*3ac0a46fSAndroid Build Coastguard Worker  */
1040*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_decode_tile(opj_jp2_t * p_jp2,
1041*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_decode_tile(void * p_jp2,
1042*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_tile_index,
1043*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_BYTE * p_data,
1044*3ac0a46fSAndroid Build Coastguard Worker                              OPJ_UINT32 p_data_size,
1045*3ac0a46fSAndroid Build Coastguard Worker@@ -427,9 +427,9 @@ opj_jp2_t* opj_jp2_create(OPJ_BOOL p_is_decoder);
1046*3ac0a46fSAndroid Build Coastguard Worker
1047*3ac0a46fSAndroid Build Coastguard Worker /**
1048*3ac0a46fSAndroid Build Coastguard Worker Destroy a JP2 decompressor handle
1049*3ac0a46fSAndroid Build Coastguard Worker-@param jp2 JP2 decompressor handle to destroy
1050*3ac0a46fSAndroid Build Coastguard Worker+@param p_jp2 JP2 decompressor handle to destroy
1051*3ac0a46fSAndroid Build Coastguard Worker */
1052*3ac0a46fSAndroid Build Coastguard Worker-void opj_jp2_destroy(opj_jp2_t *jp2);
1053*3ac0a46fSAndroid Build Coastguard Worker+void opj_jp2_destroy(void *p_jp2);
1054*3ac0a46fSAndroid Build Coastguard Worker
1055*3ac0a46fSAndroid Build Coastguard Worker
1056*3ac0a46fSAndroid Build Coastguard Worker /**
1057*3ac0a46fSAndroid Build Coastguard Worker@@ -445,7 +445,7 @@ void opj_jp2_destroy(opj_jp2_t *jp2);
1058*3ac0a46fSAndroid Build Coastguard Worker  *
1059*3ac0a46fSAndroid Build Coastguard Worker  * @return  true      if the area could be set.
1060*3ac0a46fSAndroid Build Coastguard Worker  */
1061*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_decode_area(opj_jp2_t *p_jp2,
1062*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_decode_area(void *p_jp2,
1063*3ac0a46fSAndroid Build Coastguard Worker                                  opj_image_t* p_image,
1064*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
1065*3ac0a46fSAndroid Build Coastguard Worker                                  OPJ_INT32 p_end_x, OPJ_INT32 p_end_y,
1066*3ac0a46fSAndroid Build Coastguard Worker@@ -454,7 +454,7 @@ OPJ_BOOL opj_jp2_set_decode_area(opj_jp2_t *p_jp2,
1067*3ac0a46fSAndroid Build Coastguard Worker /**
1068*3ac0a46fSAndroid Build Coastguard Worker *
1069*3ac0a46fSAndroid Build Coastguard Worker */
1070*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_get_tile(opj_jp2_t *p_jp2,
1071*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_get_tile(void *jp2,
1072*3ac0a46fSAndroid Build Coastguard Worker                           opj_stream_private_t *p_stream,
1073*3ac0a46fSAndroid Build Coastguard Worker                           opj_image_t* p_image,
1074*3ac0a46fSAndroid Build Coastguard Worker                           opj_event_mgr_t * p_manager,
1075*3ac0a46fSAndroid Build Coastguard Worker@@ -464,7 +464,7 @@ OPJ_BOOL opj_jp2_get_tile(opj_jp2_t *p_jp2,
1076*3ac0a46fSAndroid Build Coastguard Worker /**
1077*3ac0a46fSAndroid Build Coastguard Worker  *
1078*3ac0a46fSAndroid Build Coastguard Worker  */
1079*3ac0a46fSAndroid Build Coastguard Worker-OPJ_BOOL opj_jp2_set_decoded_resolution_factor(opj_jp2_t *p_jp2,
1080*3ac0a46fSAndroid Build Coastguard Worker+OPJ_BOOL opj_jp2_set_decoded_resolution_factor(void *p_jp2,
1081*3ac0a46fSAndroid Build Coastguard Worker         OPJ_UINT32 res_factor,
1082*3ac0a46fSAndroid Build Coastguard Worker         opj_event_mgr_t * p_manager);
1083*3ac0a46fSAndroid Build Coastguard Worker
1084*3ac0a46fSAndroid Build Coastguard Worker@@ -478,7 +478,7 @@ OPJ_BOOL opj_jp2_set_decoded_resolution_factor(opj_jp2_t *p_jp2,
1085*3ac0a46fSAndroid Build Coastguard Worker  * @see opj_encoder_set_extra_options() for more details.
1086*3ac0a46fSAndroid Build Coastguard Worker  */
1087*3ac0a46fSAndroid Build Coastguard Worker OPJ_BOOL opj_jp2_encoder_set_extra_options(
1088*3ac0a46fSAndroid Build Coastguard Worker-    opj_jp2_t *p_jp2,
1089*3ac0a46fSAndroid Build Coastguard Worker+    void *p_jp2,
1090*3ac0a46fSAndroid Build Coastguard Worker     const char* const* p_options,
1091*3ac0a46fSAndroid Build Coastguard Worker     opj_event_mgr_t * p_manager);
1092*3ac0a46fSAndroid Build Coastguard Worker
1093*3ac0a46fSAndroid Build Coastguard Worker@@ -492,7 +492,7 @@ OPJ_BOOL opj_jp2_encoder_set_extra_options(
1094*3ac0a46fSAndroid Build Coastguard Worker  *@param out_stream      output stream where dump the elements.
1095*3ac0a46fSAndroid Build Coastguard Worker  *
1096*3ac0a46fSAndroid Build Coastguard Worker */
1097*3ac0a46fSAndroid Build Coastguard Worker-void jp2_dump(opj_jp2_t* p_jp2, OPJ_INT32 flag, FILE* out_stream);
1098*3ac0a46fSAndroid Build Coastguard Worker+void jp2_dump(void* p_jp2, OPJ_INT32 flag, FILE* out_stream);
1099*3ac0a46fSAndroid Build Coastguard Worker
1100*3ac0a46fSAndroid Build Coastguard Worker /**
1101*3ac0a46fSAndroid Build Coastguard Worker  * Get the codestream info from a JPEG2000 codec.
1102*3ac0a46fSAndroid Build Coastguard Worker@@ -501,7 +501,7 @@ void jp2_dump(opj_jp2_t* p_jp2, OPJ_INT32 flag, FILE* out_stream);
1103*3ac0a46fSAndroid Build Coastguard Worker  *
1104*3ac0a46fSAndroid Build Coastguard Worker  *@return  the codestream information extract from the jpg2000 codec
1105*3ac0a46fSAndroid Build Coastguard Worker  */
1106*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_info_v2_t* jp2_get_cstr_info(opj_jp2_t* p_jp2);
1107*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_info_v2_t* jp2_get_cstr_info(void* p_jp2);
1108*3ac0a46fSAndroid Build Coastguard Worker
1109*3ac0a46fSAndroid Build Coastguard Worker /**
1110*3ac0a46fSAndroid Build Coastguard Worker  * Get the codestream index from a JPEG2000 codec.
1111*3ac0a46fSAndroid Build Coastguard Worker@@ -510,7 +510,7 @@ opj_codestream_info_v2_t* jp2_get_cstr_info(opj_jp2_t* p_jp2);
1112*3ac0a46fSAndroid Build Coastguard Worker  *
1113*3ac0a46fSAndroid Build Coastguard Worker  *@return  the codestream index extract from the jpg2000 codec
1114*3ac0a46fSAndroid Build Coastguard Worker  */
1115*3ac0a46fSAndroid Build Coastguard Worker-opj_codestream_index_t* jp2_get_cstr_index(opj_jp2_t* p_jp2);
1116*3ac0a46fSAndroid Build Coastguard Worker+opj_codestream_index_t* jp2_get_cstr_index(void* p_jp2);
1117*3ac0a46fSAndroid Build Coastguard Worker
1118*3ac0a46fSAndroid Build Coastguard Worker
1119*3ac0a46fSAndroid Build Coastguard Worker /*@}*/
1120*3ac0a46fSAndroid Build Coastguard Workerdiff --git a/third_party/libopenjpeg/openjpeg.c b/third_party/libopenjpeg/openjpeg.c
1121*3ac0a46fSAndroid Build Coastguard Workerindex 29d3ee528..9dd4256d7 100644
1122*3ac0a46fSAndroid Build Coastguard Worker--- a/third_party/libopenjpeg/openjpeg.c
1123*3ac0a46fSAndroid Build Coastguard Worker+++ b/third_party/libopenjpeg/openjpeg.c
1124*3ac0a46fSAndroid Build Coastguard Worker@@ -189,85 +189,48 @@ opj_codec_t* OPJ_CALLCONV opj_create_decompress(OPJ_CODEC_FORMAT p_format)
1125*3ac0a46fSAndroid Build Coastguard Worker
1126*3ac0a46fSAndroid Build Coastguard Worker     switch (p_format) {
1127*3ac0a46fSAndroid Build Coastguard Worker     case OPJ_CODEC_J2K:
1128*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_dump_codec = (void (*)(void*, OPJ_INT32, FILE*)) j2k_dump;
1129*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_dump_codec = j2k_dump;
1130*3ac0a46fSAndroid Build Coastguard Worker
1131*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_get_codec_info = (opj_codestream_info_v2_t* (*)(
1132*3ac0a46fSAndroid Build Coastguard Worker-                                           void*)) j2k_get_cstr_info;
1133*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_get_codec_info = j2k_get_cstr_info;
1134*3ac0a46fSAndroid Build Coastguard Worker
1135*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_get_codec_index = (opj_codestream_index_t* (*)(
1136*3ac0a46fSAndroid Build Coastguard Worker-                                            void*)) j2k_get_cstr_index;
1137*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_get_codec_index = j2k_get_cstr_index;
1138*3ac0a46fSAndroid Build Coastguard Worker
1139*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_decompression.opj_decode =
1140*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1141*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1142*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t*, struct opj_event_mgr *)) opj_j2k_decode;
1143*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_decompression.opj_decode = opj_j2k_decode;
1144*3ac0a46fSAndroid Build Coastguard Worker
1145*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_end_decompress =
1146*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1147*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1148*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_j2k_end_decompress;
1149*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_end_decompress;
1150*3ac0a46fSAndroid Build Coastguard Worker
1151*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_read_header =
1152*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(struct opj_stream_private *,
1153*3ac0a46fSAndroid Build Coastguard Worker-                         void *,
1154*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t **,
1155*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_j2k_read_header;
1156*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_read_header;
1157*3ac0a46fSAndroid Build Coastguard Worker
1158*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_decompression.opj_destroy =
1159*3ac0a46fSAndroid Build Coastguard Worker-            (void (*)(void *))opj_j2k_destroy;
1160*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_decompression.opj_destroy = opj_j2k_destroy;
1161*3ac0a46fSAndroid Build Coastguard Worker
1162*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_setup_decoder =
1163*3ac0a46fSAndroid Build Coastguard Worker-            (void (*)(void *, opj_dparameters_t *)) opj_j2k_setup_decoder;
1164*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_setup_decoder;
1165*3ac0a46fSAndroid Build Coastguard Worker
1166*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_decoder_set_strict_mode =
1167*3ac0a46fSAndroid Build Coastguard Worker-            (void (*)(void *, OPJ_BOOL)) opj_j2k_decoder_set_strict_mode;
1168*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_decoder_set_strict_mode;
1169*3ac0a46fSAndroid Build Coastguard Worker
1170*3ac0a46fSAndroid Build Coastguard Worker
1171*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_read_tile_header =
1172*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1173*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32*,
1174*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32*,
1175*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32*, OPJ_INT32*,
1176*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32*, OPJ_INT32*,
1177*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32*,
1178*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_BOOL*,
1179*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1180*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_j2k_read_tile_header;
1181*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_read_tile_header;
1182*3ac0a46fSAndroid Build Coastguard Worker
1183*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_decode_tile_data =
1184*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1185*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32,
1186*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_BYTE*,
1187*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32,
1188*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1189*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_j2k_decode_tile;
1190*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_decode_tile;
1191*3ac0a46fSAndroid Build Coastguard Worker
1192*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_set_decode_area =
1193*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1194*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t*,
1195*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32, OPJ_INT32, OPJ_INT32, OPJ_INT32,
1196*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_j2k_set_decode_area;
1197*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_set_decode_area;
1198*3ac0a46fSAndroid Build Coastguard Worker
1199*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_get_decoded_tile =
1200*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *p_codec,
1201*3ac0a46fSAndroid Build Coastguard Worker-                         opj_stream_private_t *p_cio,
1202*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t *p_image,
1203*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr * p_manager,
1204*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32 tile_index)) opj_j2k_get_tile;
1205*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_get_tile;
1206*3ac0a46fSAndroid Build Coastguard Worker
1207*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_set_decoded_resolution_factor =
1208*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec,
1209*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32 res_factor,
1210*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr * p_manager)) opj_j2k_set_decoded_resolution_factor;
1211*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_set_decoded_resolution_factor;
1212*3ac0a46fSAndroid Build Coastguard Worker
1213*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_set_decoded_components =
1214*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec,
1215*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32 numcomps,
1216*3ac0a46fSAndroid Build Coastguard Worker-                         const OPJ_UINT32 * comps_indices,
1217*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr * p_manager)) opj_j2k_set_decoded_components;
1218*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_set_decoded_components;
1219*3ac0a46fSAndroid Build Coastguard Worker
1220*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_set_threads =
1221*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec, OPJ_UINT32 num_threads)) opj_j2k_set_threads;
1222*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_set_threads = opj_j2k_set_threads;
1223*3ac0a46fSAndroid Build Coastguard Worker
1224*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec = opj_j2k_create_decompress();
1225*3ac0a46fSAndroid Build Coastguard Worker
1226*3ac0a46fSAndroid Build Coastguard Worker@@ -280,85 +243,47 @@ opj_codec_t* OPJ_CALLCONV opj_create_decompress(OPJ_CODEC_FORMAT p_format)
1227*3ac0a46fSAndroid Build Coastguard Worker
1228*3ac0a46fSAndroid Build Coastguard Worker     case OPJ_CODEC_JP2:
1229*3ac0a46fSAndroid Build Coastguard Worker         /* get a JP2 decoder handle */
1230*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_dump_codec = (void (*)(void*, OPJ_INT32, FILE*)) jp2_dump;
1231*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_dump_codec = jp2_dump;
1232*3ac0a46fSAndroid Build Coastguard Worker
1233*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_get_codec_info = (opj_codestream_info_v2_t* (*)(
1234*3ac0a46fSAndroid Build Coastguard Worker-                                           void*)) jp2_get_cstr_info;
1235*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_get_codec_info = jp2_get_cstr_info;
1236*3ac0a46fSAndroid Build Coastguard Worker
1237*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_get_codec_index = (opj_codestream_index_t* (*)(
1238*3ac0a46fSAndroid Build Coastguard Worker-                                            void*)) jp2_get_cstr_index;
1239*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_get_codec_index = jp2_get_cstr_index;
1240*3ac0a46fSAndroid Build Coastguard Worker
1241*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_decompression.opj_decode =
1242*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1243*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1244*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t*,
1245*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_jp2_decode;
1246*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_decompression.opj_decode = opj_jp2_decode;
1247*3ac0a46fSAndroid Build Coastguard Worker
1248*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_end_decompress =
1249*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1250*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1251*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_jp2_end_decompress;
1252*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_end_decompress;
1253*3ac0a46fSAndroid Build Coastguard Worker
1254*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_read_header =
1255*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(struct opj_stream_private *,
1256*3ac0a46fSAndroid Build Coastguard Worker-                         void *,
1257*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t **,
1258*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_jp2_read_header;
1259*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_read_header;
1260*3ac0a46fSAndroid Build Coastguard Worker
1261*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_read_tile_header =
1262*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1263*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32*,
1264*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32*,
1265*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32*,
1266*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32*,
1267*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32 *,
1268*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32 *,
1269*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32 *,
1270*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_BOOL *,
1271*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1272*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_jp2_read_tile_header;
1273*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_read_tile_header;
1274*3ac0a46fSAndroid Build Coastguard Worker
1275*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_decode_tile_data =
1276*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1277*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32, OPJ_BYTE*, OPJ_UINT32,
1278*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_stream_private *,
1279*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_jp2_decode_tile;
1280*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_decode_tile;
1281*3ac0a46fSAndroid Build Coastguard Worker
1282*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_decompression.opj_destroy = (void (*)(
1283*3ac0a46fSAndroid Build Coastguard Worker-                    void *))opj_jp2_destroy;
1284*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_decompression.opj_destroy = opj_jp2_destroy;
1285*3ac0a46fSAndroid Build Coastguard Worker
1286*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_setup_decoder =
1287*3ac0a46fSAndroid Build Coastguard Worker-            (void (*)(void *, opj_dparameters_t *)) opj_jp2_setup_decoder;
1288*3ac0a46fSAndroid Build Coastguard Worker+             opj_jp2_setup_decoder;
1289*3ac0a46fSAndroid Build Coastguard Worker
1290*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_decoder_set_strict_mode =
1291*3ac0a46fSAndroid Build Coastguard Worker-            (void (*)(void *, OPJ_BOOL)) opj_jp2_decoder_set_strict_mode;
1292*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_decoder_set_strict_mode;
1293*3ac0a46fSAndroid Build Coastguard Worker
1294*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_set_decode_area =
1295*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *,
1296*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t*,
1297*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_INT32, OPJ_INT32, OPJ_INT32, OPJ_INT32,
1298*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr *)) opj_jp2_set_decode_area;
1299*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_set_decode_area;
1300*3ac0a46fSAndroid Build Coastguard Worker
1301*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_get_decoded_tile =
1302*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void *p_codec,
1303*3ac0a46fSAndroid Build Coastguard Worker-                         opj_stream_private_t *p_cio,
1304*3ac0a46fSAndroid Build Coastguard Worker-                         opj_image_t *p_image,
1305*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr * p_manager,
1306*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32 tile_index)) opj_jp2_get_tile;
1307*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_get_tile;
1308*3ac0a46fSAndroid Build Coastguard Worker
1309*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_set_decoded_resolution_factor =
1310*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec,
1311*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32 res_factor,
1312*3ac0a46fSAndroid Build Coastguard Worker-                         opj_event_mgr_t * p_manager)) opj_jp2_set_decoded_resolution_factor;
1313*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_set_decoded_resolution_factor;
1314*3ac0a46fSAndroid Build Coastguard Worker
1315*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec_data.m_decompression.opj_set_decoded_components =
1316*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec,
1317*3ac0a46fSAndroid Build Coastguard Worker-                         OPJ_UINT32 numcomps,
1318*3ac0a46fSAndroid Build Coastguard Worker-                         const OPJ_UINT32 * comps_indices,
1319*3ac0a46fSAndroid Build Coastguard Worker-                         struct opj_event_mgr * p_manager)) opj_jp2_set_decoded_components;
1320*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_set_decoded_components;
1321*3ac0a46fSAndroid Build Coastguard Worker
1322*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_set_threads =
1323*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec, OPJ_UINT32 num_threads)) opj_jp2_set_threads;
1324*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_set_threads = opj_jp2_set_threads;
1325*3ac0a46fSAndroid Build Coastguard Worker
1326*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec = opj_jp2_create(OPJ_TRUE);
1327*3ac0a46fSAndroid Build Coastguard Worker
1328*3ac0a46fSAndroid Build Coastguard Worker@@ -662,41 +587,25 @@ opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT p_format)
1329*3ac0a46fSAndroid Build Coastguard Worker
1330*3ac0a46fSAndroid Build Coastguard Worker     switch (p_format) {
1331*3ac0a46fSAndroid Build Coastguard Worker     case OPJ_CODEC_J2K:
1332*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_encode = (OPJ_BOOL(*)(void *,
1333*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1334*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_j2k_encode;
1335*3ac0a46fSAndroid Build Coastguard Worker-
1336*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_end_compress = (OPJ_BOOL(*)(void *,
1337*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1338*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_j2k_end_compress;
1339*3ac0a46fSAndroid Build Coastguard Worker-
1340*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_start_compress = (OPJ_BOOL(*)(void *,
1341*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1342*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_image *,
1343*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_j2k_start_compress;
1344*3ac0a46fSAndroid Build Coastguard Worker-
1345*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_write_tile = (OPJ_BOOL(*)(void *,
1346*3ac0a46fSAndroid Build Coastguard Worker-                OPJ_UINT32,
1347*3ac0a46fSAndroid Build Coastguard Worker-                OPJ_BYTE*,
1348*3ac0a46fSAndroid Build Coastguard Worker-                OPJ_UINT32,
1349*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1350*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_j2k_write_tile;
1351*3ac0a46fSAndroid Build Coastguard Worker-
1352*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_destroy = (void (*)(
1353*3ac0a46fSAndroid Build Coastguard Worker-                    void *)) opj_j2k_destroy;
1354*3ac0a46fSAndroid Build Coastguard Worker-
1355*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_setup_encoder = (OPJ_BOOL(*)(void *,
1356*3ac0a46fSAndroid Build Coastguard Worker-                opj_cparameters_t *,
1357*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_image *,
1358*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_j2k_setup_encoder;
1359*3ac0a46fSAndroid Build Coastguard Worker-
1360*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_encoder_set_extra_options = (OPJ_BOOL(
1361*3ac0a46fSAndroid Build Coastguard Worker-                    *)(void *,
1362*3ac0a46fSAndroid Build Coastguard Worker-                       const char* const*,
1363*3ac0a46fSAndroid Build Coastguard Worker-                       struct opj_event_mgr *)) opj_j2k_encoder_set_extra_options;
1364*3ac0a46fSAndroid Build Coastguard Worker-
1365*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_set_threads =
1366*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec, OPJ_UINT32 num_threads)) opj_j2k_set_threads;
1367*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_encode = opj_j2k_encode;
1368*3ac0a46fSAndroid Build Coastguard Worker+
1369*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_end_compress =
1370*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_end_compress;
1371*3ac0a46fSAndroid Build Coastguard Worker+
1372*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_start_compress =
1373*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_start_compress;
1374*3ac0a46fSAndroid Build Coastguard Worker+
1375*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_write_tile = opj_j2k_write_tile;
1376*3ac0a46fSAndroid Build Coastguard Worker+
1377*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_destroy = opj_j2k_destroy;
1378*3ac0a46fSAndroid Build Coastguard Worker+
1379*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_setup_encoder =
1380*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_setup_encoder;
1381*3ac0a46fSAndroid Build Coastguard Worker+
1382*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_encoder_set_extra_options =
1383*3ac0a46fSAndroid Build Coastguard Worker+            opj_j2k_encoder_set_extra_options;
1384*3ac0a46fSAndroid Build Coastguard Worker+
1385*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_set_threads = opj_j2k_set_threads;
1386*3ac0a46fSAndroid Build Coastguard Worker
1387*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec = opj_j2k_create_compress();
1388*3ac0a46fSAndroid Build Coastguard Worker         if (! l_codec->m_codec) {
1389*3ac0a46fSAndroid Build Coastguard Worker@@ -708,41 +617,25 @@ opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT p_format)
1390*3ac0a46fSAndroid Build Coastguard Worker
1391*3ac0a46fSAndroid Build Coastguard Worker     case OPJ_CODEC_JP2:
1392*3ac0a46fSAndroid Build Coastguard Worker         /* get a JP2 decoder handle */
1393*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_encode = (OPJ_BOOL(*)(void *,
1394*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1395*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_jp2_encode;
1396*3ac0a46fSAndroid Build Coastguard Worker-
1397*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_end_compress = (OPJ_BOOL(*)(void *,
1398*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1399*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_jp2_end_compress;
1400*3ac0a46fSAndroid Build Coastguard Worker-
1401*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_start_compress = (OPJ_BOOL(*)(void *,
1402*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1403*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_image *,
1404*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *))  opj_jp2_start_compress;
1405*3ac0a46fSAndroid Build Coastguard Worker-
1406*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_write_tile = (OPJ_BOOL(*)(void *,
1407*3ac0a46fSAndroid Build Coastguard Worker-                OPJ_UINT32,
1408*3ac0a46fSAndroid Build Coastguard Worker-                OPJ_BYTE*,
1409*3ac0a46fSAndroid Build Coastguard Worker-                OPJ_UINT32,
1410*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_stream_private *,
1411*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_jp2_write_tile;
1412*3ac0a46fSAndroid Build Coastguard Worker-
1413*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_destroy = (void (*)(
1414*3ac0a46fSAndroid Build Coastguard Worker-                    void *)) opj_jp2_destroy;
1415*3ac0a46fSAndroid Build Coastguard Worker-
1416*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_setup_encoder = (OPJ_BOOL(*)(void *,
1417*3ac0a46fSAndroid Build Coastguard Worker-                opj_cparameters_t *,
1418*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_image *,
1419*3ac0a46fSAndroid Build Coastguard Worker-                struct opj_event_mgr *)) opj_jp2_setup_encoder;
1420*3ac0a46fSAndroid Build Coastguard Worker-
1421*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->m_codec_data.m_compression.opj_encoder_set_extra_options = (OPJ_BOOL(
1422*3ac0a46fSAndroid Build Coastguard Worker-                    *)(void *,
1423*3ac0a46fSAndroid Build Coastguard Worker-                       const char* const*,
1424*3ac0a46fSAndroid Build Coastguard Worker-                       struct opj_event_mgr *)) opj_jp2_encoder_set_extra_options;
1425*3ac0a46fSAndroid Build Coastguard Worker-
1426*3ac0a46fSAndroid Build Coastguard Worker-        l_codec->opj_set_threads =
1427*3ac0a46fSAndroid Build Coastguard Worker-            (OPJ_BOOL(*)(void * p_codec, OPJ_UINT32 num_threads)) opj_jp2_set_threads;
1428*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_encode = opj_jp2_encode;
1429*3ac0a46fSAndroid Build Coastguard Worker+
1430*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_end_compress =
1431*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_end_compress;
1432*3ac0a46fSAndroid Build Coastguard Worker+
1433*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_start_compress =
1434*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_start_compress;
1435*3ac0a46fSAndroid Build Coastguard Worker+
1436*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_write_tile = opj_jp2_write_tile;
1437*3ac0a46fSAndroid Build Coastguard Worker+
1438*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_destroy = opj_jp2_destroy;
1439*3ac0a46fSAndroid Build Coastguard Worker+
1440*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_setup_encoder =
1441*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_setup_encoder;
1442*3ac0a46fSAndroid Build Coastguard Worker+
1443*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->m_codec_data.m_compression.opj_encoder_set_extra_options =
1444*3ac0a46fSAndroid Build Coastguard Worker+            opj_jp2_encoder_set_extra_options;
1445*3ac0a46fSAndroid Build Coastguard Worker+
1446*3ac0a46fSAndroid Build Coastguard Worker+        l_codec->opj_set_threads = opj_jp2_set_threads;
1447*3ac0a46fSAndroid Build Coastguard Worker
1448*3ac0a46fSAndroid Build Coastguard Worker         l_codec->m_codec = opj_jp2_create(OPJ_FALSE);
1449*3ac0a46fSAndroid Build Coastguard Worker         if (! l_codec->m_codec) {
1450