Index: core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp |
diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp |
index e67b46c931814494482db340e94e3426184d40c1..91a3725ad79cf0013f421ef83564b4fea1c3538f 100644 |
--- a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp |
+++ b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp |
@@ -911,37 +911,33 @@ void CPDF_DIBSource::LoadPalette() |
} |
} |
} |
- |
FX_DWORD CPDF_DIBSource::GetValidBpp() const |
{ |
FX_DWORD bpc = m_bpc; |
CPDF_Object * pFilter = m_pDict->GetElementValue(FX_BSTRC("Filter")); |
- if(pFilter) |
- { |
- if(pFilter->GetType() == PDFOBJ_NAME) |
- { |
+ if (pFilter) { |
+ if (pFilter->GetType() == PDFOBJ_NAME) { |
CFX_ByteString filter = pFilter->GetString(); |
- if(filter == FX_BSTRC("CCITTFaxDecode") || filter == FX_BSTRC("JBIG2Decode") ) |
+ if (filter == FX_BSTRC("CCITTFaxDecode") || filter == FX_BSTRC("JBIG2Decode")) { |
bpc = 1; |
- if(filter == FX_BSTRC("RunLengthDecode") || filter == FX_BSTRC("DCTDecode") ) |
+ } |
+ if (filter == FX_BSTRC("RunLengthDecode") || filter == FX_BSTRC("DCTDecode")) { |
bpc = 8; |
+ } |
+ } else if (pFilter->GetType() == PDFOBJ_ARRAY) { |
+ CPDF_Array *pArray = (CPDF_Array *)pFilter; |
+ if (pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("CCITTFacDecode") || |
+ pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("JBIG2Decode")) { |
+ bpc = 1; |
+ } |
+ if (pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("RunLengthDecode") || |
+ pArray->GetString(pArray->GetCount() - 1) == FX_BSTRC("DCTDecode")) { |
+ bpc = 8; |
+ } |
} |
- else if (pFilter->GetType() == PDFOBJ_ARRAY) |
- { |
- CPDF_Array *pArray = (CPDF_Array *) pFilter; |
- if( pArray->GetString(pArray->GetCount() -1) == FX_BSTRC("CCITTFacDecode") || |
- pArray->GetString(pArray->GetCount() -1) == FX_BSTRC("JBIG2Decode") ) |
- bpc = 1; |
- |
- if( pArray->GetString(pArray->GetCount() -1) == FX_BSTRC("RunLengthDecode") || |
- pArray->GetString(pArray->GetCount() -1) == FX_BSTRC("DCTDecode") ) |
- bpc = 8; |
- } |
- } |
- |
+ } |
return bpc; |
} |
- |
#define NORMALCOLOR_MAX(color, max) (color) > (max) ? (max) : (color) < 0 ? 0 : (color); |
void CPDF_DIBSource::TranslateScanline24bpp(FX_LPBYTE dest_scan, FX_LPCBYTE src_scan) const |
{ |
@@ -969,9 +965,7 @@ void CPDF_DIBSource::TranslateScanline24bpp(FX_LPBYTE dest_scan, FX_LPCBYTE src_ |
} else { |
int src_bit_pos = 0; |
int dest_byte_pos = 0; |
- |
FX_DWORD bpc = GetValidBpp(); |
- |
for (int column = 0; column < m_Width; column ++) { |
int R = _GetBits8(src_scan, src_bit_pos, bpc); |
src_bit_pos += bpc; |
@@ -990,9 +984,9 @@ void CPDF_DIBSource::TranslateScanline24bpp(FX_LPBYTE dest_scan, FX_LPCBYTE src_ |
} |
return; |
} else if (m_bpc == 8) { |
- if (m_nComponents == m_pColorSpace->CountComponents()) |
- m_pColorSpace->TranslateImageLine(dest_scan, src_scan, m_Width, m_Width, m_Height, |
- m_bLoadMask && m_GroupFamily == PDFCS_DEVICECMYK && m_Family == PDFCS_DEVICECMYK); |
+ if (m_nComponents == m_pColorSpace->CountComponents()) |
+ m_pColorSpace->TranslateImageLine(dest_scan, src_scan, m_Width, m_Width, m_Height, |
+ m_bLoadMask && m_GroupFamily == PDFCS_DEVICECMYK && m_Family == PDFCS_DEVICECMYK); |
return; |
} |
} |
@@ -1027,9 +1021,7 @@ void CPDF_DIBSource::TranslateScanline24bpp(FX_LPBYTE dest_scan, FX_LPCBYTE src_ |
} else { |
int src_bit_pos = 0; |
int dest_byte_pos = 0; |
- |
FX_DWORD bpc = GetValidBpp(); |
- |
for (int column = 0; column < m_Width; column ++) { |
for (FX_DWORD color = 0; color < m_nComponents; color ++) { |
int data = _GetBits8(src_scan, src_bit_pos, bpc); |