From 33564e95a1834b8e58a0f445363808dfb3b625d4 Mon Sep 17 00:00:00 2001
From: Sebastian Rasmussen <sebras@gmail.com>
Date: Sun, 13 Aug 2017 00:57:31 +0800
Subject: Add bits per component parameter for flate and lzw compressed images.

---
 source/pdf/pdf-image.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/source/pdf/pdf-image.c b/source/pdf/pdf-image.c
index 6afc804f..45273cfb 100644
--- a/source/pdf/pdf-image.c
+++ b/source/pdf/pdf-image.c
@@ -364,6 +364,8 @@ pdf_add_image(fz_context *ctx, pdf_document *doc, fz_image *image, int mask)
 					pdf_dict_put_drop(ctx, dp, PDF_NAME_Colors, pdf_new_int(ctx, doc, cp->u.flate.colors));
 				if (cp->u.flate.predictor)
 					pdf_dict_put_drop(ctx, dp, PDF_NAME_Predictor, pdf_new_int(ctx, doc, cp->u.flate.predictor));
+				if (cp->u.flate.bpc)
+					pdf_dict_put_drop(ctx, dp, PDF_NAME_BitsPerComponent, pdf_new_int(ctx, doc, cp->u.flate.bpc));
 				pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_FlateDecode);
 				pdf_dict_put_drop(ctx, imobj, PDF_NAME_BitsPerComponent, pdf_new_int(ctx, doc, image->bpc));
 				break;
@@ -376,6 +378,8 @@ pdf_add_image(fz_context *ctx, pdf_document *doc, fz_image *image, int mask)
 					pdf_dict_put_drop(ctx, dp, PDF_NAME_Predictor, pdf_new_int(ctx, doc, cp->u.lzw.predictor));
 				if (cp->u.lzw.early_change)
 					pdf_dict_put_drop(ctx, dp, PDF_NAME_EarlyChange, pdf_new_int(ctx, doc, cp->u.lzw.early_change));
+				if (cp->u.lzw.bpc)
+					pdf_dict_put_drop(ctx, dp, PDF_NAME_BitsPerComponent, pdf_new_int(ctx, doc, cp->u.lzw.bpc));
 				pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_LZWDecode);
 				break;
 			case FZ_IMAGE_RLD:
-- 
cgit v1.2.3