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

Side by Side Diff: third_party/lzma/v4_65/files/C/LzFindMt.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 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 | « third_party/lzma/v4_65/files/C/LzFind.c ('k') | third_party/lzma/v4_65/files/C/LzFindMt.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* LzFindMt.h -- multithreaded Match finder for LZ algorithms
2 2008-10-04 : Igor Pavlov : Public domain */
3
4 #ifndef __LZFINDMT_H
5 #define __LZFINDMT_H
6
7 #include "Threads.h"
8 #include "LzFind.h"
9
10 #define kMtHashBlockSize (1 << 13)
11 #define kMtHashNumBlocks (1 << 3)
12 #define kMtHashNumBlocksMask (kMtHashNumBlocks - 1)
13
14 #define kMtBtBlockSize (1 << 14)
15 #define kMtBtNumBlocks (1 << 6)
16 #define kMtBtNumBlocksMask (kMtBtNumBlocks - 1)
17
18 typedef struct _CMtSync
19 {
20 Bool wasCreated;
21 Bool needStart;
22 Bool exit;
23 Bool stopWriting;
24
25 CThread thread;
26 CAutoResetEvent canStart;
27 CAutoResetEvent wasStarted;
28 CAutoResetEvent wasStopped;
29 CSemaphore freeSemaphore;
30 CSemaphore filledSemaphore;
31 Bool csWasInitialized;
32 Bool csWasEntered;
33 CCriticalSection cs;
34 UInt32 numProcessedBlocks;
35 } CMtSync;
36
37 typedef UInt32 * (*Mf_Mix_Matches)(void *p, UInt32 matchMinPos, UInt32 *distance s);
38
39 /* kMtCacheLineDummy must be >= size_of_CPU_cache_line */
40 #define kMtCacheLineDummy 128
41
42 typedef void (*Mf_GetHeads)(const Byte *buffer, UInt32 pos,
43 UInt32 *hash, UInt32 hashMask, UInt32 *heads, UInt32 numHeads, const UInt32 *c rc);
44
45 typedef struct _CMatchFinderMt
46 {
47 /* LZ */
48 const Byte *pointerToCurPos;
49 UInt32 *btBuf;
50 UInt32 btBufPos;
51 UInt32 btBufPosLimit;
52 UInt32 lzPos;
53 UInt32 btNumAvailBytes;
54
55 UInt32 *hash;
56 UInt32 fixedHashSize;
57 UInt32 historySize;
58 const UInt32 *crc;
59
60 Mf_Mix_Matches MixMatchesFunc;
61
62 /* LZ + BT */
63 CMtSync btSync;
64 Byte btDummy[kMtCacheLineDummy];
65
66 /* BT */
67 UInt32 *hashBuf;
68 UInt32 hashBufPos;
69 UInt32 hashBufPosLimit;
70 UInt32 hashNumAvail;
71
72 CLzRef *son;
73 UInt32 matchMaxLen;
74 UInt32 numHashBytes;
75 UInt32 pos;
76 Byte *buffer;
77 UInt32 cyclicBufferPos;
78 UInt32 cyclicBufferSize; /* it must be historySize + 1 */
79 UInt32 cutValue;
80
81 /* BT + Hash */
82 CMtSync hashSync;
83 /* Byte hashDummy[kMtCacheLineDummy]; */
84
85 /* Hash */
86 Mf_GetHeads GetHeadsFunc;
87 CMatchFinder *MatchFinder;
88 } CMatchFinderMt;
89
90 void MatchFinderMt_Construct(CMatchFinderMt *p);
91 void MatchFinderMt_Destruct(CMatchFinderMt *p, ISzAlloc *alloc);
92 SRes MatchFinderMt_Create(CMatchFinderMt *p, UInt32 historySize, UInt32 keepAddB ufferBefore,
93 UInt32 matchMaxLen, UInt32 keepAddBufferAfter, ISzAlloc *alloc);
94 void MatchFinderMt_CreateVTable(CMatchFinderMt *p, IMatchFinder *vTable);
95 void MatchFinderMt_ReleaseStream(CMatchFinderMt *p);
96
97 #endif
OLDNEW
« no previous file with comments | « third_party/lzma/v4_65/files/C/LzFind.c ('k') | third_party/lzma/v4_65/files/C/LzFindMt.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698