mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 09:17:35 +00:00
LibVideo/VP9: Use a class to store 2D context information
This commit is contained in:
parent
44413c31a9
commit
0638c5d2b8
4 changed files with 78 additions and 17 deletions
|
@ -1817,13 +1817,16 @@ DecoderErrorOr<void> Decoder::update_reference_frames()
|
|||
// for col = 0..MiCols-1, for list = 0..1.
|
||||
// − PrevMvs[ row ][ col ][ list ][ comp ] is set equal to Mvs[ row ][ col ][ list ][ comp ] for row = 0..MiRows-1,
|
||||
// for col = 0..MiCols-1, for list = 0..1, for comp = 0..1.
|
||||
size_t size = m_parser->m_frame_block_contexts.size();
|
||||
size_t size = m_parser->m_frame_block_contexts.width() * m_parser->m_frame_block_contexts.height();
|
||||
m_parser->m_prev_ref_frames.resize_and_keep_capacity(size);
|
||||
m_parser->m_prev_mvs.resize_and_keep_capacity(size);
|
||||
for (size_t i = 0; i < size; i++) {
|
||||
auto context = m_parser->m_frame_block_contexts[i];
|
||||
m_parser->m_prev_ref_frames[i] = context.ref_frames;
|
||||
m_parser->m_prev_mvs[i] = context.primary_motion_vector_pair();
|
||||
for (u32 row = 0; row < m_parser->m_frame_block_contexts.height(); row++) {
|
||||
for (u32 column = 0; column < m_parser->m_frame_block_contexts.width(); column++) {
|
||||
auto index = m_parser->m_frame_block_contexts.index_at(row, column);
|
||||
auto context = m_parser->m_frame_block_contexts[index];
|
||||
m_parser->m_prev_ref_frames[index] = context.ref_frames;
|
||||
m_parser->m_prev_mvs[index] = context.primary_motion_vector_pair();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue