Commit Graph

1594 Commits

Author SHA1 Message Date
dongzha
863dc78c25 Merge pull request #1301 from ruil2/ltr_check_1
add more LTR parameters
2014-08-26 12:22:27 +08:00
ruil2
d6f0dee0c4 add more LTR parameters 2014-08-26 11:06:30 +08:00
Karina
ddbd41cbc5 remove unused variables 2014-08-26 09:13:20 +08:00
Karina
11c9f2037d format update 2014-08-25 15:31:36 +08:00
Karina
a19974d009 fix crash on mvd cost calculation 2014-08-25 13:30:45 +08:00
ruil2
441dc45e69 add mv range limitation and related ut 2014-08-25 09:53:49 +08:00
HaiboZhu
dddb825bbd Merge pull request #1288 from lyao2/threadIDC
fix Loop filter error under multithreads on encoder when #TEST_BED enabled
2014-08-22 11:00:07 +08:00
lyao2
6047ff930e fix deblockIDC and mutithread logic error 2014-08-22 09:19:14 +08:00
zhiliang wang
e6f838e331 Add arm UT for Sad,IntraSad,IntraPred. 2014-08-21 15:36:57 +08:00
zhiliang wang
e3d8524c82 Refine EncDemo. 2014-08-21 09:10:49 +08:00
lyao2
47f1ac7307 fix Loop filter error under multithreads on encoder when #TEST_BED enabled 2014-08-20 11:54:07 +08:00
dongzha
3596b6ced0 avoid encoder crash with random pixel input 2014-08-19 15:36:27 +08:00
Martin Storsjö
81ac3d2a9b Fix building svc_motion_estimation.S for android
The .align directive takes an argument in number of bits, i.e. the
actual alignment is 2^n. Previously building with binutils failed,
since 16 isn't a valid parameter to .align, the maximum is 15.

Thus, this makes the code try to align to 16 bytes, instead of aligning
to 65536 bytes.

This fixes building for android.

This also clears up the same mistake in the aarch64 code, even though
that one built just fine.
2014-08-15 09:53:42 +03:00
dongzha
464244ccbe Merge pull request #1280 from mstorsjo/arm-common-ifdefs
Add ifdef HAVE_NEON around the contents of arm_arch_common_macro.S
2014-08-15 14:19:14 +08:00
HaiboZhu
955d27b3a2 Merge pull request #1278 from syureyi/perf
improve perf
2014-08-15 14:18:01 +08:00
Martin Storsjö
f69c9074e7 Add ifdef HAVE_NEON around the contents of arm_arch_common_macro.S
This file is built on its own from within the xcode projects,
even though it isn't necessary. Previously its contents was just
empty, but now a .syntax unified was added, which failed the build
when building for arm64.

Make this file a no-op, just like the other arm assembly source files,
unless HAVE_NEON is defined.
2014-08-15 08:49:31 +03:00
HFVideoMac
0f95fac4ca add arm32/64 code for InitHash 2014-08-15 13:47:59 +08:00
dongzha
87107c50a3 Merge pull request #1275 from zhilwang/x86_hash_scc
Add x86 32/64bit asm code and UT for SCC hash functions
2014-08-15 10:12:18 +08:00
zhiliang wang
ef88889404 refine format and add UT cases 2014-08-15 09:22:37 +08:00
zhilwang
711f5cabe7 Merge pull request #1273 from dongzha/RefineArmCodeForSumBlock
refine arm code for sum of frame
2014-08-15 09:02:15 +08:00
zhiliang wang
76863f977a Refine asm code format 2014-08-15 08:46:55 +08:00
zhiliang wang
b35f5797de Add x86 32/64bit asm code for Scc_hash 2014-08-14 18:41:52 +08:00
HaiboZhu
1e34a61dd6 Merge pull request #1269 from huili2/enc_console_help
correct enc console help info
2014-08-14 17:07:16 +08:00
HFVideoMac
e14186b535 refine arm code for sum of frame 2014-08-14 14:41:07 +08:00
zhiliang wang
dc833e19f4 Add function define and init for SCC hash function 2014-08-14 14:20:07 +08:00
huili2
e346bc5263 correct enc console help info 2014-08-12 23:25:27 -07:00
zhiliang wang
f2314151e8 Add x86 32/64bit asm code for SumOfBlocks. 2014-08-13 11:18:39 +08:00
syureyi
2ac973474a improve perf 2014-08-12 14:29:39 +08:00
ruil2
493d254a4a merge level table 2014-08-12 09:28:40 +08:00
ruil2
f7cd6e7aad use WelsEnc namespace instead of WelsSVCEnc 2014-08-11 16:08:49 +08:00
ruil2
febb3ebb9b fix an errors that for single slice mode, the number of slices should be 1 2014-08-11 13:58:33 +08:00
ruil2
5948e8af3f Merge pull request #1259 from mstorsjo/fix-singlecpu-tests
Remove a needless, no-op change of the number of threads
2014-08-11 13:31:57 +08:00
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