Changeset 677 in SHVCSoftware for branches/SHM-6-dev/source/Lib/TLibCommon


Ignore:
Timestamp:
15 Apr 2014, 05:23:37 (11 years ago)
Author:
qualcomm
Message:

Integration of JCTVC-Q0048 Asymmetric 3D LUT based CGS

Location:
branches/SHM-6-dev/source/Lib/TLibCommon
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComPic.h

    r652 r677  
    8989  TComPicYuv*           m_pcFullPelBaseRec[MAX_LAYERS];    // upsampled base layer recontruction for difference domain inter prediction
    9090#endif
     91#if Q0048_CGS_3D_ASYMLUT
     92  Int                   m_nFrameBit;
     93#endif
    9194
    9295public:
     
    220223#endif
    221224
     225#if Q0048_CGS_3D_ASYMLUT
     226  Void  setFrameBit( Int n )  { m_nFrameBit = n;    }
     227  Int   getFrameBit()         { return m_nFrameBit; }
     228#endif
    222229};// END CLASS DEFINITION TComPic
    223230
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.h

    r672 r677  
    17441744  Bool     m_pocResetInfoPresentFlag;
    17451745#endif
     1746#if Q0048_CGS_3D_ASYMLUT
     1747  Int      m_nCGSFlag;
     1748  Int      m_nCGSOutputBitDepthY; // not for syntax
     1749  Int      m_nCGSOutputBitDepthC; // not for syntax
     1750#endif
    17461751#endif
    17471752
     
    18841889  Bool getPocResetInfoPresentFlag   ()                    { return m_pocResetInfoPresentFlag; }
    18851890  Void setPocResetInfoPresentFlag   (const Bool val)      { m_pocResetInfoPresentFlag = val; }
     1891#endif
     1892#if Q0048_CGS_3D_ASYMLUT
     1893  Int     getCGSFlag()     { return m_nCGSFlag;  }
     1894  Void    setCGSFlag(Int n){ m_nCGSFlag = n;     }
     1895  Int     getCGSOutputBitDepthY()     { return m_nCGSOutputBitDepthY;  }
     1896  Void    setCGSOutputBitDepthY(Int n){ m_nCGSOutputBitDepthY = n;     }
     1897  Int     getCGSOutputBitDepthC()     { return m_nCGSOutputBitDepthC;  }
     1898  Void    setCGSOutputBitDepthC(Int n){ m_nCGSOutputBitDepthC = n;     }
    18861899#endif
    18871900};
     
    20472060  Bool        m_pocMsbValRequiredFlag;
    20482061  Bool        m_pocMsbValPresentFlag;
     2062#endif
     2063#if Q0048_CGS_3D_ASYMLUT
     2064  Int        m_nCGSOverWritePPS;  // for optimization, not output to bitstream
    20492065#endif
    20502066#endif //SVC_EXTENSION
     
    21642180#if SVC_EXTENSION
    21652181  Void      setRefPicList       ( TComList<TComPic*>& rcListPic, Bool checkNumPocTotalCurr = false, TComPic** ilpPic = NULL );
     2182#if Q0048_CGS_3D_ASYMLUT
     2183  Int       getCGSOverWritePPS()              { return m_nCGSOverWritePPS;    }
     2184  Void      setCGSOverWritePPS(Int n)         { m_nCGSOverWritePPS = n;       }
     2185#endif
    21662186#else
    21672187  Void      setRefPicList       ( TComList<TComPic*>& rcListPic, Bool checkNumPocTotalCurr = false );
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp

    r644 r677  
    172172#if O0194_JOINT_US_BITSHIFT
    173173    Int shift = g_bitDepthYLayer[currLayerId] - g_bitDepthYLayer[refLayerId];
     174#if Q0048_CGS_3D_ASYMLUT
     175    if( currSlice->getPPS()->getCGSFlag() )
     176    {
     177      shift = g_bitDepthYLayer[currLayerId] - currSlice->getPPS()->getCGSOutputBitDepthY();
     178    }
     179    assert( shift >= 0 );
     180#endif
    174181#endif
    175182
     
    205212#if O0194_JOINT_US_BITSHIFT
    206213    shift = g_bitDepthCLayer[currLayerId] - g_bitDepthCLayer[refLayerId];
     214#if Q0048_CGS_3D_ASYMLUT
     215    if( currSlice->getPPS()->getCGSFlag() )
     216    {
     217      shift = g_bitDepthCLayer[currLayerId] - currSlice->getPPS()->getCGSOutputBitDepthC();
     218    }
     219#endif
    207220#endif
    208221
     
    297310    // g_bitDepthY was set to EL bit-depth, but shift1 should be calculated using BL bit-depth
    298311    Int shift1 = g_bitDepthYLayer[refLayerId] - 8;
     312#if Q0048_CGS_3D_ASYMLUT
     313    if( currSlice->getPPS()->getCGSFlag() )
     314    {
     315      shift1 = currSlice->getPPS()->getCGSOutputBitDepthY() - 8;
     316    }
     317#endif
    299318#else
    300319    Int shift1 = g_bitDepthY - 8;
     
    444463    // g_bitDepthC was set to EL bit-depth, but shift1 should be calculated using BL bit-depth
    445464    shift1 = g_bitDepthCLayer[refLayerId] - 8;
     465#if Q0048_CGS_3D_ASYMLUT
     466    if( currSlice->getPPS()->getCGSFlag() )
     467    {
     468      shift1 = currSlice->getPPS()->getCGSOutputBitDepthC() - 8;
     469    }
     470#endif
    446471#else
    447472    shift1 = g_bitDepthC - 8;
  • branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h

    r673 r677  
    8686#define O0194_JOINT_US_BITSHIFT          1      ///< JCTVC-O0194: Joint Upsampling and bit-shift
    8787#endif
     88#define Q0048_CGS_3D_ASYMLUT                   1
     89#if Q0048_CGS_3D_ASYMLUT
     90#define Q0048_CGS_3D_ASYMLUT_OFF               0
     91#define Q0048_CGS_3D_ASYMLUT_PPSUPDATE         1
     92#define O0194_WEIGHTED_PREDICTION_CGS    0
     93#else
    8894#define O0194_WEIGHTED_PREDICTION_CGS    1      ///< JCTVC-O0194: Weighted prediciton for color gamut scalability
     95#endif
    8996#define MFM_ENCCONSTRAINT                1      ///< JCTVC-O0216: Encoder constraint for motion field mapping
    9097#define VPS_NUH_LAYER_ID                 1      ///< JCTVC-N0085: Assert that the nuh_layer_id of VPS NAL unit should be 0
Note: See TracChangeset for help on using the changeset viewer.