summaryrefslogtreecommitdiff
path: root/libavcodec/binkdata.h
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2011-07-23 15:46:35 +0200
committerMans Rullgard <mans@mansr.com>2011-07-27 14:39:56 +0100
commit2968bedf129558024ea87a1aabc4aa2d3a5bcb6e (patch)
treeabe755aee5abd6698fef19f58d14142434d38b24 /libavcodec/binkdata.h
parent001e600c3b8668191f96d7a1e46da0d7fff546de (diff)
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.h4
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,