summaryrefslogtreecommitdiff
path: root/src/libmpeg2/slice_xvmc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmpeg2/slice_xvmc.c')
-rw-r--r--src/libmpeg2/slice_xvmc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libmpeg2/slice_xvmc.c b/src/libmpeg2/slice_xvmc.c
index f3ce5fb74..43d9666ee 100644
--- a/src/libmpeg2/slice_xvmc.c
+++ b/src/libmpeg2/slice_xvmc.c
@@ -1663,7 +1663,8 @@ static inline int slice_xvmc_init (picture_t * picture, int code)
picture->limit_y = height - 16;
//TODO conversion to signed format signed format
- if((picture->mc->xvmc_accel & ACCEL) == MOTION_ACCEL) {
+ if((picture->mc->xvmc_accel & ACCEL) == MOTION_ACCEL &&
+ !(picture->mc->xvmc_accel & SIGNED_INTRA)) {
//Motion Comp only unsigned intra
// original:
picture->dc_dct_pred[0] = picture->dc_dct_pred[1] =
@@ -1920,7 +1921,8 @@ void mpeg2_xvmc_slice (mpeg2dec_accel_t *accel, picture_t * picture, int code, u
picture->pitches[2]); // cc2 croma
}
- if((picture->mc->xvmc_accel & ACCEL) == MOTION_ACCEL) {
+ if((picture->mc->xvmc_accel & ACCEL) == MOTION_ACCEL &&
+ !(picture->mc->xvmc_accel & SIGNED_INTRA)) {
// original:
picture->dc_dct_pred[0] = picture->dc_dct_pred[1] =
picture->dc_dct_pred[2] = 128 << picture->intra_dc_precision;
@@ -1977,7 +1979,8 @@ void mpeg2_xvmc_slice (mpeg2dec_accel_t *accel, picture_t * picture, int code, u
mba_inc += mba->mba;
if (mba_inc) {
//TODO conversion to signed format signed format
- if((picture->mc->xvmc_accel & ACCEL) == MOTION_ACCEL) {
+ if((picture->mc->xvmc_accel & ACCEL) == MOTION_ACCEL &&
+ !(picture->mc->xvmc_accel & SIGNED_INTRA)) {
// original:
picture->dc_dct_pred[0] = picture->dc_dct_pred[1] =
picture->dc_dct_pred[2] = 128 << picture->intra_dc_precision;