aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Nvdec/Types/Vp9
diff options
context:
space:
mode:
authorTSR Berry <20988865+TSRBerry@users.noreply.github.com>2023-04-08 01:22:00 +0200
committerMary <thog@protonmail.com>2023-04-27 23:51:14 +0200
commitcee712105850ac3385cd0091a923438167433f9f (patch)
tree4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /Ryujinx.Graphics.Nvdec/Types/Vp9
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'Ryujinx.Graphics.Nvdec/Types/Vp9')
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/BackwardUpdates.cs72
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/EntropyProbs.cs141
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/FrameFlags.cs12
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/FrameSize.cs12
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/FrameStats.cs21
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/LoopFilter.cs13
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/PictureInfo.cs87
-rw-r--r--Ryujinx.Graphics.Nvdec/Types/Vp9/Segmentation.cs16
8 files changed, 0 insertions, 374 deletions
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/BackwardUpdates.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/BackwardUpdates.cs
deleted file mode 100644
index 661e6cdd..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/BackwardUpdates.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using Ryujinx.Common.Memory;
-using Ryujinx.Graphics.Video;
-
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- struct BackwardUpdates
- {
- public Array7<Array3<Array2<uint>>> InterModeCounts;
- public Array4<Array10<uint>> YModeCounts;
- public Array10<Array10<uint>> UvModeCounts;
- public Array16<Array4<uint>> PartitionCounts;
- public Array4<Array3<uint>> SwitchableInterpsCount;
- public Array4<Array2<uint>> IntraInterCount;
- public Array5<Array2<uint>> CompInterCount;
- public Array5<Array2<Array2<uint>>> SingleRefCount;
- public Array5<Array2<uint>> CompRefCount;
- public Array2<Array4<uint>> Tx32x32;
- public Array2<Array3<uint>> Tx16x16;
- public Array2<Array2<uint>> Tx8x8;
- public Array3<Array2<uint>> MbSkipCount;
- public Array4<uint> Joints;
- public Array2<Array2<uint>> Sign;
- public Array2<Array11<uint>> Classes;
- public Array2<Array2<uint>> Class0;
- public Array2<Array10<Array2<uint>>> Bits;
- public Array2<Array2<Array4<uint>>> Class0Fp;
- public Array2<Array4<uint>> Fp;
- public Array2<Array2<uint>> Class0Hp;
- public Array2<Array2<uint>> Hp;
- public Array4<Array2<Array2<Array6<Array6<Array4<uint>>>>>> CoefCounts;
- public Array4<Array2<Array2<Array6<Array6<uint>>>>> EobCounts;
-
- public BackwardUpdates(ref Vp9BackwardUpdates counts)
- {
- InterModeCounts = new Array7<Array3<Array2<uint>>>();
-
- for (int i = 0; i < 7; i++)
- {
- InterModeCounts[i][0][0] = counts.InterMode[i][2];
- InterModeCounts[i][0][1] = counts.InterMode[i][0] + counts.InterMode[i][1] + counts.InterMode[i][3];
- InterModeCounts[i][1][0] = counts.InterMode[i][0];
- InterModeCounts[i][1][1] = counts.InterMode[i][1] + counts.InterMode[i][3];
- InterModeCounts[i][2][0] = counts.InterMode[i][1];
- InterModeCounts[i][2][1] = counts.InterMode[i][3];
- }
-
- YModeCounts = counts.YMode;
- UvModeCounts = counts.UvMode;
- PartitionCounts = counts.Partition;
- SwitchableInterpsCount = counts.SwitchableInterp;
- IntraInterCount = counts.IntraInter;
- CompInterCount = counts.CompInter;
- SingleRefCount = counts.SingleRef;
- CompRefCount = counts.CompRef;
- Tx32x32 = counts.Tx32x32;
- Tx16x16 = counts.Tx16x16;
- Tx8x8 = counts.Tx8x8;
- MbSkipCount = counts.Skip;
- Joints = counts.Joints;
- Sign = counts.Sign;
- Classes = counts.Classes;
- Class0 = counts.Class0;
- Bits = counts.Bits;
- Class0Fp = counts.Class0Fp;
- Fp = counts.Fp;
- Class0Hp = counts.Class0Hp;
- Hp = counts.Hp;
- CoefCounts = counts.Coef;
- EobCounts = counts.EobBranch;
- }
- }
-}
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/EntropyProbs.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/EntropyProbs.cs
deleted file mode 100644
index b2858d2d..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/EntropyProbs.cs
+++ /dev/null
@@ -1,141 +0,0 @@
-using Ryujinx.Common.Memory;
-using Ryujinx.Graphics.Video;
-
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- struct EntropyProbs
- {
-#pragma warning disable CS0649
- public Array10<Array10<Array8<byte>>> KfYModeProbE0ToE7;
- public Array10<Array10<byte>> KfYModeProbE8;
- public Array3<byte> Padding384;
- public Array7<byte> SegTreeProbs;
- public Array3<byte> SegPredProbs;
- public Array15<byte> Padding391;
- public Array10<Array8<byte>> KfUvModeProbE0ToE7;
- public Array10<byte> KfUvModeProbE8;
- public Array6<byte> Padding3FA;
- public Array7<Array4<byte>> InterModeProb;
- public Array4<byte> IntraInterProb;
- public Array10<Array8<byte>> UvModeProbE0ToE7;
- public Array2<Array1<byte>> Tx8x8Prob;
- public Array2<Array2<byte>> Tx16x16Prob;
- public Array2<Array3<byte>> Tx32x32Prob;
- public Array4<byte> YModeProbE8;
- public Array4<Array8<byte>> YModeProbE0ToE7;
- public Array16<Array4<byte>> KfPartitionProb;
- public Array16<Array4<byte>> PartitionProb;
- public Array10<byte> UvModeProbE8;
- public Array4<Array2<byte>> SwitchableInterpProb;
- public Array5<byte> CompInterProb;
- public Array4<byte> SkipProbs;
- public Array3<byte> Joints;
- public Array2<byte> Sign;
- public Array2<Array1<byte>> Class0;
- public Array2<Array3<byte>> Fp;
- public Array2<byte> Class0Hp;
- public Array2<byte> Hp;
- public Array2<Array10<byte>> Classes;
- public Array2<Array2<Array3<byte>>> Class0Fp;
- public Array2<Array10<byte>> Bits;
- public Array5<Array2<byte>> SingleRefProb;
- public Array5<byte> CompRefProb;
- public Array17<byte> Padding58F;
- public Array4<Array2<Array2<Array6<Array6<Array4<byte>>>>>> CoefProbs;
-#pragma warning restore CS0649
-
- public void Convert(ref Vp9EntropyProbs fc)
- {
- for (int i = 0; i < 10; i++)
- {
- for (int j = 0; j < 10; j++)
- {
- for (int k = 0; k < 9; k++)
- {
- fc.KfYModeProb[i][j][k] = k < 8 ? KfYModeProbE0ToE7[i][j][k] : KfYModeProbE8[i][j];
- }
- }
- }
-
- fc.SegTreeProb = SegTreeProbs;
- fc.SegPredProb = SegPredProbs;
-
- for (int i = 0; i < 7; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- fc.InterModeProb[i][j] = InterModeProb[i][j];
- }
- }
-
- fc.IntraInterProb = IntraInterProb;
-
- for (int i = 0; i < 10; i++)
- {
- for (int j = 0; j < 9; j++)
- {
- fc.KfUvModeProb[i][j] = j < 8 ? KfUvModeProbE0ToE7[i][j] : KfUvModeProbE8[i];
- fc.UvModeProb[i][j] = j < 8 ? UvModeProbE0ToE7[i][j] : UvModeProbE8[i];
- }
- }
-
- fc.Tx8x8Prob = Tx8x8Prob;
- fc.Tx16x16Prob = Tx16x16Prob;
- fc.Tx32x32Prob = Tx32x32Prob;
-
- for (int i = 0; i < 4; i++)
- {
- for (int j = 0; j < 9; j++)
- {
- fc.YModeProb[i][j] = j < 8 ? YModeProbE0ToE7[i][j] : YModeProbE8[i];
- }
- }
-
- for (int i = 0; i < 16; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- fc.KfPartitionProb[i][j] = KfPartitionProb[i][j];
- fc.PartitionProb[i][j] = PartitionProb[i][j];
- }
- }
-
- fc.SwitchableInterpProb = SwitchableInterpProb;
- fc.CompInterProb = CompInterProb;
- fc.SkipProb[0] = SkipProbs[0];
- fc.SkipProb[1] = SkipProbs[1];
- fc.SkipProb[2] = SkipProbs[2];
- fc.Joints = Joints;
- fc.Sign = Sign;
- fc.Class0 = Class0;
- fc.Fp = Fp;
- fc.Class0Hp = Class0Hp;
- fc.Hp = Hp;
- fc.Classes = Classes;
- fc.Class0Fp = Class0Fp;
- fc.Bits = Bits;
- fc.SingleRefProb = SingleRefProb;
- fc.CompRefProb = CompRefProb;
-
- for (int i = 0; i < 4; i++)
- {
- for (int j = 0; j < 2; j++)
- {
- for (int k = 0; k < 2; k++)
- {
- for (int l = 0; l < 6; l++)
- {
- for (int m = 0; m < 6; m++)
- {
- for (int n = 0; n < 3; n++)
- {
- fc.CoefProbs[i][j][k][l][m][n] = CoefProbs[i][j][k][l][m][n];
- }
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameFlags.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameFlags.cs
deleted file mode 100644
index 88f1ac20..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameFlags.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- enum FrameFlags : uint
- {
- IsKeyFrame = 1 << 0,
- LastFrameIsKeyFrame = 1 << 1,
- FrameSizeChanged = 1 << 2,
- ErrorResilientMode = 1 << 3,
- LastShowFrame = 1 << 4,
- IntraOnly = 1 << 5
- }
-}
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameSize.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameSize.cs
deleted file mode 100644
index d449ec4d..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameSize.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- struct FrameSize
- {
-#pragma warning disable CS0649
- public ushort Width;
- public ushort Height;
- public ushort LumaPitch;
- public ushort ChromaPitch;
-#pragma warning restore CS0649
- }
-}
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameStats.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameStats.cs
deleted file mode 100644
index 26aab506..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/FrameStats.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- struct FrameStats
- {
-#pragma warning disable CS0649
- public uint Unknown0;
- public uint Unknown4;
- public uint Pass2CycleCount;
- public uint ErrorStatus;
- public uint FrameStatusIntraCnt;
- public uint FrameStatusInterCnt;
- public uint FrameStatusSkipCtuCount;
- public uint FrameStatusFwdMvxCnt;
- public uint FrameStatusFwdMvyCnt;
- public uint FrameStatusBwdMvxCnt;
- public uint FrameStatusBwdMvyCnt;
- public uint ErrorCtbPos;
- public uint ErrorSlicePos;
-#pragma warning restore CS0649
- }
-}
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/LoopFilter.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/LoopFilter.cs
deleted file mode 100644
index 7cb0fd7a..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/LoopFilter.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Ryujinx.Common.Memory;
-
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- struct LoopFilter
- {
-#pragma warning disable CS0649
- public byte ModeRefDeltaEnabled;
- public Array4<sbyte> RefDeltas;
- public Array2<sbyte> ModeDeltas;
-#pragma warning restore CS0649
- }
-}
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/PictureInfo.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/PictureInfo.cs
deleted file mode 100644
index 7d06f747..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/PictureInfo.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-using Ryujinx.Common.Memory;
-using Ryujinx.Graphics.Video;
-
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- struct PictureInfo
- {
-#pragma warning disable CS0649
- public Array12<uint> Unknown0;
- public uint BitstreamSize;
- public uint IsEncrypted;
- public uint Unknown38;
- public uint Reserved3C;
- public uint BlockLayout; // Not supported on T210
- public uint WorkBufferSizeShr8;
- public FrameSize LastFrameSize;
- public FrameSize GoldenFrameSize;
- public FrameSize AltFrameSize;
- public FrameSize CurrentFrameSize;
- public FrameFlags Flags;
- public Array4<sbyte> RefFrameSignBias;
- public byte FirstLevel;
- public byte SharpnessLevel;
- public byte BaseQIndex;
- public byte YDcDeltaQ;
- public byte UvAcDeltaQ;
- public byte UvDcDeltaQ;
- public byte Lossless;
- public byte TxMode;
- public byte AllowHighPrecisionMv;
- public byte InterpFilter;
- public byte ReferenceMode;
- public sbyte CompFixedRef;
- public Array2<sbyte> CompVarRef;
- public byte Log2TileCols;
- public byte Log2TileRows;
- public Segmentation Seg;
- public LoopFilter Lf;
- public byte PaddingEB;
- public uint WorkBufferSizeShr8New; // Not supported on T210
- public uint SurfaceParams; // Not supported on T210
- public uint UnknownF4;
- public uint UnknownF8;
- public uint UnknownFC;
-#pragma warning restore CS0649
-
- public uint BitDepth => (SurfaceParams >> 1) & 0xf;
-
- public Vp9PictureInfo Convert()
- {
- return new Vp9PictureInfo()
- {
- IsKeyFrame = Flags.HasFlag(FrameFlags.IsKeyFrame),
- IntraOnly = Flags.HasFlag(FrameFlags.IntraOnly),
- UsePrevInFindMvRefs =
- !Flags.HasFlag(FrameFlags.ErrorResilientMode) &&
- !Flags.HasFlag(FrameFlags.FrameSizeChanged) &&
- !Flags.HasFlag(FrameFlags.IntraOnly) &&
- Flags.HasFlag(FrameFlags.LastShowFrame) &&
- !Flags.HasFlag(FrameFlags.LastFrameIsKeyFrame),
- RefFrameSignBias = RefFrameSignBias,
- BaseQIndex = BaseQIndex,
- YDcDeltaQ = YDcDeltaQ,
- UvDcDeltaQ = UvDcDeltaQ,
- UvAcDeltaQ = UvAcDeltaQ,
- Lossless = Lossless != 0,
- TransformMode = TxMode,
- AllowHighPrecisionMv = AllowHighPrecisionMv != 0,
- InterpFilter = InterpFilter,
- ReferenceMode = ReferenceMode,
- CompFixedRef = CompFixedRef,
- CompVarRef = CompVarRef,
- Log2TileCols = Log2TileCols,
- Log2TileRows = Log2TileRows,
- SegmentEnabled = Seg.Enabled != 0,
- SegmentMapUpdate = Seg.UpdateMap != 0,
- SegmentMapTemporalUpdate = Seg.TemporalUpdate != 0,
- SegmentAbsDelta = Seg.AbsDelta,
- SegmentFeatureEnable = Seg.FeatureMask,
- SegmentFeatureData = Seg.FeatureData,
- ModeRefDeltaEnabled = Lf.ModeRefDeltaEnabled != 0,
- RefDeltas = Lf.RefDeltas,
- ModeDeltas = Lf.ModeDeltas
- };
- }
- }
-}
diff --git a/Ryujinx.Graphics.Nvdec/Types/Vp9/Segmentation.cs b/Ryujinx.Graphics.Nvdec/Types/Vp9/Segmentation.cs
deleted file mode 100644
index f6c4f0b1..00000000
--- a/Ryujinx.Graphics.Nvdec/Types/Vp9/Segmentation.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using Ryujinx.Common.Memory;
-
-namespace Ryujinx.Graphics.Nvdec.Types.Vp9
-{
- struct Segmentation
- {
-#pragma warning disable CS0649
- public byte Enabled;
- public byte UpdateMap;
- public byte TemporalUpdate;
- public byte AbsDelta;
- public Array8<uint> FeatureMask;
- public Array8<Array4<short>> FeatureData;
-#pragma warning restore CS0649
- }
-}