]> granicus.if.org Git - libvpx/commit
Optimze inv 16x16 DCT with 10 non-zero coeffs - P1
authorJingning Han <jingning@google.com>
Tue, 7 Jan 2014 22:35:02 +0000 (14:35 -0800)
committerJingning Han <jingning@google.com>
Wed, 8 Jan 2014 23:36:45 +0000 (15:36 -0800)
commitba6ab46cdcb1b3ae977984c9e18b122c72370eb6
tree2d55377ec2269a2836a43c484dce1e8698a52918
parent8fcb74e6bb88bc17f1bdc76373b813ea0c45033f
Optimze inv 16x16 DCT with 10 non-zero coeffs - P1

This commit is the first patch optimizing SSE2 implementation of inverse
16x16 DCT with <10 non-zero coefficients. It focused on the first 1-D (row)
transformation. It exploits the fact that only top-left 4x4 block contains
non-zero coefficients, in a 2-D inverse 16x16 DCT with <10 coeffients.

The average runtime of idct16x16_10 unit is reduced from
883 cycles -> 779 cycles (12% faster).

For pedestrian_area_1080p 300 frames at 4000 kbps, the speed 2 runtime goes
down from 310651 ms  -> 305910 ms. The decoding speed goes up from
80.37 fps -> 80.87 fps.

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