Lines Matching defs:pSegment

198     CJBig2_Segment *pSegment;
201 JBIG2_ALLOC(pSegment, CJBig2_Segment());
202 nRet = parseSegmentHeader(pSegment);
204 delete pSegment;
206 } else if(pSegment->m_cFlags.s.type == 51) {
207 delete pSegment;
210 m_pSegmentList->addItem(pSegment);
409 CJBig2_Segment *CJBig2_Context::findReferredSegmentByTypeAndIndex(CJBig2_Segment *pSegment,
415 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
416 pSeg = findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i]);
427 FX_INT32 CJBig2_Context::parseSegmentHeader(CJBig2_Segment *pSegment)
433 if((m_pStream->readInteger(&pSegment->m_dwNumber) != 0)
434 || (m_pStream->read1Byte(&pSegment->m_cFlags.c) != 0)) {
439 if(m_pStream->readInteger((FX_DWORD*)&pSegment->m_nReferred_to_segment_count) != 0) {
442 pSegment->m_nReferred_to_segment_count &= 0x1fffffff;
443 if (pSegment->m_nReferred_to_segment_count > JBIG2_MAX_REFERRED_SEGMENT_COUNT) {
447 dwTemp = 5 + 4 + (pSegment->m_nReferred_to_segment_count + 1) / 8;
452 pSegment->m_nReferred_to_segment_count = cTemp >> 5;
455 cSSize = pSegment->m_dwNumber > 65536 ? 4 : pSegment->m_dwNumber > 256 ? 2 : 1;
456 cPSize = pSegment->m_cFlags.s.page_association_size ? 4 : 1;
457 if(pSegment->m_nReferred_to_segment_count) {
458 pSegment->m_pReferred_to_segment_numbers = (FX_DWORD*)m_pModule->JBig2_Malloc2(
459 sizeof(FX_DWORD), pSegment->m_nReferred_to_segment_count);
460 for(FX_INT32 i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
466 pSegment->m_pReferred_to_segment_numbers[i] = cTemp;
472 pSegment->m_pReferred_to_segment_numbers[i] = wTemp;
478 pSegment->m_pReferred_to_segment_numbers[i] = dwTemp;
481 if (pSegment->m_pReferred_to_segment_numbers[i] >= pSegment->m_dwNumber) {
491 pSegment->m_dwPage_association = cTemp;
493 if(m_pStream->readInteger(&pSegment->m_dwPage_association) != 0) {
497 if(m_pStream->readInteger(&pSegment->m_dwData_length) != 0) {
500 pSegment->m_pData = m_pStream->getPointer();
501 pSegment->m_State = JBIG2_SEGMENT_DATA_UNPARSED;
507 FX_INT32 CJBig2_Context::parseSegmentData(CJBig2_Segment *pSegment, IFX_Pause* pPause)
509 FX_INT32 ret = ProcessiveParseSegmentData(pSegment, pPause);
511 ret = ProcessiveParseSegmentData(pSegment, pPause);
515 FX_INT32 CJBig2_Context::ProcessiveParseSegmentData(CJBig2_Segment *pSegment, IFX_Pause* pPause)
517 switch(pSegment->m_cFlags.s.type) {
519 return parseSymbolDict(pSegment, pPause);
526 return parseTextRegion(pSegment);
529 return parsePatternDict(pSegment, pPause);
536 return parseHalftoneRegion(pSegment, pPause);
544 return parseGenericRegion(pSegment, pPause);
552 return parseGenericRefinementRegion(pSegment);
593 m_pStream->offset(pSegment->m_dwData_length);
598 m_pStream->offset(pSegment->m_dwData_length);
601 return parseTable(pSegment);
603 m_pStream->offset(pSegment->m_dwData_length);
616 FX_INT32 CJBig2_Context::parseSymbolDict(CJBig2_Segment *pSegment, IFX_Pause* pPause)
630 FX_BYTE *key = pSegment->m_pData;
680 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
681 if(!findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i])) {
688 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
689 pSeg = findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i]);
701 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
702 pSeg = findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i]);
727 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
744 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
757 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
773 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
808 pSegment->m_nResultType = JBIG2_SYMBOL_DICT_POINTER;
812 pSegment->m_Result.sd = it->second->DeepCopy();
822 pSegment->m_Result.sd = pSymbolDictDecoder->decode_Arith(pArithDecoder, gbContext, grContext);
824 if(pSegment->m_Result.sd == NULL) {
831 pSegment->m_Result.sd = pSymbolDictDecoder->decode_Huffman(m_pStream, gbContext, grContext, pPause);
832 if(pSegment->m_Result.sd == NULL) {
838 CJBig2_SymbolDict *value = pSegment->m_Result.sd->DeepCopy();
848 pSegment->m_Result.sd->m_bContextRetained = TRUE;
850 pSegment->m_Result.sd->m_gbContext = gbContext;
853 pSegment->m_Result.sd->m_grContext = grContext;
916 FX_BOOL CJBig2_Context::parseTextRegion(CJBig2_Segment *pSegment)
991 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
992 if(!findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i])) {
999 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
1000 pSeg = findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i]);
1009 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
1010 pSeg = findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i]);
1055 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1076 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1097 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1114 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1135 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1156 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1177 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1190 pSeg = findReferredSegmentByTypeAndIndex(pSegment, 53, nIndex++);
1206 pSegment->m_nResultType = JBIG2_IMAGE_POINTER;
1207 pSegment->m_Result.im = pTRD->decode_Arith(pArithDecoder, grContext);
1209 if(pSegment->m_Result.im == NULL) {
1216 pSegment->m_nResultType = JBIG2_IMAGE_POINTER;
1217 pSegment->m_Result.im = pTRD->decode_Huffman(m_pStream, grContext);
1218 if(pSegment->m_Result.im == NULL) {
1224 if(pSegment->m_cFlags.s.type != 4) {
1231 m_pPage->composeFrom(ri.x, ri.y, pSegment->m_Result.im, (JBig2ComposeOp)(ri.flags & 0x03));
1232 delete pSegment->m_Result.im;
1233 pSegment->m_Result.im = NULL;
1326 FX_BOOL CJBig2_Context::parsePatternDict(CJBig2_Segment *pSegment, IFX_Pause* pPause)
1350 pSegment->m_nResultType = JBIG2_PATTERN_DICT_POINTER;
1356 pSegment->m_Result.pd = pPDD->decode_Arith(pArithDecoder, gbContext, pPause);
1358 if(pSegment->m_Result.pd == NULL) {
1367 pSegment->m_Result.pd = pPDD->decode_MMR(m_pStream, pPause);
1368 if(pSegment->m_Result.pd == NULL) {
1380 FX_BOOL CJBig2_Context::parseHalftoneRegion(CJBig2_Segment *pSegment, IFX_Pause* pPause)
1411 if(pSegment->m_nReferred_to_segment_count != 1) {
1416 pSeg = findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[0]);
1432 pSegment->m_nResultType = JBIG2_IMAGE_POINTER;
1438 pSegment->m_Result.im = pHRD->decode_Arith(pArithDecoder, gbContext, pPause);
1440 if(pSegment->m_Result.im == NULL) {
1449 pSegment->m_Result.im = pHRD->decode_MMR(m_pStream, pPause);
1450 if(pSegment->m_Result.im == NULL) {
1456 if(pSegment->m_cFlags.s.type != 20) {
1463 m_pPage->composeFrom(ri.x, ri.y, pSegment->m_Result.im, (JBig2ComposeOp)(ri.flags & 0x03));
1464 delete pSegment->m_Result.im;
1465 pSegment->m_Result.im = NULL;
1474 FX_BOOL CJBig2_Context::parseGenericRegion(CJBig2_Segment *pSegment, IFX_Pause* pPause)
1518 pSegment->m_nResultType = JBIG2_IMAGE_POINTER;
1527 m_ProcessiveStatus = m_pGRD->Start_decode_Arith(&pSegment->m_Result.im, m_pArithDecoder, m_gbContext, pPause);
1531 OutputBitmap(pSegment->m_Result.im);
1533 if(pSegment->m_cFlags.s.type != 36) {
1541 m_pPage->composeFrom(m_ri.x + Rect.left, m_ri.y + Rect.top, pSegment->m_Result.im, (JBig2ComposeOp)(m_ri.flags & 0x03), &Rect);
1547 if(pSegment->m_Result.im == NULL) {
1560 FXCODEC_STATUS status = m_pGRD->Start_decode_MMR(&pSegment->m_Result.im, m_pStream, pPause);
1564 if(pSegment->m_Result.im == NULL) {
1570 if(pSegment->m_cFlags.s.type != 36) {
1578 m_pPage->composeFrom(m_ri.x + Rect.left, m_ri.y + Rect.top, pSegment->m_Result.im, (JBig2ComposeOp)(m_ri.flags & 0x03), &Rect);
1579 delete pSegment->m_Result.im;
1580 pSegment->m_Result.im = NULL;
1591 FX_BOOL CJBig2_Context::parseGenericRefinementRegion(CJBig2_Segment *pSegment)
1622 if(pSegment->m_nReferred_to_segment_count > 0) {
1623 for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
1624 pSeg = this->findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[0]);
1635 if(i >= pSegment->m_nReferred_to_segment_count) {
1650 pSegment->m_nResultType = JBIG2_IMAGE_POINTER;
1651 pSegment->m_Result.im = pGRRD->decode(pArithDecoder, grContext);
1653 if(pSegment->m_Result.im == NULL) {
1661 if(pSegment->m_cFlags.s.type != 40) {
1668 m_pPage->composeFrom(ri.x, ri.y, pSegment->m_Result.im, (JBig2ComposeOp)(ri.flags & 0x03));
1669 delete pSegment->m_Result.im;
1670 pSegment->m_Result.im = NULL;
1678 FX_BOOL CJBig2_Context::parseTable(CJBig2_Segment *pSegment)
1680 pSegment->m_nResultType = JBIG2_HUFFMAN_TABLE_POINTER;
1681 JBIG2_ALLOC(pSegment->m_Result.ht, CJBig2_HuffmanTable(m_pStream));
1682 if(!pSegment->m_Result.ht->isOK()) {
1683 delete pSegment->m_Result.ht;
1684 pSegment->m_Result.ht = NULL;