Ryujinx/Ryujinx.Graphics.Video/H264PictureInfo.cs
gdkchan 4d02a2d2c0
New NVDEC and VIC implementation (#1384)
* Initial NVDEC and VIC implementation

* Update FFmpeg.AutoGen to 4.3.0

* Add nvdec dependencies for Windows

* Unify some VP9 structures

* Rename VP9 structure fields

* Improvements to Video API

* XML docs for Common.Memory

* Remove now unused or redundant overloads from MemoryAccessor

* NVDEC UV surface read/write scalar paths

* Add FIXME comments about hacky things/stuff that will need to be fixed in the future

* Cleaned up VP9 memory allocation

* Remove some debug logs

* Rename some VP9 structs

* Remove unused struct

* No need to compile Ryujinx.Graphics.Host1x with unsafe anymore

* Name AsyncWorkQueue threads to make debugging easier

* Make Vp9PictureInfo a ref struct

* LayoutConverter no longer needs the depth argument (broken by rebase)

* Pooling of VP9 buffers, plus fix a memory leak on VP9

* Really wish VS could rename projects properly...

* Address feedback

* Remove using

* Catch OperationCanceledException

* Add licensing informations

* Add THIRDPARTY.md to release too

Co-authored-by: Thog <me@thog.eu>
2020-07-12 05:07:01 +02:00

48 lines
1.7 KiB
C#

using Ryujinx.Common.Memory;
namespace Ryujinx.Graphics.Video
{
public struct H264PictureInfo
{
public Array2<int> FieldOrderCnt;
public bool IsReference;
public ushort ChromaFormatIdc;
public ushort FrameNum;
public bool FieldPicFlag;
public bool BottomFieldFlag;
public uint NumRefFrames;
public bool MbAdaptiveFrameFieldFlag;
public bool ConstrainedIntraPredFlag;
public bool WeightedPredFlag;
public uint WeightedBipredIdc;
public bool FrameMbsOnlyFlag;
public bool Transform8x8ModeFlag;
public int ChromaQpIndexOffset;
public int SecondChromaQpIndexOffset;
public int PicInitQpMinus26;
public uint NumRefIdxL0ActiveMinus1;
public uint NumRefIdxL1ActiveMinus1;
public uint Log2MaxFrameNumMinus4;
public uint PicOrderCntType;
public uint Log2MaxPicOrderCntLsbMinus4;
public bool DeltaPicOrderAlwaysZeroFlag;
public bool Direct8x8InferenceFlag;
public bool EntropyCodingModeFlag;
public bool PicOrderPresentFlag;
public bool DeblockingFilterControlPresentFlag;
public bool RedundantPicCntPresentFlag;
public uint NumSliceGroupsMinus1;
public uint SliceGroupMapType;
public uint SliceGroupChangeRateMinus1;
// TODO: Slice group map
public bool FmoAsoEnable;
public bool ScalingMatrixPresent;
public Array6<Array16<byte>> ScalingLists4x4;
public Array2<Array64<byte>> ScalingLists8x8;
public uint FrameType;
public uint PicWidthInMbsMinus1;
public uint PicHeightInMapUnitsMinus1;
public bool QpprimeYZeroTransformBypassFlag;
}
}