OLD | NEW |
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 |
| 11 #include "core/fxcodec/codec/codec_int.h" |
11 #include "core/include/fpdfapi/fpdf_resource.h" | 12 #include "core/include/fpdfapi/fpdf_resource.h" |
12 #include "core/include/fxcodec/fx_codec.h" | 13 #include "core/include/fxcodec/fx_codec.h" |
13 #include "core/include/fxcrt/fx_safe_types.h" | 14 #include "core/include/fxcrt/fx_safe_types.h" |
14 #include "core/src/fxcodec/codec/codec_int.h" | |
15 #include "third_party/lcms2-2.6/include/lcms2.h" | 15 #include "third_party/lcms2-2.6/include/lcms2.h" |
16 #include "third_party/libopenjpeg20/openjpeg.h" | 16 #include "third_party/libopenjpeg20/openjpeg.h" |
17 | 17 |
18 static void fx_error_callback(const char* msg, void* client_data) { | 18 static void fx_error_callback(const char* msg, void* client_data) { |
19 (void)client_data; | 19 (void)client_data; |
20 } | 20 } |
21 static void fx_warning_callback(const char* msg, void* client_data) { | 21 static void fx_warning_callback(const char* msg, void* client_data) { |
22 (void)client_data; | 22 (void)client_data; |
23 } | 23 } |
24 static void fx_info_callback(const char* msg, void* client_data) { | 24 static void fx_info_callback(const char* msg, void* client_data) { |
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
852 *pPixel = (uint8_t)tmpPixel; | 852 *pPixel = (uint8_t)tmpPixel; |
853 } | 853 } |
854 } | 854 } |
855 } | 855 } |
856 } | 856 } |
857 } | 857 } |
858 return true; | 858 return true; |
859 } | 859 } |
860 | 860 |
861 CCodec_JpxModule::CCodec_JpxModule() {} | 861 CCodec_JpxModule::CCodec_JpxModule() {} |
862 CCodec_JpxModule::~CCodec_JpxModule() { | 862 CCodec_JpxModule::~CCodec_JpxModule() {} |
863 } | |
864 | 863 |
865 CJPX_Decoder* CCodec_JpxModule::CreateDecoder(const uint8_t* src_buf, | 864 CJPX_Decoder* CCodec_JpxModule::CreateDecoder(const uint8_t* src_buf, |
866 FX_DWORD src_size, | 865 FX_DWORD src_size, |
867 CPDF_ColorSpace* cs) { | 866 CPDF_ColorSpace* cs) { |
868 std::unique_ptr<CJPX_Decoder> decoder(new CJPX_Decoder(cs)); | 867 std::unique_ptr<CJPX_Decoder> decoder(new CJPX_Decoder(cs)); |
869 return decoder->Init(src_buf, src_size) ? decoder.release() : nullptr; | 868 return decoder->Init(src_buf, src_size) ? decoder.release() : nullptr; |
870 } | 869 } |
871 | 870 |
872 void CCodec_JpxModule::GetImageInfo(CJPX_Decoder* pDecoder, | 871 void CCodec_JpxModule::GetImageInfo(CJPX_Decoder* pDecoder, |
873 FX_DWORD* width, | 872 FX_DWORD* width, |
874 FX_DWORD* height, | 873 FX_DWORD* height, |
875 FX_DWORD* components) { | 874 FX_DWORD* components) { |
876 pDecoder->GetInfo(width, height, components); | 875 pDecoder->GetInfo(width, height, components); |
877 } | 876 } |
878 | 877 |
879 bool CCodec_JpxModule::Decode(CJPX_Decoder* pDecoder, | 878 bool CCodec_JpxModule::Decode(CJPX_Decoder* pDecoder, |
880 uint8_t* dest_data, | 879 uint8_t* dest_data, |
881 int pitch, | 880 int pitch, |
882 const std::vector<uint8_t>& offsets) { | 881 const std::vector<uint8_t>& offsets) { |
883 return pDecoder->Decode(dest_data, pitch, offsets); | 882 return pDecoder->Decode(dest_data, pitch, offsets); |
884 } | 883 } |
885 | 884 |
886 void CCodec_JpxModule::DestroyDecoder(CJPX_Decoder* pDecoder) { | 885 void CCodec_JpxModule::DestroyDecoder(CJPX_Decoder* pDecoder) { |
887 delete pDecoder; | 886 delete pDecoder; |
888 } | 887 } |
OLD | NEW |