summaryrefslogtreecommitdiff
path: root/src/video_out
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_out')
-rw-r--r--src/video_out/video_out_vdpau.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c
index fc3a01d24..e2137dfe6 100644
--- a/src/video_out/video_out_vdpau.c
+++ b/src/video_out/video_out_vdpau.c
@@ -1399,13 +1399,14 @@ static void vdpau_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
if ( (frame->format == XINE_IMGFMT_YV12) || (frame->format == XINE_IMGFMT_YUY2) ) {
chroma = ( frame->format==XINE_IMGFMT_YV12 )? VDP_CHROMA_TYPE_420 : VDP_CHROMA_TYPE_422;
- if ( (frame->width > this->soft_surface_width) || (frame->height > this->soft_surface_height) || (frame->format != this->soft_surface_format) ) {
+ if ( (frame->width != this->soft_surface_width) || (frame->height != this->soft_surface_height) || (frame->format != this->soft_surface_format) ) {
lprintf( "vo_vdpau: soft_surface size update\n" );
/* recreate surface to match frame changes */
this->soft_surface_width = frame->width;
this->soft_surface_height = frame->height;
this->soft_surface_format = frame->format;
vdp_video_surface_destroy( this->soft_surface );
+ this->soft_surface = VDP_INVALID_HANDLE;
vdp_video_surface_create( vdp_device, chroma, this->soft_surface_width, this->soft_surface_height, &this->soft_surface );
}
/* FIXME: have to swap U and V planes to get correct colors !! */
@@ -2327,11 +2328,11 @@ static vo_driver_t *vdpau_open_plugin (video_driver_class_t *class_gen, const vo
int features_count = 0;
if ( this->noise_reduction_is_supported ) {
features[features_count] = VDP_VIDEO_MIXER_FEATURE_NOISE_REDUCTION;
- ++features_count;
+ ++features_count;
}
if ( this->sharpness_is_supported ) {
features[features_count] = VDP_VIDEO_MIXER_FEATURE_SHARPNESS;
- ++features_count;
+ ++features_count;
}
if ( this->temporal_is_supported ) {
features[features_count] = VDP_VIDEO_MIXER_FEATURE_DEINTERLACE_TEMPORAL;
@@ -2368,34 +2369,34 @@ static vo_driver_t *vdpau_open_plugin (video_driver_class_t *class_gen, const vo
if ( this->temporal_is_supported ) {
this->deinterlacers_name[deint_count] = vdpau_deinterlacer_name[1];
this->deinterlacers_method[deint_count] = DEINT_HALF_TEMPORAL;
- strcat( deinterlacers_description, vdpau_deinterlacer_description[1] );
- ++deint_count;
+ strcat( deinterlacers_description, vdpau_deinterlacer_description[1] );
+ ++deint_count;
}
if ( this->temporal_spatial_is_supported ) {
this->deinterlacers_name[deint_count] = vdpau_deinterlacer_name[2];
this->deinterlacers_method[deint_count] = DEINT_HALF_TEMPORAL_SPATIAL;
- strcat( deinterlacers_description, vdpau_deinterlacer_description[2] );
- ++deint_count;
+ strcat( deinterlacers_description, vdpau_deinterlacer_description[2] );
+ ++deint_count;
}
if ( this->temporal_is_supported ) {
this->deinterlacers_name[deint_count] = vdpau_deinterlacer_name[3];
this->deinterlacers_method[deint_count] = DEINT_TEMPORAL;
- strcat( deinterlacers_description, vdpau_deinterlacer_description[3] );
- deint_default = deint_count;
- ++deint_count;
+ strcat( deinterlacers_description, vdpau_deinterlacer_description[3] );
+ deint_default = deint_count;
+ ++deint_count;
}
if ( this->temporal_spatial_is_supported ) {
this->deinterlacers_name[deint_count] = vdpau_deinterlacer_name[4];
this->deinterlacers_method[deint_count] = DEINT_TEMPORAL_SPATIAL;
- strcat( deinterlacers_description, vdpau_deinterlacer_description[4] );
- ++deint_count;
+ strcat( deinterlacers_description, vdpau_deinterlacer_description[4] );
+ ++deint_count;
}
this->deinterlacers_name[deint_count] = NULL;
this->deinterlace_method = config->register_enum( config, "video.output.vdpau_deinterlace_method", deint_default,
this->deinterlacers_name, _("vdpau: HD deinterlace method"),
deinterlacers_description,
- 10, vdpau_update_deinterlace_method, this );
+ 10, vdpau_update_deinterlace_method, this );
if ( this->inverse_telecine_is_supported ) {
this->enable_inverse_telecine = config->register_bool( config, "video.output.vdpau_enable_inverse_telecine", 1,