📄 headerencoder.h
字号:
m_pHeadBuffer->writeByte((BYTE)temp);
}
}
}
void CHeaderEncoder::WriteMainCOC(int nComNumber)
{
bool bPrecinctUsed=false;
int nPPX=0,nPPY=0;
int nDecLev=m_pEncoderSpec->pWTDecLev->GetCompDef(nComNumber);
int a=0;
CSiz PrecinctDef=m_pEncoderSpec->pPrecinctSize->GetPrecinctSiz(-1,nComNumber,nDecLev);
nPPX=PrecinctDef.GetWidth();
nPPY=PrecinctDef.GetHeight();
if ((nPPX!=CPrecinctSizeSpec::PRECINCT_PPX)||(nPPY!=CPrecinctSizeSpec::PRECINCT_PPY))
{
bPrecinctUsed=true;
a=nDecLev+1;
}
m_pHeadBuffer->writeWord(COC);
int nComNums=m_pCodedImgData->GetImgComNums();
WORD markLenth=8+a;
if(nComNums<257)
{
markLenth+=1;
m_pHeadBuffer->writeWord(markLenth);
m_pHeadBuffer->writeByte((BYTE)nComNumber);
}
else
{
markLenth+=2;
m_pHeadBuffer->writeWord(markLenth);
m_pHeadBuffer->writeWord((WORD)nComNumber);
}
BYTE Scoc=0;
if (bPrecinctUsed)
{
Scoc|=SCOX_PRECINCT_PARTITION;
}
m_pHeadBuffer->writeByte(Scoc);
m_pHeadBuffer->writeByte((BYTE)nDecLev);
CSiz BlkSizeDef=m_pEncoderSpec->pBlkSize->GetCompDef(nComNumber);
int BlkWidthDef,BlkHeightDef;
BlkWidthDef=BlkSizeDef.GetWidth();
BlkHeightDef=BlkSizeDef.GetHeight();
BYTE temp=0;
temp=(BYTE)(BlkWidthDef-2);
m_pHeadBuffer->writeByte(temp);
temp=(BYTE)(BlkHeightDef-2);
m_pHeadBuffer->writeByte(temp);
temp=0;
if (m_pEncoderSpec->pBypass->GetCompDef(nComNumber))
{
temp|=OPT_BYPASS;
}
if (m_pEncoderSpec->pMQReset->GetCompDef(nComNumber))
{
temp|=OPT_RESET_MQ;
}
if (m_pEncoderSpec-
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -