summaryrefslogtreecommitdiff
path: root/vpxenc.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2013-07-01 12:03:20 -0700
committerRonald S. Bultje <rbultje@google.com>2013-07-02 16:34:24 -0700
commite5fb4b61b66d188b3afed56f1e2548dd6e1a2074 (patch)
tree805ad61f17ae17d50e4f9668576dc7f072d29da0 /vpxenc.c
parent5b872402307b6a62ee4dbe93021c003ccf99a547 (diff)
downloadlibvpx-e5fb4b61b66d188b3afed56f1e2548dd6e1a2074.tar
libvpx-e5fb4b61b66d188b3afed56f1e2548dd6e1a2074.tar.gz
libvpx-e5fb4b61b66d188b3afed56f1e2548dd6e1a2074.tar.bz2
libvpx-e5fb4b61b66d188b3afed56f1e2548dd6e1a2074.zip
Use pmovmskb to skip quantize loops over empty coefficients.
If none of the 16 coefficients that we quantize per loop iteration are larger than the zbin, directly skip to the next round of coeffs, rather than doing a full quantize loop that will eventually result in 16 zeroes. This incurs a jump cost, but saves a lot of other work. 32x32 quant goes from 1349 -> 1184 cycles. The same approach yielded no significantly positive results for smaller transforms, so is not used there (8x8: 103 -> 101 cycles; 16x16: 302 -> 306 cycles). Change-Id: I8fca17dc2543fc8eed1dbcd5100145e3c3a9b647
Diffstat (limited to 'vpxenc.c')
0 files changed, 0 insertions, 0 deletions