Changeset 521 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder
- Timestamp:
- 4 Jul 2013, 21:00:23 (11 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCavlc.cpp
r504 r521 39 39 #include "TEncCavlc.h" 40 40 #include "SEIwrite.h" 41 #include "../TLibCommon/TypeDef.h" 41 42 42 43 //! \ingroup TLibEncoder … … 47 48 Void xTraceSPSHeader (TComSPS *pSPS) 48 49 { 50 #if H_MV_ENC_DEC_TRAC 51 fprintf( g_hTrace, "=========== Sequence Parameter Set ===========\n" ); 52 #else 49 53 fprintf( g_hTrace, "=========== Sequence Parameter Set ID: %d ===========\n", pSPS->getSPSId() ); 54 #endif 50 55 } 51 56 52 57 Void xTracePPSHeader (TComPPS *pPPS) 53 58 { 59 #if H_MV_ENC_DEC_TRAC 60 fprintf( g_hTrace, "=========== Picture Parameter Set ===========\n" ); 61 #else 54 62 fprintf( g_hTrace, "=========== Picture Parameter Set ID: %d ===========\n", pPPS->getPPSId() ); 63 #endif 55 64 } 56 65 … … 838 847 // colour_plane_id u(2) 839 848 840 #if H_MV 849 #if H_MV && !H_MV_FIX1071 841 850 // Temporary fix for FIX1071 should be removed later 842 851 TComReferencePictureSet* rps = pcSlice->getRPS(); … … 846 855 Int picOrderCntLSB = (pcSlice->getPOC()-pcSlice->getLastIDR()+(1<<pcSlice->getSPS()->getBitsForPOC()))%(1<<pcSlice->getSPS()->getBitsForPOC()); 847 856 WRITE_CODE( picOrderCntLSB, pcSlice->getSPS()->getBitsForPOC(), "pic_order_cnt_lsb"); 848 #if !H_MV 849 // Temporary fix for FIX1071 should be removed later 857 #if !H_MV || H_MV_FIX1071 850 858 TComReferencePictureSet* rps = pcSlice->getRPS(); 851 859 #endif 852 #if FIX1071 860 #if FIX1071 && H_MV_FIX1071 861 // check for bitstream restriction stating that: 862 // If the current picture is a BLA or CRA picture, the value of NumPocTotalCurr shall be equal to 0. 863 // Ideally this process should not be repeated for each slice in a picture 864 if (pcSlice->isIRAP()) 865 { 866 for (Int picIdx = 0; picIdx < rps->getNumberOfPictures(); picIdx++) 867 { 868 assert (!rps->getUsed(picIdx)); 869 } 870 } 871 #endif 872 #if FIX1071 && !H_MV_FIX1071 853 873 // Deal with bitstream restriction stating that: 854 874 // – If the current picture is a BLA or CRA picture, the value of NumPocTotalCurr shall be equal to 0. … … 872 892 } 873 893 } 874 875 894 if(pcSlice->getRPSidx() < 0 || useAltRps) 876 895 #else … … 1009 1028 pcSlice->setNumRefIdx(REF_PIC_LIST_1, 0); 1010 1029 } 1011 #if H_MV 1030 #if H_MV && !H_MV_FIX1071 1012 1031 // Temporary fix for FIX1071 should be removed later 1013 1032 if( pcSlice->getPPS()->getListsModificationPresentFlag() && pcSlice->getNumRpsCurrTempList( rps ) > 1) -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCu.cpp
r510 r521 1223 1223 UInt uiBPelY = uiTPelY + (g_uiMaxCUHeight>>uiDepth) - 1; 1224 1224 1225 #if H_MV_ENC_DEC_TRAC 1226 DTRACE_CU_S("=========== coding_quadtree ===========\n") 1227 DTRACE_CU("x0", uiLPelX) 1228 DTRACE_CU("x1", uiTPelY) 1229 DTRACE_CU("log2CbSize", g_uiMaxCUWidth>>uiDepth) 1230 DTRACE_CU("cqtDepth" , uiDepth) 1231 #endif 1232 1225 1233 TComSlice * pcSlice = pcCU->getPic()->getSlice(pcCU->getPic()->getCurrSliceIdx()); 1226 1234 // If slice start is within this cu... … … 1257 1265 } 1258 1266 1267 #if H_MV_ENC_DEC_TRAC 1268 DTRACE_CU_S("=========== coding_unit ===========\n") 1269 #endif 1270 1259 1271 if( (g_uiMaxCUWidth>>uiDepth) >= pcCU->getSlice()->getPPS()->getMinCuDQPSize() && pcCU->getSlice()->getPPS()->getUseDQP()) 1260 1272 { … … 1272 1284 if( pcCU->isSkipped( uiAbsPartIdx ) ) 1273 1285 { 1286 #if H_MV_ENC_DEC_TRAC 1287 DTRACE_PU_S("=========== prediction_unit ===========\n") 1288 DTRACE_PU("x0", uiLPelX) 1289 DTRACE_PU("x1", uiTPelY) 1290 #endif 1274 1291 m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx ); 1275 1292 #if H_3D_IC -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncEntropy.cpp
r504 r521 368 368 else 369 369 { 370 #if !H_MV_ENC_DEC_TRAC 370 371 { 371 372 DTRACE_CABAC_VL( g_nSymbolCounter++ ); … … 378 379 DTRACE_CABAC_T( "\n" ); 379 380 } 381 #endif 380 382 381 383 if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) ) … … 495 497 for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset ) 496 498 { 499 #if H_MV_ENC_DEC_TRAC 500 DTRACE_PU_S("=========== prediction_unit ===========\n") 501 //Todo: 502 //DTRACE_PU("x0", uiLPelX) 503 //DTRACE_PU("x1", uiTPelY) 504 #endif 497 505 encodeMergeFlag( pcCU, uiSubPartIdx ); 498 506 if ( pcCU->getMergeFlag( uiSubPartIdx ) ) -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp
r510 r521 595 595 pcSlice->getRPS()->setNumberOfLongtermPictures(0); 596 596 597 #if FIX1071 && H_MV_FIX1071 598 if ((pcSlice->checkThatAllRefPicsAreAvailable(rcListPic, pcSlice->getRPS(), false) != 0) || (pcSlice->isIRAP())) 599 { 600 pcSlice->createExplicitReferencePictureSetFromReference(rcListPic, pcSlice->getRPS(), pcSlice->isIRAP()); 601 } 602 #else 597 603 if(pcSlice->checkThatAllRefPicsAreAvailable(rcListPic, pcSlice->getRPS(), false) != 0) 598 604 { 599 605 pcSlice->createExplicitReferencePictureSetFromReference(rcListPic, pcSlice->getRPS()); 600 606 } 607 #endif 601 608 pcSlice->applyReferencePictureSet(rcListPic, pcSlice->getRPS()); 602 609 -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncSbac.cpp
r504 r521 439 439 440 440 xWriteUnaryMaxSymbol(iSymbol, m_cMVPIdxSCModel.get(0), 1, iNum-1); 441 #if H_MV_ENC_DEC_TRAC 442 #if ENC_DEC_TRACE 443 if ( eRefList == REF_PIC_LIST_0 ) 444 { 445 DTRACE_PU("mvp_l0_flag", iSymbol) 446 } 447 else 448 { 449 DTRACE_PU("mvp_l1_flag", iSymbol) 450 } 451 #endif 452 #endif 441 453 } 442 454 … … 449 461 { 450 462 m_pcBinIf->encodeBin( eSize == SIZE_2Nx2N? 1 : 0, m_cCUPartSizeSCModel.get( 0, 0, 0 ) ); 463 #if H_MV_ENC_DEC_TRAC 464 DTRACE_CU("part_mode", eSize == SIZE_2Nx2N? 1 : 0) 465 #endif 451 466 } 452 467 return; 453 468 } 454 469 470 #if H_MV_ENC_DEC_TRAC 471 DTRACE_CU("part_mode", eSize ) 472 #endif 455 473 switch(eSize) 456 474 { … … 531 549 Int iPredMode = pcCU->getPredictionMode( uiAbsPartIdx ); 532 550 m_pcBinIf->encodeBin( iPredMode == MODE_INTER ? 0 : 1, m_cCUPredModeSCModel.get( 0, 0, 0 ) ); 551 #if H_MV_ENC_DEC_TRAC 552 DTRACE_CU("pred_mode_flag", iPredMode == MODE_INTER ? 0 : 1); 553 #endif 533 554 } 534 555 … … 537 558 UInt uiSymbol = pcCU->getCUTransquantBypass(uiAbsPartIdx); 538 559 m_pcBinIf->encodeBin( uiSymbol, m_CUTransquantBypassFlagSCModel.get( 0, 0, 0 ) ); 560 #if H_MV_ENC_DEC_TRAC 561 DTRACE_CU("cu_transquant_bypass_flag", uiSymbol); 562 #endif 539 563 } 540 564 … … 550 574 UInt uiCtxSkip = pcCU->getCtxSkipFlag( uiAbsPartIdx ) ; 551 575 m_pcBinIf->encodeBin( uiSymbol, m_cCUSkipFlagSCModel.get( 0, 0, uiCtxSkip ) ); 576 #if !H_MV_ENC_DEC_TRAC 552 577 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 553 578 DTRACE_CABAC_T( "\tSkipFlag" ); … … 557 582 DTRACE_CABAC_V( uiSymbol ); 558 583 DTRACE_CABAC_T( "\n"); 584 #else 585 DTRACE_CU("cu_skip_flag", uiSymbol); 586 #endif 559 587 } 560 588 … … 569 597 m_pcBinIf->encodeBin( uiSymbol, *m_cCUMergeFlagExtSCModel.get( 0 ) ); 570 598 599 #if H_MV_ENC_DEC_TRAC 600 DTRACE_PU("merge_flag", uiSymbol); 601 #else 571 602 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 572 603 DTRACE_CABAC_T( "\tMergeFlag: " ); … … 577 608 DTRACE_CABAC_V( uiAbsPartIdx ); 578 609 DTRACE_CABAC_T( "\n" ); 610 #endif 579 611 } 580 612 … … 606 638 } 607 639 } 608 } 640 #if H_MV_ENC_DEC_TRAC 641 DTRACE_PU("merge_idx", uiUnaryIdx); 642 #endif 643 } 644 #if !H_MV_ENC_DEC_TRAC 609 645 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 610 646 DTRACE_CABAC_T( "\tparseMergeIndex()" ); … … 612 648 DTRACE_CABAC_V( pcCU->getMergeIndex( uiAbsPartIdx ) ); 613 649 DTRACE_CABAC_T( "\n" ); 650 #endif 614 651 } 615 652 … … 628 665 m_pcBinIf->encodeBin( ( iW == iMaxW ) ? 1 : 0, m_cCUPUARPWSCModel.get( 0, 0, 3 ) ); 629 666 } 667 #if H_MV_ENC_DEC_TRAC 668 DTRACE_CU("iv_res_pred_weight_idx", iW); 669 #endif 630 670 } 631 671 #endif … … 643 683 UInt uiCtxIC = pcCU->getCtxICFlag( uiAbsPartIdx ) ; 644 684 m_pcBinIf->encodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, uiCtxIC ) ); 685 #if !H_MV_ENC_DEC_TRAC 645 686 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 646 687 DTRACE_CABAC_T( "\tICFlag" ); … … 650 691 DTRACE_CABAC_V( uiSymbol ); 651 692 DTRACE_CABAC_T( "\n"); 693 #else 694 DTRACE_CU("ic_flag", uiSymbol ); 695 #endif 652 696 } 653 697 #endif … … 664 708 assert( uiCtx < 3 ); 665 709 m_pcBinIf->encodeBin( uiCurrSplitFlag, m_cCUSplitFlagSCModel.get( 0, 0, uiCtx ) ); 710 #if !H_MV_ENC_DEC_TRAC 666 711 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 667 712 DTRACE_CABAC_T( "\tSplitFlag\n" ) 713 #else 714 DTRACE_CU("split_cu_flag", uiCurrSplitFlag ); 715 #endif 668 716 return; 669 717 } … … 672 720 { 673 721 m_pcBinIf->encodeBin( uiSymbol, m_cCUTransSubdivFlagSCModel.get( 0, 0, uiCtx ) ); 722 #if !H_MV_ENC_DEC_TRAC 674 723 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 675 724 DTRACE_CABAC_T( "\tparseTransformSubdivFlag()" ) … … 679 728 DTRACE_CABAC_V( uiCtx ) 680 729 DTRACE_CABAC_T( "\n" ) 730 #endif 681 731 } 682 732 … … 701 751 } 702 752 m_pcBinIf->encodeBin((predIdx[j] != -1)? 1 : 0, m_cCUIntraPredSCModel.get( 0, 0, 0 ) ); 753 #if H_MV_ENC_DEC_TRAC 754 DTRACE_CU("prev_intra_luma_pred_flag", (predIdx[j] != -1)? 1 : 0); 755 #endif 703 756 } 704 757 for (j=0;j<partNum;j++) … … 711 764 m_pcBinIf->encodeBinEP( predIdx[j]-1 ); 712 765 } 766 #if H_MV_ENC_DEC_TRAC 767 DTRACE_CU("mpm_idx", predIdx[j] ); 768 #endif 713 769 } 714 770 else … … 731 787 } 732 788 m_pcBinIf->encodeBinsEP( dir[j], 5 ); 789 #if H_MV_ENC_DEC_TRAC 790 DTRACE_CU("rem_intra_luma_pred_mode", dir[j] ); 791 #endif 733 792 } 734 793 } … … 743 802 { 744 803 m_pcBinIf->encodeBin( 0, m_cCUChromaPredSCModel.get( 0, 0, 0 ) ); 804 #if H_MV_ENC_DEC_TRAC 805 DTRACE_CU("intra_chroma_pred_mode", 0 ); 806 #endif 745 807 } 746 808 else … … 760 822 761 823 m_pcBinIf->encodeBinsEP( uiIntraDirChroma, 2 ); 824 #if H_MV_ENC_DEC_TRAC 825 DTRACE_CU("intra_chroma_pred_mode", uiIntraDirChroma ); 826 #endif 827 762 828 } 763 829 return; … … 777 843 m_pcBinIf->encodeBin( uiInterDir, *( pCtx + 4 ) ); 778 844 } 845 #if H_MV_ENC_DEC_TRAC 846 DTRACE_PU("inter_pred_idc", uiInterDir ); 847 #endif 848 779 849 return; 780 850 } … … 809 879 } 810 880 } 881 #if H_MV_ENC_DEC_TRAC 882 #if ENC_DEC_TRACE 883 iRefFrame = pcCU->getCUMvField( eRefList )->getRefIdx( uiAbsPartIdx ); 884 if ( eRefList == REF_PIC_LIST_0 ) 885 { 886 DTRACE_PU("ref_idx_l0", iRefFrame) 887 } 888 else 889 { 890 DTRACE_PU("ref_idx_l1", iRefFrame) 891 } 892 #endif 893 #endif 811 894 } 812 895 return; … … 896 979 UInt uiCtx = pcCU->getCtxQtCbf( eType, uiTrDepth ); 897 980 m_pcBinIf->encodeBin( uiCbf , m_cCUQtCbfSCModel.get( 0, eType ? TEXT_CHROMA : eType, uiCtx ) ); 981 #if !H_MV_ENC_DEC_TRAC 898 982 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 899 983 DTRACE_CABAC_T( "\tparseQtCbf()" ) … … 907 991 DTRACE_CABAC_V( uiAbsPartIdx ) 908 992 DTRACE_CABAC_T( "\n" ) 993 #endif 909 994 } 910 995 … … 922 1007 UInt useTransformSkip = pcCU->getTransformSkip( uiAbsPartIdx,eTType); 923 1008 m_pcBinIf->encodeBin( useTransformSkip, m_cTransformSkipSCModel.get( 0, eTType? TEXT_CHROMA: TEXT_LUMA, 0 ) ); 1009 #if !H_MV_ENC_DEC_TRAC 924 1010 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 925 1011 DTRACE_CABAC_T("\tparseTransformSkip()"); … … 933 1019 DTRACE_CABAC_V( uiAbsPartIdx ) 934 1020 DTRACE_CABAC_T( "\n" ) 1021 #endif 935 1022 } 936 1023 … … 947 1034 948 1035 m_pcBinIf->encodeBinTrm (uiIPCM); 949 1036 #if H_MV_ENC_DEC_TRAC 1037 DTRACE_CU("pcm_flag", uiIPCM) 1038 #endif 950 1039 if (writePCMSampleFlag) 951 1040 { … … 1017 1106 UInt uiCtx = 0; 1018 1107 m_pcBinIf->encodeBin( uiCbf , m_cCUQtRootCbfSCModel.get( 0, 0, uiCtx ) ); 1108 #if !H_MV_ENC_DEC_TRAC 1019 1109 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1020 1110 DTRACE_CABAC_T( "\tparseQtRootCbf()" ) … … 1026 1116 DTRACE_CABAC_V( uiAbsPartIdx ) 1027 1117 DTRACE_CABAC_T( "\n" ) 1118 #else 1119 DTRACE_CU( "rqt_root_cbf", uiCbf ) 1120 #endif 1028 1121 } 1029 1122 … … 1116 1209 Void TEncSbac::codeCoeffNxN( TComDataCU* pcCU, TCoeff* pcCoef, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, UInt uiDepth, TextType eTType ) 1117 1210 { 1211 #if !H_MV_ENC_DEC_TRAC 1118 1212 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1119 1213 DTRACE_CABAC_T( "\tparseCoeffNxN()\teType=" ) … … 1140 1234 DTRACE_CABAC_V( pcCU->getPredictionMode( uiAbsPartIdx ) ) 1141 1235 DTRACE_CABAC_T( "\n" ) 1142 1236 #endif 1143 1237 if( uiWidth > m_pcSlice->getSPS()->getMaxTrSize() ) 1144 1238 { -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncSlice.cpp
r504 r521 1332 1332 DTRACE_CABAC_T( "\tPOC: " ); 1333 1333 DTRACE_CABAC_V( rpcPic->getPOC() ); 1334 #if H_MV_ENC_DEC_TRAC 1335 DTRACE_CABAC_T( " Layer: " ); 1336 DTRACE_CABAC_V( rpcPic->getLayerId() ); 1337 #endif 1334 1338 DTRACE_CABAC_T( "\n" ); 1335 1339 #if ENC_DEC_TRACE -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncTop.cpp
r479 r521 507 507 // mark it should be extended 508 508 rpcPic->getPicYuvRec()->setBorderExtension(false); 509 #if H_3D_VSO_FIX_BORDRE_EXTENSION 510 rpcPic->getPicYuvOrg()->setBorderExtension(false); 511 #endif 509 512 } 510 513
Note: See TracChangeset for help on using the changeset viewer.