mirror of
https://github.com/jojo61/vdr-plugin-softhdcuvid.git
synced 2023-10-10 13:37:41 +02:00
Changes for NVIDIA 535 and more for PIP with placebo
This commit is contained in:
parent
a56b3737c7
commit
45043b9ffc
10
codec.c
10
codec.c
@ -307,12 +307,12 @@ void CodecVideoOpen(VideoDecoder *decoder, int codec_id) {
|
|||||||
#ifdef CUVID
|
#ifdef CUVID
|
||||||
if (strcmp(decoder->VideoCodec->long_name,
|
if (strcmp(decoder->VideoCodec->long_name,
|
||||||
"Nvidia CUVID MPEG2VIDEO decoder") == 0) { // deinterlace for mpeg2 is somehow broken
|
"Nvidia CUVID MPEG2VIDEO decoder") == 0) { // deinterlace for mpeg2 is somehow broken
|
||||||
if (av_opt_set_int(decoder->VideoCtx->priv_data, "deint", deint, 0) < 0) { // adaptive
|
if (av_opt_set_int(decoder->VideoCtx->priv_data, "deint", 1, 0) < 0) { // adaptive
|
||||||
pthread_mutex_unlock(&CodecLockMutex);
|
pthread_mutex_unlock(&CodecLockMutex);
|
||||||
Fatal(_("codec: can't set option deint to video codec!\n"));
|
Fatal(_("codec: can't set option deint to video codec!\n"));
|
||||||
}
|
}
|
||||||
#if 1
|
#if 0
|
||||||
if (av_opt_set_int(decoder->VideoCtx->priv_data, "surfaces", 9, 0) < 0) {
|
if (av_opt_set_int(decoder->VideoCtx->priv_data, "surfaces", 13, 0) < 0) {
|
||||||
pthread_mutex_unlock(&CodecLockMutex);
|
pthread_mutex_unlock(&CodecLockMutex);
|
||||||
Fatal(_("codec: can't set option surfces to video codec!\n"));
|
Fatal(_("codec: can't set option surfces to video codec!\n"));
|
||||||
}
|
}
|
||||||
@ -558,7 +558,7 @@ next_part:
|
|||||||
if (decoder->filter) {
|
if (decoder->filter) {
|
||||||
if (decoder->filter == 1) {
|
if (decoder->filter == 1) {
|
||||||
if (init_filters(video_ctx, decoder->HwDecoder, frame) < 0) {
|
if (init_filters(video_ctx, decoder->HwDecoder, frame) < 0) {
|
||||||
Fatal(_("video: Init of YADIF Filter failed\n"));
|
Debug(3,"video: Init of YADIF Filter failed\n");
|
||||||
decoder->filter = 0;
|
decoder->filter = 0;
|
||||||
} else {
|
} else {
|
||||||
Debug(3, "Init YADIF ok\n");
|
Debug(3, "Init YADIF ok\n");
|
||||||
@ -876,7 +876,7 @@ static int CodecAudioUpdateHelper(AudioDecoder *audio_decoder, int *passthrough)
|
|||||||
int err;
|
int err;
|
||||||
|
|
||||||
audio_ctx = audio_decoder->AudioCtx;
|
audio_ctx = audio_decoder->AudioCtx;
|
||||||
Debug(3, "codec/audio: format change %s %dHz *%d channels%s%s%s%s%s\n",
|
Debug(3, "codec/audio: Chanlayout %lx format change %s %dHz *%d channels%s%s%s%s%s\n",audio_ctx->channel_layout,
|
||||||
av_get_sample_fmt_name(audio_ctx->sample_fmt), audio_ctx->sample_rate, audio_ctx->channels,
|
av_get_sample_fmt_name(audio_ctx->sample_fmt), audio_ctx->sample_rate, audio_ctx->channels,
|
||||||
CodecPassthrough & CodecPCM ? " PCM" : "", CodecPassthrough & CodecMPA ? " MPA" : "",
|
CodecPassthrough & CodecPCM ? " PCM" : "", CodecPassthrough & CodecMPA ? " MPA" : "",
|
||||||
CodecPassthrough & CodecAC3 ? " AC-3" : "", CodecPassthrough & CodecEAC3 ? " E-AC-3" : "",
|
CodecPassthrough & CodecAC3 ? " AC-3" : "", CodecPassthrough & CodecEAC3 ? " E-AC-3" : "",
|
||||||
|
@ -61,7 +61,7 @@ extern void ToggleLUT();
|
|||||||
/// vdr-plugin version number.
|
/// vdr-plugin version number.
|
||||||
/// Makefile extracts the version number for generating the file name
|
/// Makefile extracts the version number for generating the file name
|
||||||
/// for the distribution archive.
|
/// for the distribution archive.
|
||||||
static const char *const VERSION = "3.12"
|
static const char *const VERSION = "3.13"
|
||||||
#ifdef GIT_REV
|
#ifdef GIT_REV
|
||||||
"-GIT" GIT_REV
|
"-GIT" GIT_REV
|
||||||
#endif
|
#endif
|
||||||
@ -723,6 +723,12 @@ class cDummyOsd : public cOsd {
|
|||||||
public:
|
public:
|
||||||
cDummyOsd(int Left, int Top, uint Level) : cOsd(Left, Top, Level) {}
|
cDummyOsd(int Left, int Top, uint Level) : cOsd(Left, Top, Level) {}
|
||||||
virtual ~cDummyOsd() {}
|
virtual ~cDummyOsd() {}
|
||||||
|
static void SetOsdPosition(int Left, int Top, int Width, int Height) {
|
||||||
|
(void) Left;
|
||||||
|
(void) Top;
|
||||||
|
(void) Width;
|
||||||
|
(void) Height;
|
||||||
|
}
|
||||||
virtual cPixmap *CreatePixmap(int Layer, const cRect &ViewPort, const cRect &DrawPort = cRect::Null) {
|
virtual cPixmap *CreatePixmap(int Layer, const cRect &ViewPort, const cRect &DrawPort = cRect::Null) {
|
||||||
p = new cDummyPixmap(Layer, ViewPort, DrawPort);
|
p = new cDummyPixmap(Layer, ViewPort, DrawPort);
|
||||||
return p;
|
return p;
|
||||||
|
8
video.c
8
video.c
@ -4151,7 +4151,8 @@ static void CuvidMixVideo(CuvidDecoder *decoder, __attribute__((unused)) int lev
|
|||||||
if (!pl_render_image(p->renderer, &decoder->pl_frames[current], target, &render_params)) {
|
if (!pl_render_image(p->renderer, &decoder->pl_frames[current], target, &render_params)) {
|
||||||
Debug(4, "Failed rendering frame!\n");
|
Debug(4, "Failed rendering frame!\n");
|
||||||
}
|
}
|
||||||
// pl_gpu_finish(p->gpu);
|
if (level)
|
||||||
|
pl_gpu_finish(p->gpu);
|
||||||
// printf("Rendertime %ld -- \n,",GetusTicks() - tt);
|
// printf("Rendertime %ld -- \n,",GetusTicks() - tt);
|
||||||
|
|
||||||
if (VideoScalerTest) { // left side test scaler
|
if (VideoScalerTest) { // left side test scaler
|
||||||
@ -4466,6 +4467,7 @@ static void CuvidDisplayFrame(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifndef PLACEBO
|
#ifndef PLACEBO
|
||||||
// add osd to surface
|
// add osd to surface
|
||||||
|
|
||||||
@ -6888,10 +6890,10 @@ void VideoSetAbove() {
|
|||||||
void VideoSetDeinterlace(int mode[VideoResolutionMax]) {
|
void VideoSetDeinterlace(int mode[VideoResolutionMax]) {
|
||||||
#ifdef CUVID
|
#ifdef CUVID
|
||||||
VideoDeinterlace[0] = mode[0]; // 576i
|
VideoDeinterlace[0] = mode[0]; // 576i
|
||||||
VideoDeinterlace[1] = 1; // mode[1]; // 720p
|
VideoDeinterlace[1] = 0; // mode[1]; // 720p
|
||||||
VideoDeinterlace[2] = mode[2]; // fake 1080
|
VideoDeinterlace[2] = mode[2]; // fake 1080
|
||||||
VideoDeinterlace[3] = mode[3]; // 1080
|
VideoDeinterlace[3] = mode[3]; // 1080
|
||||||
VideoDeinterlace[4] = 1; // mode[4]; 2160p
|
VideoDeinterlace[4] = 0; // mode[4]; 2160p
|
||||||
#else
|
#else
|
||||||
VideoDeinterlace[0] = 1; // 576i
|
VideoDeinterlace[0] = 1; // 576i
|
||||||
VideoDeinterlace[1] = 0; // mode[1]; // 720p
|
VideoDeinterlace[1] = 0; // mode[1]; // 720p
|
||||||
|
Loading…
Reference in New Issue
Block a user