822 Commits

Author SHA1 Message Date
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
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
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
zhiliang wang
f2314151e8 Add x86 32/64bit asm code for SumOfBlocks. 2014-08-13 11:18: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
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
ruil2
af417b5ae4 re-allocate resource when threadIDC changes 2014-08-08 16:43:38 +08: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
ruil2
5356249100 if dynamic slice mode, this limitation should be removed 2014-08-01 16:10:11 +08:00
ruil2
f68b0811f0 update recontruct frame output 2014-07-31 15:10:12 +08: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
ruil2
e58de20f3a add encoder interface ut 2014-07-25 16:40:14 +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
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
ruil2
63e3c6588a fix reference frame update issue which will casue crash 2014-07-17 12:45:17 +08:00
ruil2
010e423b2b Merge pull request #1169 from sijchen/interfaceUT12
[Encoder UT] Interface: EncoderEncodeParameterSets
2014-07-15 14:20:18 +08: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
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
ruil2
c72f82e7a7 Revert "turn off LTR for screen content. after checking LTR logic, will turn on"
This reverts commit 0fda3d92354f3593f12efe8c18aee109cc5836c3.
2014-07-10 16:20:54 +08:00
dongzha
0cafc565be Merge pull request #1121 from ruil2/interface_update_1
interface update
2014-07-10 10:15:30 +08:00
ruil2
821483a4e9 fix bug when temporal layer changes 2014-07-09 16:43:58 +08:00
ruil2
45c2fff6b8 interface update 2014-07-09 15:41:04 +08:00
huili2
adb0fa498f astyle all cpp files 2014-07-08 20:01:42 -07:00
huili2
c2dd7df0f2 Merge pull request #1110 from mstorsjo/neon-deblock-fix
Check left/top flag instead of uiNeighborAvail in neon deblocking
2014-07-09 10:10:53 +08:00
zhilwang
228ea1a668 Merge pull request #1101 from dongzha/AddArm64MBCopy
add arm64 MB COPY code and UT
2014-07-09 09:31:31 +08:00
zhilwang
ce740ee19e Merge pull request #1113 from mstorsjo/asm-indent
Fix indentation of macros in reconstruct_aarc64_neon.S
2014-07-09 09:04:22 +08:00
zhilwang
1ae709dde0 Merge pull request #1106 from mstorsjo/fix-aarch64-hadamard
Fix WelsHadamardQuant2x2*_AArch64_neon
2014-07-09 09:03:14 +08:00
Martin Storsjö
cc8a2bd07e Fix indentation of macros in reconstruct_aarc64_neon.S 2014-07-08 20:16:28 +03:00
zhilwang
6ff2b84736 Merge pull request #1107 from mstorsjo/fix-aarch64-gnu-build
Fix building for aarch64 with gnu binutils
2014-07-08 19:31:50 +08:00
Martin Storsjö
e5abbdcdab Check left/top flag instead of uiNeighborAvail in neon deblocking
When deblocking over slice edges (in single threaded sliced
encoding), uiNeighborAvail might say that a MB isn't available,
even though it is available for deblocking here.

This fixes the encoder test of dynamic slicing, with neon
optimizations enabled.
2014-07-08 13:53:28 +03:00
sijchen
ca61e286b4 Merge pull request #1104 from ruil2/rc_fix_1
turn off LTR for screen content. after checking LTR logic, will turn on
2014-07-08 16:48:19 +08:00
Martin Storsjö
03d9f07671 Fix WelsHadamardQuant2x2*_AArch64_neon
In WelsHadamardQuant2x2SkipKernel_AArch64_neon, write the output
of cmhi into v0 - this is the register that is assumed to hold
the output.

In WelsHadamardQuant2x2_AArch64_neon, subtract the count of zero
elements from 4, not from 16.

This makes the encoding unit tests pass again.
2014-07-08 11:36:40 +03:00
Martin Storsjö
86b3a999d5 Use mov.16b instead of mov.8h
According to the arm architecture reference manual, the mov (vector)
instruction can only use the arrangement specifiers '8b' and '16b'.
The apple tools still accept the '8h' form, but it assembles into the
same as '16b'. (When copying a vector register to another, the element
size in the vectors don't matter.)

This fixes building with gnu binutils.
2014-07-08 11:34:44 +03:00
Martin Storsjö
3a1cc63649 Don't use the non-standard apple syntax in a gnu version of a macro 2014-07-08 11:34:44 +03:00
ruil2
0fda3d9235 turn off LTR for screen content. after checking LTR logic, will turn on
it
2014-07-08 16:15:51 +08:00
huili2
c228c51423 Merge pull request #1102 from ruil2/rc_fix_1
add skip frame processing for screen content
2014-07-08 16:14:01 +08:00
Sijia Chen
0a6819c0b7 remove unnecessary log output 2014-07-08 15:43:15 +08:00