H264PictureInfo.cs 1.7 KB

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