Constants.cs
1 namespace Ryujinx.Graphics.Nvdec.Vp9 2 { 3 internal static class Constants 4 { 5 public const int Vp9InterpExtend = 4; 6 7 public const int MaxMbPlane = 3; 8 9 public const int None = -1; 10 public const int IntraFrame = 0; 11 public const int LastFrame = 1; 12 public const int GoldenFrame = 2; 13 public const int AltRefFrame = 3; 14 public const int MaxRefFrames = 4; 15 16 public const int MiSizeLog2 = 3; 17 public const int MiBlockSizeLog2 = 6 - MiSizeLog2; // 64 = 2^6 18 19 public const int MiSize = 1 << MiSizeLog2; // pixels per mi-unit 20 public const int MiBlockSize = 1 << MiBlockSizeLog2; // mi-units per max block 21 public const int MiMask = MiBlockSize - 1; 22 23 public const int PartitionPloffset = 4; // number of probability models per block size 24 25 /* Segment Feature Masks */ 26 public const int MaxMvRefCandidates = 2; 27 28 public const int CompInterContexts = 5; 29 public const int RefContexts = 5; 30 31 public const int EightTap = 0; 32 public const int EightTapSmooth = 1; 33 public const int EightTapSharp = 2; 34 public const int SwitchableFilters = 3; /* Number of switchable filters */ 35 public const int Bilinear = 3; 36 public const int Switchable = 4; /* should be the last one */ 37 38 // Frame 39 public const int RefsPerFrame = 3; 40 41 public const int NumPingPongBuffers = 2; 42 43 public const int Class0Bits = 1; /* bits at integer precision for class 0 */ 44 public const int Class0Size = 1 << Class0Bits; 45 46 public const int MvInUseBits = 14; 47 public const int MvUpp = (1 << MvInUseBits) - 1; 48 public const int MvLow = -(1 << MvInUseBits); 49 50 // Coefficient token alphabet 51 public const int ZeroToken = 0; // 0 Extra Bits 0+0 52 public const int OneToken = 1; // 1 Extra Bits 0+1 53 public const int TwoToken = 2; // 2 Extra Bits 0+1 54 55 public const int PivotNode = 2; 56 57 public const int Cat1MinVal = 5; 58 public const int Cat2MinVal = 7; 59 public const int Cat3MinVal = 11; 60 public const int Cat4MinVal = 19; 61 public const int Cat5MinVal = 35; 62 public const int Cat6MinVal = 67; 63 64 public const int EobModelToken = 3; 65 66 public const int SegmentAbsData = 1; 67 public const int MaxSegments = 8; 68 } 69 }