diff options
author | Christophe Thommeret <hftom@free.fr> | 2008-12-19 14:05:04 +0000 |
---|---|---|
committer | Christophe Thommeret <hftom@free.fr> | 2008-12-19 14:05:04 +0000 |
commit | 2f42a48d16e7003c778938b3a72842e785f0cd80 (patch) | |
tree | 6311a393ef6b342b026e8ab6364334f2598e3049 | |
parent | 0d8107bfcdb50dbc0f389f4646d6e026133b03b2 (diff) | |
download | xine-lib-2f42a48d16e7003c778938b3a72842e785f0cd80.tar.gz xine-lib-2f42a48d16e7003c778938b3a72842e785f0cd80.tar.bz2 |
Fix mixer size.
-rw-r--r-- | src/video_out/video_out_vdpau.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c index b58438169..4b163ed74 100644 --- a/src/video_out/video_out_vdpau.c +++ b/src/video_out/video_out_vdpau.c @@ -605,13 +605,12 @@ 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) ) { //printf( "vo_vdpau: got a yuv image -------------\n" ); - surface = this->soft_surface; 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) ) { printf( "vo_vdpau: soft_surface size update\n" ); /* recreate surface and mixer to match frame changes */ - mix_w = this->soft_surface_width = frame->width; - mix_h = this->soft_surface_height = frame->height; + 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 ); vdp_video_surface_create( vdp_device, chroma, this->soft_surface_width, this->soft_surface_height, &this->soft_surface ); @@ -629,6 +628,9 @@ static void vdpau_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) if ( st != VDP_STATUS_OK ) printf( "vo_vdpau: vdp_video_surface_putbits_ycbcr YUY2 error : %s\n", vdp_get_error_string( st ) ); } + surface = this->soft_surface; + mix_w = this->soft_surface_width; + mix_h = this->soft_surface_height; } else if (frame->format == XINE_IMGFMT_VDPAU) { //printf( "vo_vdpau: got a vdpau image -------------\n" ); |