Changeset 902 in 3DVCSoftware
- Timestamp:
- 9 Apr 2014, 09:39:39 (11 years ago)
- Location:
- branches/HTM-10.2-dev3-MediaTek
- Files:
-
- 2 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.2-dev3-MediaTek/cfg/3D-HEVC/baseCfg_2view+depth.cfg
r872 r902 198 198 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 199 199 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 200 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 200 201 ViewSynthesisPred : 1 # View synthesis prediction 201 202 DepthRefinement : 1 # Dispary refined by depth DoNBDV -
branches/HTM-10.2-dev3-MediaTek/cfg/3D-HEVC/baseCfg_2view.cfg
r872 r902 173 173 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 174 174 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 175 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 175 176 ViewSynthesisPred : 1 # View synthesis prediction 176 177 DepthRefinement : 1 # Dispary refined by depth DoNBDV -
branches/HTM-10.2-dev3-MediaTek/cfg/3D-HEVC/baseCfg_3view+depth.cfg
r872 r902 229 229 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 230 230 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 231 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 231 232 ViewSynthesisPred : 1 # View synthesis prediction 232 233 DepthRefinement : 1 # Dispary refined by depth DoNBDV -
branches/HTM-10.2-dev3-MediaTek/cfg/3D-HEVC/baseCfg_3view.cfg
r872 r902 188 188 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 189 189 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 190 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 190 191 ViewSynthesisPred : 0 # View synthesis prediction 191 192 DepthRefinement : 0 # Dispary refined by depth DoNBDV -
branches/HTM-10.2-dev3-MediaTek/cfg/3D-HEVC/fullCfg.cfg
r872 r902 253 253 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 254 254 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 255 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 255 256 ViewSynthesisPred : 1 # View synthesis prediction 256 257 DepthRefinement : 1 # Dispary refined by depth DoNBDV -
branches/HTM-10.2-dev3-MediaTek/source/App/TAppEncoder/TAppEncCfg.cpp
r884 r902 517 517 #if H_3D_IC 518 518 ("IlluCompEnable", m_abUseIC, true, "Enable illumination compensation") 519 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 520 ("IlluCompLowLatencyEnc", m_bUseLowLatencyICEnc, false, "Enable low-latency illumination compensation encoding") 521 #endif 519 522 #endif 520 523 #if H_3D_INTER_SDC … … 2479 2482 #if H_3D_IC 2480 2483 printf( "IlluCompEnable:%d ", m_abUseIC); 2484 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 2485 printf ("IlluCompLowLatencyEnc:%d ", m_bUseLowLatencyICEnc); 2486 #endif 2481 2487 #endif 2482 2488 #if H_3D_NBDV_REF -
branches/HTM-10.2-dev3-MediaTek/source/App/TAppEncoder/TAppEncCfg.h
r884 r902 137 137 #if H_3D_IC 138 138 Bool m_abUseIC; 139 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 140 Bool m_bUseLowLatencyICEnc; 141 #endif 139 142 #endif 140 143 #if H_3D_NBDV_REF -
branches/HTM-10.2-dev3-MediaTek/source/App/TAppEncoder/TAppEncTop.cpp
r884 r902 189 189 #if H_3D_IC 190 190 m_cTEncTop.setUseIC ( vps.getViewIndex( layerId ) == 0 || isDepth ? false : m_abUseIC ); 191 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 192 m_cTEncTop.setUseICLowLatencyEnc ( m_bUseLowLatencyICEnc ); 193 #endif 191 194 #endif 192 195 //========== Depth intra modes ========== -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TComRom.cpp
r872 r902 359 359 360 360 Char g_aucConvertToBit [ MAX_CU_SIZE+1 ]; 361 361 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 362 UInt g_aICEnableCANDIDATE[10] = { 0, }; 363 UInt g_aICEnableNUM[ 10 ] = { 0, }; 364 Int g_lastlayer=0; 365 #endif 362 366 #if ENC_DEC_TRACE 363 367 FILE* g_hTrace = NULL; -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TComRom.h
r872 r902 189 189 extern Char g_aucConvertToBit [ MAX_CU_SIZE+1 ]; // from width to log2(width)-2 190 190 191 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 192 extern UInt g_aICEnableCANDIDATE[10]; 193 extern UInt g_aICEnableNUM[ 10 ]; //10 layers 194 extern Int g_lastlayer; 195 #endif 196 191 197 #ifndef ENC_DEC_TRACE 192 198 #define ENC_DEC_TRACE 0 -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TComSlice.cpp
r884 r902 3220 3220 #endif 3221 3221 #if H_3D_IC 3222 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 3223 Void TComSlice::xSetApplyIC(Bool bUseLowLatencyICEnc) 3224 #else 3222 3225 Void TComSlice::xSetApplyIC() 3223 { 3226 #endif 3227 { 3228 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 3229 if(bUseLowLatencyICEnc) 3230 { 3231 Bool existInterViewRef=false; 3232 TComPic* pcCurrPic = getPic(); 3233 TComPic* pcRefPic = NULL; 3234 for ( Int i = 0; (i < getNumRefIdx( REF_PIC_LIST_0 )) && !existInterViewRef; i++ ) 3235 { 3236 pcRefPic = getRefPic( REF_PIC_LIST_0, i ); 3237 if ( pcRefPic != NULL ) 3238 { 3239 if ( pcCurrPic->getViewIndex() != pcRefPic->getViewIndex() ) 3240 { 3241 existInterViewRef = true; 3242 } 3243 } 3244 } 3245 3246 for ( Int i = 0; (i < getNumRefIdx( REF_PIC_LIST_1 )) && !existInterViewRef; i++ ) 3247 { 3248 pcRefPic = getRefPic( REF_PIC_LIST_1, i ); 3249 if ( pcRefPic != NULL ) 3250 { 3251 if ( pcCurrPic->getViewIndex() != pcRefPic->getViewIndex() ) 3252 { 3253 existInterViewRef = true; 3254 } 3255 } 3256 } 3257 3258 if(!existInterViewRef) 3259 { 3260 m_bApplyIC = false; 3261 } 3262 else 3263 { 3264 Int curLayer=getDepth(); 3265 if( curLayer>9) curLayer=9; // Max layer is 10 3266 3267 m_bApplyIC = true; 3268 Int refLayer = curLayer-1; 3269 if( (refLayer>=0) && (g_aICEnableCANDIDATE[refLayer]>0) ) 3270 { 3271 Double ratio=Double(g_aICEnableNUM[refLayer])/Double(g_aICEnableCANDIDATE[refLayer]); 3272 3273 if( ratio > MTK_LOW_LATENCY_IC_ENCODING_THRESHOLD_H0086) 3274 { 3275 m_bApplyIC=true; 3276 } 3277 else 3278 { 3279 m_bApplyIC=false; 3280 } 3281 } 3282 g_aICEnableNUM[curLayer]=0; 3283 g_aICEnableCANDIDATE[curLayer]=0; 3284 g_lastlayer=getDepth(); 3285 } 3286 } 3287 else 3288 { 3289 #endif 3224 3290 Int iMaxPelValue = ( 1 << g_bitDepthY ); 3225 3291 Int *aiRefOrgHist; … … 3295 3361 aiCurrHist = NULL; 3296 3362 aiRefOrgHist = NULL; 3363 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 3364 }//if(bUseLowLatencyICEnc) 3365 #endif 3297 3366 } 3298 3367 #endif -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TComSlice.h
r884 r902 2179 2179 Bool getApplyIC() { return m_bApplyIC; } 2180 2180 Void xSetApplyIC(); 2181 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 2182 Void xSetApplyIC(Bool bUseLowLatencyICEnc); 2183 #endif 2181 2184 Void setIcSkipParseFlag( Bool b ) { m_icSkipParseFlag = b; } 2182 2185 Bool getIcSkipParseFlag() { return m_icSkipParseFlag; } -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TypeDef.h
r888 r902 118 118 // MTK_IC_FLAG_CABAC_SIMP_G0061 119 119 // SEC_IC_ARP_SIG_G0072, Disabling IC when ARP is enabled, option 1 in JCT3V-G0072, part 2 in JCT3V-G0121 120 121 #define MTK_LOW_LATENCY_IC_ENCODING_H0086 1 // Low-latency IC encoding in JCT3V-H0086 122 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 123 #define MTK_LOW_LATENCY_IC_ENCODING_THRESHOLD_H0086 0.1 // Threshold for low-latency IC encoding in JCT3V-H0086 124 #endif 120 125 121 126 #if H_3D_NBDV -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncCfg.h
r884 r902 401 401 #if H_3D_IC 402 402 Bool m_bUseIC; 403 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 404 Bool m_bUseICLowLatencyEnc; 405 #endif 403 406 #endif 404 407 #if H_3D_INTER_SDC … … 511 514 Void setUseIC ( Bool bVal ) { m_bUseIC = bVal; } 512 515 Bool getUseIC () { return m_bUseIC; } 516 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 517 Void setUseICLowLatencyEnc ( Bool bVal ) { m_bUseICLowLatencyEnc = bVal; } 518 Bool getUseICLowLatencyEnc () { return m_bUseICLowLatencyEnc; } 519 #endif 513 520 #endif 514 521 #if H_3D_INTER_SDC -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncEntropy.cpp
r884 r902 163 163 uiAbsPartIdx = 0; 164 164 } 165 165 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 166 else 167 { 168 g_aICEnableCANDIDATE[pcCU->getSlice()->getDepth()]++; 169 if(pcCU->getICFlag(uiAbsPartIdx)) 170 { 171 g_aICEnableNUM[pcCU->getSlice()->getDepth()]++; 172 } 173 } 174 #endif 166 175 if( pcCU->isICFlagRequired( uiAbsPartIdx ) ) 167 176 m_pcEntropyCoderIf->codeICFlag( pcCU, uiAbsPartIdx ); -
branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncSlice.cpp
r872 r902 866 866 ) 867 867 { 868 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 869 pcSlice ->xSetApplyIC(pcEncTop->getUseICLowLatencyEnc()); 870 #else 868 871 pcSlice ->xSetApplyIC(); 872 #endif 869 873 if ( pcSlice->getApplyIC() ) 870 874 {
Note: See TracChangeset for help on using the changeset viewer.