Martin Storsjö
4394d22b70
Set m_iPicResSize in PrepareOneSrcFrame
...
If the calling test hasn't set m_iPicResSize, it is set to the
maximum frame size, which takes much longer to initialize than the
current actual frame size.
This reduces the runtime of EncoderInterfaceTest.SkipFrameCheck
in valgrind from 229 seconds to 8 seconds, and the total runtime
of all the test cases in EncoderInterfaceTest from 405 seconds
to 89 seconds.
2015-01-30 16:02:40 +02:00
Martin Storsjö
2356eb1ff6
Move the memory allocation/deallocation routines to the common library
...
They are still used slightly differently in the encoder and decoder;
the decoder uses plain functions while the encoder uses one object
keeping track of the number of allocated bytes, and keeping track
of the requested alignment.
2015-01-30 11:30:59 +02:00
Sijia Chen
3c085aec79
improve error logging in UT
2015-01-30 15:43:20 +08:00
Martin Storsjö
76b0f8c17a
Avoid writing outside of the target rect in MCHalfPelFilterAnchor
...
This simplifies comparison between the output of MCHalfPelFilterAnchor
and the actual MC function implementations.
2015-01-29 08:51:02 +02:00
dongzha
4f4adcec49
Merge pull request #1772 from mstorsjo/mc-unify
...
Move the MC implementation to the common library
2015-01-29 09:28:57 +08:00
Martin Storsjö
605f2fb858
Remove the now unnecessary mc_test_common.h
2015-01-28 23:59:41 +02:00
Martin Storsjö
f03edd79c2
Merge all MC unit tests into one file
...
Since both encoder and decoder use the same MC implementation now,
one set of tests is enough.
2015-01-28 23:59:37 +02:00
Martin Storsjö
9a0663620a
Move the MC routines to the common library
...
Use the decoder versions of the functions (which are capable
of handling widths 4/8/16 for luma, not only 16 as in the
encoder). By using the more generic versions, there may be a small
performance loss since the functions need to check the width
in every call. Actual measurements show that the actual change is
very small (and the shared routines turn out to actually be faster
than the existing ones in ARM NEON setups).
2015-01-28 15:32:46 +02:00
Martin Storsjö
909a508749
Use the right stride in a memset in the EncMcHalfpel test
2015-01-28 15:19:19 +02:00
Martin Storsjö
151dfe04d5
Extend the tested area in the encoder MC test
2015-01-28 15:11:17 +02:00
Martin Storsjö
9a9fc4c489
Change pfSampleAveraging to be a single function with internal width handling
...
This makes it match the behaviour of pMcLumaFunc and pMcChromaFunc.
2015-01-28 13:59:58 +02:00
Martin Storsjö
1127aa7761
Simplify the MC unit tests now that the naming is made consistent
2015-01-28 13:59:58 +02:00
Martin Storsjö
8b6bf0499f
Rename the encoder MC chroma/luma functions to match the naming in the decoder
2015-01-28 13:59:58 +02:00
Martin Storsjö
bb21b62cbd
Simplify the MC unit tests now that the luma functions have a similar signature
2015-01-28 13:59:58 +02:00
Martin Storsjö
1cf68cad13
Move the qpel function table into the luma function itself
...
This unifies the luma MC interface to match the decoder side.
2015-01-28 13:59:58 +02:00
Martin Storsjö
853d2922db
Use float literals instead of double literals when setting float values
...
This fixes warnings with MSVC 2008.
2015-01-28 09:19:09 +02:00
Sijia Chen
5752888c81
1, fix a potential overflow
...
2, remove some unnecessary multiplier and add input check of spatial BR
2015-01-28 10:51:27 +08:00
Martin Storsjö
e5c2f333be
Remove the forceC parameter from DEF_MCCOPYTEST
...
Even if there actually is no SIMD optimized version of the
width==2 cases, luma function for SIMD still needs to handle
it by calling McCopyWidthEq2_c for these cases.
This simplifies the UT code a little, and makes sure that
those codepaths are tested properly.
2015-01-27 12:11:38 +02:00
Martin Storsjö
10e2f90b7e
Bundle MC tests for all motion vectors in one single test
...
This speeds up the compile time from 21.3 to 2.6 seconds
for the MC test files.
This makes it slightly harder to see exactly which test
failed on a quick glance, but it makes the overall structure of
the unit test output more manageable and readable, by reducing
the number of tests from 1300 to 430.
2015-01-27 09:41:00 +02:00
Martin Storsjö
ca97f78ae8
Add unit tests for special cased MC functions in the encoder
2015-01-27 09:41:00 +02:00
Martin Storsjö
8084a2c797
Add unit tests for encoder MC
2015-01-27 09:41:00 +02:00
Martin Storsjö
acafbb442d
Add checks for cpu features in tests
...
This allows running the tests on devices that don't have
all the SIMD instruction sets.
2015-01-24 22:47:23 +02:00
sijchen
eb7b149fcc
Merge pull request #1736 from mstorsjo/werror-tests
...
Build using -Werror in travis unit tests
2015-01-19 10:54:11 +08:00
sijchen
4930111ad3
Merge pull request #1734 from mstorsjo/fix-unused-variable-warning
...
Avoid a warning about a variable set but not used
2015-01-19 10:51:33 +08:00
Martin Storsjö
c69d628a82
Avoid warnings about an unused variable in debug mode
2015-01-16 14:02:01 +02:00
Martin Storsjö
a1b8ffc9df
Use the right data type for a variable
...
There is little point in using an int32_t variable for something
that will only be used for passing in as a bool parameter to a
function.
2015-01-16 13:38:06 +02:00
Martin Storsjö
a852ac99ed
Fix a cast to actually cast to the right type
...
The existing cast didn't make much sense. The expression itself is
already int, there's little point in casting it to int, especially
when assigning to a float.
This fixes warnings with MSVC.
2015-01-16 13:38:06 +02:00
Martin Storsjö
a44643aeda
Avoid a warning about a variable set but not used
...
The return values may be useful later, so instead of removing the
variable, just silence the warning.
This fixes a warning in builds with GCC.
2015-01-16 09:26:42 +02:00
Sijia Chen
98ed302990
add new SpsPpsStrategy and UT
2015-01-15 18:04:39 +08:00
Sijia Chen
ea06cbe06b
enhance param checking with num-ref and related logging
2015-01-12 10:39:51 +08:00
ruil2
ce14a0e4f9
fix bug when some parameters change dynamically
2015-01-05 17:01:35 +08:00
lyao2
2e4fd4248a
fix a spatial layer index error
2014-12-23 16:25:11 +08:00
Martin Storsjö
887b4f47fc
Make sure the random test bitrate is high enough
...
This is the same fix as in 47df41 (for the ForceIntraFrame
test) applied to the ForceIntraFrameWithTemporal test.
2014-12-20 00:35:13 +02:00
Martin Storsjö
47df411b1a
Make sure the random test bitrate is high enough
...
The ForceIntraFrame test will fail (giving up after 100 skipped
frames) if the bitrate is not set high enough.
Set the minimum bitrate to w*h/50, which is a very low value,
but which still should allow getting a non-skipped frame within
a few attempts.
2014-12-16 11:56:48 +02:00
ruil2
41339f3023
Merge pull request #1615 from lyao2/ut_idr3
...
refine the UT case for checking IDR request
2014-12-12 09:13:29 +08:00
lyao2
2e85e3c7d9
refine the UT case for checking IDR request
2014-12-11 14:32:26 +08:00
Sijia Chen
f1a7a1a966
encoder log level adjustment in UT to avoid too many output and some formatting
2014-12-11 14:31:32 +08:00
ruil2
8028fe7130
add SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,&base) for encoder
2014-12-01 10:35:32 +08:00
Martin Storsjö
b9dc310857
Silence logging in a test which intentionally can trigger errors
2014-11-28 11:04:03 +02:00
ruil2
d543ae89db
add maxbitrate verification
2014-11-25 17:12:06 +08:00
Martin Storsjö
deefdcee10
Use & 0xff instead of WELS_CLIP3(, 0, 255)
...
This speeds up the whole EncoderInterfaceTest to about double
the speed from before.
2014-11-14 10:41:21 +02:00
Martin Storsjö
9ec743c156
Use the right data type for a variable
...
Both pNalLengthInByte[] that are accumulated, and sFbi.iFrameSizeInBytes
that it is compared to, are plain 'int', not 'uint32_t'.
This fixes warnings about comparison between signed and unsigned.
2014-11-14 09:47:49 +02:00
Sijia Chen
b56b8725fc
add total length in encoder output and complete most of the statistis calculation
2014-11-13 13:56:58 -08:00
Martin Storsjö
2453676960
Cast to the right data type to avoid comparison warnings in gcc
2014-11-13 10:48:45 +02:00
ruil2
9ba0a1d977
Merge pull request #1522 from sijchen/after_review
...
[Encoder] fix a calculation of fAverageFrameRate
2014-11-12 12:29:13 +08:00
Sijia Chen
cd5928d397
fix a calculation of fAverageFrameRate
2014-11-11 16:12:38 -08:00
ruil2
ac404ce69d
remove repeat initialization
2014-11-07 14:58:43 +08:00
Sijia Chen
6a2a4efef6
fix names to keep consistent of style
...
improve UT to cover more cases under GetStatistics
2014-10-24 14:39:50 +08:00
sijchen
43c62d06eb
Merge pull request #1439 from sijchen/for_format
...
[Reformat] format cpp files for next release
2014-10-24 09:00:36 +08:00
Martin Storsjö
57aae73d4c
Add casts to avoid warnings about comparison between signed and unsigned
2014-10-23 14:20:38 +03:00
Sijia Chen
4e89e71e8f
reformat cpp files for unit tests
2014-10-23 17:54:33 +08:00
Sijia Chen
a765197b73
add interface and basic implementaion and UT for EncoderStatistics
2014-10-22 11:35:17 +08:00
dongzha
f8d5f93b16
Merge pull request #1355 from syureyi/clean
...
Clean
2014-09-16 09:58:27 +08:00
huili2
b51ff51387
Merge pull request #1350 from lyao2/ut_interface2
...
add encoder Interface additional option set test
2014-09-15 09:15:28 +08:00
zhuiling
0fe477625c
improve py, and change mk according to mk
2014-09-12 10:25:46 +08:00
ruil2
7e8cde055f
add UT for LTR setopton and fix crash issue
2014-09-03 13:28:14 +08:00
lyao2
15124b1258
fix bug
2014-09-02 13:41:00 +08:00
lyao2
aa7eb5fd09
code refine
2014-09-02 09:21:31 +08:00
lyao2
849a730608
refine code
2014-09-01 17:49:59 +08:00
lyao2
24bd0b74ae
add additional option set test
2014-09-01 16:35:32 +08:00
Martin Storsjö
5809db9eff
Avoid using uninitialized memory in the motion estimation tests
2014-08-28 11:51:39 +03:00
zhiliang wang
0163eb520d
Add UT for VaaCalc Functions.
2014-08-27 13:53:18 +08:00
Karina
a19974d009
fix crash on mvd cost calculation
2014-08-25 13:30:45 +08:00
ruil2
441dc45e69
add mv range limitation and related ut
2014-08-25 09:53:49 +08:00
zhiliang wang
e6f838e331
Add arm UT for Sad,IntraSad,IntraPred.
2014-08-21 15:36:57 +08:00
HFVideoMac
0f95fac4ca
add arm32/64 code for InitHash
2014-08-15 13:47:59 +08:00
zhiliang wang
ef88889404
refine format and add UT cases
2014-08-15 09:22:37 +08:00
zhiliang wang
b35f5797de
Add x86 32/64bit asm code for Scc_hash
2014-08-14 18:41:52 +08:00
dongzha
3703ba16a4
Fix build error ARM
2014-08-14 12:54:36 +08:00
zhiliang wang
f2314151e8
Add x86 32/64bit asm code for SumOfBlocks.
2014-08-13 11:18:39 +08:00
ruil2
f7cd6e7aad
use WelsEnc namespace instead of WelsSVCEnc
2014-08-11 16:08:49 +08:00
dongzha
7b3bf074b3
Merge pull request #1258 from mstorsjo/fetch-codec-params
...
Get the actual used parameters in the codec in TemporalLayerSettingTest
2014-08-11 10:53:28 +08:00
dongzha
6190c10de8
Merge pull request #1256 from mstorsjo/speedup-tests
...
Speed up test cases in EncoderInterfaceTest
2014-08-11 10:47:44 +08:00
Martin Storsjö
352f5eea7a
Get the actual used parameters in the codec in TemporalLayerSettingTest
...
Make sure that pOptions is initialized to the parameters that
the codec actually uses, not the ones that we initially tried
to set.
When calling SetOption to update the codec parameters, this may
cause a reset of the whole codec if e.g. the number of threads
differs from what is set within the codec itself.
If the number of threads was changed by the codec internally
when inited (e.g. changed from 0 to 1), WelsEncoderParamAdjust
may think the whole codec needs to be reset.
This fixes running EncoderInterfaceTest.TemporalLayerSettingTest
on machines where the detected number of cores is 1.
2014-08-08 22:57:22 +03:00
Martin Storsjö
38cc9acdd3
Set a specific frame size in TemporalLayerSettingTest
...
Previously, this test used whatever size was set in m_iWidth
and m_iHeight before, which depended on the order that the tests
were executed. When this test was the first one executed in the
EncoderInterfaceTest, the width and height were set to the max.
Instead of having the test behaviour depend on the test order,
set a specific size, just as InitializeParamExt and MemoryCheckTest
do.
This reduces the runtime of TemporalLayerSettingTest from 86 seconds
to 26 seconds, when run in valgrind.
2014-08-08 12:24:57 +03:00
Martin Storsjö
c3702d9075
Reduce the number of frames tested in EncoderInterfaceTest
...
There's little point in running the same test over and over for
a huge number of frames if it doesn't test much different things.
This reduces the runtime of EncoderInterfaceTest.* from 322 seconds
to 140 seconds, when running in valgrind.
2014-08-08 12:23:12 +03:00
Martin Storsjö
642b405f87
Reenable GetIntraPredictorTest tests that were broken on android
...
These tests work as intended now.
2014-08-08 11:34:45 +03:00
HFVideoMac
84f33aa8e4
Disable failed UT and Fix Build Error onAndroid
2014-08-08 10:53:23 +08:00
zhilwang
439e51bc11
Merge pull request #1249 from dongzha/addArm32SCCNew
...
add arm 32/64 code and UT for SVC SCC motion estimation
2014-08-08 09:19:51 +08:00
Martin Storsjö
e8fafebd96
Silence warnings and errors when running tests that intentionally produce errors
2014-08-06 21:32:08 +03:00
HFVideoMac
cff49f5e45
add arm 32/64 code and UT for SVC SCC motion estimation
2014-08-06 17:24:36 +08:00
Martin Storsjö
a1bc5fa1b5
Include test_stdint.h to get stdint types for MSVC
2014-07-30 13:51:52 +03:00
ruil2
8dd5d483d4
remove test case because this issue had been fixed
2014-07-29 11:05:48 +08:00
lyao2
4ee434691a
fix param initialization bug in UT
2014-07-28 17:43:56 +08:00
Martin Storsjö
6543900747
Don't set iPicWidth or iPicHeight to 0 in random tests
...
This should fix occasional failures in the EncoderInterfaceTests,
such as in https://travis-ci.org/cisco/openh264/jobs/30815104 .
2014-07-25 20:14:55 +03:00
ruil2
e58de20f3a
add encoder interface ut
2014-07-25 16:40:14 +08:00
lyao2
562f38afff
add interface UT for RC and code refactor
2014-07-24 17:27:55 +08:00
lyao2
d633f8584a
add interface UT for memory align check
2014-07-15 15:21:54 +08:00
ruil2
010e423b2b
Merge pull request #1169 from sijchen/interfaceUT12
...
[Encoder UT] Interface: EncoderEncodeParameterSets
2014-07-15 14:20:18 +08:00
Ethan Hugg
b6b7bb7680
Merge pull request #1153 from mstorsjo/silence-error-testing
...
Silence error logging while running tests that are intended to produce errors
2014-07-14 07:53:45 -07:00
Sijia Chen
b669801e89
add interface UT for WelsEncoderEncodeParameterSets
...
and fix previous value
2014-07-14 18:36:35 +08:00
Sijia Chen
d1123a8bb1
remove blank lines
2014-07-14 15:34:40 +08:00
Sijia Chen
bc76a8f9b3
add interface UT for ForceIntraFrame
2014-07-14 15:30:01 +08:00
Martin Storsjö
0ee2562004
Silence error logging while running tests that are intended to produce errors
...
The errors in the test log are distracting, making it look like
a test actually failed.
2014-07-11 12:47:52 +03:00
Sijia Chen
99dc18c0ba
add BasicInitialize UT and some fix in create/destroy encoder in the existing interface test
2014-07-11 13:50:58 +08:00
ruil2
45c2fff6b8
interface update
2014-07-09 15:41:04 +08:00
huili2
adb0fa498f
astyle all cpp files
2014-07-08 20:01:42 -07:00
huili2
5f8822644f
Merge pull request #1108 from mstorsjo/regenerate-makefiles
...
Regenerate the targets.mk files
I'm not able to see the changes in rbcommons (strange), so directly look at here.
2014-07-09 10:14:04 +08:00
zhilwang
228ea1a668
Merge pull request #1101 from dongzha/AddArm64MBCopy
...
add arm64 MB COPY code and UT
2014-07-09 09:31:31 +08:00
Martin Storsjö
7fc869cf0f
Regenerate the targets.mk files
...
This makes the indentation of some new lines consistent with the rest.
2014-07-08 11:42:05 +03:00