1#ifndef MYTHV4L2M2MCONTEXT_H
2#define MYTHV4L2M2MCONTEXT_H
8using V4L2Mapping = QPair<const uint32_t, const MythCodecContext::CodecProfile>;
16 const AVCodec **Codec,
20 void InitVideoCodec (AVCodecContext *Context,
bool SelectedStream,
bool &DirectRendering)
override;
29 static enum AVPixelFormat
GetV4L2RequestFormat(AVCodecContext *Context,
const AVPixelFormat *PixFmt);
A generic context handler for codecs that return AV_PIX_FMT_DRM_PRIME frames.
A handler for V4L2 Memory2Memory codecs.
static MythCodecID GetSupportedCodec(AVCodecContext **Context, const AVCodec **Codec, const QString &Decoder, AVStream *Stream, uint StreamType)
static int InitialiseV4L2RequestContext(AVCodecContext *Context)
void SetDecoderOptions(AVCodecContext *Context, const AVCodec *Codec) override
Reduce the number of capture buffers.
static const V4L2Profiles & GetRequestProfiles()
static V4L2Profiles GetProfiles(const std::vector< V4L2Mapping > &Profiles)
static enum AVPixelFormat GetV4L2RequestFormat(AVCodecContext *Context, const AVPixelFormat *PixFmt)
static bool HaveV4L2Codecs(bool Reinit=false)
static void GetDecoderList(QStringList &Decoders)
bool RetrieveFrame(AVCodecContext *Context, MythVideoFrame *Frame, AVFrame *AvFrame) override
~MythV4L2M2MContext() override=default
void InitVideoCodec(AVCodecContext *Context, bool SelectedStream, bool &DirectRendering) override
static const V4L2Profiles & GetStandardProfiles()
bool DecoderWillResetOnFlush() override
static bool GetBuffer(AVCodecContext *Context, MythVideoFrame *Frame, AVFrame *AvFrame, int)
Retrieve a frame from CPU memory.
MythV4L2M2MContext(DecoderBase *Parent, MythCodecID CodecID)
int HwDecoderInit(AVCodecContext *Context) override
QPair< const uint32_t, const MythCodecContext::CodecProfile > V4L2Mapping
QList< MythCodecContext::CodecProfile > V4L2Profiles