mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 23:57:44 +00:00
LibVideo/VP9: Select and read motion vectors without fields in Parser
Candidate vector selections are only used to calculate the new vectors for the current block, so we only need to keep those for the duration of the inter_block_mode_info() call. Candidate vectors are now stored in BlockMotionVectorCandidates, which contains the fields necessary to choose the vector to use to sample from the selected reference frame. Most functions related to motion vectors were renamed to more verbose but meaningful names.
This commit is contained in:
parent
368687a74f
commit
ea7a6f343b
3 changed files with 124 additions and 113 deletions
|
@ -410,4 +410,17 @@ struct BlockContext {
|
|||
Array<MotionVectorPair, 4> sub_block_motion_vectors;
|
||||
};
|
||||
|
||||
struct BlockMotionVectorCandidateSet {
|
||||
MotionVector near_vector;
|
||||
MotionVector nearest_vector;
|
||||
MotionVector best_vector;
|
||||
};
|
||||
|
||||
using BlockMotionVectorCandidates = Pair<BlockMotionVectorCandidateSet>;
|
||||
|
||||
struct MotionVectorCandidate {
|
||||
ReferenceFrameType type;
|
||||
MotionVector vector;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue