aboutsummaryrefslogtreecommitdiff
path: root/C/LzmaEnc.c
diff options
context:
space:
mode:
Diffstat (limited to 'C/LzmaEnc.c')
-rw-r--r--C/LzmaEnc.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/C/LzmaEnc.c b/C/LzmaEnc.c
index 6d13cac..37b2787 100644
--- a/C/LzmaEnc.c
+++ b/C/LzmaEnc.c
@@ -1,5 +1,5 @@
1/* LzmaEnc.c -- LZMA Encoder 1/* LzmaEnc.c -- LZMA Encoder
22023-04-13: Igor Pavlov : Public domain */ 22024-01-24: Igor Pavlov : Public domain */
3 3
4#include "Precomp.h" 4#include "Precomp.h"
5 5
@@ -195,11 +195,11 @@ unsigned GetPosSlot1(UInt32 pos);
195unsigned GetPosSlot1(UInt32 pos) 195unsigned GetPosSlot1(UInt32 pos)
196{ 196{
197 unsigned res; 197 unsigned res;
198 BSR2_RET(pos, res); 198 BSR2_RET(pos, res)
199 return res; 199 return res;
200} 200}
201#define GetPosSlot2(pos, res) { BSR2_RET(pos, res); } 201#define GetPosSlot2(pos, res) { BSR2_RET(pos, res) }
202#define GetPosSlot(pos, res) { if (pos < 2) res = pos; else BSR2_RET(pos, res); } 202#define GetPosSlot(pos, res) { if (pos < 2) res = pos; else BSR2_RET(pos, res) }
203 203
204 204
205#else // ! LZMA_LOG_BSR 205#else // ! LZMA_LOG_BSR
@@ -512,7 +512,7 @@ struct CLzmaEnc
512 COPY_ARR(d, s, posEncoders) \ 512 COPY_ARR(d, s, posEncoders) \
513 (d)->lenProbs = (s)->lenProbs; \ 513 (d)->lenProbs = (s)->lenProbs; \
514 (d)->repLenProbs = (s)->repLenProbs; \ 514 (d)->repLenProbs = (s)->repLenProbs; \
515 memcpy((d)->litProbs, (s)->litProbs, ((UInt32)0x300 << (p)->lclp) * sizeof(CLzmaProb)); 515 memcpy((d)->litProbs, (s)->litProbs, ((size_t)0x300 * sizeof(CLzmaProb)) << (p)->lclp);
516 516
517void LzmaEnc_SaveState(CLzmaEncHandle p) 517void LzmaEnc_SaveState(CLzmaEncHandle p)
518{ 518{
@@ -1040,14 +1040,14 @@ Z7_NO_INLINE static void Z7_FASTCALL LenPriceEnc_UpdateTables(
1040 UInt32 price = b; 1040 UInt32 price = b;
1041 do 1041 do
1042 { 1042 {
1043 unsigned bit = sym & 1; 1043 const unsigned bit = sym & 1;
1044 sym >>= 1; 1044 sym >>= 1;
1045 price += GET_PRICEa(probs[sym], bit); 1045 price += GET_PRICEa(probs[sym], bit);
1046 } 1046 }
1047 while (sym >= 2); 1047 while (sym >= 2);
1048 1048
1049 { 1049 {
1050 unsigned prob = probs[(size_t)i + (1 << (kLenNumHighBits - 1))]; 1050 const unsigned prob = probs[(size_t)i + (1 << (kLenNumHighBits - 1))];
1051 prices[(size_t)i * 2 ] = price + GET_PRICEa_0(prob); 1051 prices[(size_t)i * 2 ] = price + GET_PRICEa_0(prob);
1052 prices[(size_t)i * 2 + 1] = price + GET_PRICEa_1(prob); 1052 prices[(size_t)i * 2 + 1] = price + GET_PRICEa_1(prob);
1053 } 1053 }
@@ -1056,7 +1056,7 @@ Z7_NO_INLINE static void Z7_FASTCALL LenPriceEnc_UpdateTables(
1056 1056
1057 { 1057 {
1058 unsigned posState; 1058 unsigned posState;
1059 size_t num = (p->tableSize - kLenNumLowSymbols * 2) * sizeof(p->prices[0][0]); 1059 const size_t num = (p->tableSize - kLenNumLowSymbols * 2) * sizeof(p->prices[0][0]);
1060 for (posState = 1; posState < numPosStates; posState++) 1060 for (posState = 1; posState < numPosStates; posState++)
1061 memcpy(p->prices[posState] + kLenNumLowSymbols * 2, p->prices[0] + kLenNumLowSymbols * 2, num); 1061 memcpy(p->prices[posState] + kLenNumLowSymbols * 2, p->prices[0] + kLenNumLowSymbols * 2, num);
1062 } 1062 }
@@ -2696,12 +2696,12 @@ static SRes LzmaEnc_Alloc(CLzmaEnc *p, UInt32 keepWindowSize, ISzAllocPtr alloc,
2696 #endif 2696 #endif
2697 2697
2698 { 2698 {
2699 unsigned lclp = p->lc + p->lp; 2699 const unsigned lclp = p->lc + p->lp;
2700 if (!p->litProbs || !p->saveState.litProbs || p->lclp != lclp) 2700 if (!p->litProbs || !p->saveState.litProbs || p->lclp != lclp)
2701 { 2701 {
2702 LzmaEnc_FreeLits(p, alloc); 2702 LzmaEnc_FreeLits(p, alloc);
2703 p->litProbs = (CLzmaProb *)ISzAlloc_Alloc(alloc, ((UInt32)0x300 << lclp) * sizeof(CLzmaProb)); 2703 p->litProbs = (CLzmaProb *)ISzAlloc_Alloc(alloc, ((size_t)0x300 * sizeof(CLzmaProb)) << lclp);
2704 p->saveState.litProbs = (CLzmaProb *)ISzAlloc_Alloc(alloc, ((UInt32)0x300 << lclp) * sizeof(CLzmaProb)); 2704 p->saveState.litProbs = (CLzmaProb *)ISzAlloc_Alloc(alloc, ((size_t)0x300 * sizeof(CLzmaProb)) << lclp);
2705 if (!p->litProbs || !p->saveState.litProbs) 2705 if (!p->litProbs || !p->saveState.litProbs)
2706 { 2706 {
2707 LzmaEnc_FreeLits(p, alloc); 2707 LzmaEnc_FreeLits(p, alloc);
@@ -2802,8 +2802,8 @@ static void LzmaEnc_Init(CLzmaEnc *p)
2802 } 2802 }
2803 2803
2804 { 2804 {
2805 UInt32 num = (UInt32)0x300 << (p->lp + p->lc); 2805 const size_t num = (size_t)0x300 << (p->lp + p->lc);
2806 UInt32 k; 2806 size_t k;
2807 CLzmaProb *probs = p->litProbs; 2807 CLzmaProb *probs = p->litProbs;
2808 for (k = 0; k < num; k++) 2808 for (k = 0; k < num; k++)
2809 probs[k] = kProbInitValue; 2809 probs[k] = kProbInitValue;