?? headerdecoder.h
字號:
m_nQCCmarkers++;
nMarkerSeglen=m_pEncodedHeader->readWord();
nBuflen=nMarkerSeglen-2;
pBuf=new BYTE[nBuflen];
m_pEncodedHeader->Read(pBuf,nBuflen);
pEncodedMarkerSeg=new CDataIOStream(pBuf,nBuflen);
ReadQCC(pEncodedMarkerSeg,true,0);
delete []pBuf;
delete pEncodedMarkerSeg;
}
break;
case RGN:
break;
case POD:
{
if ((MarkerFound & POD_FOUND) != 0)
{
printf("More than one POD flag found in main header!\n");
return;
}
MarkerFound|=POD_FOUND;
nMarkerSeglen=m_pEncodedHeader->readWord();
nBuflen=nMarkerSeglen-2;
pBuf=new BYTE[nBuflen];
m_pEncodedHeader->Read(pBuf,nBuflen);
pEncodedMarkerSeg=new CDataIOStream(pBuf,nBuflen);
ReadPOD(pEncodedMarkerSeg,true,0);
delete []pBuf;
delete pEncodedMarkerSeg;
}
break;
case PPM:
{
}
break;
case TLM:
break;
case PLM:
break;
case CME:
{
MarkerFound|=CME_FOUND;
m_nCMEmarkers++;
nMarkerSeglen=m_pEncodedHeader->readWord();
nBuflen=nMarkerSeglen-2;
pBuf=new BYTE[nBuflen];
m_pEncodedHeader->Read(pBuf,nBuflen);
pEncodedMarkerSeg=new CDataIOStream(pBuf,nBuflen);
ReadCME(pEncodedMarkerSeg);
delete []pBuf;
delete pEncodedMarkerSeg;
}
break;
default:
{
printf("marker unknown!\n");
return ;
}
}
marker=m_pEncodedHeader->readWord();
}
}
void CHeaderDecoder::ReadSIZ(CDataIOStream *pEncodedMarkerSeg)
{
m_nRsiz=pEncodedMarkerSeg->readWord();
if (m_nRsiz!=0)
{
printf("Codestream capabiities not JPEG 2000 - Part I compliant\n");
exit(0);
}
m_dwXsiz=pEncodedMarkerSeg->readDword();
m_dwYsiz=pEncodedMarkerSeg->readDword();
if (m_dwXsiz<=0||m_dwYsiz<=0)
{
printf("JPEG2000 does not support images whose width and/or height not in the range: 1 -- (2^32)-1\n");
exit(0);
}
m_dwXOsiz=pEncodedMarkerSeg->readDword();
m_dwYOsiz=pEncodedMarkerSeg->readDword();
if (m_dwXOsiz<0||m_dwYOsiz<0)
{
printf("JPEG2000 does not support images offset not in the range: 0 -- (2^32)-2\n");
exit(0);
}
m_dwImgWidth=m_dwXsiz-m_dwXOsiz;
m_dwImgHeight=m_dwYsiz-m_dwYOsiz;
m_dwXTsiz=pEncodedMarkerSeg->readDword();
m_dwYTsiz=pEncodedMarkerSeg->readDword();
if (m_dwXTsiz<=0||m_dwYTsiz<=0)
{
printf("JPEG2000 does not support tiles whose width and/or height not in the range: 1 -- (2^32)-1\n");
exit(0);
}
m_dwXTOsiz=pEncodedMarkerSeg->readDword();
m_dwYTOsiz=pEncodedMarkerSeg->readDword();
if (m_dwXTOsiz<0||m_dwYTOsiz<0)
{
printf("JPEG2000 does not support tiles offset not in the range: 0 -- (2^32)-2\n");
exit(0);
}
m_nCsiz=pEncodedMarkerSeg->readWord();
if (m_nC
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -