1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:17:35 +00:00

LibVideo/VP9: Move persistent context storage to a different header

Moving these to another header allows Parser.h to include less context
structs/classes that were previously in Context.h.

This change will also allow consolidating some common calculations into
Context.h, since we won't be polluting the VP9 namespace as much. There
are quite a few duplicate calculations for block size, transform size,
number of horizontal and vertical sub-blocks per block, all of which
could be moved to Context.h to allow for code deduplication and more
semantic code where those calculations are needed.
This commit is contained in:
Zaggy1024 2022-11-26 02:57:48 -06:00 committed by Andreas Kling
parent facb779b99
commit f4af6714d2
6 changed files with 271 additions and 239 deletions

View file

@ -8,7 +8,7 @@
#pragma once
#include "BitStream.h"
#include "Context.h"
#include "ContextStorage.h"
#include "Enums.h"
#include "ProbabilityTables.h"
#include "SyntaxElementCounter.h"
@ -17,6 +17,16 @@ namespace Video::VP9 {
class Parser;
struct FrameBlockContext;
struct TokensContext {
TXSize m_tx_size;
bool m_is_uv_plane;
bool m_is_inter;
u8 m_band;
u8 m_context_index;
};
class TreeParser {
public:
// FIXME: Move or remove this class once it is unused in the header.