Changeset 633 in SHVCSoftware


Ignore:
Timestamp:
17 Mar 2014, 19:12:54 (11 years ago)
Author:
seregin
Message:

add scaled_ref_layer_id[ i ] into vert_phase_position_enable_flag, RefPicLayerId[ i ]] into vert_phase_position_flag, and encoder setting for vert_phase_position_in_use_flag

Location:
branches/SHM-5.1-dev/source
Files:
12 edited

Legend:

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

    r627 r633  
    396396  string*    cfg_scaledRefLayerRightOffsetPtr  [MAX_LAYERS];
    397397  string*    cfg_scaledRefLayerBottomOffsetPtr [MAX_LAYERS];
    398   #if P0312_VERT_PHASE_ADJ
     398#if P0312_VERT_PHASE_ADJ
    399399  string*    cfg_vertPhasePositionEnableFlagPtr[MAX_LAYERS];
    400400#endif
     
    458458    {
    459459#if O0098_SCALED_REF_LAYER_ID
    460       cfg_scaledRefLayerIdPtr          [layer] = &cfg_scaledRefLayerId[layer]          ;
    461 #endif
    462       cfg_scaledRefLayerLeftOffsetPtr  [layer] = &cfg_scaledRefLayerLeftOffset[layer]  ;
    463       cfg_scaledRefLayerTopOffsetPtr   [layer] = &cfg_scaledRefLayerTopOffset[layer]   ;
    464       cfg_scaledRefLayerRightOffsetPtr [layer] = &cfg_scaledRefLayerRightOffset[layer] ;
     460      cfg_scaledRefLayerIdPtr          [layer] = &cfg_scaledRefLayerId[layer];
     461#endif
     462      cfg_scaledRefLayerLeftOffsetPtr  [layer] = &cfg_scaledRefLayerLeftOffset[layer];
     463      cfg_scaledRefLayerTopOffsetPtr   [layer] = &cfg_scaledRefLayerTopOffset[layer];
     464      cfg_scaledRefLayerRightOffsetPtr [layer] = &cfg_scaledRefLayerRightOffset[layer];
    465465      cfg_scaledRefLayerBottomOffsetPtr[layer] = &cfg_scaledRefLayerBottomOffset[layer];
    466466#if P0312_VERT_PHASE_ADJ
    467       cfg_vertPhasePositionEnableFlagPtr [layer]   = &cfg_vertPhasePositionEnableFlag[layer] ;
     467      cfg_vertPhasePositionEnableFlagPtr[layer] = &cfg_vertPhasePositionEnableFlag[layer];
    468468#endif
    469469    }
  • branches/SHM-5.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp

    r627 r633  
    6161  ::memset(m_scaledRefLayerBottomOffset, 0, sizeof(m_scaledRefLayerBottomOffset));
    6262#if P0312_VERT_PHASE_ADJ
    63   ::memset(m_vertPhasePositionEnableFlag,    0, sizeof(m_vertPhasePositionEnableFlag));
     63  ::memset(m_vertPhasePositionEnableFlag, 0, sizeof(m_vertPhasePositionEnableFlag));
    6464#endif
    6565}
  • branches/SHM-5.1-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r628 r633  
    571571#endif
    572572#if P0312_VERT_PHASE_ADJ
    573         m_acTEncTop[layer].setVertPhasePositionEnableFlag( i, m_acLayerCfg[layer].m_vertPhasePositionEnableFlag[i]);
     573        m_acTEncTop[layer].setVertPhasePositionEnableFlag( i, m_acLayerCfg[layer].m_vertPhasePositionEnableFlag[i] );
    574574        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);
     575                                                  2*m_acLayerCfg[layer].m_scaledRefLayerTopOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerBottomOffset[i], m_acLayerCfg[layer].m_vertPhasePositionEnableFlag[i] );
    576576#else
    577577        m_acTEncTop[layer].getScaledRefLayerWindow(i).setWindow( 2*m_acLayerCfg[layer].m_scaledRefLayerLeftOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerRightOffset[i],
     
    13591359#endif
    13601360
     1361#if P0312_VERT_PHASE_ADJ
     1362  Bool vpsVuiVertPhaseInUseFlag = false;
     1363  for( UInt layerId = 1; layerId < m_numLayers; layerId++ )
     1364  {
     1365    for(Int i = 0; i < m_acLayerCfg[layerId].m_numScaledRefLayerOffsets; i++)
     1366    {
     1367      if( m_acTEncTop[layerId].getVertPhasePositionEnableFlag(i) )
     1368      {
     1369        vpsVuiVertPhaseInUseFlag = true;
     1370        break;
     1371      }
     1372    }
     1373  }
     1374  vps->setVpsVuiVertPhaseInUseFlag( vpsVuiVertPhaseInUseFlag );
     1375#endif
     1376
    13611377#if O0164_MULTI_LAYER_HRD
    13621378  vps->setVpsVuiBspHrdPresentFlag(false);
  • branches/SHM-5.1-dev/source/Lib/TLibCommon/TComSlice.h

    r631 r633  
    569569#endif
    570570#if P0068_CROSS_LAYER_ALIGNED_IDR_ONLY_FOR_IRAP_FLAG
    571   Bool       m_crossLayerAlignedIdrOnlyFlag;;
     571  Bool       m_crossLayerAlignedIdrOnlyFlag;
    572572#endif
    573573#if O0225_MAX_TID_FOR_REF_LAYERS
     
    602602#endif
    603603#if N0160_VUI_EXT_ILP_REF   
    604   Bool        m_ilpRestrictedRefLayersFlag;
    605   Int         m_minSpatialSegmentOffsetPlus1[MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
    606   Bool        m_ctuBasedOffsetEnabledFlag   [MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
    607   Int         m_minHorizontalCtuOffsetPlus1 [MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
     604  Bool       m_ilpRestrictedRefLayersFlag;
     605  Int        m_minSpatialSegmentOffsetPlus1[MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
     606  Bool       m_ctuBasedOffsetEnabledFlag   [MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
     607  Int        m_minHorizontalCtuOffsetPlus1 [MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
    608608#endif
    609609#if VPS_VUI_VIDEO_SIGNAL
    610   Bool        m_vidSigPresentVpsFlag;
    611   Int         m_vpsVidSigInfo;
    612   Int         m_vpsVidSigIdx[MAX_VPS_LAYER_ID_PLUS1];
    613   Int         m_vpsVidFormat[16];
    614   Bool        m_vpsFullRangeFlag[16];
    615   Int         m_vpsColorPrimaries[16];
    616   Int         m_vpsTransChar[16];
    617   Int         m_vpsMatCoeff[16];
     610  Bool       m_vidSigPresentVpsFlag;
     611  Int        m_vpsVidSigInfo;
     612  Int        m_vpsVidSigIdx[MAX_VPS_LAYER_ID_PLUS1];
     613  Int        m_vpsVidFormat[16];
     614  Bool       m_vpsFullRangeFlag[16];
     615  Int        m_vpsColorPrimaries[16];
     616  Int        m_vpsTransChar[16];
     617  Int        m_vpsMatCoeff[16];
    618618#endif
    619619#if VPS_VUI_BITRATE_PICRATE
    620   Bool        m_bitRatePresentVpsFlag;
    621   Bool        m_picRatePresentVpsFlag;
    622   Bool        m_bitRatePresentFlag  [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    623   Bool        m_picRatePresentFlag  [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    624   Int         m_avgBitRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    625   Int         m_maxBitRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    626   Int         m_constPicRateIdc     [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    627   Int         m_avgPicRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
     620  Bool       m_bitRatePresentVpsFlag;
     621  Bool       m_picRatePresentVpsFlag;
     622  Bool       m_bitRatePresentFlag  [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
     623  Bool       m_picRatePresentFlag  [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
     624  Int        m_avgBitRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
     625  Int        m_maxBitRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
     626  Int        m_constPicRateIdc     [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
     627  Int        m_avgPicRate          [MAX_VPS_LAYER_SETS_PLUS1][MAX_TLAYER];
    628628#endif
    629629 
    630630#if P0312_VERT_PHASE_ADJ
    631   Bool        m_vpsVuiVertPhaseInUseFlag;
     631  Bool       m_vpsVuiVertPhaseInUseFlag;
    632632#endif
    633633
     
    647647#if VIEW_ID_RELATED_SIGNALING
    648648#if O0109_VIEW_ID_LEN
    649   Int         m_viewIdLen;
     649  Int        m_viewIdLen;
    650650#else
    651   Int         m_viewIdLenMinus1;
    652 #endif
    653   Int         m_viewIdVal                [MAX_LAYERS];
     651  Int        m_viewIdLenMinus1;
     652#endif
     653  Int        m_viewIdVal                [MAX_LAYERS];
    654654#endif
    655655
     
    663663#endif
    664664#if SPS_DPB_PARAMS
    665     Int         m_TolsIdx;
     665  Int        m_TolsIdx;
    666666#endif
    667667#if VPS_DPB_SIZE_TABLE
    668   Bool    m_subLayerFlagInfoPresentFlag [MAX_VPS_OP_LAYER_SETS_PLUS1];
    669   Bool    m_subLayerDpbInfoPresentFlag  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
    670   Int     m_maxVpsDecPicBufferingMinus1 [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS][MAX_TLAYER];
     668  Bool       m_subLayerFlagInfoPresentFlag [MAX_VPS_OP_LAYER_SETS_PLUS1];
     669  Bool       m_subLayerDpbInfoPresentFlag  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
     670  Int        m_maxVpsDecPicBufferingMinus1 [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS][MAX_TLAYER];
    671671#if RESOLUTION_BASED_DPB
    672   Int     m_maxVpsLayerDecPicBuffMinus1 [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS][MAX_TLAYER]; 
    673 #endif
    674   Int     m_maxVpsNumReorderPics        [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
    675   Int     m_maxVpsLatencyIncreasePlus1  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
     672  Int        m_maxVpsLayerDecPicBuffMinus1 [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS][MAX_TLAYER]; 
     673#endif
     674  Int        m_maxVpsNumReorderPics        [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
     675  Int        m_maxVpsLatencyIncreasePlus1  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
    676676#if CHANGE_NUMSUBDPB_IDX
    677   Int     m_numSubDpbs                  [MAX_VPS_LAYER_SETS_PLUS1];
     677  Int        m_numSubDpbs                  [MAX_VPS_LAYER_SETS_PLUS1];
    678678#else
    679   Int     m_numSubDpbs                  [MAX_VPS_OP_LAYER_SETS_PLUS1];
     679  Int        m_numSubDpbs                  [MAX_VPS_OP_LAYER_SETS_PLUS1];
    680680#endif
    681681#endif
     
    698698
    699699#if P0182_VPS_VUI_PS_FLAG
    700   UInt        m_SPSId[MAX_LAYERS];
    701   UInt        m_PPSId[MAX_LAYERS];
    702   UInt        m_baseLayerPSCompatibilityFlag[MAX_LAYERS];
     700  UInt       m_SPSId[MAX_LAYERS];
     701  UInt       m_PPSId[MAX_LAYERS];
     702  UInt       m_baseLayerPSCompatibilityFlag[MAX_LAYERS];
    703703#endif
    704704
    705705#if !P0307_REMOVE_VPS_VUI_OFFSET
    706706#if VPS_VUI_OFFSET
    707   Int     m_vpsVuiOffset;
     707  Int        m_vpsVuiOffset;
    708708#endif
    709709#endif
    710710#if P0307_VPS_NON_VUI_EXTENSION
    711   Int     m_vpsNonVuiExtLength;
     711  Int        m_vpsNonVuiExtLength;
    712712#endif
    713713#if RESOLUTION_BASED_DPB
    714   Int     m_subDpbAssigned            [MAX_VPS_LAYER_SETS_PLUS1][MAX_LAYERS];
     714  Int        m_subDpbAssigned            [MAX_VPS_LAYER_SETS_PLUS1][MAX_LAYERS];
    715715#endif
    716716#endif //SVC_EXTENSION
     
    943943#endif
    944944#if VPS_TSLAYERS
    945     Bool   getMaxTSLayersPresentFlag()                                  { return m_maxTSLayersPresentFlag ;}
    946     Void   setMaxTSLayersPresentFlag(Bool x)                            { m_maxTSLayersPresentFlag = x;}
    947     UInt   getMaxTSLayersMinus1(Int layerId)                            { return m_maxTSLayerMinus1[layerId];}
    948     Void   setMaxTSLayersMinus1(Int layerId, UInt maxTSublayer)         { m_maxTSLayerMinus1[layerId] = maxTSublayer;}
     945  Bool   getMaxTSLayersPresentFlag()                                  { return m_maxTSLayersPresentFlag ;}
     946  Void   setMaxTSLayersPresentFlag(Bool x)                            { m_maxTSLayersPresentFlag = x;}
     947  UInt   getMaxTSLayersMinus1(Int layerId)                            { return m_maxTSLayerMinus1[layerId];}
     948  Void   setMaxTSLayersMinus1(Int layerId, UInt maxTSublayer)         { m_maxTSLayerMinus1[layerId] = maxTSublayer;}
    949949#endif
    950950#if M0040_ADAPTIVE_RESOLUTION_CHANGE
     
    975975#endif
    976976#if N0160_VUI_EXT_ILP_REF 
    977   Bool  getIlpRestrictedRefLayersFlag   ( )                                        { return m_ilpRestrictedRefLayersFlag        ;}
    978   Void  setIlpRestrictedRefLayersFlag   ( Int val )                                { m_ilpRestrictedRefLayersFlag         = val;}
    979  
    980   Int  getMinSpatialSegmentOffsetPlus1( Int currLayerId, Int refLayerId )          { return m_minSpatialSegmentOffsetPlus1[currLayerId][refLayerId];}
    981   Void setMinSpatialSegmentOffsetPlus1( Int currLayerId, Int refLayerId, Int val ) { m_minSpatialSegmentOffsetPlus1[currLayerId][refLayerId] = val;}
    982  
    983   Bool getCtuBasedOffsetEnabledFlag   ( Int currLayerId, Int refLayerId )            { return m_ctuBasedOffsetEnabledFlag[currLayerId][refLayerId];}
    984   Void setCtuBasedOffsetEnabledFlag   ( Int currLayerId, Int refLayerId, Bool flag ) { m_ctuBasedOffsetEnabledFlag[currLayerId][refLayerId] = flag;}
    985  
    986   Int  getMinHorizontalCtuOffsetPlus1 ( Int currLayerId, Int refLayerId )            { return m_minHorizontalCtuOffsetPlus1[currLayerId][refLayerId];}
    987   Void setMinHorizontalCtuOffsetPlus1 ( Int currLayerId, Int refLayerId, Int val )   { m_minHorizontalCtuOffsetPlus1[currLayerId][refLayerId] = val;} 
     977  Bool   getIlpRestrictedRefLayersFlag   ( )                                        { return m_ilpRestrictedRefLayersFlag        ;}
     978  Void   setIlpRestrictedRefLayersFlag   ( Int val )                                { m_ilpRestrictedRefLayersFlag         = val;}
     979 
     980  Int    getMinSpatialSegmentOffsetPlus1( Int currLayerId, Int refLayerId )          { return m_minSpatialSegmentOffsetPlus1[currLayerId][refLayerId];}
     981  Void   setMinSpatialSegmentOffsetPlus1( Int currLayerId, Int refLayerId, Int val ) { m_minSpatialSegmentOffsetPlus1[currLayerId][refLayerId] = val;}
     982 
     983  Bool   getCtuBasedOffsetEnabledFlag   ( Int currLayerId, Int refLayerId )            { return m_ctuBasedOffsetEnabledFlag[currLayerId][refLayerId];}
     984  Void   setCtuBasedOffsetEnabledFlag   ( Int currLayerId, Int refLayerId, Bool flag ) { m_ctuBasedOffsetEnabledFlag[currLayerId][refLayerId] = flag;}
     985 
     986  Int    getMinHorizontalCtuOffsetPlus1 ( Int currLayerId, Int refLayerId )            { return m_minHorizontalCtuOffsetPlus1[currLayerId][refLayerId];}
     987  Void   setMinHorizontalCtuOffsetPlus1 ( Int currLayerId, Int refLayerId, Int val )   { m_minHorizontalCtuOffsetPlus1[currLayerId][refLayerId] = val;} 
    988988#endif
    989989#if VPS_VUI_VIDEO_SIGNAL
    990     Bool   getVideoSigPresentVpsFlag()           { return m_vidSigPresentVpsFlag; }
    991     Void   setVideoSigPresentVpsFlag(Bool x)     { m_vidSigPresentVpsFlag = x;    }
    992     Int    getNumVideoSignalInfo()               { return m_vpsVidSigInfo;        }
    993     Void   setNumVideoSignalInfo(Int x)          { m_vpsVidSigInfo = x;           }
    994     Int    getVideoSignalInfoIdx(Int idx)        { return m_vpsVidSigIdx[idx];    }
    995     Void   setVideoSignalInfoIdx(Int idx, Int x) { m_vpsVidSigIdx[idx] = x;       }
    996     Int    getVideoVPSFormat(Int idx)            { return m_vpsVidFormat[idx];    }
    997     Void   setVideoVPSFormat(Int idx, Int x)     { m_vpsVidFormat[idx] = x;       }
    998     Bool   getVideoFullRangeVpsFlag(Int idx)     { return m_vpsFullRangeFlag[idx];}
    999     Void   setVideoFullRangeVpsFlag(Int idx, Bool x) { m_vpsFullRangeFlag[idx] = x;   }
    1000     Int    getColorPrimaries(Int idx)            { return m_vpsColorPrimaries[idx];   }
    1001     Void   setColorPrimaries(Int idx, Int x)     { m_vpsColorPrimaries[idx] = x;      }
    1002     Int    getTransCharacter(Int idx)            { return m_vpsTransChar[idx];    }
    1003     Void   setTransCharacter(Int idx, Int x)     { m_vpsTransChar[idx] = x;       }
    1004     Int    getMaxtrixCoeff(Int idx)              { return m_vpsMatCoeff[idx];     }
    1005     Void   setMaxtrixCoeff(Int idx, Int x)       { m_vpsMatCoeff[idx] = x;        }
     990  Bool   getVideoSigPresentVpsFlag()           { return m_vidSigPresentVpsFlag; }
     991  Void   setVideoSigPresentVpsFlag(Bool x)     { m_vidSigPresentVpsFlag = x;    }
     992  Int    getNumVideoSignalInfo()               { return m_vpsVidSigInfo;        }
     993  Void   setNumVideoSignalInfo(Int x)          { m_vpsVidSigInfo = x;           }
     994  Int    getVideoSignalInfoIdx(Int idx)        { return m_vpsVidSigIdx[idx];    }
     995  Void   setVideoSignalInfoIdx(Int idx, Int x) { m_vpsVidSigIdx[idx] = x;       }
     996  Int    getVideoVPSFormat(Int idx)            { return m_vpsVidFormat[idx];    }
     997  Void   setVideoVPSFormat(Int idx, Int x)     { m_vpsVidFormat[idx] = x;       }
     998  Bool   getVideoFullRangeVpsFlag(Int idx)     { return m_vpsFullRangeFlag[idx];}
     999  Void   setVideoFullRangeVpsFlag(Int idx, Bool x) { m_vpsFullRangeFlag[idx] = x;   }
     1000  Int    getColorPrimaries(Int idx)            { return m_vpsColorPrimaries[idx];   }
     1001  Void   setColorPrimaries(Int idx, Int x)     { m_vpsColorPrimaries[idx] = x;      }
     1002  Int    getTransCharacter(Int idx)            { return m_vpsTransChar[idx];    }
     1003  Void   setTransCharacter(Int idx, Int x)     { m_vpsTransChar[idx] = x;       }
     1004  Int    getMaxtrixCoeff(Int idx)              { return m_vpsMatCoeff[idx];     }
     1005  Void   setMaxtrixCoeff(Int idx, Int x)       { m_vpsMatCoeff[idx] = x;        }
    10061006#endif
    10071007#if VPS_VUI_BITRATE_PICRATE
    1008   Bool getBitRatePresentVpsFlag()       { return m_bitRatePresentVpsFlag; }
    1009   Void setBitRatePresentVpsFlag(Bool x) { m_bitRatePresentVpsFlag = x;    }
    1010   Bool getPicRatePresentVpsFlag()       { return m_picRatePresentVpsFlag; }
    1011   Void setPicRatePresentVpsFlag(Bool x) { m_picRatePresentVpsFlag = x;    }
    1012 
    1013   Bool getBitRatePresentFlag(Int i, Int j)          { return m_bitRatePresentFlag[i][j]; }
    1014   Void setBitRatePresentFlag(Int i, Int j, Bool x)  { m_bitRatePresentFlag[i][j] = x;    }
    1015   Bool getPicRatePresentFlag(Int i, Int j)          { return m_picRatePresentFlag[i][j]; }
    1016   Void setPicRatePresentFlag(Int i, Int j, Bool x)  { m_picRatePresentFlag[i][j] = x;    }
    1017  
    1018   Int  getAvgBitRate(Int i, Int j)          { return m_avgBitRate[i][j]; }
    1019   Void setAvgBitRate(Int i, Int j, Int x)   { m_avgBitRate[i][j] = x;    }
    1020   Int  getMaxBitRate(Int i, Int j)          { return m_maxBitRate[i][j]; }
    1021   Void setMaxBitRate(Int i, Int j, Int x)   { m_maxBitRate[i][j] = x;    }
    1022  
    1023   Int  getConstPicRateIdc(Int i, Int j)          { return m_constPicRateIdc[i][j]; }
    1024   Void setConstPicRateIdc(Int i, Int j, Int x)   { m_constPicRateIdc[i][j] = x;    }
    1025   Int  getAvgPicRate(Int i, Int j)          { return m_avgPicRate[i][j]; }
    1026   Void setAvgPicRate(Int i, Int j, Int x)   { m_avgPicRate[i][j] = x;    }
     1008  Bool   getBitRatePresentVpsFlag()       { return m_bitRatePresentVpsFlag; }
     1009  Void   setBitRatePresentVpsFlag(Bool x) { m_bitRatePresentVpsFlag = x;    }
     1010  Bool   getPicRatePresentVpsFlag()       { return m_picRatePresentVpsFlag; }
     1011  Void   setPicRatePresentVpsFlag(Bool x) { m_picRatePresentVpsFlag = x;    }
     1012         
     1013  Bool   getBitRatePresentFlag(Int i, Int j)          { return m_bitRatePresentFlag[i][j]; }
     1014  Void   setBitRatePresentFlag(Int i, Int j, Bool x)  { m_bitRatePresentFlag[i][j] = x;    }
     1015  Bool   getPicRatePresentFlag(Int i, Int j)          { return m_picRatePresentFlag[i][j]; }
     1016  Void   setPicRatePresentFlag(Int i, Int j, Bool x)  { m_picRatePresentFlag[i][j] = x;    }
     1017         
     1018  Int    getAvgBitRate(Int i, Int j)          { return m_avgBitRate[i][j]; }
     1019  Void   setAvgBitRate(Int i, Int j, Int x)   { m_avgBitRate[i][j] = x;    }
     1020  Int    getMaxBitRate(Int i, Int j)          { return m_maxBitRate[i][j]; }
     1021  Void   setMaxBitRate(Int i, Int j, Int x)   { m_maxBitRate[i][j] = x;    }
     1022         
     1023  Int    getConstPicRateIdc(Int i, Int j)          { return m_constPicRateIdc[i][j]; }
     1024  Void   setConstPicRateIdc(Int i, Int j, Int x)   { m_constPicRateIdc[i][j] = x;    }
     1025  Int    getAvgPicRate(Int i, Int j)          { return m_avgPicRate[i][j]; }
     1026  Void   setAvgPicRate(Int i, Int j, Int x)   { m_avgPicRate[i][j] = x;    }
    10271027#endif
    10281028#if O0164_MULTI_LAYER_HRD
     
    10461046#endif
    10471047#if P0182_VPS_VUI_PS_FLAG
    1048   Int     getSPSId       (Int layer)                   { return m_SPSId[layer];          }
    1049   Void    setSPSId       (Int layer, Int val)            { m_SPSId[layer] = val;             }
    1050   Int     getPPSId       (Int layer)                   { return m_PPSId[layer];          }
    1051   Void    setPPSId       (Int layer, Int val)            { m_PPSId[layer] = val;             }
    1052   Void    setBaseLayerPSCompatibilityFlag (Int layer, int val)        { m_baseLayerPSCompatibilityFlag[layer] = val; }
    1053   Int     getBaseLayerPSCompatibilityFlag (Int layer)   { return m_baseLayerPSCompatibilityFlag[layer];}
     1048  Int    getSPSId       (Int layer)                   { return m_SPSId[layer];       }
     1049  Void   setSPSId       (Int layer, Int val)          { m_SPSId[layer] = val;        }
     1050  Int    getPPSId       (Int layer)                   { return m_PPSId[layer];       }
     1051  Void   setPPSId       (Int layer, Int val)          { m_PPSId[layer] = val;        }
     1052  Void   setBaseLayerPSCompatibilityFlag (Int layer, int val)        { m_baseLayerPSCompatibilityFlag[layer] = val; }
     1053  Int    getBaseLayerPSCompatibilityFlag (Int layer)   { return m_baseLayerPSCompatibilityFlag[layer];}
    10541054#endif
    10551055
    10561056#if P0312_VERT_PHASE_ADJ
    1057   Bool getVpsVuiVertPhaseInUseFlag()       { return m_vpsVuiVertPhaseInUseFlag; }
    1058   Void setVpsVuiVertPhaseInUseFlag(Bool x) { m_vpsVuiVertPhaseInUseFlag = x;    }
     1057  Bool   getVpsVuiVertPhaseInUseFlag()       { return m_vpsVuiVertPhaseInUseFlag; }
     1058  Void   setVpsVuiVertPhaseInUseFlag(Bool x) { m_vpsVuiVertPhaseInUseFlag = x;    }
    10591059#endif
    10601060
     
    10771077  RepFormat* getVpsRepFormat(Int idx)       { return &m_vpsRepFormat[idx];      }
    10781078
    1079   Int    getVpsRepFormatIdx(Int idx)        { return m_vpsRepFormatIdx[idx];   }
    1080   Void   setVpsRepFormatIdx(Int idx, Int x) { m_vpsRepFormatIdx[idx] = x;      }         
     1079  Int    getVpsRepFormatIdx(Int idx)        { return m_vpsRepFormatIdx[idx];    }
     1080  Void   setVpsRepFormatIdx(Int idx, Int x) { m_vpsRepFormatIdx[idx] = x;       }         
    10811081#endif
    10821082#if VIEW_ID_RELATED_SIGNALING
    10831083#if O0109_VIEW_ID_LEN
    1084   Void    setViewIdLen( Int  val )                                   { m_viewIdLen = val; }
    1085   Int     getViewIdLen(  )                                           { return m_viewIdLen; }
     1084  Void   setViewIdLen( Int  val )                                   { m_viewIdLen = val; }
     1085  Int    getViewIdLen(  )                                           { return m_viewIdLen; }
    10861086#else
    1087   Void    setViewIdLenMinus1( Int  val )                                   { m_viewIdLenMinus1 = val; }
    1088   Int     getViewIdLenMinus1(  )                                           { return m_viewIdLenMinus1; }
    1089 #endif
    1090 
    1091   Void    setViewIdVal( Int viewOrderIndex, Int  val )                     { m_viewIdVal[viewOrderIndex] = val; }
    1092   Int     getViewIdVal( Int viewOrderIndex )                               { return m_viewIdVal[viewOrderIndex]; }
    1093   Int     getScalabilityId(Int, ScalabilityType scalType );
    1094 
    1095   Int     getViewIndex    ( Int layerIdInNuh )                             { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX  ); }   
    1096 
    1097   Int     getNumViews();
    1098   Int     scalTypeToScalIdx( ScalabilityType scalType );
     1087  Void   setViewIdLenMinus1( Int  val )                             { m_viewIdLenMinus1 = val; }
     1088  Int    getViewIdLenMinus1(  )                                     { return m_viewIdLenMinus1; }
     1089#endif
     1090
     1091  Void   setViewIdVal( Int viewOrderIndex, Int  val )               { m_viewIdVal[viewOrderIndex] = val; }
     1092  Int    getViewIdVal( Int viewOrderIndex )                         { return m_viewIdVal[viewOrderIndex]; }
     1093  Int    getScalabilityId(Int, ScalabilityType scalType );
     1094
     1095  Int    getViewIndex    ( Int layerIdInNuh )                       { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX  ); }   
     1096
     1097  Int    getNumViews();
     1098  Int    scalTypeToScalIdx( ScalabilityType scalType );
    10991099#endif
    11001100#if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED
    11011101#if VPS_EXTN_OFFSET
    1102   Int     getExtensionOffset()                 { return m_extensionOffset;   }
    1103   Void    setExtensionOffset( UInt offset )    { m_extensionOffset = offset; }
     1102  Int    getExtensionOffset()                 { return m_extensionOffset;   }
     1103  Void   setExtensionOffset( UInt offset )    { m_extensionOffset = offset; }
    11041104#endif
    11051105#endif
     
    11091109#endif
    11101110#if VPS_DPB_SIZE_TABLE
    1111   Bool    getSubLayerFlagInfoPresentFlag(Int i)         {return m_subLayerFlagInfoPresentFlag[i]; }
    1112   Void    setSubLayerFlagInfoPresentFlag(Int i, Bool x) {m_subLayerFlagInfoPresentFlag[i] = x;    }
    1113 
    1114   Bool    getSubLayerDpbInfoPresentFlag(Int i, Int j)         {return m_subLayerDpbInfoPresentFlag[i][j]; }
    1115   Void    setSubLayerDpbInfoPresentFlag(Int i, Int j, Bool x) {m_subLayerDpbInfoPresentFlag[i][j] = x;    }
     1111  Bool   getSubLayerFlagInfoPresentFlag(Int i)         {return m_subLayerFlagInfoPresentFlag[i]; }
     1112  Void   setSubLayerFlagInfoPresentFlag(Int i, Bool x) {m_subLayerFlagInfoPresentFlag[i] = x;    }
     1113
     1114  Bool   getSubLayerDpbInfoPresentFlag(Int i, Int j)         {return m_subLayerDpbInfoPresentFlag[i][j]; }
     1115  Void   setSubLayerDpbInfoPresentFlag(Int i, Int j, Bool x) {m_subLayerDpbInfoPresentFlag[i][j] = x;    }
    11161116
    11171117  // For the 0-th output layer set, use the date from the active SPS for base layer.
    1118   Int     getMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j)         { assert(i != 0); return m_maxVpsDecPicBufferingMinus1[i][k][j]; }
    1119   Void    setMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j, Int x) { m_maxVpsDecPicBufferingMinus1[i][k][j] = x;    }
     1118  Int    getMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j)         { assert(i != 0); return m_maxVpsDecPicBufferingMinus1[i][k][j]; }
     1119  Void   setMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j, Int x) { m_maxVpsDecPicBufferingMinus1[i][k][j] = x;    }
    11201120
    11211121#if RESOLUTION_BASED_DPB
    1122   Int     getMaxVpsLayerDecPicBuffMinus1(Int i, Int k, Int j)        { assert(i != 0); return m_maxVpsLayerDecPicBuffMinus1[i][k][j]; }
    1123   Void    setMaxVpsLayerDecPicBuffMinus1(Int i, Int k, Int j, Int x) { m_maxVpsLayerDecPicBuffMinus1[i][k][j] = x;    }
    1124 #endif
    1125 
    1126   Int     getMaxVpsNumReorderPics(Int i, Int j)         { assert(i != 0); return m_maxVpsNumReorderPics[i][j]; }
    1127   Void    setMaxVpsNumReorderPics(Int i, Int j, Int x) { m_maxVpsNumReorderPics[i][j] = x;    }
    1128 
    1129   Int     getMaxVpsLatencyIncreasePlus1(Int i, Int j)         { assert(i != 0); return m_maxVpsLatencyIncreasePlus1[i][j]; }
    1130   Void    setMaxVpsLatencyIncreasePlus1(Int i, Int j, Int x) { m_maxVpsLatencyIncreasePlus1[i][j] = x;    }
    1131 
    1132   Int     getNumSubDpbs(Int i)                          { return m_numSubDpbs[i]; }
    1133   Void    setNumSubDpbs(Int i, Int x)                   { m_numSubDpbs[i] = x;    }
    1134   Void    determineSubDpbInfoFlags();
     1122  Int    getMaxVpsLayerDecPicBuffMinus1(Int i, Int k, Int j)        { assert(i != 0); return m_maxVpsLayerDecPicBuffMinus1[i][k][j]; }
     1123  Void   setMaxVpsLayerDecPicBuffMinus1(Int i, Int k, Int j, Int x) { m_maxVpsLayerDecPicBuffMinus1[i][k][j] = x;    }
     1124#endif
     1125
     1126  Int    getMaxVpsNumReorderPics(Int i, Int j)        { assert(i != 0); return m_maxVpsNumReorderPics[i][j]; }
     1127  Void   setMaxVpsNumReorderPics(Int i, Int j, Int x) { m_maxVpsNumReorderPics[i][j] = x;    }
     1128
     1129  Int    getMaxVpsLatencyIncreasePlus1(Int i, Int j)        { assert(i != 0); return m_maxVpsLatencyIncreasePlus1[i][j]; }
     1130  Void   setMaxVpsLatencyIncreasePlus1(Int i, Int j, Int x) { m_maxVpsLatencyIncreasePlus1[i][j] = x;    }
     1131
     1132  Int    getNumSubDpbs(Int i)                          { return m_numSubDpbs[i]; }
     1133  Void   setNumSubDpbs(Int i, Int x)                   { m_numSubDpbs[i] = x;    }
     1134  Void   determineSubDpbInfoFlags();
    11351135#endif
    11361136
     
    11421142#if !P0307_REMOVE_VPS_VUI_OFFSET
    11431143#if VPS_VUI_OFFSET
    1144   Int     getVpsVuiOffset()         { return m_vpsVuiOffset; }
    1145   Void    setVpsVuiOffset(Int x)    { m_vpsVuiOffset = x; }
     1144  Int    getVpsVuiOffset()         { return m_vpsVuiOffset; }
     1145  Void   setVpsVuiOffset(Int x)    { m_vpsVuiOffset = x; }
    11461146#endif
    11471147#endif
    11481148#if P0307_VPS_NON_VUI_EXTENSION
    1149   Int     getVpsNonVuiExtLength()         { return m_vpsNonVuiExtLength; }
    1150   Void    setVpsNonVuiExtLength(Int x)    { m_vpsNonVuiExtLength = x; }
     1149  Int    getVpsNonVuiExtLength()         { return m_vpsNonVuiExtLength; }
     1150  Void   setVpsNonVuiExtLength(Int x)    { m_vpsNonVuiExtLength = x; }
    11511151#endif
    11521152#if RESOLUTION_BASED_DPB
    1153   Void assignSubDpbIndices();
    1154   Int  getSubDpbAssigned  (Int lsIdx, Int layerIdx) { return m_subDpbAssigned[lsIdx][layerIdx]; }
    1155   Int  findLayerIdxInLayerSet ( Int lsIdx, Int nuhLayerId );
     1153  Void   assignSubDpbIndices();
     1154  Int    getSubDpbAssigned  (Int lsIdx, Int layerIdx) { return m_subDpbAssigned[lsIdx][layerIdx]; }
     1155  Int    findLayerIdxInLayerSet ( Int lsIdx, Int nuhLayerId );
    11561156#endif
    11571157#if O0164_MULTI_LAYER_HRD
     
    11711171#if P0312_VERT_PHASE_ADJ
    11721172  Bool          m_vertPhasePositionEnableFlag;
    1173   Bool          m_vertPhasePositionFlag;
    11741173#endif
    11751174public:
     
    11811180  , m_winBottomOffset   (0)
    11821181#if P0312_VERT_PHASE_ADJ
    1183   , m_vertPhasePositionEnableFlag(false)
    1184   , m_vertPhasePositionFlag(false)
     1182  , m_vertPhasePositionEnableFlag(false) 
    11851183#endif
    11861184  { }
     
    11881186  Bool          getWindowEnabledFlag() const      { return m_enabledFlag; }
    11891187#if P0312_VERT_PHASE_ADJ
    1190   Void          resetWindow()                     { m_enabledFlag = false; m_winLeftOffset = m_winRightOffset = m_winTopOffset = m_winBottomOffset = 0; m_vertPhasePositionEnableFlag = m_vertPhasePositionFlag = false;}
     1188  Void          resetWindow()                     { m_enabledFlag = false; m_winLeftOffset = m_winRightOffset = m_winTopOffset = m_winBottomOffset = 0; m_vertPhasePositionEnableFlag = false; }
    11911189#else
    11921190  Void          resetWindow()                     { m_enabledFlag = false; m_winLeftOffset = m_winRightOffset = m_winTopOffset = m_winBottomOffset = 0;}
     
    12021200
    12031201#if P0312_VERT_PHASE_ADJ
    1204   Bool          getVertPhasePositionEnableFlag() const     { return m_vertPhasePositionEnableFlag ; }
     1202  Bool          getVertPhasePositionEnableFlag() const     { return m_vertPhasePositionEnableFlag; }
    12051203  Void          setVertPhasePositionEnableFlag(Bool val)    { m_vertPhasePositionEnableFlag = val;  }
    1206 
    1207   Bool          getVertPhasePositionFlag() const     { return m_vertPhasePositionEnableFlag ? m_vertPhasePositionFlag: 0; }
    1208   Void          setVertPhasePositionFlag(Bool val)    { m_vertPhasePositionFlag = val;  }
    1209 
    1210   Void          setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom  , Bool vertPhasePositionEnableFlag = 0, Bool phasePosFlag = 0)
     1204  Void          setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom, Bool vertPhasePositionEnableFlag = 0)
    12111205#else
    12121206  Void          setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom)
     
    12191213    m_winBottomOffset   = offsetLBottom;
    12201214#if P0312_VERT_PHASE_ADJ
    1221     m_vertPhasePositionEnableFlag = vertPhasePositionEnableFlag;
    1222     m_vertPhasePositionFlag = phasePosFlag;
     1215    m_vertPhasePositionEnableFlag = vertPhasePositionEnableFlag;   
    12231216#endif
    12241217  }
     
    14711464
    14721465#if SVC_EXTENSION
    1473   UInt m_layerId;
     1466  UInt        m_layerId;
    14741467  UInt        m_numScaledRefLayerOffsets;
    14751468#if P0312_VERT_PHASE_ADJ
     
    14811474  Window      m_scaledRefLayerWindow[MAX_LAYERS];
    14821475#if REPN_FORMAT_IN_VPS
    1483   Bool m_updateRepFormatFlag;
     1476  Bool        m_updateRepFormatFlag;
    14841477#if O0096_REP_FORMAT_INDEX
    1485   UInt m_updateRepFormatIndex;
     1478  UInt        m_updateRepFormatIndex;
    14861479#endif
    14871480#endif
    14881481#if SCALINGLIST_INFERRING
    1489   Bool       m_inferScalingListFlag;
    1490   UInt       m_scalingListRefLayerId;
     1482  Bool        m_inferScalingListFlag;
     1483  UInt        m_scalingListRefLayerId;
    14911484#endif
    14921485#endif //SVC_EXTENSION
     
    16281621
    16291622#if SVC_EXTENSION
    1630   Void     setLayerId(UInt layerId) { m_layerId = layerId; }
    1631   UInt     getLayerId() { return m_layerId; }
    1632   UInt     getNumScaledRefLayerOffsets()  { return m_numScaledRefLayerOffsets; }
    1633   Void     setNumScaledRefLayerOffsets(Int x)  { m_numScaledRefLayerOffsets = x; }
     1623  Void     setLayerId(UInt layerId)            { m_layerId = layerId; }
     1624  UInt     getLayerId()                        { return m_layerId;    }
     1625  UInt     getNumScaledRefLayerOffsets()       { return m_numScaledRefLayerOffsets; }
     1626  Void     setNumScaledRefLayerOffsets(Int x)  { m_numScaledRefLayerOffsets = x;    }
    16341627#if P0312_VERT_PHASE_ADJ
    1635   Bool     getVertPhasePositionEnableFlag(Int x)  { return m_vertPhasePositionEnableFlag[x]; }
    1636   Void     setVertPhasePositionEnableFlag(Int x, Bool b)  { m_vertPhasePositionEnableFlag[x] = b; }
     1628  Bool     getVertPhasePositionEnableFlag(Int x)          { return m_vertPhasePositionEnableFlag[x]; }
     1629  Void     setVertPhasePositionEnableFlag(Int x, Bool b)  { m_vertPhasePositionEnableFlag[x] = b;    }
    16371630#endif
    16381631#if O0098_SCALED_REF_LAYER_ID
    16391632  UInt     getScaledRefLayerId(Int x)          { return m_scaledRefLayerId[x]; }
    1640   Void     setScaledRefLayerId(Int x, UInt id) { m_scaledRefLayerId[x] = id; }
     1633  Void     setScaledRefLayerId(Int x, UInt id) { m_scaledRefLayerId[x] = id;   }
    16411634  Window&  getScaledRefLayerWindowForLayer( Int layerId );
    16421635#endif
  • branches/SHM-5.1-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp

    r627 r633  
    129129#if P0312_VERT_PHASE_ADJ
    130130  Bool vertPhasePositionEnableFlag = scalEL.getVertPhasePositionEnableFlag();
    131   Bool vertPhasePositionFlag = scalEL.getVertPhasePositionFlag();
    132   if (vertPhasePositionFlag)
     131  Bool vertPhasePositionFlag = currSlice->getVertPhasePositionFlag( refLayerIdc );
     132  if( vertPhasePositionFlag )
    133133  {
    134     assert (vertPhasePositionEnableFlag);
     134    assert( vertPhasePositionEnableFlag );
    135135  }
    136136#endif
     
    229229    Int   phaseX = 2*phaseAlignFlag;
    230230#if P0312_VERT_PHASE_ADJ
    231     Int   phaseY = (vertPhasePositionEnableFlag?(vertPhasePositionFlag *4):(2*phaseAlignFlag));
     231    Int   phaseY = vertPhasePositionEnableFlag ? ( vertPhasePositionFlag * 4 ) : ( 2 * phaseAlignFlag );
    232232#else
    233233    Int   phaseY = 2*phaseAlignFlag;
     
    382382    Int phaseXC = phaseAlignFlag;
    383383#if P0312_VERT_PHASE_ADJ
    384     Int phaseYC = vertPhasePositionEnableFlag ? (vertPhasePositionFlag * 4):(phaseAlignFlag + 1);
     384    Int phaseYC = vertPhasePositionEnableFlag ? ( vertPhasePositionFlag * 4 ) : ( phaseAlignFlag + 1 );
    385385#else
    386386    Int phaseYC = phaseAlignFlag + 1;
     
    389389    Int phaseXC = 0;
    390390#if P0312_VERT_PHASE_ADJ
    391     Int phaseYC = vertPhasePositionEnableFlag ? (vertPhasePositionFlag * 4): 1;;
     391    Int phaseYC = vertPhasePositionEnableFlag ? (vertPhasePositionFlag * 4): 1;
    392392#else
    393393    Int phaseYC = 1;
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r632 r633  
    853853      Window& scaledWindow = pcSPS->getScaledRefLayerWindow(i);
    854854#if O0098_SCALED_REF_LAYER_ID
    855       READ_CODE( 6,  uiCode,  "scaled_ref_layer_left_id" );  pcSPS->setScaledRefLayerId( i, uiCode );
     855      READ_CODE( 6,  uiCode,  "scaled_ref_layer_id" );       pcSPS->setScaledRefLayerId( i, uiCode );
    856856#endif
    857857      READ_SVLC( iCode, "scaled_ref_layer_left_offset" );    scaledWindow.setWindowLeftOffset  (iCode << 1);
     
    860860      READ_SVLC( iCode, "scaled_ref_layer_bottom_offset" );  scaledWindow.setWindowBottomOffset(iCode << 1);
    861861#if P0312_VERT_PHASE_ADJ
    862       READ_FLAG( uiCode, "vert_phase_pos_enable_flag" );scaledWindow.setVertPhasePositionEnableFlag  (uiCode);  pcSPS->setVertPhasePositionEnableFlag(i,uiCode);
     862      READ_FLAG( uiCode, "vert_phase_position_enable_flag" ); scaledWindow.setVertPhasePositionEnableFlag(uiCode);  pcSPS->setVertPhasePositionEnableFlag( pcSPS->getScaledRefLayerId(i), uiCode);   
    863863#endif
    864864    }
     
    19431943#endif
    19441944
    1945 #if P0312_VERT_PHASE_ADJ
    1946   READ_FLAG( uiCode, "vps_vui_vert_phase_in_use_flag" ); vps->setVpsVuiVertPhaseInUseFlag(uiCode);
    1947 #endif
    1948 
    19491945#if O0109_O0199_FLAGS_TO_VUI
    19501946#if M0040_ADAPTIVE_RESOLUTION_CHANGE
     
    19551951#endif
    19561952#endif
    1957 
     1953#if P0312_VERT_PHASE_ADJ
     1954  READ_FLAG( uiCode, "vps_vui_vert_phase_in_use_flag" ); vps->setVpsVuiVertPhaseInUseFlag(uiCode);
     1955#endif
    19581956#if N0160_VUI_EXT_ILP_REF
    19591957  READ_FLAG( uiCode, "ilp_restricted_ref_layers_flag" ); vps->setIlpRestrictedRefLayersFlag( uiCode == 1 );
     
    25392537    for(Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
    25402538    {
    2541       if (rpcSlice->getSPS()->getVertPhasePositionEnableFlag(rpcSlice->getInterLayerPredLayerIdc(i)))
    2542       {
    2543         READ_FLAG( uiCode, "phase_pos_flag" ); rpcSlice->setVertPhasePositionFlag( uiCode? true: false, i);
     2539      UInt refLayerIdc = rpcSlice->getInterLayerPredLayerIdc(i);
     2540      if( rpcSlice->getSPS()->getVertPhasePositionEnableFlag(refLayerIdc) )
     2541      {
     2542        READ_FLAG( uiCode, "vert_phase_position_flag" ); rpcSlice->setVertPhasePositionFlag( uiCode? true : false, refLayerIdc );
    25442543      }
    25452544    }
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r627 r633  
    729729#endif
    730730
     731#if P0312_VERT_PHASE_ADJ
     732  if( activeVPS->getVpsVuiVertPhaseInUseFlag() == 0 )
     733  {   
     734    for(Int i = 0; i < activeSPS->getNumScaledRefLayerOffsets(); i++)
     735    {
     736      UInt scaledRefLayerId = activeSPS->getScaledRefLayerId(i);
     737      if( activeSPS->getVertPhasePositionEnableFlag( scaledRefLayerId ) )
     738      {
     739        printf("\nWarning: LayerId = %d: vert_phase_position_enable_flag[%d] = 1, however indication vert_phase_position_in_use_flag = 0\n", m_layerId, scaledRefLayerId );
     740        break;
     741      }
     742    }
     743  }
     744#endif
     745
    731746  if( pps->getDependentSliceSegmentsEnabledFlag() )
    732747  {
     
    14671482#endif
    14681483
    1469 #if P0312_VERT_PHASE_ADJ
    1470 #if O0098_SCALED_REF_LAYER_ID
    1471         Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindowForLayer(pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc));
    1472 #else
    1473         Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc);
    1474 #endif
    1475 #else
    14761484#if O0098_SCALED_REF_LAYER_ID
    14771485        const Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindowForLayer(pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc));
    14781486#else
    14791487        const Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc);
    1480 #endif
    14811488#endif
    14821489
     
    15011508          Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc);
    15021509#endif*/
    1503 #if P0312_VERT_PHASE_ADJ
    1504           scalEL.setVertPhasePositionFlag (pcSlice->getVertPhasePositionFlag(i));
    1505 #endif
    15061510#if O0215_PHASE_ALIGNMENT
    15071511#if O0194_JOINT_US_BITSHIFT
  • branches/SHM-5.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r632 r633  
    661661      WRITE_SVLC( scaledWindow.getWindowBottomOffset() >> 1, "scaled_ref_layer_bottom_offset" );
    662662#if P0312_VERT_PHASE_ADJ
    663       WRITE_FLAG( scaledWindow.getVertPhasePositionEnableFlag(), "vert_phase_pos_enable_flag" );
     663      WRITE_FLAG( scaledWindow.getVertPhasePositionEnableFlag(), "vert_phase_position_enable_flag" );
    664664#endif
    665665    }
     
    14601460#endif
    14611461
    1462 #if P0312_VERT_PHASE_ADJ
    1463     WRITE_FLAG( vps->getVpsVuiVertPhaseInUseFlag(), "vps_vui_vert_phase_in_use_flag" );
    1464 #endif
    1465 
    14661462#if O0109_O0199_FLAGS_TO_VUI
    14671463#if M0040_ADAPTIVE_RESOLUTION_CHANGE
     
    14711467  WRITE_FLAG(vps->getHigherLayerIrapSkipFlag(), "higher_layer_irap_skip_flag" );
    14721468#endif
     1469#endif
     1470#if P0312_VERT_PHASE_ADJ
     1471  WRITE_FLAG( vps->getVpsVuiVertPhaseInUseFlag(), "vps_vui_vert_phase_in_use_flag" );
    14731472#endif
    14741473#if N0160_VUI_EXT_ILP_REF
     
    18871886    for(Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ )
    18881887    {
    1889       if (pcSlice->getSPS()->getVertPhasePositionEnableFlag(pcSlice->getInterLayerPredLayerIdc(i)))
    1890       {
    1891         WRITE_FLAG( pcSlice->getVertPhasePositionFlag(i), "phase_pos_flag" );
     1888      UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i);
     1889      if( pcSlice->getSPS()->getVertPhasePositionEnableFlag(refLayerIdc) )
     1890      {
     1891        WRITE_FLAG( pcSlice->getVertPhasePositionFlag(refLayerIdc), "vert_phase_position_flag" );
    18921892      }
    18931893    }
  • branches/SHM-5.1-dev/source/Lib/TLibEncoder/TEncCfg.h

    r627 r633  
    387387  Window   &getConformanceWindow()                           { return m_conformanceWindow; }
    388388#if P0312_VERT_PHASE_ADJ
    389   Void      setConformanceWindow (Int confLeft, Int confRight, Int confTop, Int confBottom ) { m_conformanceWindow.setWindow (confLeft, confRight, confTop, confBottom, false, false); }
     389  Void      setConformanceWindow (Int confLeft, Int confRight, Int confTop, Int confBottom ) { m_conformanceWindow.setWindow (confLeft, confRight, confTop, confBottom, false); }
    390390#else
    391391  Void      setConformanceWindow (Int confLeft, Int confRight, Int confTop, Int confBottom ) { m_conformanceWindow.setWindow (confLeft, confRight, confTop, confBottom); }
  • branches/SHM-5.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r631 r633  
    795795        }
    796796
    797 #if P0312_VERT_PHASE_ADJ
    798 #if O0098_SCALED_REF_LAYER_ID
    799         Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindowForLayer(pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc));
    800 #else
    801         Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc);
    802 #endif
    803 #else
    804797#if O0098_SCALED_REF_LAYER_ID
    805798        const Window &scalEL = m_pcEncTop->getScaledRefLayerWindowForLayer(pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc));
    806799#else
    807800        const Window &scalEL = m_pcEncTop->getScaledRefLayerWindow(refLayerIdc);
    808 #endif
    809801#endif
    810802
     
    831823#if P0312_VERT_PHASE_ADJ
    832824          //when PhasePositionEnableFlag is equal to 1, set vertPhasePositionFlag to 0 if BL is top field and 1 if bottom
    833           if (scalEL.getVertPhasePositionEnableFlag())
     825          if( scalEL.getVertPhasePositionEnableFlag() )
    834826          {
    835             pcSlice->setVertPhasePositionFlag(pcSlice->getPOC()%2, i);
    836             scalEL.setVertPhasePositionFlag (pcSlice->getVertPhasePositionFlag(i));
     827            pcSlice->setVertPhasePositionFlag( pcSlice->getPOC()%2, refLayerIdc );
    837828          }
    838829#endif
  • branches/SHM-5.1-dev/source/Lib/TLibEncoder/TEncTop.cpp

    r627 r633  
    903903    m_cSPS.getScaledRefLayerWindow(i) = m_scaledRefLayerWindow[i];
    904904#if P0312_VERT_PHASE_ADJ
    905     m_cSPS.setVertPhasePositionEnableFlag(i,m_scaledRefLayerWindow[i].getVertPhasePositionEnableFlag());
     905    m_cSPS.setVertPhasePositionEnableFlag( m_scaledRefLayerId[i], m_scaledRefLayerWindow[i].getVertPhasePositionEnableFlag() );
    906906#endif
    907907  }
  • branches/SHM-5.1-dev/source/Lib/TLibEncoder/TEncTop.h

    r627 r633  
    216216  /// encode several number of pictures until end-of-sequence
    217217#if SVC_EXTENSION
    218   Void                    setLayerEnc(TEncTop** p) {m_ppcTEncTop = p;}
    219   TEncTop**               getLayerEnc()            {return m_ppcTEncTop;}
    220   Int                     getPOCLast            () { return m_iPOCLast;               }
    221   Int                     getNumPicRcvd         () { return m_iNumPicRcvd;            }
    222   Void                    setNumPicRcvd         ( Int num ) { m_iNumPicRcvd = num;      }
    223   Void                    setNumScaledRefLayerOffsets(Int x) { m_numScaledRefLayerOffsets = x; }
    224   UInt                    getNumScaledRefLayerOffsets() { return m_numScaledRefLayerOffsets; }
     218  Void      setLayerEnc(TEncTop** p)            { m_ppcTEncTop = p;                  }
     219  TEncTop** getLayerEnc()                       { return m_ppcTEncTop;               }
     220  Int       getPOCLast            ()            { return m_iPOCLast;                 }
     221  Int       getNumPicRcvd         ()            { return m_iNumPicRcvd;              }
     222  Void      setNumPicRcvd         ( Int num )   { m_iNumPicRcvd = num;               }
     223  Void      setNumScaledRefLayerOffsets(Int x)  { m_numScaledRefLayerOffsets = x;    }
     224  UInt      getNumScaledRefLayerOffsets()      { return m_numScaledRefLayerOffsets; }
    225225#if O0098_SCALED_REF_LAYER_ID
    226   Void                    setScaledRefLayerId(Int x, UInt id) { m_scaledRefLayerId[x] = id;   }
    227   UInt                    getScaledRefLayerId(Int x)          { return m_scaledRefLayerId[x]; }
    228   Window&  getScaledRefLayerWindowForLayer(Int layerId);
    229 #endif
    230   Window&  getScaledRefLayerWindow(Int x)            { return m_scaledRefLayerWindow[x]; }
     226  Void      setScaledRefLayerId(Int x, UInt id) { m_scaledRefLayerId[x] = id;   }
     227  UInt      getScaledRefLayerId(Int x)          { return m_scaledRefLayerId[x]; }
     228  Window&   getScaledRefLayerWindowForLayer(Int layerId);
     229#endif
     230  Window&   getScaledRefLayerWindow(Int x)                 { return m_scaledRefLayerWindow[x];        }
    231231#if P0312_VERT_PHASE_ADJ
    232   Void                    setVertPhasePositionEnableFlag(Int x, Bool b) { m_vertPhasePositionEnableFlag[x] = b;   }
    233   UInt                    getVertPhasePositionEnableFlag(Int x)          { return m_vertPhasePositionEnableFlag[x]; }
     232  Void      setVertPhasePositionEnableFlag(Int x, Bool b)  { m_vertPhasePositionEnableFlag[x] = b;    }
     233  UInt      getVertPhasePositionEnableFlag(Int x)          { return m_vertPhasePositionEnableFlag[x]; }
    234234#endif
    235235
    236236  TComPic** getIlpList() { return m_cIlpPic; }
    237237#if REF_IDX_MFM
    238   Void      setMFMEnabledFlag       (Bool flag)   {m_bMFMEnabledFlag = flag;}
    239   Bool      getMFMEnabledFlag()                   {return m_bMFMEnabledFlag;}   
     238  Void      setMFMEnabledFlag       (Bool flag)   { m_bMFMEnabledFlag = flag; }
     239  Bool      getMFMEnabledFlag()                   { return m_bMFMEnabledFlag; }   
    240240#endif
    241241#if O0194_WEIGHTED_PREDICTION_CGS
     
    255255#endif
    256256#if POC_RESET_FLAG
    257   Int  getPocAdjustmentValue()      { return m_pocAdjustmentValue;}
    258   Void setPocAdjustmentValue(Int x) { m_pocAdjustmentValue = x;   }
     257  Int       getPocAdjustmentValue()      { return m_pocAdjustmentValue;}
     258  Void      setPocAdjustmentValue(Int x) { m_pocAdjustmentValue = x;   }
    259259#endif
    260260#if NO_CLRAS_OUTPUT_FLAG
Note: See TracChangeset for help on using the changeset viewer.