/
mythv4l2m2mcontext.h
26 lines (23 loc) · 1.26 KB
/
mythv4l2m2mcontext.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef MYTHV4L2M2MCONTEXT_H
#define MYTHV4L2M2MCONTEXT_H
// MythTV
#include "mythdrmprimecontext.h"
class MythV4L2M2MContext : public MythDRMPRIMEContext
{
public:
MythV4L2M2MContext(DecoderBase *Parent, MythCodecID CodecID);
~MythV4L2M2MContext() = default;
static MythCodecID GetSupportedCodec (AVCodecContext **Context,
AVCodec **Codec,
const QString &Decoder,
AVStream *Stream,
uint StreamType);
void InitVideoCodec (AVCodecContext *Context, bool SelectedStream, bool &DirectRendering) override;
bool RetrieveFrame (AVCodecContext *Context, VideoFrame *Frame, AVFrame *AvFrame) override;
void SetDecoderOptions (AVCodecContext* Context, AVCodec* Codec) override;
int HwDecoderInit (AVCodecContext *Context) override;
bool DecoderWillResetOnFlush (void) override;
static bool GetBuffer (AVCodecContext *Context, VideoFrame *Frame, AVFrame *AvFrame, int);
static bool HaveV4L2Codecs (AVCodecID Codec = AV_CODEC_ID_NONE);
};
#endif // MYTHV4L2M2MCONTEXT_H