Changeset 294 in 3DVCSoftware for branches/HTM-5.1-dev0/source/App/TAppEncoder/TAppEncTop.cpp
- Timestamp:
- 19 Feb 2013, 20:33:52 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev0/source/App/TAppEncoder/TAppEncTop.cpp
r292 r294 97 97 m_acTEncTopList[iViewIdx]->setSourceWidth ( m_iSourceWidth ); 98 98 m_acTEncTopList[iViewIdx]->setSourceHeight ( m_iSourceHeight ); 99 #if PIC_CROPPING100 99 m_acTEncTopList[iViewIdx]->setCroppingMode ( m_croppingMode ); 101 100 m_acTEncTopList[iViewIdx]->setCropLeft ( m_cropLeft ); … … 103 102 m_acTEncTopList[iViewIdx]->setCropTop ( m_cropTop ); 104 103 m_acTEncTopList[iViewIdx]->setCropBottom ( m_cropBottom ); 105 #endif106 104 m_acTEncTopList[iViewIdx]->setFrameToBeEncoded ( m_iFrameToBeEncoded ); 107 105 m_acTEncTopList[iViewIdx]->setViewId ( iViewIdx ); … … 138 136 m_acTEncTopList[iViewIdx]->setGopList ( m_GOPListsMvc[iViewIdx] ); 139 137 m_acTEncTopList[iViewIdx]->setExtraRPSs ( m_extraRPSs[iViewIdx] ); 140 #if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER141 138 for(Int i = 0; i < MAX_TLAYER; i++) 142 139 { … … 144 141 m_acTEncTopList[iViewIdx]->setMaxDecPicBuffering ( m_maxDecPicBuffering[iViewIdx][i], i ); 145 142 } 146 #else147 m_acTEncTopList[iViewIdx]->setNumReorderFrames ( m_numReorderFrames );148 m_acTEncTopList[iViewIdx]->setMaxNumberOfReferencePictures ( m_maxNumberOfReferencePictures );149 #endif150 143 for( UInt uiLoop = 0; uiLoop < MAX_TLAYER; ++uiLoop ) 151 144 { … … 157 150 m_acTEncTopList[iViewIdx]->setPad ( m_aiPad ); 158 151 159 #if H0566_TLA160 152 m_acTEncTopList[iViewIdx]->setMaxTempLayer ( m_maxTempLayer[iViewIdx] ); 161 #else162 m_acTEncTopList[iViewIdx]->setTLayering ( m_bTLayering );163 m_acTEncTopList[iViewIdx]->setTLayerSwitchingFlag ( m_abTLayerSwitchingFlag );164 #endif165 153 166 154 m_acTEncTopList[iViewIdx]->setDisInter4x4 ( m_bDisInter4x4); … … 176 164 m_acTEncTopList[iViewIdx]->setLoopFilterBetaOffset ( m_loopFilterBetaOffsetDiv2 ); 177 165 m_acTEncTopList[iViewIdx]->setLoopFilterTcOffset ( m_loopFilterTcOffsetDiv2 ); 178 #if DBL_CONTROL179 166 m_acTEncTopList[iViewIdx]->setDeblockingFilterControlPresent( m_DeblockingFilterControlPresent); 180 #endif181 167 182 168 //====== Motion search ======== … … 201 187 #if LOSSLESS_CODING 202 188 Int lowestQP; 203 #if H0736_AVC_STYLE_QP_RANGE204 189 lowestQP = - ( (Int)(6*(g_uiBitDepth + g_uiBitIncrement - 8)) ); 205 #else206 lowestQP = 0;207 #endif208 190 if ((m_iMaxDeltaQP == 0 ) && (m_aiQP[0] == lowestQP) && (m_useLossless == true)) 209 191 { … … 260 242 m_acTEncTopList[iViewIdx]->setdQPs ( m_aidQP ); 261 243 m_acTEncTopList[iViewIdx]->setUseRDOQ ( m_abUseRDOQ[0] ); 262 #if !PIC_CROPPING263 m_acTEncTopList[iViewIdx]->setUsePAD ( m_bUsePAD );264 #endif265 244 m_acTEncTopList[iViewIdx]->setQuadtreeTULog2MaxSize ( m_uiQuadtreeTULog2MaxSize ); 266 245 m_acTEncTopList[iViewIdx]->setQuadtreeTULog2MinSize ( m_uiQuadtreeTULog2MinSize ); … … 269 248 m_acTEncTopList[iViewIdx]->setUseFastEnc ( m_bUseFastEnc ); 270 249 m_acTEncTopList[iViewIdx]->setUseEarlyCU ( m_bUseEarlyCU ); 271 #if FAST_DECISION_FOR_MRG_RD_COST272 250 m_acTEncTopList[iViewIdx]->setUseFastDecisionForMerge ( m_useFastDecisionForMerge ); 273 #endif274 251 m_acTEncTopList[iViewIdx]->setUseCbfFastMode ( m_bUseCbfFastMode ); 275 252 #if HHI_INTERVIEW_SKIP … … 304 281 m_acTEncTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument * ( iNumPartInCU >> ( m_iSliceGranularity << 1 ) ) ); 305 282 } 306 #if FIXED_NUMBER_OF_TILES_SLICE_MODE307 283 if(m_iSliceMode==AD_HOC_SLICES_FIXED_NUMBER_OF_TILES_IN_SLICE) 308 284 { 309 285 m_acTEncTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument ); 310 286 } 311 #endif312 287 m_acTEncTopList[iViewIdx]->setSliceGranularity ( m_iSliceGranularity ); 313 288 if(m_iSliceMode == 0 ) … … 327 302 m_acTEncTopList[iViewIdx]->setUseIVS ( m_bUseIVS ); 328 303 #endif 329 #if SAO_UNIT_INTERLEAVING330 304 m_acTEncTopList[iViewIdx]->setMaxNumOffsetsPerPic (m_maxNumOffsetsPerPic); 331 305 m_acTEncTopList[iViewIdx]->setSaoInterleavingFlag (m_saoInterleavingFlag); 332 #endif333 306 m_acTEncTopList[iViewIdx]->setPCMInputBitDepthFlag ( m_bPCMInputBitDepthFlag); 334 307 m_acTEncTopList[iViewIdx]->setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); … … 338 311 m_acTEncTopList[iViewIdx]->setColumnRowInfoPresent ( m_iColumnRowInfoPresent ); 339 312 m_acTEncTopList[iViewIdx]->setUniformSpacingIdr ( m_iUniformSpacingIdr ); 340 #if !REMOVE_TILE_DEPENDENCE341 m_acTEncTopList[iViewIdx]->setTileBoundaryIndependenceIdr( m_iTileBoundaryIndependenceIdr );342 #endif343 313 m_acTEncTopList[iViewIdx]->setNumColumnsMinus1 ( m_iNumColumnsMinus1 ); 344 314 m_acTEncTopList[iViewIdx]->setNumRowsMinus1 ( m_iNumRowsMinus1 ); … … 357 327 m_acTEncTopList[iViewIdx]->setMaxTileMarkerOffset ( m_dMaxTileMarkerOffset ); 358 328 m_acTEncTopList[iViewIdx]->setTileBehaviorControlPresentFlag( m_iTileBehaviorControlPresentFlag ); 359 #if !REMOVE_TILE_DEPENDENCE360 if(m_iTileBoundaryIndependenceIdr == 0 || uiTilesCount == 1)361 #else362 329 if(uiTilesCount == 1) 363 #endif364 330 { 365 331 m_bLFCrossTileBoundaryFlag = true; … … 376 342 m_acTEncTopList[iViewIdx]->setUseScalingListId ( m_useScalingListId ); 377 343 m_acTEncTopList[iViewIdx]->setScalingListFile ( m_scalingListFile ); 378 #if MULTIBITS_DATA_HIDING379 344 m_acTEncTopList[iViewIdx]->setSignHideFlag(m_signHideFlag); 380 345 m_acTEncTopList[iViewIdx]->setTSIG(m_signHidingThreshold); 381 #endif 382 383 #if LCU_SYNTAX_ALF 346 384 347 if(uiTilesCount > 1) 385 348 { … … 389 352 m_acTEncTopList[iViewIdx]->setALFParamInSlice ( m_bALFParamInSlice); 390 353 m_acTEncTopList[iViewIdx]->setALFPicBasedEncode ( m_bALFPicBasedEncode); 391 #endif392 354 393 355 //====== Depth tools ======== … … 445 407 m_acTEncDepthTopList[iViewIdx]->setSourceWidth ( m_iSourceWidth ); 446 408 m_acTEncDepthTopList[iViewIdx]->setSourceHeight ( m_iSourceHeight ); 447 #if PIC_CROPPING448 409 m_acTEncDepthTopList[iViewIdx]->setCroppingMode ( m_croppingMode ); 449 410 m_acTEncDepthTopList[iViewIdx]->setCropLeft ( m_cropLeft ); … … 451 412 m_acTEncDepthTopList[iViewIdx]->setCropTop ( m_cropTop ); 452 413 m_acTEncDepthTopList[iViewIdx]->setCropBottom ( m_cropBottom ); 453 #endif454 414 m_acTEncDepthTopList[iViewIdx]->setFrameToBeEncoded ( m_iFrameToBeEncoded ); 455 415 m_acTEncDepthTopList[iViewIdx]->setViewId ( iViewIdx ); … … 480 440 m_acTEncDepthTopList[iViewIdx]->setGopList ( m_GOPListsMvc[iViewIdx] ); 481 441 m_acTEncDepthTopList[iViewIdx]->setExtraRPSs ( m_extraRPSs[iViewIdx] ); 482 #if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER483 442 for(Int i = 0; i < MAX_TLAYER; i++) 484 443 { … … 486 445 m_acTEncDepthTopList[iViewIdx]->setMaxDecPicBuffering ( m_maxDecPicBuffering[iViewIdx][i], i ); 487 446 } 488 #else489 m_acTEncDepthTopList[iViewIdx]->setNumReorderFrames ( m_numReorderFrames );490 m_acTEncDepthTopList[iViewIdx]->setMaxNumberOfReferencePictures ( m_maxNumberOfReferencePictures );491 #endif492 447 for( UInt uiLoop = 0; uiLoop < MAX_TLAYER; ++uiLoop ) 493 448 { … … 499 454 m_acTEncDepthTopList[iViewIdx]->setPad ( m_aiPad ); 500 455 501 #if H0566_TLA502 456 m_acTEncDepthTopList[iViewIdx]->setMaxTempLayer ( m_maxTempLayer[iViewIdx] ); 503 #else504 m_acTEncDepthTopList[iViewIdx]->setTLayering ( m_bTLayering );505 m_acTEncDepthTopList[iViewIdx]->setTLayerSwitchingFlag ( m_abTLayerSwitchingFlag );506 #endif507 457 508 458 m_acTEncDepthTopList[iViewIdx]->setDisInter4x4 ( m_bDisInter4x4); … … 518 468 m_acTEncDepthTopList[iViewIdx]->setLoopFilterBetaOffset ( m_loopFilterBetaOffsetDiv2 ); 519 469 m_acTEncDepthTopList[iViewIdx]->setLoopFilterTcOffset ( m_loopFilterTcOffsetDiv2 ); 520 #if DBL_CONTROL521 470 m_acTEncDepthTopList[iViewIdx]->setDeblockingFilterControlPresent( m_DeblockingFilterControlPresent); 522 #endif523 471 524 472 //====== Motion search ======== … … 560 508 m_acTEncDepthTopList[iViewIdx]->setdQPs ( m_aidQPdepth ); 561 509 m_acTEncDepthTopList[iViewIdx]->setUseRDOQ ( m_abUseRDOQ[1] ); 562 #if !PIC_CROPPING563 m_acTEncDepthTopList[iViewIdx]->setUsePAD ( m_bUsePAD );564 #endif565 510 m_acTEncDepthTopList[iViewIdx]->setQuadtreeTULog2MaxSize ( m_uiQuadtreeTULog2MaxSize ); 566 511 m_acTEncDepthTopList[iViewIdx]->setQuadtreeTULog2MinSize ( m_uiQuadtreeTULog2MinSize ); … … 569 514 m_acTEncDepthTopList[iViewIdx]->setUseFastEnc ( m_bUseFastEnc ); 570 515 m_acTEncDepthTopList[iViewIdx]->setUseEarlyCU ( m_bUseEarlyCU ); 571 #if FAST_DECISION_FOR_MRG_RD_COST572 516 m_acTEncDepthTopList[iViewIdx]->setUseFastDecisionForMerge ( m_useFastDecisionForMerge ); 573 #endif574 517 m_acTEncDepthTopList[iViewIdx]->setUseCbfFastMode ( m_bUseCbfFastMode ); 575 518 #if HHI_INTERVIEW_SKIP … … 633 576 m_acTEncDepthTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument * ( iNumPartInCU >> ( m_iSliceGranularity << 1 ) ) ); 634 577 } 635 #if FIXED_NUMBER_OF_TILES_SLICE_MODE636 578 if(m_iSliceMode==AD_HOC_SLICES_FIXED_NUMBER_OF_TILES_IN_SLICE) 637 579 { 638 580 m_acTEncDepthTopList[iViewIdx]->setSliceArgument ( m_iSliceArgument ); 639 581 } 640 #endif641 582 m_acTEncDepthTopList[iViewIdx]->setSliceGranularity ( m_iSliceGranularity ); 642 583 if(m_iSliceMode == 0 ) … … 652 593 m_acTEncDepthTopList[iViewIdx]->setUseIVS ( m_bUseIVS ); 653 594 #endif 654 #if SAO_UNIT_INTERLEAVING655 595 m_acTEncDepthTopList[iViewIdx]->setMaxNumOffsetsPerPic (m_maxNumOffsetsPerPic); 656 596 m_acTEncDepthTopList[iViewIdx]->setSaoInterleavingFlag (m_saoInterleavingFlag); 657 #endif658 597 m_acTEncDepthTopList[iViewIdx]->setPCMInputBitDepthFlag ( m_bPCMInputBitDepthFlag); 659 598 m_acTEncDepthTopList[iViewIdx]->setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); … … 663 602 m_acTEncDepthTopList[iViewIdx]->setColumnRowInfoPresent ( m_iColumnRowInfoPresent ); 664 603 m_acTEncDepthTopList[iViewIdx]->setUniformSpacingIdr ( m_iUniformSpacingIdr ); 665 #if !REMOVE_TILE_DEPENDENCE666 m_acTEncDepthTopList[iViewIdx]->setTileBoundaryIndependenceIdr( m_iTileBoundaryIndependenceIdr );667 #endif668 604 m_acTEncDepthTopList[iViewIdx]->setNumColumnsMinus1 ( m_iNumColumnsMinus1 ); 669 605 m_acTEncDepthTopList[iViewIdx]->setNumRowsMinus1 ( m_iNumRowsMinus1 ); … … 682 618 m_acTEncDepthTopList[iViewIdx]->setMaxTileMarkerOffset ( m_dMaxTileMarkerOffset ); 683 619 m_acTEncDepthTopList[iViewIdx]->setTileBehaviorControlPresentFlag( m_iTileBehaviorControlPresentFlag ); 684 #if !REMOVE_TILE_DEPENDENCE685 if(m_iTileBoundaryIndependenceIdr == 0 || uiTilesCount == 1)686 #else687 620 if(uiTilesCount == 1) 688 #endif689 621 { 690 622 m_bLFCrossTileBoundaryFlag = true; … … 701 633 m_acTEncDepthTopList[iViewIdx]->setUseScalingListId ( m_useScalingListId ); 702 634 m_acTEncDepthTopList[iViewIdx]->setScalingListFile ( m_scalingListFile ); 703 #if MULTIBITS_DATA_HIDING704 635 m_acTEncDepthTopList[iViewIdx]->setSignHideFlag(m_signHideFlag); 705 636 m_acTEncDepthTopList[iViewIdx]->setTSIG(m_signHidingThreshold); 706 #endif 707 708 #if LCU_SYNTAX_ALF 637 709 638 if(uiTilesCount > 1) 710 639 { … … 714 643 m_acTEncDepthTopList[iViewIdx]->setALFParamInSlice ( m_bALFParamInSlice); 715 644 m_acTEncDepthTopList[iViewIdx]->setALFPicBasedEncode ( m_bALFPicBasedEncode); 716 #endif717 645 718 646 //====== Depth tools ======== … … 1325 1253 if (m_pchReconFileList[iViewIdx]) 1326 1254 { 1327 #if PIC_CROPPING1328 1255 m_acTVideoIOYuvReconFileList[iViewIdx]->write( pcPicYuvRec, m_cropLeft, m_cropRight, m_cropTop, m_cropBottom ); 1329 #else1330 m_acTVideoIOYuvReconFileList[iViewIdx]->write( pcPicYuvRec, m_aiPad );1331 #endif1332 1256 } 1333 1257 } … … 1336 1260 if (m_pchDepthReconFileList[iViewIdx]) 1337 1261 { 1338 #if PIC_CROPPING1339 1262 m_acTVideoIOYuvDepthReconFileList[iViewIdx]->write( pcPicYuvRec, m_cropLeft, m_cropRight, m_cropTop, m_cropBottom ); 1340 #else1341 m_acTVideoIOYuvDepthReconFileList[iViewIdx]->write( pcPicYuvRec, m_aiPad );1342 #endif1343 1263 } 1344 1264 } … … 1393 1313 { 1394 1314 case NAL_UNIT_CODED_SLICE: 1395 #if H0566_TLA1396 1315 #if !QC_REM_IDV_B0046 1397 1316 case NAL_UNIT_CODED_SLICE_IDV: … … 1399 1318 case NAL_UNIT_CODED_SLICE_TLA: 1400 1319 case NAL_UNIT_CODED_SLICE_CRA: 1401 #else1402 case NAL_UNIT_CODED_SLICE_DATAPART_A:1403 case NAL_UNIT_CODED_SLICE_DATAPART_B:1404 case NAL_UNIT_CODED_SLICE_CDR:1405 #endif1406 1320 case NAL_UNIT_CODED_SLICE_IDR: 1407 1321 case NAL_UNIT_SPS:
Note: See TracChangeset for help on using the changeset viewer.