]> granicus.if.org Git - libvpx/commit
Optimize 32x32 2D inverse DCT for speed-up
authorJingning Han <jingning@google.com>
Wed, 31 Jul 2013 23:50:34 +0000 (16:50 -0700)
committerJingning Han <jingning@google.com>
Thu, 1 Aug 2013 00:13:31 +0000 (17:13 -0700)
commit9d67495f72cc2c0067bacc594689de53cf6f29c1
tree7c66bbc6b81894bf39603e2aeddd6f99d68a30e0
parent86c384d39893cc569fda4c5e133c42659ae41b5f
Optimize 32x32 2D inverse DCT for speed-up

This commit exploits the sparsity of quantized coefficient matrix.
It detects each 32x8 array and skip the corresponding inverse
transformation if all entries are zero.

For ped1080p at 8000 kbps, this on average reduces the runtime of
32x32 inverse 2D-DCT SSE2 function from 6256 cycles -> 5200
cycles. It makes the overall encoding process about 2% faster at
speed 0. The speed-up is more pronounceable for the decoding process.

Change-Id: If20056c3566bd117642a76f8884c83e8bc8efbcf
vp9/common/x86/vp9_idct_intrin_sse2.c