|
| | 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 void | InitVideoCodec (AVCodecContext *Context, bool SelectedStream, bool &DirectRendering) |
| |
| virtual int | HwDecoderInit (AVCodecContext *) |
| |
| virtual bool | RetrieveFrame (AVCodecContext *, MythVideoFrame *, AVFrame *) |
| |
| 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.