mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 23:57:34 +00:00
LibVideo: Parameterize all tree parsing for motion vectors in VP9
This commit is contained in:
parent
84f1aed40a
commit
e906bcc696
3 changed files with 97 additions and 102 deletions
|
@ -81,6 +81,16 @@ public:
|
|||
static ErrorOr<bool> parse_single_ref_part_1(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, Optional<bool> above_single, Optional<bool> left_single, Optional<bool> above_intra, Optional<bool> left_intra, Optional<ReferenceFramePair> above_ref_frame, Optional<ReferenceFramePair> left_ref_frame);
|
||||
static ErrorOr<bool> parse_single_ref_part_2(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, Optional<bool> above_single, Optional<bool> left_single, Optional<bool> above_intra, Optional<bool> left_intra, Optional<ReferenceFramePair> above_ref_frame, Optional<ReferenceFramePair> left_ref_frame);
|
||||
|
||||
static ErrorOr<MvJoint> parse_motion_vector_joint(BitStream&, ProbabilityTables const&, SyntaxElementCounter&);
|
||||
static ErrorOr<bool> parse_motion_vector_sign(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component);
|
||||
static ErrorOr<MvClass> parse_motion_vector_class(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component);
|
||||
static ErrorOr<bool> parse_motion_vector_class0_bit(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component);
|
||||
static ErrorOr<u8> parse_motion_vector_class0_fr(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component, bool class_0_bit);
|
||||
static ErrorOr<bool> parse_motion_vector_class0_hp(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component, bool use_hp);
|
||||
static ErrorOr<bool> parse_motion_vector_bit(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component, u8 bit_index);
|
||||
static ErrorOr<u8> parse_motion_vector_fr(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component);
|
||||
static ErrorOr<bool> parse_motion_vector_hp(BitStream&, ProbabilityTables const&, SyntaxElementCounter&, u8 component, bool use_hp);
|
||||
|
||||
void set_default_intra_mode_variables(u8 idx, u8 idy)
|
||||
{
|
||||
m_idx = idx;
|
||||
|
@ -95,23 +105,6 @@ public:
|
|||
m_start_y = start_y;
|
||||
}
|
||||
|
||||
void set_mv_component(u8 component)
|
||||
{
|
||||
m_mv_component = component;
|
||||
}
|
||||
|
||||
ErrorOr<bool> parse_mv_bit(u8 bit)
|
||||
{
|
||||
m_mv_bit = bit;
|
||||
return parse_tree<bool>(SyntaxElementType::MVBit);
|
||||
}
|
||||
|
||||
ErrorOr<u8> parse_mv_class0_fr(bool mv_class0_bit)
|
||||
{
|
||||
m_mv_class0_bit = mv_class0_bit;
|
||||
return parse_tree<u8>(SyntaxElementType::MVClass0FR);
|
||||
}
|
||||
|
||||
private:
|
||||
u8 calculate_token_probability(u8 node);
|
||||
u8 calculate_more_coefs_probability();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue