diff options
Diffstat (limited to 'third_party/libopenjpeg20')
-rw-r--r-- | third_party/libopenjpeg20/0000-use-colorspace.patch | 25 | ||||
-rw-r--r-- | third_party/libopenjpeg20/README.pdfium | 13 | ||||
-rw-r--r-- | third_party/libopenjpeg20/jp2.c | 2 | ||||
-rw-r--r-- | third_party/libopenjpeg20/openjpeg.h | 3 |
4 files changed, 42 insertions, 1 deletions
diff --git a/third_party/libopenjpeg20/0000-use-colorspace.patch b/third_party/libopenjpeg20/0000-use-colorspace.patch new file mode 100644 index 0000000000..92f83a2291 --- /dev/null +++ b/third_party/libopenjpeg20/0000-use-colorspace.patch @@ -0,0 +1,25 @@ +diff -u a/jp2.c b/jp2.c +--- a/jp2.c ++++ b/jp2.c +@@ -1429,7 +1429,7 @@ + /* Part 1, I.5.3.4: Either both or none : */ + if( !jp2->color.jp2_pclr->cmap) + opj_jp2_free_pclr(&(jp2->color)); +- else ++ else if (p_image->pdfium_use_colorspace) + opj_jp2_apply_pclr(p_image, &(jp2->color)); + } + +diff -u a/openjpeg.h b/openjpeg.h +--- a/openjpeg.h ++++ b/openjpeg.h +@@ -677,6 +677,9 @@ + OPJ_BYTE *icc_profile_buf; + /** size of ICC profile */ + OPJ_UINT32 icc_profile_len; ++ ++ /** Whether to apply PCLR or not */ ++ OPJ_BOOL pdfium_use_colorspace; + } opj_image_t; + + diff --git a/third_party/libopenjpeg20/README.pdfium b/third_party/libopenjpeg20/README.pdfium new file mode 100644 index 0000000000..e1fad70151 --- /dev/null +++ b/third_party/libopenjpeg20/README.pdfium @@ -0,0 +1,13 @@ +Name: OpenJPEG +URL: http://www.openjpeg.org/ +Version: 0fa5a17c98c4b8f9ee2286f4f0a50cf52a5fccb0 +Security Critical: yes +License: 2-clause BSD + +Description: +JPEG 2000 library. + +Local Modifications: + +0000-use-colorspace.patch: Makes it possible to not call opj_jp2_apply_pclr(). +TODO(thestig): List all the other patches. diff --git a/third_party/libopenjpeg20/jp2.c b/third_party/libopenjpeg20/jp2.c index aafbe199d6..08b195304d 100644 --- a/third_party/libopenjpeg20/jp2.c +++ b/third_party/libopenjpeg20/jp2.c @@ -1429,7 +1429,7 @@ OPJ_BOOL opj_jp2_decode(opj_jp2_t *jp2, /* Part 1, I.5.3.4: Either both or none : */ if( !jp2->color.jp2_pclr->cmap) opj_jp2_free_pclr(&(jp2->color)); - else + else if (p_image->pdfium_use_colorspace) opj_jp2_apply_pclr(p_image, &(jp2->color)); } diff --git a/third_party/libopenjpeg20/openjpeg.h b/third_party/libopenjpeg20/openjpeg.h index 4a8e75ce5a..e988de4785 100644 --- a/third_party/libopenjpeg20/openjpeg.h +++ b/third_party/libopenjpeg20/openjpeg.h @@ -677,6 +677,9 @@ typedef struct opj_image { OPJ_BYTE *icc_profile_buf; /** size of ICC profile */ OPJ_UINT32 icc_profile_len; + + /** Whether to apply PCLR or not */ + OPJ_BOOL pdfium_use_colorspace; } opj_image_t; |