zhiliang wang
53c8af4566
Refine some code
2014-05-15 15:04:44 +08:00
zhiliang wang
fe57aa46df
Add gnu assembler support.
2014-05-15 09:17:35 +08:00
lyao2
bd7c04f738
enable Scroll detection into workflow
2014-05-15 09:11:58 +08:00
Martin Storsjö
8c10cd220f
Remove an unused static function
...
This avoids a warning with clang.
This function was added in 4bd6a3a6e8
even though nothing in
that commit actually uses it.
2014-05-14 22:07:38 +03:00
zhiliang wang
e6c9eb9824
Add Sad arm64 code
2014-05-14 17:06:48 +08:00
ganyang
c08c0f85eb
This refine is to remove slice number limitation in the future. The changes contains:
...
1. add pNalLen in Structure SWelsEncoderOutput to store each nal length
2. rename iNalLengthInByte[MAX_NAL_UNITS_IN_LAYER] to pNalLengthInByte in Structure SLayerBSInfo, the pointer point to pNalLen, like pBSBuf point to pFrameBS.
2014-05-14 16:00:36 +08:00
sijchen
80ae4cb7d8
add me function pointers for screen contents
2014-05-13 16:47:18 +08:00
Martin Storsjö
a4e1639529
Fix the format string in a log message
...
The compiler warned about unknown conversion type and too many
arguments for the format.
2014-05-12 12:13:24 +03:00
ruil2
758e89208e
Merge pull request #818 from sijchen/md_merge133
...
[Encoder MD] Add Inter Psub16 MD for screen content coding
2014-05-12 14:47:50 +08:00
sijchen
4bd6a3a6e8
[Encoder MD] Add Inter Psub16 MD for screen content coding
2014-05-12 14:21:40 +08:00
ruil2
eb357b51f2
fix bitrate setting and add bitrate validation
2014-05-12 13:09:01 +08:00
unknown
4dc0f07828
fix input source width and height setting issue
2014-05-12 11:55:05 +08:00
sijchen
8d23201a05
Merge pull request #808 from mstorsjo/use-correct-param-types
...
Use the actual parameter types in PSearchMethodFunc instead of void pointers
2014-05-09 17:22:05 +08:00
sijchen
5de9f41f5a
Fix the improper slice mmco setting
2014-05-09 10:48:09 +08:00
Martin Storsjö
b5cc7c2fe1
Remove a completely unused header
2014-05-08 09:59:58 +03:00
Martin Storsjö
f954763635
Use the actual parameter types in PSearchMethodFunc instead of void pointers
2014-05-07 09:26:31 +03:00
huili2
5ed24f216b
astyle all files
2014-05-05 19:30:21 -07:00
sijchen
44640712f6
Add FME unit test
2014-05-05 15:41:15 +08:00
Martin Storsjö
26624bbfdb
Use the proper type in function parameters instead of void pointers
2014-05-04 18:00:36 +03:00
volvet
e4a9c7f8e4
Merge pull request #779 from zhilwang/intraSad
...
Add IntraSad asm code.
2014-05-04 16:29:59 +08:00
sijchen
938019748d
add scrolling skip function pointers in MD
2014-05-04 15:03:23 +08:00
ruil2
30687f4647
Merge pull request #761 from sijchen/md_merge31
...
[Encoder MD] Adjust MD under Screen Content route
2014-05-04 14:25:10 +08:00
Licai Guo
485b2b5b43
Add IntraSad asm code.
...
Enable intraSad ASM code
Refine format
Add X86_ASM pretect for intraSad ASM code UT
remove duplicated code.
2014-05-04 12:12:38 +08: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
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
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
Martin Storsjö
a842f14a3c
Remove .orig files left over from running astyle
2014-04-23 09:24:23 +03: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
ruil2
2eff808db7
add decide frame type for screen content
2014-04-22 09:59:38 +08: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
sijchen
e5001c87ca
add FME switch logic
2014-04-21 16:36:59 +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
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
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
ruil2
6b707ffb14
add complexity calculation in workflow
2014-04-17 17:33:44 +08: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
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
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
ruil2
1e3053208d
update the default value for bPrefixNalAddingCtrl and iLoopFilterDisableIdc
2014-04-14 14:06:02 +08:00
sijchen
64ef420e67
add memory allocation for feature search
2014-04-11 17:11:46 +08: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
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
ruil2
c8eaea2f27
add memory allocation for screen content
2014-04-10 17:07:26 +08: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
Martin Storsjö
3dcd458ffd
Remove trailing whitespace in the source files
2014-04-08 18:13:23 +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
ruil2
37f20f1c5e
update pre-processing workflow for screen content
2014-04-08 14:42:30 +08: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
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
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
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
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
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
ruil2
aed919a65a
add scene change for screen content
2014-03-31 17:14:00 +08:00
sijchen
69983d6df4
Add alternative search methods
2014-03-31 16:11:31 +08:00
unknown
a128d7f790
add usagetype setting for screen content
2014-03-31 14:00:25 +08: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
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
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
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
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
9d73d273ff
Merge pull request #554 from ruil2/encoder_update
...
add maxbitrate parameter
2014-03-20 14:57:54 +08: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
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
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
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
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
ruil2
3238c913cc
Merge pull request #535 from volvet/add-scene-change-detector
...
Add scene change detector
2014-03-19 14:52:08 +08: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ö
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
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
volvet
d7b7419040
add scene change detector for further extension
2014-03-18 17:54:58 +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
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
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ö
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