Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Side by Side Diff: core/src/fxcodec/codec/fx_codec_flate.cpp

Issue 1084303002: Replace FX_NEW with new, remote tests from fxcodec (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/src/fxcodec/codec/fx_codec_fax.cpp ('k') | core/src/fxcodec/codec/fx_codec_icc.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "../../fx_zlib.h" 7 #include "../../fx_zlib.h"
8 #include "../../../include/fxcodec/fx_codec.h" 8 #include "../../../include/fxcodec/fx_codec.h"
9 #include "codec_int.h" 9 #include "codec_int.h"
10 extern "C" 10 extern "C"
(...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after
844 guess_buf[guess_size] = '\0'; 844 guess_buf[guess_size] = '\0';
845 } 845 }
846 dest_buf = guess_buf; 846 dest_buf = guess_buf;
847 } 847 }
848 FPDFAPI_FlateEnd(context); 848 FPDFAPI_FlateEnd(context);
849 context = NULL; 849 context = NULL;
850 } 850 }
851 ICodec_ScanlineDecoder* CCodec_FlateModule::CreateDecoder(FX_LPCBYTE src_buf, FX _DWORD src_size, int width, int height, 851 ICodec_ScanlineDecoder* CCodec_FlateModule::CreateDecoder(FX_LPCBYTE src_buf, FX _DWORD src_size, int width, int height,
852 int nComps, int bpc, int predictor, int Colors, int BitsPerComponent, in t Columns) 852 int nComps, int bpc, int predictor, int Colors, int BitsPerComponent, in t Columns)
853 { 853 {
854 CCodec_FlateScanlineDecoder* pDecoder = FX_NEW CCodec_FlateScanlineDecoder; 854 CCodec_FlateScanlineDecoder* pDecoder = new CCodec_FlateScanlineDecoder;
855 if (pDecoder == NULL) {
856 return NULL;
857 }
858 pDecoder->Create(src_buf, src_size, width, height, nComps, bpc, predictor, C olors, BitsPerComponent, Columns); 855 pDecoder->Create(src_buf, src_size, width, height, nComps, bpc, predictor, C olors, BitsPerComponent, Columns);
859 return pDecoder; 856 return pDecoder;
860 } 857 }
861 FX_DWORD CCodec_FlateModule::FlateOrLZWDecode(FX_BOOL bLZW, const FX_BYTE* src_b uf, FX_DWORD src_size, FX_BOOL bEarlyChange, 858 FX_DWORD CCodec_FlateModule::FlateOrLZWDecode(FX_BOOL bLZW, const FX_BYTE* src_b uf, FX_DWORD src_size, FX_BOOL bEarlyChange,
862 int predictor, int Colors, int BitsPerComponent, int Columns, 859 int predictor, int Colors, int BitsPerComponent, int Columns,
863 FX_DWORD estimated_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size) 860 FX_DWORD estimated_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size)
864 { 861 {
865 CLZWDecoder* pDecoder = NULL; 862 CLZWDecoder* pDecoder = NULL;
866 dest_buf = NULL; 863 dest_buf = NULL;
867 FX_DWORD offset = 0; 864 FX_DWORD offset = 0;
868 int predictor_type = 0; 865 int predictor_type = 0;
869 if (predictor) { 866 if (predictor) {
870 if (predictor >= 10) { 867 if (predictor >= 10) {
871 predictor_type = 2; 868 predictor_type = 2;
872 } else if (predictor == 2) { 869 } else if (predictor == 2) {
873 predictor_type = 1; 870 predictor_type = 1;
874 } 871 }
875 } 872 }
876 if (bLZW) { 873 if (bLZW) {
877 pDecoder = FX_NEW CLZWDecoder; 874 pDecoder = new CLZWDecoder;
878 if (pDecoder == NULL) {
879 return -1;
880 }
881 dest_size = (FX_DWORD) - 1; 875 dest_size = (FX_DWORD) - 1;
882 offset = src_size; 876 offset = src_size;
883 int err = pDecoder->Decode(NULL, dest_size, src_buf, offset, bEarlyChang e); 877 int err = pDecoder->Decode(NULL, dest_size, src_buf, offset, bEarlyChang e);
884 delete pDecoder; 878 delete pDecoder;
885 if (err || dest_size == 0 || dest_size + 1 < dest_size) { 879 if (err || dest_size == 0 || dest_size + 1 < dest_size) {
886 return (FX_DWORD) - 1; 880 return (FX_DWORD) - 1;
887 } 881 }
888 pDecoder = FX_NEW CLZWDecoder; 882 pDecoder = new CLZWDecoder;
889 if (pDecoder == NULL) {
890 return -1;
891 }
892 dest_buf = FX_Alloc( FX_BYTE, dest_size + 1); 883 dest_buf = FX_Alloc( FX_BYTE, dest_size + 1);
893 if (dest_buf == NULL) { 884 if (dest_buf == NULL) {
894 return -1; 885 return -1;
895 } 886 }
896 dest_buf[dest_size] = '\0'; 887 dest_buf[dest_size] = '\0';
897 pDecoder->Decode(dest_buf, dest_size, src_buf, offset, bEarlyChange); 888 pDecoder->Decode(dest_buf, dest_size, src_buf, offset, bEarlyChange);
898 delete pDecoder; 889 delete pDecoder;
899 } else { 890 } else {
900 FlateUncompress(src_buf, src_size, estimated_size, dest_buf, dest_size, offset); 891 FlateUncompress(src_buf, src_size, estimated_size, dest_buf, dest_size, offset);
901 } 892 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 dest_size = src_size + src_size / 1000 + 12; 928 dest_size = src_size + src_size / 1000 + 12;
938 dest_buf = FX_Alloc( FX_BYTE, dest_size); 929 dest_buf = FX_Alloc( FX_BYTE, dest_size);
939 if (dest_buf == NULL) { 930 if (dest_buf == NULL) {
940 return FALSE; 931 return FALSE;
941 } 932 }
942 unsigned long temp_size = dest_size; 933 unsigned long temp_size = dest_size;
943 FPDFAPI_FlateCompress(dest_buf, &temp_size, src_buf, src_size); 934 FPDFAPI_FlateCompress(dest_buf, &temp_size, src_buf, src_size);
944 dest_size = (FX_DWORD)temp_size; 935 dest_size = (FX_DWORD)temp_size;
945 return TRUE; 936 return TRUE;
946 } 937 }
OLDNEW
« no previous file with comments | « core/src/fxcodec/codec/fx_codec_fax.cpp ('k') | core/src/fxcodec/codec/fx_codec_icc.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698