Changeset 5 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncCavlc.cpp


Ignore:
Timestamp:
12 Dec 2011, 18:35:44 (13 years ago)
Author:
hhi
Message:

Clean version with cfg-files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncCavlc.cpp

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    258291  xWriteFlag  ( (pcSPS->getUseALF ()) ? 1 : 0 );
    259292  xWriteFlag  ( (pcSPS->getUseDQP ()) ? 1 : 0 );
    260 #if !SB_NO_LowDelayCoding
     293#if !HHI_NO_LowDelayCoding
    261294  xWriteFlag  ( (pcSPS->getUseLDC ()) ? 1 : 0 );
    262295#endif
     
    302335      xWriteUvlc( pcSPS->getViewId() );
    303336      xWriteSvlc( pcSPS->getViewOrderIdx() );
    304 #if HHI_DMM_INTRA
    305       xWriteFlag( pcSPS->getUseDepthModelModes() ? 1 : 0 );
    306 #endif
     337#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     338      xWriteFlag( pcSPS->getUseDMM() ? 1 : 0 );
     339#endif
     340#if HHI_MPI
    307341      xWriteFlag( pcSPS->getUseMVI() ? 1 : 0 );
     342#endif
    308343    }
    309344    else
     
    324359        }
    325360      }
     361#if DEPTH_MAP_GENERATION
    326362      xWriteUvlc( pcSPS->getPredDepthMapGeneration() );
    327363      if( pcSPS->getPredDepthMapGeneration() )
     
    333369          xWriteSvlc( pcSPS->getPdmOffset       ()[ uiId ] );
    334370        }
     371#if HHI_INTER_VIEW_MOTION_PRED
    335372        xWriteUvlc  ( pcSPS->getMultiviewMvPredMode() );
     373#endif
     374#if HHI_INTER_VIEW_RESIDUAL_PRED
    336375        xWriteFlag  ( pcSPS->getMultiviewResPredMode() );
    337       }
     376#endif
     377      }
     378#endif
    338379    }
    339380  }
     
    686727
    687728
     729#if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI
    688730Void
    689731TEncCavlc::codeMergeIndexMV( TComDataCU* pcCU, UInt uiAbsPartIdx )
     
    691733  UInt uiNumCand  = 0;
    692734  UInt uiMergeIdx = pcCU->getMergeIndex( uiAbsPartIdx );
    693 #if MW_MVI_SIGNALLING_MODE == 1
     735#if HHI_MPI
    694736  const Bool bMVIAvailable = pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE;
    695   const UInt uiMviMergePos = bMVIAvailable ? MVI_MERGE_POS : MRG_MAX_NUM_CANDS;
     737  const UInt uiMviMergePos = bMVIAvailable ? HHI_MPI_MERGE_POS : MRG_MAX_NUM_CANDS;
    696738  if( bMVIAvailable )
    697739  {
     
    699741    const Bool bUseMVI = pcCU->getTextureModeDepth( uiAbsPartIdx ) != -1;
    700742    if( bUseMVI )
    701       uiMergeIdx = MVI_MERGE_POS;
    702     else if( uiMergeIdx >= MVI_MERGE_POS )
     743      uiMergeIdx = HHI_MPI_MERGE_POS;
     744    else if( uiMergeIdx >= HHI_MPI_MERGE_POS )
    703745      uiMergeIdx++;
    704746  }
     
    754796  }
    755797}
    756 
     798#endif
    757799
    758800
     
    764806Void TEncCavlc::codeMergeIndex    ( TComDataCU* pcCU, UInt uiAbsPartIdx )
    765807{
    766 #if MW_MVI_SIGNALLING_MODE == 1
     808#if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI
     809#if HHI_INTER_VIEW_MOTION_PRED && HHI_MPI
    767810  if( ( pcCU->getSlice()->getSPS()->getViewId() > 0 && ( pcCU->getSlice()->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE ) ||
    768811      ( pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N ) )
     812#elif HHI_MPI
     813  if( pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N )
    769814#else
    770815  if( pcCU->getSlice()->getSPS()->getViewId() > 0 && ( pcCU->getSlice()->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE )
     
    774819    return;
    775820  }
     821#endif
    776822
    777823  Bool bLeftInvolved = false;
     
    833879
    834880
     881#if HHI_INTER_VIEW_RESIDUAL_PRED
    835882Void
    836883TEncCavlc::codeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
     
    839886  xWriteFlag( uiSymbol );
    840887}
    841 
     888#endif
    842889
    843890Void TEncCavlc::codeAlfCtrlFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
     
    940987#endif
    941988}
    942 
    943 #if MW_MVI_SIGNALLING_MODE == 0
    944 Void TEncCavlc::codeMvInheritanceFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    945 {
    946   const Int iTextureModeDepth = pcCU->getTextureModeDepth( uiAbsPartIdx );
    947   if( iTextureModeDepth != -1 && uiDepth > iTextureModeDepth )
    948     return;
    949   UInt uiSymbol = iTextureModeDepth == uiDepth ? 1 : 0;
    950   xWriteFlag( uiSymbol );
    951 }
    952 #endif
    953989
    954990Void TEncCavlc::codeSplitFlag   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
Note: See TracChangeset for help on using the changeset viewer.