|
| MythVTBContext (DecoderBase *Parent, MythCodecID CodecID) |
|
| ~MythVTBContext () override |
|
void | InitVideoCodec (AVCodecContext *Context, bool SelectedStream, bool &DirectRendering) override |
|
bool | RetrieveFrame (AVCodecContext *Context, MythVideoFrame *Frame, AVFrame *AvFrame) override |
|
int | HwDecoderInit (AVCodecContext *Context) override |
|
| MythCodecContext (DecoderBase *Parent, MythCodecID CodecID) |
|
virtual | ~MythCodecContext ()=default |
|
virtual int | FilteredReceiveFrame (AVCodecContext *Context, AVFrame *Frame) |
| Retrieve and process/filter AVFrame. More...
|
|
virtual void | SetDeinterlacing (AVCodecContext *, MythVideoProfile *, bool) |
|
virtual void | PostProcessFrame (AVCodecContext *, MythVideoFrame *) |
|
virtual bool | IsDeinterlacing (bool &, bool=false) |
|
virtual void | SetDecoderOptions (AVCodecContext *, const AVCodec *) |
|
virtual bool | DecoderWillResetOnFlush (void) |
|
virtual bool | DecoderWillResetOnAspect (void) |
|
virtual bool | DecoderNeedsReset (AVCodecContext *) |
|
|
static MythCodecID | GetSupportedCodec (AVCodecContext **Context, const AVCodec **Codec, const QString &Decoder, uint StreamType) |
|
static enum AVPixelFormat | GetFormat (AVCodecContext *Context, const enum AVPixelFormat *PixFmt) |
|
static bool | HaveVTB (bool Reinit=false) |
|
static void | GetDecoderList (QStringList &Decoders) |
|
static MythCodecContext * | CreateContext (DecoderBase *Parent, MythCodecID Codec) |
|
static void | GetDecoders (RenderOptions &Opts, bool Reinit=false) |
|
static QStringList | GetDecoderDescription (void) |
|
static MythCodecID | FindDecoder (const QString &Decoder, AVStream *Stream, AVCodecContext **Context, const AVCodec **Codec) |
|
static int | GetBuffer (struct AVCodecContext *Context, AVFrame *Frame, int Flags) |
| A generic hardware buffer initialisation method when using AVHWFramesContext. More...
|
|
static bool | GetBuffer2 (struct AVCodecContext *Context, MythVideoFrame *Frame, AVFrame *AvFrame, int Flags) |
| A generic hardware buffer initialisation method when AVHWFramesContext is NOT used. More...
|
|
static int | InitialiseDecoder (AVCodecContext *Context, CreateHWDecoder Callback, const QString &Debug) |
| Initialise a hardware decoder that is expected to use AVHWFramesContext. More...
|
|
static int | InitialiseDecoder2 (AVCodecContext *Context, CreateHWDecoder Callback, const QString &Debug) |
| Initialise a hardware decoder that is NOT expected to use AVHWFramesContext. More...
|
|
static void | ReleaseBuffer (void *Opaque, uint8_t *Data) |
|
static void | FramesContextFinished (AVHWFramesContext *Context) |
|
static void | DeviceContextFinished (AVHWDeviceContext *Context) |
|
static void | CreateDecoderCallback (void *Wait, void *Context, void *Callback) |
|
static MythPlayerUI * | GetPlayerUI (AVCodecContext *Context) |
|
static bool | FrameTypeIsSupported (AVCodecContext *Context, VideoFrameType Format) |
|
static AVBufferRef * | CreateDevice (AVHWDeviceType Type, MythInteropGPU *Interop, const QString &Device=QString()) |
|
static bool | IsUnsupportedProfile (AVCodecContext *Context) |
| Most hardware decoders do not support these codecs/profiles. More...
|
|
static QString | GetProfileDescription (CodecProfile Profile, QSize Size, VideoFrameType Format=FMT_NONE, uint ColorDepth=0) |
|
static CodecProfile | FFmpegToMythProfile (AVCodecID CodecID, int Profile) |
|
|
enum | CodecProfile : std::uint8_t {
NoProfile = 0,
MPEG1,
MPEG2,
MPEG2Simple,
MPEG2Main,
MPEG2422,
MPEG2High,
MPEG2Spatial,
MPEG2SNR,
MPEG4,
MPEG4Simple,
MPEG4SimpleScaleable,
MPEG4Core,
MPEG4Main,
MPEG4NBit,
MPEG4ScaleableTexture,
MPEG4SimpleFace,
MPEG4BasicAnimated,
MPEG4Hybrid,
MPEG4AdvancedRT,
MPEG4CoreScaleable,
MPEG4AdvancedCoding,
MPEG4AdvancedCore,
MPEG4AdvancedScaleableTexture,
MPEG4SimpleStudio,
MPEG4AdvancedSimple,
H263,
H264,
H264Baseline,
H264ConstrainedBaseline,
H264Main,
H264MainExtended,
H264High,
H264High10,
H264Extended,
H264High422,
H264High444,
H264ConstrainedHigh,
HEVC,
HEVCMain,
HEVCMain10,
HEVCMainStill,
HEVCRext,
HEVCMain10HDR,
HEVCMain10HDRPlus,
VC1,
VC1Simple,
VC1Main,
VC1Complex,
VC1Advanced,
VP8,
VP9,
VP9_0,
VP9_1,
VP9_2,
VP9_3,
VP9_2HDR,
VP9_2HDRPlus,
VP9_3HDR,
VP9_3HDRPlus,
AV1,
AV1Main,
AV1High,
AV1Professional,
MJPEG
} |
|
virtual bool | RetrieveHWFrame (MythVideoFrame *Frame, AVFrame *AvFrame) |
|
static void | DestroyInterop (MythInteropGPU *Interop) |
|
static void | NewHardwareFramesContext (void) |
| Track the number of concurrent frames contexts. More...
|
|
DecoderBase * | m_parent { nullptr } |
|
MythCodecID | m_codecID { kCodec_NONE } |
|
bool | m_resetRequired { false } |
|
static QAtomicInt | s_hwFramesContextCount |
|
Definition at line 17 of file mythvtbcontext.h.