HaiboZhu
37deb06700
Merge pull request #771 from huili2/newseqorder_prefixerror_bugfix
...
fix new sequence&EC order, and prefix parse bug
2014-04-30 17:31:04 +08:00
huili2
5e6ef17412
fix new sequence&EC order, and prefix parse bug
2014-04-29 20:00:12 -07:00
ruil2
2508cf925f
fix the issue that long term reference frame is disable for screen
2014-04-29 17:24:22 +08:00
huili2
2006efc1e0
Merge pull request #768 from ruil2/enc_param
...
use the parameters set by app instead of the default values
2014-04-29 17:19:55 +08:00
HaiboZhu
c27c02bc0a
Merge pull request #764 from dongzha/Deblock
...
Remove useless code
2014-04-29 14:50:22 +08:00
dongzha
4f8edb946d
Merge pull request #763 from huili2/ec_bug_fix
...
fix some bugs of EC
2014-04-29 14:27:58 +08:00
dongzhang
793c80df8b
Remove useless code
2014-04-29 14:14:47 +08:00
unknown
40ce2396f8
use the parameters set by app instead of the default values
2014-04-29 13:15:28 +08:00
sijchen
2ad7bb9233
adjust the intra md under scc
2014-04-29 11:10:15 +08:00
volvet
83abff2139
Merge pull request #759 from mstorsjo/deblock-neon-transpose
...
Do full register loads instead of single-lane loads in DeblockLumaEq4H_neon
2014-04-28 18:33:32 +08:00
huili2
f148a8a7ae
Merge pull request #755 from licaiguo/refine-pNzc
...
refine pNzc set access
2014-04-28 16:21:36 +08:00
huili2
0cd3f9d952
fix some bugs of EC
2014-04-28 00:48:38 -07:00
Martin Storsjö
23f57adaea
Do full register loads instead of single-lane loads in DeblockLumaEq4H_neon
...
Instead of loading the registers one lane at a time, load full
registers and then transpose them.
This is faster, reducing the runtime for the function from about
506 cycles to 434 cycles (tested on a Cortex A8).
This also avoids an issue which seems like a cpu bug, present
on Sony Xperia T (cpu implementer 0x51 architecture 7 variant 0x1
part 0x04d). On such a device, it seemed like the "vswp q9, q10"
could start executing before the previous
vld4.u8 {d20[x],d21[x],d22[x],d23[x]}, [r3], r1
had finished and written back their result. Changing the
"vswp q9, q10" into "vswp q10, q9", or into separate
"vswp d18, d20; vswp d19, d21" (or the other way around) seemed to
avoid the issue. This happened occasionally (a couple times per
100000 invocations or so).
2014-04-28 10:12:16 +03:00
huili2
9d1af8c378
Merge pull request #751 from huili2/NewSeq_replace_I
...
use new seq instead of I slice
2014-04-28 13:40:15 +08:00
Licai Guo
669d704fac
refine pNzc set access
2014-04-26 16:36:16 -07:00
volvet
c5f04cfbd4
Merge pull request #750 from mstorsjo/deblocking-neon-cpu-features
...
Check for WELS_CPU_NEON before calling DeblockingBSCalcEnc_neon
2014-04-25 19:05:12 +08:00
volvet
84ff16c015
Merge pull request #749 from mstorsjo/dos-newlines
...
Remove dos newlines in the android java code
2014-04-25 18:18:11 +08:00
Martin Storsjö
00a724076b
Check for WELS_CPU_NEON before calling DeblockingBSCalcEnc_neon
...
Checking HAVE_NEON is not enough; e.g. android devices with
armeabi-v7a are not required to have NEON, so every use of such
functions should be check WELS_CPU_NEON in the cpu features
as well.
2014-04-25 13:02:22 +03:00
sijchen
bd8d97dddb
Merge pull request #748 from huili2/newSeq_bugfix
...
fix bug of new seq check
2014-04-25 17:54:33 +08:00
huili2
0c544962d8
use new seq instead of I slice
2014-04-25 01:46:00 -07:00
Martin Storsjö
655d9c5dbf
Remove dos newlines in the android java code
2014-04-25 11:03:03 +03:00
huili2
c0d21a23f3
Merge pull request #745 from lyao2/scrollingUT
...
add scroll detection UT
2014-04-25 15:07:15 +08:00
huili2
c65d250817
fix bug of new seq check
2014-04-24 22:11:42 -07:00
volvet
c65e286036
Merge pull request #738 from mstorsjo/gnu-aarch64
...
Fix building the aarch64 assembly using gnu binutils
2014-04-25 09:07:43 +08:00
ganyang
8ee85918c8
fix resolution setting issue
2014-04-24 17:34:31 +08:00
huili2
593e291d19
fix typo of IDR loss
2014-04-24 02:26:40 -07:00
huili2
c4ab780d21
Merge pull request #732 from licaiguo/forJS
...
specify accurate align information for ST32
2014-04-24 16:50:00 +08:00
Licai Guo
fe23d53acc
Merge pull request #744 from huili2/ec_IdrLoss
...
enable the case for IDR loss
2014-04-24 16:47:36 +08:00
Licai Guo
41698901c1
Merge pull request #743 from huili2/ec_refidx_return
...
prevent from return if ref_idx is error
2014-04-24 16:47:20 +08:00
lyao2
34ad719cf2
Squashed commit of the following:
...
commit f73d6cf0fcae5f401fc2817ab736af996113ca09
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Thu Apr 24 15:02:21 2014 +0800
remove comments
commit 75416c2cf6c1ebb7aabf9e8c52d8c7163a8009b7
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Thu Apr 24 14:52:09 2014 +0800
for test
commit 7dfb65ce514edcff892bfb3919921cadcce1d055
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Thu Apr 24 14:12:31 2014 +0800
for test
commit eff771645e8c349dc4e454ab1751530b3cef18ed
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Thu Apr 24 10:51:34 2014 +0800
for test
commit 9c42b9a7a04068e70be94529941f549b58e63780
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Wed Apr 23 17:46:59 2014 +0800
update cpu_flag
commit cce3fccc0a4249b82ab2e0e92fe53579ef942799
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Wed Apr 23 17:26:56 2014 +0800
for test
commit 3d292995b3c4437a2674a687cc4e8da1b5fb83f5
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Wed Apr 23 16:45:57 2014 +0800
remove space
commit c608c2ba7cf010f1dcf8c0344f68536c48e181cb
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Wed Apr 23 16:42:43 2014 +0800
remove tabs
commit 3b769342a06e25ad23a2c86f23a94d0d7ca1a4c8
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Wed Apr 23 16:33:55 2014 +0800
refine UT case
commit 89b869f0c8f8c9bbd61e9de32caa77877aeae064
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Tue Apr 22 13:40:50 2014 +0800
Squashed commit of the following:
commit abe55494134ef8342ffe9566df4e1b3265fe21b6
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Tue Apr 22 10:50:07 2014 +0800
set MV range
commit 8c7f70c351e50d945c29118bed8b3781c22b7dbc
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Mon Apr 21 16:53:10 2014 +0800
refinement
commit bf35f19a7dc88743aacf8e89e681e0ef3302d40a
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Fri Apr 18 17:24:31 2014 +0800
correct tabs
commit 130b7f895d7020bfc571d910966891da93150242
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Fri Apr 18 17:17:06 2014 +0800
correct format
commit 0429703b0844363559dd2b3d44e45034232a9d8f
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Fri Apr 18 15:12:44 2014 +0800
add scroll UT
2014-04-24 15:12:49 +08:00
huili2
314005435e
enable the case for IDR loss
2014-04-23 23:13:12 -07:00
Varun B Patil
422d1d1569
Fix calculation of num ref frames
2014-04-24 10:42:15 +05:30
Licai Guo
bada2d35bf
fix bNewSeqBegin logic
2014-04-23 18:50:11 -07:00
Martin Storsjö
66f58e8357
Add macros for the non-standard mov.16b/mov.8b/ext.16b/ext.8b
...
This fixes building with gnu binutils, which don't support this
nonstandard form of the instructions.
Once Apple's tools support the proper standard form of the
instructions, the code should be updated to use that everywhere
instead, and these macros should be removed.
2014-04-23 11:47:12 +03:00
Martin Storsjö
7cd175d097
Use the correct ext syntax in the gnu version of macros
2014-04-23 11:47:12 +03:00
Martin Storsjö
b13a399ab5
Use a plain "ret" instead of "ret lr"
...
This fixes an issue with assembling with gnu binutils.
2014-04-23 11:47:12 +03:00
Martin Storsjö
f2642b308a
Add correct arguments to the gnu version of UNPACK_FILTER_SINGLE_TAG_16BITS
2014-04-23 11:47:12 +03:00
Martin Storsjö
90fad9fd98
Add \() to macro arguments to separate the argument from the following .8h or similar
2014-04-23 11:47:12 +03:00
Martin Storsjö
80bd541cbe
Remove .syntax unified from the aarch64 common header
...
This directive isn't available in aarch64 code, only in arm code.
2014-04-23 11:47:12 +03:00
Martin Storsjö
3c2e9cd7bf
Regenerate makefiles to include the new arm64 assembly files
2014-04-23 11:44:47 +03:00
Martin Storsjö
764f787dcb
Rename the makefile variable for arm assembly sources
...
This is in preparation for adding support for the aarc64 assembly
files as well.
2014-04-23 10:55:30 +03:00
Martin Storsjö
a842f14a3c
Remove .orig files left over from running astyle
2014-04-23 09:24:23 +03:00
Martin Storsjö
45aef90d26
Remove the executable bit from source files
2014-04-23 09:23:56 +03:00
huili2
13db7fea7b
prevent from return if ref_idx is error
2014-04-22 22:43:40 -07:00
dongzhang
ad9e2dab4f
Add Motion Compehension ARM64 Neon Code
2014-04-23 13:26:28 +08:00
Licai Guo
b47606a4ff
Merge pull request #733 from dongzha/ExpandPic_ARM64
...
Add expand picture support for ARM64 NEON
2014-04-23 09:57:39 +08:00
dongzhang
2444327a6c
Add expand picture support for ARM64 NEON
...
Remove duplicate MACROS
2014-04-23 09:14:32 +08:00
Licai Guo
75c941a836
Merge pull request #724 from mstorsjo/string-cleanup
...
Unify return values from Wels*Snprintf and simplify calling code
2014-04-22 16:41:44 +08:00
Licai Guo
17c00f03d6
specify accurate align information for ST32,
...
remove redundant init
2014-04-22 00:30:39 -07:00
Licai Guo
9c5402837e
Merge pull request #730 from huili2/rm_warn_dec_core
...
remove warning from decoder_core.cpp
2014-04-22 15:15:35 +08:00
Licai Guo
5a845f97d3
Merge pull request #731 from huili2/ec_dec_error
...
prevent from return if slice decoding error for EC
2014-04-22 15:15:25 +08:00
huili2
afe8a44d5b
Merge pull request #726 from licaiguo/refine-auready
...
refine Check AU boundary
2014-04-22 15:03:28 +08:00
huili2
5c064ed275
prevent from return if slice decoding error for EC
2014-04-21 23:27:48 -07:00
huili2
bf9f25d2e8
remove warning from decoder_core.cpp
2014-04-21 23:20:30 -07:00
ruil2
2eff808db7
add decide frame type for screen content
2014-04-22 09:59:38 +08:00
Licai Guo
97c65b396d
refine Check AU boundary
2014-04-21 18:21:07 -07:00
Licai Guo
8b9f621b88
add virtual destructor to codec interface
2014-04-21 17:51:47 -07:00
Martin Storsjö
c4e1d2bbb8
Simplify the use of return values from Wels*Snprintf
...
Also similarly simplify the use of the return value from
WelsStrftime and GetCodeName/GetLibName/GetVerNum.
2014-04-21 22:03:47 +03:00
Martin Storsjö
564d16c2ef
Make Wels*Snprintf return values be non-negative
...
This makes sure the windows version of these functions behave
more like the posix version. The posix *snprintf returns how
much would have been written if the buffer had been large
enough, which we don't know easily in the windows versions.
This basically means that we can assume that the return value is
>= 0 now, which can simplify the calling code.
2014-04-21 22:03:20 +03:00
Martin Storsjö
ade7df0ca7
Remove an unused local variable
2014-04-21 21:57:28 +03:00
Licai Guo
fbc179fb82
Merge pull request #722 from sijchen/fme_merge75
...
[Encoder ME] add FME switch logic
2014-04-21 22:18:55 +08:00
sijchen
e5001c87ca
add FME switch logic
2014-04-21 16:36:59 +08:00
sijchen
736a6753c0
fix the GetOption: bit rate part
2014-04-21 16:32:16 +08:00
Licai Guo
3f2ea77908
Merge pull request #719 from dongzha/MC
...
Modify ARM32 Neon code for Expand Chroma Picture, when UVWidth%16==8.
2014-04-21 14:38:51 +08:00
Licai Guo
883e89e0d2
Merge pull request #720 from huili2/ec_add_ref_mgt
...
add DPB management if frame loss happens
2014-04-21 14:38:37 +08:00
Licai Guo
7dfc49ec39
Merge pull request #718 from huili2/LTR_feedback_info
...
modify sequence to fix bug for LTR feedback info
2014-04-21 14:38:16 +08:00
huili2
d031509474
add DPB management if frame loss happens
2014-04-20 22:59:25 -07:00
huili2
0c45cbb1ec
modify sequence to fix bug for LTR feedback info
2014-04-20 22:22:24 -07:00
ruil2
c01b0f4f92
Merge pull request #716 from licaiguo/ForJS
...
Specify accurate align information for mc copy and intrapred c functions
2014-04-21 11:05:38 +08:00
Licai Guo
4e041d625f
Minor optimzation on iRun for cavlc
2014-04-20 00:33:48 -07:00
Licai Guo
5ba3ead015
specify accurate align information for intrapred c functions
2014-04-19 00:56:00 -07:00
Licai Guo
039a547804
give accurate align information for mc copy functions
...
this can improve the performance for target like javascript
2014-04-19 00:33:23 -07:00
huili2
427da1c990
Merge pull request #714 from ruil2/enc_setting
...
add usagetype parameter in encoder unit test to test screen content
2014-04-18 17:33:58 +08:00
huili2
1b1654e9c6
Merge pull request #712 from ruil2/enc_rename_1
...
rename some varialbes
2014-04-18 13:17:17 +08:00
huili2
7d99aa4e22
Merge pull request #713 from licaiguo/overwriteactivesps
...
overwriteactivesps
2014-04-18 13:16:18 +08:00
ruil2
a15e640137
add usagetype parameter in encoder unit test to test screen content
2014-04-18 11:17:25 +08:00
ruil2
0520ace351
rename some varialbes
2014-04-18 11:07:38 +08:00
sijchen
9b0322330c
Merge pull request #709 from huili2/ec_mb_check
...
add EC frame/slice copy.
2014-04-18 10:57:40 +08:00
ruil2
6b707ffb14
add complexity calculation in workflow
2014-04-17 17:33:44 +08:00
Licai Guo
2f8c539e60
Merge pull request #707 from dongzha/FixIssueMcNEON
...
Fix potential issue for neon implement on encoder mode decision.
2014-04-17 17:26:25 +08:00
Licai Guo
79ed744923
overwriteactivesps
2014-04-17 02:25:41 -07:00
dongzhang
a4f59bc0d7
Modify ARM32 Neon code for Expand Chroma Picture, when UVWidth%16==8.
2014-04-17 15:58:30 +08:00
ruil2
4ea8af515b
update level_idc setting
2014-04-17 14:29:41 +08:00
Licai Guo
4062fa9d34
Merge pull request #703 from zhilwang/pf-test
...
Move copy_mb neon code to common folder
2014-04-17 11:08:56 +08:00
Licai Guo
3d9d00b27c
Update targets.mk
2014-04-17 10:43:10 +08:00
Licai Guo
c8e1a41c29
Move copy_mb neon code to common folder
2014-04-17 10:06:48 +08:00
ruil2
b553468ad3
keep the declaration and definition in the same namespace
2014-04-17 09:45:26 +08:00
volvet
6cb48fc547
Merge pull request #690 from sijchen/fme_merge65
...
[Encoder ME] Add calling of FME preprocess calculation
Approved by Xiaolin.
2014-04-16 17:41:17 +08:00
Dmitriy Tyagniy
4e8428fbfc
Updated XCode projects to properly launch for arm64 architecture
2014-04-16 11:53:44 +03:00
huili2
bc2c4b0db0
add EC frame/slice copy.
2014-04-16 01:44:35 -07:00
ruil2
02bd787c34
update help info for console app
2014-04-16 13:39:21 +08:00
zhchu
01d6a26012
update ios project files
2014-04-15 16:23:48 +08:00
Licai Guo
e8d8bdc48e
Merge pull request #689 from huili2/add_file_CopyMB_EC
...
divide copy_mb functions into new file for decoder use from encoder and ...
2014-04-15 16:20:08 +08:00
sijchen
f414241834
reformat
2014-04-15 15:54:51 +08:00
sijchen
1140050da6
Add calling of FME preprocess calculation
2014-04-15 15:38:27 +08:00
huili2
4ab8c88e98
divide copy_mb functions into new file for decoder use from encoder and add files for EC in decoder only.
2014-04-14 20:17:41 -07:00
huili2
77aaf2ea8e
Merge pull request #685 from licaiguo/tracklayersps
...
add track sps change for each layer
2014-04-15 11:05:45 +08:00
Licai Guo
16cfb0a937
add track sps change for each layer
2014-04-14 00:17:44 -07:00
ruil2
1e3053208d
update the default value for bPrefixNalAddingCtrl and iLoopFilterDisableIdc
2014-04-14 14:06:02 +08:00
Dong Zhang
8a4300be50
Fix potential issue for neon implement on encoder mode decision.
...
Error happens when ME_REFINE_BUF_STRIDE is not equal to 32.
2014-04-13 19:41:29 -07:00
Ethan Hugg
ca36beb3fa
Merge pull request #675 from mstorsjo/silence-crt-unsafe-warnings
...
Silence MSVC warnings about "unsafe" standard C functions in console apps
2014-04-12 10:14:37 -07:00
Licai Guo
f27b22f07c
Merge pull request #676 from sijchen/fme_merge54
...
[Encoder ME] add memory allocation for feature search
2014-04-11 22:45:47 +08:00
sijchen
64ef420e67
add memory allocation for feature search
2014-04-11 17:11:46 +08:00
Licai Guo
32fc4bea79
Merge pull request #674 from ruil2/enc_ltr
...
add the number of LTR setting in configure file
2014-04-11 17:10:40 +08:00
ruil2
2eaa036ebe
Merge pull request #672 from mstorsjo/msvc-proj-file-crt-type
...
Update the MSVC project files to use the statically linked C runtime library
2014-04-11 16:28:29 +08:00
Martin Storsjö
ed62d01609
Use _CRT_SECURE_NO_WARNINGS to avoid warnings in the encoder version of read_config.cpp as well
...
This is clearer and requires less code than using the pragmas for
disabling warnings.
2014-04-11 11:27:44 +03:00
Martin Storsjö
efdb58dae5
Silence MSVC warnings about "unsafe" standard C functions in console apps
...
Within the libraries themselves, we use other wrapper functions to
make sure the functions are used safely, but this wrapper layer isn't
available outside of the library in the console apps. The usage of these
functions is safe here, so silence the warnings.
This gets rid of all warnings when building with MSVC in 32 bit mode,
making it much easier to spot new warnings.
2014-04-11 11:27:44 +03:00
ruil2
7547609336
Merge pull request #667 from mstorsjo/remove-unused-variable
...
Remove an unused variable
2014-04-11 16:25:06 +08:00
ruil2
4d50a2accb
Merge pull request #669 from mstorsjo/remove-unnecessary-ifdef
...
Remove some unnecessary ifdefs
2014-04-11 16:24:55 +08:00
ruil2
13cdd4b539
add the number of LTR setting in configure file
2014-04-11 16:11:18 +08:00
Martin Storsjö
5c1666f430
Update the MSVC project files to use the statically linked C runtime library
...
This makes them match the behaviour of the make based build system.
2014-04-11 10:35:57 +03:00
Martin Storsjö
99c6131004
Remove some unnecessary ifdefs
...
These headers are standard headers that are available in MSVC as well.
There's nothing ifdeffed in the implementation of this file that would
explain why these headers only are required in these configurations.
2014-04-11 10:29:30 +03:00
ruil2
8539071583
modify the initialization of the number of LTR
2014-04-11 15:07:32 +08:00
Martin Storsjö
ec94faf13a
Remove an unused variable
2014-04-11 09:54:11 +03:00
volvet
42bd7227aa
fix ios build
2014-04-10 22:10:46 -07:00
Licai Guo
471816d3fc
Merge pull request #664 from huili2/modify_api_comments
...
modify decoder API to up-to-date
2014-04-11 12:56:31 +08:00
huili2
f5d1683861
modify decoder API to up-to-date
2014-04-10 19:44:28 -07:00
ruil2
c8eaea2f27
add memory allocation for screen content
2014-04-10 17:07:26 +08:00
sijchen
c96fe5fec4
Merge pull request #652 from volvet/refine_enc_wrap
...
remove m_pScrPicList, which is not needed anymore
2014-04-09 14:00:30 +08:00
sijchen
a758282ee7
Merge pull request #635 from lyao2/new_scroll_dev
...
add scroll detection files
2014-04-09 13:56:24 +08:00
Licai Guo
4b5a455e16
Merge pull request #654 from volvet/refine_enc_frame
...
refine method EncodeFrame
2014-04-09 09:16:14 +08:00
Licai Guo
4ba216b000
Merge pull request #655 from huili2/EC_interface
...
add interface for error concealment, to be continued
2014-04-09 09:12:22 +08:00
volvet
52af29ec77
refine method EncodeFrame
2014-04-08 17:21:56 -07:00
volvet
ecb7fbc6a0
fix colorsapce check
2014-04-08 16:50:44 -07:00
volvet
691c2bc1e7
remove m_pScrPicList, which is not needed anymore
2014-04-08 15:43:44 -07:00
Martin Storsjö
6e996d77b1
Remove the unused WELSVP_EXPORTS define
2014-04-08 22:40:01 +03:00
volvet
8690adf870
Merge pull request #647 from mstorsjo/remove-dynamic-vp
...
Remove code for loading the VP library dynamically
2014-04-08 10:40:55 -07:00
volvet
605ae416a0
Merge pull request #649 from mstorsjo/unify-msvc-project-settings
...
Switch to use the DLL version of the C runtime in WelsVP
2014-04-08 10:39:10 -07:00
Martin Storsjö
3dcd458ffd
Remove trailing whitespace in the source files
2014-04-08 18:13:23 +03:00
Licai Guo
8d31783c17
Merge pull request #644 from mstorsjo/remove-dos-newlines
...
Remove stray dos newlines
2014-04-08 21:54:20 +08:00
Martin Storsjö
ab3f1ca969
Switch to use the DLL version of the C runtime in WelsVP
...
This matches what is set in the WelsEncCore project.
2014-04-08 15:18:40 +03:00
Martin Storsjö
a57094c152
Remove the now unused intermediate code for loading the VP library dynamically
2014-04-08 15:09:21 +03:00
Martin Storsjö
1d167fe7d6
Remove a TODO that is no longer relevant
...
The function signatures are equal nowadays.
2014-04-08 15:09:21 +03:00
Martin Storsjö
1342da9bc4
Remove everything related to NO_DYNAMIC_VP
...
This mode is the default and used everywhere now.
2014-04-08 15:09:21 +03:00
Martin Storsjö
56abd3c15b
Link the encoder core directly to the VP library
...
This avoids using the codepaths for dynamically loading the
DLL, letting the linker resolve it as any other function.
2014-04-08 15:09:21 +03:00
Martin Storsjö
7aff66d40c
Remove the literal CRLF (
) within the nasm commands in msvc project files
2014-04-08 11:43:08 +03:00
Martin Storsjö
5d2ca9d7a8
Remove the explicit -O3 parameter to nasm in visual studio project files
...
According to "nasm -h", there is no -O3 parameter at all, and
the highest optimization level (-Ox) is already the default.
The corresponding parameter never was set when building with the
make build system.
2014-04-08 11:42:14 +03:00
ruil2
c4ca66d7c2
Merge pull request #640 from mstorsjo/update-msvc-proj
...
Add the new x86 assembly source files to the msvc project files
2014-04-08 16:41:31 +08:00
Martin Storsjö
d6cb592e83
Remove stray dos newlines
...
These were added in 4ced8a9e
and 9645f380
.
2014-04-08 11:17:57 +03:00
Martin Storsjö
e329ff4cb0
Add the new x86 assembly source files to the msvc project files
2014-04-08 10:17:48 +03:00
lyao2
21c74fe8ba
correct formatted file headers
2014-04-08 14:49:47 +08:00
ruil2
37f20f1c5e
update pre-processing workflow for screen content
2014-04-08 14:42:30 +08:00
huili2
79c0cec248
add interface for error concealment, to be continued
2014-04-07 22:53:39 -07:00
volvet
d98ba6137c
remove RC enable flag, use RC Mode to indicate RC on or off
2014-04-07 22:08:28 -07:00
Licai Guo
90fc914b6c
Modify comment
2014-04-08 11:31:12 +08:00
Licai Guo
5c60e8f868
Add ASM related functions for ME cross search
...
Add asm level functions
Add asm code for ME
Modify format
Add unit test for asm code.
Modify function name and format.
Remove unuse comment
Modify targets file
Add Macro protect for SSE41 funtion test
Modify according to review request.
2014-04-08 11:24:45 +08:00
volvet
b0ed3cb924
remove RawData2SrcPic, which is never called
2014-04-07 11:36:10 -07:00
volvet
bed051b631
rename Initialize2 to IntializeInternal
2014-04-07 11:30:12 -07:00
lyao2
7cbc76d32c
Squashed commit of the following:
...
commit a83d75aed2fae9e0ae877642fbbd8e82b6bacca6
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Fri Apr 4 15:40:54 2014 +0800
check makefile
commit 097bd858ef46b6febda098253cc0d48e2eb0c95c
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date: Fri Apr 4 09:43:24 2014 +0800
add mask flag
commit 34e86276000bac158abdfb839b1a5aaebac1e235
add scroll detection files
2014-04-04 16:03:58 +08:00
ruil2
9993198a3c
Merge pull request #633 from volvet/rm_redundant_protect
...
remove redundant protect code
2014-04-04 09:50:57 +08:00
ruil2
646d943200
Merge pull request #621 from sijchen/fme_merge42
...
[Encoder ME] add Preprocess functions for FME
2014-04-04 09:48:44 +08:00
volvet
02b08d278a
Merge pull request #623 from ruil2/enc_update
...
add the condition branch for screen content
Approved by Sijia Chen @ RBComments
2014-04-03 18:15:58 -07:00
sijchen
4469519baf
Merge pull request #632 from volvet/rm_cpu_core_bind
...
remove thread cpu core bind
2014-04-04 09:04:47 +08:00
sijchen
b7541449d3
Merge pull request #626 from volvet/fix_scd_screen
...
fix static block assign in scd screen
2014-04-04 08:58:50 +08:00
volvet
e2e106a4a4
remove redundant protect code
2014-04-03 17:14:56 -07:00
volvet
9fd7fbccd8
remove thread cpu core bind
2014-04-03 16:19:53 -07:00
volvet
6debb3460c
fix pic partition bug
2014-04-03 13:38:12 -07:00
volvet
33d2052856
fix static block assign in scd screen
2014-04-02 17:39:06 -07:00
volvet
d24882c23e
fix mis spell
2014-04-02 17:28:53 -07:00
ruil2
27da2b21bf
add the condition branch for screen content
2014-04-02 17:23:46 +08:00
ruil2
81d588e38e
add LTR mark
2014-04-02 15:10:04 +08:00
sijchen
29f300dde9
[Encoder ME] add Preprocess functions for FME
2014-04-02 14:34:23 +08:00
JuannyWang
df6813063f
[Encoder UT] add expGolom UT and encoder trace modification
2014-04-02 13:57:09 +08:00
Licai Guo
c12edefcd3
Merge pull request #616 from sijchen/fme_merge81
...
[Encoder ME] add function pointer for search methods
2014-04-02 13:07:21 +08:00
Licai Guo
ea5b6b49b4
Merge pull request #619 from ruil2/vp_dpb
...
add reference frame managment for screen content [still in progress]
2014-04-02 13:07:04 +08:00
ruil2
9645f38021
add reference frame managment for screen content [still in progress]
2014-04-02 10:45:35 +08:00
sijchen
f695227b00
add funtion pointer for search methods
2014-04-02 10:12:39 +08:00
volvet
71ab928ca3
fix compile warnings
2014-04-01 11:37:59 -07:00
Ethan Hugg
c644879cf9
Merge pull request #598 from varunbpatil/compiler_warnings
...
Remove compiler warnings
2014-04-01 10:57:19 -07:00
volvet
2d51949368
Merge pull request #610 from mstorsjo/wp8-threads
...
Make threading work on windows phone
2014-04-01 10:52:54 -07:00
Martin Storsjö
cc86533a39
Remove the now unused MT_ENABLE define from project files
2014-04-01 13:21:19 +03:00
Martin Storsjö
b35c21201b
Use the Windows Runtime ThreadPool API for creating threads on Windows Phone
...
Windows Phone lacks the old CreateThread/beginthreadex APIs for
creating threads. (Technically, the functions still do exist,
but they aren't officially supported and aren't visible in the
headers when targeting Windows Phone.)
Building code that uses the Windows Runtime language extensions
requires building with the -ZW option.
2014-04-01 11:18:49 +03:00
Martin Storsjö
f293d26a62
Use more modern versions of functions that don't exist on Windows Phone
2014-04-01 11:18:48 +03:00
Martin Storsjö
4bcb03c5a0
Remove the unused function WelsSleep
...
Windows Phone 8 doesn't have Sleep(), but there's no need to
use the function at all.
2014-04-01 11:18:48 +03:00
sijchen
a917444b2e
[Encoder ME] add memory allocation basics for FME
2014-04-01 15:52:13 +08:00
ruil2
e7603d8fbb
use function pointer in reference frame management
2014-04-01 14:52:55 +08:00
Licai Guo
9a81260b24
Merge pull request #605 from volvet/clean_mt_macro
...
clean multi-threading macro
2014-04-01 14:50:31 +08:00
ganyang
eb6f6ecf40
Add EncoderMB UT test file, and reformat UT files.
2014-04-01 13:55:22 +08:00
Licai Guo
fa9735b331
Merge pull request #602 from sijchen/fme_merge22
...
[Encoder ME] Add alternative search methods
2014-04-01 10:23:24 +08:00
ruil2
6bb23f5df4
use WelsLog instead of fprintf to have a unified trace output
2014-04-01 09:24:57 +08:00
volvet
9f50e0c91e
clean multi-threading macro
2014-03-31 18:24:10 -07:00
volvet
cad753d871
Merge pull request #603 from ruil2/vp_update2
...
add scene change for screen content
Approved by Sijia.
2014-03-31 13:59:29 -07:00
sijchen
0df6b1357b
Merge pull request #600 from ruil2/vp_console
...
add usagetype setting for screen content
2014-03-31 17:33:49 +08:00
ruil2
aed919a65a
add scene change for screen content
2014-03-31 17:14:00 +08:00
ruil2
03e0e443e2
fix typo
2014-03-31 16:12:11 +08:00
sijchen
69983d6df4
Add alternative search methods
2014-03-31 16:11:31 +08:00
ruil2
666e5d1290
Merge pull request #601 from volvet/fix-ios-build
...
fix ios encDemo build
2014-03-31 14:14:14 +08:00
volvet
9714e97fbe
fix ios encDemo build
2014-03-30 23:09:01 -07:00
unknown
a128d7f790
add usagetype setting for screen content
2014-03-31 14:00:25 +08:00
Licai Guo
9ac1cd0a17
add layer sps/pps to decoder context
2014-03-30 18:50:34 -07:00
Licai Guo
881298ed31
Merge pull request #595 from sijchen/fme_merge12
...
[Encoder ME] Add feature search basic functions
2014-03-31 08:59:09 +08:00
Varun B Patil
6663743f4c
Remove compiler warnings
2014-03-30 15:13:29 +05:30
ruil2
4751fe7690
add scene change detection in workflow for screen content
2014-03-28 11:30:51 +08:00
sijchen
12616019b6
Add feature search basic functions
2014-03-28 11:21:30 +08:00
ruil2
63cef0f0f4
add preprocessing parameter for screen content
2014-03-28 10:06:42 +08:00
sijchen
a60af6a750
add function pointer
2014-03-28 09:09:21 +08:00
volvet
f7fba4b122
Merge pull request #580 from ylatuya/api
...
Prefix API with the Wels namespace
2014-03-26 15:45:02 -07:00
sijchen
59f243b487
Adjust function interface and add void function for further coworking, adjust test accordingly
2014-03-26 16:52:53 +08:00
sijchen
bbe016543f
Add basic cross search functions and its unit tests
2014-03-26 16:23:44 +08:00
unknown
94eb2e6860
modify the output directory of welsvp in VC project.
2014-03-26 13:40:47 +08:00
ruil2
3a4346a898
create complexity analysis for screen content
2014-03-26 13:06:56 +08:00
ruil2
4ced8a9edd
add complexity calculation for screen content
2014-03-26 10:09:06 +08:00
Andoni Morales Alastruey
328740f294
Prefix API with the Wels namespace
2014-03-25 17:40:01 +01:00
Martin Storsjö
3d076fe1f8
Readd a missed prototype for the WelsProcessingSampleSad8x8_neon function
...
The common WelsSampleSad8x8_neon function has different alignment
requirements than WelsProcessingSampleSad8x8_neon - until it has
been sorted out that the common version can be used in the processing
lib, the separate version for processing is used.
This fixes building with neon optimizations enabled.
2014-03-25 11:05:39 +02:00
Martin Storsjö
a6713c3351
Remove accidentally added dos newlines
2014-03-25 10:56:21 +02:00
Licai Guo
ba01e12858
Merge pull request #576 from mstorsjo/link-flag-cleanup
...
Remove unused *_LIBS make variables
2014-03-25 16:46:32 +08:00
Martin Storsjö
d024dc5cc0
Remove unused *_LIBS make variables
2014-03-25 10:13:29 +02:00
ruil2
6b3f89d582
move some common functions to common.cpp and add some functions in common
2014-03-25 15:35:55 +08:00
sijchen
fcae0c7c48
Change the output of diamond search from qpel to interpel
2014-03-25 11:03:37 +08:00
unknown
2af7024af9
add complexity calculation parameter for screen content
2014-03-25 09:38:07 +08:00
Licai Guo
747e88a985
Merge pull request #566 from volvet/develop_b
...
use overwrite for scene change detector
2014-03-25 06:44:58 +08:00
volvet
c45b46a786
fix android build for mini-sdk virsion issue
2014-03-25 03:04:31 +08:00
Andoni Morales Alastruey
6ed23591a8
Fix Android build setting minSdkVersion
...
Beside changing line endings in (see: 973a16) it's also
required to set a minimum Sdk version in the manifest
2014-03-24 17:20:41 +01:00
Ethan Hugg
7b0beeeda7
Merge pull request #567 from ylatuya/android
...
Fix line endings in manifest files
2014-03-24 08:49:05 -07:00
Andoni Morales Alastruey
973a167e8e
Fix line endings in manifest files
...
Fixes build error in Android getting TOOLCHAINPREFIX
in build/platform-android.mk:
$NDKROOT/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''. Stop.
2014-03-24 16:00:30 +01:00
volvet
7642b5f5fc
use overwrite for scene change detector
2014-03-24 18:25:42 +08:00
sijchen
99f3bd69c4
Add checking directional MV in ME initial point
2014-03-24 14:16:16 +08:00
Martin Storsjö
b6883b4ef8
Make the iRCMode field use the RC_MODES type instead of plain int
...
This makes it even clearer for users about how to set this field.
2014-03-21 09:19:30 +02:00
Martin Storsjö
2bc8e61fcf
Move the RC_MODES enum to the public header
...
This allows users to know what values to set for the iRCMode
parameter.
2014-03-21 09:18:17 +02:00
Licai Guo
65e8560dc7
Merge pull request #560 from ruil2/encoder_nal
...
add uiMaxNalSize to support the maximum nal size setting
2014-03-21 12:52:32 +08:00
Licai Guo
7a29b1f55a
Merge pull request #549 from lyao2/rc_tune
...
RC LOWBR mode merge
2014-03-21 09:15:18 +08:00
ruil2
fd2c950778
add uiMaxNalSize to support the maximum nal size setting
2014-03-21 08:59:38 +08:00
Licai Guo
58966cb2e8
Merge pull request #558 from ruil2/encoder_level
...
add leve parameter, update profile and usagetype type
2014-03-20 17:16:40 +08:00
Licai Guo
1aa759487f
Merge pull request #557 from sijchen/me_refactor4444
...
[Encoder Refactor] Expand MVD table
2014-03-20 17:10:40 +08:00
ruil2
e6c072b364
add leve parameter, update profile and usagetype type
2014-03-20 17:02:32 +08:00
sijchen
0ea480323e
expand MVD table and rename some macros
2014-03-20 16:56:43 +08:00
Licai Guo
e0ef0cabdd
Merge pull request #555 from huili2/remove_unused_func
...
rephrase blockzero function complexity and remove useless functions
2014-03-20 15:57:50 +08:00
Licai Guo
9d73d273ff
Merge pull request #554 from ruil2/encoder_update
...
add maxbitrate parameter
2014-03-20 14:57:54 +08:00
Licai Guo
bef50d9ae1
Merge pull request #550 from sijchen/funcptr_refactor
...
[Encoder Refactor] Simplify the setting of function pointers
2014-03-20 14:56:34 +08:00
wayne liu
06c534d9f2
rephrase blockzero function complexity and remove useless functions
2014-03-19 23:43:55 -07:00
ruil2
258185f8c2
add maxbitrate parameter
2014-03-20 14:30:20 +08:00
sijchen
e0aed6e4e7
add static
2014-03-20 14:19:55 +08:00
lyao2
071254748f
avoid QP sudden fluctates
2014-03-20 13:13:32 +08:00
Licai Guo
cb46a3cf37
Merge pull request #547 from volvet/add-build-for-scene-change-detect-for-desktop
...
add scene change detector for screen in builder
2014-03-20 10:57:38 +08:00
sijchen
c00bec2aa6
refactor the setting of function pointer for simplification
2014-03-20 09:51:57 +08:00
lyao2
4bc881c3ae
RC LOWBR mode merge
2014-03-20 09:26:16 +08:00
volvet
157b876775
add set method for scene change detection
2014-03-20 09:12:29 +08:00
Ethan Hugg
f0c2cdd78c
Merge pull request #529 from mstorsjo/remove-unused-error-code
...
Remove an unused error code
2014-03-19 09:21:41 -07:00
Ethan Hugg
e8540af9eb
Merge pull request #541 from licaiguo/disable-warnings
...
disable most warnings produced by -Wall
2014-03-19 09:17:34 -07:00
volvet
048c23431c
add screen detector in builder
2014-03-19 16:55:21 +08:00
ruil2
028d39077f
Merge pull request #545 from mstorsjo/remove-extra-parentheses
...
Remove unnecessary/superfluous parentheses in slice_multi_threading.cpp
2014-03-19 16:39:01 +08:00
Licai Guo
53553f351e
Merge pull request #542 from volvet/add-scene-change-detector-screen
...
Add scene change detector screen
2014-03-19 16:28:36 +08:00
Licai Guo
a688f5278a
fix most of the warnings
2014-03-19 01:16:08 -07:00
Martin Storsjö
d75f677034
Remove unnecessary/superfluous parentheses in slice_multi_threading.cpp
2014-03-19 10:15:29 +02:00
ruil2
e74f01ad47
use the same frame type EVideoFrameType in encoder internal
2014-03-19 16:11:06 +08:00
volvet
fc4cd8b597
Merge pull request #543 from zhilwang/reorgcommon-xcode
...
Modify xcode project to fit common reorg.
2014-03-19 15:36:21 +08:00
Licai Guo
3febdc1d2e
Modify xcode project to fit common reorg.
2014-03-19 15:08:14 +08:00
volvet
0f35049bb4
remove blank space
2014-03-19 15:00:54 +08:00
volvet
84903f145e
add screen change detector for desktop share
2014-03-19 14:56:45 +08:00
ruil2
3238c913cc
Merge pull request #535 from volvet/add-scene-change-detector
...
Add scene change detector
2014-03-19 14:52:08 +08:00
Licai Guo
e39de8d404
reoranize common to inc/src/x86/arm
2014-03-18 19:41:32 -07:00
volvet
7313ecdbd0
Merge pull request #538 from mstorsjo/use-apple-builtin-define
...
Use __APPLE__ instead of APPLE_IOS for apple/arm specific features
2014-03-19 09:45:56 +08:00
Licai Guo
4bbe61a783
Merge pull request #537 from mstorsjo/rename-x86-asm
...
Rename the asm subdirectories to x86
2014-03-19 08:51:39 +08:00
Licai Guo
d897d362ab
Merge pull request #532 from huili2/WELS_CLIP1
...
Modify MACRO WELS_CLIP1 as inline functions
2014-03-19 08:50:04 +08:00
Martin Storsjö
9586c59b9e
Use __APPLE__ instead of APPLE_IOS in the arm assembly sources
2014-03-18 23:15:49 +02:00
Martin Storsjö
73ed237d73
Use __APPLE__ instead of APPLE_IOS for using the apple cpu feature detection
2014-03-18 23:15:49 +02:00
Martin Storsjö
ed9c03408f
Rename the asm subdirectories to x86
...
This is consistent with having the arm assembly in a subdirectory
called arm.
2014-03-18 23:09:45 +02:00
Ethan Hugg
197423f271
Merge pull request #520 from ylatuya/master
...
Fix compiler warnings and remove dead code
2014-03-18 13:28:02 -07:00
Andoni Morales Alastruey
8be8fe1775
Fix compiler warning -Werror=maybe-uninitialized
2014-03-18 19:15:25 +01:00
Andoni Morales Alastruey
e9e332bf4c
Fix -Werror=sign-compare compiler warnings
2014-03-18 19:15:25 +01:00
Andoni Morales Alastruey
ae60f1bee9
Fix compiler warnings and remove dead code
...
Fix several -Werror=unused-variable and -Werror=unused-but-set-variable
and removed dead code found with this warnings
2014-03-18 19:15:25 +01:00
Andoni Morales Alastruey
703c69de81
codec: add a new macro for unused functions
...
Variables used only for tracing logs can trigger
-Werror=unusef-variable when tracing is disabled.
This macro helps to silent gcc in those casesWIP
2014-03-18 19:15:25 +01:00
Martin Storsjö
e1b5e038d2
Use .obj as suffix for object files on MSVC
...
This avoids warnings when linking about "unrecognized source file
type, object file assumed".
2014-03-18 19:41:06 +02:00
volvet
af522899bd
remove black space at lineend
2014-03-18 18:00:18 +08:00
volvet
d7b7419040
add scene change detector for further extension
2014-03-18 17:54:58 +08:00
ruil2
9cf9238cfc
fix bug that there is no output in encoder console
2014-03-18 17:38:48 +08:00
huili2
3b270aa901
remove unncessary cast
2014-03-18 02:15:57 -07:00
huili2
090e8cc1ed
modify WELS_CLIP1 to be inline functions
2014-03-18 01:54:25 -07:00
Martin Storsjö
72da7f8711
Remove an unused error code
...
I don't see this error code being useful - working slowly hardly
would be a reason for the library to return and fail to do what
it was asked to do, so normal functions would never actually return
this code.
2014-03-18 10:11:27 +02:00
volvet
b21411ad7c
Merge pull request #511 from mstorsjo/remove-unused-define
...
Remove the unused FORMAT_COFF define
2014-03-18 16:11:22 +08:00
Martin Storsjö
4c829a12e2
Fix the comment in welsEncoderExt.h about the EncodeFrame return value
...
This was changed in 36d56b6638
in the public api, but the
internal implementation header was missed and left inconsistent.
2014-03-18 10:07:23 +02:00
volvet
fb1958ad13
Merge pull request #519 from mstorsjo/push-xmm-registers
...
Backup/restore the xmm6-xmm15 SSE registers within asm functions on win64
Reviewed by zhiliang
2014-03-18 15:04:54 +08:00
Licai Guo
3956a32d41
Merge pull request #524 from sijchen/me_refactor33
...
Expand structure of MD and ME
2014-03-18 12:51:05 +08:00
Licai Guo
37fa5f554e
Merge pull request #513 from ruil2/encoder_interface
...
Encoder interface
2014-03-18 09:51:32 +08:00
sijchen
7f0c7daad9
expand structure of MD and ME
2014-03-18 09:47:05 +08:00
volvet
b5353c8455
Merge pull request #516 from mstorsjo/fix-yasm-64bit
...
Fix building with yasm in 64 bit mode
2014-03-18 09:29:42 +08:00
volvet
e75cd2298b
Merge pull request #517 from mstorsjo/simplify-x86-asm-func-macro
...
Fold ALIGN 16 and the function label into WELS_EXTERN
2014-03-18 09:29:17 +08:00
Martin Storsjö
29a0c77acf
Don't clobber q4-q7 in WelsIntra16x16Combined3Satd_neon
...
This is similar to what is done in other neon functions. This
function was missed since it isn't covered by the current
set of unittests.
2014-03-17 20:04:53 +02:00
Martin Storsjö
4633626d69
Remove XMMREG_PROTECT
...
This isn't necessary any longer, when all the assembly routines
take care of restoring registers as necessary.
2014-03-17 13:47:01 +02:00
Martin Storsjö
3cf52554f7
Backup/restore the xmm6-xmm15 SSE registers within asm functions on win64
...
According to the Win64 ABI, these registers need to be preserved,
and compilers are allowed to rely on their content to stay
available - not only for float usage but for any usage, anywhere,
in the calling C++ code.
This adds a macro which pushes the clobbered registers onto the
stack if targeting win64 (and a matching one which restores them).
The parameter to the macro is the number of xmm registers used
(e.g. if using xmm0 - xmm7, the parameter is 8), or in other
words, the number of the highest xmm register used plus one.
This is similar to how the same issue is handled for the NEON
registers q4-q7 with the vpush instruction, except that they needed
to be preserved on all platforms, not only on one particular platform.
This allows removing the XMMREG_PROTECT_* hacks, which can
easily fail if the compiler chooses to use the callee saved
xmm registers in an unexpected spot.
2014-03-17 13:44:33 +02:00
Martin Storsjö
9293f2f947
Remove commented out rodata sections and tables in assembly files
2014-03-17 13:42:18 +02:00
Martin Storsjö
eec968234d
Fold ALIGN 16 and the function label into WELS_EXTERN
...
This simplifies the structure for all x86 assembly functions,
reducing the amount of duplicated code structure.
2014-03-17 13:35:00 +02:00
Martin Storsjö
04f5bcd68d
Use movsxd in SIGN_EXTENSION
...
This is what nasm ended up assembling movsx with 32 bit input to
anyway.
Keep using plain movsx for 16 bit input.
This fixes building with yasm in 64 bit mode.
2014-03-17 13:26:46 +02:00
Martin Storsjö
f96918283f
Remove commented out code for old, 32-bit only x86 assembly function prologues/epilogues
2014-03-17 11:20:11 +02:00
Licai Guo
fc4e0cacec
Merge pull request #483 from volvet/develop_b
...
use large/medium/similar to define scene change result
2014-03-17 16:32:31 +08:00
Licai Guo
b5a4d706b9
Merge pull request #496 from mstorsjo/use-sign-extend-macro
...
Use the SIGN_EXTENSION macro where possible
2014-03-17 16:31:03 +08:00
Licai Guo
1c0ba88b0e
Merge pull request #501 from mstorsjo/neon-register-backup
...
Avoid clobbering the registers q4-q7 in DeblockingBSCalcEnc_neon
2014-03-17 14:05:23 +08:00
ruil2
895c0ff635
fix typo
2014-03-17 12:09:52 +08:00
ruil2
36abe317a5
modify unit test for return type modification
2014-03-17 11:56:19 +08:00
ruil2
36d56b6638
modify EncoderFrame return type.
...
commit b99a307ab94183c32a293ad5fda8b0e3323546a0
Author: ruil2 <ruil2@cisco.com>
Date: Wed Mar 12 13:34:27 2014 +0800
fix typo
2014-03-17 10:46:38 +08:00
Licai Guo
2c796337ba
Merge pull request #510 from huili2/remove_basemb
...
remove BASE_MB related code
2014-03-17 08:46:25 +08:00
Martin Storsjö
fc260b39e0
Remove the unused FORMAT_COFF define
...
Nothing in the project currently sets FORMAT_COFF - the other generic
branch works just fine on windows.
2014-03-16 17:54:55 +02:00
Martin Storsjö
eb238e6549
Use the SIGN_EXTENSION macro where possible
...
This shortens the x86 assembly by 134 lines in total.
2014-03-16 17:54:24 +02:00
Martin Storsjö
91e5838621
Indent all WELS_ASM_FUNC_BEGIN properly
...
By having all of them start at the start of the line, the code
is more consistent and readable.
2014-03-16 12:01:54 +02:00
volvet
e654bf6b7f
Merge pull request #490 from ruil2/encoder_slice_auto
...
fix dump file issue
2014-03-16 15:41:26 +08:00
volvet
1c3e87dd3f
Merge pull request #505 from mstorsjo/x86-asm-constants
...
Format x86 assembly constants in a yasm compatible manner
2014-03-16 15:37:16 +08:00
volvet
ac990fdc38
Merge pull request #507 from mstorsjo/more-x86-asm-args
...
Add defines for argument 11 and 12 in asm_inc
2014-03-16 10:21:35 +08:00
volvet
e606bae0e9
Merge pull request #504 from mstorsjo/fix-function-name-typo
...
Fix a typo, Smple -> Sample
2014-03-16 10:18:03 +08:00
Martin Storsjö
d45e624cd4
Simplify code by using the arg11 and arg12 defines
2014-03-15 14:42:27 +02:00
Martin Storsjö
c82f548e6f
Add defines of arg11 and arg12 in asm_inc.asm
2014-03-15 14:42:07 +02:00
Martin Storsjö
ce8da27287
Format x86 assembly constants in a yasm compatible manner
...
This is similar to what was done in a6463be0cc
- yasm requires
these constants to have a zero after $.
2014-03-15 14:38:28 +02:00
Licai Guo
6f2b98975e
Merge pull request #502 from mstorsjo/fix-macro-indentation
...
Fix the indentation of some nasm macros
2014-03-15 07:16:37 +08:00
Martin Storsjö
f4fdb15397
Fix a typo, Smple -> Sample
2014-03-14 23:30:09 +02:00
Martin Storsjö
4d120781c1
Fix the indentation of some nasm macros
2014-03-14 22:26:33 +02:00
Martin Storsjö
cde30c155b
Avoid clobbering the registers q4-q7 in DeblockingBSCalcEnc_neon
...
Remap q5 to q8, q6 to q9, q7 to q10 and q8 to q11, and push
q4 to the stack.
This was missed previously since the codec unittest doesn't
test encoding with loop filter enabled yet.
2014-03-14 22:22:28 +02:00
Martin Storsjö
b3d04d88a0
Check for the right function pointer
...
This code checked whether one function pointer was non-null,
but the went on to call a different function pointer. Check
for the one that actually was called.
2014-03-14 22:20:40 +02:00
volvet
6da9a9e5c8
Merge pull request #489 from sijchen/me_refactor22
...
refactor ME for easier adding other search methods
2014-03-14 17:53:10 +08:00
huili2
b1f596fd69
remove BASE_MB related code
2014-03-14 02:03:41 -07:00
Martin Storsjö
9199798f22
Fix a typo in a macro name, EXTENTION -> EXTENSION
2014-03-14 10:13:18 +02:00
Martin Storsjö
2bce50283f
Fix a mismatched ifdef comment
...
This is an ifdef block for HAVE_NEON.
2014-03-14 10:01:18 +02:00
unknown
94f8c351ca
fix dump file issue
2014-03-14 15:13:24 +08:00
sijchen
6c3d83a8ac
refactor ME for easier adding other search methods
2014-03-14 15:04:35 +08:00
Licai Guo
f589c580eb
clean redundant checks in decoder
2014-03-13 23:56:54 -07:00
Licai Guo
8492aac917
Merge pull request #486 from huili2/nzc_bug_fix
...
nzc bug fix and clear
2014-03-14 13:11:45 +08:00
huili2
734e60aeeb
add according to review opinion
2014-03-13 20:21:10 -07:00
Licai Guo
5bffb627d6
nzc bug fix and clear
2014-03-13 19:31:28 -07:00
volvet
6714b8ae99
Merge pull request #463 from mstorsjo/dont-clobber-neon-registers
...
Avoid clobbering the neon registers q4-q7
Review and verified by zhilwang
2014-03-14 10:28:55 +08:00
volvet
fc5c48830a
fix the condition of scene change flag and comments
2014-03-14 09:53:24 +08:00
volvet
c8761c08ae
use large/medium/similar to define scene change result
2014-03-13 10:43:20 +08:00
volvet
8962b7c98b
Merge pull request #482 from sijchen/me_refactor1
...
mv range setting refactor
2014-03-13 10:21:39 +08:00
sijchen
d809a7981b
mv range setting refactor
2014-03-13 10:18:01 +08:00
Licai Guo
3d6fdfee3d
Merge pull request #480 from volvet/fix-idr-interval-issue
...
fix idr interval issue
2014-03-12 19:23:51 +08:00
Martin Storsjö
efe32b7900
Make arm assembly labels always start from the beginning of the line
...
A few labels were misformatted.
2014-03-12 12:01:01 +02:00
volvet
8b907c18fd
fix idr interval issue
2014-03-12 17:38:25 +08:00
sijchen
cf37fa3ef4
Merge pull request #476 from ruil2/encoder_slice_auto
...
modify the parameter verification for SM_AUTO_SLICE mode, review at: https://rbcommons.com/s/OpenH264/r/184/
2014-03-12 16:41:57 +08:00
volvet
ce448a21d7
fix double free crash in encoder
2014-03-12 16:21:33 +08:00
volvet
4d74beb928
fix encode crash
2014-03-12 15:46:13 +08:00
ruil2
c7f2a0b7f6
3Author: ruil2 <ruil2@cisco.com>
...
modify the parameter verification for SM_AUTO_SLICE mode -- uiSliceNum
iis ignored
2014-03-12 10:44:13 +08:00
Ethan Hugg
cece1fe2cf
Merge pull request #473 from mstorsjo/arm-non-executable-stack
...
Mark the stack as non-executable in the arm assembly
2014-03-11 09:40:49 -07:00
Martin Storsjö
dbdf8fbe9d
Remove something that looks like a personal todo note from the Android makefiles
2014-03-11 14:27:14 +02:00
Martin Storsjö
52e8973869
Mark the stack as non-executable in the arm assembly
...
Otherwise the linker is forced to enable an executable stack for
executables that the code is linked into.
2014-03-11 14:24:16 +02:00
Licai Guo
b773ec60ab
Merge pull request #472 from mstorsjo/android-remove-mkdir-workaround
...
Remove a dubious/unnecessary workaround for an issue in a nonstandard toolchain
2014-03-11 17:30:00 +08:00
Martin Storsjö
966cc97496
Remove a dubious/unnecessary workaround for an issue in a nonstandard toolchain
...
There's no requirement to work with the Intel NDK. The NDK build
files don't even need to create any cpufeatures subdirectory since
all of the cpufeatures library is handled within the normal build
system. Finally, the encoder makefile tried to create a directory
for "welsdecdemo", not anything for "welsencdemo".
Thus, if this really was necessary, it would already have been noticed
that it missed an entry for "welsencdemo". Therefore, remove this
hack/workaround.
2014-03-11 10:09:17 +02:00
ruil2
7c8ce799c0
fix SM_FIXEDSLCNUM_SLICE bug, add SM_AUTO_SLICE mode
2014-03-11 10:23:46 +08:00
Martin Storsjö
c011890764
Push clobbered neon registers on the stack
...
According to the calling convention, the registers q4-q7 should be
preserved by functions. The caller (generated by the compiler) could
be using those registers anywhere for any intermediate data.
Functions that use more than 12 of the qX registers must push
the clobbered registers on the stack in order to be able to restore them
afterwards.
In functions that don't use all 16 registers, but clobber some of
the callee saved registers q4-q7, one or more of them are remapped
to reduce the number of registers that have to be saved/restored.
This incurs a very small (around 0.5%) slowdown in the decoder and
encoder.
2014-03-10 22:07:36 +02:00
Martin Storsjö
811c647c0e
Remap registers to avoid clobbering the neon registers q4-q7
...
According to the calling convention, the registers q4-q7 should be
preserved by functions. The caller (generated by the compiler) could
be using those registers anywhere for any intermediate data.
Functions that use 12 or less of the qX registers can avoid
violating the calling convention by simply using other registers instead
of the callee saved registers q4-q7.
This change only remaps the registers used within functions - therefore
this does not affect performance at all. E.g. in functions using
registers q0-q7, we now use q0-q3 and q8-q11 instead.
2014-03-10 22:07:25 +02:00
Ethan Hugg
3627875986
Merge pull request #456 from mstorsjo/use-common-threadlib
...
Make the processing lib use mutexes from WelsThreadLib from the common library
2014-03-10 09:45:51 -07:00
Licai Guo
731a1466e6
Merge pull request #469 from huili2/svc_sh_bug_fix
...
modify and correct SVC slice header parse
2014-03-10 22:09:44 +08:00
Licai Guo
091315f84c
modify and correct SVC slice header parse
2014-03-10 02:37:41 -07:00
ruil2
44a49b1fef
Merge pull request #458 from mstorsjo/android-threading
...
Don't try to set thread scope and scheduling policy on android
2014-03-10 17:26:00 +08:00
ruil2
a922155c9a
Merge pull request #466 from sijchen/add_memalign_test
...
Add memalign unit test
2014-03-10 17:25:41 +08:00
sijchen
385128e403
Merge pull request #465 from ruil2/encoder_trace
...
use global trace in encoder
reviewed at https://rbcommons.com/s/OpenH264/r/176/
2014-03-10 17:22:19 +08:00
sijchen
53a570556d
add memalign unit test
2014-03-10 16:28:05 +08:00
ruil2
cbc2b9c986
keep the unrelated changed line
2014-03-10 16:11:27 +08:00
ruil2
e99df3377d
Merge pull request #460 from mstorsjo/add-const
...
Mark pointers as const where possible in vaacalc
2014-03-10 15:35:57 +08:00
ruil2
02bafd9320
Merge pull request #445 from mstorsjo/use-thread-param
...
Use the iMultipleThreadIdc field from SEncParamExt
2014-03-10 15:28:04 +08:00
ruil2
86f37f047c
Merge pull request #452 from mstorsjo/use-slice-mode-enum
...
Use SliceModeEnum as data type for the slice mode fields
2014-03-10 15:27:04 +08:00
ruil2
2539d6e447
Merge pull request #462 from mstorsjo/fix-typos
...
Fix two typos in variable and macro names
2014-03-10 15:25:20 +08:00
ruil2
ba6b2a8d62
use global trace in encoder
2014-03-10 15:22:40 +08:00
Licai Guo
4cc059bf5b
Merge pull request #461 from mstorsjo/fix-asm-comments
...
Remove unnecessary/stray keywords in function signature comments in x86 assembly
2014-03-10 12:29:22 +08:00
Licai Guo
b2dafa5a92
fix WELS_READ_VERIFY
2014-03-09 18:12:53 -07:00
Martin Storsjö
cc7b81f3c3
Fix a typo in arm assembly, LORD -> LOAD
2014-03-09 19:19:38 +02:00
Martin Storsjö
e31ba7a775
Fix a typo, "heigth" -> "height"
2014-03-09 19:19:37 +02:00
Martin Storsjö
7c435ad295
Remove a stray inline keyword in a function signature comment in x86 assembly
...
Assembly functions written in external assembly files is obviously
not inlined.
2014-03-09 19:18:03 +02:00
Martin Storsjö
8d6b368a1c
Remove unnecessary stray __cdecl annotations in function signature comments in x86 assembly
2014-03-09 19:18:02 +02:00
Martin Storsjö
2a23a508e1
Mark pointers as const where possible in vaacalc
2014-03-09 18:52:17 +02:00
Martin Storsjö
1c6a910c11
Don't try to set thread scope and scheduling policy on android
...
These APIs aren't implemented on android.
2014-03-08 20:37:42 +02:00
Martin Storsjö
fd90d14ece
Enable threading when building for iOS using the project files
...
This was already enabled when building the library for iOS using
the makefiles.
2014-03-08 13:06:05 +02:00
Martin Storsjö
45c21931de
Add NO_DYNAMIC_VP when building the encoder lib for the iOS simulator
...
This was previously only added to builds for actual devices.
2014-03-08 13:05:45 +02:00
Martin Storsjö
c5390521ec
Make the processing lib use mutexes from WelsThreadLib from the common library
...
This requires always building the WelsMutex* functions,
even if MT_ENABLED isn't set.
2014-03-08 12:46:25 +02:00
Martin Storsjö
5df2e2a996
Use SliceModeEnum as data type for the slice mode fields
...
This makes the use of the field clearer and safer by allowing
the compiler check that users actually assign proper enum
values.
2014-03-08 00:23:58 +02:00
Martin Storsjö
ce7b00ea72
Get rid of an unnecessary cast by declaring the right pointer type
2014-03-08 00:17:30 +02:00
Ethan Hugg
09b45e3ef9
Merge pull request #440 from licaiguo/refine-pps-sps
...
Refine pps sps
2014-03-07 11:02:02 -08:00
Ethan Hugg
fb4f677f77
Merge pull request #446 from mstorsjo/remove-unnecessary-public-param
...
Move the iCountThreadsNum field to SWelsSvcCodingParam
2014-03-07 09:18:52 -08:00
Ethan Hugg
7632510209
Merge pull request #450 from mstorsjo/publish-slice-mode-enum
...
Move the slice mode enum to the public API
2014-03-07 09:17:03 -08:00
volvet
f62492716f
Merge pull request #449 from mstorsjo/avoid-opaque-pointer
...
Make ParamValidationExt use the actual type instead of a void pointer
2014-03-08 00:27:47 +08:00
Martin Storsjö
014f4d8250
Merge the slice mode comments with the enum
2014-03-07 14:53:29 +02:00
Martin Storsjö
5f1c207845
Move the slice mode enum to the public header
...
This simplifies setting the slice mode in the public API.
2014-03-07 14:53:29 +02:00
Martin Storsjö
495a4a392e
Make ParamValidationExt use the actual type instead of a void pointer
2014-03-07 14:51:34 +02:00
Martin Storsjö
555bf6340f
Remove a misleading cast
...
uiSliceSizeConstraint is not of the SliceMode type, but is a normal
int.
2014-03-07 14:49:33 +02:00
Martin Storsjö
656e4c5c35
Move the iCountThreadsNum field to SWelsSvcCodingParam
...
There is no point in the user setting this field, it's only used
as an internal field within the encoder.
2014-03-07 14:48:38 +02:00
Martin Storsjö
dbc324d5bb
Use the iMultipleThreadIdc field from SEncParamExt
2014-03-07 14:47:43 +02:00
volvet
355bbacc2d
Merge pull request #443 from mstorsjo/rerun-mktargets
...
Rerun mktargets.sh
2014-03-07 18:25:20 +08:00
volvet
3382e8f8c4
Merge pull request #441 from mstorsjo/remove-stray-macro-parameters
...
Remove unused/undeclared arm assembly macro parameters
2014-03-07 18:24:33 +08:00
Martin Storsjö
64b4556d13
Rerun mktargets.sh
...
This fixes inconsistent indentation of one line, caused by
manually editing one of the targets.mk files.
2014-03-07 11:30:19 +02:00
Martin Storsjö
5b8ee37162
Merge WelsThreadDestroy into WelsThreadJoin
...
Now calling WelsThreadJoin is enough to finish and clean up
the thread on all platforms.
This unifies the thread cleanup code between windows and unix.
Now all of the threading code should use the exact same codepaths
between windows and unix.
2014-03-07 10:51:28 +02:00
Martin Storsjö
b4aa9be7de
Use WelsThreadJoin on windows as well
...
This avoids using a separate event just for signalling that
a thread has finished running.
2014-03-07 10:51:28 +02:00
Martin Storsjö
474deacd7a
Remove the now unused thread cancellation support
...
This makes the thread library build on android - android does
not have pthread_cancel.
2014-03-07 10:51:14 +02:00
Martin Storsjö
baaa38737e
Use pExitEncodeEvent instead of thread cancellation on unix as well
...
This works now that we've got a suitably working implementation
of WelsMultipleEventsWaitSingleBlocking.
2014-03-07 10:49:39 +02:00
volvet
38a3fada24
Merge pull request #435 from mstorsjo/threadlib-wait-single-unix
...
Make WelsMultipleEventsWaitSingleBlocking usable on unix as well
2014-03-07 16:47:38 +08:00
Licai Guo
1b9aae8434
Merge pull request #439 from zhilwang/mc-arm-asm
...
mv mc_neon.S to common,add MC arm code to encoder
2014-03-07 16:36:48 +08:00
ruil2
b3c45946ff
modify typing format
2014-03-07 16:29:12 +08:00
Martin Storsjö
c87bb2b449
Remove unused/undeclared arm assembly macro parameters
...
The SAD_VAR_16_END macro only takes 3 parameters, never 4,
and SAD_SSD_16_END never is called with more than 3 parameters
either.
2014-03-07 10:26:54 +02:00
Licai Guo
e5f36822a9
Update targets.mk files
2014-03-07 16:22:59 +08:00
Licai Guo
d986c27b9d
remove mc_neon.S from encoder
2014-03-07 16:11:36 +08:00
ruil2
f0c6c2b318
Merge branch 'master' of https://github.com/cisco/openh264 into encoder_update
2014-03-07 15:59:23 +08:00
Licai Guo
8ad9e0b60d
use temp buffer to store new arrived PPS/SPS
2014-03-06 22:05:12 -08:00
Licai Guo
8a3518f7be
set bAuReadyFlag to true when we meet a PPS
2014-03-06 21:50:31 -08:00
Licai Guo
71467f948a
mv mc_neon.S to common,add MC arm code to encoder
2014-03-07 12:18:58 +08:00
Licai Guo
a4cecd8004
Merge pull request #426 from volvet/simplify-layer-process
...
simplify-layer-process
2014-03-07 10:58:28 +08:00
volvet
14f5518e6a
Merge pull request #437 from mstorsjo/fix-arm-encoder-android
...
Fix building arm encoder assembly for android
2014-03-07 10:41:34 +08:00
ruil2
594fc4fe7b
dump file refactor
2014-03-07 10:23:25 +08:00
volvet
b3fa8dd334
Merge pull request #418 from mstorsjo/ios-neon-detection
...
Use the __ARM_NEON__ built-in compiler define for identifying neon capability on iOS
2014-03-07 09:15:17 +08:00
Ethan Hugg
2f2801dc78
Merge pull request #434 from mstorsjo/threadlib-core-count-android
...
Use the cpu-features NDK library for detecting the number of cores in WelsThreadLib
2014-03-06 08:02:28 -08:00
Martin Storsjö
11bdebb12c
Explicitly enable the UAL syntax when using gnu tools
...
Arm assembly has got two variants of the syntax, the old legacy
syntax, and the new modern UAL (unified assembly language) syntax.
Most arm assembly is the same in the both syntaxes, but some
uncommon cases change the order of suffixes - the "subscs"
instruction would be written "subcss" in the old syntax.
The apple tools default to UAL, while the GNU tools (e.g. in
android) require you to specify ".syntax unified" to enable the
new syntax. When enabling the new syntax with the GNU tools, some
cases of "sub r0, r1, lsl #1 " needs to be written explicitly as
"sub r0, r0, r1, lsl #1 ", handled in the previous commit.
This allows using the same, modern syntax for things like subscs,
without needing to have two alternate forms of writing it.
2014-03-06 16:21:54 +02:00
Martin Storsjö
c0043f7053
Use the three-operand form of add/sub with shift
...
When using unified syntax, the two operand form with a shift
isn't allowed.
2014-03-06 16:21:54 +02:00
Martin Storsjö
f1502c26e3
Don't use WELS_ASM_FUNC_END in the middle of a function
...
WELS_ASM_FUNC_END declares the end of the function, and needs
to be paired with WELS_ASM_FUNC_BEGIN.
2014-03-06 16:21:54 +02:00
Martin Storsjö
8ba79262bf
Rename a function to avoid conflicts between almost duplicate neon functions
...
There's a different version of the same function in the encoder,
but they're not identical - the encoder version has got stricter
alignment requirements.
If someone can confirm that it is ok to use the function from the
encoder, pixel_sad_neon.S in processing could be deleted, and the
encoder version moved to codec/common instead.
2014-03-06 16:19:48 +02:00
Martin Storsjö
4e4bfcc1bc
Regenerate makefiles to include the encoder arm assembly
2014-03-06 16:11:54 +02:00
Martin Storsjö
45e059ec5f
Rename expand_picture.S to expand_picture_neon.S
...
This avoids ambiguity in the make based build system about
whether expand_picture.o should be built from expand_picture.S
or expand_picture.asm.
2014-03-06 16:11:40 +02:00