summaryrefslogtreecommitdiff
path: root/src/libmpeg2/slice_xvmc_vld.c
diff options
context:
space:
mode:
authorThomas Hellström <totte67@users.sourceforge.net>2005-02-22 18:31:33 +0000
committerThomas Hellström <totte67@users.sourceforge.net>2005-02-22 18:31:33 +0000
commit081ee8763663ffb98145ea232cad0260bb93aef2 (patch)
tree832625e851f76e0e9c661130c0ade972f784009c /src/libmpeg2/slice_xvmc_vld.c
parent1a73f221fdf055c093e7b9c74d49795c6007b06e (diff)
downloadxine-lib-081ee8763663ffb98145ea232cad0260bb93aef2.tar.gz
xine-lib-081ee8763663ffb98145ea232cad0260bb93aef2.tar.bz2
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
Diffstat (limited to 'src/libmpeg2/slice_xvmc_vld.c')
-rw-r--r--src/libmpeg2/slice_xvmc_vld.c10
1 files changed, 5 insertions, 5 deletions
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)