/ src / Ryujinx.Graphics.Video / H264PictureInfo.cs
H264PictureInfo.cs
 1  using Ryujinx.Common.Memory;
 2  
 3  namespace Ryujinx.Graphics.Video
 4  {
 5      public struct H264PictureInfo
 6      {
 7          public Array2<int> FieldOrderCnt;
 8          public bool IsReference;
 9          public ushort ChromaFormatIdc;
10          public ushort FrameNum;
11          public bool FieldPicFlag;
12          public bool BottomFieldFlag;
13          public uint NumRefFrames;
14          public bool MbAdaptiveFrameFieldFlag;
15          public bool ConstrainedIntraPredFlag;
16          public bool WeightedPredFlag;
17          public uint WeightedBipredIdc;
18          public bool FrameMbsOnlyFlag;
19          public bool Transform8x8ModeFlag;
20          public int ChromaQpIndexOffset;
21          public int SecondChromaQpIndexOffset;
22          public int PicInitQpMinus26;
23          public uint NumRefIdxL0ActiveMinus1;
24          public uint NumRefIdxL1ActiveMinus1;
25          public uint Log2MaxFrameNumMinus4;
26          public uint PicOrderCntType;
27          public uint Log2MaxPicOrderCntLsbMinus4;
28          public bool DeltaPicOrderAlwaysZeroFlag;
29          public bool Direct8x8InferenceFlag;
30          public bool EntropyCodingModeFlag;
31          public bool PicOrderPresentFlag;
32          public bool DeblockingFilterControlPresentFlag;
33          public bool RedundantPicCntPresentFlag;
34          public uint NumSliceGroupsMinus1;
35          public uint SliceGroupMapType;
36          public uint SliceGroupChangeRateMinus1;
37          // TODO: Slice group map
38          public bool FmoAsoEnable;
39          public bool ScalingMatrixPresent;
40          public Array6<Array16<byte>> ScalingLists4x4;
41          public Array2<Array64<byte>> ScalingLists8x8;
42          public uint FrameType;
43          public uint PicWidthInMbsMinus1;
44          public uint PicHeightInMapUnitsMinus1;
45          public bool QpprimeYZeroTransformBypassFlag;
46      }
47  }