|
vdr-plugin-softhddevice-drm-gles 1.6.2
|
Video Decoder. More...
#include <codec_video.h>
Public Member Functions | |
| cVideoDecoder (int, const char *) | |
| Create a new video decoder. | |
| int | Open (enum AVCodecID, AVCodecParameters *, AVRational, bool, int, int) |
| Open the video decoder. | |
| void | Close (void) |
| Close video decoder. | |
| int | SendPacket (const AVPacket *) |
| Send a video packet to be decoded. | |
| int | ReceiveFrame (AVFrame **) |
| Receive a decoded a video frame. | |
| void | FlushBuffers (void) |
| Flush the video decoder buffers. | |
| int | ReopenCodec (enum AVCodecID, AVCodecParameters *, AVRational, int) |
| Reopen the video decoder. | |
| AVCodecContext * | GetContext (void) |
| bool | IsHardwareDecoder (void) |
| const char * | Name (void) |
| int | GetPacketsSent (void) |
| int | GetFramesReceived (void) |
Private Member Functions | |
| int | GetExtraData (const AVPacket *) |
| Get extradata from avpkt. | |
| bool | IsKeyFrame (AVFrame *) |
| Check, if this is a key frame. | |
Private Attributes | |
| AVCodecContext * | m_pVideoCtx = nullptr |
| video codec context | |
| const char * | m_identifier |
| identifier for logging | |
| const char * | m_pCodecString = "unknown" |
| codec (long) name string | |
| cMutex | m_mutex |
| mutex to lock codec context (TODO: is this needed?) | |
| int | m_cntPacketsSent |
| number of packets sent to decoder | |
| int | m_cntFramesReceived |
| number of decoded frames received from decoder | |
| int | m_cntStartKeyFrames |
| number of keyframes arrived while starting the coded (needed for amlogic h264 decoder in order to drop some frames in ReceiveFrame() before sending them to the renderer) | |
| int | m_lastCodedWidth |
| save coded width while closing for a directly reopen | |
| int | m_lastCodedHeight |
| save coded height while closing for a directly reopen | |
| int | m_hardwareQuirks |
| hardware specific quirks needed for decoder | |
| bool | m_isHardwareDecoder = false |
| true, if this is a hardware decoder | |
Video Decoder.
Definition at line 32 of file codec_video.h.
|
inline |
Definition at line 41 of file codec_video.h.
References m_pVideoCtx.
Referenced by cVideoStream::GetVideoSize(), and cVideoStream::RenderFrame().
Definition at line 45 of file codec_video.h.
References m_cntFramesReceived.
Referenced by cVideoStream::DecodeInput().
Definition at line 44 of file codec_video.h.
References m_cntPacketsSent.
Referenced by cVideoStream::DecodeInput().
Definition at line 42 of file codec_video.h.
References m_isHardwareDecoder.
Referenced by cVideoStream::DecodeInput(), cVideoStream::FlushDecoder(), and cVideoStream::OpenDecoder().
Definition at line 43 of file codec_video.h.
References m_pCodecString.
Referenced by cVideoStream::OpenDecoder().
|
private |
number of decoded frames received from decoder
Definition at line 53 of file codec_video.h.
Referenced by Close(), FlushBuffers(), GetFramesReceived(), Open(), ReceiveFrame(), and ReopenCodec().
|
private |
number of packets sent to decoder
Definition at line 52 of file codec_video.h.
Referenced by Close(), FlushBuffers(), GetPacketsSent(), Open(), ReceiveFrame(), ReopenCodec(), and SendPacket().
|
private |
number of keyframes arrived while starting the coded (needed for amlogic h264 decoder in order to drop some frames in ReceiveFrame() before sending them to the renderer)
Definition at line 54 of file codec_video.h.
Referenced by Open(), ReceiveFrame(), and ReopenCodec().
|
private |
hardware specific quirks needed for decoder
Definition at line 59 of file codec_video.h.
Referenced by Open(), and ReceiveFrame().
identifier for logging
Definition at line 49 of file codec_video.h.
Referenced by Close(), FlushBuffers(), GetExtraData(), Open(), ReceiveFrame(), ReopenCodec(), and SendPacket().
true, if this is a hardware decoder
Definition at line 60 of file codec_video.h.
Referenced by IsHardwareDecoder(), and Open().
|
private |
save coded height while closing for a directly reopen
Definition at line 58 of file codec_video.h.
Referenced by Close(), and ReopenCodec().
|
private |
save coded width while closing for a directly reopen
Definition at line 57 of file codec_video.h.
Referenced by Close(), and ReopenCodec().
|
private |
mutex to lock codec context (TODO: is this needed?)
Definition at line 51 of file codec_video.h.
Referenced by Close(), FlushBuffers(), Open(), ReceiveFrame(), and SendPacket().
codec (long) name string
Definition at line 50 of file codec_video.h.
|
private |
video codec context
Definition at line 48 of file codec_video.h.
Referenced by Close(), FlushBuffers(), GetContext(), GetExtraData(), Open(), ReceiveFrame(), ReopenCodec(), and SendPacket().