Commit Graph

54 Commits

Author SHA1 Message Date
zhilwang
228ea1a668 Merge pull request #1101 from dongzha/AddArm64MBCopy
add arm64 MB COPY code and UT
2014-07-09 09:31:31 +08:00
dongzhang
249b8a0aa6 add arm64 MB COPY code and UT 2014-07-08 14:22:14 +08:00
Martin Storsjö
fba362d1de Fix spacing in include directives
Astyle doesn't change the spacing here, but make it consistent with
all the other files.
2014-07-08 09:01:42 +03:00
dongzhang
eace9b7b00 add MemoryZero Arm64 code and UT 2014-07-08 12:52:48 +08:00
dongzhang
9b753c9c39 add reconstruct UT input limitation 2014-07-08 12:33:14 +08:00
dongzhang
d88b83df44 Add ARM64 Code and UnitTest for reconstruction 2014-07-07 15:31:46 +08:00
Haibo Zhu
da75e15b4a Modify the unit test for WelsDequantIHadamard2x2Dc 2014-07-03 18:40:12 -07:00
lyao2
44faa1c9a7 add encoder interface UT for IDR request 2014-07-02 18:42:05 +08:00
ruil2
bdf9f6b4ff Merge pull request #1043 from mstorsjo/avoid-globals
Get rid of global non-readonly variables within the library
2014-07-02 14:01:35 +08:00
Martin Storsjö
d84d739ec8 Hardwire functions set up in WelsInitFillingPredFuncs
These are never overridden by any assembler optimized versions.
(The assembler optimized intra predictor functions may use such
optimized code internally anyway.)

This avoids global writable data.
2014-07-01 12:00:32 +03:00
Martin Storsjö
d2afebd2d7 Add proper spacing in include directvies 2014-07-01 10:55:04 +03:00
Martin Storsjö
4f594deff9 Don't reset the random number generator within the unit tests
This makes sure we don't accidentally return the same sequence
of random numbers multiple times within one test (which would
be very non-random).

Every time srand(time()) is called, the pseudo random number
generator is initialized to the same value (as long as time()
returned the same value).

By initializing the random number generator once and for all
before starting to run the unit tests, we are sure we don't
need to reinitialize it within all the tests and all the
functions that use random numbers.

This fixes occasional errors in MotionEstimateTest.

MotionEstimateTest was designed to allow the test to occasionally
not succeed - if it didn't succeed, it tried again, up to 100 times.
However, since the YUVPixelDataGenerator function reset the random
seed to time(), every attempt actually ran with the same random
data (as long as all 100 attempts ran within 1 second) - thus if
one attempt in MotionEstimateTest failed, all 100 of them would
fail. If the utility functions don't touch the random seed,
this is not an issue.
2014-07-01 10:20:45 +03:00
zhilwang
2b038fa73b Merge pull request #1037 from mstorsjo/unify-align-macros
Unify macros for alignment
2014-06-30 10:09:05 +08:00
Martin Storsjö
6e815e708d Use ENFORCE_STACK_ALIGN_1D instead of manually doing stack buffer alignment 2014-06-29 00:55:46 +03:00
Martin Storsjö
f300476468 Use the ALIGNED_DECLARE macro instead of __align16 2014-06-29 00:36:02 +03:00
Martin Storsjö
a474e00d15 Fix a typo, Chorma -> Chroma 2014-06-27 23:50:14 +03:00
huili2
dc3fae4477 astyle all 2014-06-25 18:50:41 -07:00
ruil2
1e43075b25 update expand picture UT 2014-06-12 09:37:30 +08:00
huili2
01322d11ff fix memory leak in EncUT_GetIntraPredictor 2014-06-09 18:12:03 -07:00
ruil2
ece06b37da resolve unit test warnings 2014-06-06 13:29:30 +08:00
ruil2
14e5d740cd clean up expand picture. 2014-05-30 11:05:31 +08:00
sijchen
5d1d47c01b fix me func type in UT 2014-05-21 08:57:58 +08:00
dongzhang
749bc4ea7e Fix QP<18 dequant UT bug at encoder side
This should be UT for QP<12.
2014-05-16 11:12:59 +08:00
volvet
9a74427a61 Merge pull request #788 from mstorsjo/factorize-duplicated-test
Avoid duplicating code in the MotionEstimate test

Approved by Sijia.
2014-05-06 15:00:01 +08:00
huili2
f897029034 Merge pull request #791 from zhilwang/intraSad
Add func init for welsfillingPred
2014-05-06 14:00:32 +08:00
zhiliang wang
82b875c388 Add func init on UT source code 2014-05-06 11:16:46 +08:00
Martin Storsjö
92e5489dd3 Avoid duplicating code in the MotionEstimate test
All the tests of the line search (unoptimized and optimized)
use the exact same copypasted structure. Instead factorize this
into a test function which uses the provided function.
2014-05-05 16:15:18 +03:00
Martin Storsjö
c0f2487631 Remove an unused static method
This was added in 44640712f without actually being used.
2014-05-05 15:13:43 +03:00
sijchen
44640712f6 Add FME unit test 2014-05-05 15:41:15 +08:00
Martin Storsjö
1711b497e3 Take the test of TestHorizontalSearch_SSE41 into use
After fixing the ranges, there's no reason to exclude this test.
2014-05-04 17:51:05 +03:00
Martin Storsjö
b1c13f4954 Properly limit the range for the random target motion vectors
A 16x16 pixel block is copied to the destination pointed out by the
target motion vector. Since the motion vector is relative to the
center of the buffer, the upper bound of the range is size/2-16.

Previously we never used negative motion vectors, but there is no
reason not to test that direction. Therefore, the possible range
would be [-size/2,size/2-16]. Additionally pad this range with
INTPEL_NEEDED_MARGIN.
2014-05-04 17:50:55 +03:00
Martin Storsjö
03db750ba9 Limit the ME scanning range to 16 pixels from the end of the buffer
The block size is chosen randomly; if the block size is 16,
LineFullSearch_c will read a block with 16 pixels from kiMaxPos;
thus kiMaxPos cannot be larger than height-16, otherwise the calls
end up with reads out of bounds.
2014-05-04 17:35:01 +03:00
Licai Guo
485b2b5b43 Add IntraSad asm code.
Enable intraSad ASM code

Refine format

Add X86_ASM pretect for intraSad ASM code UT

remove duplicated code.
2014-05-04 12:12:38 +08:00
Martin Storsjö
788b67cbde Fix the indentation of a line in targets.mk
This would be avoided if the targets.mk files are updated by
rerunning mktargets.sh instead of manually updating them.
2014-04-23 10:55:30 +03:00
ruil2
25c04102a9 turn off TestHorizontalSearch_SSE41 unit test becasue of random issues 2014-04-18 11:55:27 +08:00
ruil2
2d675cf741 Merge pull request #704 from JuannyWang/sampleNow
[Encoder UT] sample UT code refactor
2014-04-17 15:19:29 +08:00
Licai Guo
3d9d00b27c Update targets.mk 2014-04-17 10:43:10 +08:00
JuannyWang
1c3c560a05 [Encoder UT] sample UT code refactor 2014-04-17 10:12:37 +08:00
JuannyWang
cc26f561f4 decMbAux UT bug fix 2014-04-15 09:29:46 +08:00
Martin Storsjö
a25f7b7c84 Declare for loop variables consistently in GetIntraPredictorTest
Previously, the same variable 'i' was sometimes declared within a for
loop and sometimes outside of the loop, all within the same function.

This avoids spurious warnings in MSVC 2005.
2014-04-11 10:31:58 +03:00
volvet
37201e273e Merge pull request #660 from zhilwang/refine-me-asm-ut
Refine ME cross search ASM UT.
2014-04-09 20:38:45 -07:00
Licai Guo
7d7fac2adc Refine ME cross search ASM UT. 2014-04-10 10:41:54 +08:00
JuannyWang
468bfb58ad decodeMbAux UT addition 2014-04-09 16:53:39 +08:00
Martin Storsjö
1b2d3943f1 Use uintptr_t for casting pointers to integers
This fixes compilation on mingw-w64 and makes failing tests pass
on MSVC in 64 bit mode.
2014-04-08 09:46:47 +03:00
Licai Guo
5c60e8f868 Add ASM related functions for ME cross search
Add asm level functions

Add asm code for ME

Modify format

Add unit test for asm code.

Modify function name and format.

Remove unuse comment

Modify targets file

Add Macro protect for SSE41 funtion test

Modify according to review request.
2014-04-08 11:24:45 +08:00
JuannyWang
801b664201 add encoder UT of mbAux 2014-04-03 16:25:06 +08:00
ganyang
e51b636595 add GetIntraPred UT Files 2014-04-03 10:38:46 +08:00
JuannyWang
df6813063f [Encoder UT] add expGolom UT and encoder trace modification 2014-04-02 13:57:09 +08:00
sijchen
f695227b00 add funtion pointer for search methods 2014-04-02 10:12:39 +08:00
ganyang
eb6f6ecf40 Add EncoderMB UT test file, and reformat UT files. 2014-04-01 13:55:22 +08:00