Opened 3 years ago
Closed 3 years ago
#1546 closed defect (fixed)
Incorrect range for m_cpbRemovalDelayDelta
Reported by: | kerzhy | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-16.1 |
Component: | VTM | Version: | VTM-16.0 |
Keywords: | sei | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@…, jvet@… |
Description
In spec the bp_cpb_removal_delay_delta_val[ i ] is defined as:
for( i = 0; i <= bp_num_cpb_removal_delay_deltas_minus1; i++ ) bp_cpb_removal_delay_delta_val[ i ]
We see from definition of bp_num_cpb_removal_delay_deltas_minus1 that bp_cpb_removal_delay_delta_val max size is equal to 16.
But in VTM we found:
sei_read_uvlc( pDecodedMessageOutputStream, code, "num_cpb_removal_delay_deltas_minus1" ); sei.m_numCpbRemovalDelayDeltas = code + 1; for( i = 0; i < sei.m_numCpbRemovalDelayDeltas; i ++ ) { sei_read_code( pDecodedMessageOutputStream, ( sei.m_cpbRemovalDelayLength ), code, "cpb_removal_delay_delta[i]" ); sei.m_cpbRemovalDelayDelta[ i ] = code; }
where m_cpbRemovalDelayDelta defined as
uint32_t m_cpbRemovalDelayDelta [15];
So there can happen a situation when m_numCpbRemovalDelayDeltas = 16 and only 15 "cells" for m_cpbRemovalDelayDelta, which will cause error.
Change history (2)
comment:1 Changed 3 years ago by kerzhy
Version 0, edited 3 years ago
by kerzhy
(next)
comment:2 Changed 3 years ago by XiangLi
- Milestone set to VTM-16.1
- Resolution set to fixed
- Status changed from new to closed
Fixed as suggested.
Note: See TracTickets for help on using tickets.
As s possible fix, I've created a Merge Request
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/2205