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

Side by Side Diff: core/src/fxcodec/codec/codec_int.h

Issue 1016203002: Fix subtle issues in opj_skip_from_memory and add unit tests. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Add one more useless test. Created 5 years, 9 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
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 #ifndef CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_
8 #define CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_
9
7 #include <limits.h> 10 #include <limits.h>
8 #include <list> 11 #include <list>
12
13 #include "../../../include/fxcodec/fx_codec.h"
9 #include "../jbig2/JBig2_Context.h" 14 #include "../jbig2/JBig2_Context.h"
15 #include "../fx_libopenjpeg/libopenjpeg20/openjpeg.h" // For OPJ_SIZE_T.
16
10 class CCodec_BasicModule : public ICodec_BasicModule 17 class CCodec_BasicModule : public ICodec_BasicModule
11 { 18 {
12 public: 19 public:
13 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz e, FX_LPBYTE& dest_buf, 20 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz e, FX_LPBYTE& dest_buf,
14 FX_DWORD& dest_size); 21 FX_DWORD& dest_size);
15 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_ LPBYTE& dest_buf, 22 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_ LPBYTE& dest_buf,
16 FX_DWORD& dest_size); 23 FX_DWORD& dest_size);
17 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu f, FX_DWORD src_size, int width, int height, 24 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu f, FX_DWORD src_size, int width, int height,
18 int nComps, int bpc); 25 int nComps, int bpc);
19 }; 26 };
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 FX_LPCBYTE global_data, FX_DWORD global_size , FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause); 272 FX_LPCBYTE global_data, FX_DWORD global_size , FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause);
266 273
267 FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_FileRead* f ile_ptr, 274 FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_FileRead* f ile_ptr,
268 FX_DWORD& width, FX_DWORD& height, FX_DWORD& pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause); 275 FX_DWORD& width, FX_DWORD& height, FX_DWORD& pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause);
269 FXCODEC_STATUS ContinueDecode(void* pJbig2Context, IFX_Pause* p Pause); 276 FXCODEC_STATUS ContinueDecode(void* pJbig2Context, IFX_Pause* p Pause);
270 void DestroyJbig2Context(void* pJbig2Context) ; 277 void DestroyJbig2Context(void* pJbig2Context) ;
271 CPDF_Jbig2Interface m_Module; 278 CPDF_Jbig2Interface m_Module;
272 std::list<CJBig2_CachePair> m_SymbolDictCache; 279 std::list<CJBig2_CachePair> m_SymbolDictCache;
273 private: 280 private:
274 }; 281 };
282
283 struct DecodeData {
284 public:
285 DecodeData(unsigned char* src_data, OPJ_SIZE_T src_size) :
286 src_data(src_data), src_size(src_size), offset(0) {
287 }
288 unsigned char* src_data;
289 OPJ_SIZE_T src_size;
290 OPJ_SIZE_T offset;
291 };
292
293 /* Wrappers for C-style callbacks. */
294 OPJ_SIZE_T opj_read_from_memory (void* p_buffer, OPJ_SIZE_T nb_bytes, void* p_u ser_data);
295 OPJ_SIZE_T opj_write_from_memory (void* p_buffer, OPJ_SIZE_T nb_bytes, void* p_u ser_data);
296 OPJ_OFF_T opj_skip_from_memory (OPJ_OFF_T nb_bytes, void* p_user_data);
297 OPJ_BOOL opj_seek_from_memory (OPJ_OFF_T nb_bytes, void* p_user_data);
298
299 #endif // CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698