mirror of
https://github.com/webmproject/libwebp.git
synced 2025-04-18 14:56:47 +02:00
make VP8PredLuma4[] non-const and initialize array in VP8DspInit()
also convert 'type *dst' to 'type* dst' Change-Id: I41ab66ad15b548cc45d1cb8b10bbca4fe1528cae
This commit is contained in:
parent
0ea8c6c219
commit
97c76f1f30
@ -284,11 +284,11 @@ static void RD4(uint8_t *dst) { // Down-right
|
|||||||
const int C = dst[2 - BPS];
|
const int C = dst[2 - BPS];
|
||||||
const int D = dst[3 - BPS];
|
const int D = dst[3 - BPS];
|
||||||
DST(0, 3) = AVG3(J, K, L);
|
DST(0, 3) = AVG3(J, K, L);
|
||||||
DST(0, 2) = DST(1, 3) = AVG3(I, J, K);
|
DST(1, 3) = DST(0, 2) = AVG3(I, J, K);
|
||||||
DST(0, 1) = DST(1, 2) = DST(2, 3) = AVG3(X, I, J);
|
DST(2, 3) = DST(1, 2) = DST(0, 1) = AVG3(X, I, J);
|
||||||
DST(0, 0) = DST(1, 1) = DST(2, 2) = DST(3, 3) = AVG3(A, X, I);
|
DST(3, 3) = DST(2, 2) = DST(1, 1) = DST(0, 0) = AVG3(A, X, I);
|
||||||
DST(1, 0) = DST(2, 1) = DST(3, 2) = AVG3(B, A, X);
|
DST(3, 2) = DST(2, 1) = DST(1, 0) = AVG3(B, A, X);
|
||||||
DST(2, 0) = DST(3, 1) = AVG3(C, B, A);
|
DST(3, 1) = DST(2, 0) = AVG3(C, B, A);
|
||||||
DST(3, 0) = AVG3(D, C, B);
|
DST(3, 0) = AVG3(D, C, B);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,9 +456,7 @@ static void DC8uvNoTopLeft(uint8_t *dst) { // DC with nothing
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// default C implementations
|
// default C implementations
|
||||||
|
|
||||||
const VP8PredFunc VP8PredLuma4[NUM_BMODES] = {
|
VP8PredFunc VP8PredLuma4[NUM_BMODES];
|
||||||
DC4, TM4, VE4, HE4, RD4, VR4, LD4, VL4, HD4, HU4
|
|
||||||
};
|
|
||||||
|
|
||||||
const VP8PredFunc VP8PredLuma16[NUM_B_DC_MODES] = {
|
const VP8PredFunc VP8PredLuma16[NUM_B_DC_MODES] = {
|
||||||
DC16, TM16, VE16, HE16,
|
DC16, TM16, VE16, HE16,
|
||||||
@ -712,6 +710,17 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8DspInit(void) {
|
|||||||
VP8SimpleVFilter16i = SimpleVFilter16i;
|
VP8SimpleVFilter16i = SimpleVFilter16i;
|
||||||
VP8SimpleHFilter16i = SimpleHFilter16i;
|
VP8SimpleHFilter16i = SimpleHFilter16i;
|
||||||
|
|
||||||
|
VP8PredLuma4[0] = DC4;
|
||||||
|
VP8PredLuma4[1] = TM4;
|
||||||
|
VP8PredLuma4[2] = VE4;
|
||||||
|
VP8PredLuma4[3] = HE4;
|
||||||
|
VP8PredLuma4[4] = RD4;
|
||||||
|
VP8PredLuma4[5] = VR4;
|
||||||
|
VP8PredLuma4[6] = LD4;
|
||||||
|
VP8PredLuma4[7] = VL4;
|
||||||
|
VP8PredLuma4[8] = HD4;
|
||||||
|
VP8PredLuma4[9] = HU4;
|
||||||
|
|
||||||
// If defined, use CPUInfo() to overwrite some pointers with faster versions.
|
// If defined, use CPUInfo() to overwrite some pointers with faster versions.
|
||||||
if (VP8GetCPUInfo != NULL) {
|
if (VP8GetCPUInfo != NULL) {
|
||||||
#if defined(WEBP_USE_SSE2)
|
#if defined(WEBP_USE_SSE2)
|
||||||
|
@ -177,7 +177,7 @@ extern VP8WHT VP8TransformWHT;
|
|||||||
typedef void (*VP8PredFunc)(uint8_t* dst);
|
typedef void (*VP8PredFunc)(uint8_t* dst);
|
||||||
extern const VP8PredFunc VP8PredLuma16[/* NUM_B_DC_MODES */];
|
extern const VP8PredFunc VP8PredLuma16[/* NUM_B_DC_MODES */];
|
||||||
extern const VP8PredFunc VP8PredChroma8[/* NUM_B_DC_MODES */];
|
extern const VP8PredFunc VP8PredChroma8[/* NUM_B_DC_MODES */];
|
||||||
extern const VP8PredFunc VP8PredLuma4[/* NUM_BMODES */];
|
extern VP8PredFunc VP8PredLuma4[/* NUM_BMODES */];
|
||||||
|
|
||||||
// clipping tables (for filtering)
|
// clipping tables (for filtering)
|
||||||
extern const int8_t* const VP8ksclip1; // clips [-1020, 1020] to [-128, 127]
|
extern const int8_t* const VP8ksclip1; // clips [-1020, 1020] to [-128, 127]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user