From 081ee8763663ffb98145ea232cad0260bb93aef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Date: Tue, 22 Feb 2005 18:31:33 +0000 Subject: XvMC update largely courtesy of Kendall Bennet, Scitechsoft: * Fix surface flushing and syncing (xxmc / xvmc) * Fix clearing of macro block lists (xxmc / xvmc) * Remove floating point operations from mpeg demuxer. Degrades performance on non-fp capable hardware. * Remove unnecessary software MC step * Fix Quantization matrix ordering which caused bad picture quality (KB/TH) * Minor optimizations in the libmpeg2 code * Fix VLD flushing at video discontinuity (TH) CVS patchset: 7424 CVS date: 2005/02/22 18:31:33 --- src/libmpeg2/slice_xvmc_vld.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/libmpeg2/slice_xvmc_vld.c') diff --git a/src/libmpeg2/slice_xvmc_vld.c b/src/libmpeg2/slice_xvmc_vld.c index f099bc22a..1159fd90e 100644 --- a/src/libmpeg2/slice_xvmc_vld.c +++ b/src/libmpeg2/slice_xvmc_vld.c @@ -254,12 +254,12 @@ void mpeg2_xxmc_vld_frame_complete(mpeg2dec_t *mpeg2dec, picture_t *picture, int *xxmc = (xine_xxmc_t *) frame->accel_data; if (xxmc->decoded) return; + xxmc->proc_xxmc_flush( frame ); + if (xxmc->result) { + mpeg2dec->xvmc_last_slice_code=-1; + return; + } if (mpeg2dec->xvmc_last_slice_code >= 1) { - xxmc->proc_xxmc_flush( frame ); - if (xxmc->result) { - mpeg2dec->xvmc_last_slice_code=-1; - return; - } xxmc->decoded = 1; if (picture->picture_structure == 3 || picture->second_field) { if (xxmc->result == 0) -- cgit v1.2.3