Skip to content
Snippets Groups Projects

BitstreamExtractor: fixes for running the extractor on single layer streams and streams with no partitioning

1 unresolved thread

Some indentation change was required for the single layer case.

  • When trying to extract OLS=0 from a single layer stream, the same bitstream should now be written to the output.
  • A crash for non-partioned streams was fixed (requires tile layout to be initialized)
Edited by Karsten Suehring

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Karsten Suehring changed title from BitstreamExtractor: fixes for running the extractor on single layer streams ans streams with no partitioning to BitstreamExtractor: fixes for running the extractor on single layer streams and streams with no partitioning

    changed title from BitstreamExtractor: fixes for running the extractor on single layer streams ans streams with no partitioning to BitstreamExtractor: fixes for running the extractor on single layer streams and streams with no partitioning

  • Karsten Suehring changed the description

    changed the description

  • merged

  • Frank Bossen mentioned in commit 414b68a8

    mentioned in commit 414b68a8

  • Xiang Li
    Xiang Li @XiangLi started a thread on the diff
437 438 {
438 // Remove NAL units with nal_unit_type not equal to any of VPS_NUT, DPS_NUT, and EOB_NUT and with nuh_layer_id not included in the list LayerIdInOls[targetOlsIdx].
439 NalUnitType t = nalu.m_nalUnitType;
440 bool isSpecialNalTypes = t == NAL_UNIT_VPS || t == NAL_UNIT_DCI || t == NAL_UNIT_EOB;
441 vps = m_parameterSetManager.getVPS(m_vpsId);
442 uint32_t numOlss = vps->getNumOutputLayerSets();
443 CHECK(m_targetOlsIdx <0 || m_targetOlsIdx >= numOlss, "target Ols shall be in the range of OLSs specified by the VPS");
444 std::vector<int> LayerIdInOls = vps->getLayerIdsInOls(m_targetOlsIdx);
445 bool isIncludedInTargetOls = std::find(LayerIdInOls.begin(), LayerIdInOls.end(), nalu.m_nuhLayerId) != LayerIdInOls.end();
446 writeInpuNalUnitToStream &= (isSpecialNalTypes || isIncludedInTargetOls);
439 // this initialization can be removed once the dummy VPS is properly initialized in the parameter set manager
440 vps->deriveOutputLayerSets();
441 }
442 uint32_t numOlss = vps->getNumOutputLayerSets();
443 CHECK(m_targetOlsIdx <0 || m_targetOlsIdx >= numOlss, "target Ols shall be in the range of OLSs specified by the VPS");
444 std::vector<int> LayerIdInOls = vps->getLayerIdsInOls(m_targetOlsIdx);
  • Karsten Suehring mentioned in merge request !1644 (merged)

    mentioned in merge request !1644 (merged)

  • Please register or sign in to reply
    Loading