Ignore:
Timestamp:
5 Jul 2014, 05:16:45 (10 years ago)
Author:
tech
Message:
  • Merged 11.0-dev0@963. (Update to HM 14.0 + MV-HEVC Draft 8 HLS)
  • Added coding results.
  • Changed version number.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp

    r872 r964  
    920920        for (y=0; y<endY; y++)
    921921        {
     922#if SAO_SGN_FUNC
     923          signLeft = (Char)sgn(srcLine[startX] - srcLine[startX-1]);
     924#else
    922925          signLeft = (Char)m_sign[srcLine[startX] - srcLine[startX-1]];
     926#endif
    923927          for (x=startX; x<endX; x++)
    924928          {
     929#if SAO_SGN_FUNC
     930            signRight =  (Char)sgn(srcLine[x] - srcLine[x+1]);
     931#else
    925932            signRight =  (Char)m_sign[srcLine[x] - srcLine[x+1]];
     933#endif
    926934            edgeType  =  signRight + signLeft;
    927935            signLeft  = -signRight;
     
    943951            for(y=0; y<skipLinesB[typeIdx]; y++)
    944952            {
     953#if SAO_SGN_FUNC
     954              signLeft = (Char)sgn(srcLine[startX] - srcLine[startX-1]);
     955#else
    945956              signLeft = (Char)m_sign[srcLine[startX] - srcLine[startX-1]];
     957#endif
    946958              for (x=startX; x<endX; x++)
    947959              {
     960#if SAO_SGN_FUNC
     961                signRight =  (Char)sgn(srcLine[x] - srcLine[x+1]);
     962#else
    948963                signRight =  (Char)m_sign[srcLine[x] - srcLine[x+1]];
     964#endif
    949965                edgeType  =  signRight + signLeft;
    950966                signLeft  = -signRight;
     
    9941010#endif
    9951011        {
     1012#if SAO_SGN_FUNC
     1013          signUpLine[x] = (Char)sgn(srcLine[x] - srcLineAbove[x]);
     1014#else
    9961015          signUpLine[x] = (Char)m_sign[srcLine[x] - srcLineAbove[x]];
     1016#endif
    9971017        }
    9981018
     
    10081028#endif
    10091029          {
     1030#if SAO_SGN_FUNC
     1031            signDown  = (Char)sgn(srcLine[x] - srcLineBelow[x]);
     1032#else
    10101033            signDown  = (Char)m_sign[srcLine[x] - srcLineBelow[x]];
     1034#endif
    10111035            edgeType  = signDown + signUpLine[x];
    10121036            signUpLine[x]= -signDown;
     
    10331057              for (x=startX; x<endX; x++)
    10341058              {
     1059#if SAO_SGN_FUNC
     1060                edgeType = sgn(srcLine[x] - srcLineBelow[x]) + sgn(srcLine[x] - srcLineAbove[x]);
     1061#else
    10351062                edgeType = m_sign[srcLine[x] - srcLineBelow[x]] + m_sign[srcLine[x] - srcLineAbove[x]];
     1063#endif
    10361064                diff [edgeType] += (orgLine[x] - srcLine[x]);
    10371065                count[edgeType] ++;
     
    10761104        for (x=startX; x<endX+1; x++)
    10771105        {
     1106#if SAO_SGN_FUNC
     1107          signUpLine[x] = (Char)sgn(srcLineBelow[x] - srcLine[x-1]);
     1108#else
    10781109          signUpLine[x] = (Char)m_sign[srcLineBelow[x] - srcLine[x-1]];
     1110#endif
    10791111        }
    10801112
     
    10901122        for(x=firstLineStartX; x<firstLineEndX; x++)
    10911123        {
     1124#if SAO_SGN_FUNC
     1125          edgeType = sgn(srcLine[x] - srcLineAbove[x-1]) - signUpLine[x+1];
     1126#else
    10921127          edgeType = m_sign[srcLine[x] - srcLineAbove[x-1]] - signUpLine[x+1];
     1128#endif
    10931129          diff [edgeType] += (orgLine[x] - srcLine[x]);
    10941130          count[edgeType] ++;
     
    11051141          for (x=startX; x<endX; x++)
    11061142          {
     1143#if SAO_SGN_FUNC
     1144            signDown = (Char)sgn(srcLine[x] - srcLineBelow[x+1]);
     1145#else
    11071146            signDown = (Char)m_sign[srcLine[x] - srcLineBelow[x+1]] ;
     1147#endif
    11081148            edgeType = signDown + signUpLine[x];
    11091149            diff [edgeType] += (orgLine[x] - srcLine[x]);
     
    11121152            signDownLine[x+1] = -signDown;
    11131153          }
     1154#if SAO_SGN_FUNC
     1155          signDownLine[startX] = (Char)sgn(srcLineBelow[startX] - srcLine[startX-1]);
     1156#else
    11141157          signDownLine[startX] = (Char)m_sign[srcLineBelow[startX] - srcLine[startX-1]];
     1158#endif
    11151159
    11161160          signTmpLine  = signUpLine;
     
    11361180              for (x=startX; x< endX; x++)
    11371181              {
     1182#if SAO_SGN_FUNC
     1183                edgeType = sgn(srcLine[x] - srcLineBelow[x+1]) + sgn(srcLine[x] - srcLineAbove[x-1]);
     1184#else
    11381185                edgeType = m_sign[srcLine[x] - srcLineBelow[x+1]] + m_sign[srcLine[x] - srcLineAbove[x-1]];
     1186#endif
    11391187                diff [edgeType] += (orgLine[x] - srcLine[x]);
    11401188                count[edgeType] ++;
     
    11741222        for (x=startX-1; x<endX; x++)
    11751223        {
     1224#if SAO_SGN_FUNC
     1225          signUpLine[x] = (Char)sgn(srcLineBelow[x] - srcLine[x+1]);
     1226#else
    11761227          signUpLine[x] = (Char)m_sign[srcLineBelow[x] - srcLine[x+1]];
     1228#endif
    11771229        }
    11781230
     
    11931245        for(x=firstLineStartX; x<firstLineEndX; x++)
    11941246        {
     1247#if SAO_SGN_FUNC
     1248          edgeType = sgn(srcLine[x] - srcLineAbove[x+1]) - signUpLine[x-1];
     1249#else
    11951250          edgeType = m_sign[srcLine[x] - srcLineAbove[x+1]] - signUpLine[x-1];
     1251#endif
    11961252          diff [edgeType] += (orgLine[x] - srcLine[x]);
    11971253          count[edgeType] ++;
     
    12081264          for(x=startX; x<endX; x++)
    12091265          {
     1266#if SAO_SGN_FUNC
     1267            signDown = (Char)sgn(srcLine[x] - srcLineBelow[x-1]);
     1268#else
    12101269            signDown = (Char)m_sign[srcLine[x] - srcLineBelow[x-1]] ;
     1270#endif
    12111271            edgeType = signDown + signUpLine[x];
    12121272
     
    12161276            signUpLine[x-1] = -signDown;
    12171277          }
     1278#if SAO_SGN_FUNC
     1279          signUpLine[endX-1] = (Char)sgn(srcLineBelow[endX-1] - srcLine[endX]);
     1280#else
    12181281          signUpLine[endX-1] = (Char)m_sign[srcLineBelow[endX-1] - srcLine[endX]];
     1282#endif
    12191283          srcLine  += srcStride;
    12201284          orgLine  += orgStride;
     
    12351299              for (x=startX; x<endX; x++)
    12361300              {
     1301#if SAO_SGN_FUNC
     1302                edgeType = sgn(srcLine[x] - srcLineBelow[x-1]) + sgn(srcLine[x] - srcLineAbove[x+1]);
     1303#else
    12371304                edgeType = m_sign[srcLine[x] - srcLineBelow[x-1]] + m_sign[srcLine[x] - srcLineAbove[x+1]];
     1305#endif
    12381306                diff [edgeType] += (orgLine[x] - srcLine[x]);
    12391307                count[edgeType] ++;
Note: See TracChangeset for help on using the changeset viewer.