Changeset 627 in SHVCSoftware for branches/SHM-5.1-dev/source/App/TAppEncoder


Ignore:
Timestamp:
12 Mar 2014, 22:06:13 (12 years ago)
Author:
qualcomm
Message:

JCTVC-P312: vertical phase adjustment for interlace-to-progressive scalability, from Jianle Chen (cjianle@…)

Location:
branches/SHM-5.1-dev/source/App/TAppEncoder
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r624 r627  
    385385  string    cfg_scaledRefLayerBottomOffset [MAX_LAYERS];
    386386  Int*      cfg_numScaledRefLayerOffsets[MAX_LAYERS];
     387#if P0312_VERT_PHASE_ADJ
     388  string    cfg_vertPhasePositionEnableFlag[MAX_LAYERS];
     389#endif
    387390
    388391#if O0098_SCALED_REF_LAYER_ID
     
    393396  string*    cfg_scaledRefLayerRightOffsetPtr  [MAX_LAYERS];
    394397  string*    cfg_scaledRefLayerBottomOffsetPtr [MAX_LAYERS];
     398  #if P0312_VERT_PHASE_ADJ
     399  string*    cfg_vertPhasePositionEnableFlagPtr[MAX_LAYERS];
     400#endif
     401
    395402#if RC_SHVC_HARMONIZATION
    396403  Bool*   cfg_RCEnableRateControl  [MAX_LAYERS];
     
    457464      cfg_scaledRefLayerRightOffsetPtr [layer] = &cfg_scaledRefLayerRightOffset[layer] ;
    458465      cfg_scaledRefLayerBottomOffsetPtr[layer] = &cfg_scaledRefLayerBottomOffset[layer];
     466#if P0312_VERT_PHASE_ADJ
     467      cfg_vertPhasePositionEnableFlagPtr [layer]   = &cfg_vertPhasePositionEnableFlag[layer] ;
     468#endif
    459469    }
    460470#if RC_SHVC_HARMONIZATION
     
    569579                                                                 " bottom-right luma sample of the EL picture, in units of two luma samples")
    570580  ("ScaledRefLayerBottomOffset%d", cfg_scaledRefLayerBottomOffsetPtr,string(""), MAX_LAYERS, "Vertical offset of bottom-right luma sample of scaled base layer picture with respect to"
    571                                                                  " bottom-right luma sample of the EL picture, in units of two luma samples")
     581  " bottom-right luma sample of the EL picture, in units of two luma samples")
     582#if P0312_VERT_PHASE_ADJ
     583  ("VertPhasePositionEnableFlag%d", cfg_vertPhasePositionEnableFlagPtr,string(""), MAX_LAYERS, "VertPhasePositionEnableFlag for layer %d")
     584#endif
    572585#if O0194_DIFFERENT_BITDEPTH_EL_BL
    573586  ("InputBitDepth%d",       cfg_InputBitDepthY,    8, MAX_LAYERS, "Bit-depth of input file for layer %d")
     
    10721085      assert( strcmp(cfg_scaledRefLayerId[layer].c_str(),  ""));
    10731086#endif
     1087#if P0312_VERT_PHASE_ADJ
    10741088      assert( strcmp(cfg_scaledRefLayerLeftOffset[layer].c_str(),  "") ||
    10751089              strcmp(cfg_scaledRefLayerRightOffset[layer].c_str(), "") ||
    10761090              strcmp(cfg_scaledRefLayerTopOffset[layer].c_str(),   "") ||
    1077               strcmp(cfg_scaledRefLayerBottomOffset[layer].c_str(),"")
    1078             );
     1091              strcmp(cfg_scaledRefLayerBottomOffset[layer].c_str(),"") ||
     1092              strcmp(cfg_vertPhasePositionEnableFlag[layer].c_str(),"") );
     1093#else
     1094      assert( strcmp(cfg_scaledRefLayerLeftOffset[layer].c_str(),  "") ||
     1095              strcmp(cfg_scaledRefLayerRightOffset[layer].c_str(), "") ||
     1096              strcmp(cfg_scaledRefLayerTopOffset[layer].c_str(),   "") ||
     1097              strcmp(cfg_scaledRefLayerBottomOffset[layer].c_str(),"") );
     1098#endif
    10791099    }
    10801100
     
    11521172      }
    11531173    }
     1174#if P0312_VERT_PHASE_ADJ
     1175   // VertPhasePositionEnableFlag //
     1176    if(strcmp(cfg_vertPhasePositionEnableFlag[layer].c_str(),  ""))
     1177    {
     1178      cfgStringToArray( &tempArray, cfg_vertPhasePositionEnableFlag[layer], m_acLayerCfg[layer].m_numScaledRefLayerOffsets, "VertPhasePositionEnableFlag");
     1179      if(tempArray)
     1180      {
     1181        for(Int i = 0; i < m_acLayerCfg[layer].m_numScaledRefLayerOffsets; i++)
     1182        {
     1183          m_acLayerCfg[layer].m_vertPhasePositionEnableFlag[i] = tempArray[i];
     1184        }
     1185        delete [] tempArray; tempArray = NULL;
     1186      }
     1187    }
     1188#endif
    11541189  }
    11551190#if VPS_EXTN_DIRECT_REF_LAYERS
  • branches/SHM-5.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp

    r540 r627  
    6060  ::memset(m_scaledRefLayerRightOffset,  0, sizeof(m_scaledRefLayerRightOffset));
    6161  ::memset(m_scaledRefLayerBottomOffset, 0, sizeof(m_scaledRefLayerBottomOffset));
     62#if P0312_VERT_PHASE_ADJ
     63  ::memset(m_vertPhasePositionEnableFlag,    0, sizeof(m_vertPhasePositionEnableFlag));
     64#endif
    6265}
    6366
  • branches/SHM-5.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.h

    r588 r627  
    9797  Int       m_scaledRefLayerRightOffset [MAX_LAYERS];
    9898  Int       m_scaledRefLayerBottomOffset[MAX_LAYERS];
     99#if P0312_VERT_PHASE_ADJ
     100  Bool      m_vertPhasePositionEnableFlag[MAX_LAYERS];
     101#endif
     102
    99103#if O0194_DIFFERENT_BITDEPTH_EL_BL
    100104  Int       m_inputBitDepthY;                               ///< bit-depth of input file (luma component)
  • branches/SHM-5.1-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r624 r627  
    570570        m_acTEncTop[layer].setScaledRefLayerId(i, m_acLayerCfg[layer].m_scaledRefLayerId[i]);
    571571#endif
     572#if P0312_VERT_PHASE_ADJ
     573        m_acTEncTop[layer].setVertPhasePositionEnableFlag( i, m_acLayerCfg[layer].m_vertPhasePositionEnableFlag[i]);
     574        m_acTEncTop[layer].getScaledRefLayerWindow(i).setWindow( 2*m_acLayerCfg[layer].m_scaledRefLayerLeftOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerRightOffset[i],
     575                                                  2*m_acLayerCfg[layer].m_scaledRefLayerTopOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerBottomOffset[i], m_acLayerCfg[layer].m_vertPhasePositionEnableFlag[i], false);
     576#else
    572577        m_acTEncTop[layer].getScaledRefLayerWindow(i).setWindow( 2*m_acLayerCfg[layer].m_scaledRefLayerLeftOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerRightOffset[i],
    573578                                                  2*m_acLayerCfg[layer].m_scaledRefLayerTopOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerBottomOffset[i]);
     579#endif
    574580      }
    575581    }
Note: See TracChangeset for help on using the changeset viewer.