openh264/test
Sindre Aamås b1013095b1 [Processing/x86] Add an SSE4.1 implementation of GeneralBilinearAccurateDownsample
Keep track of relative pixel offsets and utilize pshufb to efficiently
extract relevant pixels for horizontal scaling ratios <= 4.

Fall back to a generic approach for ratios > 4.

The use of blendps makes this require SSE4.1. The pshufb path can be
backported to SSSE3 and the generic path to SSE2 for a minor reduction
in performance by replacing blendps and preceding instructions with an
equivalent sequence.

The implementation assumes that data beyond the end of each line,
before the next line begins, can be dirtied; which AFAICT is safe with
the current usage of these routines.

Speedup is ~5.32x/~4.25x (32-bit/64-bit) for horizontal ratios <= 2,
~5.06x/~3.97x for ratios within (2, 4], and ~3.93x/~3.13x for ratios
> 4 when not memory-bound on Haswell as compared with the current SSE2
implementation.
2016-05-23 20:23:39 +02:00
..
api add GetBsPostion for cabac and cavlc 2016-05-20 14:29:48 +08:00
build [UT] Add tests for CavlcParamCal_c and CavlcParamCal_sse2 2016-04-20 18:37:08 +02:00
common remove sink in WelsThreadPool and hide the construtor to finish the singleTon 2016-03-02 17:08:09 -08:00
decoder Merge pull request #2401 from saamas/decoder-use-encoder-x86-idct-routines 2016-03-18 08:50:33 +08:00
encoder Refactoring: Wrap all the operations related to eSpsPpsIdStrategy to class, to improve code readability 2016-05-04 15:06:02 -07:00
encoder_binary_comparison Squashed commit of the following: 2016-03-23 10:23:33 -07:00
processing [Processing/x86] Add an SSE4.1 implementation of GeneralBilinearAccurateDownsample 2016-05-23 20:23:39 +02:00
utils Add casts when converting from size_t or std::streamsize to int 2015-01-16 13:38:07 +02:00
BaseDecoderTest.h Fix the decoder init failed case in UT 2016-03-14 17:06:58 +08:00
BaseEncoderTest.h refactor --for BaseEncoderTest 2014-10-29 17:53:08 +08:00
sha1.h astyle all 2014-06-25 18:50:41 -07:00
test_stdint.h Allow building tests on MSVC versions where stdint.h is missing 2014-02-24 15:38:37 +02:00