|
MythTV master
|
#include <libmythtv/decoders/mythmmalcontext.h>
Public Member Functions | |
| MythMMALContext (DecoderBase *Parent, MythCodecID Codec) | |
| ~MythMMALContext () override | |
| void | InitVideoCodec (AVCodecContext *Context, bool SelectedStream, bool &DirectRendering) override |
| bool | RetrieveFrame (AVCodecContext *Context, MythVideoFrame *Frame, AVFrame *AvFrame) override |
| int | HwDecoderInit (AVCodecContext *Context) override |
| void | SetDecoderOptions (AVCodecContext *Context, const AVCodec *Codec) override |
| bool | GetBuffer2 (AVCodecContext *Context, MythVideoFrame *Frame, AVFrame *AvFrame, int) |
Public Member Functions inherited from MythCodecContext | |
| 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 Public Member Functions | |
| static MythCodecID | GetSupportedCodec (AVCodecContext **Context, const AVCodec **Codec, const QString &Decoder, AVStream *Stream, uint StreamType) |
| static bool | GetBuffer (AVCodecContext *Context, MythVideoFrame *Frame, AVFrame *AvFrame, int) |
| static enum AVPixelFormat | GetFormat (AVCodecContext *, const AVPixelFormat *PixFmt) |
| static void | GetDecoderList (QStringList &Decoders) |
| static bool | HaveMMAL (bool Reinit=false) |
| static bool | CheckCodecSize (int Width, int Height, MythCodecContext::CodecProfile Profile) |
Static Public Member Functions inherited from MythCodecContext | |
| 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) |
Static Protected Member Functions | |
| static const MMALProfiles & | GetProfiles (void) |
Static Protected Member Functions inherited from MythCodecContext | |
| static void | DestroyInterop (MythInteropGPU *Interop) |
| static void | NewHardwareFramesContext (void) |
| Track the number of concurrent frames contexts. More... | |
Protected Attributes | |
| MythMMALInterop * | m_interop { nullptr } |
Protected Attributes inherited from MythCodecContext | |
| DecoderBase * | m_parent { nullptr } |
| MythCodecID | m_codecID { kCodec_NONE } |
| bool | m_resetRequired { false } |
Definition at line 10 of file mythmmalcontext.h.
| MythMMALContext::MythMMALContext | ( | DecoderBase * | Parent, |
| MythCodecID | Codec | ||
| ) |
Definition at line 15 of file mythmmalcontext.cpp.
|
override |
Definition at line 20 of file mythmmalcontext.cpp.
|
static |
Definition at line 26 of file mythmmalcontext.cpp.
Referenced by GetSupportedCodec(), and MythV4L2M2MContext::GetSupportedCodec().
|
static |
Definition at line 165 of file mythmmalcontext.cpp.
Referenced by RetrieveFrame().
| bool MythMMALContext::GetBuffer2 | ( | AVCodecContext * | Context, |
| MythVideoFrame * | Frame, | ||
| AVFrame * | AvFrame, | ||
| int | |||
| ) |
Definition at line 198 of file mythmmalcontext.cpp.
Referenced by RetrieveFrame().
|
static |
Definition at line 267 of file mythmmalcontext.cpp.
Referenced by MythCodecContext::GetDecoderDescription().
|
static |
Definition at line 233 of file mythmmalcontext.cpp.
Referenced by InitVideoCodec().
|
staticprotected |
Definition at line 284 of file mythmmalcontext.cpp.
Referenced by GetDecoderList(), GetSupportedCodec(), and HaveMMAL().
|
static |
Definition at line 42 of file mythmmalcontext.cpp.
Referenced by MythCodecContext::FindDecoder().
Definition at line 244 of file mythmmalcontext.cpp.
Referenced by MythCodecContext::GetDecoders().
|
overridevirtual |
Reimplemented from MythCodecContext.
Definition at line 135 of file mythmmalcontext.cpp.
|
overridevirtual |
Reimplemented from MythCodecContext.
Definition at line 108 of file mythmmalcontext.cpp.
|
overridevirtual |
Reimplemented from MythCodecContext.
Definition at line 125 of file mythmmalcontext.cpp.
|
overridevirtual |
Reimplemented from MythCodecContext.
Definition at line 153 of file mythmmalcontext.cpp.
|
protected |
Definition at line 33 of file mythmmalcontext.h.
Referenced by GetBuffer2(), HwDecoderInit(), and ~MythMMALContext().