Changeset 1487 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibEncoder
- Timestamp:
- 24 Nov 2015, 03:13:36 (9 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibEncoder
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibEncoder/TEnc3DAsymLUT.cpp
r1440 r1487 218 218 if( rCuboidColorInfo.N > 0 ) 219 219 { 220 #if SCALABLE_REXT 221 dErrorLuma += xCalEstPelDist( rCuboidColorInfo.N , rCuboidColorInfo.Ys , rCuboidColorInfo.Yy , rCuboidColorInfo.Yu , rCuboidColorInfo.Yv , rCuboidColorInfo.ys , rCuboidColorInfo.us , rCuboidColorInfo.vs , rCuboidColorInfo.yy , rCuboidColorInfo.yu , rCuboidColorInfo.yv , rCuboidColorInfo.uu , rCuboidColorInfo.uv , rCuboidColorInfo.vv , rCuboidColorInfo.YY , 222 rCuboid.P[0].Y , rCuboid.P[1].Y , rCuboid.P[2].Y , rCuboid.P[3].Y ); 223 #else 220 224 dErrorLuma += xCalEstDist( rCuboidColorInfo.N , rCuboidColorInfo.Ys , rCuboidColorInfo.Yy , rCuboidColorInfo.Yu , rCuboidColorInfo.Yv , rCuboidColorInfo.ys , rCuboidColorInfo.us , rCuboidColorInfo.vs , rCuboidColorInfo.yy , rCuboidColorInfo.yu , rCuboidColorInfo.yv , rCuboidColorInfo.uu , rCuboidColorInfo.uv , rCuboidColorInfo.vv , rCuboidColorInfo.YY , 221 225 rCuboid.P[0].Y , rCuboid.P[1].Y , rCuboid.P[2].Y , rCuboid.P[3].Y ); 226 #endif 222 227 } 223 228 if( rCuboidColorInfoC.N > 0 ) 224 229 { 230 #if SCALABLE_REXT 231 dErrorChroma += xCalEstPelDist( rCuboidColorInfoC.N , rCuboidColorInfoC.Us , rCuboidColorInfoC.Uy , rCuboidColorInfoC.Uu , rCuboidColorInfoC.Uv , rCuboidColorInfoC.ys , rCuboidColorInfoC.us , rCuboidColorInfoC.vs , rCuboidColorInfoC.yy , rCuboidColorInfoC.yu , rCuboidColorInfoC.yv , rCuboidColorInfoC.uu , rCuboidColorInfoC.uv , rCuboidColorInfoC.vv , rCuboidColorInfoC.UU , 232 rCuboid.P[0].U , rCuboid.P[1].U , rCuboid.P[2].U , rCuboid.P[3].U ); 233 dErrorChroma += xCalEstPelDist( rCuboidColorInfoC.N , rCuboidColorInfoC.Vs , rCuboidColorInfoC.Vy , rCuboidColorInfoC.Vu , rCuboidColorInfoC.Vv , rCuboidColorInfoC.ys , rCuboidColorInfoC.us , rCuboidColorInfoC.vs , rCuboidColorInfoC.yy , rCuboidColorInfoC.yu , rCuboidColorInfoC.yv , rCuboidColorInfoC.uu , rCuboidColorInfoC.uv , rCuboidColorInfoC.vv , rCuboidColorInfoC.VV , 234 rCuboid.P[0].V , rCuboid.P[1].V , rCuboid.P[2].V , rCuboid.P[3].V ); 235 #else 225 236 dErrorChroma += xCalEstDist( rCuboidColorInfoC.N , rCuboidColorInfoC.Us , rCuboidColorInfoC.Uy , rCuboidColorInfoC.Uu , rCuboidColorInfoC.Uv , rCuboidColorInfoC.ys , rCuboidColorInfoC.us , rCuboidColorInfoC.vs , rCuboidColorInfoC.yy , rCuboidColorInfoC.yu , rCuboidColorInfoC.yv , rCuboidColorInfoC.uu , rCuboidColorInfoC.uv , rCuboidColorInfoC.vv , rCuboidColorInfoC.UU , 226 237 rCuboid.P[0].U , rCuboid.P[1].U , rCuboid.P[2].U , rCuboid.P[3].U ); 227 238 dErrorChroma += xCalEstDist( rCuboidColorInfoC.N , rCuboidColorInfoC.Vs , rCuboidColorInfoC.Vy , rCuboidColorInfoC.Vu , rCuboidColorInfoC.Vv , rCuboidColorInfoC.ys , rCuboidColorInfoC.us , rCuboidColorInfoC.vs , rCuboidColorInfoC.yy , rCuboidColorInfoC.yu , rCuboidColorInfoC.yv , rCuboidColorInfoC.uu , rCuboidColorInfoC.uv , rCuboidColorInfoC.vv , rCuboidColorInfoC.VV , 228 239 rCuboid.P[0].V , rCuboid.P[1].V , rCuboid.P[2].V , rCuboid.P[3].V ); 240 #endif 229 241 } 230 242 } -
branches/SHM-dev/source/Lib/TLibEncoder/TEnc3DAsymLUT.h
r1440 r1487 175 175 176 176 inline Double xCalEstDist( Double N, Double Ys, Double Yy, Double Yu, Double Yv, Double ys, Double us, Double vs, Double yy, Double yu, Double yv, Double uu, Double uv, Double vv, Double YY, Double a, Double b, Double c, Double d ); 177 177 #if SCALABLE_REXT 178 /* 179 former xCalEstDist(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Pel, Pel, Pel, Pel) 180 replaced by this fucntion because behaving differently than other xCalEstDist and was conflicting with xCalEstDist when RExt__HIGH_BIT_DEPTH_SUPPORT = 1 181 */ 182 inline Double xCalEstPelDist( Double N, Double Ys, Double Yy, Double Yu, Double Yv, Double ys, Double us, Double vs, Double yy, Double yu, Double yv, Double uu, Double uv, Double vv, Double YY, Pel nP0, Pel nP1, Pel nP3, Pel nP7 ); 183 #else 178 184 inline Double xCalEstDist( Double N, Double Ys, Double Yy, Double Yu, Double Yv, Double ys, Double us, Double vs, Double yy, Double yu, Double yv, Double uu, Double uv, Double vv, Double YY, Pel nP0, Pel nP1, Pel nP3, Pel nP7 ); 179 185 #endif 180 186 #if R0179_ENC_OPT_3DLUT_SIZE 181 187 Void xConsolidateData( SLUTSize *pCurLUTSize, SLUTSize *pMaxLUTSize ); … … 202 208 }; 203 209 204 Double TEnc3DAsymLUT::xCalEstDist( Double N, Double Ys, Double Yy, Double Yu, Double Yv, Double ys, Double us, Double vs, Double yy, Double yu, Double yv, Double uu, Double uv, Double vv, Double YY, Pel nP0, Pel nP1, Pel nP3, Pel nP7 ) 210 211 #if SCALABLE_REXT 212 /* 213 former xCalEstDist(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Pel, Pel, Pel, Pel) 214 replaced by this fucntion because behaving differently than other xCalEstDist and was conflicting with xCalEstDist when RExt__HIGH_BIT_DEPTH_SUPPORT = 1 215 */ 216 Double TEnc3DAsymLUT::xCalEstPelDist( Double N, Double Ys, Double Yy, Double Yu, Double Yv, Double ys, Double us, Double vs, Double yy, Double yu, Double yv, Double uu, Double uv, Double vv, Double YY, Pel nP0, Pel nP1, Pel nP3, Pel nP7 ) 205 217 { 206 218 const Int nOne = xGetNormCoeffOne(); … … 212 224 return( dError ); 213 225 }; 214 215 #endif 216 217 #endif 226 #else 227 Double TEnc3DAsymLUT::xCalEstDist( Double N, Double Ys, Double Yy, Double Yu, Double Yv, Double ys, Double us, Double vs, Double yy, Double yu, Double yv, Double uu, Double uv, Double vv, Double YY, Pel nP0, Pel nP1, Pel nP3, Pel nP7 ) 228 { 229 const Int nOne = xGetNormCoeffOne(); 230 Double a = 1.0 * nP0 / nOne; 231 Double b = 1.0 * nP1 / nOne; 232 Double c = 1.0 * nP3 / nOne; 233 Double d = nP7; 234 Double dError = N * d * d + 2 * b * c * uv + 2 * a * c * yv + 2 * a * b * yu - 2 * c * Yv - 2 * b * Yu - 2 * a * Yy + 2 * c * d * vs + 2 * b * d * us + 2 * a * d * ys + a * a * yy + c * c * vv + b * b * uu - 2 * d * Ys + YY; 235 return( dError ); 236 }; 237 #endif 238 239 #endif 240 241 #endif -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1464 r1487 1412 1412 WRITE_FLAG(ptl->getFrameOnlyConstraintFlag(), PTL_TRACE_TEXT("frame_only_constraint_flag" )); 1413 1413 1414 if (ptl->getProfileIdc() == Profile::MAINREXT || ptl->getProfileIdc() == Profile::HIGHTHROUGHPUTREXT ) 1414 if (ptl->getProfileIdc() == Profile::MAINREXT || ptl->getProfileIdc() == Profile::HIGHTHROUGHPUTREXT 1415 #if SCALABLE_REXT 1416 || ptl->getProfileIdc() == Profile::SCALABLEREXT 1417 #endif 1418 ) 1415 1419 { 1416 1420 const UInt bitDepthConstraint=ptl->getBitDepthConstraint(); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSearch.cpp
r1483 r1487 5960 5960 TComMv& rcMvHalf, 5961 5961 TComMv& rcMvQter, 5962 UInt& ruiCost ) 5962 #if SCALABLE_REXT 5963 Distortion& ruiCost ) 5964 #else 5965 UInt& ruiCost ) 5966 #endif 5963 5967 { 5964 5968 assert(pcMvInt->getHor() == 0 && pcMvInt->getVer() == 0); … … 5995 5999 UInt uiLastMode = 0; 5996 6000 6001 #if SCALABLE_REXT 6002 Distortion uiCost[2] = { MAX_UINT, MAX_UINT }; //uni, rdCost 6003 Distortion uiCostTemp; 6004 Distortion biPDistTemp = MAX_INT; 6005 #else 5997 6006 UInt uiCost[2] = { MAX_UINT, MAX_UINT }; //uni, rdCost 5998 6007 UInt uiCostTemp; 5999 6008 UInt biPDistTemp = MAX_INT; 6009 #endif 6000 6010 UInt uiBitsTemp; 6001 6011 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSearch.h
r1469 r1487 480 480 TComMv& rcMvHalf, 481 481 TComMv& rcMvQter, 482 #if SCALABLE_REXT 483 Distortion& ruiCost ); 484 #else 482 485 UInt& ruiCost ); 486 #endif 483 487 #endif //SVC_EXTENSION 484 488
Note: See TracChangeset for help on using the changeset viewer.