mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-09 16:31:28 +12:00
7z: Update from 19.00 to 21.07
This commit is contained in:
parent
f6de42a2ae
commit
7ef112cf30
59 changed files with 8366 additions and 2483 deletions
36
3rdparty/7z/src/Lzma2DecMt.c
vendored
36
3rdparty/7z/src/Lzma2DecMt.c
vendored
|
@ -1,25 +1,25 @@
|
|||
/* Lzma2DecMt.c -- LZMA2 Decoder Multi-thread
|
||||
2019-02-02 : Igor Pavlov : Public domain */
|
||||
2021-04-01 : Igor Pavlov : Public domain */
|
||||
|
||||
#include "Precomp.h"
|
||||
|
||||
// #define SHOW_DEBUG_INFO
|
||||
|
||||
// #define _7ZIP_ST
|
||||
|
||||
#ifdef SHOW_DEBUG_INFO
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifndef _7ZIP_ST
|
||||
#ifdef SHOW_DEBUG_INFO
|
||||
#define PRF(x) x
|
||||
#else
|
||||
#define PRF(x)
|
||||
#endif
|
||||
|
||||
#define PRF_STR(s) PRF(printf("\n" s "\n"))
|
||||
#define PRF_STR_INT(s, d) PRF(printf("\n" s " %d\n", (unsigned)d))
|
||||
#define PRF_STR_INT_2(s, d1, d2) PRF(printf("\n" s " %d %d\n", (unsigned)d1, (unsigned)d2))
|
||||
|
||||
// #define _7ZIP_ST
|
||||
#endif
|
||||
|
||||
#include "Alloc.h"
|
||||
|
||||
|
@ -28,10 +28,10 @@
|
|||
|
||||
#ifndef _7ZIP_ST
|
||||
#include "MtDec.h"
|
||||
#endif
|
||||
|
||||
|
||||
#define LZMA2DECMT_OUT_BLOCK_MAX_DEFAULT (1 << 28)
|
||||
#endif
|
||||
|
||||
|
||||
void Lzma2DecMtProps_Init(CLzma2DecMtProps *p)
|
||||
{
|
||||
|
@ -255,7 +255,7 @@ static void Lzma2DecMt_MtCallback_Parse(void *obj, unsigned coderIndex, CMtDecCa
|
|||
const unsigned kNumAlignBits = 12;
|
||||
const unsigned kNumCacheLineBits = 7; /* <= kNumAlignBits */
|
||||
t->alloc.numAlignBits = kNumAlignBits;
|
||||
t->alloc.offset = ((UInt32)coderIndex * ((1 << 11) + (1 << 8) + (1 << 6))) & ((1 << kNumAlignBits) - (1 << kNumCacheLineBits));
|
||||
t->alloc.offset = ((UInt32)coderIndex * (((unsigned)1 << 11) + (1 << 8) + (1 << 6))) & (((unsigned)1 << kNumAlignBits) - ((unsigned)1 << kNumCacheLineBits));
|
||||
t->alloc.baseAlloc = me->alignOffsetAlloc.baseAlloc;
|
||||
}
|
||||
}
|
||||
|
@ -527,7 +527,7 @@ static SRes Lzma2DecMt_MtCallback_Code(void *pp, unsigned coderIndex,
|
|||
|
||||
static SRes Lzma2DecMt_MtCallback_Write(void *pp, unsigned coderIndex,
|
||||
BoolInt needWriteToStream,
|
||||
const Byte *src, size_t srcSize,
|
||||
const Byte *src, size_t srcSize, BoolInt isCross,
|
||||
BoolInt *needContinue, BoolInt *canRecode)
|
||||
{
|
||||
CLzma2DecMt *me = (CLzma2DecMt *)pp;
|
||||
|
@ -536,12 +536,14 @@ static SRes Lzma2DecMt_MtCallback_Write(void *pp, unsigned coderIndex,
|
|||
const Byte *data = t->outBuf;
|
||||
BoolInt needContinue2 = True;
|
||||
|
||||
UNUSED_VAR(src)
|
||||
UNUSED_VAR(srcSize)
|
||||
UNUSED_VAR(isCross)
|
||||
|
||||
PRF_STR_INT_2("Write", coderIndex, srcSize);
|
||||
|
||||
*needContinue = False;
|
||||
*canRecode = True;
|
||||
UNUSED_VAR(src)
|
||||
UNUSED_VAR(srcSize)
|
||||
|
||||
if (
|
||||
// t->parseStatus == LZMA_STATUS_FINISHED_WITH_MARK
|
||||
|
@ -696,7 +698,7 @@ static SRes Lzma2Dec_Decode_ST(CLzma2DecMt *p
|
|||
inPos = 0;
|
||||
inLim = p->inBufSize;
|
||||
inData = p->inBuf;
|
||||
p->readRes = ISeqInStream_Read(p->inStream, (void *)inData, &inLim);
|
||||
p->readRes = ISeqInStream_Read(p->inStream, (void *)(p->inBuf), &inLim);
|
||||
// p->readProcessed += inLim;
|
||||
// inLim -= 5; p->readWasFinished = True; // for test
|
||||
if (inLim == 0 || p->readRes != SZ_OK)
|
||||
|
@ -838,6 +840,7 @@ SRes Lzma2DecMt_Decode(CLzma2DecMtHandle pp,
|
|||
p->inProcessed = 0;
|
||||
|
||||
p->readWasFinished = False;
|
||||
p->readRes = SZ_OK;
|
||||
|
||||
*isMT = False;
|
||||
|
||||
|
@ -856,7 +859,7 @@ SRes Lzma2DecMt_Decode(CLzma2DecMtHandle pp,
|
|||
|
||||
if (p->props.numThreads > 1)
|
||||
{
|
||||
IMtDecCallback vt;
|
||||
IMtDecCallback2 vt;
|
||||
|
||||
Lzma2DecMt_FreeSt(p);
|
||||
|
||||
|
@ -955,7 +958,12 @@ SRes Lzma2DecMt_Decode(CLzma2DecMtHandle pp,
|
|||
*inProcessed = p->inProcessed;
|
||||
|
||||
// res = SZ_OK; // for test
|
||||
if (res == SZ_OK && p->readRes != SZ_OK)
|
||||
if (res == SZ_ERROR_INPUT_EOF)
|
||||
{
|
||||
if (p->readRes != SZ_OK)
|
||||
res = p->readRes;
|
||||
}
|
||||
else if (res == SZ_OK && p->readRes != SZ_OK)
|
||||
res = p->readRes;
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue