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

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

Issue 671943002: update openjpeg to r2911 (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 /* testcase 1888.pdf.asan.35.988 */ \ 669 /* testcase 1888.pdf.asan.35.988 */ \
670 if (l_tccp->numresolutions == 0) { \ 670 if (l_tccp->numresolutions == 0) { \
671 fprintf(stderr, "tiles require at least one resolution\n"); \ 671 fprintf(stderr, "tiles require at least one resolution\n"); \
672 return OPJ_FALSE; \ 672 return OPJ_FALSE; \
673 } \ 673 } \
674 /*fprintf(stderr, "Tile border = %d,%d,%d,%d\n", l_tile->x0, l_tile->y0, l_tile->x1,l_tile->y1);*/ \ 674 /*fprintf(stderr, "Tile border = %d,%d,%d,%d\n", l_tile->x0, l_tile->y0, l_tile->x1,l_tile->y1);*/ \
675 \ 675 \
676 /*tile->numcomps = image->numcomps; */ \ 676 /*tile->numcomps = image->numcomps; */ \
677 for(compno = 0; compno < l_tile->numcomps; ++compno) { \ 677 for(compno = 0; compno < l_tile->numcomps; ++compno) { \
678 /*fprintf(stderr, "compno = %d/%d\n", compno, l_tile->numcomps); */ \ 678 /*fprintf(stderr, "compno = %d/%d\n", compno, l_tile->numcomps); */ \
679 \ 679 l_image_comp->resno_decoded = 0; \
680 /* border of each l_tile component (global) */ \ 680 /* border of each l_tile component (global) */ \
681 l_tilec->x0 = opj_int_ceildiv(l_tile->x0, (OPJ_INT32)l_image_com p->dx); \ 681 l_tilec->x0 = opj_int_ceildiv(l_tile->x0, (OPJ_INT32)l_image_com p->dx); \
682 l_tilec->y0 = opj_int_ceildiv(l_tile->y0, (OPJ_INT32)l_image_com p->dy); \ 682 l_tilec->y0 = opj_int_ceildiv(l_tile->y0, (OPJ_INT32)l_image_com p->dy); \
683 l_tilec->x1 = opj_int_ceildiv(l_tile->x1, (OPJ_INT32)l_image_com p->dx); \ 683 l_tilec->x1 = opj_int_ceildiv(l_tile->x1, (OPJ_INT32)l_image_com p->dx); \
684 l_tilec->y1 = opj_int_ceildiv(l_tile->y1, (OPJ_INT32)l_image_com p->dy); \ 684 l_tilec->y1 = opj_int_ceildiv(l_tile->y1, (OPJ_INT32)l_image_com p->dy); \
685 /*fprintf(stderr, "\tTile compo border = %d,%d,%d,%d\n", l_tilec ->x0, l_tilec->y0,l_tilec->x1,l_tilec->y1);*/ \ 685 /*fprintf(stderr, "\tTile compo border = %d,%d,%d,%d\n", l_tilec ->x0, l_tilec->y0,l_tilec->x1,l_tilec->y1);*/ \
686 \ 686 \
687 l_data_size = (OPJ_UINT32)(l_tilec->x1 - l_tilec->x0) \ 687 l_data_size = (OPJ_UINT32)(l_tilec->x1 - l_tilec->x0) \
688 * (OPJ_UINT32)(l_tilec->y1 - l_tilec->y0) * (OPJ_UINT32)sizeof(O PJ_UINT32 );\ 688 * (OPJ_UINT32)(l_tilec->y1 - l_tilec->y0) * (OPJ_UINT32)sizeof(O PJ_UINT32 );\
689 l_tilec->numresolutions = l_tccp->numresolutions; \ 689 l_tilec->numresolutions = l_tccp->numresolutions; \
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 } \ 963 } \
964 \ 964 \
965 l_code_block = l_current_precinct->cblks .ELEMENT; \ 965 l_code_block = l_current_precinct->cblks .ELEMENT; \
966 \ 966 \
967 for (cblkno = 0; cblkno < l_nb_code_bloc ks; ++cblkno) { \ 967 for (cblkno = 0; cblkno < l_nb_code_bloc ks; ++cblkno) { \
968 OPJ_INT32 cblkxstart = tlcblkxst art + (OPJ_INT32)(cblkno % l_current_precinct->cw) * (1 << cblkwidthexpn); \ 968 OPJ_INT32 cblkxstart = tlcblkxst art + (OPJ_INT32)(cblkno % l_current_precinct->cw) * (1 << cblkwidthexpn); \
969 OPJ_INT32 cblkystart = tlcblkyst art + (OPJ_INT32)(cblkno / l_current_precinct->cw) * (1 << cblkheightexpn); \ 969 OPJ_INT32 cblkystart = tlcblkyst art + (OPJ_INT32)(cblkno / l_current_precinct->cw) * (1 << cblkheightexpn); \
970 OPJ_INT32 cblkxend = cblkxstart + (1 << cblkwidthexpn); \ 970 OPJ_INT32 cblkxend = cblkxstart + (1 << cblkwidthexpn); \
971 OPJ_INT32 cblkyend = cblkystart + (1 << cblkheightexpn); \ 971 OPJ_INT32 cblkyend = cblkystart + (1 << cblkheightexpn); \
972 \ 972 \
973 if (! FUNCTION_ELEMENT(l_code_bl ock)) { \
974 return OPJ_FALSE; \
975 } \
973 /* code-block size (global) */ \ 976 /* code-block size (global) */ \
974 l_code_block->x0 = opj_int_max(c blkxstart, l_current_precinct->x0); \ 977 l_code_block->x0 = opj_int_max(c blkxstart, l_current_precinct->x0); \
975 l_code_block->y0 = opj_int_max(c blkystart, l_current_precinct->y0); \ 978 l_code_block->y0 = opj_int_max(c blkystart, l_current_precinct->y0); \
976 l_code_block->x1 = opj_int_min(c blkxend, l_current_precinct->x1); \ 979 l_code_block->x1 = opj_int_min(c blkxend, l_current_precinct->x1); \
977 l_code_block->y1 = opj_int_min(c blkyend, l_current_precinct->y1); \ 980 l_code_block->y1 = opj_int_min(c blkyend, l_current_precinct->y1); \
978 \
979 if (! FUNCTION_ELEMENT(l_code_bl ock)) { \
980 return OPJ_FALSE; \
981 } \
982 ++l_code_block; \ 981 ++l_code_block; \
983 } \ 982 } \
984 ++l_current_precinct; \ 983 ++l_current_precinct; \
985 } /* precno */ \ 984 } /* precno */ \
986 ++l_band; \ 985 ++l_band; \
987 ++l_step_size; \ 986 ++l_step_size; \
988 } /* bandno */ \ 987 } /* bandno */ \
989 ++l_res; \ 988 ++l_res; \
990 --l_level_no; \ 989 --l_level_no; \
991 } /* resno */ \ 990 } /* resno */ \
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 /*fprintf(stderr, "Allocate 8192 elements of code_block->data\n" );*/ 1046 /*fprintf(stderr, "Allocate 8192 elements of code_block->data\n" );*/
1048 1047
1049 p_code_block->segs = (opj_tcd_seg_t *) opj_calloc(OPJ_J2K_DEFAUL T_NB_SEGS,sizeof(opj_tcd_seg_t)); 1048 p_code_block->segs = (opj_tcd_seg_t *) opj_calloc(OPJ_J2K_DEFAUL T_NB_SEGS,sizeof(opj_tcd_seg_t));
1050 if (! p_code_block->segs) { 1049 if (! p_code_block->segs) {
1051 return OPJ_FALSE; 1050 return OPJ_FALSE;
1052 } 1051 }
1053 /*fprintf(stderr, "Allocate %d elements of code_block->data\n", OPJ_J2K_DEFAULT_NB_SEGS * sizeof(opj_tcd_seg_t));*/ 1052 /*fprintf(stderr, "Allocate %d elements of code_block->data\n", OPJ_J2K_DEFAULT_NB_SEGS * sizeof(opj_tcd_seg_t));*/
1054 1053
1055 p_code_block->m_current_max_segs = OPJ_J2K_DEFAULT_NB_SEGS; 1054 p_code_block->m_current_max_segs = OPJ_J2K_DEFAULT_NB_SEGS;
1056 /*fprintf(stderr, "m_current_max_segs of code_block->data = %d\n ", p_code_block->m_current_max_segs);*/ 1055 /*fprintf(stderr, "m_current_max_segs of code_block->data = %d\n ", p_code_block->m_current_max_segs);*/
1057 } 1056 } else {
1058 /* TODO */ 1057 » » » » » /* sanitize */
1059 /*p_code_block->numsegs = 0; */ 1058 » » » » » OPJ_BYTE* l_data = p_code_block->data;
1059 » » » » » OPJ_UINT32 l_data_max_size = p_code_bloc k->data_max_size;
1060 » » » » » opj_tcd_seg_t * l_segs = p_code_block->s egs;
1061 » » » » » OPJ_UINT32 l_current_max_segs = p_code_b lock->m_current_max_segs;
1062
1063 » » » » » memset(p_code_block, 0, sizeof(opj_tcd_c blk_dec_t));
Tom Sepez 2014/10/22 19:03:06 How do we know that p_code_block can accomodate si
Bo Xu 2014/10/22 22:29:03 I am asking openjpeg team to cc you in their bug t
1064 » » » » » p_code_block->data = l_data;
1065 » » » » » p_code_block->data_max_size = l_data_max _size;
1066 » » » » » p_code_block->segs = l_segs;
1067 » » » » » p_code_block->m_current_max_segs = l_cur rent_max_segs;
1068 » » » » }
1060 1069
1061 return OPJ_TRUE; 1070 return OPJ_TRUE;
1062 } 1071 }
1063 1072
1064 OPJ_UINT32 opj_tcd_get_decoded_tile_size ( opj_tcd_t *p_tcd ) 1073 OPJ_UINT32 opj_tcd_get_decoded_tile_size ( opj_tcd_t *p_tcd )
1065 { 1074 {
1066 OPJ_UINT32 i; 1075 OPJ_UINT32 i;
1067 OPJ_UINT32 l_data_size = 0; 1076 OPJ_UINT32 l_data_size = 0;
1068 opj_image_comp_t * l_img_comp = 00; 1077 opj_image_comp_t * l_img_comp = 00;
1069 opj_tcd_tilecomp_t * l_tile_comp = 00; 1078 opj_tcd_tilecomp_t * l_tile_comp = 00;
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after
2114 } 2123 }
2115 break; 2124 break;
2116 } 2125 }
2117 2126
2118 ++l_img_comp; 2127 ++l_img_comp;
2119 ++l_tilec; 2128 ++l_tilec;
2120 } 2129 }
2121 2130
2122 return OPJ_TRUE; 2131 return OPJ_TRUE;
2123 } 2132 }
OLDNEW
« no previous file with comments | « core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/j2k.c ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698