Age | Commit message (Collapse) | Author |
|
Introducing calc_psnr() which calculates psnr between two yv12 buffers.
Previously we incorrectly used width/height instead of
crop_width/crop_height to calculate number of samples -- fixed.
Change-Id: Iecda01980555de55ad347e0276e6641c793fa56c
|
|
|
|
|
|
Optimizing all SSSE3 assembly for convolution:
1. vp9_filter_block1d4_h8_sse2
2. vp9_filter_block1d8_h8_sse2
3. vp9_filter_block1d16_h8_sse2
4. vp9_filter_block1d4_v8_sse2
5. vp9_filter_block1d8_v8_sse2
6. vp9_filter_block1d16_v8_sse2
my optimization include:
-processing 2x8 elements in one 128 bit register instead of processing
8 elements in one 128 bit register.
-removing unecessary loads.
This optimization gives between 2.4% user level gain for 480p input
and 1.6% user level gain for 720p.
This Optimization done only for 64bit.
Change-Id: Icb586dc0c938b56699864fcee6c52fd43b36b969
|
|
|
|
|
|
Change-Id: If7d3958653104f3e170853e931f8489de3ecf3cc
|
|
|
|
|
|
|
|
Change-Id: Ib1d9628d2b538b6dc27b0db1fa7f40f70ff2072f
|
|
Change-Id: I0c42a729038d0f4cb7bc07f587d066fcb1dfe9d9
|
|
|
|
|
|
Change-Id: I6cdd670d66288dbd66228f38bba6b30502d25362
|
|
Change-Id: I54513dc3b3321e0c0bb6b15ea5c34085ed80b4a4
|
|
|
|
For systems without __builtin_clz() or _BitScanReverse(), taken from libwep
Change-Id: Iead257efc1772c466c79e1dc0356ed571d38d43e
|
|
More intra optimizations will be added.
Change-Id: I33ae8d93f6002bf7b64cc2669602d9e6bfa5a6e8
|
|
|
|
|
|
Optimizing the variance functions: vp9_variance16x16, vp9_variance32x32,
vp9_variance64x64, vp9_variance32x16, vp9_variance64x32,
vp9_mse16x16 by migrating to AVX2
some of the functions were optimized by processing 32 elements instead of 16.
some of the functions were optimized by processing 2 loop strides of 16
elements in a single 256 bit register
This optimization gives between 2.4% - 2.7% user level performance gain
and 42% function level gain.
Change-Id: I265ae08a2b0196057a224a86450153ef3aebd85d
|
|
Change-Id: I44eb44eb3f36c05d916ef140ef42cc84f72f99ec
|
|
|
|
|
|
Fix miss alignment of the frames contributing to the
error score and bit allocation for gf/arf groups.
Initial results slightly +.
Change-Id: Ie508bdcfdac52e592d48e1f13e01b3551b523deb
|
|
Some cleanups on frames_to_key, frames_since_key.
Also removes the unused fixed_q parameters in vp9.
Change-Id: If8743a32c71de30a8d17136477b53d607a7acda8
|
|
The previous implementation stops motion vector prediction test when
the zero motion vector appears for the second time. This commit fixes
it by simply skipping the second time check on zero mv and continuing
on to next mv candidate.
It slightly improves stdhd in speed 2 by 0.06% on average. Most static
sequences are not affected. A few hard ones, like jet, ped, and riverbed
were improved by 0.1 - 0.2%.
Change-Id: Ia8d4e2ffb7136669e8ad1fb24ea6e8fdd6b9a3c1
|
|
This resolves a merge error.
Change-Id: Ifb83acc0a08e80c82f7624f9c86f79d3a86cc871
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The code can be removed because mvp_full will be overridden after that.
Change-Id: I89559b1b6914c86bcd02b7359d37241948ac11d3
|
|
Change-Id: I9631b35810c232c134f39dc0edadb1b3860a45ae
|
|
Change-Id: I064ba32d5358bfbf080a4300fc1793b345080006
|
|
Change-Id: Ic5bf5682ccdb8d2fbad6bba0d7db19a4f47b62a1
|
|
|
|
|
|
Change-Id: I44a89b822a436299b9dd4ff26ad2e35767c29c58
|
|
|
|
|
|
Encapsulating direct references to lst_fb_idx, gld_fb_idx, alt_fb_idx.
Change-Id: I7e65ba3f131286e433e6651970c5647311fa4687
|
|
|
|
The feature undergoes prior assumption that the recursive partition
size search from 4x4 to 64x64, hence utilizing information from small
blocks to determine early termination in large block rate-distortion
optimization search. The current codebase is now going from top down.
The previous function might go with not properly initialized values,
hence removed.
Tested on pedestrian_area_1080p at 4000 kbps running under speed 2.
No visible difference in runtime observed.
Change-Id: I553df415c6191413762db7ae34e8790c71d8118e
|
|
Change-Id: Id9ff7772aa3a3fb5d6cf94aff7dc9489bd964340
|
|
Change-Id: I007d66a1cb1b44751dcceafbaa64649ed9a34562
|
|
|