⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector.h

📁 jpeg 2000 压缩算法源代码 核心ebcot
💻 H
字号:
ase TYPE_FLOAT:
			pImgComData=new CImgComDataFloat(nComBits,nComNumber,coordImgComOrg,dwImgComWidth,dwImgComHeight);
			break;
		default:
			{
				printf("image component data type unknown!\n");
				return 0;

			}
		}

		pImgSrc->SetImgComData(nComNumber,pImgComData);

		for (nTileNumber=0;nTileNumber<nTileNums;nTileNumber++)
		{
			pTileComData=&m_pImgTilingData[nTileNumber].GetTileComData(nComNumber);
			ConvertTileComData(*pTileComData,eDataType);

			nTCWidth=pTileComData->GetWidth();
			nTCHeight=pTileComData->GetHeight();

            nTCOffset=pTileComData->GetTileComOffset();

			pDataBlk=pTileComData->GetData();

			if (!pbCompSigned[nComNumber])
				{
					nDCShift=(1<<(pnCompBits[nComNumber]-1));
					IDCShift(pTileComData->GetTileComData(),nDCShift);


				}

		


			pImgComData->SetDataCopy(pDataBlk,nTCOffset,nTCWidth,nTCHeight);

		
		}
		

	}
	return pImgSrc;

}

void CTiler::DCShift(CDataBlk *pDataBlk,int nShift)
{
	int nWidth,nHeight;
	nWidth=pDataBlk->GetBlkWidth();
	nHeight=pDataBlk->GetBlkHeight();

	int *pData=(int *)pDataBlk->GetData();

	int i,j;

	for (i=0;i<nHeight;i++)
		for (j=0;j<nWidth;j++)
		{
			pData[i*nWidth+j]-=nShift;

		}



}

void CTiler::IDCShift(CDataBlk *pDataBlk, int nShift)
{
	int nWidth,nHeight;
	nWidth=pDataBlk->GetBlkWidth();
	nHeight=pDataBlk->GetBlkHeight();

	int *pData=(int *)pDataBlk->GetData();

	int i,j;

	for (i=0;i<nHeight;i++)
		for (j=0;j<nWidth;j++)
		{
			pData[i*nWidth+j]+=nShift;

		}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -