1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-12-24 09:56:01 +00:00
Ryujinx/Ryujinx.Graphics.Nvdec.FFmpeg/Native/AVCodecContext.cs
Mary-nyan 7d8e198c33
fix: Support FFmpeg 5.1.x for decoding (#3816)
For some reason FFmpeg 5.1.x reverted part of the changes made in 5.0.x
on AVCodec.

This fix decoding issues with it.
2022-11-02 09:26:50 +01:00

171 lines
5.4 KiB
C#

using Ryujinx.Common.Memory;
using System;
namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native
{
struct AVCodecContext
{
#pragma warning disable CS0649
public unsafe IntPtr AvClass;
public int LogLevelOffset;
public int CodecType;
public unsafe AVCodec* Codec;
public AVCodecID CodecId;
public uint CodecTag;
public IntPtr PrivData;
public IntPtr Internal;
public IntPtr Opaque;
public long BitRate;
public int BitRateTolerance;
public int GlobalQuality;
public int CompressionLevel;
public int Flags;
public int Flags2;
public IntPtr ExtraData;
public int ExtraDataSize;
public AVRational TimeBase;
public int TicksPerFrame;
public int Delay;
public int Width;
public int Height;
public int CodedWidth;
public int CodedHeight;
public int GopSize;
public int PixFmt;
public IntPtr DrawHorizBand;
public IntPtr GetFormat;
public int MaxBFrames;
public float BQuantFactor;
public float BQuantOffset;
public int HasBFrames;
public float IQuantFactor;
public float IQuantOffset;
public float LumiMasking;
public float TemporalCplxMasking;
public float SpatialCplxMasking;
public float PMasking;
public float DarkMasking;
public int SliceCount;
public IntPtr SliceOffset;
public AVRational SampleAspectRatio;
public int MeCmp;
public int MeSubCmp;
public int MbCmp;
public int IldctCmp;
public int DiaSize;
public int LastPredictorCount;
public int MePreCmp;
public int PreDiaSize;
public int MeSubpelQuality;
public int MeRange;
public int SliceFlags;
public int MbDecision;
public IntPtr IntraMatrix;
public IntPtr InterMatrix;
public int IntraDcPrecision;
public int SkipTop;
public int SkipBottom;
public int MbLmin;
public int MbLmax;
public int BidirRefine;
public int KeyintMin;
public int Refs;
public int Mv0Threshold;
public int ColorPrimaries;
public int ColorPrc;
public int Colorspace;
public int ColorRange;
public int ChromaSampleLocation;
public int Slices;
public int FieldOrder;
public int SampleRate;
public int Channels;
public int SampleFmt;
public int FrameSize;
public int FrameNumber;
public int BlockAlign;
public int CutOff;
public ulong ChannelLayout;
public ulong RequestChannelLayout;
public int AudioServiceType;
public int RequestSampleFmt;
public IntPtr GetBuffer2;
public float QCompress;
public float QBlur;
public int QMin;
public int QMax;
public int MaxQdiff;
public int RcBufferSize;
public int RcOverrideCount;
public IntPtr RcOverride;
public long RcMaxRate;
public long RcMinRate;
public float RcMax_available_vbv_use;
public float RcMin_vbv_overflow_use;
public int RcInitialBufferOccupancy;
public int Trellis;
public IntPtr StatsOut;
public IntPtr StatsIn;
public int WorkaroundBugs;
public int StrictStdCompliance;
public int ErrorConcealment;
public int Debug;
public int ErrRecognition;
public long ReorderedOpaque;
public IntPtr HwAccel;
public IntPtr HwAccelContext;
public Array8<ulong> Error;
public int DctAlgo;
public int IdctAlgo;
public int BitsPerCodedSample;
public int BitsPerRawSample;
public int LowRes;
public int ThreadCount;
public int ThreadType;
public int ActiveThreadType;
public int ThreadSafeCallbacks;
public IntPtr Execute;
public IntPtr Execute2;
public int NsseWeight;
public int Profile;
public int Level;
public int SkipLoopFilter;
public int SkipIdct;
public int SkipFrame;
public IntPtr SubtitleHeader;
public int SubtitleHeaderSize;
public int InitialPadding;
public AVRational Framerate;
public int SwPixFmt;
public AVRational PktTimebase;
public IntPtr CodecDescriptor;
public long PtsCorrectionNumFaultyPts;
public long PtsCorrectionNumFaultyDts;
public long PtsCorrectionLastPts;
public long PtsCorrectionLastDts;
public IntPtr SubCharenc;
public int SubCharencMode;
public int SkipAlpha;
public int SeekPreroll;
public int DebugMv;
public IntPtr ChromaIntraMatrix;
public IntPtr DumpSeparator;
public IntPtr CodecWhitelist;
public uint Properties;
public IntPtr CodedSideData;
public int NbCodedSideData;
public IntPtr HwFramesCtx;
public int SubTextFormat;
public int TrailingPadding;
public long MaxPixels;
public IntPtr HwDeviceCtx;
public int HwAccelFlags;
public int applyCropping;
public int ExtraHwFrames;
public int DiscardDamagedPercentage;
public long MaxSamples;
public int ExportSideData;
public IntPtr GetEncodeBuffer;
#pragma warning restore CS0649
}
}