Custom query (1557 matches)
Results (55 - 57 of 1557)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#1554 | fixed | Decoder accesses deleted SPS decoding Multilayer stream | nikolai.shostak | |
Description |
When decoder flushes reconstructed frame to a file in xFlushOutput() it uses chroma format from SPS pointer which may be deleted const SPS* sps = pcPic->cs->sps; // <- may be dangling ChromaFormat chromaFormatIDC = sps->getChromaFormatIdc(); Pre-condictions:
dpb_max_num_reorder_pics > 1 What happens: AU0:
AU1:
This doesn't happend with single-layer All Intra because life-time of deleted SPS is extended by swap with m_lastActiveParameterSet. SPS lives long enough to safely flush picture to a file. Ultimate fix is to use std::shared_ptr for SPS and PPS in CodingStructure instead of raw pointers. Also possible fix could be to save chromaFormatIDC inside Picture object and use it in xFlushOutput(). Problem is that it is not enough when option "--UpscaledOutput" is used. In this case decoder needs some other parameters from potentially dangling SPS and PPS. PS. I re-opened https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/1553 for correct "component", since trac seems not to update CC list after editing "component" of existing ticket |
|||
#1553 | duplicate | Decoder accesses deleted SPS decoding Multilayer stream | nikolai.shostak | |
Description |
When decoder flushes reconstructed frame to a file in xFlushOutput() it uses chroma format from SPS pointer which may be deleted const SPS* sps = pcPic->cs->sps; // <- may be dangling ChromaFormat chromaFormatIDC = sps->getChromaFormatIdc(); Pre-condictions:
What happens: AU0:
AU1:
This doesn't happend with single-layer All Intra because life-time of deleted SPS is extended by swap with m_lastActiveParameterSet. SPS lives long enough to safely flush picture to a file Ultimate fix is to use std::shared_ptr for SPS and PPS in CodingStructure instead of raw pointers. Also possible fix could be to save chromaFormatIDC inside Picture object and use it in xFlushOutput(). Problem is that it is not enough when option "--UpscaledOutput" is used. In this case decoder needs some other parameters from potentially dangling SPS and PPS. |
|||
#1552 | fixed | Decoder reports false conformance violation in case of single layer Multilayer stream | nikolai.shostak | |
Description |
This check in file VLCReader.cpp, function parseVPS triggers when decoding Multilayer stream with single layer inside. CHECK( uiCode >= pcVPS->getTotalNumOLSs(),"The value of vps_num_ptls_minus1 shall be less than TotalNumOlss"); When vps_max_layers_minus1=0 (one layer) vps_num_ptls_minus1 is not signaled and not parsed, so uiCode contains value of vps_layer_id[0] parsed before. If vps_layer_id[0] != 0, check for vps_num_ptls_minus1 falsely triggers. Patch is coming |