Commit 362d0c7b authored by Jonathan Matthews's avatar Jonathan Matthews Committed by Frédéric BARBIER

Fix highbd DCT and ADST data overwriting issue

Exposed by Change-Id: I048c6e9cc790520247cc21ae9b92a9c8d84d00a7

BUG=aomedia:525

Change-Id: Ia83f8a8efcf0eac4912f247f38887c0dd533da85
parent f28b8cfe
...@@ -67,6 +67,7 @@ void av1_idct4_new(const int32_t *input, int32_t *output, const int8_t *cos_bit, ...@@ -67,6 +67,7 @@ void av1_idct4_new(const int32_t *input, int32_t *output, const int8_t *cos_bit,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = input[2]; bf1[1] = input[2];
...@@ -110,6 +111,7 @@ void av1_idct8_new(const int32_t *input, int32_t *output, const int8_t *cos_bit, ...@@ -110,6 +111,7 @@ void av1_idct8_new(const int32_t *input, int32_t *output, const int8_t *cos_bit,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = input[4]; bf1[1] = input[4];
...@@ -195,6 +197,7 @@ void av1_idct16_new(const int32_t *input, int32_t *output, ...@@ -195,6 +197,7 @@ void av1_idct16_new(const int32_t *input, int32_t *output,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = input[8]; bf1[1] = input[8];
...@@ -366,6 +369,7 @@ void av1_idct32_new(const int32_t *input, int32_t *output, ...@@ -366,6 +369,7 @@ void av1_idct32_new(const int32_t *input, int32_t *output,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = input[16]; bf1[1] = input[16];
...@@ -727,6 +731,7 @@ void av1_iadst4_new(const int32_t *input, int32_t *output, ...@@ -727,6 +731,7 @@ void av1_iadst4_new(const int32_t *input, int32_t *output,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = -input[3]; bf1[1] = -input[3];
...@@ -791,6 +796,7 @@ void av1_iadst8_new(const int32_t *input, int32_t *output, ...@@ -791,6 +796,7 @@ void av1_iadst8_new(const int32_t *input, int32_t *output,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = -input[7]; bf1[1] = -input[7];
...@@ -904,6 +910,7 @@ void av1_iadst16_new(const int32_t *input, int32_t *output, ...@@ -904,6 +910,7 @@ void av1_iadst16_new(const int32_t *input, int32_t *output,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = -input[15]; bf1[1] = -input[15];
...@@ -1118,6 +1125,7 @@ void av1_iadst32_new(const int32_t *input, int32_t *output, ...@@ -1118,6 +1125,7 @@ void av1_iadst32_new(const int32_t *input, int32_t *output,
// stage 1; // stage 1;
stage++; stage++;
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = -input[31]; bf1[1] = -input[31];
...@@ -1587,6 +1595,7 @@ void av1_idct64_new(const int32_t *input, int32_t *output, ...@@ -1587,6 +1595,7 @@ void av1_idct64_new(const int32_t *input, int32_t *output,
// stage 1; // stage 1;
stage++; stage++;
cospi = cospi_arr(cos_bit[stage]); cospi = cospi_arr(cos_bit[stage]);
assert(output != input);
bf1 = output; bf1 = output;
bf1[0] = input[0]; bf1[0] = input[0];
bf1[1] = input[32]; bf1[1] = input[32];
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment