diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2011-05-04 07:35:30 -0400 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2011-05-04 07:40:01 -0400 |
commit | 18b6a69ce9fcbd12476cfbe8ca9cd7e148dc21c5 (patch) | |
tree | 4b1c1404f140ca0dedcb42d8c1d221f9f11ff41d /libavcodec/vc1.c | |
parent | 1a5e4fd8c5b99478b4e08a69261930bb12aa948b (diff) | |
download | ffmpeg-18b6a69ce9fcbd12476cfbe8ca9cd7e148dc21c5.tar.gz |
Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
This reverts commit f8bed30d8b176fa030f6737765338bb4a2bcabc9. The reason
for this is that the overlap filter, which runs after IDCT, should run
on unclamped values, and thus IDCT and put_pixels() cannot be merged if
we want to attempt to be bitexact.
Diffstat (limited to 'libavcodec/vc1.c')
-rw-r--r-- | libavcodec/vc1.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index 536320ac2e..7b878c18d7 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -280,28 +280,6 @@ static int vop_dquant_decoding(VC1Context *v) static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb); -static void simple_idct_put_rangered(uint8_t *dest, int line_size, DCTELEM *block) -{ - int i; - ff_simple_idct(block); - for (i = 0; i < 64; i++) block[i] = (block[i] - 64) << 1; - ff_put_pixels_clamped_c(block, dest, line_size); -} - -static void simple_idct_put_signed(uint8_t *dest, int line_size, DCTELEM *block) -{ - ff_simple_idct(block); - ff_put_signed_pixels_clamped_c(block, dest, line_size); -} - -static void simple_idct_put_signed_rangered(uint8_t *dest, int line_size, DCTELEM *block) -{ - int i; - ff_simple_idct(block); - for (i = 0; i < 64; i++) block[i] <<= 1; - ff_put_signed_pixels_clamped_c(block, dest, line_size); -} - /** * Decode Simple/Main Profiles sequence header * @see Figure 7-8, p16-17 @@ -359,11 +337,7 @@ int vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitConte v->res_fasttx = get_bits1(gb); if (!v->res_fasttx) { - v->vc1dsp.vc1_inv_trans_8x8_add = ff_simple_idct_add; - v->vc1dsp.vc1_inv_trans_8x8_put[0] = ff_simple_idct_put; - v->vc1dsp.vc1_inv_trans_8x8_put[1] = simple_idct_put_rangered; - v->vc1dsp.vc1_inv_trans_8x8_put_signed[0] = simple_idct_put_signed; - v->vc1dsp.vc1_inv_trans_8x8_put_signed[1] = simple_idct_put_signed_rangered; + v->vc1dsp.vc1_inv_trans_8x8 = ff_simple_idct; v->vc1dsp.vc1_inv_trans_8x4 = ff_simple_idct84_add; v->vc1dsp.vc1_inv_trans_4x8 = ff_simple_idct48_add; v->vc1dsp.vc1_inv_trans_4x4 = ff_simple_idct44_add; |