Ignore:
Timestamp:
13 Oct 2014, 16:44:51 (11 years ago)
Author:
tech
Message:

Removed 3D-HEVC related integrations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.1-MV-draft-1/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1066 r1072  
    185185  WRITE_FLAG( pcPPS->getSignHideFlag(), "sign_data_hiding_flag" );
    186186  WRITE_FLAG( pcPPS->getCabacInitPresentFlag() ? 1 : 0,   "cabac_init_present_flag" );
    187 #if PPS_FIX_DEPTH
    188   if( pcPPS->getSPS()->getVPS()->getDepthId(pcPPS->getSPS()->getLayerId()) )
    189   {
    190     WRITE_UVLC( pcPPS->getNumRefIdxL0DefaultActive(),     "num_ref_idx_l0_default_active_minus1");
    191     WRITE_UVLC( pcPPS->getNumRefIdxL1DefaultActive(),     "num_ref_idx_l1_default_active_minus1");
    192   }
    193   else
    194   {
    195 #endif
    196187  WRITE_UVLC( pcPPS->getNumRefIdxL0DefaultActive()-1,     "num_ref_idx_l0_default_active_minus1");
    197188  WRITE_UVLC( pcPPS->getNumRefIdxL1DefaultActive()-1,     "num_ref_idx_l1_default_active_minus1");
    198 #if PPS_FIX_DEPTH
    199   }
    200 #endif
    201189  WRITE_SVLC( pcPPS->getPicInitQPMinus26(),                  "init_qp_minus26");
    202190  WRITE_FLAG( pcPPS->getConstrainedIntraPred() ? 1 : 0,      "constrained_intra_pred_flag" );
     
    274262#endif
    275263#endif
    276 #if PPS_FIX_DEPTH
    277   if( pcPPS->getSPS()->getVPS()->getDepthId(pcPPS->getSPS()->getLayerId()) )
    278   {
    279     WRITE_FLAG( 1, "lists_modification_present_flag" );
    280   }
    281   else
    282 #endif
    283264  WRITE_FLAG( pcPPS->getListsModificationPresentFlag(), "lists_modification_present_flag");
    284265  WRITE_UVLC( pcPPS->getLog2ParallelMergeLevelMinus2(), "log2_parallel_merge_level_minus2");
    285266  WRITE_FLAG( pcPPS->getSliceHeaderExtensionPresentFlag() ? 1 : 0, "slice_segment_header_extension_present_flag");
    286267
    287   #if H_3D
    288     if(( !pcPPS->getSPS()->getVPS()->getDepthId( pcPPS->getSPS()->getLayerId() ) )||
    289         pcPPS->getLayerId() != 1  )
    290     {
    291       pcPPS->setPps3dExtensionFlag( false );
    292     }
    293   #endif
    294268
    295269#if !H_MV
     
    300274    WRITE_FLAG( pcPPS->getPpsRangeExtensionsFlag( ) ? 1 : 0 , "pps_range_extensions_flag" );
    301275    WRITE_FLAG( pcPPS->getPpsMultilayerExtensionFlag( ) ? 1 : 0 , "pps_multilayer_extension_flag" );
    302 #if !H_3D
    303276    WRITE_CODE( pcPPS->getPpsExtension6bits( ), 6, "pps_extension_6bits" );
    304 #else
    305     WRITE_FLAG( pcPPS->getPps3dExtensionFlag( ) ? 1 : 0 , "pps_3d_extension_flag" );
    306     WRITE_CODE( pcPPS->getPpsExtension5bits( ), 5, "pps_extension_5bits" );
    307 #endif
    308277    if ( pcPPS->getPpsRangeExtensionsFlag() )
    309278    {
     
    321290    }
    322291
    323 #if H_3D
    324     if( pcPPS->getPps3dExtensionFlag( )  ) // This probably needs to be aligned with Rext and SHVC
    325     {
    326       codePPSExtension( pcPPS );
    327     }
    328 #endif
    329 #endif
    330 
    331 }
    332 
    333 #if H_3D
    334 Void  TEncCavlc::codePPSExtension        ( TComPPS* pcPPS )
    335 {
    336   // Assuming that all PPS indirectly refer to the same VPS via different SPS
    337   // There is no parsing dependency in decoding DLT in PPS.
    338   // The VPS information passed to decodePPS() is used to arrange the decoded DLT tables to their corresponding layers.
    339   // This is equivalent to the process of
    340   //   Step 1) decoding DLT tables based on the number of depth layers, and
    341   //   Step 2) mapping DLT tables to the depth layers
    342   // as described in the 3D-HEVC WD.
    343   TComVPS* pcVPS = pcPPS->getSPS()->getVPS();
    344 
    345   TComDLT* pcDLT = pcPPS->getDLT();
    346 
    347   WRITE_FLAG( pcDLT->getDltPresentFlag() ? 1 : 0, "dlt_present_flag" );
    348 
    349   if ( pcDLT->getDltPresentFlag() )
    350   {
    351     WRITE_CODE(pcDLT->getNumDepthViews(), 6, "pps_depth_layers_minus1");
    352     WRITE_CODE((pcDLT->getDepthViewBitDepth() - 8), 4, "pps_bit_depth_for_depth_views_minus8");
    353 
    354     for( Int i = 0; i <= pcVPS->getMaxLayersMinus1(); i++ )
    355     {
    356       if ( i != 0 )
    357       {
    358         if ( pcVPS->getDepthId( i ) == 1 )
    359         {
    360           WRITE_FLAG( pcDLT->getUseDLTFlag( i ) ? 1 : 0, "dlt_flag[i]" );
    361 
    362           if ( pcDLT->getUseDLTFlag( i ) )
    363           {
    364             WRITE_FLAG( pcDLT->getInterViewDltPredEnableFlag( i ) ? 1 : 0, "inter_view_dlt_pred_enable_flag[ i ]");
    365 
    366             // ----------------------------- determine whether to use bit-map -----------------------------
    367             Bool bDltBitMapRepFlag       = false;
    368             UInt uiNumBitsNonBitMap      = 0;
    369             UInt uiNumBitsBitMap         = 0;
    370 
    371             UInt uiMaxDiff               = 0;
    372             UInt uiMinDiff               = 0xffffffff;
    373             UInt uiLengthMinDiff         = 0;
    374             UInt uiLengthDltDiffMinusMin = 0;
    375 
    376             UInt* puiDltDiffValues       = NULL;
    377            
    378             Int aiIdx2DepthValue_coded[256];
    379             UInt uiNumDepthValues_coded = 0;
    380            
    381             uiNumDepthValues_coded = pcDLT->getNumDepthValues(i);
    382             for( UInt ui = 0; ui<uiNumDepthValues_coded; ui++ )
    383             {
    384               aiIdx2DepthValue_coded[ui] = pcDLT->idx2DepthValue(i, ui);
    385             }
    386            
    387 #if H_3D_DELTA_DLT
    388             if( pcDLT->getInterViewDltPredEnableFlag( i ) )
    389             {
    390               AOF( pcVPS->getDepthId( 1 ) == 1 );
    391               AOF( i > 1 );
    392               // assumes ref layer id to be 1
    393               Int* piRefDLT = pcDLT->idx2DepthValue( 1 );
    394               UInt uiRefNum = pcDLT->getNumDepthValues( 1 );
    395               pcDLT->getDeltaDLT(i, piRefDLT, uiRefNum, aiIdx2DepthValue_coded, &uiNumDepthValues_coded);
    396             }
    397 #endif
    398 
    399             if ( NULL == (puiDltDiffValues = (UInt *)calloc(uiNumDepthValues_coded, sizeof(UInt))) )
    400             {
    401               exit(-1);
    402             }
    403 
    404             for (UInt d = 1; d < uiNumDepthValues_coded; d++)
    405             {
    406               puiDltDiffValues[d] = aiIdx2DepthValue_coded[d] - aiIdx2DepthValue_coded[d-1];
    407 
    408               if ( uiMaxDiff < puiDltDiffValues[d] )
    409               {
    410                 uiMaxDiff = puiDltDiffValues[d];
    411               }
    412 
    413               if ( uiMinDiff > puiDltDiffValues[d] )
    414               {
    415                 uiMinDiff = puiDltDiffValues[d];
    416               }
    417             }
    418 
    419             // counting bits
    420             // diff coding branch
    421             uiNumBitsNonBitMap += 8;                          // u(v) bits for num_depth_values_in_dlt[layerId] (i.e. num_entry[ layerId ])
    422 
    423             if ( uiNumDepthValues_coded > 1 )
    424             {
    425               uiNumBitsNonBitMap += 8;                        // u(v) bits for max_diff[ layerId ]
    426             }
    427 
    428             if ( uiNumDepthValues_coded > 2 )
    429             {
    430               uiLengthMinDiff    = (UInt) ceil(Log2(uiMaxDiff + 1));
    431               uiNumBitsNonBitMap += uiLengthMinDiff;          // u(v)  bits for min_diff[ layerId ]
    432             }
    433 
    434             uiNumBitsNonBitMap += 8;                          // u(v) bits for dlt_depth_value0[ layerId ]
    435 
    436             if (uiMaxDiff > uiMinDiff)
    437             {
    438               uiLengthDltDiffMinusMin = (UInt) ceil(Log2(uiMaxDiff - uiMinDiff + 1));
    439               uiNumBitsNonBitMap += uiLengthDltDiffMinusMin * (uiNumDepthValues_coded - 1);  // u(v) bits for dlt_depth_value_diff_minus_min[ layerId ][ j ]
    440             }
    441 
    442             // bit map branch
    443             uiNumBitsBitMap = 256;   // uiNumBitsBitMap = 1 << pcDLT->getDepthViewBitDepth();
    444 
    445             // determine bDltBitMapFlag
    446             bDltBitMapRepFlag = (uiNumBitsBitMap > uiNumBitsNonBitMap) ? false : true;
    447 
    448             // ----------------------------- Actual coding -----------------------------
    449             if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )
    450             {
    451               WRITE_FLAG( bDltBitMapRepFlag ? 1 : 0, "dlt_bit_map_rep_flag[ layerId ]" );
    452             }
    453             else
    454             {
    455               bDltBitMapRepFlag = false;
    456             }
    457 
    458             // bit map coding
    459             if ( bDltBitMapRepFlag )
    460             {
    461               UInt uiDltArrayIndex = 0;
    462               for (UInt d=0; d < 256; d++)
    463               {
    464                 if ( d == aiIdx2DepthValue_coded[uiDltArrayIndex] )
    465                 {                 
    466                   WRITE_FLAG(1, "dlt_bit_map_flag[ layerId ][ j ]");
    467                   uiDltArrayIndex++;
    468                 }
    469                 else
    470                 {
    471                   WRITE_FLAG(0, "dlt_bit_map_flag[ layerId ][ j ]");
    472                 }
    473               }
    474             }
    475             // Diff Coding
    476             else
    477             {
    478               WRITE_CODE(uiNumDepthValues_coded, 8, "num_depth_values_in_dlt[i]");    // num_entry
    479 
    480 #if !H_3D_DELTA_DLT
    481               if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )   // Single-view DLT Diff Coding
    482 #endif
    483               {
    484                 // The condition if( uiNumDepthValues_coded > 0 ) is always true since for Single-view Diff Coding, there is at least one depth value in depth component.
    485                 if ( uiNumDepthValues_coded > 1 )
    486                 {
    487                   WRITE_CODE(uiMaxDiff, 8, "max_diff[ layerId ]");        // max_diff
    488                 }
    489 
    490                 if ( uiNumDepthValues_coded > 2 )
    491                 {
    492                   WRITE_CODE((uiMinDiff - 1), uiLengthMinDiff, "min_diff_minus1[ layerId ]");     // min_diff_minus1
    493                 }
    494 
    495                 WRITE_CODE(aiIdx2DepthValue_coded[0], 8, "dlt_depth_value0[layerId]");          // entry0
    496 
    497                 if (uiMaxDiff > uiMinDiff)
    498                 {
    499                   for (UInt d=1; d < uiNumDepthValues_coded; d++)
    500                   {
    501                     WRITE_CODE( (puiDltDiffValues[d] - uiMinDiff), uiLengthDltDiffMinusMin, "dlt_depth_value_diff_minus_min[ layerId ][ j ]");    // entry_value_diff_minus_min[ k ]
    502                   }
    503                 }
    504               }
    505             }
    506 
    507             free(puiDltDiffValues);
    508           }
    509         }
    510       }
    511     }
    512   }
    513 }
    514 #endif
     292#endif
     293
     294}
     295
    515296
    516297Void TEncCavlc::codeVUI( TComVUI *pcVUI, TComSPS* pcSPS )
     
    676457}
    677458
    678 #if H_3D
    679 Void TEncCavlc::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    680 #else
    681459Void TEncCavlc::codeSPS( TComSPS* pcSPS )
    682 #endif
    683460{
    684461#if ENC_DEC_TRACE 
     
    884661    WRITE_FLAG( pcSPS->getSpsRangeExtensionsFlag( ) ? 1 : 0 , "sps_range_extensions_flag" );
    885662    WRITE_FLAG( pcSPS->getSpsMultilayerExtensionFlag( ) ? 1 : 0 , "sps_multilayer_extension_flag" );
    886 #if !H_3D
    887663    WRITE_CODE( pcSPS->getSpsExtension6bits( ), 6, "sps_extension_6bits" ); 
    888 #else
    889     WRITE_FLAG( pcSPS->getSps3dExtensionFlag( ) ? 1 : 0 , "sps_3d_extension_flag" );
    890     WRITE_CODE( pcSPS->getSpsExtension5bits( ), 5, "sps_extension_5bits" );
    891 #endif
    892664  }
    893665
     
    902674  }
    903675
    904 #if H_3D
    905   if ( pcSPS->getSps3dExtensionFlag() )
    906   {
    907     codeSPSExtension2( pcSPS, viewIndex, depthFlag  );
    908   }
    909 
    910 #endif
    911676#endif
    912677
     
    948713#endif
    949714
    950 #if H_3D
    951 Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    952 {
    953 #if H_3D_QTLPC
    954 #if !MTK_I0099_VPS_EX2
    955 //GT: This has to go to VPS
    956 if( depthFlag )
    957 {
    958   WRITE_FLAG( pcSPS->getUseQTL() ? 1 : 0, "use_qtl_flag");
    959   WRITE_FLAG( pcSPS->getUsePC()  ? 1 : 0, "use_pc_flag");
    960 }
    961 #endif
    962 #endif
    963 }
    964 
    965 
    966 #endif
    967715
    968716
     
    1068816  m_pcBitIf->writeAlignOne();
    1069817  codeVPSExtension( pcVPS );                           
    1070 #if H_3D
    1071   WRITE_FLAG( 1,                     "vps_extension2_flag" );
    1072   m_pcBitIf->writeAlignOne();     
    1073   codeVPSExtension2( pcVPS );
    1074   WRITE_FLAG( 0,                     "vps_extension3_flag" );
    1075 #else
    1076818  WRITE_FLAG( 0,                     "vps_extension2_flag" );
    1077 #endif
    1078819#else
    1079820  WRITE_FLAG( 0,                     "vps_extension_flag" );
     
    18021543#endif
    18031544
    1804 #if H_3D
    1805 Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS )
    1806 {
    1807 #if SEC_VPS_CLEANUP_I0090
    1808   for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    1809 #else
    1810   for( Int i = 0; i <= pcVPS->getMaxLayersMinus1(); i++ )
    1811 #endif
    1812   {
    1813 #if !SEC_VPS_CLEANUP_I0090
    1814     if (i!= 0)
    1815 #endif
    1816     {
    1817 #if MTK_I0099_VPS_EX2
    1818       WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
    1819 #if SEC_HLS_CLEANUP_I0100
    1820       WRITE_FLAG( pcVPS->getIvMvScalingFlag( i ) ? 1 : 0 ,       "iv_mv_scaling_flag[i]" );
    1821 #endif
    1822 
    1823 #endif
    1824       if ( !( pcVPS->getDepthId( i ) == 1 ) )
    1825       {
    1826 #if H_3D_IV_MERGE
    1827 #if !MTK_I0099_VPS_EX2
    1828         WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
    1829 #endif
    1830 #if H_3D_SPIVMP
    1831         WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
    1832 #endif
    1833 #endif
    1834 #if H_3D_ARP
    1835         WRITE_FLAG( pcVPS->getUseAdvRP             ( i ) ? 1 : 0,  "iv_res_pred_flag[i]"  );
    1836 #endif
    1837 #if H_3D_NBDV_REF
    1838         WRITE_FLAG( pcVPS->getDepthRefinementFlag  ( i ) ? 1 : 0 , "depth_refinement_flag[i]");
    1839 #endif
    1840 #if H_3D_VSP
    1841         WRITE_FLAG( pcVPS->getViewSynthesisPredFlag( i ) ? 1 : 0 , "view_synthesis_pred_flag[i]");
    1842 #endif
    1843 #if H_3D_DBBP
    1844         WRITE_FLAG( pcVPS->getUseDBBP( i ) ? 1 : 0, "use_dbbp_flag[i]" );
    1845 #endif
    1846       }         
    1847       else
    1848       {
    1849 #if !MTK_I0099_VPS_EX2
    1850         if(i!=1)
    1851         {
    1852           WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
    1853         }
    1854 #if H_3D_SPIVMP
    1855         if (i!=1)
    1856         {
    1857           WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
    1858         }
    1859 #endif
    1860 #endif
    1861 #if H_3D_IV_MERGE
    1862         WRITE_FLAG( pcVPS->getMPIFlag( i ) ? 1 : 0 ,          "mpi_flag[i]" );
    1863 #endif
    1864 #if MTK_I0099_VPS_EX2
    1865         WRITE_UVLC( pcVPS->getSubPUMPILog2Size(i)-3, "log2_mpi_sub_PU_size_minus3[i]");
    1866 #endif
    1867         WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 ,          "vps_depth_modes_flag[i]" );
    1868 #if SEPARATE_FLAG_I0085
    1869         WRITE_FLAG( pcVPS->getIVPFlag( i ) ? 1 : 0 ,               "IVP_flag[i]" );
    1870 #endif
    1871 #if MTK_I0099_VPS_EX2
    1872         WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
    1873 #endif
    1874 
    1875 #if H_3D_INTER_SDC
    1876         WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );
    1877 #endif
    1878       }
    1879     } 
    1880   }
    1881   WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
    1882 #if SEC_VPS_CLEANUP_I0090
    1883   for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
    1884 #else
    1885   for (UInt viewIndex=0; viewIndex<pcVPS->getNumViews(); viewIndex++)
    1886 #endif
    1887   {
    1888     WRITE_FLAG( pcVPS->getCamParPresent(viewIndex) ? 1 : 0, "cp_present_flag[i]" );
    1889     if ( pcVPS->getCamParPresent(viewIndex) )
    1890     {
    1891       WRITE_FLAG( pcVPS->hasCamParInSliceHeader(viewIndex) ? 1 : 0, "cp_in_slice_segment_header_flag[i]" );
    1892       if ( !pcVPS->hasCamParInSliceHeader(viewIndex) )
    1893       {
    1894         for( UInt uiIndex = 0; uiIndex < viewIndex; uiIndex++ )
    1895         {
    1896           WRITE_SVLC( pcVPS->getCodedScale    (viewIndex)[ uiIndex ],                                               "vps_cp_scale" );
    1897           WRITE_SVLC( pcVPS->getCodedOffset   (viewIndex)[ uiIndex ],                                               "vps_cp_off" );
    1898           WRITE_SVLC( pcVPS->getInvCodedScale (viewIndex)[ uiIndex ] + pcVPS->getCodedScale (viewIndex)[ uiIndex ], "vps_cp_inv_scale_plus_scale" );
    1899           WRITE_SVLC( pcVPS->getInvCodedOffset(viewIndex)[ uiIndex ] + pcVPS->getCodedOffset(viewIndex)[ uiIndex ], "vps_cp_inv_off_plus_off" );
    1900         }
    1901       }
    1902     }
    1903   }
    1904 #if !MTK_I0099_VPS_EX2
    1905   WRITE_UVLC( pcVPS->getSubPUMPILog2Size( ) - 3, "log2_sub_PU_MPI_size_minus3");
    1906 #endif
    1907 #if H_3D_TMVP
    1908 #if !SEC_HLS_CLEANUP_I0100
    1909   WRITE_FLAG( pcVPS->getIvMvScalingFlag( ) ? 1 : 0 ,          "iv_mv_scaling_flag" );
    1910 #endif
    1911 #endif
    1912 }
    1913 #endif
    19141545
    19151546Void TEncCavlc::codeSliceHeader         ( TComSlice* pcSlice )
     
    19521583#endif
    19531584  }
    1954 #if PPS_FIX_DEPTH
    1955   if( pcSlice->getIsDepth() )
    1956   {
    1957     WRITE_UVLC( 1, "slice_pic_parameter_set_id" );
    1958   }
    1959   else
    1960 #endif
    19611585  WRITE_UVLC( pcSlice->getPPS()->getPPSId(), "slice_pic_parameter_set_id" );
    19621586  pcSlice->setDependentSliceSegmentFlag(!pcSlice->isNextSlice());
     
    21991823    {
    22001824      Bool overrideFlag = (pcSlice->getNumRefIdx( REF_PIC_LIST_0 )!=pcSlice->getPPS()->getNumRefIdxL0DefaultActive()||(pcSlice->isInterB()&&pcSlice->getNumRefIdx( REF_PIC_LIST_1 )!=pcSlice->getPPS()->getNumRefIdxL1DefaultActive()));
    2201 #if PPS_FIX_DEPTH
    2202       overrideFlag |= (pcSlice->getIsDepth() && !pcSlice->getViewIndex());
    2203 #endif
    22041825      WRITE_FLAG( overrideFlag ? 1 : 0,                               "num_ref_idx_active_override_flag");
    22051826      if (overrideFlag)
     
    22211842      pcSlice->setNumRefIdx(REF_PIC_LIST_1, 0);
    22221843    }
    2223 #if PPS_FIX_DEPTH
    2224     if( (pcSlice->getPPS()->getListsModificationPresentFlag() || (pcSlice->getIsDepth() && !pcSlice->getViewIndex())) && pcSlice->getNumRpsCurrTempList() > 1)
    2225 #else
    22261844    if( pcSlice->getPPS()->getListsModificationPresentFlag() && pcSlice->getNumRpsCurrTempList() > 1)
    2227 #endif
    22281845    {
    22291846      TComRefPicListModification* refPicListModification = pcSlice->getRefPicListModification();
     
    23071924      xCodePredWeightTable( pcSlice );
    23081925    }
    2309 #if H_3D_IC
    2310 #if SEC_HLS_CLEANUP_I0100
    2311     else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 )
    2312 #else
    2313     else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth())
    2314 #endif
    2315     {
    2316       WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" );
    2317       if( pcSlice->getApplyIC() )
    2318       {
    2319         WRITE_FLAG( pcSlice->getIcSkipParseFlag() ? 1 : 0, "ic_skip_mergeidx0" );
    2320       }
    2321     }
    2322 #endif
    2323 #if MTK_SINGLE_DEPTH_MODE_I0095
    2324     if(pcSlice->getIsDepth())
    2325     {
    2326       WRITE_FLAG( pcSlice->getApplySingleDepthMode() ? 1 : 0, "slice_enable_single_depth_mode" );
    2327     }
    2328 #endif
    2329 #if H_3D_IV_MERGE
    2330     assert(pcSlice->getMaxNumMergeCand()<=MRG_MAX_NUM_CANDS_MEM);
    2331 #else
    23321926    assert(pcSlice->getMaxNumMergeCand()<=MRG_MAX_NUM_CANDS);
    2333 #endif
    23341927    if (!pcSlice->isIntra())
    23351928    {
    2336 #if H_3D_IV_MERGE
    2337       if(pcSlice->getIsDepth())
    2338       {
    2339         Bool bMPIFlag = pcSlice->getVPS()->getMPIFlag( pcSlice->getLayerIdInVps() ) ;
    2340         Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;
    2341         WRITE_UVLC( ( ( bMPIFlag || ivMvPredFlag ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
    2342       }
    2343       else
    2344       {
    2345         Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;
    2346         WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
    2347       }
    2348 #else
    23491929      WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
    2350 #endif
    23511930    }
    23521931    Int iCode = pcSlice->getSliceQp() - ( pcSlice->getPPS()->getPicInitQPMinus26() + 26 );
     
    23841963    }
    23851964  }
    2386 #if H_3D
    2387 #if LGE_FCO_I0116
    2388   if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && pcSlice->getIsDepth() )
    2389 #else
    2390   if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && !pcSlice->getIsDepth() )
    2391 #endif
    2392   {
    2393     for( UInt uiId = 0; uiId < pcSlice->getViewIndex(); uiId++ )
    2394     {
    2395       WRITE_SVLC( pcSlice->getCodedScale    ()[ uiId ],                                     "cp_scale" );
    2396       WRITE_SVLC( pcSlice->getCodedOffset   ()[ uiId ],                                     "cp_off" );
    2397       WRITE_SVLC( pcSlice->getInvCodedScale ()[ uiId ] + pcSlice->getCodedScale ()[ uiId ], "cp_inv_scale_plus_scale" );
    2398       WRITE_SVLC( pcSlice->getInvCodedOffset()[ uiId ] + pcSlice->getCodedOffset()[ uiId ], "cp_inv_off_plus_off" );
    2399     }
    2400   }
    2401 #endif
    24021965
    24031966
     
    27342297}
    27352298
    2736 #if H_3D_ARP
    2737 Void TEncCavlc::codeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx )
     2299
     2300
     2301Void TEncCavlc::codeInterModeFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiEncMode )
    27382302{
    27392303  assert(0);
    27402304}
    2741 #endif
    2742 
    2743 #if H_3D_IC
    2744 Void TEncCavlc::codeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
     2305
     2306Void TEncCavlc::codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    27452307{
    27462308  assert(0);
    27472309}
    2748 #endif
    2749 
    2750 Void TEncCavlc::codeInterModeFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiEncMode )
     2310
     2311Void TEncCavlc::codeSkipFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    27512312{
    27522313  assert(0);
    27532314}
    2754 
    2755 Void TEncCavlc::codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    2756 {
    2757   assert(0);
    2758 }
    2759 
    2760 Void TEncCavlc::codeSkipFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    2761 {
    2762   assert(0);
    2763 }
    2764 #if MTK_SINGLE_DEPTH_MODE_I0095
    2765 Void TEncCavlc::codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
    2766 {
    2767   assert(0);
    2768 }
    2769 #endif
    27702315Void TEncCavlc::codeSplitFlag   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    27712316{
     
    30352580}
    30362581
    3037 #if H_3D_INTER_SDC
    3038 Void TEncCavlc::codeDeltaDC( TComDataCU* pcCU, UInt uiAbsPartIdx )
    3039 {
    3040   assert(0);
    3041 }
    3042 
    3043 Void TEncCavlc::codeSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx )
    3044 {
    3045   assert(0);
    3046 }
    3047 
    3048 #endif
    30492582   
    3050 #if H_3D_DBBP
    3051 Void TEncCavlc::codeDBBPFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx )
    3052 {
    3053   assert(0);
    3054 }
    3055 #endif
    30562583//! \}
Note: See TracChangeset for help on using the changeset viewer.