Changeset 1038 in 3DVCSoftware
- Timestamp:
- 1 Aug 2014, 10:01:00 (10 years ago)
- Location:
- branches/HTM-11.2-dev0/source/Lib
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r1037 r1038 3921 3921 Void TComDataCU::getInterMergeCandidates( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours 3922 3922 #endif 3923 #if H_3D_VSP 3923 #if H_3D_VSP && !FIX_TICKET_79 3924 3924 , InheritedVSPDisInfo* inheritedVSPDisInfo 3925 3925 #endif … … 3951 3951 ////////////////////////////////// 3952 3952 DisInfo cDisInfo = getDvInfo(uiAbsPartIdx); 3953 #if !FIX_TICKET_79 3953 3954 for(Int i = 0; i < MRG_MAX_NUM_CANDS_MEM; i++) 3954 3955 { 3955 3956 inheritedVSPDisInfo[i].m_acDvInfo = cDisInfo; // To prevent run-time error, this code must be executed always for merging process. 3956 3957 } 3958 #endif 3957 3959 m_cDefaultDisInfo = cDisInfo; 3958 3960 -
branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComDataCU.h
r1034 r1038 670 670 Void getInterMergeCandidates ( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMFieldNeighbours, UChar* puhInterDirNeighbours 671 671 #endif 672 #if H_3D_VSP 672 #if H_3D_VSP && !FIX_TICKET_79 673 673 , InheritedVSPDisInfo* inheritedVSPDisInfo 674 674 #endif -
branches/HTM-11.2-dev0/source/Lib/TLibCommon/TComMotionInfo.h
r976 r1038 79 79 } IDVInfo; 80 80 #endif 81 #if H_3D_VSP 81 #if H_3D_VSP && !FIX_TICKET_79 82 82 typedef struct _InheritedVSPDisCand 83 83 { -
branches/HTM-11.2-dev0/source/Lib/TLibCommon/TypeDef.h
r1037 r1038 284 284 285 285 // Fixes 286 #define FIX_TICKET_79 1 // Unused VSP code 287 #define FIX_TICKET_75 1 // Bi-pred restriction bug in VSP 286 288 #define FIX_TICKET_68 1 // MV clipping bug in the sub-PU MPI default MV generation 287 289 #define FIX_TICKET_71 1 // IC parameters is meaningless in HTM when no training samples are available -
branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp
r1029 r1038 420 420 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 421 421 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 422 #if !FIX_TICKET_79 422 423 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 424 #endif 423 425 #if H_3D_SPIVMP 424 426 Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM]; … … 432 434 m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex ); 433 435 m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours 436 #if !FIX_TICKET_79 434 437 , inheritedVSPDisInfo 438 #endif 435 439 #if H_3D_SPIVMP 436 440 , pcMvFieldSP, puhInterDirSP … … 453 457 #endif 454 458 #endif 455 #if H_3D_VSP 459 #if H_3D_VSP && !FIX_TICKET_79 456 460 if(vspFlag[uiMergeIndex]) 457 461 { -
branches/HTM-11.2-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp
r1029 r1038 311 311 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 312 312 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 313 #if !FIX_TICKET_79 313 314 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 315 #endif 314 316 #if H_3D_SPIVMP 315 317 memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM); … … 318 320 pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand); 319 321 pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours 322 #if !FIX_TICKET_79 320 323 , inheritedVSPDisInfo 324 #endif 321 325 #if H_3D_SPIVMP 322 326 , pcMvFieldSP, puhInterDirSP … … 330 334 pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth ); 331 335 336 #if !FIX_TICKET_79 332 337 if(vspFlag[uiMergeIndex]) 333 338 { 334 339 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth); 335 340 } 341 #endif 336 342 #else 337 343 #if H_3D … … 354 360 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 355 361 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 362 #if !FIX_TICKET_79 356 363 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 364 #endif 357 365 #if H_3D_SPIVMP 358 366 memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM); … … 361 369 pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex ); 362 370 pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours 371 #if !FIX_TICKET_79 363 372 , inheritedVSPDisInfo 373 #endif 364 374 #if H_3D_SPIVMP 365 375 , pcMvFieldSP, puhInterDirSP … … 372 382 ,numValidMergeCand ); 373 383 pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth ); 384 #if !FIX_TICKET_79 374 385 if(vspFlag[uiMergeIndex]) 375 386 { 376 387 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth); 377 388 } 389 #endif 378 390 #else 379 391 #if H_3D … … 473 485 #endif 474 486 } 475 #if H_3D_VSP 487 #if H_3D_VSP && !FIX_TICKET_75 476 488 if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) && (pcCU->getVSPFlag(uiSubPartIdx) == 0)) 477 489 #else -
branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncCu.cpp
r1030 r1038 1859 1859 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 1860 1860 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 1861 #if !FIX_TICKET_79 1861 1862 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 1863 #endif 1862 1864 #if H_3D_SPIVMP 1863 1865 Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM]; … … 1872 1874 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand ); 1873 1875 rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours 1876 #if !FIX_TICKET_79 1874 1877 , inheritedVSPDisInfo 1878 #endif 1875 1879 #if H_3D_SPIVMP 1876 1880 , pcMvFieldSP, puhInterDirSP … … 1887 1891 1888 1892 #else 1893 #if FIX_TICKET_79 1894 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, numValidMergeCand ); 1895 #else 1889 1896 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand ); 1890 1897 #endif 1898 #endif 1899 1891 1900 1892 1901 #endif … … 1929 1938 #if H_3D_VSP 1930 1939 rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth ); 1940 #if !FIX_TICKET_79 1931 1941 rpcTempCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, 0, 0, uhDepth ); 1942 #endif 1932 1943 #endif 1933 1944 #if H_3D_DDD -
branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r1019 r1038 4009 4009 #if H_3D_VSP 4010 4010 , Int* vspFlag 4011 #if !FIX_TICKET_79 4011 4012 , InheritedVSPDisInfo* inheritedVSPDisInfo 4013 #endif 4012 4014 #endif 4013 4015 #if H_3D_SPIVMP … … 4069 4071 pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand); 4070 4072 pcCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours 4071 #if H_3D_VSP 4073 #if H_3D_VSP && !FIX_TICKET_79 4072 4074 , inheritedVSPDisInfo 4073 4075 #endif … … 4099 4101 pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand); 4100 4102 pcCU->xGetInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours 4101 #if H_3D_VSP 4103 #if H_3D_VSP && !FIX_TICKET_79 4102 4104 , inheritedVSPDisInfo 4103 4105 #endif … … 4122 4124 #endif 4123 4125 } 4124 #if H_3D_VSP 4126 #if H_3D_VSP && !FIX_TICKET_75 4125 4127 xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours,vspFlag, numValidMergeCand ); 4126 4128 #else … … 4154 4156 #if H_3D_VSP 4155 4157 pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 4158 #if !FIX_TICKET_79 4156 4159 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 4160 #endif 4157 4161 #endif 4158 4162 … … 4254 4258 * \returns Void 4255 4259 */ 4256 #if H_3D_VSP 4260 #if H_3D_VSP && !FIX_TICKET_75 4257 4261 Void TEncSearch::xRestrictBipredMergeCand( TComDataCU* pcCU, UInt puIdx, TComMvField* mvFieldNeighbours, UChar* interDirNeighbours, Int* vspFlag, Int numValidMergeCand ) 4258 4262 #else … … 4264 4268 for( UInt mergeCand = 0; mergeCand < numValidMergeCand; ++mergeCand ) 4265 4269 { 4266 #if H_3D_VSP 4270 #if H_3D_VSP && !FIX_TICKET_75 4267 4271 if ( (interDirNeighbours[mergeCand] == 3) && (vspFlag[mergeCand] == false) ) 4268 4272 #else … … 4890 4894 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 4891 4895 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 4896 #if !FIX_TICKET_79 4892 4897 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 4898 #endif 4893 4899 UInt uiAbsPartIdx = 0; 4894 4900 Int iWidth = 0; … … 4908 4914 #if H_3D_VSP 4909 4915 , vspFlag 4916 #if !FIX_TICKET_79 4910 4917 , inheritedVSPDisInfo 4918 #endif 4911 4919 #endif 4912 4920 #if H_3D_SPIVMP … … 4922 4930 #if H_3D_VSP 4923 4931 pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4932 #if !FIX_TICKET_79 4924 4933 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMRGIndex].m_acDvInfo, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4934 #endif 4925 4935 #endif 4926 4936 #if H_3D_DDD -
branches/HTM-11.2-dev0/source/Lib/TLibEncoder/TEncSearch.h
r1019 r1038 429 429 #if H_3D_VSP 430 430 , Int* vspFlag 431 #if !FIX_TICKET_79 431 432 , InheritedVSPDisInfo* inheritedVSPDisInfo 433 #endif 432 434 #endif 433 435 #if H_3D_SPIVMP … … 441 443 TComMvField* mvFieldNeighbours, 442 444 UChar* interDirNeighbours, 443 #if H_3D_VSP 445 #if H_3D_VSP && !FIX_TICKET_75 444 446 Int* vspFlag, 445 447 #endif
Note: See TracChangeset for help on using the changeset viewer.