Skip to content
Snippets Groups Projects
Commit c03c6f20 authored by Xiang Li's avatar Xiang Li
Browse files

Merge branch 'JVET_S0064' into 'master'

JVET-S0064: SEI message cleanup

See merge request !1725
parents 38ab22cc 2177eaff
No related branches found
No related tags found
No related merge requests found
...@@ -94,6 +94,8 @@ ...@@ -94,6 +94,8 @@
#define JVET_S0156_LEVEL_DEFINITION 1 // JVET-S0156: On level definitions #define JVET_S0156_LEVEL_DEFINITION 1 // JVET-S0156: On level definitions
#define JVET_S0064_SEI_BUFFERING_PERIOD_CLEANUP 1 // JVET-S0064: Conditionally signal bp_sublayer_dpb_output_offsets_present_flag
#define JVET_S0185_PROPOSAL2_SEI_CLEANUP 1 // JVET-S0185_PROPOSAL2: Move signalling of syntax element bp_alt_cpb_params_present_flag #define JVET_S0185_PROPOSAL2_SEI_CLEANUP 1 // JVET-S0185_PROPOSAL2: Move signalling of syntax element bp_alt_cpb_params_present_flag
#define JVET_S0181_PROPOSAL1 1 // JVET-0181_Proposal1: Conditionally signal bp_sublayer_initial_cpb_removal_delay_present_flag #define JVET_S0181_PROPOSAL1 1 // JVET-0181_Proposal1: Conditionally signal bp_sublayer_initial_cpb_removal_delay_present_flag
......
...@@ -760,8 +760,8 @@ void SEIReader::xParseSEIBufferingPeriod(SEIBufferingPeriod& sei, uint32_t paylo ...@@ -760,8 +760,8 @@ void SEIReader::xParseSEIBufferingPeriod(SEIBufferingPeriod& sei, uint32_t paylo
} }
#else #else
sei_read_flag(pDecodedMessageOutputStream, code, "sublayer_initial_cpb_removal_delay_present_flag"); sei_read_flag(pDecodedMessageOutputStream, code, "sublayer_initial_cpb_removal_delay_present_flag");
#endif
sei.m_sublayerInitialCpbRemovalDelayPresentFlag = code; sei.m_sublayerInitialCpbRemovalDelayPresentFlag = code;
#endif
for (i = (sei.m_sublayerInitialCpbRemovalDelayPresentFlag ? 0 : sei.m_bpMaxSubLayers - 1); i < sei.m_bpMaxSubLayers; i++) for (i = (sei.m_sublayerInitialCpbRemovalDelayPresentFlag ? 0 : sei.m_bpMaxSubLayers - 1); i < sei.m_bpMaxSubLayers; i++)
{ {
for( nalOrVcl = 0; nalOrVcl < 2; nalOrVcl ++ ) for( nalOrVcl = 0; nalOrVcl < 2; nalOrVcl ++ )
...@@ -779,8 +779,20 @@ void SEIReader::xParseSEIBufferingPeriod(SEIBufferingPeriod& sei, uint32_t paylo ...@@ -779,8 +779,20 @@ void SEIReader::xParseSEIBufferingPeriod(SEIBufferingPeriod& sei, uint32_t paylo
} }
} }
} }
#if JVET_S0064_SEI_BUFFERING_PERIOD_CLEANUP
if (sei.m_bpMaxSubLayers-1 > 0)
{
sei_read_flag(pDecodedMessageOutputStream, code, "bp_sublayer_dpb_output_offsets_present_flag");
sei.m_sublayerDpbOutputOffsetsPresentFlag = code;
}
else
{
sei.m_sublayerDpbOutputOffsetsPresentFlag = false;
}
#else
sei_read_flag( pDecodedMessageOutputStream, code, "sublayer_dpb_output_offsets_present_flag" ); sei_read_flag( pDecodedMessageOutputStream, code, "sublayer_dpb_output_offsets_present_flag" );
sei.m_sublayerDpbOutputOffsetsPresentFlag = code; sei.m_sublayerDpbOutputOffsetsPresentFlag = code;
#endif
if(sei.m_sublayerDpbOutputOffsetsPresentFlag) if(sei.m_sublayerDpbOutputOffsetsPresentFlag)
{ {
for(int i = 0; i < sei.m_bpMaxSubLayers - 1; i++) for(int i = 0; i < sei.m_bpMaxSubLayers - 1; i++)
......
...@@ -345,7 +345,15 @@ void SEIWriter::xWriteSEIBufferingPeriod(const SEIBufferingPeriod& sei) ...@@ -345,7 +345,15 @@ void SEIWriter::xWriteSEIBufferingPeriod(const SEIBufferingPeriod& sei)
} }
} }
} }
#if JVET_S0064_SEI_BUFFERING_PERIOD_CLEANUP
if (sei.m_bpMaxSubLayers-1 > 0)
{
WRITE_FLAG(sei.m_sublayerDpbOutputOffsetsPresentFlag, "bp_sublayer_dpb_output_offsets_present_flag");
}
#else
WRITE_FLAG(sei.m_sublayerDpbOutputOffsetsPresentFlag, "sublayer_dpb_output_offsets_present_flag"); WRITE_FLAG(sei.m_sublayerDpbOutputOffsetsPresentFlag, "sublayer_dpb_output_offsets_present_flag");
#endif
if(sei.m_sublayerDpbOutputOffsetsPresentFlag) if(sei.m_sublayerDpbOutputOffsetsPresentFlag)
{ {
for(int i = 0; i < sei.m_bpMaxSubLayers - 1; i++) for(int i = 0; i < sei.m_bpMaxSubLayers - 1; i++)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment