mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-06 17:48:37 +00:00
LibVideo/VP9: Implement syntax element counting for supported elements
With the progress made in the Decoder thus far, we have the ability to support most of the syntax element counters in the tree parser. Additionally, it will now crash when trying to count unsupported elements.
This commit is contained in:
parent
83b512789c
commit
f85f557a1f
Notes:
sideshowbarker
2024-07-18 09:24:08 +09:00
Author: https://github.com/FalseHonesty
Commit: f85f557a1f
Pull-request: https://github.com/SerenityOS/serenity/pull/8349
Reviewed-by: https://github.com/Lubrsi
1 changed files with 27 additions and 15 deletions
|
@ -209,26 +209,32 @@ void TreeParser::count_syntax_element(SyntaxElementType type, int value)
|
|||
switch (type) {
|
||||
case SyntaxElementType::Partition:
|
||||
m_decoder.m_syntax_element_counter->m_counts_partition[m_ctx][value]++;
|
||||
break;
|
||||
return;
|
||||
case SyntaxElementType::IntraMode:
|
||||
break;
|
||||
case SyntaxElementType::SubIntraMode:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_intra_mode[m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::UVMode:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_uv_mode[m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::Skip:
|
||||
m_decoder.m_syntax_element_counter->m_counts_skip[m_ctx][value]++;
|
||||
break;
|
||||
return;
|
||||
case SyntaxElementType::IsInter:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_is_inter[m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::CompMode:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_comp_mode[m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::CompRef:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_comp_ref[m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::SingleRefP1:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_single_ref[m_ctx][0][value]++;
|
||||
return;
|
||||
case SyntaxElementType::SingleRefP2:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_single_ref[m_ctx][1][value]++;
|
||||
return;
|
||||
case SyntaxElementType::MVSign:
|
||||
break;
|
||||
case SyntaxElementType::MVClass0Bit:
|
||||
|
@ -236,13 +242,17 @@ void TreeParser::count_syntax_element(SyntaxElementType type, int value)
|
|||
case SyntaxElementType::MVBit:
|
||||
break;
|
||||
case SyntaxElementType::TXSize:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_tx_size[m_decoder.m_max_tx_size][m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::InterMode:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_inter_mode[m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::InterpFilter:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_interp_filter[m_ctx][value]++;
|
||||
return;
|
||||
case SyntaxElementType::MVJoint:
|
||||
break;
|
||||
m_decoder.m_syntax_element_counter->m_counts_mv_joint[value]++;
|
||||
return;
|
||||
case SyntaxElementType::MVClass:
|
||||
break;
|
||||
case SyntaxElementType::MVClass0FR:
|
||||
|
@ -261,8 +271,10 @@ void TreeParser::count_syntax_element(SyntaxElementType type, int value)
|
|||
case SyntaxElementType::DefaultUVMode:
|
||||
case SyntaxElementType::SegmentID:
|
||||
case SyntaxElementType::SegIDPredicted:
|
||||
break;
|
||||
// No counting required
|
||||
return;
|
||||
}
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
TreeParser::TreeSelection::TreeSelection(int const* values)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue