mirror of
https://github.com/jojo61/vdr-plugin-softhdcuvid.git
synced 2023-10-10 13:37:41 +02:00
fix for compilerwarnings
This commit is contained in:
parent
003d06b946
commit
6c5b65ed82
19
codec.c
19
codec.c
@ -59,6 +59,7 @@
|
||||
#define _N(str) str ///< gettext_noop shortcut
|
||||
|
||||
#include <libavcodec/avcodec.h>
|
||||
#include <libavutil/opt.h>
|
||||
#include <libavutil/mem.h>
|
||||
// support old ffmpeg versions <1.0
|
||||
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,18,102)
|
||||
@ -395,9 +396,6 @@ void CodecVideoOpen(VideoDecoder * decoder, int codec_id)
|
||||
*/
|
||||
void CodecVideoClose(VideoDecoder *video_decoder)
|
||||
{
|
||||
AVCodecContext *video_ctx = video_decoder->VideoCtx;;
|
||||
int ret;
|
||||
AVFrame *frame;
|
||||
|
||||
// FIXME: play buffered data
|
||||
av_frame_free(&video_decoder->Frame); // callee does checks
|
||||
@ -465,12 +463,10 @@ void CodecVideoDecode(VideoDecoder * decoder, const AVPacket * avpkt)
|
||||
{
|
||||
AVCodecContext *video_ctx;
|
||||
AVFrame *frame;
|
||||
int used,ret,ret1;
|
||||
int ret,ret1;
|
||||
int got_frame;
|
||||
int consumed = 0;
|
||||
AVPacket *pkt;
|
||||
static uint64_t last_time = 0;
|
||||
static uint64_t lastpts = 0;
|
||||
const AVPacket *pkt;
|
||||
|
||||
next_part:
|
||||
video_ctx = decoder->VideoCtx;
|
||||
@ -529,10 +525,6 @@ next_part:
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
** Flush the video decoder.
|
||||
**
|
||||
@ -540,9 +532,6 @@ next_part:
|
||||
*/
|
||||
void CodecVideoFlushBuffers(VideoDecoder * decoder)
|
||||
{
|
||||
AVFrame *frame;
|
||||
frame = decoder->Frame;
|
||||
|
||||
if (decoder->VideoCtx) {
|
||||
avcodec_flush_buffers(decoder->VideoCtx);
|
||||
}
|
||||
@ -1841,7 +1830,9 @@ void CodecInit(void)
|
||||
#else
|
||||
(void)CodecNoopCallback;
|
||||
#endif
|
||||
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,9,100)
|
||||
avcodec_register_all(); // register all formats and codecs
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
169
po/de_DE.po
169
po/de_DE.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR \n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2018-08-18 15:05+0200\n"
|
||||
"POT-Creation-Date: 2019-01-04 09:19+0100\n"
|
||||
"PO-Revision-Date: blabla\n"
|
||||
"Last-Translator: blabla\n"
|
||||
"Language-Team: blabla\n"
|
||||
@ -260,14 +260,22 @@ msgstr ""
|
||||
msgid "codec: missing close\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "codec: codec ID %#06x not found\n"
|
||||
msgid " No decoder found"
|
||||
msgstr ""
|
||||
|
||||
msgid "codec: can't allocate video codec context\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "codec: can't set options to video codec!\n"
|
||||
msgid "codec: can't set option deint to video codec!\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "codec: can't set option surfces to video codec!\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "codec: can't set option drop 2.field to video codec!\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "codec: can't set option drop 2.field to video codec!\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "codec: can't open video codec!\n"
|
||||
@ -282,6 +290,10 @@ msgstr ""
|
||||
msgid "codec: can't allocate audio decoder frame buffer\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "codec: codec ID %#06x not found\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "codec: can't allocate audio codec context\n"
|
||||
msgstr ""
|
||||
|
||||
@ -327,8 +339,8 @@ msgstr ""
|
||||
msgid "codec/audio: no frame\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "A software and GPU emulated UHD device"
|
||||
msgstr ""
|
||||
msgid "A software and GPU emulated HD device"
|
||||
msgstr "Ein Software und GPU emulieres HD-Gerät"
|
||||
|
||||
msgid "SoftUHD"
|
||||
msgstr ""
|
||||
@ -360,6 +372,9 @@ msgstr "OSD Breite"
|
||||
msgid "Osd height"
|
||||
msgstr "OSD Höhe"
|
||||
|
||||
msgid "GPU mem used for image caching (MB)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Suspend"
|
||||
msgstr "Unterbrechen"
|
||||
|
||||
@ -384,8 +399,8 @@ msgstr "Video Hintergrundfrabe (RGB)"
|
||||
msgid "Video background color (Alpha)"
|
||||
msgstr "Video Hintergrundfarbe (Alpha)"
|
||||
|
||||
msgid "Use studio levels (vdpau only)"
|
||||
msgstr "Benutze Studio Levels (nur vdpau)"
|
||||
msgid "Use studio levels"
|
||||
msgstr ""
|
||||
|
||||
msgid "60hz display mode"
|
||||
msgstr "60Hz Anzeigemodus"
|
||||
@ -399,8 +414,11 @@ msgstr "Schwarz während Kanalwechsel"
|
||||
msgid "Clear decoder on channel switch"
|
||||
msgstr "Decoder bei Kanalwechsel leeren"
|
||||
|
||||
msgid "Brightness (-1000..1000) (vdpau)"
|
||||
msgstr "Helligkeit (-1000..1000) (vdpau)"
|
||||
msgid "Scaler Test"
|
||||
msgstr ""
|
||||
|
||||
msgid "Brightness (-100..100)"
|
||||
msgstr ""
|
||||
|
||||
msgid "min"
|
||||
msgstr "min"
|
||||
@ -408,14 +426,26 @@ msgstr "min"
|
||||
msgid "max"
|
||||
msgstr "max"
|
||||
|
||||
msgid "Contrast (0..10000) (vdpau)"
|
||||
msgstr "Kontrast (0..10000) (vdpau)"
|
||||
msgid "Contrast (0..100)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Saturation (0..10000) (vdpau)"
|
||||
msgstr "Sättigung (0..10000) (vdpau)"
|
||||
msgid "Saturation (0..100)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hue (-3141..3141) (vdpau)"
|
||||
msgstr "Farbton (-3141..3141) (vdpau)"
|
||||
msgid "Gamma (0..100)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hue (-314..314) "
|
||||
msgstr ""
|
||||
|
||||
msgid "Monitor Colorspace"
|
||||
msgstr ""
|
||||
|
||||
msgid "Color Blindness"
|
||||
msgstr ""
|
||||
|
||||
msgid "Color Correction (-100..100) "
|
||||
msgstr ""
|
||||
|
||||
msgid "Scaling"
|
||||
msgstr "Skalierung"
|
||||
@ -474,6 +504,15 @@ msgstr "Audio Driftkorrektur"
|
||||
msgid "Pass-through default"
|
||||
msgstr "Pass-Through-Standard"
|
||||
|
||||
msgid " PCM pass-through"
|
||||
msgstr ""
|
||||
|
||||
msgid " AC-3 pass-through"
|
||||
msgstr ""
|
||||
|
||||
msgid " E-AC-3 pass-through"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable (E-)AC-3 (decoder) downmix"
|
||||
msgstr "Aktiviere (E-)AC-3 (decoder) downmix"
|
||||
|
||||
@ -611,6 +650,10 @@ msgstr "PIP schließen"
|
||||
msgid " Frames missed(%d) duped(%d) dropped(%d) total(%d)"
|
||||
msgstr " Frames verloren(%d) verdoppelt(%d) übersprungen(%d) Gesamt(%d)"
|
||||
|
||||
#, c-format
|
||||
msgid " Frame Process time %2.2fms"
|
||||
msgstr ""
|
||||
|
||||
msgid "pass-through disabled"
|
||||
msgstr ""
|
||||
|
||||
@ -690,10 +733,6 @@ msgstr ""
|
||||
msgid "[softhddev] out of memory\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video: packet buffer too small for %d\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video: no empty slot in packet ringbuffer\n"
|
||||
msgstr ""
|
||||
|
||||
@ -714,10 +753,6 @@ msgstr ""
|
||||
msgid "[softhddev] invalid video packet %d/%d bytes\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "[softhddev] empty video packet %d bytes\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "softhddev: %s called without hw decoder\n"
|
||||
msgstr ""
|
||||
@ -815,10 +850,6 @@ msgstr ""
|
||||
msgid "video/glx: SGI v-sync enabled\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "checkCudaErrors() Driver API error = %04d"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/cuvid: surface needed not set\n"
|
||||
msgstr ""
|
||||
|
||||
@ -832,9 +863,6 @@ msgstr ""
|
||||
msgid "video/cuvid: out of memory\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/cuvid: need 1 future, 1 current, 1 back and 1 work surface\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/cuvid: decoder not in decoder list.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -842,47 +870,31 @@ msgid "video/glx: glx error\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/cuvid: SDL error %d: %d\n"
|
||||
msgid "video/cuvid: SDL error %d\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/vdpau: no valid vdpau pixfmt found\n"
|
||||
msgid "Unable to create placebo textures"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/vdpau: no valid profile found\n"
|
||||
msgid "video: no valid pixfmt found\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "CUVID Init failed\n"
|
||||
msgid "video: no valid profile found\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "CUVID Not found\n"
|
||||
msgid "NO Format valid"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/vdpau: can't get output surface parameters: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/vdpau: can't render output surface: %s\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/vdpau: video surface size mismatch\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/vdpau: out of memory\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/vdpau: unsupported rgba format %d\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/vdpau: can't get video surface bits native: %s\n"
|
||||
msgid "Failed rendering frame!\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/vdpau: can't get video surface parameters: %s\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video/vdpau: out of memory\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/vdpau: unsupported chroma type %d\n"
|
||||
msgstr ""
|
||||
@ -902,18 +914,16 @@ msgstr ""
|
||||
msgid "Kein Cuda device gefunden"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/cuvid: can't block queue: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video/cuvid: missed frame (%d/%d)\n"
|
||||
msgid "Failed to submit swapchain buffer\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video: decoder buffer empty, duping frame (%d/%d) %d v-buf\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed creating vulkan swapchain!"
|
||||
msgstr ""
|
||||
|
||||
msgid "video: fatal i/o error\n"
|
||||
msgstr ""
|
||||
|
||||
@ -927,6 +937,21 @@ msgstr ""
|
||||
msgid "video: can't unlock thread\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cant get memory for PLACEBO struct"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed initializing libplacebo\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create XCB Surface\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create Vulkan Device"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed initializing libplacebo renderer\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video: can't queue cancel video display thread\n"
|
||||
msgstr ""
|
||||
|
||||
@ -944,11 +969,11 @@ msgid "softhddev: grab unsupported\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video: Can't connect to X11 server on '%s'\n"
|
||||
msgid "video: Can't initialize X11 thread support on '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "video: Can't initialize X11 thread support on '%s'\n"
|
||||
msgid "video: Can't connect to X11 server on '%s'\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "video: Can't convert XLIB display to XCB connection\n"
|
||||
@ -961,8 +986,20 @@ msgstr ""
|
||||
msgid "video: error closing display\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "A software and GPU emulated HD device"
|
||||
#~ msgstr "Ein Software und GPU emulieres HD-Gerät"
|
||||
#~ msgid "Use studio levels (vdpau only)"
|
||||
#~ msgstr "Benutze Studio Levels (nur vdpau)"
|
||||
|
||||
#~ msgid "Brightness (-1000..1000) (vdpau)"
|
||||
#~ msgstr "Helligkeit (-1000..1000) (vdpau)"
|
||||
|
||||
#~ msgid "Contrast (0..10000) (vdpau)"
|
||||
#~ msgstr "Kontrast (0..10000) (vdpau)"
|
||||
|
||||
#~ msgid "Saturation (0..10000) (vdpau)"
|
||||
#~ msgstr "Sättigung (0..10000) (vdpau)"
|
||||
|
||||
#~ msgid "Hue (-3141..3141) (vdpau)"
|
||||
#~ msgstr "Farbton (-3141..3141) (vdpau)"
|
||||
|
||||
#~ msgid "SoftHdDevice"
|
||||
#~ msgstr "SoftHdDevice"
|
||||
|
@ -992,6 +992,7 @@ void cMenuSetupSoft::Create(void)
|
||||
static const char *const video_display_formats_16_9[] = {
|
||||
"pan&scan", "pillarbox", "center cut-out",
|
||||
};
|
||||
#if 0
|
||||
static const char *const deinterlace[] = {
|
||||
"Bob", "Weave/None", "Temporal", "TemporalSpatial", "Software Bob",
|
||||
"Software Spatial",
|
||||
@ -999,14 +1000,8 @@ void cMenuSetupSoft::Create(void)
|
||||
static const char *const deinterlace_short[] = {
|
||||
"B", "W", "T", "T+S", "S+B", "S+S",
|
||||
};
|
||||
#ifndef PLACEBO
|
||||
static const char *const scaling[] = {
|
||||
"Normal", "Fast", "HQ", "Anamorphic"
|
||||
};
|
||||
#endif
|
||||
static const char *const scaling_short[] = {
|
||||
"N", "F", "HQ", "A"
|
||||
};
|
||||
|
||||
static const char *const audiodrift[] = {
|
||||
"None", "PCM", "AC-3", "PCM + AC-3"
|
||||
};
|
||||
|
@ -661,7 +661,7 @@ static void PesParse(PesDemux * pesdx, const uint8_t * data, int size,
|
||||
n = pesdx->Index - pesdx->Skip;
|
||||
while (n >= 5) {
|
||||
int r;
|
||||
unsigned codec_id;
|
||||
unsigned codec_id = AV_CODEC_ID_NONE;
|
||||
|
||||
// 4 bytes 0xFFExxxxx Mpeg audio
|
||||
// 5 bytes 0x0B77xxxxxx AC-3 audio
|
||||
@ -1687,6 +1687,8 @@ static void VideoMpegEnqueue(VideoStream * stream, int64_t pts, int64_t dts,
|
||||
**
|
||||
** @param avpkt ffmpeg a/v packet
|
||||
*/
|
||||
|
||||
#ifndef USE_PIP
|
||||
static void FixPacketForFFMpeg(VideoDecoder * vdecoder, AVPacket * avpkt)
|
||||
{
|
||||
uint8_t *p;
|
||||
@ -1746,7 +1748,7 @@ static void FixPacketForFFMpeg(VideoDecoder * vdecoder, AVPacket * avpkt)
|
||||
#endif
|
||||
CodecVideoDecode(vdecoder, tmp);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
@ -2676,7 +2678,6 @@ void StillPicture(const uint8_t * data, int size)
|
||||
// H265 NAL End of Sequence
|
||||
static uint8_t seq_end_h265[] = { 0x00, 0x00, 0x00, 0x01, 0x48, 0x01 }; //0x48 = end of seq 0x4a = end of stream
|
||||
int i;
|
||||
int old_video_hardware_decoder;
|
||||
|
||||
// might be called in Suspended Mode
|
||||
if (!MyVideoStream->Decoder || MyVideoStream->SkipStream) {
|
||||
|
119
video.c
119
video.c
@ -393,12 +393,6 @@ static int VideoCutTopBottom[VideoResolutionMax];
|
||||
/// Default cut left and right in pixels
|
||||
static int VideoCutLeftRight[VideoResolutionMax];
|
||||
|
||||
/// Color space ITU-R BT.601, ITU-R BT.709, ...
|
||||
static const VideoColorSpace VideoColorSpaces[VideoResolutionMax] = {
|
||||
VideoColorSpaceBt601, VideoColorSpaceBt709, VideoColorSpaceBt709,
|
||||
VideoColorSpaceBt709,VideoColorSpaceBt709
|
||||
};
|
||||
|
||||
/// Default scaling mode
|
||||
static VideoScalingModes VideoScaling[VideoResolutionMax];
|
||||
|
||||
@ -891,10 +885,8 @@ static void GlxUploadOsdTexture(int x, int y, int width, int height,
|
||||
/// @param width osd width
|
||||
/// @param height osd height
|
||||
///
|
||||
static void GlxOsdInit(int width, int height)
|
||||
static void GlxOsdInit(__attribute__((unused))int width, __attribute__((unused))int height)
|
||||
{
|
||||
int i;
|
||||
|
||||
#ifdef DEBUG
|
||||
if (!GlxEnabled) {
|
||||
Debug(3, "video/glx: %s called without glx enabled\n", __FUNCTION__);
|
||||
@ -1666,7 +1658,7 @@ typedef struct _cuvid_decoder_
|
||||
CUcontext cuda_ctx;
|
||||
|
||||
#ifdef PLACEBO
|
||||
struct pl_image pl_images[CODEC_SURFACES_MAX+1]; // images für Placebo chain
|
||||
struct pl_image pl_images[CODEC_SURFACES_MAX+1]; // images f<EFBFBD>r Placebo chain
|
||||
const struct pl_tex *pl_tex_in[CODEC_SURFACES_MAX+1][2]; // Textures in image
|
||||
const struct pl_buf *pl_buf_Y,*pl_buf_UV; // buffer for Texture upload
|
||||
struct ext_buf ebuf[2]; // for managing vk buffer
|
||||
@ -1854,8 +1846,6 @@ static void CuvidCreateSurfaces(CuvidDecoder * decoder, int width, int height,en
|
||||
static void CuvidDestroySurfaces(CuvidDecoder * decoder)
|
||||
{
|
||||
int i,j;
|
||||
CUcontext dummy;
|
||||
CUdeviceptr d;
|
||||
|
||||
Debug(3, "video/cuvid: %s\n", __FUNCTION__);
|
||||
|
||||
@ -2003,7 +1993,7 @@ static CuvidDecoder *CuvidNewHwDecoder(VideoStream * stream)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (i = av_hwdevice_ctx_create(&hw_device_ctx, AV_HWDEVICE_TYPE_CUDA, X11DisplayName, NULL, 0)) {
|
||||
if ((i = av_hwdevice_ctx_create(&hw_device_ctx, AV_HWDEVICE_TYPE_CUDA, X11DisplayName, NULL, 0)) != 0) {
|
||||
Fatal("codec: can't allocate HW video codec context err %04x",i);
|
||||
}
|
||||
HwDeviceContext = av_buffer_ref(hw_device_ctx);
|
||||
@ -2061,7 +2051,7 @@ static CuvidDecoder *CuvidNewHwDecoder(VideoStream * stream)
|
||||
///
|
||||
static void CuvidCleanup(CuvidDecoder * decoder)
|
||||
{
|
||||
int i,n=0;
|
||||
int i;
|
||||
|
||||
Debug(3,"Cuvid Clean up\n");
|
||||
|
||||
@ -2096,7 +2086,7 @@ Debug(3,"Cuvid Clean up\n");
|
||||
///
|
||||
static void CuvidDelHwDecoder(CuvidDecoder * decoder)
|
||||
{
|
||||
int i,n;
|
||||
int i;
|
||||
Debug(3,"cuvid del hw decoder \n");
|
||||
if (decoder == CuvidDecoders[0])
|
||||
pthread_mutex_lock(&VideoLockMutex);
|
||||
@ -2130,7 +2120,7 @@ Debug(3,"cuvid del hw decoder \n");
|
||||
Error(_("video/cuvid: decoder not in decoder list.\n"));
|
||||
}
|
||||
|
||||
static int CuvidGlxInit(const char *display_name)
|
||||
static int CuvidGlxInit(__attribute__((unused))const char *display_name)
|
||||
{
|
||||
#ifndef PLACEBO
|
||||
GlxEnabled = 1;
|
||||
@ -2266,7 +2256,7 @@ createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned i
|
||||
img->num_overlays = 0;
|
||||
}
|
||||
|
||||
decoder->pl_buf_Y = pl_buf_create(p->gpu, &(struct pl_buf_params) { // buffer für Y texture upload
|
||||
decoder->pl_buf_Y = pl_buf_create(p->gpu, &(struct pl_buf_params) { // buffer f<EFBFBD>r Y texture upload
|
||||
.type = PL_BUF_TEX_TRANSFER,
|
||||
.size = size_x * size_y * size,
|
||||
.host_mapped = false,
|
||||
@ -2277,7 +2267,7 @@ createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned i
|
||||
decoder->ebuf[0].fd = dup(decoder->pl_buf_Y->shared_mem.handle.fd); // dup fd
|
||||
// printf("Y Offset %d Size %d FD %d\n",decoder->pl_buf_Y->handle_offset,decoder->pl_buf_Y->handles.size,decoder->pl_buf_Y->handles.fd);
|
||||
|
||||
decoder->pl_buf_UV = pl_buf_create(p->gpu, &(struct pl_buf_params) { // buffer für UV texture upload
|
||||
decoder->pl_buf_UV = pl_buf_create(p->gpu, &(struct pl_buf_params) { // buffer f<EFBFBD>r UV texture upload
|
||||
.type = PL_BUF_TEX_TRANSFER,
|
||||
.size = size_x * size_y * size / 2,
|
||||
.host_mapped = false,
|
||||
@ -2376,8 +2366,7 @@ void
|
||||
createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned int size_y, enum AVPixelFormat PixFmt)
|
||||
{
|
||||
|
||||
int n,i,size;
|
||||
CUcontext dummy;
|
||||
int n,i;
|
||||
|
||||
glXMakeCurrent(XlibDisplay, VideoWindow, GlxContext);
|
||||
GlxCheck();
|
||||
@ -2422,8 +2411,7 @@ createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned i
|
||||
// copy image and process using CUDA
|
||||
void generateCUDAImage(CuvidDecoder * decoder,int index, const AVFrame *frame,int image_width , int image_height, int bytes)
|
||||
{
|
||||
int n,version;
|
||||
CUcontext dummy=NULL;
|
||||
int n;
|
||||
|
||||
for (n = 0; n < 2; n++) { //
|
||||
// widthInBytes must account for the chroma plane
|
||||
@ -2452,9 +2440,6 @@ void generateCUDAImage(CuvidDecoder * decoder,int index, const AVFrame *frame,in
|
||||
///
|
||||
static void CuvidSetupOutput(CuvidDecoder * decoder)
|
||||
{
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
|
||||
// FIXME: need only to create and destroy surfaces for size changes
|
||||
// or when number of needed surfaces changed!
|
||||
decoder->Resolution = VideoResolutionGroup(decoder->InputWidth, decoder->InputHeight, decoder->Interlaced);
|
||||
@ -2490,26 +2475,6 @@ typedef struct CUVIDContext {
|
||||
AVFrame *tmp_frame;
|
||||
} CUVIDContext;
|
||||
|
||||
|
||||
static int cuvid_get_buffer(AVCodecContext *s, AVFrame *frame, int flags)
|
||||
{
|
||||
VideoDecoder *ist = s->opaque;
|
||||
CUVIDContext *ctx = ist->hwaccel_ctx;
|
||||
int ret;
|
||||
|
||||
if (!ctx->hw_frames_ctx) {
|
||||
Debug(3,"CUDA fail get buffer\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
ret = av_hwframe_get_buffer(ctx->hw_frames_ctx, frame, 0);
|
||||
//ret = avcodec_default_get_buffer2(s, frame, flags);
|
||||
|
||||
Debug(3,"CUDA hwframe got buffer %d\n",ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Callback to negotiate the PixelFormat.
|
||||
///
|
||||
@ -2620,7 +2585,7 @@ int get_RGB(CuvidDecoder *decoder) {
|
||||
int width;
|
||||
int height;
|
||||
GLuint fb,texture;
|
||||
int current,i;
|
||||
int current;
|
||||
GLint texLoc;
|
||||
|
||||
base = decoder->grabbase;
|
||||
@ -2770,10 +2735,8 @@ int get_RGB(CuvidDecoder *decoder) {
|
||||
});
|
||||
|
||||
pl_tex_destroy(p->gpu,&target.fbo);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
///
|
||||
@ -2785,17 +2748,11 @@ int get_RGB(CuvidDecoder *decoder) {
|
||||
///
|
||||
static uint8_t *CuvidGrabOutputSurfaceLocked(int *ret_size, int *ret_width, int *ret_height, int mitosd)
|
||||
{
|
||||
int surface,i;
|
||||
|
||||
int rgba_format;
|
||||
uint32_t size;
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
uint8_t *base;
|
||||
void *data[1];
|
||||
uint32_t pitches[1];
|
||||
VdpRect source_rect;
|
||||
VdpRect output_rect;
|
||||
CuvidDecoder *decoder;
|
||||
|
||||
decoder = CuvidDecoders[0];
|
||||
@ -2850,12 +2807,6 @@ static uint8_t *CuvidGrabOutputSurfaceLocked(int *ret_size, int *ret_width, int
|
||||
source_rect.x0, source_rect.y0, source_rect.x1, source_rect.y1,
|
||||
width, height);
|
||||
|
||||
|
||||
output_rect.x0 = 0;
|
||||
output_rect.y0 = 0;
|
||||
output_rect.x1 = width;
|
||||
output_rect.y1 = height;
|
||||
|
||||
size = width * height * sizeof(uint32_t);
|
||||
|
||||
base = malloc(size);
|
||||
@ -3177,7 +3128,6 @@ static void CuvidRenderFrame(CuvidDecoder * decoder,
|
||||
const AVCodecContext * video_ctx, const AVFrame * frame)
|
||||
{
|
||||
int surface;
|
||||
VideoDecoder *ist = video_ctx->opaque;
|
||||
enum AVColorSpace color;
|
||||
|
||||
// update aspect ratio changes
|
||||
@ -3287,10 +3237,7 @@ Debug(3,"fmt %02d:%02d width %d:%d hight %d:%d\n",decoder->ColorSpace,frame->co
|
||||
///
|
||||
static void *CuvidGetHwAccelContext(CuvidDecoder * decoder)
|
||||
{
|
||||
|
||||
int ret,n;
|
||||
unsigned int device_count,version;
|
||||
CUdevice device;
|
||||
unsigned int version;
|
||||
|
||||
Debug(3, "Initializing cuvid hwaccel thread ID:%ld\n",(long int)syscall(186));
|
||||
//turn NULL;
|
||||
@ -3328,11 +3275,9 @@ static void *CuvidGetHwAccelContext(CuvidDecoder * decoder)
|
||||
/// @FIXME: render only video area, not fullscreen!
|
||||
/// decoder->Output.. isn't correct setup for radio stations
|
||||
///
|
||||
static void CuvidBlackSurface(CuvidDecoder * decoder)
|
||||
static void CuvidBlackSurface(__attribute__((unused))CuvidDecoder * decoder)
|
||||
{
|
||||
#ifndef PLACEBO
|
||||
VdpRect source_rect;
|
||||
VdpRect output_rect;
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
#endif
|
||||
return;
|
||||
@ -3382,7 +3327,7 @@ static void CuvidAdvanceDecoderFrame(CuvidDecoder * decoder)
|
||||
#ifdef PLACEBO
|
||||
static void CuvidMixVideo(CuvidDecoder * decoder, int level,struct pl_render_target *target, struct pl_overlay *ovl )
|
||||
#else
|
||||
static void CuvidMixVideo(CuvidDecoder * decoder, int level)
|
||||
static void CuvidMixVideo(CuvidDecoder * decoder, __attribute__((unused))int level)
|
||||
#endif
|
||||
{
|
||||
#ifdef PLACEBO
|
||||
@ -3395,26 +3340,23 @@ static void CuvidMixVideo(CuvidDecoder * decoder, int level)
|
||||
VkImage Image;
|
||||
struct pl_image *img;
|
||||
bool ok;
|
||||
#endif
|
||||
static int last;
|
||||
int current;
|
||||
|
||||
VdpRect video_src_rect;
|
||||
VdpRect dst_rect;
|
||||
VdpRect dst_video_rect;
|
||||
int w = decoder->InputWidth;
|
||||
int h = decoder->InputHeight;
|
||||
#endif
|
||||
|
||||
int current;
|
||||
int y;
|
||||
float xcropf, ycropf;
|
||||
GLint texLoc;
|
||||
|
||||
size_t nSize = 0;
|
||||
static uint32_t lasttime = 0;
|
||||
|
||||
|
||||
#ifdef USE_AUTOCROP
|
||||
// FIXME: can move to render frame
|
||||
CuvidCheckAutoCrop(decoder);
|
||||
#endif
|
||||
|
||||
#ifdef PLACEBO
|
||||
if (level) {
|
||||
dst_rect.x0 = decoder->VideoX; // video window output (clip)
|
||||
dst_rect.y0 = decoder->VideoY;
|
||||
@ -3431,15 +3373,17 @@ static void CuvidMixVideo(CuvidDecoder * decoder, int level)
|
||||
video_src_rect.y0 = decoder->CropY;
|
||||
video_src_rect.x1 = decoder->CropX + decoder->CropWidth;
|
||||
video_src_rect.y1 = decoder->CropY + decoder->CropHeight;
|
||||
#endif
|
||||
|
||||
xcropf = (float) decoder->CropX / (float) decoder->InputWidth;
|
||||
ycropf = (float) decoder->CropY / (float) decoder->InputHeight;
|
||||
|
||||
#ifdef PLACEBO
|
||||
dst_video_rect.x0 = decoder->OutputX; // video output (scale)
|
||||
dst_video_rect.y0 = decoder->OutputY;
|
||||
dst_video_rect.x1 = decoder->OutputX + decoder->OutputWidth;
|
||||
dst_video_rect.y1 = decoder->OutputY + decoder->OutputHeight;
|
||||
|
||||
#endif
|
||||
current = decoder->SurfacesRb[decoder->SurfaceRead];
|
||||
|
||||
// Render Progressive frame and simple interlaced
|
||||
@ -3674,13 +3618,14 @@ void make_osd_overlay(int x, int y, int width, int height) {
|
||||
static void CuvidDisplayFrame(void)
|
||||
{
|
||||
|
||||
uint64_t first_time, diff, akt_time;
|
||||
uint64_t first_time;
|
||||
static uint64_t last_time = 0;
|
||||
int i;
|
||||
static unsigned int Count;
|
||||
int filled;
|
||||
CuvidDecoder *decoder;
|
||||
#ifdef PLACEBO
|
||||
uint64_t diff;
|
||||
struct pl_swapchain_frame frame;
|
||||
struct pl_render_target target;
|
||||
bool ok;
|
||||
@ -3981,12 +3926,11 @@ void CuvidGetStats(CuvidDecoder * decoder, int *missed, int *duped,
|
||||
///
|
||||
static void CuvidSyncDecoder(CuvidDecoder * decoder)
|
||||
{
|
||||
int err;
|
||||
int filled;
|
||||
int64_t audio_clock;
|
||||
int64_t video_clock;
|
||||
int err = 0;
|
||||
|
||||
err = 0;
|
||||
video_clock = CuvidGetClock(decoder);
|
||||
filled = atomic_read(&decoder->SurfacesFilled);
|
||||
|
||||
@ -4357,9 +4301,6 @@ static void CuvidSetOutputPosition(CuvidDecoder * decoder, int x, int y,
|
||||
// CUVID OSD
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
static const uint8_t OsdZeros[4096 * 2160 * 4]; ///< 0 for clear osd
|
||||
|
||||
|
||||
///
|
||||
/// CUVID module.
|
||||
///
|
||||
@ -4798,7 +4739,7 @@ static void VideoEvent(void)
|
||||
|
||||
case MapNotify:
|
||||
Debug(3, "video/event: MapNotify\n");
|
||||
// µwm workaround
|
||||
// <EFBFBD>wm workaround
|
||||
VideoThreadLock();
|
||||
xcb_change_window_attributes(Connection, VideoWindow,
|
||||
XCB_CW_CURSOR, &VideoBlankCursor);
|
||||
@ -5041,9 +4982,7 @@ static void *VideoDisplayHandlerThread(void *dummy)
|
||||
{
|
||||
|
||||
CUcontext cuda_ctx;
|
||||
unsigned int device_count,version;
|
||||
CUdevice device;
|
||||
|
||||
|
||||
#ifdef PLACEBO_
|
||||
InitPlacebo();
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user