Changeset 755 in 3DVCSoftware for branches/HTM-9.1-dev0-MediaTek/source/Lib/TLibCommon/TComSlice.cpp
- Timestamp:
- 27 Dec 2013, 10:54:03 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.1-dev0-MediaTek/source/Lib/TLibCommon/TComSlice.cpp
r753 r755 782 782 Void TComSlice::setCamparaSlice( Int** aaiScale, Int** aaiOffset ) 783 783 { 784 #if CAM_HLS_F0136_F0045_F0082 785 if( m_pcVPS->hasCamParInSliceHeader( m_viewIndex ) ) 786 #else 784 787 if( m_pcSPS->hasCamParInSliceHeader() ) 788 #endif 785 789 { 786 790 for( UInt uiBaseViewIndex = 0; uiBaseViewIndex < m_viewIndex; uiBaseViewIndex++ ) … … 1920 1924 } 1921 1925 #endif 1926 #if CAM_HLS_F0136_F0045_F0082 1927 deleteCamPars(); 1928 #endif 1922 1929 } 1923 1930 … … 2072 2079 return foundLayerIdinNuh; 2073 2080 } 2081 #if CAM_HLS_F0136_F0045_F0082 2082 Void TComVPS::createCamPars(Int iNumViews) 2083 { 2084 Int i = 0, j = 0; 2085 2086 m_bCamParPresent = new Bool[ iNumViews ]; 2087 m_bCamParInSliceHeader = new Bool[ iNumViews ]; 2088 2089 m_aaaiCodedScale = new Int**[ iNumViews ]; 2090 m_aaaiCodedOffset = new Int**[ iNumViews ]; 2091 for ( i = 0; i < iNumViews ; i++ ) 2092 { 2093 m_aaaiCodedScale[i] = new Int*[ 2 ]; 2094 m_aaaiCodedOffset[i] = new Int*[ 2 ]; 2095 for ( j = 0; j < 2; j++ ) 2096 { 2097 m_aaaiCodedScale[i][j] = new Int[ MAX_NUM_LAYERS ]; 2098 m_aaaiCodedOffset[i][j] = new Int[ MAX_NUM_LAYERS ]; 2099 for ( Int k = 0; k < MAX_NUM_LAYERS; k++ ) 2100 { 2101 m_aaaiCodedScale[i][j][k] = 0; 2102 m_aaaiCodedOffset[i][j][k] = 0; 2103 } 2104 } 2105 } 2106 } 2107 2108 Void TComVPS::deleteCamPars() 2109 { 2110 Int iNumViews = getNumViews(); 2111 Int i = 0, j = 0; 2112 2113 if ( m_bCamParPresent != NULL ) 2114 { 2115 delete [] m_bCamParPresent; 2116 } 2117 if ( m_bCamParInSliceHeader != NULL ) 2118 { 2119 delete [] m_bCamParInSliceHeader; 2120 } 2121 2122 if ( m_aaaiCodedScale != NULL ) 2123 { 2124 for ( i = 0; i < iNumViews ; i++ ) 2125 { 2126 for ( j = 0; j < 2; j++ ) 2127 { 2128 delete [] m_aaaiCodedScale[i][j]; 2129 } 2130 delete [] m_aaaiCodedScale[i]; 2131 } 2132 delete [] m_aaaiCodedScale; 2133 } 2134 2135 if ( m_aaaiCodedOffset != NULL ) 2136 { 2137 for ( i = 0; i < iNumViews ; i++ ) 2138 { 2139 for ( j = 0; j < 2; j++ ) 2140 { 2141 delete [] m_aaaiCodedOffset[i][j]; 2142 } 2143 delete [] m_aaaiCodedOffset[i]; 2144 } 2145 delete [] m_aaaiCodedOffset; 2146 } 2147 } 2148 2149 2150 Void 2151 TComVPS::initCamParaVPS( UInt uiViewIndex, Bool bCamParPresent, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset ) 2152 { 2153 AOT( uiViewIndex != 0 && !bCamParSlice && ( aaiScale == 0 || aaiOffset == 0 ) ); 2154 2155 m_uiCamParPrecision = ( ( uiViewIndex != 0 )? uiCamParPrecision : 0 ); 2156 m_bCamParPresent[ uiViewIndex ] = (( uiViewIndex != 0 )? bCamParPresent : false ); 2157 m_bCamParInSliceHeader[ uiViewIndex ] = ( (uiViewIndex != 0)? bCamParSlice : false ); 2158 2159 if( !m_bCamParInSliceHeader[ uiViewIndex ] ) 2160 { 2161 for( UInt uiBaseViewIndex = 0; uiBaseViewIndex < uiViewIndex; uiBaseViewIndex++ ) 2162 { 2163 m_aaaiCodedScale [ uiViewIndex ][ 0 ][ uiBaseViewIndex ] = aaiScale [ uiBaseViewIndex ][ uiViewIndex ]; 2164 m_aaaiCodedScale [ uiViewIndex ][ 1 ][ uiBaseViewIndex ] = aaiScale [ uiViewIndex ][ uiBaseViewIndex ]; 2165 m_aaaiCodedOffset[ uiViewIndex ][ 0 ][ uiBaseViewIndex ] = aaiOffset[ uiBaseViewIndex ][ uiViewIndex ]; 2166 m_aaaiCodedOffset[ uiViewIndex ][ 1 ][ uiBaseViewIndex ] = aaiOffset[ uiViewIndex ][ uiBaseViewIndex ]; 2167 } 2168 } 2169 } 2170 #endif // CAM_HLS_F0136_F0045_F0082 2171 2074 2172 #endif // H_3D 2075 2173 … … 2711 2809 #endif 2712 2810 #if H_3D 2811 #if !CAM_HLS_F0136_F0045_F0082 2713 2812 Void 2714 2813 TComSPS::initCamParaSPS( UInt uiViewIndex, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset ) … … 2732 2831 } 2733 2832 } 2833 #endif 2734 2834 #endif 2735 2835 TComReferencePictureSet::TComReferencePictureSet() … … 3443 3543 assert( m_depthToDisparityF != NULL ); 3444 3544 3545 #if CAM_HLS_F0136_F0045_F0082 3546 TComVPS* vps = getVPS(); 3547 #else 3445 3548 TComSPS* sps = getSPS(); 3446 3549 #endif 3550 3551 #if CAM_HLS_F0136_F0045_F0082 3552 Int log2Div = g_bitDepthY - 1 + vps->getCamParPrecision(); 3553 Int viewIndex = getViewIndex(); 3554 3555 Bool camParaSH = vps->hasCamParInSliceHeader( viewIndex ); 3556 3557 Int* codScale = camParaSH ? m_aaiCodedScale [ 0 ] : vps->getCodedScale ( viewIndex ); 3558 Int* codOffset = camParaSH ? m_aaiCodedOffset[ 0 ] : vps->getCodedOffset ( viewIndex ); 3559 Int* invCodScale = camParaSH ? m_aaiCodedScale [ 1 ] : vps->getInvCodedScale ( viewIndex ); 3560 Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : vps->getInvCodedOffset( viewIndex ); 3561 #else 3447 3562 Int log2Div = g_bitDepthY - 1 + sps->getCamParPrecision(); 3448 3563 … … 3453 3568 Int* invCodScale = camParaSH ? m_aaiCodedScale [ 1 ] : sps->getInvCodedScale (); 3454 3569 Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : sps->getInvCodedOffset(); 3570 #endif 3455 3571 3456 3572 for (Int i = 0; i <= ( getViewIndex() - 1); i++)
Note: See TracChangeset for help on using the changeset viewer.