Commit Graph

128 Commits

Author SHA1 Message Date
ruil2
1b48e6c88c Merge pull request #1756 from sijchen/savc4
[Encoder] Implementation of bSimulcastAVC and UT
2015-01-27 10:42:50 +08:00
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
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
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
Sijia Chen
d9502aa71d rename the strategy to enum 2015-01-19 10:49:38 +08: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ö
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
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
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
huili2
9c0bbeb4da unify parseonly to have 0x0001 2014-12-24 23:11:49 -08: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
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
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
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
Sijia Chen
87c83c0d36 fix a UT function 2014-12-10 10:49:58 +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
Martin Storsjö
90eee67eb7 Don't set invalid iLoopFilterDisableIdc in RandomParamExtCombination 2014-11-28 13:05:32 +02:00
dong zhang
2e5243e5fc add timestamp in decoder 2014-11-26 13:03:46 +08:00
huili2
b231e3f000 parse only add and UT 2014-11-24 00:04:36 -08: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
huili2
32697b046b add a simple UT for debugging decoder crash 2014-11-03 23:05:34 -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