mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:57:45 +00:00
LibVideo/VP9: Remove magic numbers for the uncompressed ref frames
This also adds a fixme to Symbols.h to group and rename the definitions in the file.
This commit is contained in:
parent
24f3069129
commit
c18728989e
2 changed files with 11 additions and 4 deletions
|
@ -221,9 +221,9 @@ DecoderErrorOr<FrameContext> Parser::uncompressed_header()
|
||||||
frame_size = TRY(parse_frame_size());
|
frame_size = TRY(parse_frame_size());
|
||||||
render_size = TRY(parse_render_size(frame_size));
|
render_size = TRY(parse_render_size(frame_size));
|
||||||
} else {
|
} else {
|
||||||
reference_frames_to_update_flags = TRY_READ(m_bit_stream->read_f8());
|
reference_frames_to_update_flags = TRY_READ(m_bit_stream->read_bits(NUM_REF_FRAMES));
|
||||||
for (auto i = 0; i < 3; i++) {
|
for (auto i = 0; i < REFS_PER_FRAME; i++) {
|
||||||
frame_context.reference_frame_indices[i] = TRY_READ(m_bit_stream->read_bits(3));
|
frame_context.reference_frame_indices[i] = TRY_READ(m_bit_stream->read_bits(LOG2_OF_NUM_REF_FRAMES));
|
||||||
frame_context.reference_frame_sign_biases[ReferenceFrameType::LastFrame + i] = TRY_READ(m_bit_stream->read_bit());
|
frame_context.reference_frame_sign_biases[ReferenceFrameType::LastFrame + i] = TRY_READ(m_bit_stream->read_bit());
|
||||||
}
|
}
|
||||||
frame_size = TRY(parse_frame_size_with_refs(frame_context.reference_frame_indices));
|
frame_size = TRY(parse_frame_size_with_refs(frame_context.reference_frame_indices));
|
||||||
|
|
|
@ -9,6 +9,12 @@
|
||||||
|
|
||||||
namespace Video::VP9 {
|
namespace Video::VP9 {
|
||||||
|
|
||||||
|
// FIXME: These should be placed in logical groupings based on the
|
||||||
|
// context they are used in, and perhaps split into multiple
|
||||||
|
// files. While doing so, as many of these as possible should be
|
||||||
|
// renamed to be more human-readable, and most if not all should
|
||||||
|
// be constexpr variables rather than preprocessor definitions.
|
||||||
|
|
||||||
#define REFS_PER_FRAME 3
|
#define REFS_PER_FRAME 3
|
||||||
#define MV_FR_SIZE 4
|
#define MV_FR_SIZE 4
|
||||||
#define MVREF_NEIGHBOURS 8
|
#define MVREF_NEIGHBOURS 8
|
||||||
|
@ -20,7 +26,8 @@ namespace Video::VP9 {
|
||||||
#define MIN_TILE_WIDTH_B64 4
|
#define MIN_TILE_WIDTH_B64 4
|
||||||
#define MAX_TILE_WIDTH_B64 64
|
#define MAX_TILE_WIDTH_B64 64
|
||||||
#define MAX_MV_REF_CANDIDATES 2
|
#define MAX_MV_REF_CANDIDATES 2
|
||||||
#define NUM_REF_FRAMES 8
|
#define LOG2_OF_NUM_REF_FRAMES 3
|
||||||
|
#define NUM_REF_FRAMES 1 << LOG2_OF_NUM_REF_FRAMES
|
||||||
#define MAX_REF_FRAMES 4
|
#define MAX_REF_FRAMES 4
|
||||||
#define IS_INTER_CONTEXTS 4
|
#define IS_INTER_CONTEXTS 4
|
||||||
#define COMP_MODE_CONTEXTS 5
|
#define COMP_MODE_CONTEXTS 5
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue