diff options
author | Thomas Hellström <totte67@users.sourceforge.net> | 2005-02-22 18:31:33 +0000 |
---|---|---|
committer | Thomas Hellström <totte67@users.sourceforge.net> | 2005-02-22 18:31:33 +0000 |
commit | 081ee8763663ffb98145ea232cad0260bb93aef2 (patch) | |
tree | 832625e851f76e0e9c661130c0ade972f784009c /src/libmpeg2/slice_xvmc_vld.c | |
parent | 1a73f221fdf055c093e7b9c74d49795c6007b06e (diff) | |
download | xine-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.c | 10 |
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) |