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

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

Issue 1196523002: Reapply Foxit's libopenjpeg modifications. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: with test Created 5 years, 3 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 9
10 #include "../../../../third_party/lcms2-2.6/include/lcms2.h" 10 #include "../../../../third_party/lcms2-2.6/include/lcms2.h"
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 FX_BOOL Decode(uint8_t* dest_buf, 620 FX_BOOL Decode(uint8_t* dest_buf,
621 int pitch, 621 int pitch,
622 uint8_t* offsets); 622 uint8_t* offsets);
623 623
624 private: 624 private:
625 const uint8_t* m_SrcData; 625 const uint8_t* m_SrcData;
626 int m_SrcSize; 626 int m_SrcSize;
627 opj_image_t* image; 627 opj_image_t* image;
628 opj_codec_t* l_codec; 628 opj_codec_t* l_codec;
629 opj_stream_t* l_stream; 629 opj_stream_t* l_stream;
630 bool m_UseColorSpace; 630 const bool m_UseColorSpace;
631 }; 631 };
632 632
633 CJPX_Decoder::CJPX_Decoder(bool use_colorspace) 633 CJPX_Decoder::CJPX_Decoder(bool use_colorspace)
634 : image(nullptr), 634 : image(nullptr),
635 l_codec(nullptr), 635 l_codec(nullptr),
636 l_stream(nullptr), 636 l_stream(nullptr),
637 m_UseColorSpace(use_colorspace) { 637 m_UseColorSpace(use_colorspace) {
638 } 638 }
639 639
640 CJPX_Decoder::~CJPX_Decoder() { 640 CJPX_Decoder::~CJPX_Decoder() {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 opj_set_info_handler(l_codec, fx_info_callback, 00); 680 opj_set_info_handler(l_codec, fx_info_callback, 00);
681 opj_set_warning_handler(l_codec, fx_warning_callback, 00); 681 opj_set_warning_handler(l_codec, fx_warning_callback, 00);
682 opj_set_error_handler(l_codec, fx_error_callback, 00); 682 opj_set_error_handler(l_codec, fx_error_callback, 00);
683 if (!opj_setup_decoder(l_codec, &parameters)) { 683 if (!opj_setup_decoder(l_codec, &parameters)) {
684 return FALSE; 684 return FALSE;
685 } 685 }
686 if (!opj_read_header(l_stream, l_codec, &image)) { 686 if (!opj_read_header(l_stream, l_codec, &image)) {
687 image = NULL; 687 image = NULL;
688 return FALSE; 688 return FALSE;
689 } 689 }
690 image->pdfium_use_colorspace = m_UseColorSpace;
691
690 if (!parameters.nb_tile_to_decode) { 692 if (!parameters.nb_tile_to_decode) {
691 if (!opj_set_decode_area(l_codec, image, parameters.DA_x0, parameters.DA_y0, 693 if (!opj_set_decode_area(l_codec, image, parameters.DA_x0, parameters.DA_y0,
692 parameters.DA_x1, parameters.DA_y1)) { 694 parameters.DA_x1, parameters.DA_y1)) {
693 opj_image_destroy(image); 695 opj_image_destroy(image);
694 image = NULL; 696 image = NULL;
695 return FALSE; 697 return FALSE;
696 } 698 }
697 if (!(opj_decode(l_codec, l_stream, image) && 699 if (!(opj_decode(l_codec, l_stream, image) &&
698 opj_end_decompress(l_codec, l_stream))) { 700 opj_end_decompress(l_codec, l_stream))) {
699 opj_image_destroy(image); 701 opj_image_destroy(image);
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 FX_BOOL CCodec_JpxModule::Decode(CJPX_Decoder* pDecoder, 844 FX_BOOL CCodec_JpxModule::Decode(CJPX_Decoder* pDecoder,
843 uint8_t* dest_data, 845 uint8_t* dest_data,
844 int pitch, 846 int pitch,
845 uint8_t* offsets) { 847 uint8_t* offsets) {
846 return pDecoder->Decode(dest_data, pitch, offsets); 848 return pDecoder->Decode(dest_data, pitch, offsets);
847 } 849 }
848 850
849 void CCodec_JpxModule::DestroyDecoder(CJPX_Decoder* pDecoder) { 851 void CCodec_JpxModule::DestroyDecoder(CJPX_Decoder* pDecoder) {
850 delete pDecoder; 852 delete pDecoder;
851 } 853 }
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp ('k') | testing/resources/pixel/bug_71.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698