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
zhilwang
2b038fa73b
Merge pull request #1037 from mstorsjo/unify-align-macros
...
Unify macros for alignment
2014-06-30 10:09:05 +08:00
zhilwang
e9b8d927ca
Merge pull request #1039 from mstorsjo/unify-msvc-project-files
...
Unify some details in MSVC project files
2014-06-30 10:08:40 +08:00
zhilwang
17f3dd5ae6
Merge pull request #1041 from mstorsjo/upgrade-ios-projects
...
Mark xcode projects as upgraded to/checked for the latest version
2014-06-30 10:07:16 +08:00
zhilwang
1780a81a1d
Merge pull request #1042 from mstorsjo/avoid-ios-build-warnings
...
Avoid warnings when building for iOS
2014-06-30 10:06:52 +08:00
zhilwang
bfd8f97578
Merge pull request #1040 from mstorsjo/gitignore-msvc
...
Ignore files generated by MSVC
2014-06-30 10:05:54 +08:00
zhilwang
eb221eb3d1
Merge pull request #1030 from mstorsjo/cpuid-32bit-param
...
Don't load undefined bits into rcx before calling the cpuid instruction
2014-06-30 10:05:26 +08:00
zhilwang
58349156b1
Merge pull request #1035 from mstorsjo/aarch64-cpufeatures
...
Implement WelsCPUFeatureDetect for AArch64
2014-06-30 10:04:03 +08:00
zhilwang
fd132aba0f
Merge pull request #1033 from mstorsjo/aarch64-typofix
...
Fix a typo in arm64 assembly macros, ARCH64 -> AARCH64
2014-06-30 10:02:41 +08:00
zhilwang
0549fb99eb
Merge pull request #1034 from mstorsjo/aarch64-combined-satd-sad
...
Prefer modes in the same order as the reference, in the aarch64 combined intra satd/sad
2014-06-30 10:01:09 +08:00
zhilwang
704cad26f5
Merge pull request #1038 from mstorsjo/avoid-manual-alignment
...
Use ENFORCE_STACK_ALIGN_1D instead of manually doing stack buffer alignment
2014-06-30 10:00:44 +08:00
Martin Storsjö
68b4b09ae6
Don't load undefined bits into rcx before calling the cpuid instruction
...
The pFeatureC pointer is an uint32_t pointer, therefore only
load 32 bits into ecx.
This avoids loading potentially uninitialized data into the upper
half of the rcx register, fixing valgrind warnings in some build
setups (depending on how the compiler chooses to layout the stack
in the calling function).
2014-06-29 20:46:55 +03:00
Martin Storsjö
a01d6812ed
Simplify the compiler flags for the android test projects
...
These parts aren't performance critical, thus overriding the
compiler optimization flags (and arm instruction mode) isn't
necessary.
2014-06-29 19:59:10 +03:00
Martin Storsjö
f6302ea414
Mark xcode projects as upgraded to/checked for the latest version
...
This avoids some warnings when building. This shouldn't affect
building with older xcode versions.
2014-06-29 16:06:07 +03:00
Martin Storsjö
b5407915cc
Avoid warnings when building for iOS
...
Get rid of warnings by avoiding mixing data types unnecessarily,
and by adding casts.
2014-06-29 16:03:34 +03:00
Martin Storsjö
83d7c3547c
Ignore files generated by MSVC
2014-06-29 13:59:18 +03:00
Martin Storsjö
3a43c6bad4
Remove custom, manual linker options for the encoder in the MSVC project files
2014-06-29 13:51:54 +03:00
Martin Storsjö
157935e9a0
Write map files to the default directory instead of a custom directory
2014-06-29 13:49:33 +03:00
Martin Storsjö
7fba7a08bc
Set ProgramDatabaseFile to the default used in all other project files
2014-06-29 13:49:33 +03: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ö
263833b3bf
Remove the now unused macros __align16, ALIGNED_DECLARE_MATRIX_1D and ALIGNED_DECLARE_MATRIX_2D
2014-06-29 00:36:29 +03:00
Martin Storsjö
f300476468
Use the ALIGNED_DECLARE macro instead of __align16
2014-06-29 00:36:02 +03:00