Commit Graph

2129 Commits

Author SHA1 Message Date
ruil2
2c250179dc Merge pull request #1071 from ganyangbbl/typo_bug
fix a typo issue in ParamValidation
2014-07-03 11:23:33 +08:00
ruil2
f245dc34ff Merge pull request #1062 from sijchen/scc_md_bgd1
fix BGD under screen and remove a build warning in ME
2014-07-03 11:23:17 +08:00
ganyang
01559a684e fix a typo issue in ParamValidation 2014-07-03 11:02:09 +08:00
Sijia Chen
49fb042f21 add bgd fix to camera route as well to avoid visible artifact when using fake content in video 2014-07-03 11:01:02 +08:00
zhilwang
782e94b05c Merge pull request #1065 from mstorsjo/remove-old-includes
Remove leftover include directories
2014-07-03 09:21:11 +08:00
zhilwang
8e03f0351d Merge pull request #1069 from mstorsjo/generate-targets
Regenerate test/common/targets.mk via the mktargets.sh script as well
2014-07-03 09:20:23 +08:00
sijchen
601105471f Merge pull request #1067 from lyao2/interface_ut_commit
encoder interface UT for temporal layer setting change
2014-07-03 09:07:09 +08:00
Martin Storsjö
dd05a655c2 Regenerate test/common/targets.mk via the mktargets.sh script as well 2014-07-02 15:07:02 +03:00
lyao2
44faa1c9a7 add encoder interface UT for IDR request 2014-07-02 18:42:05 +08:00
Martin Storsjö
1c1468210f Remove leftover include directories
codec/common no longer contains headers, they're all in
codec/common/inc now.
2014-07-02 13:31:36 +03:00
Sijia Chen
0a3db78bb9 fix BGD under screen and remove a build warning in ME 2014-07-02 16:50:59 +08:00
ruil2
3ef97dc0c9 Merge pull request #1057 from sijchen/scc_md_merge11
[Encoder] Completing and bug-fixing the screen content MD/ME process
2014-07-02 14:02:51 +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
ruil2
dce9541199 Merge pull request #1055 from ethanhugg/frameleakonerror
Destroy input frame on GMP encode on error conditions.
2014-07-02 14:01:08 +08:00
Sijia Chen
a964ae8cfa completing and bug-fixing the screen content MD/ME process 2014-07-02 10:33:47 +08:00
huili2
19273b1ae5 Merge pull request #1052 from sijchen/scc_md_merge2
[Processing] fix the different threshold between camera and screen
2014-07-02 10:33:14 +08:00
ruil2
2eb65d7d72 Merge pull request #1053 from mstorsjo/fix-include-spacing
Add proper spacing in include directvies
2014-07-02 09:04:14 +08:00
ruil2
9caf082b4a Merge pull request #1054 from huili2/output_bs_enc
fix when output enabled in encoder
2014-07-02 09:04:01 +08:00
Ethan Hugg
e4a2fad99b Destroy input frame on GMP encode on error conditions. 2014-07-01 09:35:10 -07:00
huili2
05cd0e8ada fix when output enabled in encoder 2014-07-01 02:13:03 -07:00
Martin Storsjö
e5609bc0fe Remove global function pointers in the encoder MC code
This is similar to how this is done in the decoder part of MC.
2014-07-01 12:01:48 +03:00
Martin Storsjö
130c682c29 Avoid intermediate function pointers for some function pointers that are never overridden
These are only used in the leaf C versions of functions anyway.
2014-07-01 12:01:48 +03:00
Martin Storsjö
586d0ba3dc Reduce code duplication 2014-07-01 12:01:48 +03:00
Martin Storsjö
00f28cc185 Avoid using static arrays for keeping track of frame dumping state 2014-07-01 12:01:48 +03:00
Martin Storsjö
1888fba336 Move pfCavlcParamCal into the function pointer list
This avoids using a global variable for this function.
2014-07-01 12:01:48 +03: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ö
9ef09861cf Don't use and modify function pointers in global static tables
Make the tables const and keep a copy of the table in the
SWelsFuncPtrList struct instead, where any modifications to
the table only touch that individual instance of the codec.
2014-07-01 12:00:14 +03:00
Martin Storsjö
d2afebd2d7 Add proper spacing in include directvies 2014-07-01 10:55:04 +03:00
sijchen
76bd633d91 Merge pull request #1036 from mstorsjo/test-random
Don't call srand(time()) inside utility functions inside tests 
https://rbcommons.com/s/OpenH264/r/564/
2014-07-01 15:48:07 +08:00
zhilwang
3a6f51781d Merge pull request #1044 from mstorsjo/android-cleanup-compiler-flags
Simplify the compiler flags for the android test projects
2014-07-01 15:31:22 +08:00
huili2
5b004048ed Merge pull request #1051 from ruil2/overflow_check
check each WriteBlockResidualCavlc to avoid overflow
2014-07-01 15:25:59 +08:00
huili2
4486e328d4 Merge pull request #1050 from ruil2/update_param
fix error judgment on return value in pauseframe
2014-07-01 15:25:06 +08: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
ruil2
325c63d0ca Merge pull request #1047 from mstorsjo/cpufeatures-armv8
Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels
2014-07-01 14:53:52 +08:00
ruil2
32ce337eb0 check each WriteBlockResidualCavlc to avoid overflow 2014-07-01 14:50:50 +08:00
ruil2
ffb38322d0 fix error judgment on return value in pauseframe 2014-07-01 14:36:46 +08:00
ruil2
806e59fcb1 Merge pull request #1045 from mstorsjo/share-read-config
Share one implementation of CReadConfig between both console apps
2014-07-01 08:55:07 +08:00
ruil2
08f66e52a0 Merge pull request #1046 from mstorsjo/share-tables
Share some tables and definitions between the encoder and decoder
2014-07-01 08:53:44 +08:00
ruil2
1fa1d2f1c1 Merge pull request #1049 from ethanhugg/frameleak
Fix for memory leak of input frames in encoder.
2014-07-01 08:51:52 +08:00
ruil2
aa2cfef310 Merge pull request #1048 from ethanhugg/maxnal-revert
Revert "add max nal size setting in gmp wrapper"
2014-07-01 08:50:52 +08:00
Ethan Hugg
8662eca2c3 Fix for memory leak of input frames in encoder. 2014-06-30 16:59:50 -07:00
Ethan Hugg
ce5268076c Revert "add max nal size setting in gmp wrapper"
This reverts commit a20c503d14.
2014-06-30 13:58:28 -07:00
Martin Storsjö
04c6c95577 Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels
On 64 bit kernels, /proc/cpuinfo doesn't list the same old features
as on 32 bit kernels, since most of them are mandatory on 64 bit arm
systems, see [1] for details.

If running a 32 bit arm binary on such a kernel, we need to detect
the features slightly differently, either by using other names
listed in the Features field on these devices, by checking the
"CPU architecture" field and always enabling these if the architecture
is >= 8, or by parsing /proc/self/auxv or using the getauxval function.

[1] http://marc.info/?l=linux-arm-kernel&m=139087240101974
2014-06-30 09:51:49 +03:00
Martin Storsjö
7ae3fbcfbf Share one implementation of the CReadConfig class between the decoder and encoder console apps 2014-06-30 09:04:12 +03:00
Martin Storsjö
b4b1d1df8c Move a struct to the actual place where it's used
It's not related to the config reader.
2014-06-30 09:04:08 +03:00
Martin Storsjö
4af37a7d21 Move common tables and definitions into the common library 2014-06-30 09:03:10 +03:00
Martin Storsjö
44ebe7dea4 Rename a decoder macro to the name used in the encoder 2014-06-30 09:03:10 +03:00
Martin Storsjö
578060373a Rename data types in the decoder to match the name used in the encoder 2014-06-30 09:03:10 +03:00
Martin Storsjö
eb7cdf2bda Rename some decoder tables to match the name used in the encoder 2014-06-30 09:03:10 +03:00
Martin Storsjö
4aa22da812 Remove an unused constant 2014-06-30 09:03:10 +03:00