Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: source/libvpx/vpx_dsp/inv_txfm.c

Issue 1328593002: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_temporal_filter.c ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/libvpx/vpx_dsp/inv_txfm.c
diff --git a/source/libvpx/vpx_dsp/inv_txfm.c b/source/libvpx/vpx_dsp/inv_txfm.c
index 3afa8cdc40981a8c1acabfd88d9a780da5fcc7b9..5f3cfddbd46f51d0641b20823cdc6eda060d3a2e 100644
--- a/source/libvpx/vpx_dsp/inv_txfm.c
+++ b/source/libvpx/vpx_dsp/inv_txfm.c
@@ -170,16 +170,25 @@ void idct8_c(const tran_low_t *input, tran_low_t *output) {
step1[5] = WRAPLOW(dct_const_round_shift(temp1), 8);
step1[6] = WRAPLOW(dct_const_round_shift(temp2), 8);
- // stage 2 & stage 3 - even half
- idct4_c(step1, step1);
-
- // stage 2 - odd half
+ // stage 2
+ temp1 = (step1[0] + step1[2]) * cospi_16_64;
+ temp2 = (step1[0] - step1[2]) * cospi_16_64;
+ step2[0] = WRAPLOW(dct_const_round_shift(temp1), 8);
+ step2[1] = WRAPLOW(dct_const_round_shift(temp2), 8);
+ temp1 = step1[1] * cospi_24_64 - step1[3] * cospi_8_64;
+ temp2 = step1[1] * cospi_8_64 + step1[3] * cospi_24_64;
+ step2[2] = WRAPLOW(dct_const_round_shift(temp1), 8);
+ step2[3] = WRAPLOW(dct_const_round_shift(temp2), 8);
step2[4] = WRAPLOW(step1[4] + step1[5], 8);
step2[5] = WRAPLOW(step1[4] - step1[5], 8);
step2[6] = WRAPLOW(-step1[6] + step1[7], 8);
step2[7] = WRAPLOW(step1[6] + step1[7], 8);
- // stage 3 -odd half
+ // stage 3
+ step1[0] = WRAPLOW(step2[0] + step2[3], 8);
+ step1[1] = WRAPLOW(step2[1] + step2[2], 8);
+ step1[2] = WRAPLOW(step2[1] - step2[2], 8);
+ step1[3] = WRAPLOW(step2[0] - step2[3], 8);
step1[4] = step2[4];
temp1 = (step2[6] - step2[5]) * cospi_16_64;
temp2 = (step2[5] + step2[6]) * cospi_16_64;
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_temporal_filter.c ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698