21#ifndef __CODEC_VIDEO_H
22#define __CODEC_VIDEO_H
25#include <vdr/thread.h>
28#include <libavcodec/avcodec.h>
38 int Open(
enum AVCodecID, AVCodecParameters *, AVRational,
int,
int,
int);
43 int ReopenCodec(
enum AVCodecID, AVCodecParameters *, AVRational,
int);
cVideoDecoder - VideoDecoder class
int ReopenCodec(enum AVCodecID, AVCodecParameters *, AVRational, int)
Reopen the video decoder.
int m_lastCodedHeight
save coded height while closing for a directly reopen
AVCodecContext * GetContext(void)
int SendPacket(const AVPacket *)
Send a video packet to be decoded.
int m_cntFramesReceived
number of decoded frames received from decoder
int GetExtraData(const AVPacket *)
Get extradata from avpkt.
int m_cntStartKeyFrames
number of keyframes arrived while starting the coded (needed for amlogic h264 decoder in order to dro...
void FlushBuffers(void)
Flush the video decoder.
cMutex m_mutex
mutex to lock codec context (TODO: is this needed?)
AVCodecContext * m_pVideoCtx
video codec context
int m_cntPacketsSent
number of packets sent to decoder
int m_lastCodedWidth
save coded width while closing for a directly reopen
bool IsKeyFrame(AVFrame *)
Check, if this is a key frame.
const char * m_identifier
identifier for logging
int ReceiveFrame(AVFrame **)
Receive a decoded a video frame.
void Close(void)
Close video decoder.
int Open(enum AVCodecID, AVCodecParameters *, AVRational, int, int, int)
Open the video decoder.
int m_hardwareQuirks
hardware specific quirks needed for decoder
virtual ~cVideoDecoder(void)
cVideoDecoder destructor
cVideoDecoder(int, const char *)
cVideoDecoder constructor