diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2011-07-23 15:46:35 +0200 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-07-27 14:39:56 +0100 |
commit | 2968bedf129558024ea87a1aabc4aa2d3a5bcb6e (patch) | |
tree | abe755aee5abd6698fef19f58d14142434d38b24 /libavcodec/binkdata.h | |
parent | 001e600c3b8668191f96d7a1e46da0d7fff546de (diff) | |
download | ffmpeg-2968bedf129558024ea87a1aabc4aa2d3a5bcb6e.tar.gz |
bink: make IDCT take 32-bit input
Since IDCT transforming 32-bit input to 8-bit output is unusual and unpractical
for most codecs, move Bink IDCT into separate context. Get rid of an additional
permutation table while at it since SIMD support for Bink IDCT is unlikely to
be implemented in foreseeable future.
Quantisation tables also have to change type to signed for proper
dequantisation of DCT coefficients.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/binkdata.h')
-rw-r--r-- | libavcodec/binkdata.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/binkdata.h b/libavcodec/binkdata.h index db289ad3a1..60f0a59b49 100644 --- a/libavcodec/binkdata.h +++ b/libavcodec/binkdata.h @@ -285,7 +285,7 @@ static const uint8_t bink_patterns[16][64] = { } }; -static const uint32_t bink_intra_quant[16][64] = { +static const int32_t bink_intra_quant[16][64] = { { 0x010000, 0x016315, 0x01E83D, 0x02A535, 0x014E7B, 0x016577, 0x02F1E6, 0x02724C, 0x010000, 0x00EEDA, 0x024102, 0x017F9B, 0x00BE80, 0x00611E, 0x01083C, 0x00A552, @@ -448,7 +448,7 @@ static const uint32_t bink_intra_quant[16][64] = { }, }; -static const uint32_t bink_inter_quant[16][64] = { +static const int32_t bink_inter_quant[16][64] = { { 0x010000, 0x017946, 0x01A5A9, 0x0248DC, 0x016363, 0x0152A7, 0x0243EC, 0x0209EA, 0x012000, 0x00E248, 0x01BBDA, 0x015CBC, 0x00A486, 0x0053E0, 0x00F036, 0x008095, |