From 65480cd3d11b465f0ede5f6c3d1b9f12e06dc98b Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Sat, 26 May 2001 00:48:47 +0000 Subject: implemented frame skipping for libmpeg2 as well as low-quality decoding for low-end systems CVS patchset: 82 CVS date: 2001/05/26 00:48:47 --- src/libmpeg2/slice.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/libmpeg2/slice.c') diff --git a/src/libmpeg2/slice.c b/src/libmpeg2/slice.c index 819ff0f65..95c04e79f 100644 --- a/src/libmpeg2/slice.c +++ b/src/libmpeg2/slice.c @@ -1011,8 +1011,9 @@ static inline void slice_non_intra_DCT (picture_t * picture, uint8_t * dest, if (picture->mpeg1) get_mpeg1_non_intra_block (picture); else - get_non_intra_block (picture); - idct_block_add (picture->DCTblock, dest, stride); + get_non_intra_block (picture); + if (!picture->skip_non_intra_dct) + idct_block_add (picture->DCTblock, dest, stride); } #define MOTION_Y(table,offset_x,offset_y,motion_x,motion_y, \ @@ -1712,7 +1713,7 @@ void slice_process (picture_t * picture, uint8_t code, uint8_t * buffer) } coded_block_pattern = get_coded_block_pattern (picture); - + if (coded_block_pattern & 0x20) slice_non_intra_DCT (picture, dest[0] + offset, DCT_stride); @@ -1733,7 +1734,7 @@ void slice_process (picture_t * picture, uint8_t code, uint8_t * buffer) stride >> 1); if (coded_block_pattern & 0x1) slice_non_intra_DCT (picture, dest[2] + (offset >> 1), - stride >> 1); + stride >> 1); } picture->dc_dct_pred[0] = picture->dc_dct_pred[1] = -- cgit v1.2.3