vdr-plugin-softhddevice-drm-gles 1.6.2
videofilter.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-or-later
2
12#ifndef __THREADS_H
13#define __THREADS_H
14
15#include <functional>
16
17extern "C"
18{
19#include <libavcodec/avcodec.h>
20#include <libavfilter/avfilter.h>
21}
22
23#include <vdr/thread.h>
24
25#include "misc.h"
26#include "queue.h"
27
28class cDrmBuffer;
29class cVideoRender;
30
64
67#endif
DRM Buffer.
Definition drmbuffer.h:47
bool IsFull(void)
Check if the queue is full.
Definition queue.h:113
Video Filter.
Definition videofilter.h:39
cQueue< cDrmBuffer > * m_pDrmBufferQueue
pointer to renderer's DRM buffer queue
Definition videofilter.h:58
int m_numFramesToFilter
number of frames to be filtered
Definition videofilter.h:59
int GetNumFramesToFilter(void)
Definition videofilter.h:46
cVideoRender * m_pRender
pointer to renderer
Definition videofilter.h:49
AVFilterGraph * m_pFilterGraph
filter graph
Definition videofilter.h:51
cQueue< AVFrame > m_frames
queue for frames to be filtered
Definition videofilter.h:56
AVFilterContext * m_pBuffersinkCtx
buffer sink context
Definition videofilter.h:53
bool IsInputBufferFull(void)
Definition videofilter.h:45
std::function< void(AVFrame *)> m_frameOutput
function to output the frame
Definition videofilter.h:57
bool m_filterBug
flag for a ffmpeg bug
Definition videofilter.h:55
AVFilterContext * m_pBuffersrcCtx
buffer src context
Definition videofilter.h:52
Video Renderer.
void SetFilterOutputPixFormat(AVPixelFormat)
Setup the filter output pixel format.
void InitAndStart(const AVCodecContext *, AVFrame *, bool)
Init and start the video filter thread.
void Stop(void)
Stops the filter thread and does a cleanup.
void Action(void)
Main filter thread loop.
void PushFrame(AVFrame *)
Puts a frame in the buffer to be filtered.
#define VIDEO_SURFACES_MAX
maximum video surfaces kept by the filter and render queues
Definition misc.h:77
Misc Functions.
Thread-safe Queue.