Commit Graph

348 Commits

Author SHA1 Message Date
huili2
5482207823 modify dec API from void to explicit type, and some comments 2014-05-21 23:47:57 -07:00
huili2
20295c68fd expand the bs buffer size 2014-05-21 00:35:25 -07:00
huili2
7c6debbef6 add single function for new seq detection 2014-05-19 19:55:06 -07:00
HaiboZhu
0c326fa302 Merge pull request #845 from huili2/bs_buffer_modif
modify bs buffer size to double the AU size at decoder
2014-05-15 16:30:18 +08:00
Martin Storsjö
e9e4d0a073 Remove unnecessary writing of nal length in the decoder
The written nal length doesn't seem to be used at all.
2014-05-15 09:44:35 +03:00
huili2
b63332de80 modify bs buffer size to double the AU size 2014-05-14 19:43:14 -07:00
Martin Storsjö
3cc01c6239 Use CCASFLAGS when assembling .S sources
This allows overriding whether all of CFLAGS should be passed
when assembling.
2014-05-13 19:39:26 +03:00
huili2
eb1276013b clear active PS when only IDR meets 2014-05-12 22:02:39 -07:00
huili2
51c918f212 for PS error logic for EC 2014-05-09 01:12:08 -07:00
huili2
1839910bb0 fix order of new AU and new Seq 2014-05-07 17:56:31 -07:00
huili2
5ed24f216b astyle all files 2014-05-05 19:30:21 -07:00
huili2
5e6ef17412 fix new sequence&EC order, and prefix parse bug 2014-04-29 20:00:12 -07: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
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
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
huili2
0c544962d8 use new seq instead of I slice 2014-04-25 01:46:00 -07:00
huili2
c65d250817 fix bug of new seq check 2014-04-24 22:11:42 -07: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
huili2
314005435e enable the case for IDR loss 2014-04-23 23:13:12 -07:00
Licai Guo
bada2d35bf fix bNewSeqBegin logic 2014-04-23 18:50:11 -07: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
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
Licai Guo
97c65b396d refine Check AU boundary 2014-04-21 18:21:07 -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
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
7d99aa4e22 Merge pull request #713 from licaiguo/overwriteactivesps
overwriteactivesps
2014-04-18 13:16:18 +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
Licai Guo
79ed744923 overwriteactivesps 2014-04-17 02:25:41 -07:00
Licai Guo
3d9d00b27c Update targets.mk 2014-04-17 10:43:10 +08:00
huili2
bc2c4b0db0 add EC frame/slice copy. 2014-04-16 01:44:35 -07: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
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
Licai Guo
16cfb0a937 add track sps change for each layer 2014-04-14 00:17:44 -07: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
Martin Storsjö
3dcd458ffd Remove trailing whitespace in the source files 2014-04-08 18:13:23 +03:00
huili2
79c0cec248 add interface for error concealment, to be continued 2014-04-07 22:53:39 -07:00
Ethan Hugg
c644879cf9 Merge pull request #598 from varunbpatil/compiler_warnings
Remove compiler warnings
2014-04-01 10:57:19 -07:00
Licai Guo
9ac1cd0a17 add layer sps/pps to decoder context 2014-03-30 18:50:34 -07:00
Varun B Patil
6663743f4c Remove compiler warnings 2014-03-30 15:13:29 +05:30
Andoni Morales Alastruey
328740f294 Prefix API with the Wels namespace 2014-03-25 17:40:01 +01: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
wayne liu
06c534d9f2 rephrase blockzero function complexity and remove useless functions 2014-03-19 23:43:55 -07:00
Licai Guo
a688f5278a fix most of the warnings 2014-03-19 01:16:08 -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ö
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
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
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
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ö
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ö
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
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
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ö
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
huili2
b1f596fd69 remove BASE_MB related code 2014-03-14 02:03:41 -07: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
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
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
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