Changeset 1128 in 3DVCSoftware for branches/HTM-13.0-MV-draft-2/source/Lib/TLibCommon/TComSlice.h
- Timestamp:
- 10 Nov 2014, 14:19:08 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.0-MV-draft-2/source/Lib/TLibCommon/TComSlice.h
r1124 r1128 889 889 Int m_numDirectRefLayers [MAX_NUM_LAYERS]; 890 890 Int m_idDirectRefLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 891 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107892 #if H_3D893 Int m_numRefListLayers [MAX_NUM_LAYERS];894 Int m_idRefListLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS];895 #endif896 #endif897 891 898 892 … … 919 913 Void xSetRefLayerFlags( Int currLayerId ); 920 914 // VPS EXTENSION 2 SYNTAX ELEMENTS 921 #if !HHI_TOOL_PARAMETERS_I2_J0107922 #if H_3D_ARP923 UInt m_uiUseAdvResPred [MAX_NUM_LAYERS ];924 UInt m_uiARPStepNum [MAX_NUM_LAYERS ];925 #endif926 #if H_3D_IV_MERGE927 Bool m_ivMvPredFlag [ MAX_NUM_LAYERS ];928 Bool m_ivMvScalingFlag [ MAX_NUM_LAYERS ];929 #if H_3D_SPIVMP930 Int m_iSubPULog2Size [MAX_NUM_LAYERS ];931 Int m_iSubPUMPILog2Size [MAX_NUM_LAYERS ];932 #endif933 #endif934 #if H_3D_QTLPC935 Bool m_bLimQtPredFlag [ MAX_NUM_LAYERS ];936 #endif937 #if H_3D_VSP938 Bool m_viewSynthesisPredFlag [ MAX_NUM_LAYERS ];939 #endif940 #if H_3D_NBDV_REF941 Bool m_depthRefinementFlag [ MAX_NUM_LAYERS ];942 #endif943 915 Bool m_vpsDepthModesFlag [MAX_NUM_LAYERS ]; 944 #if H_3D945 Bool m_bIVPFlag [MAX_NUM_LAYERS ];946 #endif947 #endif948 #if H_3D949 UInt m_uiCamParPrecision;950 Bool* m_bCamParInSliceHeader;951 Bool* m_bCamParPresent;952 Int ***m_aaaiCodedScale ;953 Int ***m_aaaiCodedOffset;954 955 #if H_MV_FIX_NUM_VIEWS956 #if HHI_VIEW_ID_LIST_I5_J0107957 std::vector<Int> m_viewOIdxList;958 #endif959 #endif960 961 #endif962 #if !HHI_TOOL_PARAMETERS_I2_J0107963 #if H_3D_INTER_SDC964 Bool m_bInterSDCFlag[MAX_NUM_LAYERS ];965 #endif966 #if H_3D_DBBP967 Bool m_dbbpFlag[MAX_NUM_LAYERS];968 #endif969 #if H_3D_IV_MERGE970 Bool m_bMPIFlag[MAX_NUM_LAYERS ];971 #endif972 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060973 Bool m_singleDepthModeFlag [ MAX_NUM_LAYERS ];974 #endif975 #endif976 916 977 917 #endif … … 1208 1148 Int getNumViews() { return m_numViews; } 1209 1149 Void initNumViews(); 1210 #if HHI_VIEW_ID_LIST_I5_J01071211 Int getViewOIdxList( Int i ) { return m_viewOIdxList[i]; }1212 #endif1213 1150 #else 1214 1151 Int getNumViews(); … … 1217 1154 Bool getDependencyFlag( Int i, Int j ) { return m_dependencyFlag[i][j]; } 1218 1155 Int getNumDirectRefLayers( Int layerIdInNuh ) { return m_numDirectRefLayers[ layerIdInNuh ]; }; 1219 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071220 #if H_3D1221 Int getNumRefListLayers( Int layerIdInNuh ) { return m_numRefListLayers[ layerIdInNuh ]; };1222 #endif1223 #endif1224 1156 1225 1157 Int getNumRefLayers ( Int i ) { return m_numRefLayers[i]; } … … 1230 1162 Int getIdPredictedLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumPredictedLayers( i )); return m_idPredictedLayer[i][j]; } 1231 1163 Int getIdDirectRefLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumDirectRefLayers( i )); return m_idDirectRefLayer[i][j]; } 1232 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071233 #if H_3D1234 Int getIdRefListLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumRefListLayers ( i )); return m_idRefListLayer[i][j]; }1235 #endif1236 #endif1237 1164 Int getNumIndependentLayers ( ) { return m_numIndependentLayers; } 1238 1165 Int getNumLayersInTreePartition( Int i ) { return m_numLayersInTreePartition[i]; } … … 1331 1258 1332 1259 1333 #if H_3D1334 Int getDepthId ( Int layerIdInNuh) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPTH_ID ); }1335 #if HHI_TOOL_PARAMETERS_I2_J01071336 Bool getVpsDepthFlag( Int layerIdInNuh) { return (getDepthId( layerIdInNuh ) > 0); }1337 #endif1338 Int getLayerIdInNuh( Int viewIndex, Bool depthFlag );1339 1340 #if !HHI_TOOL_PARAMETERS_I2_J01071341 #if H_3D_ARP1342 UInt getUseAdvRP ( Int layerIdInVps ) { return m_uiUseAdvResPred[layerIdInVps]; }1343 UInt getARPStepNum( Int layerIdInVps ) { return m_uiARPStepNum[layerIdInVps]; }1344 Void setUseAdvRP ( Int layerIdInVps, UInt val ) { m_uiUseAdvResPred[layerIdInVps] = val; }1345 Void setARPStepNum( Int layerIdInVps, UInt val ) { m_uiARPStepNum[layerIdInVps] = val; }1346 #endif1347 #endif1348 1349 Void createCamPars(Int iNumViews);1350 Void deleteCamPars();1351 Void initCamParaVPS ( UInt uiViewIndex, Bool bCamParPresent = false, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );1352 UInt getCamParPrecision () { return m_uiCamParPrecision; }1353 Bool getCamParPresent ( Int viewIndex ) { return m_bCamParPresent[viewIndex]; }1354 Void setCamParPresent ( Int viewIndex, Bool val ) { m_bCamParPresent[viewIndex] = val; }1355 Bool hasCamParInSliceHeader( Int viewIndex ) { return m_bCamParInSliceHeader[viewIndex]; }1356 Void setHasCamParInSliceHeader( Int viewIndex, Bool b ) { m_bCamParInSliceHeader[viewIndex] = b; }1357 Int* getCodedScale ( Int viewIndex ) { return m_aaaiCodedScale [viewIndex][0]; }1358 Int* getCodedOffset ( Int viewIndex ) { return m_aaaiCodedOffset[viewIndex][0]; }1359 Int* getInvCodedScale ( Int viewIndex ) { return m_aaaiCodedScale [viewIndex][1]; }1360 Int* getInvCodedOffset ( Int viewIndex ) { return m_aaaiCodedOffset[viewIndex][1]; }1361 1362 #if !HHI_TOOL_PARAMETERS_I2_J01071363 #if H_3D_IV_MERGE1364 Void setIvMvPredFlag ( Int layerIdInVps, Bool val ) { m_ivMvPredFlag[ layerIdInVps ] = val; }1365 Bool getIvMvPredFlag ( Int layerIdInVps ) { return m_ivMvPredFlag[ layerIdInVps ]; };1366 #if H_3D_SPIVMP1367 Int getSubPULog2Size(Int layerIdInVps) { return m_iSubPULog2Size[layerIdInVps]; }1368 Void setSubPULog2Size(Int layerIdInVps, Int u) { m_iSubPULog2Size[layerIdInVps] = u;}1369 Int getSubPUMPILog2Size(Int layerIdInVps) { return m_iSubPUMPILog2Size[layerIdInVps]; }1370 Void setSubPUMPILog2Size(Int layerIdInVps, Int u) { m_iSubPUMPILog2Size[layerIdInVps] = u;}1371 #endif1372 #endif1373 #if H_3D_QTLPC1374 Void setLimQtPredFlag ( Int layerIdInVps, Bool val ) { m_bLimQtPredFlag[ layerIdInVps ] = val; }1375 Bool getLimQtPredFlag ( Int layerIdInVps ) { return m_bLimQtPredFlag[layerIdInVps];}1376 #endif1377 #if H_3D_VSP1378 Void setViewSynthesisPredFlag ( Int layerIdInVps, Bool val ) { m_viewSynthesisPredFlag[ layerIdInVps ] = val; }1379 Bool getViewSynthesisPredFlag ( Int layerIdInVps ) { return m_viewSynthesisPredFlag[ layerIdInVps ]; };1380 #endif1381 #if H_3D_NBDV_REF1382 Void setDepthRefinementFlag ( Int layerIdInVps, Bool val ) { m_depthRefinementFlag[ layerIdInVps ] = val; }1383 Bool getDepthRefinementFlag ( Int layerIdInVps ) { return m_depthRefinementFlag[ layerIdInVps ]; };1384 #endif1385 Void setVpsDepthModesFlag( Int layerIdInVps, Bool val ) { m_vpsDepthModesFlag[ layerIdInVps ] = val; }1386 Bool getVpsDepthModesFlag( Int layerIdInVps ) { return m_vpsDepthModesFlag[ layerIdInVps ]; }1387 1388 Void setIVPFlag( Int layerIdInVps, Bool val ) { m_bIVPFlag[ layerIdInVps ] = val; }1389 Bool getIVPFlag( Int layerIdInVps ) { return m_bIVPFlag[ layerIdInVps ]; }1390 1391 Bool getIvMvScalingFlag ( Int layerIdInVps ) { return m_ivMvScalingFlag[ layerIdInVps ]; }1392 Void setIvMvScalingFlag (Int layerIdInVps, Bool b ) { m_ivMvScalingFlag[ layerIdInVps ] = b; }1393 1394 #if H_3D_INTER_SDC1395 Bool getInterSDCFlag ( Int layerIdInVps ) { return m_bInterSDCFlag[layerIdInVps]; }1396 Void setInterSDCFlag ( Int layerIdInVps, Bool bval ){ m_bInterSDCFlag[layerIdInVps] = bval; }1397 #endif1398 #if H_3D_DBBP1399 Bool getUseDBBP ( Int layerIdInVps ) { return m_dbbpFlag[layerIdInVps]; }1400 Void setUseDBBP ( Int layerIdInVps, Bool bval ){ m_dbbpFlag[layerIdInVps] = bval; }1401 #endif1402 #if H_3D_IV_MERGE1403 Bool getMPIFlag ( Int layerIdInVps ) { return m_bMPIFlag[layerIdInVps]; }1404 Void setMPIFlag ( Int layerIdInVps, Bool bval ){ m_bMPIFlag[layerIdInVps] = bval; }1405 #endif1406 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00601407 Void setSingleDepthModeFlag ( Int layerIdInVps, Bool val ) { m_singleDepthModeFlag[ layerIdInVps ] = val; }1408 Bool getSingleDepthModeFlag ( Int layerIdInVps ) { return m_singleDepthModeFlag[ layerIdInVps ]; };1409 #endif1410 #endif1411 #endif1412 1260 #endif 1413 1261 }; 1414 1262 1415 #if H_3D1416 class TComDLT1417 {1418 private:1419 Bool m_bDltPresentFlag;1420 Bool m_bUseDLTFlag [ MAX_NUM_LAYERS ];1421 Bool m_bInterViewDltPredEnableFlag[ MAX_NUM_LAYERS ];1422 1423 Int m_iNumDepthmapValues [ MAX_NUM_LAYERS ];1424 Int* m_iDepthValue2Idx [ MAX_NUM_LAYERS ];1425 Int* m_iIdx2DepthValue [ MAX_NUM_LAYERS ];1426 1427 Int m_iNumDepthViews;1428 UInt m_uiDepthViewBitDepth;1429 1430 public:1431 TComDLT();1432 ~TComDLT();1433 1434 Bool getDltPresentFlag () { return m_bDltPresentFlag; }1435 Void setDltPresentFlag ( Bool b ) { m_bDltPresentFlag = b; }1436 1437 Bool getUseDLTFlag ( Int layerIdInVps ) { return m_bUseDLTFlag[ layerIdInVps ]; }1438 Void setUseDLTFlag ( Int layerIdInVps, Bool b ) { m_bUseDLTFlag[ layerIdInVps ] = b; }1439 1440 Bool getInterViewDltPredEnableFlag( Int layerIdInVps ) { return m_bInterViewDltPredEnableFlag[ layerIdInVps ]; }1441 Void setInterViewDltPredEnableFlag( Int layerIdInVps, Bool b ) { m_bInterViewDltPredEnableFlag[ layerIdInVps ] = b; }1442 1443 Void setNumDepthViews ( Int n ) { m_iNumDepthViews = n; }1444 Int getNumDepthViews () { return m_iNumDepthViews; }1445 1446 Void setDepthViewBitDepth( UInt n ) { m_uiDepthViewBitDepth = n; }1447 UInt getDepthViewBitDepth() { return m_uiDepthViewBitDepth; }1448 1449 Int getNumDepthValues( Int layerIdInVps ) { return getUseDLTFlag(layerIdInVps)?m_iNumDepthmapValues[layerIdInVps]:((1 << g_bitDepthY)-1); }1450 Int depthValue2idx( Int layerIdInVps, Pel value ) { return getUseDLTFlag(layerIdInVps)?m_iDepthValue2Idx[layerIdInVps][value]:value; }1451 Pel idx2DepthValue( Int layerIdInVps, UInt uiIdx ) { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][ClipY(uiIdx)]:uiIdx; }1452 Void setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );1453 Int* idx2DepthValue( Int layerIdInVps ) { return m_iIdx2DepthValue[layerIdInVps]; }1454 Void getDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTOut, UInt *puiDeltaDLTOutNum );1455 Void setDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTIn, UInt uiDeltaDLTInNum );1456 };1457 #endif1458 1263 1459 1264 class Window … … 1675 1480 }; 1676 1481 1677 #if HHI_TOOL_PARAMETERS_I2_J01071678 #if H_3D1679 class TComSps3dExtension1680 {1681 public:1682 TComSps3dExtension()1683 {1684 for (Int d = 0; d < 2; d++)1685 {1686 m_ivMvPredFlag [d] = false;1687 m_ivMvScalingFlag [d] = false;1688 m_log2SubPbSizeMinus3 [d] = 3;1689 m_ivResPredFlag [d] = false;1690 m_depthRefinementFlag [d] = false;1691 m_viewSynthesisPredFlag [d] = false;1692 m_depthBasedBlkPartFlag [d] = false;1693 m_mpiFlag [d] = false;1694 m_log2MpiSubPbSizeMinus3[d] = 3;1695 m_intraContourFlag [d] = false;1696 m_intraSdcWedgeFlag [d] = false;1697 m_qtPredFlag [d] = false;1698 m_interSdcFlag [d] = false;1699 m_intraSingleFlag [d] = false;1700 }1701 }1702 1703 Void setIvMvPredFlag( Int d, Bool flag ) { m_ivMvPredFlag[d] = flag; }1704 Bool getIvMvPredFlag( Int d ) { return m_ivMvPredFlag[d]; }1705 1706 Void setIvMvScalingFlag( Int d, Bool flag ) { m_ivMvScalingFlag[d] = flag; }1707 Bool getIvMvScalingFlag( Int d ) { return m_ivMvScalingFlag[d]; }1708 1709 Void setLog2SubPbSizeMinus3( Int d, Int val ) { m_log2SubPbSizeMinus3[d] = val; }1710 Int getLog2SubPbSizeMinus3( Int d ) { return m_log2SubPbSizeMinus3[d]; }1711 1712 Void setIvResPredFlag( Int d, Bool flag ) { m_ivResPredFlag[d] = flag; }1713 Bool getIvResPredFlag( Int d ) { return m_ivResPredFlag[d]; }1714 1715 Void setDepthRefinementFlag( Int d, Bool flag ) { m_depthRefinementFlag[d] = flag; }1716 Bool getDepthRefinementFlag( Int d ) { return m_depthRefinementFlag[d]; }1717 1718 Void setViewSynthesisPredFlag( Int d, Bool flag ) { m_viewSynthesisPredFlag[d] = flag; }1719 Bool getViewSynthesisPredFlag( Int d ) { return m_viewSynthesisPredFlag[d]; }1720 1721 Void setDepthBasedBlkPartFlag( Int d, Bool flag ) { m_depthBasedBlkPartFlag[d] = flag; }1722 Bool getDepthBasedBlkPartFlag( Int d ) { return m_depthBasedBlkPartFlag[d]; }1723 1724 Void setMpiFlag( Int d, Bool flag ) { m_mpiFlag[d] = flag; }1725 Bool getMpiFlag( Int d ) { return m_mpiFlag[d]; }1726 1727 Void setLog2MpiSubPbSizeMinus3( Int d, Int val ) { m_log2MpiSubPbSizeMinus3[d] = val; }1728 Int getLog2MpiSubPbSizeMinus3( Int d ) { return m_log2MpiSubPbSizeMinus3[d]; }1729 1730 Void setIntraContourFlag( Int d, Bool flag ) { m_intraContourFlag[d] = flag; }1731 Bool getIntraContourFlag( Int d ) { return m_intraContourFlag[d]; }1732 1733 Void setIntraSdcWedgeFlag( Int d, Bool flag ) { m_intraSdcWedgeFlag[d] = flag; }1734 Bool getIntraSdcWedgeFlag( Int d ) { return m_intraSdcWedgeFlag[d]; }1735 1736 Void setQtPredFlag( Int d, Bool flag ) { m_qtPredFlag[d] = flag; }1737 Bool getQtPredFlag( Int d ) { return m_qtPredFlag[d]; }1738 1739 Void setInterSdcFlag( Int d, Bool flag ) { m_interSdcFlag[d] = flag; }1740 Bool getInterSdcFlag( Int d ) { return m_interSdcFlag[d]; }1741 1742 Void setIntraSingleFlag( Int d, Bool flag ) { m_intraSingleFlag[d] = flag; }1743 Bool getIntraSingleFlag( Int d ) { return m_intraSingleFlag[d]; }1744 1745 private:1746 1747 Bool m_ivMvPredFlag [2];1748 Bool m_ivMvScalingFlag [2];1749 Int m_log2SubPbSizeMinus3 [2];1750 Bool m_ivResPredFlag [2];1751 Bool m_depthRefinementFlag [2];1752 Bool m_viewSynthesisPredFlag [2];1753 Bool m_depthBasedBlkPartFlag [2];1754 Bool m_mpiFlag [2];1755 Int m_log2MpiSubPbSizeMinus3[2];1756 Bool m_intraContourFlag [2];1757 Bool m_intraSdcWedgeFlag [2];1758 Bool m_qtPredFlag [2];1759 Bool m_interSdcFlag [2];1760 Bool m_intraSingleFlag [2];1761 };1762 1763 #endif1764 #endif1765 1482 1766 1483 /// SPS class … … 1848 1565 Bool m_spsRangeExtensionsFlag; 1849 1566 Bool m_spsMultilayerExtensionFlag; 1850 #if H_3D1851 Bool m_sps3dExtensionFlag;1852 Int m_spsExtension5bits;1853 #else1854 1567 Int m_spsExtension6bits; 1855 #endif1856 1568 1857 1569 Bool m_spsInferScalingListFlag; … … 1861 1573 // SPS Extension 1862 1574 Bool m_interViewMvVertConstraintFlag; 1863 #endif1864 #if H_3D1865 #if HHI_TOOL_PARAMETERS_I2_J01071866 TComSps3dExtension m_sps3dExtension;1867 #endif1868 UInt m_uiCamParPrecision;1869 Bool m_bCamParInSliceHeader;1870 Int m_aaiCodedScale [2][MAX_NUM_LAYERS];1871 Int m_aaiCodedOffset[2][MAX_NUM_LAYERS];1872 1575 #endif 1873 1576 #if H_MV … … 2015 1718 Void setSpsMultilayerExtensionFlag( Bool flag ) { m_spsMultilayerExtensionFlag = flag; } 2016 1719 Bool getSpsMultilayerExtensionFlag( ) { return m_spsMultilayerExtensionFlag; } 2017 #if H_3D2018 Void setSps3dExtensionFlag( Bool flag ) { m_sps3dExtensionFlag = flag; }2019 Bool getSps3dExtensionFlag( ) { return m_sps3dExtensionFlag; }2020 2021 Void setSpsExtension5bits( Int val ) { m_spsExtension5bits = val; }2022 Int getSpsExtension5bits( ) { return m_spsExtension5bits; }2023 #else2024 1720 Void setSpsExtension6bits( Int val ) { m_spsExtension6bits = val; } 2025 1721 Int getSpsExtension6bits( ) { return m_spsExtension6bits; } 2026 #endif2027 1722 2028 1723 Void setVPS ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; } … … 2044 1739 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 2045 1740 2046 #if HHI_TOOL_PARAMETERS_I2_J01072047 #if H_3D2048 Void setSps3dExtension ( TComSps3dExtension& sps3dExtension ) { m_sps3dExtension = sps3dExtension; }2049 TComSps3dExtension* getSps3dExtension ( ) { return &m_sps3dExtension; }2050 #endif2051 #endif2052 1741 2053 1742 // Inference … … 2166 1855 Bool m_ppsRangeExtensionsFlag; 2167 1856 Bool m_ppsMultilayerExtensionFlag; 2168 #if !H_3D2169 1857 Int m_ppsExtension6bits; 2170 #else2171 Bool m_pps3dExtensionFlag;2172 Int m_ppsExtension5bits;2173 #endif2174 1858 2175 1859 Bool m_pocResetInfoPresentFlag; 2176 1860 #endif 2177 1861 2178 #if H_3D2179 TComDLT* m_pcDLT;2180 #endif2181 1862 2182 1863 public: … … 2205 1886 UInt getMinCuDQPSize () { return m_uiMinCuDQPSize; } 2206 1887 2207 #if H_3D2208 Void setDLT ( TComDLT* pcDLT ) { m_pcDLT = pcDLT; }2209 TComDLT* getDLT () { return m_pcDLT; }2210 #endif2211 1888 2212 1889 Void setChromaCbQpOffset( Int i ) { m_chromaCbQpOffset = i; } … … 2302 1979 Bool getPpsMultilayerExtensionFlag( ) { return m_ppsMultilayerExtensionFlag; } 2303 1980 2304 #if !H_3D2305 1981 Void setPpsExtension6bits( Int val ) { m_ppsExtension6bits = val; } 2306 1982 Int getPpsExtension6bits( ) { return m_ppsExtension6bits; } 2307 #else2308 Void setPps3dExtensionFlag( Bool flag ) { m_pps3dExtensionFlag = flag; }2309 Bool getPps3dExtensionFlag( ) { return m_pps3dExtensionFlag; }2310 2311 Void setPpsExtension5bits( Int val ) { m_ppsExtension5bits = val; }2312 Int getPpsExtension5bits( ) { return m_ppsExtension5bits; }2313 #endif2314 1983 2315 1984 Void setPocResetInfoPresentFlag( Bool flag ) { m_pocResetInfoPresentFlag = flag; } … … 2459 2128 Int m_viewId; 2460 2129 Int m_viewIndex; 2461 #if H_3D2462 Bool m_isDepth;2463 #endif2464 2130 2465 2131 // Additional slice header syntax elements … … 2482 2148 Bool m_pocMsbValRequiredFlag; 2483 2149 2484 #if H_3D 2485 Int m_aaiCodedScale [2][MAX_NUM_LAYERS]; 2486 Int m_aaiCodedOffset[2][MAX_NUM_LAYERS]; 2487 #endif 2488 #if H_3D_TMVP 2489 Int m_aiAlterRefIdx [2]; 2490 #endif 2491 #if H_3D_ARP 2492 Bool m_arpRefPicAvailable[2][MAX_NUM_LAYERS]; 2493 TComList<TComPic*> * m_pBaseViewRefPicList[MAX_NUM_LAYERS]; 2494 UInt m_nARPStepNum; 2495 Int m_aiFirstTRefIdx [2]; 2496 #endif 2497 #if H_3D_IC 2498 Bool m_bApplyIC; 2499 Bool m_icSkipParseFlag; 2500 #endif 2501 #if H_3D 2502 TComPic* m_ivPicsCurrPoc [2][MAX_NUM_LAYERS]; 2503 Int** m_depthToDisparityB; 2504 Int** m_depthToDisparityF; 2505 #endif 2506 #endif 2507 #if !LGE_DDD_REMOVAL_J0042_J0030 2508 #if H_3D_DDD 2509 Int m_aiDDDInvScale [MAX_NUM_LAYERS]; 2510 Int m_aiDDDInvOffset[MAX_NUM_LAYERS]; 2511 UInt m_aiDDDShift [MAX_NUM_LAYERS]; 2512 #endif 2513 #endif 2514 #if H_3D_SINGLE_DEPTH 2515 Bool m_bApplySingleDepthMode; 2516 #endif 2517 #if H_3D_IC 2518 Int *m_aICEnableCandidate; 2519 Int *m_aICEnableNum; 2520 #endif 2521 #if LGE_DEFAULT_DV_J0046 2522 Int m_iDefaultRefViewIdx; 2523 Bool m_bDefaultRefViewIdxAvailableFlag; 2524 #endif 2525 2526 #if HHI_TOOL_PARAMETERS_I2_J0107 2527 Bool m_ivMvPredFlag ; 2528 Bool m_ivMvScalingFlag ; 2529 Bool m_ivResPredFlag ; 2530 Bool m_depthRefinementFlag ; 2531 Bool m_viewSynthesisPredFlag; 2532 Bool m_depthBasedBlkPartFlag; 2533 Bool m_mpiFlag ; 2534 Bool m_intraContourFlag ; 2535 Bool m_intraSdcWedgeFlag ; 2536 Bool m_qtPredFlag ; 2537 Bool m_interSdcFlag ; 2538 Bool m_intraSingleFlag ; 2539 2540 Int m_mpiSubPbSize ; 2541 Int m_subPbSize ; 2542 #endif 2150 #endif 2151 2543 2152 public: 2544 2153 TComSlice(); … … 2605 2214 TComPic* getRefPic ( RefPicList e, Int iRefIdx) { return m_apcRefPicList[e][iRefIdx]; } 2606 2215 Int getRefPOC ( RefPicList e, Int iRefIdx) { return m_aiRefPOCList[e][iRefIdx]; } 2607 #if H_3D2608 TComPic* getIvPic ( Bool depthFlag, Int viewIndex){ return m_ivPicsCurrPoc[ depthFlag ? 1 : 0 ][ viewIndex ]; }2609 #endif2610 #if H_3D2611 TComPic* getTexturePic () { return m_ivPicsCurrPoc[0][ m_viewIndex ]; }2612 #endif2613 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J00602614 #if H_3D_SINGLE_DEPTH2615 Void setApplySingleDepthMode( Bool b ) { m_bApplySingleDepthMode = b; }2616 Bool getApplySingleDepthMode() { return m_bApplySingleDepthMode; }2617 #endif2618 #endif2619 #if H_3D_IC2620 Void setApplyIC( Bool b ) { m_bApplyIC = b; }2621 Bool getApplyIC() { return m_bApplyIC; }2622 Void xSetApplyIC();2623 Void xSetApplyIC(Bool bUseLowLatencyICEnc);2624 Void setIcSkipParseFlag( Bool b ) { m_icSkipParseFlag = b; }2625 Bool getIcSkipParseFlag() { return m_icSkipParseFlag; }2626 #endif2627 #if H_3D_ARP2628 Void setBaseViewRefPicList( TComList<TComPic*> *pListPic, Int iViewIdx ) { m_pBaseViewRefPicList[iViewIdx] = pListPic; }2629 Void setARPStepNum( TComPicLists*ivPicLists );2630 TComPic* getBaseViewRefPic ( UInt uiPOC , Int iViewIdx ) { return xGetRefPic( *m_pBaseViewRefPicList[iViewIdx], uiPOC ); }2631 UInt getARPStepNum( ) { return m_nARPStepNum; }2632 #endif2633 2216 Int getDepth () { return m_iDepth; } 2634 2217 UInt getColFromL0Flag () { return m_colFromL0Flag; } … … 2827 2410 Void setViewIndex ( Int viewIndex ) { m_viewIndex = viewIndex; } 2828 2411 Int getViewIndex () { return m_viewIndex; } 2829 #if H_3D2830 #if H_3D_TMVP2831 Void generateAlterRefforTMVP ();2832 Void setAlterRefIdx ( RefPicList e, Int i ) { m_aiAlterRefIdx[e] = i; }2833 Int getAlterRefIdx ( RefPicList e ) { return m_aiAlterRefIdx[e]; }2834 #endif2835 #if H_3D_ARP2836 Int getFirstTRefIdx ( RefPicList e ) { return m_aiFirstTRefIdx[e]; }2837 Void setFirstTRefIdx ( RefPicList e, Int i ) { m_aiFirstTRefIdx[e] = i; }2838 Bool getArpRefPicAvailable( RefPicList e, Int viewIdx) {return m_arpRefPicAvailable[e][getVPS()->getLayerIdInNuh(viewIdx, 0)]; }2839 #endif2840 Void setIsDepth ( Bool isDepth ) { m_isDepth = isDepth; }2841 Bool getIsDepth () { return m_isDepth; }2842 Void setCamparaSlice ( Int** aaiScale = 0, Int** aaiOffset = 0 );2843 Int* getCodedScale () { return m_aaiCodedScale [0]; }2844 Int* getCodedOffset () { return m_aaiCodedOffset[0]; }2845 Int* getInvCodedScale () { return m_aaiCodedScale [1]; }2846 Int* getInvCodedOffset () { return m_aaiCodedOffset[1]; }2847 #endif2848 #endif2849 #if H_3D2850 Void setIvPicLists( TComPicLists* m_ivPicLists );2851 Void setDepthToDisparityLUTs();2852 2853 Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; };2854 Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; };2855 #if !HHI_TOOL_PARAMETERS_I2_J01072856 Bool getVpsDepthModesFlag () { return getVPS()->getVpsDepthModesFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }2857 Bool getIVPFlag () { return getVPS()->getIVPFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }2858 #endif2859 #endif2860 #if H_3D_IC2861 Void setICEnableCandidate( Int* ICEnableCandidate) { m_aICEnableCandidate = ICEnableCandidate; };2862 Void setICEnableNum( Int* ICEnableNum) { m_aICEnableNum = ICEnableNum; };2863 Void setICEnableCandidate( UInt layer, Int value) { m_aICEnableCandidate[ layer ] = value; };2864 Void setICEnableNum( UInt layer, Int value) { m_aICEnableNum[ layer ] = value; };2865 2866 Int getICEnableCandidate( Int layer){ return m_aICEnableCandidate[ layer ]; };2867 Int getICEnableNum( Int layer){ return m_aICEnableNum[ layer ]; };2868 2412 #endif 2869 2413 #if H_MV … … 2938 2482 // Additional variables derived in slice header semantics 2939 2483 2940 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072941 #if H_3D2942 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumRefListLayers( getLayerId() )); }2943 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumRefListLayers( getLayerId() )); }2944 #else2945 2484 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2946 2485 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2947 #endif2948 2949 #else2950 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); }2951 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); }2952 #endif2953 2486 2954 2487 Int getRefLayerPicFlag( Int i ); … … 2967 2500 2968 2501 2969 #if HHI_TOOL_PARAMETERS_I2_J01072970 #if H_3D2971 // 3D-HEVC tool parameters2972 Void init3dToolParameters();2973 Bool getIvMvPredFlag ( ) { return m_ivMvPredFlag ; };2974 Bool getIvMvScalingFlag ( ) { return m_ivMvScalingFlag ; };2975 Bool getIvResPredFlag ( ) { return m_ivResPredFlag ; };2976 Bool getDepthRefinementFlag ( ) { return m_depthRefinementFlag ; };2977 Bool getViewSynthesisPredFlag ( ) { return m_viewSynthesisPredFlag ; };2978 Bool getDepthBasedBlkPartFlag ( ) { return m_depthBasedBlkPartFlag ; };2979 Bool getMpiFlag ( ) { return m_mpiFlag ; };2980 Bool getIntraContourFlag ( ) { return m_intraContourFlag ; };2981 Bool getIntraSdcWedgeFlag ( ) { return m_intraSdcWedgeFlag ; };2982 Bool getQtPredFlag ( ) { return m_qtPredFlag ; };2983 Bool getInterSdcFlag ( ) { return m_interSdcFlag ; };2984 Bool getIntraSingleFlag ( ) { return m_intraSingleFlag ; };2985 2986 Int getMpiSubPbSize ( ) { return m_mpiSubPbSize ; };2987 Int getSubPbSize ( ) { return m_subPbSize ; };2988 #endif2989 #endif2990 2502 2991 2503 2992 2504 // Inference 2993 2505 Bool inferPocMsbValPresentFlag(); 2994 #endif2995 #if !LGE_DDD_REMOVAL_J0042_J00302996 #if H_3D_DDD2997 Void initializeDDDPara( UInt uiCamParsCodedPrecision, Int iCodedScale,Int iCodedOffset, Int iBaseViewIdx );2998 Int getDepthFromDV( Int iDV, Int iBaseViewIdx );2999 #endif3000 #endif3001 #if LGE_DEFAULT_DV_J00463002 Int getDefaultRefViewIdx() { return m_iDefaultRefViewIdx; }3003 Void setDefaultRefViewIdx(Int iViewIdx) { m_iDefaultRefViewIdx = iViewIdx; }3004 3005 Bool getDefaultRefViewIdxAvailableFlag() { return m_bDefaultRefViewIdxAvailableFlag; }3006 Void setDefaultRefViewIdxAvailableFlag(Bool bViewIdx) { m_bDefaultRefViewIdxAvailableFlag = bViewIdx; }3007 #endif3008 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J00373009 Void setDefaultRefView( );3010 2506 #endif 3011 2507
Note: See TracChangeset for help on using the changeset viewer.