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
|
||||
if (strcmp(decoder->VideoCodec->long_name,
|
||||
"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);
|
||||
Fatal(_("codec: can't set option deint to video codec!\n"));
|
||||
}
|
||||
#if 1
|
||||
if (av_opt_set_int(decoder->VideoCtx->priv_data, "surfaces", 9, 0) < 0) {
|
||||
#if 0
|
||||
if (av_opt_set_int(decoder->VideoCtx->priv_data, "surfaces", 13, 0) < 0) {
|
||||
pthread_mutex_unlock(&CodecLockMutex);
|
||||
Fatal(_("codec: can't set option surfces to video codec!\n"));
|
||||
}
|
||||
@ -558,7 +558,7 @@ next_part:
|
||||
if (decoder->filter) {
|
||||
if (decoder->filter == 1) {
|
||||
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;
|
||||
} else {
|
||||
Debug(3, "Init YADIF ok\n");
|
||||
@ -876,7 +876,7 @@ static int CodecAudioUpdateHelper(AudioDecoder *audio_decoder, int *passthrough)
|
||||
int err;
|
||||
|
||||
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,
|
||||
CodecPassthrough & CodecPCM ? " PCM" : "", CodecPassthrough & CodecMPA ? " MPA" : "",
|
||||
CodecPassthrough & CodecAC3 ? " AC-3" : "", CodecPassthrough & CodecEAC3 ? " E-AC-3" : "",
|
||||
|
@ -61,7 +61,7 @@ extern void ToggleLUT();
|
||||
/// vdr-plugin version number.
|
||||
/// Makefile extracts the version number for generating the file name
|
||||
/// for the distribution archive.
|
||||
static const char *const VERSION = "3.12"
|
||||
static const char *const VERSION = "3.13"
|
||||
#ifdef GIT_REV
|
||||
"-GIT" GIT_REV
|
||||
#endif
|
||||
@ -723,6 +723,12 @@ class cDummyOsd : public cOsd {
|
||||
public:
|
||||
cDummyOsd(int Left, int Top, uint Level) : cOsd(Left, Top, Level) {}
|
||||
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) {
|
||||
p = new cDummyPixmap(Layer, ViewPort, DrawPort);
|
||||
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)) {
|
||||
Debug(4, "Failed rendering frame!\n");
|
||||
}
|
||||
// pl_gpu_finish(p->gpu);
|
||||
if (level)
|
||||
pl_gpu_finish(p->gpu);
|
||||
// printf("Rendertime %ld -- \n,",GetusTicks() - tt);
|
||||
|
||||
if (VideoScalerTest) { // left side test scaler
|
||||
@ -4466,6 +4467,7 @@ static void CuvidDisplayFrame(void) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifndef PLACEBO
|
||||
// add osd to surface
|
||||
|
||||
@ -6888,10 +6890,10 @@ void VideoSetAbove() {
|
||||
void VideoSetDeinterlace(int mode[VideoResolutionMax]) {
|
||||
#ifdef CUVID
|
||||
VideoDeinterlace[0] = mode[0]; // 576i
|
||||
VideoDeinterlace[1] = 1; // mode[1]; // 720p
|
||||
VideoDeinterlace[1] = 0; // mode[1]; // 720p
|
||||
VideoDeinterlace[2] = mode[2]; // fake 1080
|
||||
VideoDeinterlace[3] = mode[3]; // 1080
|
||||
VideoDeinterlace[4] = 1; // mode[4]; 2160p
|
||||
VideoDeinterlace[4] = 0; // mode[4]; 2160p
|
||||
#else
|
||||
VideoDeinterlace[0] = 1; // 576i
|
||||
VideoDeinterlace[1] = 0; // mode[1]; // 720p
|
||||
|
Loading…
Reference in New Issue
Block a user