Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Side by Side Diff: core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c

Issue 960183004: Upgrade openjpeg to revision 2997. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * The copyright in this software is being made available under the 2-clauses 2 * The copyright in this software is being made available under the 2-clauses
3 * BSD License, included below. This software may be subject to other third 3 * BSD License, included below. This software may be subject to other third
4 * party and contributor rights, including patent rights, and no such rights 4 * party and contributor rights, including patent rights, and no such rights
5 * are granted under this license. 5 * are granted under this license.
6 * 6 *
7 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium 7 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
8 * Copyright (c) 2002-2014, Professor Benoit Macq 8 * Copyright (c) 2002-2014, Professor Benoit Macq
9 * Copyright (c) 2001-2003, David Janssens 9 * Copyright (c) 2001-2003, David Janssens
10 * Copyright (c) 2002-2003, Yannick Verschueren 10 * Copyright (c) 2002-2003, Yannick Verschueren
(...skipping 1901 matching lines...) Expand 10 before | Expand all | Expand 10 after
1912 OPJ_BYTE * p_header_data, 1912 OPJ_BYTE * p_header_data,
1913 OPJ_UINT32 p_header_size, 1913 OPJ_UINT32 p_header_size,
1914 opj_event_mgr_t * p_manager 1914 opj_event_mgr_t * p_manager
1915 ) 1915 )
1916 { 1916 {
1917 OPJ_UINT32 i; 1917 OPJ_UINT32 i;
1918 OPJ_UINT32 l_nb_comp; 1918 OPJ_UINT32 l_nb_comp;
1919 OPJ_UINT32 l_nb_comp_remain; 1919 OPJ_UINT32 l_nb_comp_remain;
1920 OPJ_UINT32 l_remaining_size; 1920 OPJ_UINT32 l_remaining_size;
1921 OPJ_UINT32 l_nb_tiles; 1921 OPJ_UINT32 l_nb_tiles;
1922 OPJ_UINT32 l_tmp; 1922 OPJ_UINT32 l_tmp, l_tx1, l_ty1;
1923 opj_image_t *l_image = 00; 1923 opj_image_t *l_image = 00;
1924 opj_cp_t *l_cp = 00; 1924 opj_cp_t *l_cp = 00;
1925 opj_image_comp_t * l_img_comp = 00; 1925 opj_image_comp_t * l_img_comp = 00;
1926 opj_tcp_t * l_current_tile_param = 00; 1926 opj_tcp_t * l_current_tile_param = 00;
1927 1927
1928 /* preconditions */ 1928 /* preconditions */
1929 assert(p_j2k != 00); 1929 assert(p_j2k != 00);
1930 assert(p_manager != 00); 1930 assert(p_manager != 00);
1931 assert(p_header_data != 00); 1931 assert(p_header_data != 00);
1932 1932
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1974 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: numb er of component is illegal -> %d\n", l_tmp); 1974 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: numb er of component is illegal -> %d\n", l_tmp);
1975 return OPJ_FALSE; 1975 return OPJ_FALSE;
1976 } 1976 }
1977 1977
1978 if (l_image->numcomps != l_nb_comp) { 1978 if (l_image->numcomps != l_nb_comp) {
1979 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: numb er of component is not compatible with the remaining number of parameters ( %d v s %d)\n", l_image->numcomps, l_nb_comp); 1979 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: numb er of component is not compatible with the remaining number of parameters ( %d v s %d)\n", l_image->numcomps, l_nb_comp);
1980 return OPJ_FALSE; 1980 return OPJ_FALSE;
1981 } 1981 }
1982 1982
1983 /* testcase 4035.pdf.SIGSEGV.d8b.3375 */ 1983 /* testcase 4035.pdf.SIGSEGV.d8b.3375 */
1984 if (l_image->x0 > l_image->x1 || l_image->y0 > l_image->y1) { 1984 /* testcase issue427-null-image-size.jp2 */
1985 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: nega tive image size (%d x %d)\n", l_image->x1 - l_image->x0, l_image->y1 - l_image-> y0); 1985 if ((l_image->x0 >= l_image->x1) || (l_image->y0 >= l_image->y1)) {
1986 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: nega tive or zero image size (%d x %d)\n", l_image->x1 - l_image->x0, l_image->y1 - l _image->y0);
1986 return OPJ_FALSE; 1987 return OPJ_FALSE;
1987 } 1988 }
1988 /* testcase 2539.pdf.SIGFPE.706.1712 (also 3622.pdf.SIGFPE.706.2916 and 4008.pdf.SIGFPE.706.3345 and maybe more) */ 1989 /* testcase 2539.pdf.SIGFPE.706.1712 (also 3622.pdf.SIGFPE.706.2916 and 4008.pdf.SIGFPE.706.3345 and maybe more) */
1989 if (!(l_cp->tdx * l_cp->tdy)) { 1990 if (!(l_cp->tdx * l_cp->tdy)) {
1990 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: inva lid tile size (tdx: %d, tdy: %d)\n", l_cp->tdx, l_cp->tdy); 1991 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: inva lid tile size (tdx: %d, tdy: %d)\n", l_cp->tdx, l_cp->tdy);
1991 return OPJ_FALSE; 1992 return OPJ_FALSE;
1992 } 1993 }
1993 1994
1994 /* testcase 1610.pdf.SIGSEGV.59c.681 */ 1995 /* testcase 1610.pdf.SIGSEGV.59c.681 */
1995 if (((OPJ_UINT64)l_image->x1) * ((OPJ_UINT64)l_image->y1) != (l_image->x 1 * l_image->y1)) { 1996 if (((OPJ_UINT64)l_image->x1) * ((OPJ_UINT64)l_image->y1) != (l_image->x 1 * l_image->y1)) {
1996 opj_event_msg(p_manager, EVT_ERROR, "Prevent buffer overflow (x1 : %d, y1: %d)\n", l_image->x1, l_image->y1); 1997 opj_event_msg(p_manager, EVT_ERROR, "Prevent buffer overflow (x1 : %d, y1: %d)\n", l_image->x1, l_image->y1);
1997 return OPJ_FALSE; 1998 return OPJ_FALSE;
1998 } 1999 }
1999 2000
2001 /* testcase issue427-illegal-tile-offset.jp2 */
2002 l_tx1 = l_cp->tx0 + l_cp->tdx;
2003 if (l_tx1 < l_cp->tx0) { /* manage overflow */
2004 l_tx1 = 0xFFFFFFFFU;
2005 }
2006 l_ty1 = l_cp->ty0 + l_cp->tdy;
2007 if (l_ty1 < l_cp->ty0) { /* manage overflow */
2008 l_ty1 = 0xFFFFFFFFU;
2009 }
2010 if ((l_cp->tx0 > l_image->x0) || (l_cp->ty0 > l_image->y0) || (l_tx1 <= l_image->x0) || (l_ty1 <= l_image->y0) ) {
2011 opj_event_msg(p_manager, EVT_ERROR, "Error with SIZ marker: ille gal tile offset\n");
2012 return OPJ_FALSE;
2013 }
2014
2000 #ifdef USE_JPWL 2015 #ifdef USE_JPWL
2001 if (l_cp->correct) { 2016 if (l_cp->correct) {
2002 /* if JPWL is on, we check whether TX errors have damaged 2017 /* if JPWL is on, we check whether TX errors have damaged
2003 too much the SIZ parameters */ 2018 too much the SIZ parameters */
2004 if (!(l_image->x1 * l_image->y1)) { 2019 if (!(l_image->x1 * l_image->y1)) {
2005 opj_event_msg(p_manager, EVT_ERROR, 2020 opj_event_msg(p_manager, EVT_ERROR,
2006 "JPWL: bad image size (%d x %d)\n", 2021 "JPWL: bad image size (%d x %d)\n",
2007 l_image->x1, l_image->y1); 2022 l_image->x1, l_image->y1);
2008 if (!JPWL_ASSUME || JPWL_ASSUME) { 2023 if (!JPWL_ASSUME || JPWL_ASSUME) {
2009 opj_event_msg(p_manager, EVT_ERROR, "JPWL: givin g up\n"); 2024 opj_event_msg(p_manager, EVT_ERROR, "JPWL: givin g up\n");
(...skipping 3204 matching lines...) Expand 10 before | Expand all | Expand 10 after
5214 l_tcp->m_nb_mct_records = 0; 5229 l_tcp->m_nb_mct_records = 0;
5215 opj_event_msg(p_manager, EVT_ERROR, "Not enough memory to read MCT marker\n"); 5230 opj_event_msg(p_manager, EVT_ERROR, "Not enough memory to read MCT marker\n");
5216 return OPJ_FALSE; 5231 return OPJ_FALSE;
5217 } 5232 }
5218 l_tcp->m_mct_records = new_mct_records; 5233 l_tcp->m_mct_records = new_mct_records;
5219 l_mct_data = l_tcp->m_mct_records + l_tcp->m_nb_mct_reco rds; 5234 l_mct_data = l_tcp->m_mct_records + l_tcp->m_nb_mct_reco rds;
5220 memset(l_mct_data ,0,(l_tcp->m_nb_max_mct_records - l_tc p->m_nb_mct_records) * sizeof(opj_mct_data_t)); 5235 memset(l_mct_data ,0,(l_tcp->m_nb_max_mct_records - l_tc p->m_nb_mct_records) * sizeof(opj_mct_data_t));
5221 } 5236 }
5222 5237
5223 l_mct_data = l_tcp->m_mct_records + l_tcp->m_nb_mct_records; 5238 l_mct_data = l_tcp->m_mct_records + l_tcp->m_nb_mct_records;
5239 ++l_tcp->m_nb_mct_records;
5224 } 5240 }
5225 5241
5226 if (l_mct_data->m_data) { 5242 if (l_mct_data->m_data) {
5227 opj_free(l_mct_data->m_data); 5243 opj_free(l_mct_data->m_data);
5228 l_mct_data->m_data = 00; 5244 l_mct_data->m_data = 00;
5229 } 5245 }
5230 5246
5231 l_mct_data->m_index = l_indix; 5247 l_mct_data->m_index = l_indix;
5232 l_mct_data->m_array_type = (J2K_MCT_ARRAY_TYPE)((l_tmp >> 8) & 3); 5248 l_mct_data->m_array_type = (J2K_MCT_ARRAY_TYPE)((l_tmp >> 8) & 3);
5233 l_mct_data->m_element_type = (J2K_MCT_ELEMENT_TYPE)((l_tmp >> 10) & 3); 5249 l_mct_data->m_element_type = (J2K_MCT_ELEMENT_TYPE)((l_tmp >> 10) & 3);
5234 5250
5235 opj_read_bytes(p_header_data,&l_tmp,2); /* Ymct */ 5251 opj_read_bytes(p_header_data,&l_tmp,2); /* Ymct */
5236 p_header_data+=2; 5252 p_header_data+=2;
5237 if (l_tmp != 0) { 5253 if (l_tmp != 0) {
5238 opj_event_msg(p_manager, EVT_WARNING, "Cannot take in charge mul tiple MCT markers\n"); 5254 opj_event_msg(p_manager, EVT_WARNING, "Cannot take in charge mul tiple MCT markers\n");
5239 return OPJ_TRUE; 5255 return OPJ_TRUE;
5240 } 5256 }
5241 5257
5242 p_header_size -= 6; 5258 p_header_size -= 6;
5243 5259
5244 l_mct_data->m_data = (OPJ_BYTE*)opj_malloc(p_header_size); 5260 l_mct_data->m_data = (OPJ_BYTE*)opj_malloc(p_header_size);
5245 if (! l_mct_data->m_data) { 5261 if (! l_mct_data->m_data) {
5246 opj_event_msg(p_manager, EVT_ERROR, "Error reading MCT marker\n" ); 5262 opj_event_msg(p_manager, EVT_ERROR, "Error reading MCT marker\n" );
5247 return OPJ_FALSE; 5263 return OPJ_FALSE;
5248 } 5264 }
5249 memcpy(l_mct_data->m_data,p_header_data,p_header_size); 5265 memcpy(l_mct_data->m_data,p_header_data,p_header_size);
5250 5266
5251 l_mct_data->m_data_size = p_header_size; 5267 l_mct_data->m_data_size = p_header_size;
5252 ++l_tcp->m_nb_mct_records;
5253 5268
5254 return OPJ_TRUE; 5269 return OPJ_TRUE;
5255 } 5270 }
5256 5271
5257 OPJ_BOOL opj_j2k_write_mcc_record( opj_j2k_t *p_j2k, 5272 OPJ_BOOL opj_j2k_write_mcc_record( opj_j2k_t *p_j2k,
5258 struct opj_simpl e_mcc_decorrelation_data * p_mcc_record, 5273 struct opj_simpl e_mcc_decorrelation_data * p_mcc_record,
5259 struct opj_strea m_private *p_stream, 5274 struct opj_strea m_private *p_stream,
5260 struct opj_event _mgr * p_manager ) 5275 struct opj_event _mgr * p_manager )
5261 { 5276 {
5262 OPJ_UINT32 i; 5277 OPJ_UINT32 i;
(...skipping 1301 matching lines...) Expand 10 before | Expand all | Expand 10 after
6564 tccp->m_dc_level_shift = l_dc_shift[i]; 6579 tccp->m_dc_level_shift = l_dc_shift[i];
6565 } 6580 }
6566 6581
6567 if (opj_j2k_setup_mct_encoding(tcp,image) == OPJ_FALSE) { 6582 if (opj_j2k_setup_mct_encoding(tcp,image) == OPJ_FALSE) {
6568 /* free will be handled by opj_j2k_destroy */ 6583 /* free will be handled by opj_j2k_destroy */
6569 opj_event_msg(p_manager, EVT_ERROR, "Failed to setup j2k mct enc oding\n"); 6584 opj_event_msg(p_manager, EVT_ERROR, "Failed to setup j2k mct enc oding\n");
6570 return OPJ_FALSE; 6585 return OPJ_FALSE;
6571 } 6586 }
6572 } 6587 }
6573 else { 6588 else {
6574 if(tcp->mct==1 && image->numcomps == 3) { /* RGB->YCC MCT is enabled */ 6589 if(tcp->mct==1 && image->numcomps >= 3) { /* RGB->YCC MCT is enabled */
6575 if ((image->comps[0].dx != image->comps[1].dx) || 6590 if ((image->comps[0].dx != image->comps[1].dx) ||
6576 (image->comps[0].dx != image->comps[2].dx) || 6591 (image->comps[0].dx != image->comps[2].dx) ||
6577 (image->comps[0].dy != image->comps[1].dy) || 6592 (image->comps[0].dy != image->comps[1].dy) ||
6578 (image->comps[0].dy != image->comps[2].dy)) { 6593 (image->comps[0].dy != image->comps[2].dy)) {
6579 opj_event_msg(p_manager, EVT_WARNING, "Cannot perfor m MCT on components with different sizes. Disabling MCT.\n"); 6594 opj_event_msg(p_manager, EVT_WARNING, "Cannot perfor m MCT on components with different sizes. Disabling MCT.\n");
6580 tcp->mct = 0; 6595 tcp->mct = 0;
6581 } 6596 }
6582 } 6597 }
6583 for (i = 0; i < image->numcomps; i++) { 6598 for (i = 0; i < image->numcomps; i++) {
6584 opj_tccp_t *tccp = &tcp->tccps[i]; 6599 opj_tccp_t *tccp = &tcp->tccps[i];
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after
7052 /* STATE checking */ 7067 /* STATE checking */
7053 /* make sure the state is at 0 */ 7068 /* make sure the state is at 0 */
7054 l_is_valid &= (p_j2k->m_specific_param.m_decoder.m_state == J2K_STATE_NO NE); 7069 l_is_valid &= (p_j2k->m_specific_param.m_decoder.m_state == J2K_STATE_NO NE);
7055 7070
7056 /* POINTER validation */ 7071 /* POINTER validation */
7057 /* make sure a p_j2k codec is present */ 7072 /* make sure a p_j2k codec is present */
7058 l_is_valid &= (p_j2k->m_procedure_list != 00); 7073 l_is_valid &= (p_j2k->m_procedure_list != 00);
7059 /* make sure a validation list is present */ 7074 /* make sure a validation list is present */
7060 l_is_valid &= (p_j2k->m_validation_list != 00); 7075 l_is_valid &= (p_j2k->m_validation_list != 00);
7061 7076
7062 » /* ISO 15444-1:2004 states between 1 & 33 (0 -> 32) */ 7077 /* ISO 15444-1:2004 states between 1 & 33 (0 -> 32) */
7063 » /* 33 (32) would always fail the 2 checks below (if a cast to 64bi ts was done) */ 7078 /* 33 (32) would always fail the check below (if a cast to 64bits was do ne) */
7064 » /* 32 (31) would always fail the 2 checks below (if a cast to 64bi ts was done) */ 7079 /* FIXME Shall we change OPJ_J2K_MAXRLVLS to 32 ? */
7065 /* FIXME Shall we change OPJ_J2K_MAXRLVLS to 31 ? */ 7080 if ((p_j2k->m_cp.tcps->tccps->numresolutions <= 0) || (p_j2k->m_cp.tcps- >tccps->numresolutions > 32)) {
7066 if ((p_j2k->m_cp.tcps->tccps->numresolutions <= 0) || (p_j2k->m_cp.tcps- >tccps->numresolutions > 31)) {
7067 opj_event_msg(p_manager, EVT_ERROR, "Number of resolutions is to o high in comparison to the size of tiles\n"); 7081 opj_event_msg(p_manager, EVT_ERROR, "Number of resolutions is to o high in comparison to the size of tiles\n");
7068 return OPJ_FALSE; 7082 return OPJ_FALSE;
7069 } 7083 }
7070 7084
7071 if ((p_j2k->m_cp.tdx) < (OPJ_UINT32) (1 << p_j2k->m_cp.tcps->tccps->numr esolutions)) { 7085 if ((p_j2k->m_cp.tdx) < (OPJ_UINT32) (1 << (p_j2k->m_cp.tcps->tccps->num resolutions - 1U))) {
7072 opj_event_msg(p_manager, EVT_ERROR, "Number of resolutions is to o high in comparison to the size of tiles\n"); 7086 opj_event_msg(p_manager, EVT_ERROR, "Number of resolutions is to o high in comparison to the size of tiles\n");
7073 return OPJ_FALSE; 7087 return OPJ_FALSE;
7074 } 7088 }
7075 7089
7076 if ((p_j2k->m_cp.tdy) < (OPJ_UINT32) (1 << p_j2k->m_cp.tcps->tccps->numr esolutions)) { 7090 if ((p_j2k->m_cp.tdy) < (OPJ_UINT32) (1 << (p_j2k->m_cp.tcps->tccps->num resolutions - 1U))) {
7077 opj_event_msg(p_manager, EVT_ERROR, "Number of resolutions is to o high in comparison to the size of tiles\n"); 7091 opj_event_msg(p_manager, EVT_ERROR, "Number of resolutions is to o high in comparison to the size of tiles\n");
7078 return OPJ_FALSE; 7092 return OPJ_FALSE;
7079 } 7093 }
7080 7094
7081 /* PARAMETER VALIDATION */ 7095 /* PARAMETER VALIDATION */
7082 return l_is_valid; 7096 return l_is_valid;
7083 } 7097 }
7084 7098
7085 OPJ_BOOL opj_j2k_decoding_validation ( opj_j2k_t *p_j2k, 7099 OPJ_BOOL opj_j2k_decoding_validation ( opj_j2k_t *p_j2k,
7086 opj_stream_private_t *p_stream, 7100 opj_stream_private_t *p_stream,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
7144 } 7158 }
7145 7159
7146 /* Read 2 bytes as the new marker ID */ 7160 /* Read 2 bytes as the new marker ID */
7147 opj_read_bytes(p_j2k->m_specific_param.m_decoder.m_header_data,&l_curren t_marker,2); 7161 opj_read_bytes(p_j2k->m_specific_param.m_decoder.m_header_data,&l_curren t_marker,2);
7148 7162
7149 /* Try to read until the SOT is detected */ 7163 /* Try to read until the SOT is detected */
7150 while (l_current_marker != J2K_MS_SOT) { 7164 while (l_current_marker != J2K_MS_SOT) {
7151 7165
7152 /* Check if the current marker ID is valid */ 7166 /* Check if the current marker ID is valid */
7153 if (l_current_marker < 0xff00) { 7167 if (l_current_marker < 0xff00) {
7154 opj_event_msg(p_manager, EVT_ERROR, "We expected read a marker ID (0xff--) instead of %.8x\n", l_current_marker); 7168 opj_event_msg(p_manager, EVT_ERROR, "A marker ID was exp ected (0xff--) instead of %.8x\n", l_current_marker);
7155 return OPJ_FALSE; 7169 return OPJ_FALSE;
7156 } 7170 }
7157 7171
7158 /* Get the marker handler from the marker ID */ 7172 /* Get the marker handler from the marker ID */
7159 l_marker_handler = opj_j2k_get_marker_handler(l_current_marker); 7173 l_marker_handler = opj_j2k_get_marker_handler(l_current_marker);
7160 7174
7161 /* Manage case where marker is unknown */ 7175 /* Manage case where marker is unknown */
7162 if (l_marker_handler->id == J2K_MS_UNK) { 7176 if (l_marker_handler->id == J2K_MS_UNK) {
7163 if (! opj_j2k_read_unk(p_j2k, p_stream, &l_current_marke r, p_manager)){ 7177 if (! opj_j2k_read_unk(p_j2k, p_stream, &l_current_marke r, p_manager)){
7164 opj_event_msg(p_manager, EVT_ERROR, "Unknow mark er have been detected and generated error.\n"); 7178 opj_event_msg(p_manager, EVT_ERROR, "Unknow mark er have been detected and generated error.\n");
(...skipping 2604 matching lines...) Expand 10 before | Expand all | Expand 10 after
9769 OPJ_UINT32 i, j; 9783 OPJ_UINT32 i, j;
9770 OPJ_UINT32 l_nb_tiles; 9784 OPJ_UINT32 l_nb_tiles;
9771 OPJ_UINT32 l_max_tile_size = 0, l_current_tile_size; 9785 OPJ_UINT32 l_max_tile_size = 0, l_current_tile_size;
9772 OPJ_BYTE * l_current_data = 00; 9786 OPJ_BYTE * l_current_data = 00;
9773 opj_tcd_t* p_tcd = 00; 9787 opj_tcd_t* p_tcd = 00;
9774 9788
9775 /* preconditions */ 9789 /* preconditions */
9776 assert(p_j2k != 00); 9790 assert(p_j2k != 00);
9777 assert(p_stream != 00); 9791 assert(p_stream != 00);
9778 assert(p_manager != 00); 9792 assert(p_manager != 00);
9779 9793 »
9780 p_tcd = p_j2k->m_tcd; 9794 p_tcd = p_j2k->m_tcd;
9781 9795
9782 l_nb_tiles = p_j2k->m_cp.th * p_j2k->m_cp.tw; 9796 l_nb_tiles = p_j2k->m_cp.th * p_j2k->m_cp.tw;
9783 for (i=0;i<l_nb_tiles;++i) { 9797 for (i=0;i<l_nb_tiles;++i) {
9784 if (! opj_j2k_pre_write_tile(p_j2k,i,p_stream,p_manager)) { 9798 if (! opj_j2k_pre_write_tile(p_j2k,i,p_stream,p_manager)) {
9785 if (l_current_data) { 9799 if (l_current_data) {
9786 opj_free(l_current_data); 9800 opj_free(l_current_data);
9787 } 9801 }
9788 return OPJ_FALSE; 9802 return OPJ_FALSE;
9789 } 9803 }
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after
10560 return OPJ_FALSE; 10574 return OPJ_FALSE;
10561 } 10575 }
10562 if (! opj_j2k_post_write_tile(p_j2k,p_stream,p_manager)) { 10576 if (! opj_j2k_post_write_tile(p_j2k,p_stream,p_manager)) {
10563 opj_event_msg(p_manager, EVT_ERROR, "Error while opj_j2k _post_write_tile with tile index = %d\n", p_tile_index); 10577 opj_event_msg(p_manager, EVT_ERROR, "Error while opj_j2k _post_write_tile with tile index = %d\n", p_tile_index);
10564 return OPJ_FALSE; 10578 return OPJ_FALSE;
10565 } 10579 }
10566 } 10580 }
10567 10581
10568 return OPJ_TRUE; 10582 return OPJ_TRUE;
10569 } 10583 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698