Commit Graph

588 Commits

Author SHA1 Message Date
Sijia Chen
8d5ec6759d add support of SimulcastAVC functions 2015-01-26 15:25:09 +08:00
Sijia Chen
f13624316e fix level-idc related input checking and a statistics calculation
will change bs but tested there is little impact on RD
being reviewed at: https://rbcommons.com/s/OpenH264/r/1084/
2015-01-26 15:20:58 +08: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
7f967f6fc4 Merge pull request #1750 from syureyi/crqp
to support different chroma qp
2015-01-23 13:30:21 +08:00
zhuiling
a45c661525 to support different chroma qp
fix travis ci error
2015-01-23 09:06:09 +08:00
ruil2
e7fff10d91 Merge pull request #1745 from sijchen/fix_ut
[UT] fix a random failure of UT
2015-01-21 17:31:34 +08:00
Sijia Chen
5b10c1ff8d fix random failure of UT under randon seed 1421732719 2015-01-20 15:47:05 +08:00
Sijia Chen
8cc53b0231 astyle an unformatted file 2015-01-20 10:50:44 +08:00
Sijia Chen
489d121549 add a default param function for EncodeDecoderAPI test 2015-01-20 10:49:25 +08:00
sijchen
8bef6bc942 Merge pull request #1738 from huili2/init_EC_modify
modify EC init position
2015-01-19 16:36:29 +08:00
Martin Storsjö
d6f7a07b14 Undefine a define for writing debug files 2015-01-19 10:06:30 +02:00
Martin Storsjö
c1aa2a1edb Use WelsClip3 instead of WELS_CLIP3 for random values
Since WELS_CLIP3 is a macro, using it will cause the arguments
to be evalated multiple times, which means that the clip will
not work as intended. If using a rand() argument, always use
WelsClip3 instead, which is an inline function.
2015-01-19 10:02:21 +02:00
Martin Storsjö
fcae7fd300 Compare macro block widths instead of picture widths
Since cropping is disabled (prepareParam does
memset (pParam, 0, sizeof (SEncParamExt)); which clears the
cropping flag), we need to make sure that the number of
macroblocks differ, not only the number of pixels.
2015-01-19 10:01:12 +02:00
Martin Storsjö
58f1fef520 Fix a comparison in ParameterSetStrategy_SPS_LISTING_AND_PPS_INCREASING3
Previously, this test picked a width at random until it found
a width that had been used before, meaning that all tests were
made with the same single width.
2015-01-19 09:58:25 +02:00
huili2
01fd220ef9 Merge pull request #1739 from sijchen/sps_list3
[Encoder] rename the SpsPpsStrategy to enum
2015-01-19 13:31:51 +08: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
Sijia Chen
d9502aa71d rename the strategy to enum 2015-01-19 10:49:38 +08:00
huili2
50ce93e31c modify EC init position 2015-01-18 18:07:27 -08:00
Martin Storsjö
c69d628a82 Avoid warnings about an unused variable in debug mode 2015-01-16 14:02:01 +02:00
Martin Storsjö
4f33b38ac1 Move a conversion from size_t to int into one single place within BaseDecoderTest.cpp 2015-01-16 13:38:07 +02:00
Martin Storsjö
96384bd578 Add casts when converting from size_t or std::streamsize to int 2015-01-16 13:38:07 +02:00
Martin Storsjö
af938a640f Add casts when converting from float to int 2015-01-16 13:38:07 +02:00
Martin Storsjö
ef82e18d74 Silence warnings about insecure CRT functions in the test suite
There is no problem in using the "insecure" CRT functions, as long as
they are used correctly - especially not within the test suite where
they are only are exposed to the test suite input data.

Within the library, these are used via the library internal wrappers
in codec/common/src/crt_util_safe_x.cpp, but we'd rather not use them
in the test suite - just use the normal standard C functions here.
2015-01-16 13:38:06 +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ö
93cb617932 Add a comparison in ASSERT_TRUE
This makes sure the compared value actually is bool, not any other
type that can be used as condition.

This fixes warnings with MSVC.
2015-01-16 13:38:06 +02:00
Martin Storsjö
99925984b3 Consistently compare integers with integers and bools with bools
MSVC warns when comparing integers with booleans in with the gtest
assertion macros.
2015-01-16 13:37:15 +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
sijchen
e9ec603fd7 Merge pull request #1727 from huili2/addUT_parseonly_frameincomplete
add UT for incomplete frame for parse only
2015-01-15 16:23:05 +08:00
huili2
ea533e6405 add UT for incomplete frame for parse only 2015-01-14 18:00:33 -08:00
dongzha
993caea18c Merge pull request #1721 from huili2/DecodeFrameNodelay
add new API as DecodeFrameNoDelay for immediate decoding
2015-01-15 09:54:10 +08:00
Sijia Chen
ea06cbe06b enhance param checking with num-ref and related logging 2015-01-12 10:39:51 +08:00
huili2
ac08cc4b2f Merge pull request #1694 from zhilwang/asm-SetNoneZero
Add asm code for NoneZeroCount and refine related code
2015-01-06 13:37:56 +08:00
ruil2
ce14a0e4f9 fix bug when some parameters change dynamically 2015-01-05 17:01:35 +08:00
zhiliang wang
01b74ea7c1 Add asm code for NoneZeroCount and refine related code 2015-01-04 16:39:17 +08:00
huili2
e3e5208509 add new API as DecodeFrameNoDelay for immediate decoding, which will be recommended decoding method for h.264 bitstream 2014-12-30 23:43:47 -08:00
huili2
b12b39a47b disable color format check for parse only 2014-12-28 23:43:09 -08:00
sijchen
26ccd837f1 Merge pull request #1672 from huili2/parseonly_sizemodif
unify parseonly to have 0x0001
2014-12-26 09:58:28 +08:00
huili2
9c0bbeb4da unify parseonly to have 0x0001 2014-12-24 23:11:49 -08:00
ruil2
cf6450b269 refine frame rate 2014-12-23 17:30:01 +08:00
ruil2
59aee6052a Merge pull request #1667 from lyao2/ut_fix3
fix a spatial layer index error
2014-12-23 17:19:49 +08:00
lyao2
2e4fd4248a fix a spatial layer index error 2014-12-23 16:25:11 +08:00
huili2
2c99f5810e Merge pull request #1659 from syureyi/scalinglist
Scalinglist
2014-12-23 10:50:49 +08:00
ruil2
e3bf63db59 using function pointer to make different branch for different rc 2014-12-22 12:00:39 +08:00
sijchen
9a602cac1b Merge pull request #1657 from mstorsjo/clip-bitrate
Make sure the random test bitrate is high enough
2014-12-21 18:49:26 -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
sijchen
8dbdb418ca Merge pull request #1641 from mstorsjo/test-min-bitrate
Make sure the random test bitrate is high enough
2014-12-17 15:50:13 +08:00
ruil2
ac992acaa9 Merge pull request #1640 from mstorsjo/fix-tests
Fix occasional failures in some tests
2014-12-17 09:29:36 +08:00
Martin Storsjö
ee5896e4a1 Fix a number of typos in run_SafeDelete.sh 2014-12-16 16:28:45 +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
Martin Storsjö
f4b3724976 Increase the minimum frame size in a test with multiple spatial layers
Make sure the input frame size is large enough that the downsampled
layers also have a nonzero resolution.
2014-12-16 11:13:22 +02:00
Martin Storsjö
59fefbe7c7 Use an inline function instead of a macro for clipping which contains rand()
When using a macro, the macro parameters get evaluated
multiple times, which means that the rand() value compared
actually isn't the same that is used as return value.

This makes sure that clipping works as intended for the
random tests.
2014-12-16 11:13:22 +02:00
Martin Storsjö
a9c2e1b431 Use the common WELS_CLIP3 macro instead of a custom reimplementation 2014-12-16 11:13:22 +02:00
Martin Storsjö
d387ebc358 Add a gitignore entry for another file created by the binary comparison scripts 2014-12-16 09:06:10 +02:00
Martin Storsjö
c0633a147e Readd and update the accidentally cleared SHA1 test tables
These were accidentally cleared in 5ab5fe15, when the script
for updating them was broken.
2014-12-15 23:33:16 +02:00
Martin Storsjö
8a2237751a Fix a check in the binary comparison scripts 2014-12-15 17:28:10 +02:00
Martin Storsjö
3aac5e0fae Properly update hashes 2014-12-15 17:26:23 +02:00
ruil2
5ab5fe155b keep the consistency between sps level and parameter level 2014-12-15 09:56:54 +08:00
huili2
984497cc09 modify freeze output to proper location 2014-12-11 23:42:04 -08: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
ruil2
ec99819ce8 Merge pull request #1614 from sijchen/fix_idr_id1
[Encoder] fix idr_id: idr_id should be adding regardless of the sps strategy
2014-12-11 16:41:59 +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
Sijia Chen
32d6193f97 fix idr_id: idr_id should be adding regardless of the sps strategy 2014-12-11 10:58:27 +08:00
dong zhang
2c468b96a9 add flag to count EC Mbs due to ref error
add UT
2014-12-11 10:49:55 +08:00
dongzha
af97f2d4bb Merge pull request #1605 from sijchen/fix_ut1
fix a UT function
2014-12-10 11:18:08 +08:00
Sijia Chen
87c83c0d36 fix a UT function 2014-12-10 10:49:58 +08:00
huade
944a041066 1 update SHA1 table which have been broken by previous update; 2 enhance script to support more case(multi layer etc.) 2014-12-09 15:59:07 +08:00
sijchen
cc5978b252 Merge pull request #1594 from lyao2/RC_maxBr_commit5
Rate control refine to fit MAX bitrate requirement
2014-12-08 11:03:43 +08:00
ruil2
56c895ffb4 1. should not set WELS_LOG_ERROR level in encoder initilization.
2.fix UT bug
2014-12-05 17:08:00 +08:00
lyao2
c01606c28a Rate control refine to fit MAX bitrate requirement 2014-12-05 12:09:08 +08:00
ruil2
9a08b7f97c Merge pull request #1574 from huili2/dec_stat_add_freeze
add dec status for freezing
2014-12-01 12:43:22 +08:00
ruil2
8028fe7130 add SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,&base) for encoder 2014-12-01 10:35:32 +08:00
sijchen
e7debe7351 Merge pull request #1571 from mstorsjo/silence-intentional-errors
Silence logging in a test which intentionally can trigger errors
2014-11-28 10:28:05 -08:00
Martin Storsjö
90eee67eb7 Don't set invalid iLoopFilterDisableIdc in RandomParamExtCombination 2014-11-28 13:05:32 +02:00
Martin Storsjö
b9dc310857 Silence logging in a test which intentionally can trigger errors 2014-11-28 11:04:03 +02:00
huili2
504cabf106 add dec status for freezing 2014-11-28 00:05:36 -08:00
dong zhang
2e5243e5fc add timestamp in decoder 2014-11-26 13:03:46 +08:00
sijchen
f48b2e55ba Merge pull request #1553 from ruil2/max2
add maxbitrate verification
2014-11-25 09:14:39 -08:00
ruil2
d543ae89db add maxbitrate verification 2014-11-25 17:12:06 +08:00
Martin Storsjö
29da6a600a Initialize the bParseOnly field in DecoderInterfaceTest::TestInitUninit
This fixes valgrind warnings about using uninitialized data
in this test.
2014-11-25 09:59:25 +02:00
huili2
b231e3f000 parse only add and UT 2014-11-24 00:04:36 -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ö
45c322a8ae Reduce the number of rounds in DecoderCrashTest
Currently this one single test accounts for 12-20% of the total
runtime of running the unit test suite.
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
huili2
fd45e7ff15 EC UT fail bug fix 2014-11-10 17:56:26 -08:00
sijchen
8b49f98475 Merge pull request #1507 from ruil2/init
remove repeat initialization
2014-11-09 18:07:21 -08:00
ruil2
843955bc06 Merge pull request #1511 from mstorsjo/check-fread-return-value
Check the return value of fread
2014-11-09 09:35:26 +08:00
Martin Storsjö
80bfc43df5 Check the return value of fread
This silences warnings on linux/gcc.
2014-11-07 11:24:30 +02:00
Martin Storsjö
50e2eb5e3c Change integer literals to unsigned to avoid warnings about comparison between signed and unsigned
This fixes warnings in gcc.
2014-11-07 11:19:19 +02:00
ruil2
ac404ce69d remove repeat initialization 2014-11-07 14:58:43 +08:00
HaiboZhu
44013d4cd5 Merge pull request #1504 from syureyi/android_bugfix
android platform bug fix
2014-11-06 21:31:03 +08:00
dongzha
789603a8b1 Merge pull request #1503 from huili2/ec_crossIDR
enable cross IDR EC method
2014-11-06 17:24:17 +08:00
zhuiling
7fa6c576e3 android platform bug fix 2014-11-06 17:15:42 +08:00
sijchen
5cb5c28331 Merge pull request #1500 from syureyi/decoderstatics
decoder statictis adding
2014-11-06 14:25:04 +08:00
zhuling13
45ef803e4d decoder statictis adding
mem

mem

decstatictis

time change

time change

set decTime=0
2014-11-05 22:01:32 -08:00
huili2
32697b046b add a simple UT for debugging decoder crash 2014-11-03 23:05:34 -08:00
huili2
103fa5bbed enable cross IDR EC method 2014-11-03 22:11:49 -08:00
Martin Storsjö
c1b48640fb Don't try to use pow(int,int)
When building for android or older MSVC versions, this makes the build
fail, when it is ambiguous which pow() overload to use, when there
is no function matching pow(int, int).
2014-11-03 11:23:10 +02:00
dong zhang
cf85745752 add decoder cabac support and add UT 2014-11-03 10:03:43 +08:00
sijchen
c7b5051738 Merge pull request #1469 from shihuade/APIUTV1.5.2
refactor --for BaseEncoderTest
2014-11-03 09:31:11 +08:00
Martin Storsjö
53e2f67e80 Set constraint set 0 and 1 flags for non-scalable as well
This allows decoders to know that a baseline stream doesn't
contain any of the features that aren't in the constrained
baseline subset.

Set the flags based on what profile we target.
2014-10-31 10:48:09 +02:00
Martin Storsjö
ec0d151879 Make sure the width/height is large enough in SetOptionEncParamExt
When using 4 downsampled layers, make sure the random width/height
is large enough that the downsampled layers don't have a zero size.

Since the value never will be too small now, there's no need to
use WELS_CLIP3 any longer.
2014-10-30 08:54:18 +02:00
sijchen
3a1f0a3d95 Merge pull request #1471 from mstorsjo/fix-warnings
Remove unused variables and an impossible condition
2014-10-30 09:10:08 +08:00
Martin Storsjö
1c2940479d Silence warning logging while running tests that can produce errors 2014-10-29 22:44:40 +02:00
Martin Storsjö
2907cb2875 Remove an impossible condition
uiIntraPeriod is unsigned, and thus can't ever be negative.

The subtraction on the line above can't ever make the value wrap
around either, since param_.uiIntraPeriod % uiGOPSize always is
smaller than or equal to param_.uiIntraPeriod. Thus, the check
never is necessary even if the value would be signed either.

This fixes warnings when building with clang.
2014-10-29 22:07:21 +02:00
Martin Storsjö
a625dc836d Remove unused variables 2014-10-29 22:07:20 +02:00
huashi
54c24dfd60 refactor --for BaseEncoderTest 2014-10-29 17:53:08 +08:00
ruil2
58cc29225e Merge pull request #1463 from sijchen/after_review4
[Encoder] for reference selection under screen
2014-10-29 17:17:07 +08:00
huashi
26615fffd0 set option for ParamExt----random cases 2014-10-28 20:36:33 +08:00
Sijia Chen
4fab8c2ee7 for reference selection under screen:
1, ref_list_mgr_svc.cpp, Ln314: fix a wrong DeleteLTRFromLongList which should not be used under screen strategy
2, ref_list_mgr_svc.cpp, Ln910: remove the frame which is furthest in distance to the current frame in ref list
3, wels_preprocess.cpp: use scene LTR ref list when the current frame is scene LTR
-, ref_list_mgr_svc.cpp, Ln811: add DEBUG trace
reviewed at: https://rbcommons.com/s/OpenH264/r/870/
2014-10-28 16:58:59 +08:00
ruil2
abc01e6b81 add encoder cabac support 2014-10-27 13:06:33 +08:00
ruil2
2dbb757d30 Merge pull request #1451 from sijchen/for_format
Fixes and change naming
2014-10-24 15:18:55 +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
Martin Storsjö
f0c6891627 Add casts to avoid warnings about comparison between signed and unsigned 2014-10-24 09:05:32 +03:00
huili2
dcdcc7f3b8 Merge pull request #1443 from dongzha/AddUTSwitch
add UT for sim-SVC layer switch
2014-10-24 10:21:36 +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
huili2
23b5a61153 Merge pull request #1429 from sijchen/add_statistics1
[Encoder] add EncoderStatistics
2014-10-23 18:02:23 +08:00
Sijia Chen
4e89e71e8f reformat cpp files for unit tests 2014-10-23 17:54:33 +08:00
dong zhang
769c38d4c4 add UT for sim-SVC switch 2014-10-23 15:50:43 +08:00
Martin Storsjö
7720f2cc5d Add literal CRLF at the end of nasm commands that are missing them
These are added by MSVC as soon as the file is touched anyway.

This avoids stray changes to the files if the files are resaved
from within the IDE.
2014-10-22 10:14:08 +03:00
Sijia Chen
a765197b73 add interface and basic implementaion and UT for EncoderStatistics 2014-10-22 11:35:17 +08:00
Haibo Zhu
9d182ee515 Add picture bIsComplete flag to reflect the status of decoder
Modify the output error status and add some some judgement
2014-10-15 11:36:24 -07:00
Ethan Hugg
3885bd8f0e Merge pull request #1406 from mstorsjo/fix-warnings
Fix compiler warnings about comparison between signed and unsigned

Fix bugs WelsDeblockingFilterSlice UT when random value is 0
2014-10-09 19:51:58 -07:00
Martin Storsjö
ad247a9a4a Fix compiler warnings about comparison between signed and unsigned 2014-10-09 11:58:23 +03:00
huili2
f9bab05b3a Merge pull request #1402 from HaiboZhu/Add_UT_Deblocking
Add ut deblocking
2014-10-09 09:04:55 +08:00
Ethan Hugg
52419bd13e Merge pull request #1400 from mstorsjo/warning-fix
Fix compiler warnings
2014-10-02 12:26:45 -07:00
Haibo Zhu
b7c54242a9 Modify the random value range which only for debug
Modify the CLIP3 macros to match the CLIP3(value, min, max)
Add partly UT cases into it which related to function call
Modify the typo for WELS_NEON
Add partly UT cases into it which related to Bs calculation
Update Windows VS project
2014-09-30 01:36:18 -07:00
Haibo Zhu
04c2a7ac5c Add CLIP3 and using ASSERT_FALSE macros 2014-09-30 01:36:18 -07:00
Haibo Zhu
27a21edcc9 Modify the targets.mk 2014-09-30 01:36:18 -07:00
Haibo Zhu
3593f2e3e7 Add partly UT code for deblocking filter 2014-09-30 01:36:18 -07:00
HaiboZhu
007fb47004 Merge pull request #1399 from huili2/ParseOnlyAPI
add API only for decode parser
2014-09-30 14:51:49 +08:00
Martin Storsjö
0affe66f93 Remove unused variables 2014-09-30 08:57:29 +03:00
huili2
efdefdba28 add API only for decode parser for HW decoding support 2014-09-29 19:14:58 -07:00
shihuade
d875d923f8 refator for API test--prepareEncDecParam and EncodeOneFrame 2014-09-29 19:58:43 +08:00
dongzha
07fa3d1898 add missed files in VS UT solution 2014-09-28 15:20:47 +08:00
Sijia Chen
cf2cf9efd9 add basic strategy for lossy+no LTR route 2014-09-26 16:40:19 +08:00
huili2
810d20a59d bug fix for dataformat UT 2014-09-24 18:04:24 -07:00
sijchen
d0f9b218f4 Merge pull request #1383 from ruil2/rc_refine
refine scc rc
2014-09-24 16:31:49 +08:00
ruil2
4e57a46ca5 Merge pull request #1382 from huili2/dataformat_bugfix
add protection for decoder and data format
2014-09-24 13:47:02 +08:00
ruil2
c618cb1eaf refine scc rc 2014-09-24 09:54:01 +08:00
huili2
f8d2ae42ef add protection for decoder and data format 2014-09-23 00:29:23 -07:00
Martin Storsjö
a59a989d9b Silence warnings with gcc in GetOptionTid_AVC_NOPREFIX 2014-09-23 09:39:18 +03:00