Changeset 9 in SHVCSoftware


Ignore:
Timestamp:
16 Nov 2012, 18:59:17 (12 years ago)
Author:
seregin
Message:

Bug fix for IntraBL 4x4 transform using inverse DCT. Patch was provided by Patrice Onno <Patrice.Onno@…>

Location:
branches/0.1.1-bugfix/source/Lib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/0.1.1-bugfix/source/Lib/TLibCommon/CommonDef.h

    r6 r9  
    5656// ====================================================================================================================
    5757
    58 #define NV_VERSION        "0.1.1"                 ///< Current software version
     58#define NV_VERSION        "0.1.1bf"                 ///< Current software version
    5959
    6060// ====================================================================================================================
  • branches/0.1.1-bugfix/source/Lib/TLibCommon/TypeDef.h

    r2 r9  
    5555#else
    5656#define INTRA_BL                         1      ///< inter-layer texture prediction
     57#if INTRA_BL
     58#define INTRA_BL_DCT_FIX                 1      ///< fix : use DCT reconstruction instead of DST
     59#endif
    5760// Hooks
    5861#if !AVC_BASE
  • branches/0.1.1-bugfix/source/Lib/TLibDecoder/TDecCu.cpp

    r2 r9  
    556556  Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)TEXT_LUMA];
    557557  assert(scalingListType < 6);
     558#if INTRA_BL_DCT_FIX
     559  if(pcCU->isIntraBL(uiAbsPartIdx))
     560  {
     561    m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip );
     562  }
     563  else
     564  {
     565    m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA, pcCU->getLumaIntraDir( uiAbsPartIdx ), piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip );
     566  }
     567#else
    558568  m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA, pcCU->getLumaIntraDir( uiAbsPartIdx ), piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip );
     569#endif
    559570
    560571 
  • branches/0.1.1-bugfix/source/Lib/TLibEncoder/TEncSearch.cpp

    r6 r9  
    11451145    Int scalingListType = 0 + g_eTTable[(Int)TEXT_LUMA];
    11461146    assert(scalingListType < 6);
     1147#if INTRA_BL_DCT_FIX
     1148    if(pcCU->isIntraBL(uiAbsPartIdx))
     1149    {
     1150      m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip );
     1151    }
     1152    else
     1153    {
     1154      m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA,pcCU->getLumaIntraDir( uiAbsPartIdx ), piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip );
     1155    }
     1156#else
    11471157    m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA,pcCU->getLumaIntraDir( uiAbsPartIdx ), piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip );
     1158#endif
    11481159  }
    11491160  else
Note: See TracChangeset for help on using the changeset viewer.