summaryrefslogtreecommitdiff
path: root/core/src/fxcodec
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2015-10-19 16:14:41 -0700
committerLei Zhang <thestig@chromium.org>2015-10-19 16:14:41 -0700
commit0300abca7af7ad627ad9b59bdb88c2fec0505b12 (patch)
treec759002f66447919e086f8c0067aeb016e104c09 /core/src/fxcodec
parent50784b617126bd0bf507dec9e785fc982b87b621 (diff)
downloadpdfium-0300abca7af7ad627ad9b59bdb88c2fec0505b12.tar.xz
Merge to M46: upgrade openjpeg to commit# cf352af
BUG=457480,497355 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1338973005 . (cherry picked from commit c212b684cb028a5d98e57f711c9eed931b853a44) Review URL: https://codereview.chromium.org/1416783002 .
Diffstat (limited to 'core/src/fxcodec')
-rw-r--r--core/src/fxcodec/codec/fx_codec_jpx_opj.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/core/src/fxcodec/codec/fx_codec_jpx_opj.cpp b/core/src/fxcodec/codec/fx_codec_jpx_opj.cpp
index 0a5d6ab24e..6df408d123 100644
--- a/core/src/fxcodec/codec/fx_codec_jpx_opj.cpp
+++ b/core/src/fxcodec/codec/fx_codec_jpx_opj.cpp
@@ -655,7 +655,7 @@ void color_apply_conversion(opj_image_t* image) {
}
class CJPX_Decoder {
public:
- CJPX_Decoder();
+ explicit CJPX_Decoder(bool use_colorspace);
~CJPX_Decoder();
FX_BOOL Init(const unsigned char* src_data, int src_size);
void GetInfo(FX_DWORD& width,
@@ -671,10 +671,10 @@ class CJPX_Decoder {
opj_image_t* image;
opj_codec_t* l_codec;
opj_stream_t* l_stream;
- FX_BOOL m_useColorSpace;
+ const bool m_UseColorSpace;
};
-CJPX_Decoder::CJPX_Decoder()
- : image(NULL), l_codec(NULL), l_stream(NULL), m_useColorSpace(FALSE) {}
+CJPX_Decoder::CJPX_Decoder(bool use_colorspace)
+ : image(NULL), l_codec(NULL), l_stream(NULL), m_UseColorSpace(use_colorspace) {}
CJPX_Decoder::~CJPX_Decoder() {
if (l_codec) {
opj_destroy_codec(l_codec);
@@ -724,6 +724,8 @@ FX_BOOL CJPX_Decoder::Init(const unsigned char* src_data, int src_size) {
image = NULL;
return FALSE;
}
+ image->pdfium_use_colorspace = m_UseColorSpace;
+
if (!parameters.nb_tile_to_decode) {
if (!opj_set_decode_area(l_codec, image, parameters.DA_x0, parameters.DA_y0,
parameters.DA_x1, parameters.DA_y1)) {
@@ -864,8 +866,7 @@ CCodec_JpxModule::CCodec_JpxModule() {}
void* CCodec_JpxModule::CreateDecoder(const uint8_t* src_buf,
FX_DWORD src_size,
FX_BOOL useColorSpace) {
- CJPX_Decoder* pDecoder = new CJPX_Decoder;
- pDecoder->m_useColorSpace = useColorSpace;
+ CJPX_Decoder* pDecoder = new CJPX_Decoder(useColorSpace);
if (!pDecoder->Init(src_buf, src_size)) {
delete pDecoder;
return NULL;