Commit Graph

1420 Commits

Author SHA1 Message Date
Sijia Chen
a964ae8cfa completing and bug-fixing the screen content MD/ME process 2014-07-02 10:33:47 +08:00
huili2
19273b1ae5 Merge pull request #1052 from sijchen/scc_md_merge2
[Processing] fix the different threshold between camera and screen
2014-07-02 10:33:14 +08:00
huili2
05cd0e8ada fix when output enabled in encoder 2014-07-01 02:13:03 -07:00
Martin Storsjö
e5609bc0fe Remove global function pointers in the encoder MC code
This is similar to how this is done in the decoder part of MC.
2014-07-01 12:01:48 +03:00
Martin Storsjö
130c682c29 Avoid intermediate function pointers for some function pointers that are never overridden
These are only used in the leaf C versions of functions anyway.
2014-07-01 12:01:48 +03:00
Martin Storsjö
586d0ba3dc Reduce code duplication 2014-07-01 12:01:48 +03:00
Martin Storsjö
00f28cc185 Avoid using static arrays for keeping track of frame dumping state 2014-07-01 12:01:48 +03:00
Martin Storsjö
1888fba336 Move pfCavlcParamCal into the function pointer list
This avoids using a global variable for this function.
2014-07-01 12:01:48 +03:00
Martin Storsjö
d84d739ec8 Hardwire functions set up in WelsInitFillingPredFuncs
These are never overridden by any assembler optimized versions.
(The assembler optimized intra predictor functions may use such
optimized code internally anyway.)

This avoids global writable data.
2014-07-01 12:00:32 +03:00
Martin Storsjö
9ef09861cf Don't use and modify function pointers in global static tables
Make the tables const and keep a copy of the table in the
SWelsFuncPtrList struct instead, where any modifications to
the table only touch that individual instance of the codec.
2014-07-01 12:00:14 +03:00
zhilwang
3a6f51781d Merge pull request #1044 from mstorsjo/android-cleanup-compiler-flags
Simplify the compiler flags for the android test projects
2014-07-01 15:31:22 +08:00
huili2
5b004048ed Merge pull request #1051 from ruil2/overflow_check
check each WriteBlockResidualCavlc to avoid overflow
2014-07-01 15:25:59 +08:00
huili2
4486e328d4 Merge pull request #1050 from ruil2/update_param
fix error judgment on return value in pauseframe
2014-07-01 15:25:06 +08:00
ruil2
325c63d0ca Merge pull request #1047 from mstorsjo/cpufeatures-armv8
Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels
2014-07-01 14:53:52 +08:00
ruil2
32ce337eb0 check each WriteBlockResidualCavlc to avoid overflow 2014-07-01 14:50:50 +08:00
ruil2
ffb38322d0 fix error judgment on return value in pauseframe 2014-07-01 14:36:46 +08:00
ruil2
806e59fcb1 Merge pull request #1045 from mstorsjo/share-read-config
Share one implementation of CReadConfig between both console apps
2014-07-01 08:55:07 +08:00
Martin Storsjö
04c6c95577 Update the generic 32 bit arm linux cpu feature detection to support 64 bit kernels
On 64 bit kernels, /proc/cpuinfo doesn't list the same old features
as on 32 bit kernels, since most of them are mandatory on 64 bit arm
systems, see [1] for details.

If running a 32 bit arm binary on such a kernel, we need to detect
the features slightly differently, either by using other names
listed in the Features field on these devices, by checking the
"CPU architecture" field and always enabling these if the architecture
is >= 8, or by parsing /proc/self/auxv or using the getauxval function.

[1] http://marc.info/?l=linux-arm-kernel&m=139087240101974
2014-06-30 09:51:49 +03:00
Martin Storsjö
7ae3fbcfbf Share one implementation of the CReadConfig class between the decoder and encoder console apps 2014-06-30 09:04:12 +03:00
Martin Storsjö
b4b1d1df8c Move a struct to the actual place where it's used
It's not related to the config reader.
2014-06-30 09:04:08 +03:00
Martin Storsjö
4af37a7d21 Move common tables and definitions into the common library 2014-06-30 09:03:10 +03:00
Martin Storsjö
44ebe7dea4 Rename a decoder macro to the name used in the encoder 2014-06-30 09:03:10 +03:00
Martin Storsjö
578060373a Rename data types in the decoder to match the name used in the encoder 2014-06-30 09:03:10 +03:00
Martin Storsjö
eb7cdf2bda Rename some decoder tables to match the name used in the encoder 2014-06-30 09:03:10 +03:00
Martin Storsjö
4aa22da812 Remove an unused constant 2014-06-30 09:03:10 +03:00
zhilwang
2b038fa73b Merge pull request #1037 from mstorsjo/unify-align-macros
Unify macros for alignment
2014-06-30 10:09:05 +08:00
zhilwang
e9b8d927ca Merge pull request #1039 from mstorsjo/unify-msvc-project-files
Unify some details in MSVC project files
2014-06-30 10:08:40 +08:00
zhilwang
17f3dd5ae6 Merge pull request #1041 from mstorsjo/upgrade-ios-projects
Mark xcode projects as upgraded to/checked for the latest version
2014-06-30 10:07:16 +08:00
zhilwang
1780a81a1d Merge pull request #1042 from mstorsjo/avoid-ios-build-warnings
Avoid warnings when building for iOS
2014-06-30 10:06:52 +08:00
zhilwang
bfd8f97578 Merge pull request #1040 from mstorsjo/gitignore-msvc
Ignore files generated by MSVC
2014-06-30 10:05:54 +08:00
zhilwang
eb221eb3d1 Merge pull request #1030 from mstorsjo/cpuid-32bit-param
Don't load undefined bits into rcx before calling the cpuid instruction
2014-06-30 10:05:26 +08:00
zhilwang
58349156b1 Merge pull request #1035 from mstorsjo/aarch64-cpufeatures
Implement WelsCPUFeatureDetect for AArch64
2014-06-30 10:04:03 +08:00
zhilwang
fd132aba0f Merge pull request #1033 from mstorsjo/aarch64-typofix
Fix a typo in arm64 assembly macros, ARCH64 -> AARCH64
2014-06-30 10:02:41 +08:00
zhilwang
0549fb99eb Merge pull request #1034 from mstorsjo/aarch64-combined-satd-sad
Prefer modes in the same order as the reference, in the aarch64 combined intra satd/sad
2014-06-30 10:01:09 +08:00
Martin Storsjö
68b4b09ae6 Don't load undefined bits into rcx before calling the cpuid instruction
The pFeatureC pointer is an uint32_t pointer, therefore only
load 32 bits into ecx.

This avoids loading potentially uninitialized data into the upper
half of the rcx register, fixing valgrind warnings in some build
setups (depending on how the compiler chooses to layout the stack
in the calling function).
2014-06-29 20:46:55 +03:00
Martin Storsjö
a01d6812ed Simplify the compiler flags for the android test projects
These parts aren't performance critical, thus overriding the
compiler optimization flags (and arm instruction mode) isn't
necessary.
2014-06-29 19:59:10 +03:00
Martin Storsjö
f6302ea414 Mark xcode projects as upgraded to/checked for the latest version
This avoids some warnings when building. This shouldn't affect
building with older xcode versions.
2014-06-29 16:06:07 +03:00
Martin Storsjö
b5407915cc Avoid warnings when building for iOS
Get rid of warnings by avoiding mixing data types unnecessarily,
and by adding casts.
2014-06-29 16:03:34 +03:00
Martin Storsjö
83d7c3547c Ignore files generated by MSVC 2014-06-29 13:59:18 +03:00
Martin Storsjö
3a43c6bad4 Remove custom, manual linker options for the encoder in the MSVC project files 2014-06-29 13:51:54 +03:00
Martin Storsjö
157935e9a0 Write map files to the default directory instead of a custom directory 2014-06-29 13:49:33 +03:00
Martin Storsjö
7fba7a08bc Set ProgramDatabaseFile to the default used in all other project files 2014-06-29 13:49:33 +03:00
Martin Storsjö
263833b3bf Remove the now unused macros __align16, ALIGNED_DECLARE_MATRIX_1D and ALIGNED_DECLARE_MATRIX_2D 2014-06-29 00:36:29 +03:00
Martin Storsjö
f300476468 Use the ALIGNED_DECLARE macro instead of __align16 2014-06-29 00:36:02 +03:00
Martin Storsjö
12b6244129 Use the common syntax of using ALIGNED_DECLARE to declare arrays
This was the only place where ALIGNED_DECLARE_MATRIX was used.
2014-06-29 00:35:25 +03:00
huili2
d8e78fee09 Merge pull request #1032 from mstorsjo/typofix
Fix a typo, Chorma -> Chroma
2014-06-28 11:08:14 +08:00
huili2
c8b4ef2257 Merge pull request #1029 from ruil2/update_param
fix update parameters
2014-06-28 11:05:54 +08:00
Martin Storsjö
66deed24b8 Implement WelsCPUFeatureDetect for AArch64
Previously it actually didn't return any cpu flags at all.
2014-06-27 23:57:42 +03:00
Martin Storsjö
cf6ae23413 Prefer modes in the same order as the reference, in the aarch64 combined intra satd/sad
This fixes encoding tests on aarch64.
2014-06-27 23:54:03 +03:00
Martin Storsjö
b406f4471a Fix a typo in arm64 assembly macros, ARCH64 -> AARCH64 2014-06-27 23:52:20 +03:00
Martin Storsjö
a474e00d15 Fix a typo, Chorma -> Chroma 2014-06-27 23:50:14 +03:00
Martin Storsjö
e16487d416 Clear the executable bit from new assembly source files 2014-06-27 18:45:13 +03:00
Sijia Chen
06a67b72a8 reformat 2014-06-27 18:11:25 +08:00
ruil2
863ec74f0d fix update parameters 2014-06-27 18:09:40 +08:00
sijchen
7fb59d033a fix the different threshold between camera and screen 2014-06-27 18:08:51 +08:00
Martin Storsjö
40e74e43d6 Fix building intra_pred_sad_3_opt_aarch64_neon.S with gnu binutils
One macro argument was left in the apple syntax.
2014-06-27 12:54:25 +03:00
dongzha
f8ca91f317 Merge pull request #1025 from huili2/EC_return_error
add return error if data lost
2014-06-27 15:56:02 +08:00
dongzha
300bbfb67b Merge pull request #1014 from zhilwang/arm64-intraSad
Add arm64 neon code for intraSad&Satd
2014-06-27 15:55:33 +08:00
zhiliang wang
e389cf4348 refine file name. 2014-06-27 14:11:04 +08:00
huili2
b55f1bdfe2 add return error if data lost 2014-06-26 22:20:58 -07:00
huili2
775b507941 Merge pull request #1024 from ruil2/trace_fix
change void* to explicit type definition
2014-06-27 13:14:41 +08:00
ruil2
1ffcd36c70 change void* to explicit type definition 2014-06-27 11:34:47 +08:00
ruil2
fa138e866a trace fix 2014-06-27 10:52:03 +08:00
ruil2
2626ed2181 only supports fixed LTR_NUM for screen and camera 2014-06-27 09:25:57 +08:00
ruil2
e138ee5297 Merge pull request #1020 from mstorsjo/simplify-64bit-suffix
Use the ULL prefix for 64 bit constants on MSVC as well
2014-06-27 09:04:39 +08:00
ruil2
275d7efbc9 Merge pull request #1021 from mstorsjo/remove-unused-declarations
Remove some unused declarations and tables
2014-06-27 09:03:02 +08:00
Martin Storsjö
f7ba0e4d1c Make some tables const where easily possible 2014-06-26 15:24:30 +03:00
Martin Storsjö
bfd3a1dd47 Remove a stray function declaration
This isn't referenced anywhere, and no implementation of the
function exists.
2014-06-26 15:19:49 +03:00
Martin Storsjö
12e456cc84 Remove an unused and undeclared global table 2014-06-26 15:19:49 +03:00
Martin Storsjö
1f88cbf49e Remove an unused global non-const table 2014-06-26 15:19:20 +03:00
Martin Storsjö
78109f36ad Use the ULL prefix for 64 bit constants on MSVC as well
This syntax is already used consistently within the decoder.

Ideally this could also use the C99 macro UINT64_C() for declaring
64 bit constants.
2014-06-26 15:12:14 +03:00
ruil2
04d7e63a58 remove more checking 2014-06-26 17:18:25 +08:00
ruil2
3a0777201c remove temporal layer checking 2014-06-26 16:17:46 +08:00
huili2
dc3fae4477 astyle all 2014-06-25 18:50:41 -07:00
huili2
101265388b Merge pull request #1005 from huili2/rc_overflow
prevent int32 multiplication overflow
2014-06-26 09:20:14 +08:00
Ethan Hugg
708f793933 Merge pull request #1012 from mstorsjo/round-scalefactor
Use WELS_ROUND in the neon version of GeneralBilinearAccurateDownsampler
2014-06-25 10:37:01 -07:00
huili2
be94bf9ffa Merge pull request #1006 from ruil2/bug_fix
fix defect7654 that  the encoder won't generate IDR when temporal layer setting changes
2014-06-25 17:29:29 +08:00
ruil2
efc5bbd9fb format update 2014-06-25 16:37:00 +08:00
ruil2
057e38663f add iSubSeqId calculation 2014-06-25 16:18:42 +08:00
Martin Storsjö
f066df412c Use WELS_ROUND in the neon version of GeneralBilinearAccurateDownsampler
Also use it in the commented out sse2 version - in case it gets
taken into use at some point. (It only works on 32 bit x86
at the moment.)

This makes sure the scaling factors are rounded similarly to the
in GeneralBilinearAccurateDownsampler_c, making sure the
accelerated versions of these function return identical results
to the C version.
2014-06-25 11:08:07 +03:00
ruil2
de3990479e format update 2014-06-25 15:43:48 +08:00
ruil2
56222afe07 remove redundant code 2014-06-25 15:21:43 +08:00
ruil2
e4220b7b55 Merge pull request #1010 from mstorsjo/fix-log-format
Print an intX_t by casting to int64_t
2014-06-25 14:44:53 +08:00
Martin Storsjö
70f93d8816 Remove an unused variable
This fixes build warnings when building for OS X with clang.
2014-06-25 09:21:14 +03:00
Martin Storsjö
b76714719e Print an intX_t by casting to int64_t
The internal intX_t is either int32_t or int64_t depending on
platform bitness. Since there is no existing printf format for
such an integer, cast it to an int64_t and use the right
printf format for that instead.

This avoids warnings when building with clang.
2014-06-25 09:19:23 +03:00
zhiliang wang
f0ec323e2c Add arm64 neon code for intraSad&Satd 2014-06-25 13:43:26 +08:00
ruil2
0a1b61508b fix defect7654 that the encoder won't generate IDR when temporal layer setting changes 2014-06-25 13:31:48 +08:00
huili2
606d748e5b prevent int32 multiplication overflow 2014-06-24 18:59:02 -07:00
sijchen
51d8682139 Merge pull request #1003 from ruil2/subseq
Subseq
2014-06-24 18:00:13 +08:00
huili2
6e8fceb0c7 Merge pull request #1001 from huili2/reflist_warning_remove
remove unused param to prevent access violation
2014-06-24 13:24:33 +08:00
ganyang
43b56d9981 fix overflow issue caused by pCountMbNumInSlice 2014-06-23 17:25:20 +08:00
ruil2
3fefb08b34 add iSubSeqId to make the meaning clearly. 2014-06-23 16:18:59 +08:00
dongzha
82a4bee00b Merge pull request #997 from huili2/rc_align
misaligned_rc_structure
2014-06-23 14:51:35 +08:00
dongzha
f0728ed365 Merge pull request #1000 from ruil2/frame_idc
remove frametype,add frameIdc paramter
2014-06-23 14:49:54 +08:00
huili2
b0d6cf7b9b Merge pull request #992 from ruil2/interface_update
add interface parameter(profile/levle/numref) support
2014-06-23 14:01:17 +08:00
ruil2
cd76469613 remove frametype,add frameIdc paramter 2014-06-23 13:48:03 +08:00
ruil2
d117624657 format update 2014-06-23 13:18:03 +08:00
ruil2
b3dedb3f37 modify the interface for delivery info and add some comments 2014-06-23 13:16:15 +08:00
huili2
dc56892d72 misaligned_rc_structure 2014-06-22 18:47:33 -07:00
Martin Storsjö
30058e091f Remove the executable bit from aarch64 assembly source files 2014-06-22 21:36:22 +03:00