Ignore:
Timestamp:
28 May 2014, 13:26:07 (11 years ago)
Author:
nokia
Message:

JCTVC-Q0078/R0042: Additional layer sets and independent non-base layer rewriting tool (utils/BLRewrite)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibDecoder/SEIread.cpp

    r776 r778  
    136136    break;
    137137#endif
     138#if Q0078_ADD_LAYER_SETS
     139  case SEI::OUTPUT_LAYER_SET_NESTING:
     140    fprintf(g_hTrace, "=========== Output layer set nesting SEI message ===========\n");
     141    break;
     142  case SEI::VPS_REWRITING:
     143    fprintf(g_hTrace, "=========== VPS rewriting SEI message ===========\n");
     144    break;
     145#endif
    138146#endif //SVC_EXTENSION
    139147  default:
     
    356364     sei = new SEIBspHrd;
    357365     xParseSEIBspHrd((SEIBspHrd&) *sei, sps, *nestingSei);
     366     break;
     367#endif
     368#if Q0078_ADD_LAYER_SETS
     369   case SEI::OUTPUT_LAYER_SET_NESTING:
     370     sei = new SEIOutputLayerSetNesting;
     371#if LAYERS_NOT_PRESENT_SEI
     372     xParseSEIOutputLayerSetNesting((SEIOutputLayerSetNesting&)*sei, nalUnitType, vps, sps);
     373#else
     374     xParseSEIOutputLayerSetNesting((SEIOutputLayerSetNesting&)*sei, nalUnitType, sps);
     375#endif
     376     break;
     377   case SEI::VPS_REWRITING:
     378     sei = new SEIVPSRewriting;
     379     xParseSEIVPSRewriting((SEIVPSRewriting&)*sei);
    358380     break;
    359381#endif
     
    13931415#endif
    13941416
     1417#if Q0078_ADD_LAYER_SETS
     1418
     1419#if LAYERS_NOT_PRESENT_SEI
     1420Void SEIReader::xParseSEIOutputLayerSetNesting(SEIOutputLayerSetNesting& sei, const NalUnitType nalUnitType, TComVPS *vps, TComSPS *sps)
     1421#else
     1422Void SEIReader::xParseSEIOutputLayerSetNesting(SEIOutputLayerSetNesting& sei, const NalUnitType nalUnitType, TComSPS *sps)
     1423#endif
     1424{
     1425  UInt uiCode;
     1426  SEIMessages seis;
     1427
     1428  READ_FLAG(uiCode, "ols_flag"); sei.m_olsFlag = uiCode;
     1429  READ_UVLC(uiCode, "num_ols_indices_minus1"); sei.m_numOlsIndicesMinus1 = uiCode;
     1430
     1431  for (Int i = 0; i <= sei.m_numOlsIndicesMinus1; i++)
     1432  {
     1433    READ_UVLC(uiCode, "ols_idx[i]"); sei.m_olsIdx[i] = uiCode;
     1434  }
     1435
     1436  // byte alignment
     1437  while (m_pcBitstream->getNumBitsRead() % 8 != 0)
     1438  {
     1439    UInt code;
     1440    READ_FLAG(code, "ols_nesting_zero_bit");
     1441  }
     1442
     1443  sei.m_callerOwnsSEIs = false;
     1444
     1445  // read nested SEI messages
     1446  do {
     1447#if O0164_MULTI_LAYER_HRD
     1448#if LAYERS_NOT_PRESENT_SEI
     1449    xReadSEImessage(sei.m_nestedSEIs, nalUnitType, vps, sps);
     1450#else
     1451    xReadSEImessage(sei.m_nestedSEIs, nalUnitType, sps);
     1452#endif
     1453#else
     1454#if LAYERS_NOT_PRESENT_SEI
     1455    xReadSEImessage(sei.m_nestedSEIs, nalUnitType, vps, sps);
     1456#else
     1457    xReadSEImessage(sei.m_nestedSEIs, nalUnitType, sps);
     1458#endif
     1459#endif
     1460  } while (m_pcBitstream->getNumBitsLeft() > 8);
     1461
     1462}
     1463
     1464Void SEIReader::xParseSEIVPSRewriting(SEIVPSRewriting &sei)
     1465{
     1466}
     1467
     1468#endif
     1469
    13951470#endif //SVC_EXTENSION
    13961471
Note: See TracChangeset for help on using the changeset viewer.