mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:37:34 +00:00
LibVideo/VP9: Define all VP9 symbols and enum constants
This commit is contained in:
parent
612b183703
commit
ff3a2a703f
3 changed files with 165 additions and 0 deletions
|
@ -1,6 +1,8 @@
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
MatroskaDocument.h
|
MatroskaDocument.h
|
||||||
MatroskaReader.cpp
|
MatroskaReader.cpp
|
||||||
|
VP9/Enums.h
|
||||||
|
VP9/Symbols.h
|
||||||
)
|
)
|
||||||
|
|
||||||
serenity_lib(LibVideo video)
|
serenity_lib(LibVideo video)
|
||||||
|
|
84
Userland/Libraries/LibVideo/VP9/Enums.h
Normal file
84
Userland/Libraries/LibVideo/VP9/Enums.h
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021, Hunter Salyer <thefalsehonesty@gmail.com>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace Video::VP9 {
|
||||||
|
|
||||||
|
enum FrameType {
|
||||||
|
KeyFrame,
|
||||||
|
NonKeyFrame
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ColorSpace : u8 {
|
||||||
|
Unknown = 0,
|
||||||
|
Bt601 = 1,
|
||||||
|
Bt709 = 2,
|
||||||
|
Smpte170 = 3,
|
||||||
|
Smpte240 = 4,
|
||||||
|
Bt2020 = 5,
|
||||||
|
Reserved = 6,
|
||||||
|
RGB = 7
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ColorRange {
|
||||||
|
StudioSwing,
|
||||||
|
FullSwing
|
||||||
|
};
|
||||||
|
|
||||||
|
enum InterpolationFilter {
|
||||||
|
EightTap = 0,
|
||||||
|
EightTapSmooth = 1,
|
||||||
|
EightTapSharp = 2,
|
||||||
|
Bilinear = 3,
|
||||||
|
Switchable = 4
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ReferenceFrame {
|
||||||
|
IntraFrame = 0,
|
||||||
|
LastFrame = 1,
|
||||||
|
GoldenFrame = 2,
|
||||||
|
AltRefFrame = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum TXMode {
|
||||||
|
Only4x4 = 0,
|
||||||
|
Allow8x8 = 1,
|
||||||
|
Allow16x16 = 2,
|
||||||
|
Allow32x32 = 3,
|
||||||
|
TXModeSelect = 4,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum TXSize {
|
||||||
|
TX4x4 = 0,
|
||||||
|
TX8x8 = 1,
|
||||||
|
TX16x16 = 2,
|
||||||
|
TX32x32 = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ReferenceMode {
|
||||||
|
SingleReference = 0,
|
||||||
|
CompoundReference = 1,
|
||||||
|
ReferenceModeSelect = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum BlockSubsize : u8 {
|
||||||
|
Block_4x4 = 0,
|
||||||
|
Block_4x8 = 1,
|
||||||
|
Block_8x4 = 2,
|
||||||
|
Block_8x8 = 3,
|
||||||
|
Block_8x16 = 4,
|
||||||
|
Block_16x8 = 5,
|
||||||
|
Block_16x16 = 6,
|
||||||
|
Block_16x32 = 7,
|
||||||
|
Block_32x16 = 8,
|
||||||
|
Block_32x32 = 9,
|
||||||
|
Block_32x64 = 10,
|
||||||
|
Block_64x32 = 11,
|
||||||
|
Block_64x64 = 12,
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
79
Userland/Libraries/LibVideo/VP9/Symbols.h
Normal file
79
Userland/Libraries/LibVideo/VP9/Symbols.h
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021, Hunter Salyer <thefalsehonesty@gmail.com>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace Video::VP9 {
|
||||||
|
|
||||||
|
#define REFS_PER_FRAME 3
|
||||||
|
#define MV_FR_SIZE 4
|
||||||
|
#define MVREF_NEIGHBOURS 8
|
||||||
|
#define BLOCK_SIZE_GROUPS 4
|
||||||
|
#define BLOCK_SIZES 13
|
||||||
|
#define BLOCK_INVALID 14
|
||||||
|
#define PARTITION_CONTEXTS 16
|
||||||
|
#define MI_SIZE 8
|
||||||
|
#define MIN_TILE_WIDTH_B64 4
|
||||||
|
#define MAX_TILE_WIDTH_B64 64
|
||||||
|
#define MAX_MV_REF_CANDIDATES 2
|
||||||
|
#define NUM_REF_FRAMES 8
|
||||||
|
#define MAX_REF_FRAMES 4
|
||||||
|
#define IS_INTER_CONTEXTS 4
|
||||||
|
#define COMP_MODE_CONTEXTS 5
|
||||||
|
#define REF_CONTEXTS 5
|
||||||
|
#define MAX_SEGMENTS 8
|
||||||
|
#define SEG_LVL_ALT_Q 0
|
||||||
|
#define SEG_LVL_ALT_L 1
|
||||||
|
#define SEG_LVL_REF_FRAME 2
|
||||||
|
#define SEG_LVL_SKIP 3
|
||||||
|
#define SEG_LVL_MAX 4
|
||||||
|
#define BLOCK_TYPES 2
|
||||||
|
#define REF_TYPES 2
|
||||||
|
#define COEF_BANDS 6
|
||||||
|
#define PREV_COEF_CONTEXTS 6
|
||||||
|
#define UNCONSTRAINED_NODES 3
|
||||||
|
#define TX_SIZE_CONTEXTS 2
|
||||||
|
#define SWITCHABLE_FILTERS 3
|
||||||
|
#define INTERP_FILTER_CONTEXTS 4
|
||||||
|
#define SKIP_CONTEXTS 3
|
||||||
|
#define PARTITION_TYPES 4
|
||||||
|
#define TX_SIZES 4
|
||||||
|
#define TX_MODES 5
|
||||||
|
#define DCT_DCT 0
|
||||||
|
#define ADST_DCT 1
|
||||||
|
#define DCT_ADST 2
|
||||||
|
#define ADST_ADST 3
|
||||||
|
#define MB_MODE_COUNT 14
|
||||||
|
#define INTRA_MODES 10
|
||||||
|
#define INTER_MODES 4
|
||||||
|
#define INTER_MODE_CONTEXTS 7
|
||||||
|
#define MV_JOINTS 4
|
||||||
|
#define MV_CLASSES 11
|
||||||
|
#define CLASS0_SIZE 2
|
||||||
|
#define MV_OFFSET_BITS 10
|
||||||
|
#define MAX_PROB 255
|
||||||
|
#define MAX_MODE_LF_DELTAS 2
|
||||||
|
#define COMPANDED_MVREF_THRESH 8
|
||||||
|
#define MAX_LOOP_FILTER 63
|
||||||
|
#define REF_SCALE_SHIFT 14
|
||||||
|
#define SUBPEL_BITS 4
|
||||||
|
#define SUBPEL_SHIFTS 16
|
||||||
|
#define SUBPEL_MASH 15
|
||||||
|
#define MV_BORDER 128
|
||||||
|
#define INTERP_EXTEND 4
|
||||||
|
#define BORDERINPIXELS 160
|
||||||
|
#define MAX_UPDATE_FACTOR 128
|
||||||
|
#define COUNT_SAT 20
|
||||||
|
#define BOTH_ZERO 0
|
||||||
|
#define ZERO_PLUS_PREDICTED 1
|
||||||
|
#define BOTH_PREDICTED 2
|
||||||
|
#define NEW_PLUS_NON_INTRA 3
|
||||||
|
#define BOTH_NEW 4
|
||||||
|
#define INTRA_PLUS_NON_INTRA 5
|
||||||
|
#define BOTH_INTRA 6
|
||||||
|
#define INVALID_CASE 9
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue