Commit Graph

1174 Commits

Author SHA1 Message Date
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
Ethan Hugg
fc6f756436 Merge pull request #522 from mstorsjo/layered-encoding-test
Add a test of encoding multiple spatial layers
2014-03-18 09:46:00 -07:00
Ethan Hugg
c94acc98ea Merge pull request #533 from mstorsjo/remove-unused-gitignore-entry
Remove an unused gitignore entry
2014-03-18 09:43:58 -07:00
volvet
62be92cb08 Merge pull request #534 from ruil2/encoder_ret
fix bug that there is no output in encoder console
2014-03-18 17:51:37 +08:00
ruil2
9cf9238cfc fix bug that there is no output in encoder console 2014-03-18 17:38:48 +08:00
Licai Guo
a18cb49cd8 Merge pull request #531 from mstorsjo/add-missing-includes
Add missing includes of time.h
2014-03-18 17:25:13 +08:00
Martin Storsjö
27a7985942 Remove an unused gitignore entry
Nothing within this project will generate .ko files.
2014-03-18 11:18:55 +02:00
Martin Storsjö
8f2763b681 Add missing includes of time.h
This fixes building on MSVC.
2014-03-18 11:10:36 +02:00
ruil2
7d80af9d5c Merge pull request #530 from licaiguo/DecoderIntraPredUT
update master to latest and add ut of intraprediction in decoder
2014-03-18 16:37:48 +08:00
Licai Guo
2fd892d98a update master to latest and add ut of intraprediction in decoder 2014-03-18 01:13:52 -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
ad8dc32755 Merge pull request #528 from mstorsjo/fix-comment
Fix the comment in welsEncoderExt.h about the EncodeFrame return value
2014-03-18 16:09:48 +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
ruil2
b7b01faf29 Merge pull request #526 from licaiguo/IdctResAddPred-pr
add IdctResAddPred unit test for decoder
2014-03-18 15:04:29 +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
95a2a40190 add IdctResAddPred unit test for decoder 2014-03-17 20:09:09 -07: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
Licai Guo
e8d5108dbc Merge pull request #523 from mstorsjo/wp8-arm-asm
Enable the arm assembly in msvc-arm builds
2014-03-18 09:39:19 +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
volvet
6892127a32 Merge pull request #521 from mstorsjo/neon-register-backup
Don't clobber q4-q7 in WelsIntra16x16Combined3Satd_neon
2014-03-18 09:28:51 +08:00
Martin Storsjö
00efbc2cb5 Enable the arm assembly in msvc-arm builds
This requires using the external gas-preprocessor tool that
converts the gnu assembler format sources to armasm format at
build time. This allows keeping the source files in one single
format but only converting while building.
2014-03-17 20:28:12 +02:00
Martin Storsjö
02b4beb70d Add a test of encoding multiple spatial layers
This increases the coverage of the unit tests.
2014-03-17 20:08:45 +02: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
Ethan Hugg
8e57c926a3 Merge pull request #518 from mstorsjo/remove-commented-rodata
Remove commented out rodata sections and tables in assembly files
2014-03-17 09:22:35 -07:00
Ethan Hugg
469820e3a2 Merge pull request #508 from mstorsjo/fix-yasm-osx
Use -DPREFIX instead of --prefix _ on OS X
2014-03-17 09:20:55 -07: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
Licai Guo
918b211990 Merge pull request #515 from mstorsjo/remove-commented-x86-asm
Remove commented out code for old, 32-bit only x86 assembly function prologues/epilogues
2014-03-17 19:12:47 +08: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
258828f7ec Merge pull request #503 from mstorsjo/encoder-test-coverage
Add encoder tests with deblocking and/or denoising
2014-03-17 16:46:38 +08: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
volvet
1449c83f57 Merge pull request #509 from mstorsjo/fix-arm-asm-macro-indentation
Indent all WELS_ASM_FUNC_BEGIN properly
2014-03-16 20:16:53 +08: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
Martin Storsjö
d723ad2774 Use -DPREFIX instead of --prefix _ on OS X
The --prefix parameter differs between yasm and nasm; nasm
requires --prefix _ while yasm requires --prefix=_. Using the
define instead (as on windows) allows easier switching between
the two otherwise mostly compatible assemblers.

This fixes building with yasm on OS X in 32 bit mode. For 64 bit,
a few more tweaks are still required.
2014-03-16 11:59:34 +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