Ignore:
Timestamp:
7 Nov 2014, 14:12:21 (10 years ago)
Author:
tech
Message:

MV-HEVC related fix for derivation of number of views (H_MV_FIX_NUM_VIEWS).
Initial code for J0107 item 5 (not enabled yet). (HHI_VIEW_ID_LIST_I5_J0107)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1110 r1111  
    13301330  }
    13311331
     1332#if H_MV_FIX_NUM_VIEWS
     1333  pcVPS->initNumViews();
     1334#endif
     1335
    13321336  READ_CODE( 4, uiCode, "view_id_len" ); pcVPS->setViewIdLen( uiCode );
    13331337
     
    20222026
    20232027  READ_UVLC( uiCamParPrecision, "cp_precision" );
     2028#if HHI_VIEW_ID_LIST_I5_J0107
     2029  for (Int n = 1; n < pcVPS->getNumViews(); n++)
     2030  {
     2031    Int viewIndex = pcVPS->getViewOIdxList( n );
     2032#else
    20242033  for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
    20252034  {
     2035#endif
    20262036    pcVPS->setCamParPresent         ( viewIndex, false );
    20272037    pcVPS->setHasCamParInSliceHeader( viewIndex, false );
     
    20322042      if ( !bCamParSlice )
    20332043      {
    2034         for( UInt uiBaseIndex = 0; uiBaseIndex < viewIndex; uiBaseIndex++ )
    2035         {
     2044#if HHI_VIEW_ID_LIST_I5_J0107
     2045        for( UInt m = 0; m < n; n++ )
     2046        {
     2047          Int uiBaseIndex = pcVPS->getViewOIdxList ( m );
    20362048          Int iCode;
    20372049          READ_SVLC( iCode, "vps_cp_scale" );                m_aaiTempScale  [ uiBaseIndex ][ viewIndex ]   = iCode;
     
    20422054      }
    20432055      pcVPS->initCamParaVPS( viewIndex, bCamParPresentFlag, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset );
     2056#else
     2057        for( UInt uiBaseIndex = 0; uiBaseIndex < viewIndex; uiBaseIndex++ )
     2058        {
     2059          Int iCode;
     2060          READ_SVLC( iCode, "vps_cp_scale" );                m_aaiTempScale  [ uiBaseIndex ][ viewIndex ]   = iCode;
     2061          READ_SVLC( iCode, "vps_cp_off" );                  m_aaiTempOffset [ uiBaseIndex ][ viewIndex ]   = iCode;
     2062          READ_SVLC( iCode, "vps_cp_inv_scale_plus_scale" ); m_aaiTempScale  [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempScale [ uiBaseIndex ][ viewIndex ];
     2063          READ_SVLC( iCode, "vps_cp_inv_off_plus_off" );     m_aaiTempOffset [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempOffset[ uiBaseIndex ][ viewIndex ];
     2064        }
     2065      }
     2066      pcVPS->initCamParaVPS( viewIndex, bCamParPresentFlag, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset );
     2067#endif
    20442068    }
    20452069  }
Note: See TracChangeset for help on using the changeset viewer.