📄 stdentropyencoderoptions.h
字号:
curbp--;
}
}
delete in;
/* int k,j;
printf ("-%d--------\n",dwBlkNumber);
for (k=0;k<dwBHeight;k++)
{
for (j=0;j<dwBWidth;j++)
printf ("%x ",pQuanData[k*dwBWidth+j]);
printf ("\n");
}
*/
pQuanBlkWTData->SetData(pBlkData);
delete []m_pState;
m_pState=0;
}
void CEntropyDecoderStd::DecompressTileComBlkWTData(int nTileNumber, int nComNumber)
{
CTileBlkWTData *pTileBlkWTData=m_pQuanImgBlkWTData->GetTileBlkWTData(nTileNumber,nComNumber);
int nDecLev=pTileBlkWTData->GetTileDecLev();
CBandBlkWTData *pBandBlkWTData=0;
CBlkWTData *pQuanBlkWTData=0;
int nBandNumber;
int nBlkNums,nBlkNumber;
CBand Band;
for (nBandNumber=0;nBandNumber<3*nDecLev+1;nBandNumber++)
{
pBandBlkWTData=pTileBlkWTData->GetBandBlkWTData(nBandNumber);
Band=pBandBlkWTData->GetBandInfo();
nBlkNums=pBandBlkWTData->GetBlkNums();
for (nBlkNumber=0;nBlkNumber<nBlkNums;nBlkNumber++)
{
pQuanBlkWTData=&pBandBlkWTData->GetBlkWTData(nBlkNumber);
DecompressCodedBlk(pQuanBlkWTData,Band,pOpts[nTileNumber][nComNumber]);
}
}
}
CDataBlkDword * CEntropyDecoderStd::CreateDataBlkDword(CBlkRateDistStats *pBlkRateDistStats)
{
CDataBlkDword *pBlkData=0;
pBlkData=new CDataBlkDword();
int nOffset=pBlkRateDistStats->GetBlkOffset();
int nWidth,nHeight;
nWidth=pBlkRateDistStats->GetBlkWidth();
nHeight=pBlkRateDistStats->GetBlkHeight();
CCoord coordBlkOrg=pBlkData->GetDataBlkOrg();
pBlkData->SetParams(coordBlkOrg,nWidth,nHeight);
pBlkData->SetOffset(nOffset);
return pBlkData;
}
CImgBlkWTData * CEntropyDecoderStd::GetImgBlkWTData()
{
return m_pQuanImgBlkWTData;
}