Commit Graph

181 Commits

Author SHA1 Message Date
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
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