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

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

Issue 589243004: Update openjpeg (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Update to openjpeg r2891 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
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) 2005, Herve Drolon, FreeImage Team 7 * Copyright (c) 2005, Herve Drolon, FreeImage Team
8 * Copyright (c) 2008, 2011-2012, Centre National d'Etudes Spatiales (CNES), FR 8 * Copyright (c) 2008, 2011-2012, Centre National d'Etudes Spatiales (CNES), FR
9 * Copyright (c) 2012, CS Systemes d'Information, France 9 * Copyright (c) 2012, CS Systemes d'Information, France
10 * All rights reserved. 10 * All rights reserved.
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 return OPJ_FALSE; 125 return OPJ_FALSE;
126 } 126 }
127 127
128 return OPJ_TRUE; 128 return OPJ_TRUE;
129 } 129 }
130 130
131 /* ---------------------------------------------------------------------- */ 131 /* ---------------------------------------------------------------------- */
132 #ifdef _WIN32 132 #ifdef _WIN32
133 #ifndef OPJ_STATIC 133 #ifndef OPJ_STATIC
134 BOOL APIENTRY 134 BOOL APIENTRY
135 DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { 135 DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
136 136
137 OPJ_ARG_NOT_USED(lpReserved); 137 OPJ_ARG_NOT_USED(lpReserved);
138 OPJ_ARG_NOT_USED(hModule); 138 OPJ_ARG_NOT_USED(hModule);
139 139
140 switch (ul_reason_for_call) { 140 switch (ul_reason_for_call) {
141 case DLL_PROCESS_ATTACH : 141 case DLL_PROCESS_ATTACH :
142 break; 142 break;
143 case DLL_PROCESS_DETACH : 143 case DLL_PROCESS_DETACH :
144 break; 144 break;
145 case DLL_THREAD_ATTACH : 145 case DLL_THREAD_ATTACH :
(...skipping 16 matching lines...) Expand all
162 /* DECOMPRESSION FUNCTIONS*/ 162 /* DECOMPRESSION FUNCTIONS*/
163 163
164 opj_codec_t* OPJ_CALLCONV opj_create_decompress(OPJ_CODEC_FORMAT p_format) 164 opj_codec_t* OPJ_CALLCONV opj_create_decompress(OPJ_CODEC_FORMAT p_format)
165 { 165 {
166 opj_codec_private_t *l_codec = 00; 166 opj_codec_private_t *l_codec = 00;
167 167
168 l_codec = (opj_codec_private_t*) opj_calloc(1, sizeof(opj_codec_private_ t)); 168 l_codec = (opj_codec_private_t*) opj_calloc(1, sizeof(opj_codec_private_ t));
169 if (!l_codec){ 169 if (!l_codec){
170 return 00; 170 return 00;
171 } 171 }
172 memset(l_codec, 0, sizeof(opj_codec_private_t));
173 172
174 l_codec->is_decompressor = 1; 173 l_codec->is_decompressor = 1;
175 174
176 switch (p_format) { 175 switch (p_format) {
177 case OPJ_CODEC_J2K: 176 case OPJ_CODEC_J2K:
178 l_codec->opj_dump_codec = (void (*) (void*, OPJ_INT32, F ILE*)) j2k_dump; 177 l_codec->opj_dump_codec = (void (*) (void*, OPJ_INT32, F ILE*)) j2k_dump;
179 178
180 l_codec->opj_get_codec_info = (opj_codestream_info_v2_t* (*) (void*) ) j2k_get_cstr_info; 179 l_codec->opj_get_codec_info = (opj_codestream_info_v2_t* (*) (void*) ) j2k_get_cstr_info;
181 180
182 l_codec->opj_get_codec_index = (opj_codestream_index_t* (*) (void*) ) j2k_get_cstr_index; 181 l_codec->opj_get_codec_index = (opj_codestream_index_t* (*) (void*) ) j2k_get_cstr_index;
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 /* COMPRESSION FUNCTIONS*/ 538 /* COMPRESSION FUNCTIONS*/
540 539
541 opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT p_format) 540 opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT p_format)
542 { 541 {
543 opj_codec_private_t *l_codec = 00; 542 opj_codec_private_t *l_codec = 00;
544 543
545 l_codec = (opj_codec_private_t*)opj_calloc(1, sizeof(opj_codec_private_t )); 544 l_codec = (opj_codec_private_t*)opj_calloc(1, sizeof(opj_codec_private_t ));
546 if (!l_codec) { 545 if (!l_codec) {
547 return 00; 546 return 00;
548 } 547 }
549 memset(l_codec, 0, sizeof(opj_codec_private_t));
550 548
551 l_codec->is_decompressor = 0; 549 l_codec->is_decompressor = 0;
552 550
553 switch(p_format) { 551 switch(p_format) {
554 case OPJ_CODEC_J2K: 552 case OPJ_CODEC_J2K:
555 l_codec->m_codec_data.m_compression.opj_encode = (OPJ_BO OL (*) (void *, 553 l_codec->m_codec_data.m_compression.opj_encode = (OPJ_BO OL (*) (void *,
556 struct o pj_stream_private *, 554 struct o pj_stream_private *,
557 struct o pj_event_mgr * )) opj_j2k_encode; 555 struct o pj_event_mgr * )) opj_j2k_encode;
558 556
559 l_codec->m_codec_data.m_compression.opj_end_compress = ( OPJ_BOOL (*) ( void *, 557 l_codec->m_codec_data.m_compression.opj_end_compress = ( OPJ_BOOL (*) ( void *,
560 struct opj_stream_private *, 558 struct opj_stream_private *,
561 struct opj_event_mgr *)) opj_j2k_end_compress; 559 struct opj_event_mgr *)) opj_j2k_end_compress;
562 560
563 l_codec->m_codec_data.m_compression.opj_start_compress = (OPJ_BOOL (*) (void *, 561 l_codec->m_codec_data.m_compression.opj_start_compress = (OPJ_BOOL (*) (void *,
564 struct opj_stream_private *, 562 struct opj_stream_private *,
565 struct opj_image * , 563 struct opj_image * ,
566 struct opj_event_mgr *)) opj_j2k_start_compress; 564 struct opj_event_mgr *)) opj_j2k_start_compress;
567 565
568 l_codec->m_codec_data.m_compression.opj_write_tile = (OP J_BOOL (*) (void *, 566 l_codec->m_codec_data.m_compression.opj_write_tile = (OP J_BOOL (*) (void *,
569 OPJ_UINT32, 567 OPJ_UINT32,
570 OPJ_BYTE*, 568 OPJ_BYTE*,
571 OPJ_UINT32, 569 OPJ_UINT32,
572 struct opj_stream_private *, 570 struct opj_stream_private *,
573 struct opj_event_mgr *) ) opj_j2k_write_tile; 571 struct opj_event_mgr *) ) opj_j2k_write_tile;
574 572
575 l_codec->m_codec_data.m_compression.opj_destroy = (void (*) (void *)) opj_j2k_destroy; 573 l_codec->m_codec_data.m_compression.opj_destroy = (void (*) (void *)) opj_j2k_destroy;
576 574
577 » » » l_codec->m_codec_data.m_compression.opj_setup_encoder = (void (*) (» void *, 575 » » » l_codec->m_codec_data.m_compression.opj_setup_encoder = (OPJ_BOOL (*) (»void *,
578 opj_cparameters_t *, 576 opj_cparameters_t *,
579 struct opj_image *, 577 struct opj_image *,
580 struct opj_event_mgr * )) opj_j2k_setup_encoder; 578 struct opj_event_mgr * )) opj_j2k_setup_encoder;
581 579
582 l_codec->m_codec = opj_j2k_create_compress(); 580 l_codec->m_codec = opj_j2k_create_compress();
583 if (! l_codec->m_codec) { 581 if (! l_codec->m_codec) {
584 opj_free(l_codec); 582 opj_free(l_codec);
585 return 00; 583 return 00;
586 } 584 }
587 585
(...skipping 16 matching lines...) Expand all
604 602
605 l_codec->m_codec_data.m_compression.opj_write_tile = (OP J_BOOL (*) (void *, 603 l_codec->m_codec_data.m_compression.opj_write_tile = (OP J_BOOL (*) (void *,
606 OPJ_UINT32, 604 OPJ_UINT32,
607 OPJ_BYTE*, 605 OPJ_BYTE*,
608 OPJ_UINT32, 606 OPJ_UINT32,
609 struct opj_stream_private *, 607 struct opj_stream_private *,
610 struct opj_event_mgr *)) opj_jp2_write_tile; 608 struct opj_event_mgr *)) opj_jp2_write_tile;
611 609
612 l_codec->m_codec_data.m_compression.opj_destroy = (void (*) (void *)) opj_jp2_destroy; 610 l_codec->m_codec_data.m_compression.opj_destroy = (void (*) (void *)) opj_jp2_destroy;
613 611
614 » » » l_codec->m_codec_data.m_compression.opj_setup_encoder = (void (*) (» void *, 612 » » » l_codec->m_codec_data.m_compression.opj_setup_encoder = (OPJ_BOOL (*) (»void *,
615 opj_cparameters_t *, 613 opj_cparameters_t *,
616 struct opj_image *, 614 struct opj_image *,
617 struct opj_event_mgr * )) opj_jp2_setup_encoder; 615 struct opj_event_mgr * )) opj_jp2_setup_encoder;
618 616
619 l_codec->m_codec = opj_jp2_create(OPJ_FALSE); 617 l_codec->m_codec = opj_jp2_create(OPJ_FALSE);
620 if (! l_codec->m_codec) { 618 if (! l_codec->m_codec) {
621 opj_free(l_codec); 619 opj_free(l_codec);
622 return 00; 620 return 00;
623 } 621 }
624 622
625 break; 623 break;
626 624
627 case OPJ_CODEC_UNKNOWN: 625 case OPJ_CODEC_UNKNOWN:
628 case OPJ_CODEC_JPT: 626 case OPJ_CODEC_JPT:
629 default: 627 default:
630 opj_free(l_codec); 628 opj_free(l_codec);
631 return 00; 629 return 00;
632 } 630 }
633 631
634 opj_set_default_event_handler(&(l_codec->m_event_mgr)); 632 opj_set_default_event_handler(&(l_codec->m_event_mgr));
635 return (opj_codec_t*) l_codec; 633 return (opj_codec_t*) l_codec;
636 } 634 }
637 635
638 void OPJ_CALLCONV opj_set_default_encoder_parameters(opj_cparameters_t *paramete rs) { 636 void OPJ_CALLCONV opj_set_default_encoder_parameters(opj_cparameters_t *paramete rs) {
639 if(parameters) { 637 if(parameters) {
640 memset(parameters, 0, sizeof(opj_cparameters_t)); 638 memset(parameters, 0, sizeof(opj_cparameters_t));
641 /* default coding parameters */ 639 /* default coding parameters */
642 » » parameters->cp_cinema = OPJ_OFF; 640 parameters->cp_cinema = OPJ_OFF; /* DEPRECATED */
641 parameters->rsiz = OPJ_PROFILE_NONE;
643 parameters->max_comp_size = 0; 642 parameters->max_comp_size = 0;
644 parameters->numresolution = 6; 643 parameters->numresolution = 6;
645 » » parameters->cp_rsiz = OPJ_STD_RSIZ; 644 parameters->cp_rsiz = OPJ_STD_RSIZ; /* DEPRECATED */
646 parameters->cblockw_init = 64; 645 parameters->cblockw_init = 64;
647 parameters->cblockh_init = 64; 646 parameters->cblockh_init = 64;
648 parameters->prog_order = OPJ_LRCP; 647 parameters->prog_order = OPJ_LRCP;
649 parameters->roi_compno = -1; /* no ROI */ 648 parameters->roi_compno = -1; /* no ROI */
650 parameters->subsampling_dx = 1; 649 parameters->subsampling_dx = 1;
651 parameters->subsampling_dy = 1; 650 parameters->subsampling_dy = 1;
652 parameters->tp_on = 0; 651 parameters->tp_on = 0;
653 parameters->decod_format = -1; 652 parameters->decod_format = -1;
654 parameters->cod_format = -1; 653 parameters->cod_format = -1;
655 parameters->tcp_rates[0] = 0; 654 parameters->tcp_rates[0] = 0;
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 785
787 OPJ_BOOL OPJ_CALLCONV opj_set_MCT(opj_cparameters_t *parameters, 786 OPJ_BOOL OPJ_CALLCONV opj_set_MCT(opj_cparameters_t *parameters,
788 OPJ_FLOAT32 * pEncodingMatrix, 787 OPJ_FLOAT32 * pEncodingMatrix,
789 OPJ_INT32 * p_dc_shift,OPJ_UINT32 pNbComp) 788 OPJ_INT32 * p_dc_shift,OPJ_UINT32 pNbComp)
790 { 789 {
791 OPJ_UINT32 l_matrix_size = pNbComp * pNbComp * (OPJ_UINT32)sizeof(OPJ_FL OAT32); 790 OPJ_UINT32 l_matrix_size = pNbComp * pNbComp * (OPJ_UINT32)sizeof(OPJ_FL OAT32);
792 OPJ_UINT32 l_dc_shift_size = pNbComp * (OPJ_UINT32)sizeof(OPJ_INT32); 791 OPJ_UINT32 l_dc_shift_size = pNbComp * (OPJ_UINT32)sizeof(OPJ_INT32);
793 OPJ_UINT32 l_mct_total_size = l_matrix_size + l_dc_shift_size; 792 OPJ_UINT32 l_mct_total_size = l_matrix_size + l_dc_shift_size;
794 793
795 /* add MCT capability */ 794 /* add MCT capability */
796 » OPJ_INT32 rsiz = (OPJ_INT32)parameters->cp_rsiz | (OPJ_INT32)OPJ_MCT; 795 if (OPJ_IS_PART2(parameters->rsiz)) {
797 » parameters->cp_rsiz = (OPJ_RSIZ_CAPABILITIES)rsiz; 796 parameters->rsiz |= OPJ_EXTENSION_MCT;
797 } else {
798 parameters->rsiz = ((OPJ_PROFILE_PART2) | (OPJ_EXTENSION_MCT));
799 }
798 parameters->irreversible = 1; 800 parameters->irreversible = 1;
799 801
800 /* use array based MCT */ 802 /* use array based MCT */
801 parameters->tcp_mct = 2; 803 parameters->tcp_mct = 2;
802 parameters->mct_data = opj_malloc(l_mct_total_size); 804 parameters->mct_data = opj_malloc(l_mct_total_size);
803 if (! parameters->mct_data) { 805 if (! parameters->mct_data) {
804 return OPJ_FALSE; 806 return OPJ_FALSE;
805 } 807 }
806 808
807 memcpy(parameters->mct_data,pEncodingMatrix,l_matrix_size); 809 memcpy(parameters->mct_data,pEncodingMatrix,l_matrix_size);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 } 912 }
911 913
912 void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t **p_cstr_index) 914 void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t **p_cstr_index)
913 { 915 {
914 if (*p_cstr_index){ 916 if (*p_cstr_index){
915 j2k_destroy_cstr_index(*p_cstr_index); 917 j2k_destroy_cstr_index(*p_cstr_index);
916 (*p_cstr_index) = NULL; 918 (*p_cstr_index) = NULL;
917 } 919 }
918 } 920 }
919 921
920 opj_stream_t* OPJ_CALLCONV opj_stream_create_default_file_stream_v3 (const char *fname, OPJ_BOOL p_is_read_stream) 922 opj_stream_t* OPJ_CALLCONV opj_stream_create_default_file_stream (const char *fn ame, OPJ_BOOL p_is_read_stream)
921 { 923 {
922 return opj_stream_create_file_stream_v3(fname, OPJ_J2K_STREAM_CHUNK_SIZE, p_ is_read_stream); 924 return opj_stream_create_file_stream(fname, OPJ_J2K_STREAM_CHUNK_SIZE, p_is_ read_stream);
923 } 925 }
924 926
925 opj_stream_t* OPJ_CALLCONV opj_stream_create_file_stream_v3 ( 927 opj_stream_t* OPJ_CALLCONV opj_stream_create_file_stream (
926 const char *fname, 928 const char *fname,
927 OPJ_SIZE_T p_size, 929 OPJ_SIZE_T p_size,
928 OPJ_BOOL p_is_read_stream) 930 OPJ_BOOL p_is_read_stream)
929 { 931 {
930 opj_stream_t* l_stream = 00; 932 opj_stream_t* l_stream = 00;
931 FILE *p_file; 933 FILE *p_file;
932 const char *mode; 934 const char *mode;
933 935
934 if (! fname) { 936 if (! fname) {
935 return NULL; 937 return NULL;
936 } 938 }
937 939
938 if(p_is_read_stream) mode = "rb"; else mode = "wb"; 940 if(p_is_read_stream) mode = "rb"; else mode = "wb";
939 941
940 p_file = fopen(fname, mode); 942 p_file = fopen(fname, mode);
941 943
942 if (! p_file) { 944 if (! p_file) {
943 return NULL; 945 return NULL;
944 } 946 }
945 947
946 l_stream = opj_stream_create(p_size,p_is_read_stream); 948 l_stream = opj_stream_create(p_size,p_is_read_stream);
947 if (! l_stream) { 949 if (! l_stream) {
948 fclose(p_file); 950 fclose(p_file);
949 return NULL; 951 return NULL;
950 } 952 }
951 953
952 opj_stream_set_user_data_v3(l_stream, p_file, (opj_stream_free_user_data_fn) fclose); 954 opj_stream_set_user_data(l_stream, p_file, (opj_stream_free_user_data_fn) fc lose);
953 opj_stream_set_user_data_length(l_stream, opj_get_data_length_from_file(p_fi le)); 955 opj_stream_set_user_data_length(l_stream, opj_get_data_length_from_file(p_fi le));
954 opj_stream_set_read_function(l_stream, (opj_stream_read_fn) opj_read_from_fi le); 956 opj_stream_set_read_function(l_stream, (opj_stream_read_fn) opj_read_from_fi le);
955 opj_stream_set_write_function(l_stream, (opj_stream_write_fn) opj_write_from _file); 957 opj_stream_set_write_function(l_stream, (opj_stream_write_fn) opj_write_from _file);
956 opj_stream_set_skip_function(l_stream, (opj_stream_skip_fn) opj_skip_from_fi le); 958 opj_stream_set_skip_function(l_stream, (opj_stream_skip_fn) opj_skip_from_fi le);
957 opj_stream_set_seek_function(l_stream, (opj_stream_seek_fn) opj_seek_from_fi le); 959 opj_stream_set_seek_function(l_stream, (opj_stream_seek_fn) opj_seek_from_fi le);
958 960
959 return l_stream; 961 return l_stream;
960 } 962 }
OLDNEW
« no previous file with comments | « core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/openjpeg.h ('k') | core/src/fxcodec/fx_libopenjpeg/libopenjpeg20/opj_codec.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698