mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
VAAPI: Instant use new deinterlace configuration.
This commit is contained in:
parent
54661f90ea
commit
8e53cbd4a9
@ -1,6 +1,7 @@
|
|||||||
User johns
|
User johns
|
||||||
Date:
|
Date:
|
||||||
|
|
||||||
|
Instant update deinterlace configuration changes.
|
||||||
Fix subtitle position.
|
Fix subtitle position.
|
||||||
Add SVDRP support.
|
Add SVDRP support.
|
||||||
Suspend when user is inactive.
|
Suspend when user is inactive.
|
||||||
|
15
video.c
15
video.c
@ -209,6 +209,8 @@ static int VideoWindowY; ///< video outout window y coordinate
|
|||||||
static unsigned VideoWindowWidth; ///< video output window width
|
static unsigned VideoWindowWidth; ///< video output window width
|
||||||
static unsigned VideoWindowHeight; ///< video output window height
|
static unsigned VideoWindowHeight; ///< video output window height
|
||||||
|
|
||||||
|
static char VideoSurfaceModesChanged; ///< flag surface modes changed
|
||||||
|
|
||||||
/// Default deinterlace mode.
|
/// Default deinterlace mode.
|
||||||
static VideoDeinterlaceModes VideoDeinterlace[VideoResolutionMax];
|
static VideoDeinterlaceModes VideoDeinterlace[VideoResolutionMax];
|
||||||
|
|
||||||
@ -2754,10 +2756,16 @@ static void VaapiDisplayFrame(void)
|
|||||||
uint32_t put1;
|
uint32_t put1;
|
||||||
uint32_t put2;
|
uint32_t put2;
|
||||||
int i;
|
int i;
|
||||||
|
VaapiDecoder *decoder;
|
||||||
|
|
||||||
|
if (VideoSurfaceModesChanged) { // handle changed modes
|
||||||
|
for (i = 0; i < VaapiDecoderN; ++i) {
|
||||||
|
VaapiInitSurfaceFlags(VaapiDecoders[i]);
|
||||||
|
}
|
||||||
|
VideoSurfaceModesChanged = 0;
|
||||||
|
}
|
||||||
// look if any stream have a new surface available
|
// look if any stream have a new surface available
|
||||||
for (i = 0; i < VaapiDecoderN; ++i) {
|
for (i = 0; i < VaapiDecoderN; ++i) {
|
||||||
VaapiDecoder *decoder;
|
|
||||||
VASurfaceID surface;
|
VASurfaceID surface;
|
||||||
int filled;
|
int filled;
|
||||||
|
|
||||||
@ -6777,6 +6785,7 @@ void VideoSetDeinterlace(int mode[VideoResolutionMax])
|
|||||||
VideoDeinterlace[1] = mode[1];
|
VideoDeinterlace[1] = mode[1];
|
||||||
VideoDeinterlace[2] = mode[2];
|
VideoDeinterlace[2] = mode[2];
|
||||||
VideoDeinterlace[3] = mode[3];
|
VideoDeinterlace[3] = mode[3];
|
||||||
|
VideoSurfaceModesChanged = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -6788,6 +6797,7 @@ void VideoSetSkipChromaDeinterlace(int onoff[VideoResolutionMax])
|
|||||||
VideoSkipChromaDeinterlace[1] = onoff[1];
|
VideoSkipChromaDeinterlace[1] = onoff[1];
|
||||||
VideoSkipChromaDeinterlace[2] = onoff[2];
|
VideoSkipChromaDeinterlace[2] = onoff[2];
|
||||||
VideoSkipChromaDeinterlace[3] = onoff[3];
|
VideoSkipChromaDeinterlace[3] = onoff[3];
|
||||||
|
VideoSurfaceModesChanged = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -6799,6 +6809,7 @@ void VideoSetDenoise(int level[VideoResolutionMax])
|
|||||||
VideoSharpen[1] = level[1];
|
VideoSharpen[1] = level[1];
|
||||||
VideoSharpen[2] = level[2];
|
VideoSharpen[2] = level[2];
|
||||||
VideoSharpen[3] = level[3];
|
VideoSharpen[3] = level[3];
|
||||||
|
VideoSurfaceModesChanged = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -6810,6 +6821,7 @@ void VideoSetSharpen(int level[VideoResolutionMax])
|
|||||||
VideoSharpen[1] = level[1];
|
VideoSharpen[1] = level[1];
|
||||||
VideoSharpen[2] = level[2];
|
VideoSharpen[2] = level[2];
|
||||||
VideoSharpen[3] = level[3];
|
VideoSharpen[3] = level[3];
|
||||||
|
VideoSurfaceModesChanged = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -6821,6 +6833,7 @@ void VideoSetScaling(int mode[VideoResolutionMax])
|
|||||||
VideoScaling[1] = mode[1];
|
VideoScaling[1] = mode[1];
|
||||||
VideoScaling[2] = mode[2];
|
VideoScaling[2] = mode[2];
|
||||||
VideoScaling[3] = mode[3];
|
VideoScaling[3] = mode[3];
|
||||||
|
VideoSurfaceModesChanged = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user