mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2025-12-24 11:52:06 +08:00
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>
This commit is contained in:
committed by
Mans Rullgard
parent
001e600c3b
commit
2968bedf12
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user