From 3bdb84af9ee2b4935d423306a30ca1d273d8207a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Date: Wed, 4 May 2005 04:27:20 +0000 Subject: **BUGFIX** fix xxmc plugin wanting to change vld xvmc context when stream changes from non-interlaced to interlaced [bug #1194350] CVS patchset: 7518 CVS date: 2005/05/04 04:27:20 --- src/video_out/xvmc_vld.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/video_out/xvmc_vld.c') diff --git a/src/video_out/xvmc_vld.c b/src/video_out/xvmc_vld.c index e667761d7..93c5f00bd 100644 --- a/src/video_out/xvmc_vld.c +++ b/src/video_out/xvmc_vld.c @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xvmc_vld.c,v 1.2 2004/10/03 12:36:15 totte67 Exp $ + * $Id: xvmc_vld.c,v 1.3 2005/05/04 04:27:20 totte67 Exp $ * * xvmc_vld.c, X11 decoding accelerated video extension interface for xine * @@ -93,7 +93,12 @@ void xvmc_vld_frame(struct vo_frame_s *this_gen) qmx.load_chroma_intra_quantiser_matrix = 0; qmx.load_chroma_non_intra_quantiser_matrix = 0; xvmc_context_reader_lock( &driver->xvmc_lock ); - if ( ! xxmc_xvmc_surface_valid( driver, cf->xvmc_surf)) { + if ( (!xxmc_xvmc_surface_valid( driver, cf->xvmc_surf)) || + ((ctl.picture_coding_type == XVMC_P_PICTURE || + ctl.picture_coding_type == XVMC_B_PICTURE) && + !xxmc_xvmc_surface_valid( driver, fs )) || + ((ctl.picture_coding_type == XVMC_B_PICTURE) && + !xxmc_xvmc_surface_valid( driver, bs )) ) { cf->xxmc_data.result = 128; xvmc_context_reader_unlock( &driver->xvmc_lock ); return; -- cgit v1.2.3