Commit Graph

1612 Commits

Author SHA1 Message Date
Martin Storsjö
2f6a986d7c Remove a needless, no-op change of the number of threads
If kiCpuCores < 2, then iCountThreadsNum (and iMultipleThreadIdc)
can't be >= 2, because they're initialized with
WELS_MIN (kiCpuCores, ...) just a few lines above.

If iMultipleThreadIdc is initially set to 0 by the caller, this
removed piece of code would change it to 1, if kiCpuCores < 2.

When iMultipleThreadIdc is changed from the originally set value,
a call to WelsEncoderParamAdjust with the original parameters
would reset the whole codec since iMultipleThreadIdc differs.

This fixes running EncoderInterfaceTest.TemporalLayerSettingTest
on machines where the detected number of cores is 1.
2014-08-08 22:26:59 +03:00
Martin Storsjö
38d2d64ede Explicitly add .syntax unified when building for iOS
This is the default when building with the clang built-in assembler,
but not if using the external assembler - thus always specify it,
for clarity.

Also use the three-operand for of a sub instruction in BS_NZC_CHECK.
The same is already done in the gnu version of the macro.

This fixes building most of the arm assembly with Apple's external
assembler. While this isn't a necessary goal in itself, there's no
harm in doing this either.
2014-08-08 14:09:37 +03:00
huili2
dacd22d695 Merge pull request #1254 from mstorsjo/alias-attribute
Add attributes incidating intentional data type aliasing, fix GetIntraPredictorTest on android
2014-08-08 17:36:07 +08:00
ruil2
af417b5ae4 re-allocate resource when threadIDC changes 2014-08-08 16:43:38 +08:00
Martin Storsjö
5f0ef6a5a9 Add attributes incidating intentional data type aliasing
Interpreting data of one type via a pointer of a different type is an
aliasing violating. This means that a compiler optimizer's analyzer
can assume that data loaded into an array as uint32_t isn't related
to data read out from the same array as uint64_t, and e.g. reorder
loads/stores.

Since these structs are intentionally used to load data via pointers
of a wrong size, tell the compiler that these accesses may alias
other reads.

This fixes the GetIntraPredictorTest tests of WelsI4x4LumaPredV_c
and WelsI4x4LumaPredH_c. (The compiler optimizer did the wrong thing
as long as WelsFillingPred8to16_c or WelsFillingPred8x2to16_c were
inlined into the calling function.)
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
HFVideoMac
cff49f5e45 add arm 32/64 code and UT for SVC SCC motion estimation 2014-08-06 17:24:36 +08:00
huili2
3aec3a2606 Merge pull request #1245 from zhilwang/processing_sad
Add sad arm64 code to processing.
2014-08-06 09:31:22 +08:00
huili2
0dd0b06287 Merge pull request #1243 from ruil2/comment
add parameter verification
2014-08-05 14:58:01 +08:00
zhiliang wang
3139fe7a88 Add sad arm64 code to processing. 2014-08-05 11:23:38 +08:00
ruil2
5356249100 if dynamic slice mode, this limitation should be removed 2014-08-01 16:10:11 +08:00
ruil2
059e19074a add parameter verification 2014-08-01 12:39:29 +08:00
ruil2
11f0a11177 Merge pull request #1242 from huili2/test_dataformat
setget_dataformat_ut
2014-08-01 12:27:38 +08:00
HaiboZhu
aa41dc43bd Merge pull request #1241 from ruil2/comment
fix typo
2014-07-31 16:52:04 +08:00
ruil2
2ec91a0bbe fix typo 2014-07-31 15:14:10 +08:00
ruil2
f68b0811f0 update recontruct frame output 2014-07-31 15:10:12 +08:00
Martin Storsjö
8c663ffe66 Use the common stdint typedefs in processing as well
This fixes building test/processing/ProcessUT_AdaptiveQuantization.cpp
with MSVC.
2014-07-30 13:53:54 +03:00
huili2
e8fdd4cf75 setget_dataformat_ut 2014-07-28 18:41:58 -07:00
ruil2
eff4b3ae4d add a judgment 2014-07-29 09:37:14 +08:00
Martin Storsjö
ae62909aab Unify the indentation in the new aarch64 assembly files 2014-07-28 09:23:36 +03:00
Martin Storsjö
3240a14baa Add a missing .endm in the gnu version of macros 2014-07-28 09:01:24 +03:00
Martin Storsjö
79276c38dd Clear the executable bit for new arm64 assembly source files 2014-07-28 08:29:01 +03:00
HaiboZhu
39d490b23d Merge pull request #1224 from huili2/ec_flag_modif
modify EC API name and remove useless flag
2014-07-28 13:06:23 +08:00
huili2
933c477717 modify EC API name and remove useless flag 2014-07-27 21:35:26 -07:00
huili2
8e2d92e5c9 Merge pull request #1218 from zhilwang/arm64_vaa
Arm64 vaa
2014-07-28 09:30:16 +08:00
ruil2
e58de20f3a add encoder interface ut 2014-07-25 16:40:14 +08:00
zhilwang
b1a76aa936 Merge pull request #1215 from mstorsjo/x86-asm-noexec-stack
Mark the x86 assembly object files as not requiring an executable stack
2014-07-25 14:15:17 +08:00
zhiliang wang
7932845674 Refine code style. 2014-07-25 14:07:24 +08:00
zhiliang wang
de624c0972 Add arm64 code for vaa. 2014-07-25 14:07:24 +08:00
zhilwang
6ba537bee5 Merge pull request #1203 from dongzha/AddAQArm64
add ARM64 Adaptative Quantization code and UT
2014-07-25 13:46:10 +08:00
ruil2
1c42743999 fix crash bugs that too large size local varialbe will cause stack overflow 2014-07-25 09:55:41 +08:00
ruil2
7624b360f0 Merge pull request #1214 from mstorsjo/use-min-qp
Actually use iMinQp in WelRcPictureInitBufferBasedQp
2014-07-25 09:47:15 +08:00
huili2
a8286234bb Merge pull request #1204 from syureyi/mobile_AT
Mobile at
2014-07-25 08:52:20 +08:00
Martin Storsjö
d5a45ec513 Mark the x86 assembly object files as not requiring an executable stack
This avoids having to add extra linker flags in order to specify this.

This is similar to how this already is handled for the arm assembly.
2014-07-25 00:56:39 +03:00
Martin Storsjö
d215a5f879 Actually use iMinQp in WelRcPictureInitBufferBasedQp
This fixes a warning in certain builds, about the variable iMinQp
being set but not used. This also probably is what was intended originally.
2014-07-25 00:46:35 +03:00
huili2
470246c20f Merge pull request #1195 from mstorsjo/msvc-unify-linker-opts
Set MSVC linker debug options consistently in the project files
2014-07-23 13:29:14 +08:00
HFVideoMac
910c64ef22 add ARM64 Adaptative Quantization code and UT 2014-07-22 15:07:25 +08:00
zhiliang wang
e2425df06c Add arm64 downsample code to processing project 2014-07-22 10:16:55 +08:00
syureyi
9b11f25300 also format the file 2014-07-21 16:26:33 +08:00
syureyi
a555639dd2 check in the code for do codec performance testing on mobile 2014-07-21 15:31:43 +08:00
HFVideoMac
0d1699b67f Add Unit Test and ARM64 code for block_add 2014-07-21 14:37:52 +08:00
zhilwang
9ac7cd2816 Merge pull request #1191 from mstorsjo/merge-encdemo-include-paths
Set the encDemo header paths on the target level
2014-07-18 17:01:46 +08:00
zhilwang
3797aa1a14 Merge pull request #1194 from mstorsjo/msvc-simplify-output-dirs
Use macros for setting the output directory in MSVC project files
2014-07-18 16:59:28 +08:00
zhilwang
811e20f0d9 Merge pull request #1185 from mstorsjo/android-l-preview
Fix building for the Android L preview release, add support for new 64 bit Android ABIs
2014-07-18 16:56:22 +08:00
Martin Storsjö
71e59fd31c Set MSVC linker debug options consistently in the project files 2014-07-18 11:26:26 +03:00
Martin Storsjö
f26c7e3f4f Use macros for setting the output directory
This makes sure this is set to the exact same string in all
the configurations, simplifying editing multiple configurations
at the same time.

This changes the output directory for 64 bit binaries from
bin/win64 to bin/x64, but this is the common pattern used by
MSVC in new projects.
2014-07-18 11:23:48 +03:00
huili2
7e3812c970 Merge pull request #1148 from mstorsjo/dont-hardcode-xcode-archs
Don't hardcode the valid architectures in one xcode project
2014-07-18 09:24:31 +08:00
huili2
2627c05117 Merge pull request #1130 from mstorsjo/default-intermediates-path
Use default paths for and object files and other intermediate files
2014-07-18 09:23:30 +08:00
Martin Storsjö
8d22836ecd Set the encDemo header paths on the target level
Currently half of them are set on the project level, and half of them
on the target level.

In all other projects within OpenH264, they're set on the target level.
2014-07-17 17:41:06 +03:00
Martin Storsjö
fa8e56e944 Unify the setting "Build Active Architecture Only"
Set it to Yes in Debug configurations, set on the project level
(not at the target level).
2014-07-17 12:36:49 +03:00
huili2
288e2b3cdf Merge pull request #1188 from ruil2/trace_tag
fix reference frame update issue which will casue crash
2014-07-17 13:40:31 +08:00
ruil2
63e3c6588a fix reference frame update issue which will casue crash 2014-07-17 12:45:17 +08:00
dongzha
a0320dac5d Merge pull request #1186 from huili2/diff_logic_WME_master
modify the logic for WME usage
2014-07-17 10:43:49 +08:00
dongzha
74b52e8a31 Merge pull request #1183 from ruil2/trace_tag
add trace tag
2014-07-17 10:43:14 +08:00
ruil2
ef7cce3d14 modify trace output 2014-07-17 10:09:52 +08:00
huili2
a0e569da81 modify the logic for WME usage 2014-07-16 18:14:53 -07:00
dongzha
cd026ef166 Merge pull request #1152 from mstorsjo/xcode-inherit-include-paths
Include inherited header search paths in all projects
2014-07-17 08:42:15 +08:00
dongzha
2db10df5c6 Merge pull request #1180 from huili2/dpb_green_issue_master
solve green issue combined with EC and multi-packet input
2014-07-17 08:41:27 +08:00
dongzha
2a83a85eb7 Merge pull request #1151 from mstorsjo/unify-deployment-target
Set the iOS deployment target consistently
2014-07-17 08:40:39 +08:00
Martin Storsjö
9aaeef9264 Manually define the SWelsTime struct on unix, don't rely on struct timeb
We don't use the ftime function on unix for filling SWelsTime anyway,
we fill the time and millitm fields manually.

On android, the sys/timeb.h header has been removed in the next
platform version (currently available in NDK r10 in the "L preview"
release), since this header and the ftime function have been removed
from the POSIX 2008 specification.

This fixes compilation when targeting the Android "L preview" release,
even when targeting the 32 bit ABIs.
2014-07-16 21:32:18 +03:00
Martin Storsjö
6966679f33 Remove unused includes of sys/timeb.h
This header is included by crt_util_safe_x.h whenever necessary (it's
all hidden in the SWelsTime struct) - code which does not explicitly
use things from sys/timeb.h shouldn't include it.
2014-07-16 21:31:07 +03:00
ruil2
b9058e4987 add trace tag 2014-07-16 16:49:53 +08:00
huili2
e63dad0b6c Merge pull request #1172 from ruil2/pause_remove
remove pause frame interface which will be done in application level
2014-07-16 13:57:46 +08:00
ruil2
29bb1df645 Merge pull request #1177 from huili2/version_all
version-generate
2014-07-16 10:35:20 +08:00
ruil2
f94a20d7b5 Merge pull request #1174 from huili2/border_green_master
expand pic for EC
2014-07-16 10:01:02 +08:00
Martin Storsjö
c9a6482fc6 Use default paths for and object files and other intermediate files
This makes sure that one can build for all architectures without
having the intermediates from one clobber the other.
2014-07-15 13:00:56 +03:00
huili2
9626596421 Merge pull request #1143 from mstorsjo/remove-stray-option
Remove a stray option set on only one MSVC project
2014-07-15 17:56:38 +08:00
huili2
b7ea251e95 Merge pull request #1142 from mstorsjo/remove-unused-hardcoded-paths
Don't set a custom path to browse information files, when no browse information is generated
2014-07-15 17:55:46 +08:00
huili2
d7f3331c9d solve green issue combined with EC and multi-packet input 2014-07-15 02:51:20 -07:00
huili2
7f36b244f7 Merge pull request #1158 from HaiboZhu/Debug_codenomicon_3_015584
Debug for InitRefPicList
2014-07-15 17:50:51 +08:00
huili2
333cf6aa97 version-generate 2014-07-14 23:39:31 -07:00
huili2
b02f75f608 expand pic for EC 2014-07-14 23:28:46 -07:00
ruil2
010e423b2b Merge pull request #1169 from sijchen/interfaceUT12
[Encoder UT] Interface: EncoderEncodeParameterSets
2014-07-15 14:20:18 +08:00
ruil2
3632a0331c remove pause frame interface which will be done in application level 2014-07-15 11:05:05 +08:00
huili2
c4fc6642cf reuse dsNoParamSets in dec 2014-07-14 18:47:40 -07:00
Martin Storsjö
110ce9ceca Remove an unused variable
This fixes build warnings with clang on OS X.
2014-07-14 15:44:26 +03:00
Sijia Chen
b669801e89 add interface UT for WelsEncoderEncodeParameterSets
and fix previous value
2014-07-14 18:36:35 +08:00
ruil2
36cfb3bd32 add buffer based rc 2014-07-14 13:57:03 +08:00
ruil2
4cdee3b2d1 Merge pull request #1150 from mstorsjo/unify-sdk-setting
Don't hardcode the sdk on the target level
2014-07-12 16:02:49 +08:00
Martin Storsjö
edb9872473 Include inherited header search paths in all projects 2014-07-11 11:41:23 +03:00
Martin Storsjö
301ccb1081 Set the iOS deployment target consistently
Set it on the project level, don't override it on the target level.

Set the deployment target to 6.0 everywhere.
2014-07-11 11:39:08 +03:00
Martin Storsjö
c0c51eb73e Don't hardcode the sdk on the target level
It's already set on the project level, and this is the default
value anyway.

This was the only project where the sdk was set on the target level.
2014-07-11 11:27:22 +03:00
Martin Storsjö
e9610e465e Don't hardcode the valid architectures in one xcode project
There's no reason to hardcode these here - these are the default.
(We keep the intentionally hardcoded default arch in the
codec_unittest project though.)
2014-07-11 11:20:10 +03:00
Martin Storsjö
b63b13e6f0 Don't hardcode an include path to the xcode default toolchain
The necessary system include paths are already inherited, and manually
forcing this location can cause conflicts if using different versions
of xcode installed in parallel.

None of the other xcode projects hardcode this path.
2014-07-11 11:11:32 +03:00
huili2
140a67dfc9 Merge pull request #1144 from syureyi/openh264xcode
add openh264 xcode and adjust processing xcode project
2014-07-11 15:33:41 +08:00
Haibo Zhu
cbc5f3bf4b Remove the call function parameter. 2014-07-10 22:54:35 -07: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
Haibo Zhu
79891067e9 Debug for codenomicon bits, when one picture contains diff types of slices(I, P),may request null ref list. 2014-07-10 20:17:18 -07:00
syureyi
a3800d205d add openh264 xcode and adjust processing xcode project 2014-07-10 20:47:27 -06:00
dongzha
da0f65ea0a Merge pull request #1140 from zhilwang/x86_64-downsample
Add X86 64bit asm code for downsample
2014-07-11 08:48:45 +08:00
huili2
6310017877 Merge pull request #1139 from huili2/parse_fail_master
add return info for all cases
2014-07-10 17:48:18 +08:00
ruil2
c72f82e7a7 Revert "turn off LTR for screen content. after checking LTR logic, will turn on"
This reverts commit 0fda3d9235.
2014-07-10 16:20:54 +08:00
Martin Storsjö
0dc2c3b031 Remove a stray option set on only one MSVC project
No other projects create browse information, and browse information
for the decConsole project alone doesn't help much. This is also
only enabled in debug mode, further indicating that this option is
only enabled accidentally, not by purpose.
2014-07-10 10:16:58 +03:00
Martin Storsjö
21691a6741 Don't set a custom path to browse information files, when no browse information is generated
These projects never had browse information generation enabled.
2014-07-10 10:15:30 +03:00
huili2
209c607020 add return info for all cases 2014-07-09 23:06:40 -07:00
Martin Storsjö
d5c71dbe2f Use the correct syntax for the aarch64 ext instructions
Since Xcode 5.1, the apple tools actually support using the
official, correct syntax for the ext instructions. This syntax
is already used in a number of places already - use it consistently,
and get rid of the compatibility hacks.
2014-07-10 08:53:41 +03:00
huili2
019fb9e20e Merge pull request #1132 from mstorsjo/unify-encoder-opts
Unify optimization options within the encoder MSVC projects
2014-07-10 13:50:48 +08:00
dongzha
0cafc565be Merge pull request #1121 from ruil2/interface_update_1
interface update
2014-07-10 10:15:30 +08:00
zhiliang wang
eaf7d65518 Align C version to asm function. 2014-07-10 09:38:07 +08:00
ruil2
7bb422803d Merge pull request #1131 from mstorsjo/avoid-hardcoding-paths
Use $(OutDir) instead of hardcoding the directory name
2014-07-10 09:30:37 +08:00