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

Side by Side Diff: core/fxcodec/codec/fx_codec_jpx_opj.cpp

Issue 2032613003: Get rid of NULLs in core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: s/NULL/nullptr/ Created 4 years, 6 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 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 // again clamping at EOF. 115 // again clamping at EOF.
116 srcData->offset = std::min(checkedNbBytes, srcData->src_size); 116 srcData->offset = std::min(checkedNbBytes, srcData->src_size);
117 } 117 }
118 return OPJ_TRUE; 118 return OPJ_TRUE;
119 } 119 }
120 opj_stream_t* fx_opj_stream_create_memory_stream(DecodeData* data, 120 opj_stream_t* fx_opj_stream_create_memory_stream(DecodeData* data,
121 OPJ_SIZE_T p_size, 121 OPJ_SIZE_T p_size,
122 OPJ_BOOL p_is_read_stream) { 122 OPJ_BOOL p_is_read_stream) {
123 opj_stream_t* l_stream = 00; 123 opj_stream_t* l_stream = 00;
124 if (!data || !data->src_data || data->src_size <= 0) { 124 if (!data || !data->src_data || data->src_size <= 0) {
125 return NULL; 125 return nullptr;
126 } 126 }
127 l_stream = opj_stream_create(p_size, p_is_read_stream); 127 l_stream = opj_stream_create(p_size, p_is_read_stream);
128 if (!l_stream) { 128 if (!l_stream) {
129 return NULL; 129 return nullptr;
130 } 130 }
131 opj_stream_set_user_data(l_stream, data, NULL); 131 opj_stream_set_user_data(l_stream, data, nullptr);
132 opj_stream_set_user_data_length(l_stream, data->src_size); 132 opj_stream_set_user_data_length(l_stream, data->src_size);
133 opj_stream_set_read_function(l_stream, opj_read_from_memory); 133 opj_stream_set_read_function(l_stream, opj_read_from_memory);
134 opj_stream_set_write_function(l_stream, opj_write_from_memory); 134 opj_stream_set_write_function(l_stream, opj_write_from_memory);
135 opj_stream_set_skip_function(l_stream, opj_skip_from_memory); 135 opj_stream_set_skip_function(l_stream, opj_skip_from_memory);
136 opj_stream_set_seek_function(l_stream, opj_seek_from_memory); 136 opj_stream_set_seek_function(l_stream, opj_seek_from_memory);
137 return l_stream; 137 return l_stream;
138 } 138 }
139 static void sycc_to_rgb(int offset, 139 static void sycc_to_rgb(int offset,
140 int upb, 140 int upb,
141 int y, 141 int y,
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 if (enumcs == 14) { 604 if (enumcs == 14) {
605 int *L, *a, *b, *red, *green, *blue, *src0, *src1, *src2; 605 int *L, *a, *b, *red, *green, *blue, *src0, *src1, *src2;
606 double rl, ol, ra, oa, rb, ob, prec0, prec1, prec2; 606 double rl, ol, ra, oa, rb, ob, prec0, prec1, prec2;
607 double minL, maxL, mina, maxa, minb, maxb; 607 double minL, maxL, mina, maxa, minb, maxb;
608 unsigned int default_type; 608 unsigned int default_type;
609 unsigned int i, max; 609 unsigned int i, max;
610 cmsHPROFILE in, out; 610 cmsHPROFILE in, out;
611 cmsHTRANSFORM transform; 611 cmsHTRANSFORM transform;
612 cmsUInt16Number RGB[3]; 612 cmsUInt16Number RGB[3];
613 cmsCIELab Lab; 613 cmsCIELab Lab;
614 in = cmsCreateLab4Profile(NULL); 614 in = cmsCreateLab4Profile(nullptr);
615 out = cmsCreate_sRGBProfile(); 615 out = cmsCreate_sRGBProfile();
616 transform = cmsCreateTransform(in, TYPE_Lab_DBL, out, TYPE_RGB_16, 616 transform = cmsCreateTransform(in, TYPE_Lab_DBL, out, TYPE_RGB_16,
617 INTENT_PERCEPTUAL, 0); 617 INTENT_PERCEPTUAL, 0);
618 cmsCloseProfile(in); 618 cmsCloseProfile(in);
619 cmsCloseProfile(out); 619 cmsCloseProfile(out);
620 if (!transform) { 620 if (!transform) {
621 return; 621 return;
622 } 622 }
623 prec0 = (double)image->comps[0].prec; 623 prec0 = (double)image->comps[0].prec;
624 prec1 = (double)image->comps[1].prec; 624 prec1 = (double)image->comps[1].prec;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 opj_image_destroy(image); 711 opj_image_destroy(image);
712 } 712 }
713 } 713 }
714 714
715 FX_BOOL CJPX_Decoder::Init(const unsigned char* src_data, uint32_t src_size) { 715 FX_BOOL CJPX_Decoder::Init(const unsigned char* src_data, uint32_t src_size) {
716 static const unsigned char szJP2Header[] = { 716 static const unsigned char szJP2Header[] = {
717 0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20, 0x0d, 0x0a, 0x87, 0x0a}; 717 0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20, 0x0d, 0x0a, 0x87, 0x0a};
718 if (!src_data || src_size < sizeof(szJP2Header)) 718 if (!src_data || src_size < sizeof(szJP2Header))
719 return FALSE; 719 return FALSE;
720 720
721 image = NULL; 721 image = nullptr;
722 m_SrcData = src_data; 722 m_SrcData = src_data;
723 m_SrcSize = src_size; 723 m_SrcSize = src_size;
724 DecodeData srcData(const_cast<unsigned char*>(src_data), src_size); 724 DecodeData srcData(const_cast<unsigned char*>(src_data), src_size);
725 l_stream = fx_opj_stream_create_memory_stream(&srcData, 725 l_stream = fx_opj_stream_create_memory_stream(&srcData,
726 OPJ_J2K_STREAM_CHUNK_SIZE, 1); 726 OPJ_J2K_STREAM_CHUNK_SIZE, 1);
727 if (!l_stream) { 727 if (!l_stream) {
728 return FALSE; 728 return FALSE;
729 } 729 }
730 opj_dparameters_t parameters; 730 opj_dparameters_t parameters;
731 opj_set_default_decoder_parameters(&parameters); 731 opj_set_default_decoder_parameters(&parameters);
(...skipping 10 matching lines...) Expand all
742 } 742 }
743 if (m_ColorSpace && m_ColorSpace->GetFamily() == PDFCS_INDEXED) 743 if (m_ColorSpace && m_ColorSpace->GetFamily() == PDFCS_INDEXED)
744 parameters.flags |= OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG; 744 parameters.flags |= OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG;
745 opj_set_info_handler(l_codec, fx_info_callback, 00); 745 opj_set_info_handler(l_codec, fx_info_callback, 00);
746 opj_set_warning_handler(l_codec, fx_warning_callback, 00); 746 opj_set_warning_handler(l_codec, fx_warning_callback, 00);
747 opj_set_error_handler(l_codec, fx_error_callback, 00); 747 opj_set_error_handler(l_codec, fx_error_callback, 00);
748 if (!opj_setup_decoder(l_codec, &parameters)) { 748 if (!opj_setup_decoder(l_codec, &parameters)) {
749 return FALSE; 749 return FALSE;
750 } 750 }
751 if (!opj_read_header(l_stream, l_codec, &image)) { 751 if (!opj_read_header(l_stream, l_codec, &image)) {
752 image = NULL; 752 image = nullptr;
753 return FALSE; 753 return FALSE;
754 } 754 }
755 image->pdfium_use_colorspace = !!m_ColorSpace; 755 image->pdfium_use_colorspace = !!m_ColorSpace;
756 756
757 if (!parameters.nb_tile_to_decode) { 757 if (!parameters.nb_tile_to_decode) {
758 if (!opj_set_decode_area(l_codec, image, parameters.DA_x0, parameters.DA_y0, 758 if (!opj_set_decode_area(l_codec, image, parameters.DA_x0, parameters.DA_y0,
759 parameters.DA_x1, parameters.DA_y1)) { 759 parameters.DA_x1, parameters.DA_y1)) {
760 opj_image_destroy(image); 760 opj_image_destroy(image);
761 image = NULL; 761 image = nullptr;
762 return FALSE; 762 return FALSE;
763 } 763 }
764 if (!(opj_decode(l_codec, l_stream, image) && 764 if (!(opj_decode(l_codec, l_stream, image) &&
765 opj_end_decompress(l_codec, l_stream))) { 765 opj_end_decompress(l_codec, l_stream))) {
766 opj_image_destroy(image); 766 opj_image_destroy(image);
767 image = NULL; 767 image = nullptr;
768 return FALSE; 768 return FALSE;
769 } 769 }
770 } else { 770 } else {
771 if (!opj_get_decoded_tile(l_codec, l_stream, image, 771 if (!opj_get_decoded_tile(l_codec, l_stream, image,
772 parameters.tile_index)) { 772 parameters.tile_index)) {
773 return FALSE; 773 return FALSE;
774 } 774 }
775 } 775 }
776 opj_stream_destroy(l_stream); 776 opj_stream_destroy(l_stream);
777 l_stream = NULL; 777 l_stream = nullptr;
778 if (image->color_space != OPJ_CLRSPC_SYCC && image->numcomps == 3 && 778 if (image->color_space != OPJ_CLRSPC_SYCC && image->numcomps == 3 &&
779 image->comps[0].dx == image->comps[0].dy && image->comps[1].dx != 1) { 779 image->comps[0].dx == image->comps[0].dy && image->comps[1].dx != 1) {
780 image->color_space = OPJ_CLRSPC_SYCC; 780 image->color_space = OPJ_CLRSPC_SYCC;
781 } else if (image->numcomps <= 2) { 781 } else if (image->numcomps <= 2) {
782 image->color_space = OPJ_CLRSPC_GRAY; 782 image->color_space = OPJ_CLRSPC_GRAY;
783 } 783 }
784 if (image->color_space == OPJ_CLRSPC_SYCC) { 784 if (image->color_space == OPJ_CLRSPC_SYCC) {
785 color_sycc_to_rgb(image); 785 color_sycc_to_rgb(image);
786 } 786 }
787 if (image->icc_profile_buf) { 787 if (image->icc_profile_buf) {
788 FX_Free(image->icc_profile_buf); 788 FX_Free(image->icc_profile_buf);
789 image->icc_profile_buf = NULL; 789 image->icc_profile_buf = nullptr;
790 image->icc_profile_len = 0; 790 image->icc_profile_len = 0;
791 } 791 }
792 if (!image) { 792 if (!image) {
793 return FALSE; 793 return FALSE;
794 } 794 }
795 return TRUE; 795 return TRUE;
796 } 796 }
797 797
798 void CJPX_Decoder::GetInfo(uint32_t* width, 798 void CJPX_Decoder::GetInfo(uint32_t* width,
799 uint32_t* height, 799 uint32_t* height,
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 bool CCodec_JpxModule::Decode(CJPX_Decoder* pDecoder, 897 bool CCodec_JpxModule::Decode(CJPX_Decoder* pDecoder,
898 uint8_t* dest_data, 898 uint8_t* dest_data,
899 int pitch, 899 int pitch,
900 const std::vector<uint8_t>& offsets) { 900 const std::vector<uint8_t>& offsets) {
901 return pDecoder->Decode(dest_data, pitch, offsets); 901 return pDecoder->Decode(dest_data, pitch, offsets);
902 } 902 }
903 903
904 void CCodec_JpxModule::DestroyDecoder(CJPX_Decoder* pDecoder) { 904 void CCodec_JpxModule::DestroyDecoder(CJPX_Decoder* pDecoder) {
905 delete pDecoder; 905 delete pDecoder;
906 } 906 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698