vdr-plugin-softhddevice-drm-gles 1.4.0
Classes | Macros | Functions
videorender.cpp File Reference

Rendering class. More...

#include <algorithm>
#include <atomic>
#include <functional>
#include <stdbool.h>
#include <unistd.h>
#include <inttypes.h>
#include <libintl.h>
#include <pthread.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
#include <sys/mman.h>
#include <drm_fourcc.h>
#include "logger.h"
#include <libavcodec/avcodec.h>
#include <libavutil/hwcontext_drm.h>
#include <libavutil/pixdesc.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libavutil/opt.h>
#include "misc.h"
#include "buf2rgb.h"
#include "videorender.h"
#include "audio.h"
#include "drm.h"
#include "threads.h"
#include "grab.h"
#include "drmdevice.h"
Include dependency graph for videorender.cpp:

Go to the source code of this file.

Classes

struct  sRect
 

Macros

#define __USE_GNU
 
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 

Functions

static sRect ComputeFittedRect (AVFrame *frame, uint64_t dispX, uint64_t dispY, uint64_t dispWidth, uint64_t dispHeight)
 Fits the video frame into a given area. More...
 
static void ReleaseFrame (__attribute__((unused)) void *opaque, uint8_t *data)
 Callback free primedata if av_buffer is unreferenced. More...
 

Detailed Description

Rendering class.

This file defines cVideoRender, which includes all methods to bring the video and osd to display.

Definition in file videorender.cpp.

Macro Definition Documentation

◆ __USE_GNU

#define __USE_GNU

Definition at line 26 of file videorender.cpp.

◆ MIN

#define MIN (   a,
 
)    ((a) < (b) ? (a) : (b))

Definition at line 739 of file videorender.cpp.

Function Documentation

◆ ComputeFittedRect()

static sRect ComputeFittedRect ( AVFrame *  frame,
uint64_t  dispX,
uint64_t  dispY,
uint64_t  dispWidth,
uint64_t  dispHeight 
)
static

Fits the video frame into a given area.

Parameters
frameAVFrame with frame dimensions and aspect ratio information
dispXx offset of video area
dispYy offset of video area
dispWidthwidth of video area
dispHeightheight of video area
Returns
the new computed video area or the given area if no frame was given

Definition at line 162 of file videorender.cpp.

Referenced by cVideoRender::SetPipBuffer(), and cVideoRender::SetVideoBuffer().

◆ ReleaseFrame()

static void ReleaseFrame ( __attribute__((unused)) void *  opaque,
uint8_t *  data 
)
static

Callback free primedata if av_buffer is unreferenced.

Definition at line 824 of file videorender.cpp.

Referenced by cDecodingStrategySoftware::PrepareDrmBuffer().