mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-04 15:09:40 +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
|
@ -221,9 +221,9 @@ DecoderErrorOr<FrameContext> Parser::uncompressed_header()
|
|||
frame_size = TRY(parse_frame_size());
|
||||
render_size = TRY(parse_render_size(frame_size));
|
||||
} else {
|
||||
reference_frames_to_update_flags = TRY_READ(m_bit_stream->read_f8());
|
||||
for (auto i = 0; i < 3; i++) {
|
||||
frame_context.reference_frame_indices[i] = TRY_READ(m_bit_stream->read_bits(3));
|
||||
reference_frames_to_update_flags = TRY_READ(m_bit_stream->read_bits(NUM_REF_FRAMES));
|
||||
for (auto i = 0; i < REFS_PER_FRAME; i++) {
|
||||
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_size = TRY(parse_frame_size_with_refs(frame_context.reference_frame_indices));
|
||||
|
|
|
@ -9,6 +9,12 @@
|
|||
|
||||
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 MV_FR_SIZE 4
|
||||
#define MVREF_NEIGHBOURS 8
|
||||
|
@ -20,7 +26,8 @@ namespace Video::VP9 {
|
|||
#define MIN_TILE_WIDTH_B64 4
|
||||
#define MAX_TILE_WIDTH_B64 64
|
||||
#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 IS_INTER_CONTEXTS 4
|
||||
#define COMP_MODE_CONTEXTS 5
|
||||
|
|
Loading…
Reference in a new issue