diff options
author | hkuang <hkuang@google.com> | 2013-08-06 11:07:19 -0700 |
---|---|---|
committer | Hangyu Kuang <hkuang@google.com> | 2013-08-06 18:31:37 +0000 |
commit | f3bed9137f66ef693bd406e43b17e9a1114f1e14 (patch) | |
tree | cd1bea0cd923c6d125cb5b3e7b3404d7c2f70208 /libvpx/vp9/decoder/vp9_idct_blk.c | |
parent | a8b927ab4f06e2fc0d16d9606b57672df9899ac1 (diff) | |
download | android_external_libvpx-f3bed9137f66ef693bd406e43b17e9a1114f1e14.tar.gz android_external_libvpx-f3bed9137f66ef693bd406e43b17e9a1114f1e14.tar.bz2 android_external_libvpx-f3bed9137f66ef693bd406e43b17e9a1114f1e14.zip |
Roll latest libvpx into Android.
The latest libvpx just added initial multithread vp9 decoding support and more neon optimization.
Checkout is from master branch(hash:33afddadb9af6569bd8296ef1d48d0511b651e9d).
Change-Id: I54be2f48bc033c00876b6b1d0a3ff1eccb92a2fa
Diffstat (limited to 'libvpx/vp9/decoder/vp9_idct_blk.c')
-rw-r--r-- | libvpx/vp9/decoder/vp9_idct_blk.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/libvpx/vp9/decoder/vp9_idct_blk.c b/libvpx/vp9/decoder/vp9_idct_blk.c index 0217919..395e636 100644 --- a/libvpx/vp9/decoder/vp9_idct_blk.c +++ b/libvpx/vp9/decoder/vp9_idct_blk.c @@ -93,15 +93,11 @@ void vp9_idct_add_8x8_c(int16_t *input, uint8_t *dest, int stride, int eob) { if (eob) { if (eob == 1) { // DC only DCT coefficient - int16_t in = input[0]; - int16_t out; - - // Note: the idct1 will need to be modified accordingly whenever - // vp9_short_idct8x8_c() is modified. - vp9_short_idct1_8x8_c(&in, &out); + vp9_short_idct8x8_1_add(input, dest, stride); input[0] = 0; - - vp9_add_constant_residual_8x8(out, dest, stride); + } else if (eob <= 10) { + vp9_short_idct10_8x8_add(input, dest, stride); + vpx_memset(input, 0, 128); } else { vp9_short_idct8x8_add(input, dest, stride); vpx_memset(input, 0, 128); @@ -127,14 +123,11 @@ void vp9_idct_add_16x16_c(int16_t *input, uint8_t *dest, int stride, int eob) { if (eob) { if (eob == 1) { /* DC only DCT coefficient. */ - int16_t in = input[0]; - int16_t out; - /* Note: the idct1 will need to be modified accordingly whenever - * vp9_short_idct16x16() is modified. */ - vp9_short_idct1_16x16_c(&in, &out); + vp9_short_idct16x16_1_add(input, dest, stride); input[0] = 0; - - vp9_add_constant_residual_16x16(out, dest, stride); + } else if (eob <= 10) { + vp9_short_idct10_16x16_add(input, dest, stride); + vpx_memset(input, 0, 512); } else { vp9_short_idct16x16_add(input, dest, stride); vpx_memset(input, 0, 512); |