Compare commits

...

665 Commits

Author SHA1 Message Date
ruil2
c79be44e93 Merge pull request #1286 from ethanhugg/FF33-patch
avoid encoder crash with random pixel input
2014-08-20 08:55:24 +08:00
dongzha
863617f620 avoid encoder crash with random pixel input 2014-08-19 14:29:45 -07:00
Ethan Hugg
b4504d4da4 Merge pull request #1201 from ruil2/decoder_ret_33
add decoder return value
2014-07-21 19:38:06 -07:00
ruil2
b127efafb4 add decoder return value 2014-07-22 09:47:14 +08:00
jesup
4d041398d0 Merge pull request #1196 from ethanhugg/v1.1-Firefox33
Set the v1.1-Firefox33 to use the Firefox33 branch of gmp-api
2014-07-21 17:18:35 -04:00
Ethan Hugg
439ce3fc46 Set the v1.1-Firefox33 to use the Firefox33 branch of gmp-api 2014-07-18 08:14:08 -07:00
jesup
ad48509d76 Merge pull request #1190 from ethanhugg/ff33-refframe
fix reference frame update issue which will casue crash
2014-07-17 16:38:34 -04:00
jesup
806c5e78ed Merge pull request #1193 from ethanhugg/FF33-infofile
Update info file for bugzilla 1037754 - no longer need to advertise VP8.
2014-07-17 16:37:52 -04:00
Ethan Hugg
4b19aeb0a2 Update info file for bugzilla 1037754 - no longer need to advertise VP8. 2014-07-17 10:05:48 -07:00
ruil2
1d0b9eb968 fix reference frame update issue which will casue crash 2014-07-17 07:25:29 -07:00
Ethan Hugg
2791929e03 Merge pull request #1167 from mstorsjo/remove-unused-variable
Remove an unused variable
2014-07-14 07:54:54 -07:00
Ethan Hugg
b6b7bb7680 Merge pull request #1153 from mstorsjo/silence-error-testing
Silence error logging while running tests that are intended to produce errors
2014-07-14 07:53:45 -07:00
Martin Storsjö
110ce9ceca Remove an unused variable
This fixes build warnings with clang on OS X.
2014-07-14 15:44:26 +03:00
lyao2
3a37586970 Merge pull request #1162 from sijchen/interfaceUT11
[Encoder] add interface UT for ForceIntraFrame
2014-07-14 16:10:20 +08:00
Sijia Chen
d1123a8bb1 remove blank lines 2014-07-14 15:34:40 +08:00
Sijia Chen
bc76a8f9b3 add interface UT for ForceIntraFrame 2014-07-14 15:30:01 +08:00
huili2
c36f864682 Merge pull request #1159 from ruil2/scc_rc_1
add buffer based rc
2014-07-14 14:21:11 +08:00
ruil2
36cfb3bd32 add buffer based rc 2014-07-14 13:57:03 +08:00
ruil2
4cdee3b2d1 Merge pull request #1150 from mstorsjo/unify-sdk-setting
Don't hardcode the sdk on the target level
2014-07-12 16:02:49 +08:00
ruil2
bd560b474a Merge pull request #1147 from mstorsjo/avoid-hardcoded-xcode-paths
Don't hardcode an include path to the xcode default toolchain
2014-07-12 16:02:20 +08:00
Ethan Hugg
d49e7208fb Merge pull request #1155 from ethanhugg/gmpapi-ff33
Updated to match gmp-api changes for Firefox33
2014-07-11 12:00:06 -07:00
Ethan Hugg
ee4166ebea Merge pull request #1154 from mstorsjo/runtest-abort-errors
Abort directly on errors in the unit test in run_Test.sh
2014-07-11 09:00:49 -07:00
Ethan Hugg
3bc9b47465 Changed gmp-api branch to master and astyled the changes. 2014-07-11 08:42:51 -07:00
Ethan Hugg
1acb0fb89f Updated to match gmp-api changes for Firefox33 2014-07-11 08:29:02 -07:00
Martin Storsjö
0ee2562004 Silence error logging while running tests that are intended to produce errors
The errors in the test log are distracting, making it look like
a test actually failed.
2014-07-11 12:47:52 +03:00
Martin Storsjö
db476bac57 Abort directly on errors in the unit test in run_Test.sh
Currently it runs all four unit test builds, and an error in any
of the earlier three ones will be missed as long as the fourth one
succeeds.
2014-07-11 12:31:19 +03:00
Martin Storsjö
c0c51eb73e Don't hardcode the sdk on the target level
It's already set on the project level, and this is the default
value anyway.

This was the only project where the sdk was set on the target level.
2014-07-11 11:27:22 +03:00
Martin Storsjö
b63b13e6f0 Don't hardcode an include path to the xcode default toolchain
The necessary system include paths are already inherited, and manually
forcing this location can cause conflicts if using different versions
of xcode installed in parallel.

None of the other xcode projects hardcode this path.
2014-07-11 11:11:32 +03:00
huili2
140a67dfc9 Merge pull request #1144 from syureyi/openh264xcode
add openh264 xcode and adjust processing xcode project
2014-07-11 15:33:41 +08:00
lyao2
e02f5ba3cd Merge pull request #1145 from sijchen/interfaceUT11
add BasicInitialize UT and fix in existing interface test
2014-07-11 14:04:29 +08:00
Sijia Chen
99dc18c0ba add BasicInitialize UT and some fix in create/destroy encoder in the existing interface test 2014-07-11 13:50:58 +08:00
syureyi
a3800d205d add openh264 xcode and adjust processing xcode project 2014-07-10 20:47:27 -06:00
dongzha
da0f65ea0a Merge pull request #1140 from zhilwang/x86_64-downsample
Add X86 64bit asm code for downsample
2014-07-11 08:48:45 +08:00
huili2
6310017877 Merge pull request #1139 from huili2/parse_fail_master
add return info for all cases
2014-07-10 17:48:18 +08:00
ruil2
c72f82e7a7 Revert "turn off LTR for screen content. after checking LTR logic, will turn on"
This reverts commit 0fda3d9235.
2014-07-10 16:20:54 +08:00
zhilwang
d4baad0dcb Merge pull request #1134 from mstorsjo/aarch64-ext
Use the correct syntax for the aarch64 ext instructions
2014-07-10 14:17:17 +08:00
huili2
209c607020 add return info for all cases 2014-07-09 23:06:40 -07:00
Martin Storsjö
d5c71dbe2f Use the correct syntax for the aarch64 ext instructions
Since Xcode 5.1, the apple tools actually support using the
official, correct syntax for the ext instructions. This syntax
is already used in a number of places already - use it consistently,
and get rid of the compatibility hacks.
2014-07-10 08:53:41 +03:00
huili2
019fb9e20e Merge pull request #1132 from mstorsjo/unify-encoder-opts
Unify optimization options within the encoder MSVC projects
2014-07-10 13:50:48 +08:00
dongzha
0cafc565be Merge pull request #1121 from ruil2/interface_update_1
interface update
2014-07-10 10:15:30 +08:00
zhiliang wang
eaf7d65518 Align C version to asm function. 2014-07-10 09:38:07 +08:00
ruil2
0110e5df55 Merge pull request #1137 from ethanhugg/gmpapi-bybranch32
Pull gmp-api by branch name
2014-07-10 09:33:19 +08:00
ruil2
4edc5f60a1 Merge pull request #1126 from mstorsjo/android-simplify
Avoid repeated code for getting the android toolchain prefix
2014-07-10 09:31:57 +08:00
ruil2
7bb422803d Merge pull request #1131 from mstorsjo/avoid-hardcoding-paths
Use $(OutDir) instead of hardcoding the directory name
2014-07-10 09:30:37 +08:00
ruil2
2531e26da1 Merge pull request #1133 from dongzha/SpeedupArm64Neon
speed up memory loading in arm64 MC
2014-07-10 09:29:47 +08:00
ruil2
d070f9e7f2 Merge pull request #1135 from mstorsjo/msvc-make-debug-option
Set -Zi instead of -ZI when building with MSVC in debug mode
2014-07-10 09:28:29 +08:00
ruil2
1dd5a7a866 Merge pull request #1119 from mstorsjo/update-gitignore
Ignore files produced by the new binary comparison tool
2014-07-10 09:28:12 +08:00
ruil2
70e9ff3a33 Merge pull request #1128 from mstorsjo/reduce-prepare-compilation
Only build the needed binaries in run_PrepareAllTestData.sh
2014-07-10 09:27:20 +08:00
Ethan Hugg
17c14d44e2 Pull gmp-api by branch name 2014-07-09 14:51:16 -07:00
Martin Storsjö
a11fdcd647 Set -Zi instead of -ZI when building with MSVC in debug mode
The -ZI option is only supported when building for 32 bit x86,
when building for x64 or for arm, it gives the warning "/ZI is
not supported on this platform; enabling /Zi instead".

-ZI is for "edit & continue" debugging, which one probably wouldn't
be doing with a build outside of the IDE anyway, so keep it simple
instead of trying to set -ZI specifically for x86 32 bit builds.
2014-07-09 15:13:41 +03:00
dongzhang
beaf7c1893 speed up memory loading in arm64 MC 2014-07-09 18:22:42 +08:00
Martin Storsjö
e5eed1f65b Remove stray optimization options from the WelsEncPlus project
There's not much performance critical code within this lib, all
the performance critical code in the encoder is in WelsEncCore and
WelsVP, so there's little point in having an extra odd option enabled
here.
2014-07-09 13:14:08 +03:00
Martin Storsjö
ac0e5cb7b4 Set optimizer options in WelsVP similarly to the other encoder projects 2014-07-09 13:13:59 +03:00
Martin Storsjö
013de2602a Use $(OutDir) instead of hardcoding the directory name
This is how it is done in the other projects.
2014-07-09 13:12:12 +03:00
huili2
b86e1f00b2 Merge pull request #1127 from ruil2/temporal_bug_fix
fix bug when temporal layer changes
2014-07-09 17:26:59 +08:00
huili2
a29645cefe Merge pull request #1125 from mstorsjo/remove-unused-options
Don't set custom build options for VCMIDLTool
2014-07-09 17:26:21 +08:00
huili2
e465cc8bc3 Merge pull request #1124 from mstorsjo/consistent-debug-options
Set DebugInformationFormat consistently in all projects
2014-07-09 17:25:58 +08:00
huili2
fb52509cee Merge pull request #1122 from mstorsjo/remove-hardcoded-defaults
Remove some manually set options, that are set to the default value
2014-07-09 17:25:26 +08:00
huili2
9ccfea24a7 Merge pull request #1120 from mstorsjo/remove-nonexistent-paths
Remove unnecessarily set AdditionalLibraryDirectories
2014-07-09 17:24:41 +08:00
huili2
71617445df Merge pull request #1123 from mstorsjo/remove-unused-pch-path
Don't set path to a precompiled header - precompiled headers are disabled
2014-07-09 17:24:17 +08:00
Martin Storsjö
73ccb74414 Only build the needed binaries in run_PrepareAllTestData.sh
Previously this did a full make, including all of gtest and the unit
test suite. This was done before every build, even for the binary
comparison tests which doesn't use the unit test.

This reduces the runtime of run_PrepareAllTestData.sh from 52 to 10
seconds in one setup.
2014-07-09 11:46:52 +03:00
ruil2
821483a4e9 fix bug when temporal layer changes 2014-07-09 16:43:58 +08:00
Martin Storsjö
6bf65da869 Avoid repeated code for getting the android toolchain prefix 2014-07-09 11:10:33 +03:00
Martin Storsjö
569033c091 Don't set custom build options for VCMIDLTool
This tool isn't even used in the build (and thus, these settings
aren't even visible in the IDE).
2014-07-09 10:48:15 +03:00
Martin Storsjö
46c4335cb5 Set DebugInformationFormat consistently in all projects
Use the "Program Database (/Zi)" in release mode and in debug
mode for x64, use "Program Database for Edit & Continue (/ZI)"
in debug mode for Win32.

This is how new visual studio projects are set by default.
2014-07-09 10:46:18 +03:00
Martin Storsjö
79f80ac7da Don't set path to a precompiled header - precompiled headers are disabled 2014-07-09 10:43:57 +03:00
Martin Storsjö
3068814e90 Remove some manually set options, that are set to the default value
These are the only places where these options are overridden.
2014-07-09 10:42:32 +03:00
ruil2
45c2fff6b8 interface update 2014-07-09 15:41:04 +08:00
Martin Storsjö
fb47e529fc Remove unnecessarily set AdditionalLibraryDirectories
Some of these even pointed to directories that don't exist (and
don't get created during the build process).
2014-07-09 10:35:54 +03:00
Martin Storsjö
53b79c0c1f Ignore files produced by the new binary comparison tool 2014-07-09 10:30:05 +03:00
sijchen
2f53a08aba Merge pull request #1109 from shihuade/Release2.0
add encoder binary comparison test model, reviewed at https://www.rbcommons.com/s/OpenH264/r/500
2014-07-09 12:59:20 +08:00
ruil2
6a54f9896b Merge pull request #1117 from huili2/astyle_ut
astyle UT cpp files
2014-07-09 11:18:17 +08:00
ruil2
5861de98f5 Merge pull request #1116 from huili2/astyle_cpp
astyle all cpp files
2014-07-09 11:14:24 +08:00
huili2
70165d6843 astyle UT cpp files 2014-07-08 20:05:52 -07:00
huili2
adb0fa498f astyle all cpp files 2014-07-08 20:01:42 -07:00
huili2
0dbdbfb53b Merge pull request #1115 from huili2/dec_log_decrease
decrease dec log size
2014-07-09 10:59:56 +08:00
huili2
581f8fdf79 decrease dec log size 2014-07-08 19:46:01 -07:00
huili2
5f8822644f Merge pull request #1108 from mstorsjo/regenerate-makefiles
Regenerate the targets.mk files
I'm not able to see the changes in rbcommons (strange), so directly look at here.
2014-07-09 10:14:04 +08:00
huili2
c2dd7df0f2 Merge pull request #1110 from mstorsjo/neon-deblock-fix
Check left/top flag instead of uiNeighborAvail in neon deblocking
2014-07-09 10:10:53 +08:00
huili2
6897398175 Merge pull request #1112 from huili2/EC_IDR_request
mark decoder always ECed status until correct IDR comes
2014-07-09 09:33:38 +08:00
huili2
7b9ae15482 Merge pull request #1114 from huili2/GREY
new IDR inserted as GREY
2014-07-09 09:33:06 +08:00
zhilwang
228ea1a668 Merge pull request #1101 from dongzha/AddArm64MBCopy
add arm64 MB COPY code and UT
2014-07-09 09:31:31 +08:00
zhilwang
ce740ee19e Merge pull request #1113 from mstorsjo/asm-indent
Fix indentation of macros in reconstruct_aarc64_neon.S
2014-07-09 09:04:22 +08:00
zhilwang
1ae709dde0 Merge pull request #1106 from mstorsjo/fix-aarch64-hadamard
Fix WelsHadamardQuant2x2*_AArch64_neon
2014-07-09 09:03:14 +08:00
huili2
1a58488aeb new IDR inserted as GREY 2014-07-08 17:58:23 -07:00
Martin Storsjö
cc8a2bd07e Fix indentation of macros in reconstruct_aarc64_neon.S 2014-07-08 20:16:28 +03:00
shihuade
78771344b7 add encoder binary comparison test model 2014-07-08 13:15:57 -04:00
huili2
ce43674703 mark decoder always ECed status until correct IDR comes 2014-07-08 08:42:31 -07:00
zhilwang
6ff2b84736 Merge pull request #1107 from mstorsjo/fix-aarch64-gnu-build
Fix building for aarch64 with gnu binutils
2014-07-08 19:31:50 +08:00
zhiliang wang
ae12fbde1c Add x86 64bit asm code for downsample 2014-07-08 19:25:31 +08:00
Martin Storsjö
e5abbdcdab Check left/top flag instead of uiNeighborAvail in neon deblocking
When deblocking over slice edges (in single threaded sliced
encoding), uiNeighborAvail might say that a MB isn't available,
even though it is available for deblocking here.

This fixes the encoder test of dynamic slicing, with neon
optimizations enabled.
2014-07-08 13:53:28 +03:00
sijchen
ca61e286b4 Merge pull request #1104 from ruil2/rc_fix_1
turn off LTR for screen content. after checking LTR logic, will turn on
2014-07-08 16:48:19 +08:00
Martin Storsjö
7fc869cf0f Regenerate the targets.mk files
This makes the indentation of some new lines consistent with the rest.
2014-07-08 11:42:05 +03:00
Martin Storsjö
03d9f07671 Fix WelsHadamardQuant2x2*_AArch64_neon
In WelsHadamardQuant2x2SkipKernel_AArch64_neon, write the output
of cmhi into v0 - this is the register that is assumed to hold
the output.

In WelsHadamardQuant2x2_AArch64_neon, subtract the count of zero
elements from 4, not from 16.

This makes the encoding unit tests pass again.
2014-07-08 11:36:40 +03:00
Martin Storsjö
86b3a999d5 Use mov.16b instead of mov.8h
According to the arm architecture reference manual, the mov (vector)
instruction can only use the arrangement specifiers '8b' and '16b'.
The apple tools still accept the '8h' form, but it assembles into the
same as '16b'. (When copying a vector register to another, the element
size in the vectors don't matter.)

This fixes building with gnu binutils.
2014-07-08 11:34:44 +03:00
Martin Storsjö
3a1cc63649 Don't use the non-standard apple syntax in a gnu version of a macro 2014-07-08 11:34:44 +03:00
ruil2
0fda3d9235 turn off LTR for screen content. after checking LTR logic, will turn on
it
2014-07-08 16:15:51 +08:00
huili2
c228c51423 Merge pull request #1102 from ruil2/rc_fix_1
add skip frame processing for screen content
2014-07-08 16:14:01 +08:00
ruil2
8bdf6abe59 Merge pull request #1103 from sijchen/log_clean
[Encoder] extend log level and remove unnecessary info log
2014-07-08 16:03:11 +08:00
Sijia Chen
0a6819c0b7 remove unnecessary log output 2014-07-08 15:43:15 +08:00
ruil2
d98cefecec add skip frame processing for screen content 2014-07-08 14:41:34 +08:00
dongzha
09b95ad0bd Merge pull request #1100 from mstorsjo/fix-include-spacing
Fix spacing in include directives
2014-07-08 14:29:48 +08:00
dongzhang
249b8a0aa6 add arm64 MB COPY code and UT 2014-07-08 14:22:14 +08:00
Martin Storsjö
fba362d1de Fix spacing in include directives
Astyle doesn't change the spacing here, but make it consistent with
all the other files.
2014-07-08 09:01:42 +03:00
zhilwang
c1a24d52f5 Merge pull request #1099 from mstorsjo/fix-chmod
Remove the executable bit from new assembly source files
2014-07-08 13:59:05 +08:00
zhilwang
4d9c8de5a5 Merge pull request #1098 from dongzha/AddCPMBARM64
add MemoryZero Arm64 code and UT
2014-07-08 13:49:07 +08:00
Martin Storsjö
01835134ee Remove the executable bit from new assembly source files 2014-07-08 08:46:44 +03:00
dongzhang
eace9b7b00 add MemoryZero Arm64 code and UT 2014-07-08 12:52:48 +08:00
dongzha
95ac333f3b Merge pull request #1097 from dongzha/FixRecUT
add reconstruct UT input limitation
2014-07-08 12:51:51 +08:00
dongzha
6489e7b38a Merge pull request #1096 from huili2/early_stop_parse_rec_bug
stop early error for parse/recon MB
2014-07-08 12:49:42 +08:00
dongzhang
9b753c9c39 add reconstruct UT input limitation 2014-07-08 12:33:14 +08:00
huili2
1ec213d5a7 stop early error for parse/recon MB 2014-07-07 21:27:44 -07:00
dongzha
e66cf5369e Merge pull request #1091 from zhilwang/arm64-downsample
Add arm64 code for downsample.
2014-07-08 10:31:40 +08:00
huili2
9a68572240 Merge pull request #1092 from dongzha/AddRecARM64CodeAndUT
Add ARM64 Code and UnitTest for reconstruction
2014-07-08 10:31:22 +08:00
ruil2
589e40aa67 Merge pull request #1094 from huili2/ec_grey_replace_green
use grey instead of green in EC without ref
2014-07-07 17:39:37 +08:00
huili2
fb6379eeb1 use grey instead of green in EC without ref 2014-07-07 02:24:51 -07:00
sijchen
76b488a60d Merge pull request #1095 from ruil2/rc_fix_1
bEnableSceneChangeDetect should be true for screen content
2014-07-07 17:07:37 +08:00
ruil2
b52aff7225 bEnableSceneChangeDetect should be true for screen content 2014-07-07 16:53:49 +08:00
HaiboZhu
f22a9e890f Merge pull request #1093 from huili2/ec_return_error
LTR feedback check in decoder
2014-07-07 15:58:20 +08:00
dongzhang
d88b83df44 Add ARM64 Code and UnitTest for reconstruction 2014-07-07 15:31:46 +08:00
zhiliang wang
5cb66bd8a7 Add arm64 code for downsample. 2014-07-07 10:25:23 +08:00
huili2
60314ff570 LTR feedback check in decoder 2014-07-06 19:17:50 -07:00
huili2
5a60d0fef4 Merge pull request #1090 from HaiboZhu/Debug_ExpandBsBuffer
Remove warning
2014-07-07 10:17:41 +08:00
Haibo Zhu
863852259d Remove warning 2014-07-06 19:04:59 -07:00
huili2
f638546d81 Merge pull request #1089 from ruil2/rc_fix_1
add some protection on rc module
2014-07-05 17:17:32 +08:00
ruil2
9015bd4049 fix typo 2014-07-05 17:08:38 +08:00
ruil2
21e3e81536 add some protection on rc module 2014-07-05 17:04:14 +08:00
ruil2
7cfce53f53 Merge pull request #1084 from JuannyWang/maxbr_refine
modify console for disable delay skip if maxbr==0
2014-07-05 14:12:55 +08:00
HaiboZhu
0ad30516c5 Merge pull request #1088 from huili2/crash_dpb_ec
dpb uninitial crash for EC
2014-07-05 13:24:10 +08:00
huili2
f1a0a81226 dpb uninitial crash for EC 2014-07-04 20:40:41 -07:00
huili2
ab41e69a5e Merge pull request #1087 from HaiboZhu/Debug_ExpandBsBuffer
Debug about the ExpandBsBuffer (have no Bs buffer offset reset)
2014-07-04 22:28:20 +08:00
zhilwang
821ff96c70 Merge pull request #1085 from mstorsjo/fix-msvc-autobuild-script
Fix running the MSVC autobuild bat script
2014-07-04 21:40:08 +08:00
Martin Storsjö
c2cde65ac9 Explicitly mention WelsVP.lib as an additional dependency
This fixes building welsenc.dll from AutoBuild_Windows_VS2008.bat,
since the project interdependencies aren't taken into account
automatically in the linker commands when building one project at a
time.
2014-07-04 15:11:47 +03:00
Martin Storsjö
3c584cd2c4 Fix a path in the MSVC autobuild bat script 2014-07-04 15:11:39 +03:00
Haibo Zhu
8e400f19d2 Debug about the ExpandBsBuffer (have no Bs buffer offset reset) 2014-07-04 04:19:16 -07:00
ruil2
ee425ec785 Merge pull request #1083 from JuannyWang/maxbr_refine
disable delay skip if maxbr==0 (that means no maxbr setting from upper layer)
2014-07-04 18:45:09 +08:00
JuannyWang
c05e1ad797 modify console for disable delay skip if maxbr==0 2014-07-04 18:44:03 +08:00
ruil2
aa1786254a Merge pull request #1082 from mstorsjo/msvc-ltcg
Enable whole program optimization for both decoder and encoder MSVC projects
2014-07-04 18:40:36 +08:00
JuannyWang
24cd5afa33 disable delay skip if maxbr=0 which means no maxbr setting from upper layer 2014-07-04 18:25:55 +08:00
Martin Storsjö
31e3884a68 Enable whole program optimization for both decoder and encoder MSVC projects
Enable it on the project level, instead of having to set separate options
for both compiler and linker.

The processing project actually had the options set in this way originally
as well.
2014-07-04 11:59:45 +03:00
ruil2
0fa845ed27 Merge pull request #1081 from sijchen/scc_param_valid
avoid using AQ which is untuned for screen route
2014-07-04 16:35:02 +08:00
huili2
ef0c3e2b91 Merge pull request #1075 from HaiboZhu/Debug_InvHadamard_Chroma
Debug for chroma inv-hadamard dequant mismatch error
2014-07-04 13:49:36 +08:00
HaiboZhu
5dbd3f01ea Merge pull request #1080 from huili2/enable_ASM_EC
add missing ASM in EC
2014-07-04 13:46:46 +08:00
sijchen
10804f316e avoid using AQ which is untuned for screen route 2014-07-04 11:02:24 +08:00
ruil2
9506f71b43 Merge pull request #1060 from mstorsjo/loopfilter-multithreading
Only force iLoopFilterDisableIdc to 2 if multithreading has been enabled
2014-07-04 10:43:41 +08:00
sijchen
fb4c907ecb Merge pull request #1076 from lyao2/RCdiv
refactor code to eliminate potential div by 0, review at: https://rbcommons.com/s/OpenH264/r/595/
2014-07-04 10:31:38 +08:00
ruil2
2bb23a79ed Merge pull request #1061 from mstorsjo/welsenc-init-defaults
Use GetDefaultParams instead of memset to initialize SEncParamExt in the console test app
2014-07-04 10:21:36 +08:00
huili2
3f5f0d6a57 add missing ASM in EC 2014-07-03 18:43:52 -07:00
Haibo Zhu
da75e15b4a Modify the unit test for WelsDequantIHadamard2x2Dc 2014-07-03 18:40:12 -07:00
Ethan Hugg
35b739c754 Merge pull request #1079 from mstorsjo/linker-flags
Don't pass -L. to the MSVC linker
2014-07-03 12:35:21 -07:00
Martin Storsjö
d9f12135d4 Don't pass -L. to the MSVC linker
This avoids warnings - this parameter isn't necessary on MSVC.
2014-07-03 22:05:55 +03:00
Ethan Hugg
58576712fa Merge pull request #1063 from mstorsjo/unify-makefile
Use += for all submodules INCLUDE variables
2014-07-03 12:00:13 -07:00
Ethan Hugg
f1710e6efb Merge pull request #1074 from mstorsjo/simplify-travis
Simplify the travis configuration, reduce duplicated rebuilds
2014-07-03 09:50:50 -07:00
Martin Storsjö
ab866bef09 Simplify the travis configuration, reduce duplicated rebuilds
The -B make option rebuilds everything from scratch - thus a "make -B",
"make -B test" sequence would first build everything from scratch, then
rebuild (almost) everything and run the tests.

The previous sequence, with "make -B test" without specifying
BUILDTYPE=Debug, meant that it rebuilt a new release build instead
and tested that, thus never actually testing the debug build.

This should reduce the time used for compilation in travis runs
to less than half.

Also explicitly specify BUILDTYPE=Release, for clarity.
2014-07-03 10:43:15 +03:00
dongzha
b9de87ea5d Merge pull request #1077 from mstorsjo/fix-test-out-of-bounds-access
Avoid writing in array index [-1] in DecUT_IntraPrediction
2014-07-03 01:42:43 -06:00
Martin Storsjö
292d78db5c Avoid writing in array index [-1] in DecUT_IntraPrediction
This fixes running the tests when built with clang in debug mode.

This was accidentally broken in 6e815e708 when switched to using
ENFORCE_STACK_ALIGN_1D instead of manually aligning the buffers.

Previously the aligned pointer always had at least 16 bytes of
extra space in the stack before the pointer, so using [-1] was ok,
while now when using ENFORCE_STACK_ALIGN_1D, it's only guaranteed
that the pointer itself is aligned, but not that there's any extra
space before the pointer. Therefore, we need to manually offset
everything by one kiStride extra. (This already was accounted for
in the total number of bytes allocated for the array.)
2014-07-03 10:20:42 +03:00
lyao2
21deaddc48 refactor code to eliminate potential div by 0 2014-07-03 15:01:48 +08:00
Haibo Zhu
e0ba5cd9f3 Debug for Chroma InvHadamard Dequant error 2014-07-02 23:36:44 -07:00
zhilwang
ba7dca89d5 Merge pull request #1070 from mstorsjo/remove-unused-function
Remove an unused function in mktargets.py
2014-07-03 13:48:21 +08:00
zhilwang
56edea9bcd Merge pull request #1066 from mstorsjo/android-cpufeatures-dir
Build the android cpu-features.o file in codec/common/src
2014-07-03 13:47:14 +08:00
zhilwang
0ef26d6a3f Merge pull request #1068 from mstorsjo/android-clean
Ignore failures in cleaning android projects
2014-07-03 13:46:59 +08:00
Martin Storsjö
6e40991cc7 Only force iLoopFilterDisableIdc to 2 if multithreading has been enabled
Previously these lines were within an #ifdef MT_ENABLED block,
but now that threading is enabled by default, we should probably
only do it if threading has been requested.
2014-07-03 08:38:23 +03:00
ruil2
2c250179dc Merge pull request #1071 from ganyangbbl/typo_bug
fix a typo issue in ParamValidation
2014-07-03 11:23:33 +08:00
ruil2
f245dc34ff Merge pull request #1062 from sijchen/scc_md_bgd1
fix BGD under screen and remove a build warning in ME
2014-07-03 11:23:17 +08:00
ganyang
01559a684e fix a typo issue in ParamValidation 2014-07-03 11:02:09 +08:00
Sijia Chen
49fb042f21 add bgd fix to camera route as well to avoid visible artifact when using fake content in video 2014-07-03 11:01:02 +08:00
zhilwang
782e94b05c Merge pull request #1065 from mstorsjo/remove-old-includes
Remove leftover include directories
2014-07-03 09:21:11 +08:00
zhilwang
8e03f0351d Merge pull request #1069 from mstorsjo/generate-targets
Regenerate test/common/targets.mk via the mktargets.sh script as well
2014-07-03 09:20:23 +08:00
sijchen
601105471f Merge pull request #1067 from lyao2/interface_ut_commit
encoder interface UT for temporal layer setting change
2014-07-03 09:07:09 +08:00
Martin Storsjö
323dc793da Remove an unused function in mktargets.py 2014-07-02 16:56:39 +03:00
Martin Storsjö
dd05a655c2 Regenerate test/common/targets.mk via the mktargets.sh script as well 2014-07-02 15:07:02 +03:00
Martin Storsjö
239050d73c Ignore failures in cleaning android projects
If the android test projects hasn't been built yet, the "make clean"
command will stop at "ant clean" (which fails since build.xml doesn't
exist yet). If this happens, one still would want to run the "make
clean" command to the end, cleaning up any possible intermediate object
files (e.g. from a build for a different platform).
2014-07-02 13:42:52 +03:00
lyao2
44faa1c9a7 add encoder interface UT for IDR request 2014-07-02 18:42:05 +08:00
Martin Storsjö
10eeea52fe Build the android cpu-features.o file in codec/common/src
Up until now it was built in codec/common (where all other common
source files were built, until they were split up into
inc/src/x86/arm/arm64).
2014-07-02 13:39:26 +03:00
Martin Storsjö
1c1468210f Remove leftover include directories
codec/common no longer contains headers, they're all in
codec/common/inc now.
2014-07-02 13:31:36 +03:00
Martin Storsjö
96307dfd2e Use += for all submodules INCLUDE variables
This makes it easier for platform specific makefiles to add
things to some of them. (build/platform-android.mk already does this
for a few submodules, e.g. GTEST_INCLUDES and CODEC_UNITTEST_INCLUDES
already use +=.)
2014-07-02 12:28:35 +03:00
Sijia Chen
0a3db78bb9 fix BGD under screen and remove a build warning in ME 2014-07-02 16:50:59 +08:00
Martin Storsjö
4d494cb0f1 Use GetDefaultParams instead of memset to initialize SEncParamExt in the console test app
Most of the default parameters still are overwritten with hardcoded
values in FillSpecificParameters though, but this makes sure that
defaults are applied for any new fields at least.
2014-07-02 11:47:31 +03:00
ruil2
3ef97dc0c9 Merge pull request #1057 from sijchen/scc_md_merge11
[Encoder] Completing and bug-fixing the screen content MD/ME process
2014-07-02 14:02:51 +08:00
ruil2
bdf9f6b4ff Merge pull request #1043 from mstorsjo/avoid-globals
Get rid of global non-readonly variables within the library
2014-07-02 14:01:35 +08:00
ruil2
dce9541199 Merge pull request #1055 from ethanhugg/frameleakonerror
Destroy input frame on GMP encode on error conditions.
2014-07-02 14:01:08 +08:00
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
ruil2
2eb65d7d72 Merge pull request #1053 from mstorsjo/fix-include-spacing
Add proper spacing in include directvies
2014-07-02 09:04:14 +08:00
ruil2
9caf082b4a Merge pull request #1054 from huili2/output_bs_enc
fix when output enabled in encoder
2014-07-02 09:04:01 +08:00
Ethan Hugg
e4a2fad99b Destroy input frame on GMP encode on error conditions. 2014-07-01 09:35:10 -07: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
Martin Storsjö
d2afebd2d7 Add proper spacing in include directvies 2014-07-01 10:55:04 +03:00
sijchen
76bd633d91 Merge pull request #1036 from mstorsjo/test-random
Don't call srand(time()) inside utility functions inside tests 
https://rbcommons.com/s/OpenH264/r/564/
2014-07-01 15:48:07 +08: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
Martin Storsjö
4f594deff9 Don't reset the random number generator within the unit tests
This makes sure we don't accidentally return the same sequence
of random numbers multiple times within one test (which would
be very non-random).

Every time srand(time()) is called, the pseudo random number
generator is initialized to the same value (as long as time()
returned the same value).

By initializing the random number generator once and for all
before starting to run the unit tests, we are sure we don't
need to reinitialize it within all the tests and all the
functions that use random numbers.

This fixes occasional errors in MotionEstimateTest.

MotionEstimateTest was designed to allow the test to occasionally
not succeed - if it didn't succeed, it tried again, up to 100 times.
However, since the YUVPixelDataGenerator function reset the random
seed to time(), every attempt actually ran with the same random
data (as long as all 100 attempts ran within 1 second) - thus if
one attempt in MotionEstimateTest failed, all 100 of them would
fail. If the utility functions don't touch the random seed,
this is not an issue.
2014-07-01 10:20:45 +03: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
ruil2
08f66e52a0 Merge pull request #1046 from mstorsjo/share-tables
Share some tables and definitions between the encoder and decoder
2014-07-01 08:53:44 +08:00
ruil2
1fa1d2f1c1 Merge pull request #1049 from ethanhugg/frameleak
Fix for memory leak of input frames in encoder.
2014-07-01 08:51:52 +08:00
ruil2
aa2cfef310 Merge pull request #1048 from ethanhugg/maxnal-revert
Revert "add max nal size setting in gmp wrapper"
2014-07-01 08:50:52 +08:00
Ethan Hugg
8662eca2c3 Fix for memory leak of input frames in encoder. 2014-06-30 16:59:50 -07:00
Ethan Hugg
ce5268076c Revert "add max nal size setting in gmp wrapper"
This reverts commit a20c503d14.
2014-06-30 13:58:28 -07: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
zhilwang
704cad26f5 Merge pull request #1038 from mstorsjo/avoid-manual-alignment
Use ENFORCE_STACK_ALIGN_1D instead of manually doing stack buffer alignment
2014-06-30 10:00:44 +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ö
6e815e708d Use ENFORCE_STACK_ALIGN_1D instead of manually doing stack buffer alignment 2014-06-29 00:55:46 +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
Ethan Hugg
894f073e4b Merge pull request #1027 from mstorsjo/fix-chmod
Clear the executable bit from new assembly source files
2014-06-27 09:32:09 -07:00
Martin Storsjö
e16487d416 Clear the executable bit from new assembly source files 2014-06-27 18:45:13 +03:00
zhilwang
19e593059a Merge pull request #1028 from mstorsjo/fix-arm64-asm
Fix building intra_pred_sad_3_opt_aarch64_neon.S with gnu binutils
2014-06-27 19:21:15 +08: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
huili2
f71cf37818 Merge pull request #1023 from ruil2/remove_check
only supports fixed LTR_NUM for screen and camera
2014-06-27 13:14:20 +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
zhilwang
0f4499121a Merge pull request #1019 from mstorsjo/android-build-deps
Generate dependencies while building for android
2014-06-27 10:07:31 +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
ruil2
b3141edcbd Merge pull request #1022 from mstorsjo/const-tables
Make some tables const where easily possible
2014-06-27 09:01:23 +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
Martin Storsjö
16a4066e7f Generate dependencies while building for android 2014-06-26 15:11:17 +03:00
huili2
32d5c22a9a Merge pull request #1018 from ruil2/remove_check
remove more checking
2014-06-26 17:40:19 +08:00
ruil2
04d7e63a58 remove more checking 2014-06-26 17:18:25 +08:00
HaiboZhu
4f403ac015 Merge pull request #1017 from ruil2/remove_check
remove temporal layer checking
2014-06-26 16:48:51 +08:00
ruil2
3a0777201c remove temporal layer checking 2014-06-26 16:17:46 +08:00
huili2
14f2fe214f Merge pull request #1016 from syureyi/iosat
for auto testing
2014-06-26 11:27:17 +08:00
zhuling13
8b1b0b6582 for auto testing 2014-06-25 19:57:39 -07:00
ruil2
e1152f9483 Merge pull request #1015 from huili2/astyle_all_UT
astyle all
2014-06-26 10:25:56 +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
Ethan Hugg
f9abd70eeb Merge pull request #1008 from mstorsjo/plugin-build
Clean up minor aspects of the plugin build process
2014-06-25 09:30: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
huili2
7b461e109e Merge pull request #1013 from ruil2/command_db
add iSubSeqId calculation
2014-06-25 17:26:22 +08:00
ruil2
efc5bbd9fb format update 2014-06-25 16:37:00 +08:00
zhilwang
f9654726cf Merge pull request #1011 from mstorsjo/ignore-gmp
Add the external directory gmp-api to gitignore
2014-06-25 16:20:48 +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
huili2
542f8fc053 Merge pull request #1007 from ruil2/gmp_idr
add IDR processing in gmp wrapper
2014-06-25 15:57:03 +08: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
Martin Storsjö
8cdf6aac15 Add the external directory gmp-api to gitignore 2014-06-25 09:55:46 +03: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
ruil2
1ba24912c7 Merge pull request #1009 from mstorsjo/remove-unused-var
Remove an unused variable
2014-06-25 14:38:56 +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
Martin Storsjö
0f1f158d8b Don't build an unused libmodule.a file
This also avoids another manual edit in module/targets.mk. Now
the file is completely autogenerated by the build/mktargets.sh
script, just as all the other targets.mk files.
2014-06-25 09:12:06 +03:00
Martin Storsjö
5e9492cb6e Use a less generic name for linking to STL when building the plugin for android
This matches the common naming scheme more closely for adding extra
flags to individual parts of the build.

Also deduplicate the static stlport lib name.
2014-06-25 09:12:06 +03:00
Martin Storsjö
a24b781e54 Make sure that libgmpopenh264.so is removed on "make clean"
Nothing used the makefile variable $(PLUGINS), and $(LIBRARIES)
is only used for the clean target.
2014-06-25 09:12:01 +03:00
ruil2
99cfac6aa0 add IDR processing in gmp wrapper 2014-06-25 14:11:58 +08:00
Martin Storsjö
b3f7896a51 Inject STL_INCLUDES via MODULE_INCLUDES for the gmp plugin
This avoids having to rely on manual modifications to targets.mk,
which are overwritten if the targets.mk files are regenerated
via the script.
2014-06-25 08:59:55 +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
Ethan Hugg
3f333b01fd Merge pull request #1004 from emannion/android_plugin
building plugin on Android
2014-06-24 08:44:04 -07:00
enda mannion
7c0b92e3f6 building plugin on Android 2014-06-24 12:32:09 +01: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
huili2
bcdb91183f Merge pull request #1002 from ganyangbbl/slicectx_bugfix
fix overflow issue caused by pCountMbNumInSlice
2014-06-24 13:23:02 +08:00
ganyang
43b56d9981 fix overflow issue caused by pCountMbNumInSlice 2014-06-23 17:25:20 +08:00
ruil2
f40b964526 update unit test code to support name change 2014-06-23 16:38:45 +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
ac1630f435 Merge pull request #999 from ruil2/format_update
add max nal size setting in gmp wrapper
2014-06-23 14:50:52 +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
ruil2
a20c503d14 add max nal size setting in gmp wrapper 2014-06-23 12:47:52 +08:00
huili2
699ed2e2a2 Merge pull request #998 from ruil2/format_update
astyle gmp-openh264.cpp
2014-06-23 12:20:49 +08:00
ruil2
9500d549ec astyle gmp-openh264.cpp 2014-06-23 11:08:07 +08:00
huili2
dc56892d72 misaligned_rc_structure 2014-06-22 18:47:33 -07:00
Ethan Hugg
2d345fa912 Merge pull request #996 from mstorsjo/fix-chmod
Remove the executable bit from aarch64 assembly source files
2014-06-22 11:48:20 -07:00
Martin Storsjö
30058e091f Remove the executable bit from aarch64 assembly source files 2014-06-22 21:36:22 +03:00
huili2
fa0eee2470 Merge pull request #990 from zhilwang/arm64-intrapred
Add Arm64 neon Intra-pred code
2014-06-21 07:03:24 +08:00
huili2
777a3951aa Merge pull request #995 from huili2/permit_mb_re-con
enable MB re-decoding
2014-06-21 07:02:27 +08:00
huili2
e95d1f16f4 Merge pull request #994 from huili2/fix_sps_crash_with_ec
sps storage bug fix for error bitstream
2014-06-20 17:59:06 +08:00
huili2
f9152e6f40 fix crash 1027692 2014-06-20 02:21:54 -07:00
huili2
95012b0af6 enable MB re-decoding 2014-06-20 02:01:02 -07:00
dongzha
dd5b9b89f6 Merge pull request #991 from huili2/reorder_output_EC
put EC before output
2014-06-20 16:19:14 +08:00
ruil2
f49fa81d42 add interface parameter(profile/levle/numref) support 2014-06-20 16:02:56 +08:00
HaiboZhu
497b8dea84 Merge pull request #989 from HaiboZhu/win64_remove_warnings
Win64 remove warnings
2014-06-20 15:57:36 +08:00
dongzha
2f012f6e07 Merge pull request #986 from ruil2/rename
rename some varialbes
2014-06-20 10:00:37 +08:00
dongzha
b750a3b974 Merge pull request #985 from ruil2/encoder_check
input parameters validation
2014-06-20 09:58:53 +08:00
Haibo Zhu
998d012ea7 try 2014-06-19 18:46:19 -07:00
Haibo Zhu
dbe226b7cc try 2014-06-19 18:35:56 -07:00
Haibo Zhu
34fda74674 more remove 2014-06-19 18:35:56 -07:00
Haibo Zhu
f8ab6b3aa0 remove extra update 2014-06-19 18:33:58 -07:00
Haibo Zhu
443609286e modification about welsenc.cpp 2014-06-19 18:31:39 -07:00
Haibo Zhu
daf67d607f add win 64 warnings remove 2014-06-19 18:31:39 -07:00
Ethan Hugg
0dcb7584b5 Merge pull request #988 from emannion/master
string include fix for 64bit windows build
2014-06-19 09:08:54 -07:00
Enda
68987b0ab8 string include fix for 64bit windows build 2014-06-19 15:16:45 +01:00
ruil2
64c3f63aab Merge pull request #987 from ganyangbbl/rc_init_bug
fix rc initialize bug
2014-06-19 16:09:26 +08:00
ganyang
22342648af fix rc initialize bug 2014-06-19 15:36:48 +08:00
ruil2
b1efc8f723 rename some varialbes 2014-06-19 15:24:13 +08:00
huili2
6613de7595 Merge pull request #984 from ruil2/error_remove
update initilaization of m_pLastSpatialPicture
2014-06-19 15:12:42 +08:00
ruil2
15e225ab35 check resolution configure 2014-06-19 15:11:02 +08:00
ruil2
66447349f6 check the number of spatial layer for screen content 2014-06-19 14:46:04 +08:00
ruil2
2242214368 update initilaization of m_pLastSpatialPicture 2014-06-19 13:12:39 +08:00
ruil2
a6f44f5f79 Merge pull request #983 from JuannyWang/delay_skip
[delay skip] delay skip to relieve bitrate burst somehow
2014-06-19 12:25:33 +08:00
JuannyWang
45c78f438e Squashed commit of the following:
commit 9c95d6a0b10d2e40cb5003934ccc98af6330dfcb
Author: JuannyWang <hongjwan@cisco.com>
Date:   Thu Jun 19 10:43:15 2014 +0800

    [delay skip] delay skip to relieve bitrate burst somehow
2014-06-19 10:46:49 +08:00
huili2
d1437f2304 remove unused param to prevent access violation 2014-06-18 19:40:54 -07:00
huili2
37b64fc9d6 Merge pull request #982 from huili2/d3d9_fix
add missing declaration of members for render
2014-06-18 21:59:18 +08:00
huili2
fe0f10a063 add missing declaration of members for render 2014-06-18 02:14:29 -07:00
dongzha
51af10a25b Merge pull request #968 from huili2/render_syureyi
support rendering changing resollution output yuv on windows platform
2014-06-18 13:55:04 +08:00
dongzha
b4112bc886 Merge pull request #979 from huili2/modify_DecUT_intra
Prevent misaligned warning in UT
2014-06-18 13:19:57 +08:00
dongzha
b5e1746b87 Merge pull request #978 from huili2/ULL_insteadof_LL
remove multiplication overflow warning by ULL instead of LL
2014-06-18 13:19:44 +08:00
dongzha
cf4026a948 Merge pull request #976 from huili2/modify_EncUT_scroll_xplatform
to support cross-platform LD32 in scroll detection
2014-06-18 13:19:20 +08:00
ruil2
778275ee1b Merge pull request #980 from huili2/enc_remove_bsflush
remove unnecessary flush buffer in encoder
2014-06-18 11:32:43 +08:00
ruil2
4cc4f364d6 Merge pull request #981 from ethanhugg/gmp_rollup
Rollup of Gecko Media Plugin patches
2014-06-18 11:17:25 +08:00
Ethan Hugg
0bc0b71ef3 Rollup of Gecko Media Plugin patches 2014-06-17 19:54:16 -07:00
huili2
887b2727f0 remove multiplication overflow warning by ULL instead of LL 2014-06-17 18:51:09 -07:00
huili2
6d0c89663d Prevent misaligned warning in UT 2014-06-17 18:42:25 -07:00
huili2
5263eeb973 to support cross-platform UT of lD/ST 32 in scroll detection 2014-06-17 18:18:46 -07:00
Ethan Hugg
aaa5bcc157 Merge pull request #975 from mstorsjo/cleanup-asm
Clean up the aarch64 deblocking assembly
2014-06-17 08:33:46 -07:00
huili2
971ccccab4 remove unnecessary flush buffer in encoder 2014-06-17 02:40:28 -07:00
Martin Storsjö
720f8dcc52 Fix building the deblocking aarch64 assembly with gnu binutils 2014-06-17 10:10:50 +03:00
huili2
127749c454 Merge pull request #974 from ruil2/bitrate
fix a bug that dump reconstruct frame
2014-06-17 15:06:09 +08:00
Martin Storsjö
b9477cdb94 Unify the copyright header in the aarch64 deblocking assembly
This file was the only one that had a differently formatted
copyright header.
2014-06-17 10:02:57 +03:00
Martin Storsjö
062937ac5a Unify the indentation of the new aarch64 assembly 2014-06-17 10:01:23 +03:00
Martin Storsjö
d15534ecb8 Get rid of mixed tabs and spaces in the aarch64 assembly 2014-06-17 10:00:07 +03:00
ruil2
c635ce442f fix a bug that dump reconstruct frame 2014-06-17 14:48:39 +08:00
dongzha
8662a55bc3 Merge pull request #973 from ruil2/bitrate
add bitrate validation
2014-06-17 11:18:11 +08:00
ruil2
ce870bf20e add bitrate validation 2014-06-17 11:08:38 +08:00
sijchen
61017a2d4d Merge pull request #969 from ruil2/cleanup_encoder
cleanup interface parameters
2014-06-17 09:46:48 +08:00
ruil2
1111757977 Merge pull request #967 from dongzha/Deblock_AArch64
add arm 64 deblock code and Unit Test code
2014-06-16 17:19:25 +08:00
ruil2
7acf0e5b02 cleanup interface parameters 2014-06-16 17:17:24 +08:00
root
67afd91888 put EC before output 2014-06-15 23:14:31 -07:00
zhiliang wang
cfc2b95f59 Refine some code 2014-06-13 16:06:45 +08:00
zhiliang wang
947e3c64fe Add arm64 code for intra-pred 2014-06-13 15:21:48 +08:00
huili2
1b68890e1e modify render for display diff resolution 2014-06-12 22:23:40 -07:00
huili2
91cd93e5d0 Merge pull request #962 from dongzha/UseIntInRC
Use Int instead of Double in Rate Control and Modify anchor SHA1 value
2014-06-13 10:59:50 +08:00
dongzha
53f77ee7b5 Merge pull request #954 from huili2/instant_dec
enable no-delay decoding for MSlice
2014-06-13 10:58:25 +08:00
dongzha
f6ce43f83b Use Int instead of Double in Rate Control and Modify anchor SHA1 value 2014-06-12 17:30:13 +08:00
sijchen
0c09847ec9 Merge pull request #965 from ruil2/uinit_fix
fix #948 issue -- Using unititialized value in unittest.
2014-06-12 16:46:40 +08:00
ruil2
1d37889ee1 Merge pull request #966 from lyao2/scc_ltr_num_setoption
fix SetOption scc ltr_ref_num casued memory leak issue.
2014-06-12 16:37:18 +08:00
lyao2
79ef0e19b2 fix SetOption scc ltr_ref_num casued memory leak issue. 2014-06-12 16:15:29 +08:00
ruil2
17d47533ed fix #948 issue -- Using unititialized value in unittest. 2014-06-12 15:20:10 +08:00
dongzha
492627977e Merge pull request #961 from ruil2/expand_update
update expand picture UT
2014-06-12 10:46:06 +08:00
ruil2
1e43075b25 update expand picture UT 2014-06-12 09:37:30 +08:00
dongzha
c38126b094 Merge pull request #958 from ruil2/trace_update
move trace related info to interface header
2014-06-12 09:15:29 +08:00
Ethan Hugg
0bb23924f0 Merge pull request #957 from huili2/fix_bug_invalid_reading
access violation for array to fix issue #949
2014-06-11 15:03:14 +00:00
ruil2
44b048edd6 move trace related info to interface header 2014-06-11 17:05:40 +08:00
huili2
24553c2e4a access violation for array 2014-06-10 22:28:30 -07:00
ruil2
84c1f3a4ee Merge pull request #945 from mstorsjo/log-callback
Don't use a global trace level, allow user-specified trace callbacks
2014-06-11 13:25:48 +08:00
huili2
7574e5c1db Merge pull request #953 from ruil2/codec_fix
fix a typo
2014-06-11 13:14:39 +08:00
Martin Storsjö
090229f8a1 Add public options for setting a log callback 2014-06-11 08:08:56 +03:00
Martin Storsjö
dc91e0958b Integrate the lone function from logging.cpp into welsCodecTrace.cpp 2014-06-11 08:08:56 +03:00
Martin Storsjö
6e5f31214a Add a method for overriding the logging function in welsCodecTrace 2014-06-11 08:08:56 +03:00
Martin Storsjö
ce8065fe68 Don't use global variables in welsCodecTrace
This allows actually honoring the requested log level
properly if there are multiple codec instances within
the same process.
2014-06-11 08:08:56 +03:00
Martin Storsjö
cb5ee6c239 Remove the global log callback function
Now all logging should use a non-null log context, allowing to
pass the messages to the right recipient.
2014-06-11 08:08:56 +03:00
Martin Storsjö
b2cf56c618 Set a log context in the decoder 2014-06-11 08:08:55 +03:00
Martin Storsjö
9583ac4d52 Set and use a proper log context in the encoder 2014-06-11 08:08:55 +03:00
Martin Storsjö
8bac9315e6 Expose a SLogContext from welsCodecTrace 2014-06-11 08:08:29 +03:00
Martin Storsjö
4e428ab020 Add a log context to the encoder and decoder contexts
This will allow setting non-global logging callbacks, that
are different for each encoder or decoder instance.
2014-06-11 08:08:29 +03:00
Martin Storsjö
c8b81b4239 Only keep one single trace function pointer in welsCodecTrace 2014-06-11 08:08:29 +03:00
Martin Storsjö
20e889fadb Change CM_WELS_TRACE to take a plain string, not a format and variadic arguments
The format string was always "%s" anyway.
2014-06-11 08:08:29 +03:00
Martin Storsjö
5e22d5366e Remove the unused level parameter to welsStderrLevelTrace 2014-06-11 08:08:29 +03:00
Martin Storsjö
cfc9367610 Remove WelsStderrSetTraceLevel
The logging level is checked in welsCodecTrace anyway.

Previously, error logging wasn't ever shown if the trace
level was set to WELS_LOG_ERROR (as it was by default),
since welsStderrLevelTrace required the message level to
be strictly lower than the trace level.
2014-06-11 08:08:29 +03:00
Martin Storsjö
90be3d8215 Don't treat log levels as a bitmask
All use of log levels in the library just do a numerical
greater-than comparison between the set log level and the
level of the current message.
2014-06-11 08:08:29 +03:00
Martin Storsjö
0628c9b190 Set the trace level in the decoder console app via a proper option 2014-06-11 08:08:29 +03:00
Martin Storsjö
573dad7d04 Add a decoder option for setting the trace level 2014-06-11 08:08:29 +03:00
Martin Storsjö
77c3594e08 Actually set the trace level in the encoder console app 2014-06-11 08:08:29 +03:00
Martin Storsjö
c4a59690da Allow setting the trace level before initializing the encoder 2014-06-11 08:08:29 +03:00
Martin Storsjö
1bccef940c Read the right command line arguments in h264dec.cpp
pArgV[i++] evalates to the same string as cmd (which is
pArgV[i]); we need to increment i before indexing into
pArgV again.
2014-06-11 08:08:29 +03:00
Martin Storsjö
4f1ea1c4f8 Remove some unused typedefs 2014-06-11 08:08:29 +03:00
ruil2
a79c54cde7 fix a typo 2014-06-11 12:04:59 +08:00
ruil2
587a8b20f4 Merge pull request #951 from dongzha/AddArm64UnitTestEP
Ignore a special case for expand chroma picture under X86_ASM to fix issue #947
2014-06-11 10:43:45 +08:00
huili2
6f0cdd14f8 enable no-delay decoding for MSlice 2014-06-10 19:25:57 -07:00
dongzhang
fa137a93e9 Ignore a special case for expand chroma picture under X86_ASM 2014-06-11 10:05:29 +08:00
Ethan Hugg
e388bfc371 Merge pull request #939 from mstorsjo/fix-msvc-build
Use the ENFORCE_STACK_ALIGN_2D instead of the compiler-specific align attribute
2014-06-10 20:04:47 +00:00
Ethan Hugg
5f65de0ef4 Merge pull request #944 from mstorsjo/ios-test
Build libgtest.a and libopenh264.a when doing "make test" for iOS
2014-06-10 11:04:57 -07:00
Ethan Hugg
1d679a8357 Merge pull request #940 from mstorsjo/minor-cleanup
Minor cleanups
2014-06-10 11:02:43 -07:00
Martin Storsjö
314f732333 Use the ENFORCE_STACK_ALIGN_2D instead of the compiler-specific align attribute
This fixes building with MSVC.
2014-06-10 17:06:18 +03:00
Martin Storsjö
65616c2c53 Use a more descriptive include guard in the welsEncoder/DecoderExt.h files 2014-06-10 17:06:14 +03:00
Martin Storsjö
e6ba730c59 Remove a misleading comment
This comment claimed to be a completely different file.
2014-06-10 17:06:13 +03:00
Martin Storsjö
1ea50e209a Fix a typo, setttings -> settings 2014-06-10 17:06:13 +03:00
Martin Storsjö
1b3dca6b7d Build libgtest.a and libopenh264.a when doing "make test" for iOS 2014-06-10 16:10:48 +03:00
ruil2
5cad8a60c9 Merge pull request #941 from mstorsjo/test-multilayer-bitrate
Set a sensible total bitrate when testing multilayer encoding
2014-06-10 16:53:44 +08:00
ruil2
f9b7746ea1 Merge pull request #942 from mstorsjo/log-cleanup
Clean up some of the logging/trace files
2014-06-10 16:52:54 +08:00
Martin Storsjö
19ea4244f5 Set a sensible total bitrate when testing multilayer encoding
The previous encoder parameters triggered warning logging in
the encoder.
2014-06-10 11:04:45 +03:00
Martin Storsjö
cc65a1d76c Don't include a [ENCODER]: prefix in all logging
The same trace module is used for the decoder now as well.
2014-06-10 10:52:26 +03:00
Martin Storsjö
17fc6bd66e Remove the unnecessary method WelsTraceModuleIsExist(), which always returned true 2014-06-10 10:52:26 +03:00
Martin Storsjö
d93488448e Remove some commented out lines 2014-06-10 10:52:26 +03:00
Martin Storsjö
968d87045d Remove an unnecessary local function 2014-06-10 10:52:26 +03:00
Martin Storsjö
40af75c19d Remove the unnecessary WelsSet/GetLogLevel functions
Nothing actually used the variable that these functions
handled.
2014-06-10 10:52:06 +03:00
Martin Storsjö
ba1de16ac2 Make internal logging variables static
This avoids polluting the global namespace.
2014-06-10 09:28:45 +03:00
Martin Storsjö
ab4fe3fdf4 Remove an unused variable 2014-06-10 09:27:54 +03:00
dongzhang
0e0c8b5569 add arm 64 deblock code and Unit Test code 2014-06-10 11:23:51 +08:00
ruil2
eb889c95e0 Merge pull request #938 from dongzha/AddArm64UnitTestEP
add ARM32/64 Unit Test for Expand Picture
2014-06-10 11:12:49 +08:00
huili2
a6ebecd707 Merge pull request #936 from ruil2/trace_cleanup
cleanup trace module
2014-06-10 10:55:46 +08:00
huili2
ee4341892c Merge pull request #937 from ruil2/enc_warnings_1
clean build warning related encoder
2014-06-10 10:55:31 +08:00
ruil2
5aa7cdedb8 clean build warning related encoder 2014-06-10 10:39:44 +08:00
ruil2
4c12f8970c cleanup trace module 2014-06-10 10:24:45 +08:00
ruil2
eceb4e51ad Merge pull request #933 from huili2/fix_bug_UT_GetIntraPred
fix memory leak in EncUT_GetIntraPredictor
2014-06-10 10:22:37 +08:00
ruil2
88e7637a33 Merge pull request #935 from lyao2/pskip_commit_
remove ubuntu build warning
2014-06-10 10:22:18 +08:00
dongzhang
cf9e21febd add ARM32/64 Unit Test for Expand Picture 2014-06-10 09:38:08 +08:00
lyao2
41f3e2e0cf remove ubuntu build warning 2014-06-10 09:37:34 +08:00
huili2
9f822f1391 Merge pull request #932 from dongzha/AddArm64UnitTestMC
add ARM32 and ARM 64 Unit Test for Motion Compensation
2014-06-10 09:32:48 +08:00
huili2
01322d11ff fix memory leak in EncUT_GetIntraPredictor 2014-06-09 18:12:03 -07:00
ruil2
cc66c999b0 Merge pull request #930 from mstorsjo/cleanup-asm
Do some minor cleanups on the x86 assembly source
2014-06-09 16:27:52 +08:00
ruil2
d516a1aa57 Merge pull request #929 from lyao2/pskip_commit_
enable static/scroll Pskip functions
2014-06-09 16:19:34 +08:00
syureyi
eb115ad42a add ARM and ARM 64 Unit Test for Motion Compensation 2014-06-09 16:19:29 +08:00
Martin Storsjö
d1a00d8173 Remove mismatched chars at the end of a line marker
None of the other markers close by have similar chars.
2014-06-09 11:11:25 +03:00
Martin Storsjö
7bc3e944ad Get rid of uneven spacing after WELS_EXTERN 2014-06-09 11:03:25 +03:00
lyao2
1d79a1ac80 enable static/scroll Pskip functions 2014-06-09 15:57:15 +08:00
sijchen
5cbe4a40d3 Merge pull request #926 from ruil2/enc_reforg
add ref-original frame assigment
2014-06-09 10:17:13 +08:00
HaiboZhu
b6ed8cc767 Merge pull request #928 from syureyi/iosutdemo
Iosutdemo
2014-06-09 09:56:26 +08:00
lingzhu
7818c4f30b Update platform-ios.mk 2014-06-09 09:22:54 +08:00
ruil2
2adc22cae3 Merge pull request #927 from mstorsjo/remove-leftover-references
Remove leftover references to xcode test projects
2014-06-09 09:17:23 +08:00
zhuling13
647182d67c remove comments 2014-06-08 18:12:21 -07:00
zhuling13
ac285dd521 delete test project 2014-06-06 02:46:39 -07:00
zhuling13
cb1c0f9b5a modify 2014-06-06 02:44:22 -07:00
Martin Storsjö
e1f28cea96 Remove the now unused XCTest.framework references 2014-06-06 10:34:39 +03:00
Martin Storsjö
7773506b00 Remove leftover references to the newly removed test projects 2014-06-06 10:32:26 +03:00
ruil2
74df3e9553 add ref-original frame assigment 2014-06-06 15:24:31 +08:00
lyao2
42d06a1276 Merge pull request #924 from ruil2/expand_pic_1
resolve unit test warnings
2014-06-06 15:13:10 +08:00
HaiboZhu
08377f37f3 Merge pull request #916 from huili2/dynamic_dec_au_size
enable dynamic AU size in decoder
2014-06-06 14:27:08 +08:00
ruil2
a46b1aa86e Merge pull request #923 from zhilwang/satd-arm64
Add arm64 neon code for Satd.
2014-06-06 14:05:53 +08:00
ruil2
3d031ee8f8 Merge pull request #925 from lyao2/pskip_func_commit
add pskip MD functions
2014-06-06 14:04:35 +08:00
lyao2
c6e7814b57 add pskip MD functions 2014-06-06 13:51:32 +08:00
ruil2
2d61c97bc7 remove a redundant file in encDemo project 2014-06-06 13:34:32 +08:00
ruil2
ece06b37da resolve unit test warnings 2014-06-06 13:29:30 +08:00
ruil2
6fbda11d02 Merge pull request #920 from mstorsjo/remove-ios-tests
Remove unnecessary autogenerated stub iOS test projects
2014-06-06 12:32:37 +08:00
zhiliang wang
5d7e18de54 Add arm64 neon code for Satd. 2014-06-06 09:33:15 +08:00
Martin Storsjö
837a582510 Remove unnecessary autogenerated stub iOS test projects
The actual unit tests will be hooked up in a separate project.
2014-06-05 12:13:58 +03:00
zhuling13
310137d045 t 2014-06-05 01:40:28 -07:00
zhuling13
0c5350c58d modify 2014-06-05 01:36:05 -07:00
zhuling13
40a2186093 add iosutdemo 2014-06-05 01:28:57 -07:00
zhuling13
d6ac7f4a60 add iosutdemo 2014-06-05 01:20:50 -07:00
dongzha
51b2ff84fc Merge pull request #918 from syureyi/de7621
for cleaning .o and .d files generated by android demo
2014-06-05 10:02:24 +08:00
zhuling13
6bf7ad4e2b and space to colon, modify bad note 2014-06-04 18:23:19 -07:00
ruil2
eb31cf1d4b Merge pull request #917 from KentoMoriwaki/fix/ios-demo-build
Update common.xcodeproj to build successfully
2014-06-05 09:10:21 +08:00
Kento
977d7cd0b3 Update common.xcodeproj to build successfully 2014-06-04 17:28:48 +09:00
dongzha
17d5422c8c Merge pull request #915 from ruil2/expand_pic_1
update decoder mac project for expand picture files position change
2014-06-04 10:57:09 +08:00
ruil2
030492de19 update decoder mac project for expand picture files position change 2014-06-04 10:08:58 +08:00
ruil2
f408fdf5f0 Merge pull request #914 from licaiguo/remove-unused-args
remove unused argument pBlock
2014-06-04 09:01:04 +08:00
Licai Guo
ba1716d846 remove unused argument pBlock 2014-06-03 06:36:07 -07:00
ruil2
d4d0b5959a Merge pull request #913 from JuannyWang/ios_build_error
fix encoder ios build error caused by expand_pic.cpp missing from project config...
2014-06-03 17:38:17 +08:00
JuannyWang
fbacfbdb69 fix ios build error caused by expand_pic.cpp missing from project configuration 2014-06-03 17:17:17 +08:00
zhuling13
b4c8f6b778 for cleaning .o and .d files generated by android demo 2014-06-02 20:21:10 -07:00
Ethan Hugg
c2c355b623 Merge pull request #911 from mstorsjo/reformat-asm
Convert all tabs to spaces in assembly sources, unify indentation
2014-06-02 07:12:30 -07:00
Ethan Hugg
d999833517 Merge pull request #910 from mstorsjo/android-gitignore
Ignore generated files in the new android test project
2014-06-02 07:07:48 -07:00
Ethan Hugg
9b6df8a267 Merge pull request #905 from mstorsjo/cleanup-android-projects
Cleanup android test projects
2014-06-02 07:06:54 -07:00
Martin Storsjö
57f6bcc4b0 Convert all tabs to spaces in assembly sources, unify indentation
Previously the assembly sources had mixed indentation consisting
of both spaces and tabs, making it quite hard to read unless
the right tab size was used in the editor.

Tabs have been interpreted as 4 spaces in most cases, matching
the surrounding code.
2014-06-01 01:35:43 +03:00
Martin Storsjö
faaf62afad Get rid of double spaces in macro declarations 2014-06-01 01:13:01 +03:00
Martin Storsjö
ac03b8b503 Avoid unnecessary tabs in macro declarations 2014-06-01 01:13:01 +03:00
Martin Storsjö
1884c06652 Remove a redundant definition of WELSEMMS
The same definition already exists in asm_inc.asm.
2014-06-01 01:13:01 +03:00
Martin Storsjö
4b0dbd7bd1 Ignore generated files in the new android test project 2014-06-01 00:57:26 +03:00
Martin Storsjö
932a38abc0 Reformat the copyright header of deblocking_neon.S
This makes it identical to the ones in the other files.
2014-05-31 13:44:21 +03:00
sijchen
ba2329a9c0 Merge pull request #904 from ruil2/expand_pic_1
clean up expand picture.
2014-05-30 17:25:11 +08:00
volvet
f449033ea8 Merge pull request #906 from mstorsjo/fix-chmod
Unset the executable bit on source files
2014-05-30 17:20:58 +08:00
ruil2
102dc5f0f0 Merge pull request #907 from mstorsjo/warning-fix
Get rid of some build warnings
2014-05-30 17:15:27 +08:00
Martin Storsjö
af2666fde3 Initialize a variable to avoid warnings about possibly uninitialized use 2014-05-30 11:32:42 +03:00
Martin Storsjö
322ce39e98 Remove an unused variable
This fixes warnings about variables that are set but not used.
2014-05-30 11:32:22 +03:00
Martin Storsjö
f0240ef3bb Use the right data type for a local variable
All the values assigned into this variable, and compared with this
variable, are int32_t.

This avoids warnings about comparison between signed and unsigned
types.
2014-05-30 11:31:48 +03:00
Martin Storsjö
388a93fe25 Enlarge pLongRefList to avoid accesses out of bounds
This fixes warnings about "array subscript is above array bounds".
2014-05-30 11:31:11 +03:00
Martin Storsjö
a294cad5c8 Change directory to /sdcard before running the unit tests on android
This allows placing the test files in /sdcard/res before running
the test. Previously, the current directory was /, and writing
data into /res isn't possible on non-rooted phones.
2014-05-30 11:04:54 +03:00
Martin Storsjö
a0c9f8c9a0 Remove the stock example icons
A test application like these ones can do just fine without any icon
at all - there's no need to bundle 8 different extra binary images
just for that.
2014-05-30 11:04:54 +03:00
Martin Storsjö
70c81e27e8 Remove an unused menu resource file 2014-05-30 11:04:54 +03:00
Martin Storsjö
1bb73e017e Remove useless declarations from Application.mk
OPTIM_debug isn't set by anything in this project, and APP_ABI
is set directly when invoking ndk-build - we don't use these
declarations at all.
2014-05-30 11:04:54 +03:00
Martin Storsjö
4a0afc0347 Fix building the android unittest when targeting older android versions 2014-05-30 11:04:54 +03:00
Martin Storsjö
7790ec4a17 Use a correct format string in the unittest JNI wrapper 2014-05-30 11:04:54 +03:00
Martin Storsjö
e276ae3c2f Convert android resource xml files to unix newlines
Some of these files actually had mixed line endings previously.
2014-05-30 11:04:54 +03:00
Martin Storsjö
d463541082 Convert the android unit test source file to unix newlines 2014-05-30 11:04:54 +03:00
Martin Storsjö
2a65a32de1 Remove stray " in android layout xml files 2014-05-30 11:04:54 +03:00
Martin Storsjö
f2948dce67 Unset the executable bit on source files 2014-05-30 09:46:15 +03:00
ruil2
14e5d740cd clean up expand picture. 2014-05-30 11:05:31 +08:00
HaiboZhu
78eed44d15 Merge pull request #901 from syureyi/androidut
Androidut
2014-05-30 09:53:02 +08:00
dongzha
80fdf09b26 Merge pull request #903 from zhilwang/arm64-sad
Add Arm64 sad code
2014-05-30 09:26:04 +08:00
huili2
bed18c26c3 enable dynamic AU size in decoder 2014-05-29 18:15:16 -07:00
HaiboZhu
7de6eb2bad Merge pull request #902 from huili2/remove_No_Waiting_Au
remove macro NO_WAITING_AU for always on
2014-05-29 09:46:07 +08:00
huili2
0adb3e1b9c remove macro NO_WAITING_AU for always on 2014-05-28 17:56:56 -07:00
huili2
153fa10dc5 Merge pull request #898 from ruil2/enc_rc_4
simplify stash pop bs
2014-05-28 16:21:10 +08:00
huili2
85e5108452 Merge pull request #900 from ruil2/enc_warnings
fix a bug that if..else are grouped incorrectly
2014-05-28 16:14:29 +08:00
ruil2
c1620f3868 fix a bug that if..else are grouped incorrectly 2014-05-27 16:13:24 +08:00
sijchen
43f7c3c748 Merge pull request #899 from ruil2/enc_warnings
format update by using astyle
2014-05-27 15:33:56 +08:00
ruil2
044af8f674 format update by using astyle 2014-05-27 15:16:43 +08:00
ruil2
c8299d7d8f simplify stash pop bs 2014-05-27 14:51:09 +08:00
dongzha
36c7b556e3 Merge pull request #896 from ruil2/enc_rc_4
fix vlc overflow
2014-05-27 13:53:35 +08:00
ruil2
db11ba7a34 fix vlc overflow 2014-05-27 13:18:52 +08:00
ruil2
3c3d4ef64b Merge pull request #897 from lyao2/blockidc
add blockstaticidc pointer for MD
2014-05-27 10:05:18 +08:00
huili2
ce0d371c98 Merge pull request #895 from ruil2/enc_rc_1
remove redundant code for mb qp calculation
2014-05-26 15:15:26 +08:00
ruil2
31120dd88c remove redundant code for mb qp calculation 2014-05-26 15:03:06 +08:00
ruil2
1113afbfad Merge pull request #886 from ganyangbbl/rm_slicenum_constraint
remove max slice number constraint
2014-05-26 14:54:34 +08:00
lyao2
bfa16ba848 add blockstaticidc pointer for MD 2014-05-24 17:41:47 +08:00
Cullen Jennings
e57e19fee6 Merge pull request #890 from ethanhugg/release_notes
Add RELEASES file
2014-05-23 18:55:32 -04:00
Ethan Hugg
fc2638de9c Add RELEASES file 2014-05-23 15:39:30 -07:00
zhuling13
1e4f367a1d clear up TAP space 2014-05-23 00:59:40 -07:00
zhuling13
32545aefde update apk name 2014-05-23 00:27:18 -07:00
ganyang
2e6f180e95 remove max slice number constraint 2014-05-22 19:39:43 +08:00
HaiboZhu
3b78290cd3 Merge pull request #884 from huili2/API_dec_modify_master
modify dec API from void to explicit type
2014-05-22 16:21:09 +08:00
huili2
5482207823 modify dec API from void to explicit type, and some comments 2014-05-21 23:47:57 -07:00
huili2
075d9a257e Merge pull request #880 from ruil2/enc_quant
use 0 as maxnalsize default value.
2014-05-22 14:26:15 +08:00
ruil2
a9731d6dd5 use 0 as maxnalsize default value. 2014-05-22 14:13:06 +08:00
sijchen
032d199961 Merge pull request #878 from ruil2/enc_quant
miss a branch for auto reference frame setting
2014-05-22 00:14:57 -05:00
ruil2
bcce5fa8e6 Merge pull request #867 from sijchen/rc_doublefloat_fix1
[Fix] using WelsRound for all the double-int32_t conversion
2014-05-22 11:46:28 +08:00
ruil2
00a2a9feef Merge branch 'master' of https://github.com/cisco/openh264 into enc_quant 2014-05-22 11:09:57 +08:00
ruil2
e0b92bb633 miss a branch for auto reference frame setting 2014-05-22 10:53:02 +08:00
Ethan Hugg
d3436555f8 Merge pull request #872 from sijchen/fix_me_func_type
[Fix] fix ME func type in UT
2014-05-21 08:11:27 -07:00
Sijia Chen
618729bf5a roll back an unnecessary change 2014-05-21 16:46:43 +08:00
sijchen
ff46fc7d93 Merge pull request #876 from huili2/bs_buffer_expand_master
expand the bs buffer size
2014-05-21 16:33:26 +08:00
huili2
20295c68fd expand the bs buffer size 2014-05-21 00:35:25 -07:00
dongzha
95d32473a1 Merge pull request #874 from ruil2/enc_quant
update the minimum quant limiation as 10. quant 4 can't avoid overflow
2014-05-21 15:12:12 +08:00
ruil2
def2ae50ee drop the last update 2014-05-21 14:45:03 +08:00
ruil2
a7b2797514 Merge branch 'enc_quant' of https://github.com/ruil2/openh264 into enc_quant 2014-05-21 14:43:08 +08:00
ruil2
42bd0f4729 only testing 2014-05-21 14:41:50 +08:00
ruil2
1fd5e6e210 update the minimum quant limiation as 10. quant 4 can't avoid overflow 2014-05-21 14:04:55 +08:00
sijchen
5d1d47c01b fix me func type in UT 2014-05-21 08:57:58 +08:00
HaiboZhu
63b6f6f55e Merge pull request #868 from huili2/add_new_seq_detect_master
add single function for new seq detection
2014-05-20 16:46:44 +08:00
zhuling13
7447980e2b not need 2014-05-19 23:31:04 -07:00
zhuling13
158b6945fd not need 2014-05-19 23:21:34 -07:00
zhuling13
9a33512564 Add unittest demo for android platform 2014-05-19 23:19:23 -07:00
Sijia Chen
7413032185 using WelsRound for all the double-int32_t conversion 2014-05-20 14:06:31 +08:00
sijchen
cc81020875 Merge pull request #843 from mstorsjo/remove-unused-function
Remove an unused static function
2014-05-20 13:09:17 +08:00
sijchen
2e5700d32d Merge pull request #857 from mstorsjo/remove-unused-ifdef
Remove two unused ifdefs
2014-05-20 13:08:27 +08:00
huili2
7c6debbef6 add single function for new seq detection 2014-05-19 19:55:06 -07:00
HaiboZhu
3c2d9f7532 Merge pull request #863 from dongzha/FixEncOptionMaster
change comment in encoder option according to issue cisco#859 for master
2014-05-20 10:51:08 +08:00
dongzha
e751502412 Merge pull request #864 from ruil2/enc_quant
set minimum quant as 4 to avoid level code overflow
2014-05-20 10:45:55 +08:00
ruil2
901f8ba19a Merge pull request #858 from sijchen/md_merge145
reformat some missed style and remove unused comments
2014-05-20 10:39:00 +08:00
ruil2
69f2d768b1 Merge pull request #842 from ganyangbbl/refine_nal2
Refine Nal length related structure
2014-05-20 10:30:45 +08:00
unknown
47430de294 set minimum quant as 4 to avoid level code overflow 2014-05-20 10:19:58 +08:00
dongzhang
a9ca4db07b change comment in encoder option according to issue https://github.com/cisco/openh264/issues/859 2014-05-20 10:00:59 +08:00
sijchen
be17261a92 reformat 2014-05-19 17:04:59 +08:00
ruil2
e15742b404 Merge pull request #844 from lyao2/scroll_detection
enable Scroll detection into workflow
2014-05-19 09:45:35 +08:00
Martin Storsjö
7048fe5377 Remove two unused ifdefs
Nothing in the project sets HAVE_MMX.

The commented out code for setting pSearchMethodFunc can be readded
once it's actually implemented properly.
2014-05-17 22:06:28 +03:00
huili2
3e258ea74e Merge pull request #853 from dongzha/FixEncUTDequantBugMaster
Fix encoder dequant Unit Test bug for master
2014-05-17 21:51:35 +08:00
huili2
7f3f397706 Merge pull request #831 from sijchen/md_merge144
[Encoder ME] Add ME function assignment for Screen Content Coding
2014-05-17 21:49:07 +08:00
Ethan Hugg
1e3b015a6f Merge pull request #856 from mstorsjo/clarify-comment
Clarify a comment about MSVC parameters to fix building gtest
2014-05-16 16:04:08 -07:00
Martin Storsjö
3f982a4de4 Clarify a comment about MSVC parameters to fix building gtest
The temporary bug in gtest has now been fixed, but we still can keep
using the current way of fixing MSVC 2012 builds instead of switching
to the solution used previously.
2014-05-16 08:54:36 +03:00
HaiboZhu
f946b24e63 Merge pull request #854 from sijchen/bufferlencheck_fix
It is OK for this bug
2014-05-16 12:40:48 +08:00
sijchen
78f3b5c5f6 add minimum buffer size 2014-05-16 11:18:14 +08:00
dongzhang
749bc4ea7e Fix QP<18 dequant UT bug at encoder side
This should be UT for QP<12.
2014-05-16 11:12:59 +08: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
zhiliang wang
53c8af4566 Refine some code 2014-05-15 15:04:44 +08:00
dongzha
dee5400485 Merge pull request #847 from mstorsjo/remove-write-nal-length
Remove unnecessary writing of nal length in the decoder
2014-05-15 15:02:17 +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
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
Ethan Hugg
3d5990500b Merge pull request #832 from mstorsjo/asflags
Don't pass all MSVC specific cflags to gas-preprocessor and armasm
2014-05-14 08:01:25 -07: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
ruil2
3c4d151e03 Merge pull request #840 from ganyangbbl/clear_code
clean redundant code
2014-05-14 14:21:46 +08:00
ganyang
c06fcb2491 clean redundant code 2014-05-14 14:00:11 +08:00
Ethan Hugg
6a6d1d6186 Merge pull request #819 from mstorsjo/msvc-proj-gui-update
Restructure MSVC project files to what the IDE generates
2014-05-13 22:10:23 -07:00
Martin Storsjö
a6ad04cfdf Don't pass all MSVC specific cflags to gas-preprocessor and armasm
This avoids having to disambiguate between assembler parameters,
preprocessor parameters and MSVC parameters within gas-preprocessor.

In particular, this avoids creating a stray dependency file named
'-.d' while building. Future versions of gas-preprocessor might
require this in order to build at all.
2014-05-13 19:40:51 +03: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
sijchen
52069dac40 Merge pull request #823 from mstorsjo/deblock-unittest
Add a unit test for deblocking
2014-05-13 17:21:55 +08:00
sijchen
31a4d2aa3e Merge pull request #829 from dongzha/FixBugforDeblocking
Fix a bug in deblocking for neon 32 bit arm implementation for master
2014-05-13 17:21:48 +08:00
sijchen
172d5e7988 Merge pull request #830 from ruil2/console_bug
fix a commit bug for console app
2014-05-13 17:20:24 +08:00
ruil2
a6ca8bb904 fix a commit bug for console app 2014-05-13 17:09:15 +08:00
Martin Storsjö
52bc3a41c8 Add a unit test for deblocking 2014-05-13 11:59:08 +03:00
sijchen
80ae4cb7d8 add me function pointers for screen contents 2014-05-13 16:47:18 +08:00
dongzha
cc7535ee52 Merge pull request #826 from huili2/clear_active_ps
clear active PS when only IDR meets
2014-05-13 15:25:42 +08:00
huili2
eb1276013b clear active PS when only IDR meets 2014-05-12 22:02:39 -07:00
huili2
41ddc536d6 Merge pull request #825 from ruil2/console_cleanup1
cleanup encoder console app
2014-05-13 12:58:09 +08:00
ruil2
7ef2e9553c Merge pull request #822 from mstorsjo/simplify-platform-defines
Don't manually define MACOS and LINUX, use built-in defines instead
2014-05-13 12:39:21 +08:00
ruil2
cdada926d8 Merge pull request #821 from mstorsjo/fix-format-string
Fix the format string in a log message
2014-05-13 12:32:55 +08:00
ruil2
5b38a94c9a cleanup encoder console app 2014-05-13 09:50:48 +08:00
Martin Storsjö
0acb780715 Don't define MACOS and LINUX
Nothing within the library actually uses these defines for anything
any more.

If necessary, the built-in defines __APPLE__ and __linux__ can be
used instead of these manually added defines. This is similar to how
we use _WIN32 instead of manually defining WIN32.
2014-05-12 12:17:53 +03:00
Martin Storsjö
6b9167199f Use the built-in define __linux__ instead of the manually set LINUX 2014-05-12 12:14:33 +03: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
bff52694c4 Merge pull request #817 from ruil2/enc_bitrate
fix bitrate setting and add bitrate validation
2014-05-12 14:44:06 +08:00
sijchen
4bd6a3a6e8 [Encoder MD] Add Inter Psub16 MD for screen content coding 2014-05-12 14:21:40 +08:00
Martin Storsjö
aafa6e3e53 Reorder sections in encConsole.vcproj
The MSVC GUI seems to want to write the file with data in the order
Debug|Win32, Debug|x64, Release|Win32, Release|x64. This causes a
large number of changes in the git diff even though the content
still basically is the same. Therefore do it in a separate commit,
to make sure that any later actual changes stay minimal.
2014-05-12 09:20:41 +03:00
Martin Storsjö
4354371b4e Revert "Remove the literal CRLF (&#x0D;&#x0A;) within the nasm commands in msvc project files"
This reverts commit 7aff66d40c.

These CRLF marks are readded by MSVC as soon as the project files
are updated from within the GUI anyway.
2014-05-12 09:20:41 +03:00
ruil2
6a295d5e8e Merge pull request #813 from mstorsjo/msvc-proj-cleanup
Clean up the MSVC project files
2014-05-12 13:21:16 +08:00
ruil2
eb357b51f2 fix bitrate setting and add bitrate validation 2014-05-12 13:09:01 +08:00
huili2
dae4dbf377 Merge pull request #816 from ruil2/enc_scale
fix input source width and height setting issue
2014-05-12 12:39:54 +08:00
huili2
0c24fd66cd Merge pull request #815 from ruil2/enc_threadIdc
add some parameter settings in command line
2014-05-12 12:38:31 +08:00
huili2
a1a22205c6 Merge pull request #814 from ruil2/enc_nalsize
add the maximum nal size setting in command line
2014-05-12 12:38:01 +08:00
unknown
4dc0f07828 fix input source width and height setting issue 2014-05-12 11:55:05 +08:00
ruil2
67327dfb2e add the maximum nal size setting in command line 2014-05-12 11:05:16 +08:00
unknown
61ab32e6f5 add some parameter settings in command line 2014-05-12 10:28:42 +08:00
Martin Storsjö
416bb224e0 Don't hardcode SuppressStartupBanner=true, this is the default value
The fewer fields overridden, the better.
2014-05-09 19:59:06 +03:00
Martin Storsjö
3923d11dc6 Remove unnecessary, empty, file specific FileConfiguration blocks in vcproj files 2014-05-09 19:59:06 +03:00
Martin Storsjö
5842e1b2aa Unify the include directories in the WelsVP project
Some directories had a trailing slash in some configurations, but
not in other configurations. Make sure the directories are the same
in all configurations.
2014-05-09 19:59:06 +03:00
Martin Storsjö
7676c5b65b Unify the include dirs within the decConsole project
Some include directories were only present in debug builds.
2014-05-09 19:59:06 +03:00
Martin Storsjö
1446f8b599 Don't use the encoder include dir when building the decoder 2014-05-09 19:59:06 +03:00
Martin Storsjö
324205df88 Remove references to nonexistent include directories
Some of these were legacy references to absolute paths outside of
the project itself.
2014-05-09 19:59:06 +03:00
Ethan Hugg
2f8f2880ff Merge pull request #812 from mstorsjo/remove-manual-win32-defines
Don't manually define WIN32/WIN64
2014-05-09 09:48:47 -07:00
Martin Storsjö
e8e2cbcc28 Revert "Set ASM_ARCH in all cases to fix Win64 Debug build"
This reverts commit 09025dc8ef.

There is no need to set ASM_ARCH unless assembly sources actually
are built. ASM_ARCH is no longer used for setting unrelated CFLAGS.
2014-05-09 19:34:49 +03:00
Martin Storsjö
4635232d93 Don't manually define WIN32/WIN64
All the code that relies on separating them uses the built-in defines
_WIN32 and _WIN64, or the corresponding machine defines (such as
_M_IX86, for MSVC 32 bit inline assembly).
2014-05-09 19:34:04 +03:00
Ethan Hugg
d63458f8e0 Merge pull request #803 from mstorsjo/remove-unused-defines
Remove unused defines
2014-05-09 09:29:29 -07:00
Martin Storsjö
094aa24bf6 Remove unused manual defines of _WINDOWS 2014-05-09 19:27:42 +03:00
Martin Storsjö
0d8f7ab0e1 Remove the unused WELSDEC/ENCPLUS_EXPORTS defines 2014-05-09 19:27:42 +03:00
Martin Storsjö
e2ec07ae87 Remove the unused leftover define HAVE_CACHE_LINE_ALIGN 2014-05-09 19:27:42 +03: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
c215e576e6 Merge pull request #810 from huili2/ps_error_logic_ec
for PS error logic for EC
2014-05-09 17:08:44 +08:00
huili2
51c918f212 for PS error logic for EC 2014-05-09 01:12:08 -07:00
ruil2
1b501bb509 Merge pull request #807 from sijchen/mmcoslcfix
Fix the improper slice mmco setting
2014-05-09 11:09:02 +08:00
sijchen
5de9f41f5a Fix the improper slice mmco setting 2014-05-09 10:48:09 +08:00
zhilwang
f6293153c8 Merge pull request #802 from mstorsjo/remove-unused-misspelled-define
Remove an unused, misspelled define set on only one source file
2014-05-09 08:45:49 +08:00
volvet
88a25713a5 Merge pull request #801 from mstorsjo/fix-manually-edited-vcproj
Make manually edited vcproj files match what visual studio actually generates
2014-05-08 21:19:25 +08:00
volvet
5713363c89 Merge pull request #804 from mstorsjo/regenerate-makefiles
Regenerate test/decoder/targets.mk using mktargets.sh
2014-05-08 21:11:24 +08:00
volvet
322a3cca50 Merge pull request #805 from mstorsjo/remove-msvc-version-suffix
Remove msvc version suffix
2014-05-08 21:06:11 +08:00
volvet
054530fdb4 Merge pull request #800 from mstorsjo/matching-endif
Make an endif comment match the actual condition
2014-05-08 20:59:18 +08:00
volvet
ff33fdeb8e Merge pull request #799 from mstorsjo/use-predefined-define
Use the predefined _WIN32 instead of the manually defined WIN32 for windows specific code
2014-05-08 20:58:11 +08:00
volvet
3ea96df63c Merge pull request #798 from mstorsjo/remove-unused-header
Remove a completely unused header
2014-05-08 20:51:49 +08:00
Martin Storsjö
26edfd1f92 Remove the _2008 suffix from the Visual Studio solutions
This is the only version of them that we provide - and they
can easily be opened in any newer version anyway.
2014-05-08 11:47:56 +03:00
Martin Storsjö
66f0f6ccbe Rename the WelsVP vcproj file to match the others
The other projects don't have the _2008 suffix.
2014-05-08 11:46:18 +03:00
Martin Storsjö
820cfb40ca Regenerate test/decoder/targets.mk using mktargets.sh
This makes the indentation of one line match the rest.
2014-05-08 11:20:51 +03:00
Martin Storsjö
f8ae7fcc5f Remove an unused, misspelled define set on only one source file 2014-05-08 11:17:29 +03:00
Martin Storsjö
60f1ea8088 Make manually edited vcproj files match what visual studio actually generates
This changes the indentation from space to tabs, and adds missing
dos newlines to these few lines.

This makes the file be detected as using dos newlines properly in
certain editors.
2014-05-08 11:15:50 +03:00
Martin Storsjö
6e715ddc10 Make an endif comment match the actual condition 2014-05-08 11:14:24 +03:00
Martin Storsjö
d69d9c4622 Use the predefined _WIN32 instead of the manually defined WIN32 for windows specific code
This avoids having to rely on manually defining WIN32 in the build
system.
2014-05-08 11:12:49 +03:00
Martin Storsjö
b5cc7c2fe1 Remove a completely unused header 2014-05-08 09:59:58 +03:00
dongzha
e61a6017f9 Merge pull request #795 from huili2/new_seq_au_reorder
fix order of new AU and new Seq
2014-05-08 11:24:26 +08:00
volvet
5e73cc4298 Merge pull request #794 from ethanhugg/win64_fix
Set ASM_ARCH in all cases to fix Win64 Debug build
2014-05-08 08:56:26 +08:00
Martin Storsjö
f954763635 Use the actual parameter types in PSearchMethodFunc instead of void pointers 2014-05-07 09:26:31 +03:00
Ethan Hugg
09025dc8ef Set ASM_ARCH in all cases to fix Win64 Debug build 2014-05-07 05:40:13 +00:00
366 changed files with 55066 additions and 32892 deletions

9
.gitignore vendored
View File

@@ -1,6 +1,7 @@
# Object files # Object files
*.o *.o
*.obj *.obj
codec/obj
# Dependency files # Dependency files
*.d *.d
@@ -26,8 +27,16 @@ h264dec
h264enc h264enc
codec_unittest codec_unittest
# Other files generated by the MSVC compiler
*.exp
*.pdb
# Executables built by the MSVC project files
bin
# External source # External source
gtest gtest
gmp-api
# Output files from example commands # Output files from example commands
testbin/test_vd_1d.264 testbin/test_vd_1d.264

View File

@@ -1,9 +1,39 @@
language: cpp language: cpp
compiler: compiler:
- g++ - g++
- clang - clang
before_install: before_install:
- sudo apt-get update -qq - sudo apt-get update -qq
- sudo apt-get install -qq nasm g++-4.6-multilib gcc-multilib libc6-dev-i386 - sudo apt-get install -qq nasm g++-4.6-multilib gcc-multilib libc6-dev-i386
install: make gtest-bootstrap
script: make -B ENABLE64BIT=Yes && make test && make -B ENABLE64BIT=Yes BUILDTYPE=Debug && make test && make -B ENABLE64BIT=No && make test && make -B ENABLE64BIT=No BUILDTYPE=Debug && make test install:
- make gmp-bootstrap
- make gtest-bootstrap
before_script:
- WorkingDir=`pwd`
- cd test/encoder_binary_comparison
- ./run_PrepareAllTestData.sh 64
- cd ${WorkingDir}
env:
- TASK=UnitTest; TestParameter=""
- TASK=BinaryCompare; TestParameter=BA_MW_D.264;
- TASK=BinaryCompare; TestParameter=LS_SVA_D.264;
- TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264;
matrix:
exclude:
- compiler: clang
env: TASK=BinaryCompare; TestParameter=BA_MW_D.264;
- compiler: clang
env: TASK=BinaryCompare; TestParameter=LS_SVA_D.264;
- compiler: clang
env: TASK=BinaryCompare; TestParameter=CVPCMNL1_SVA_C.264;
script:
- echo "currrent test is for ${TASK}"
- echo "test parameter is ${TestParameter}"
- ./run_Test.sh ${TASK} ${TestParameter}

115
Makefile
View File

@@ -6,6 +6,7 @@ CCAS=$(CC)
CXX_O=-o $@ CXX_O=-o $@
CXX_LINK_O=-o $@ CXX_LINK_O=-o $@
AR_OPTS=cr $@ AR_OPTS=cr $@
LINK_LOCAL_DIR=-L.
LINK_LIB=-l$(1) LINK_LIB=-l$(1)
CFLAGS_OPT=-O3 CFLAGS_OPT=-O3
CFLAGS_DEBUG=-g CFLAGS_DEBUG=-g
@@ -15,6 +16,15 @@ PREFIX=/usr/local
SHARED=-shared SHARED=-shared
OBJ=o OBJ=o
PROJECT_NAME=openh264 PROJECT_NAME=openh264
MODULE_NAME=gmpopenh264
GMP_API_BRANCH=Firefox33
CCASFLAGS=$(CFLAGS)
ifeq (,$(wildcard ./gmp-api))
HAVE_GMP_API=No
else
HAVE_GMP_API=Yes
endif
ifeq (,$(wildcard ./gtest)) ifeq (,$(wildcard ./gtest))
HAVE_GTEST=No HAVE_GTEST=No
@@ -58,18 +68,18 @@ ifneq ($(V),Yes)
endif endif
INCLUDES = -Icodec/api/svc -Icodec/common/inc INCLUDES += -Icodec/api/svc -Icodec/common/inc
DECODER_INCLUDES = \ DECODER_INCLUDES += \
-Icodec/decoder/core/inc \ -Icodec/decoder/core/inc \
-Icodec/decoder/plus/inc -Icodec/decoder/plus/inc
ENCODER_INCLUDES = \ ENCODER_INCLUDES += \
-Icodec/encoder/core/inc \ -Icodec/encoder/core/inc \
-Icodec/encoder/plus/inc \ -Icodec/encoder/plus/inc \
-Icodec/processing/interface -Icodec/processing/interface
PROCESSING_INCLUDES = \ PROCESSING_INCLUDES += \
-Icodec/processing/interface \ -Icodec/processing/interface \
-Icodec/processing/src/common \ -Icodec/processing/src/common \
-Icodec/processing/src/scrolldetection -Icodec/processing/src/scrolldetection
@@ -82,33 +92,52 @@ CODEC_UNITTEST_INCLUDES += \
-Igtest/include \ -Igtest/include \
-Icodec/common/inc \ -Icodec/common/inc \
H264DEC_INCLUDES = $(DECODER_INCLUDES) -Icodec/console/dec/inc CONSOLE_COMMON_INCLUDES += \
H264DEC_LDFLAGS = -L. $(call LINK_LIB,decoder) $(call LINK_LIB,common) -Icodec/console/common/inc
H264DEC_DEPS = $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
H264ENC_INCLUDES = $(ENCODER_INCLUDES) -Icodec/console/enc/inc H264DEC_INCLUDES += $(DECODER_INCLUDES) $(CONSOLE_COMMON_INCLUDES) -Icodec/console/dec/inc
H264ENC_LDFLAGS = -L. $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) H264DEC_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,decoder) $(call LINK_LIB,common) $(call LINK_LIB,console_common)
H264ENC_DEPS = $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX) H264DEC_DEPS = $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX) $(LIBPREFIX)console_common.$(LIBSUFFIX)
CODEC_UNITTEST_LDFLAGS = -L. $(call LINK_LIB,gtest) $(call LINK_LIB,decoder) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(CODEC_UNITTEST_LDFLAGS_SUFFIX) H264ENC_INCLUDES += $(ENCODER_INCLUDES) $(CONSOLE_COMMON_INCLUDES) -Icodec/console/enc/inc
H264ENC_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(call LINK_LIB,console_common)
H264ENC_DEPS = $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX) $(LIBPREFIX)console_common.$(LIBSUFFIX)
CODEC_UNITTEST_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,gtest) $(call LINK_LIB,decoder) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(CODEC_UNITTEST_LDFLAGS_SUFFIX)
CODEC_UNITTEST_DEPS = $(LIBPREFIX)gtest.$(LIBSUFFIX) $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX) CODEC_UNITTEST_DEPS = $(LIBPREFIX)gtest.$(LIBSUFFIX) $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
DECODER_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/decoder DECODER_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/decoder
ENCODER_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(ENCODER_INCLUDES) -Itest -Itest/encoder ENCODER_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(ENCODER_INCLUDES) -Itest -Itest/encoder
PROCESSING_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(PROCESSING_INCLUDES) -Itest -Itest/processing PROCESSING_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(PROCESSING_INCLUDES) -Itest -Itest/processing
API_TEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) -Itest -Itest/api API_TEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) -Itest -Itest/api
COMMON_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/common
MODULE_INCLUDES += -Igmp-api
.PHONY: test gtest-bootstrap clean .PHONY: test gtest-bootstrap clean
all: libraries binaries all: libraries binaries
clean: clean:
ifeq (android,$(OS))
clean: clean_Android
endif
$(QUIET)rm -f $(OBJS) $(OBJS:.$(OBJ)=.d) $(LIBRARIES) $(BINARIES) $(QUIET)rm -f $(OBJS) $(OBJS:.$(OBJ)=.d) $(LIBRARIES) $(BINARIES)
gmp-bootstrap:
if [ ! -d gmp-api ] ; then git clone https://github.com/mozilla/gmp-api gmp-api ; fi
cd gmp-api && git fetch origin && git checkout $(GMP_API_BRANCH)
gtest-bootstrap: gtest-bootstrap:
svn co https://googletest.googlecode.com/svn/trunk/ gtest svn co https://googletest.googlecode.com/svn/trunk/ gtest
ifeq ($(HAVE_GTEST),Yes) ifeq ($(HAVE_GTEST),Yes)
test: codec_unittest$(EXEEXT) test: codec_unittest$(EXEEXT)
ifneq (android,$(OS))
ifneq (ios,$(OS))
./codec_unittest ./codec_unittest
endif
endif
else else
test: test:
@echo "./gtest : No such file or directory." @echo "./gtest : No such file or directory."
@@ -120,14 +149,24 @@ include codec/decoder/targets.mk
include codec/encoder/targets.mk include codec/encoder/targets.mk
include codec/processing/targets.mk include codec/processing/targets.mk
ifeq ($(HAVE_GMP_API),Yes)
include module/targets.mk
endif
ifneq (android, $(OS)) ifneq (android, $(OS))
ifneq (ios, $(OS)) ifneq (ios, $(OS))
include codec/console/dec/targets.mk include codec/console/dec/targets.mk
include codec/console/enc/targets.mk include codec/console/enc/targets.mk
include codec/console/common/targets.mk
endif endif
endif endif
ifneq (ios, $(OS))
libraries: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) libraries: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX)
else
libraries: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX)
endif
LIBRARIES += $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) LIBRARIES += $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX)
$(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS) $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
@@ -138,6 +177,19 @@ $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS)
$(QUIET)rm -f $@ $(QUIET)rm -f $@
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS) $(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS)
ifeq ($(HAVE_GMP_API),Yes)
plugin: $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX)
LIBRARIES += $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX)
else
plugin:
@echo "./gmp-api : No such file or directory."
@echo "You do not have gmp-api. Run make gmp-bootstrap to get the gmp-api headers."
endif
$(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX): $(MODULE_OBJS) $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
$(QUIET)rm -f $@
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS) $(MODULE_LDFLAGS)
install-headers: install-headers:
mkdir -p $(PREFIX)/include/wels mkdir -p $(PREFIX)/include/wels
install -m 644 codec/api/svc/codec*.h $(PREFIX)/include/wels install -m 644 codec/api/svc/codec*.h $(PREFIX)/include/wels
@@ -162,11 +214,42 @@ include test/api/targets.mk
include test/decoder/targets.mk include test/decoder/targets.mk
include test/encoder/targets.mk include test/encoder/targets.mk
include test/processing/targets.mk include test/processing/targets.mk
include test/common/targets.mk
LIBRARIES += $(LIBPREFIX)ut.$(LIBSUFFIX)
$(LIBPREFIX)ut.$(LIBSUFFIX): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(COMMON_UNITTEST_OBJS) $(API_TEST_OBJS)
$(QUIET)rm -f $@
$(QUIET_AR)$(AR) $(AR_OPTS) $+
LIBRARIES +=$(LIBPREFIX)ut.$(SHAREDLIBSUFFIX)
$(LIBPREFIX)ut.$(SHAREDLIBSUFFIX): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(COMMON_UNITTEST_OBJS) $(CODEC_UNITTEST_DEPS)
$(QUIET)rm -f $@
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS)
binaries: codec_unittest$(EXEEXT) binaries: codec_unittest$(EXEEXT)
BINARIES += codec_unittest$(EXEEXT) BINARIES += codec_unittest$(EXEEXT)
codec_unittest$(EXEEXT): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(CODEC_UNITTEST_DEPS)
ifeq (ios,$(OS))
codec_unittest$(EXEEXT): $(LIBPREFIX)ut.$(LIBSUFFIX) $(LIBPREFIX)gtest.$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX)
else
ifeq (android,$(OS))
codec_unittest$(EXEEXT): $(LIBPREFIX)ut.$(SHAREDLIBSUFFIX)
cd ./test/build/android && $(NDKROOT)/ndk-build -B APP_ABI=$(APP_ABI) && android update project -t $(TARGET) -p . && ant debug
clean_Android: clean_Android_ut
clean_Android_ut:
-cd ./test/build/android && $(NDKROOT)/ndk-build APP_ABI=$(APP_ABI) clean && ant clean
else
codec_unittest$(EXEEXT): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(COMMON_UNITTEST_OBJS) $(CODEC_UNITTEST_DEPS)
$(QUIET)rm -f $@ $(QUIET)rm -f $@
$(QUIET_CXX)$(CXX) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS) $(LDFLAGS) $(QUIET_CXX)$(CXX) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS) $(LDFLAGS)
endif
endif
else else
binaries: binaries:
@: @:

19
RELEASES Normal file
View File

@@ -0,0 +1,19 @@
Releases
These binary releases are distributed under this license:
http://www.openh264.org/BINARY_LICENSE.txt
v1.0.0
------
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-android19.so.bz2
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-linux32.so.bz2
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-linux64.so.bz2
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-osx64.dylib.bz2
http://ciscobinary.openh264.org/download/openh264-1.0.0-win32msvc.dll.bz2
http://ciscobinary.openh264.org/download/openh264-1.0.0-win64msvc.dll.bz2

View File

@@ -20,9 +20,6 @@ INCLUDE=[]
OUTFILE="targets.mk" OUTFILE="targets.mk"
CPP_SUFFIX=".cpp" CPP_SUFFIX=".cpp"
def make_o(x):
return os.path.splitext(x)[0] + ".$(OBJ)"
def write_cpp_rule_pattern(f): def write_cpp_rule_pattern(f):
src = "$(%s_SRCDIR)/%%%s"%(PREFIX, CPP_SUFFIX) src = "$(%s_SRCDIR)/%%%s"%(PREFIX, CPP_SUFFIX)
dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX) dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX)
@@ -52,7 +49,7 @@ def write_asm_s_rule_pattern(f):
dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX) dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX)
f.write("%s: %s\n"%(dst, src)) f.write("%s: %s\n"%(dst, src))
f.write('\t$(QUIET_CCAS)$(CCAS) $(CFLAGS) $(ASMFLAGS) $(INCLUDES) $(' + PREFIX + '_CFLAGS) $(' + PREFIX + '_INCLUDES) -c -o $@ $<\n') f.write('\t$(QUIET_CCAS)$(CCAS) $(CCASFLAGS) $(ASMFLAGS) $(INCLUDES) $(' + PREFIX + '_CFLAGS) $(' + PREFIX + '_INCLUDES) -c -o $@ $<\n')
f.write("\n") f.write("\n")

View File

@@ -7,8 +7,11 @@ python build/mktargets.py --directory codec/processing --library processing
python build/mktargets.py --directory codec/console/dec --binary h264dec python build/mktargets.py --directory codec/console/dec --binary h264dec
python build/mktargets.py --directory codec/console/enc --binary h264enc python build/mktargets.py --directory codec/console/enc --binary h264enc
python build/mktargets.py --directory codec/console/common --library console_common
python build/mktargets.py --directory test/encoder --prefix encoder_unittest python build/mktargets.py --directory test/encoder --prefix encoder_unittest
python build/mktargets.py --directory test/decoder --prefix decoder_unittest python build/mktargets.py --directory test/decoder --prefix decoder_unittest
python build/mktargets.py --directory test/processing --prefix processing_unittest python build/mktargets.py --directory test/processing --prefix processing_unittest
python build/mktargets.py --directory test/api --prefix api_test python build/mktargets.py --directory test/api --prefix api_test
python build/mktargets.py --directory test/common --prefix common_unittest
python build/mktargets.py --directory module --prefix module
python build/mktargets.py --directory gtest --library gtest --out build/gtest-targets.mk --cpp-suffix .cc --include gtest-all.cc python build/mktargets.py --directory gtest --library gtest --out build/gtest-targets.mk --cpp-suffix .cc --include gtest-all.cc

View File

@@ -9,19 +9,16 @@ ifeq ($(ARCH), arm)
LDFLAGS += -march=armv7-a -Wl,--fix-cortex-a8 LDFLAGS += -march=armv7-a -Wl,--fix-cortex-a8
APP_ABI = armeabi-v7a APP_ABI = armeabi-v7a
endif endif
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=armeabi)
ifeq (Yes, $(USE_ASM)) ifeq (Yes, $(USE_ASM))
ASMFLAGS += -march=armv7-a -mfpu=neon ASMFLAGS += -march=armv7-a -mfpu=neon
endif endif
else ifeq ($(ARCH), x86) else ifeq ($(ARCH), x86)
APP_ABI = x86 APP_ABI = x86
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=x86)
ifeq (Yes, $(USE_ASM)) ifeq (Yes, $(USE_ASM))
ASMFLAGS += -f elf32 ASMFLAGS += -f elf32
endif endif
else else
APP_ABI = $(ARCH) APP_ABI = $(ARCH)
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=$(APP_ABI))
endif endif
ifndef NDKROOT ifndef NDKROOT
@@ -31,22 +28,27 @@ ifndef TARGET
$(error TARGET is not set) $(error TARGET is not set)
endif endif
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=./codec/build/android/dec make --no-print-dir -f $(NDKROOT)/build/core/build-local.mk DUMP_TOOLCHAIN_PREFIX APP_ABI=$(APP_ABI))
SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH) SYSROOT = $(NDKROOT)/platforms/android-$(NDKLEVEL)/arch-$(ARCH)
CXX = $(TOOLCHAINPREFIX)g++ CXX = $(TOOLCHAINPREFIX)g++
CC = $(TOOLCHAINPREFIX)gcc CC = $(TOOLCHAINPREFIX)gcc
AR = $(TOOLCHAINPREFIX)ar AR = $(TOOLCHAINPREFIX)ar
CFLAGS += -DLINUX -DANDROID_NDK -fpic --sysroot=$(SYSROOT) CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP
CXXFLAGS += -fno-rtti -fno-exceptions CXXFLAGS += -fno-rtti -fno-exceptions
LDFLAGS += --sysroot=$(SYSROOT) LDFLAGS += --sysroot=$(SYSROOT)
SHLDFLAGS = -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-soname,lib$(PROJECT_NAME).so SHLDFLAGS = -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-soname,lib$(PROJECT_NAME).so
STL_INCLUDES = \ STL_INCLUDES = \
-I$(NDKROOT)/sources/cxx-stl/stlport/stlport -I$(NDKROOT)/sources/cxx-stl/stlport/stlport
STL_LIB = \
$(NDKROOT)/sources/cxx-stl/stlport/libs/$(APP_ABI)/libstlport_static.a
GTEST_INCLUDES = $(STL_INCLUDES) GTEST_INCLUDES = $(STL_INCLUDES)
CODEC_UNITTEST_INCLUDES = $(STL_INCLUDES) CODEC_UNITTEST_INCLUDES = $(STL_INCLUDES)
CODEC_UNITTEST_LDFLAGS_SUFFIX = \ CODEC_UNITTEST_LDFLAGS_SUFFIX = $(STL_LIB)
$(NDKROOT)/sources/cxx-stl/stlport/libs/$(APP_ABI)/libstlport_static.a MODULE_INCLUDES = $(STL_INCLUDES)
MODULE_LDFLAGS = $(STL_LIB)
binaries : decdemo encdemo binaries : decdemo encdemo
@@ -56,13 +58,20 @@ decdemo: libraries
encdemo: libraries encdemo: libraries
cd ./codec/build/android/enc && $(NDKROOT)/ndk-build -B APP_ABI=$(APP_ABI) && android update project -t $(TARGET) -p . && ant debug cd ./codec/build/android/enc && $(NDKROOT)/ndk-build -B APP_ABI=$(APP_ABI) && android update project -t $(TARGET) -p . && ant debug
clean_Android: clean_Android_dec clean_Android_enc
clean_Android_dec:
-cd ./codec/build/android/dec && $(NDKROOT)/ndk-build APP_ABI=$(APP_ABI) clean && ant clean
clean_Android_enc:
-cd ./codec/build/android/enc && $(NDKROOT)/ndk-build APP_ABI=$(APP_ABI) clean && ant clean
COMMON_INCLUDES += -I$(NDKROOT)/sources/android/cpufeatures COMMON_INCLUDES += -I$(NDKROOT)/sources/android/cpufeatures
COMMON_OBJS += $(COMMON_SRCDIR)/cpu-features.$(OBJ) COMMON_OBJS += $(COMMON_SRCDIR)/src/cpu-features.$(OBJ)
COMMON_CFLAGS += \ COMMON_CFLAGS += \
-Dandroid_getCpuIdArm=wels_getCpuIdArm -Dandroid_setCpuArm=wels_setCpuArm \ -Dandroid_getCpuIdArm=wels_getCpuIdArm -Dandroid_setCpuArm=wels_setCpuArm \
-Dandroid_getCpuCount=wels_getCpuCount -Dandroid_getCpuFamily=wels_getCpuFamily \ -Dandroid_getCpuCount=wels_getCpuCount -Dandroid_getCpuFamily=wels_getCpuFamily \
-Dandroid_getCpuFeatures=wels_getCpuFeatures -Dandroid_setCpu=wels_setCpu \ -Dandroid_getCpuFeatures=wels_getCpuFeatures -Dandroid_setCpu=wels_setCpu \
codec/common/cpu-features.$(OBJ): $(NDKROOT)/sources/android/cpufeatures/cpu-features.c codec/common/src/cpu-features.$(OBJ): $(NDKROOT)/sources/android/cpufeatures/cpu-features.c
$(QUIET_CC)$(CC) $(CFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c $(CXX_O) $< $(QUIET_CC)$(CC) $(CFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c $(CXX_O) $<

View File

@@ -1,7 +1,7 @@
include build/platform-arch.mk include build/platform-arch.mk
SHAREDLIBSUFFIX = dylib SHAREDLIBSUFFIX = dylib
SHARED = -dynamiclib SHARED = -dynamiclib
CFLAGS += -Wall -fPIC -DMACOS -MMD -MP CFLAGS += -Wall -fPIC -MMD -MP
LDFLAGS += -lpthread LDFLAGS += -lpthread
ifeq ($(ASM_ARCH), x86) ifeq ($(ASM_ARCH), x86)
ASMFLAGS += -DPREFIX ASMFLAGS += -DPREFIX

View File

@@ -10,7 +10,8 @@ endif
SDK = $(shell xcrun --sdk $(shell echo $(SDKTYPE) | tr A-Z a-z) --show-sdk-version) SDK = $(shell xcrun --sdk $(shell echo $(SDKTYPE) | tr A-Z a-z) --show-sdk-version)
SDK_MIN = 5.1 SDK_MIN = 5.1
SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/$(SDKTYPE).platform/Developer/SDKs/$(SDKTYPE)$(SDK).sdk XCODE=$(shell xcode-select -p)
SDKROOT = $(XCODE)/Platforms/$(SDKTYPE).platform/Developer/SDKs/$(SDKTYPE)$(SDK).sdk
CFLAGS += -arch $(ARCH) -isysroot $(SDKROOT) -miphoneos-version-min=$(SDK_MIN) -DAPPLE_IOS CFLAGS += -arch $(ARCH) -isysroot $(SDKROOT) -miphoneos-version-min=$(SDK_MIN) -DAPPLE_IOS
LDFLAGS += -arch $(ARCH) -isysroot $(SDKROOT) -miphoneos-version-min=$(SDK_MIN) LDFLAGS += -arch $(ARCH) -isysroot $(SDKROOT) -miphoneos-version-min=$(SDK_MIN)

View File

@@ -1,6 +1,6 @@
include build/platform-arch.mk include build/platform-arch.mk
SHAREDLIBSUFFIX = so SHAREDLIBSUFFIX = so
CFLAGS += -Wall -fno-strict-aliasing -fPIC -DLINUX -MMD -MP CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP
LDFLAGS += -lpthread LDFLAGS += -lpthread
ifeq ($(ASM_ARCH), x86) ifeq ($(ASM_ARCH), x86)
ifeq ($(ENABLE64BIT), Yes) ifeq ($(ENABLE64BIT), Yes)

View File

@@ -5,13 +5,11 @@ LDFLAGS +=
ifeq ($(ENABLE64BIT), Yes) ifeq ($(ENABLE64BIT), Yes)
ASMFLAGS += -f win64 ASMFLAGS += -f win64
ASMFLAGS_PLATFORM = -DWIN64 ASMFLAGS_PLATFORM = -DWIN64
CFLAGS += -DWIN64
CC = x86_64-w64-mingw32-gcc CC = x86_64-w64-mingw32-gcc
CXX = x86_64-w64-mingw32-g++ CXX = x86_64-w64-mingw32-g++
AR = x86_64-w64-mingw32-ar AR = x86_64-w64-mingw32-ar
else else
ASMFLAGS += -f win32 -DPREFIX ASMFLAGS += -f win32 -DPREFIX
CFLAGS += -DWIN32
endif endif
EXEEXT = .exe EXEEXT = .exe

View File

@@ -3,32 +3,33 @@ ifeq ($(ASM_ARCH), x86)
ifeq ($(ENABLE64BIT), Yes) ifeq ($(ENABLE64BIT), Yes)
ASMFLAGS += -f win64 ASMFLAGS += -f win64
ASMFLAGS_PLATFORM = -DWIN64 ASMFLAGS_PLATFORM = -DWIN64
CFLAGS += -DWIN64
else else
ASMFLAGS += -f win32 -DPREFIX ASMFLAGS += -f win32 -DPREFIX
CFLAGS += -DWIN32
endif endif
else else
CFLAGS += -DWIN32
endif endif
ifeq ($(ASM_ARCH), arm) ifeq ($(ASM_ARCH), arm)
CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm
CCASFLAGS = -nologo -DHAVE_NEON
endif endif
CC=cl CC=cl
CXX=cl CXX=cl
AR=lib AR=lib
CXX_O=-Fo$@ CXX_O=-Fo$@
# -DGTEST_HAS_TR1_TUPLE=0 is temporarily broken in gtest, # -D_VARIADIC_MAX=10 is required to fix building gtest on MSVC 2012, but
# using _VARIADIC_MAX=10 to fix building on MSVC 2012 meanwhile. # since we don't (easily) know which version of MSVC we use here, we add
# Once gtest works with the former again, it should be preferred. # it unconditionally. The same issue can also be worked around by adding
# -DGTEST_HAS_TR1_TUPLE=0 instead, but we prefer this version since it
# matches what gtest itself does.
CFLAGS += -nologo -W3 -EHsc -fp:precise -Zc:wchar_t -Zc:forScope -D_VARIADIC_MAX=10 CFLAGS += -nologo -W3 -EHsc -fp:precise -Zc:wchar_t -Zc:forScope -D_VARIADIC_MAX=10
CXX_LINK_O=-nologo -Fe$@ CXX_LINK_O=-nologo -Fe$@
AR_OPTS=-nologo -out:$@ AR_OPTS=-nologo -out:$@
CFLAGS_OPT=-O2 -Ob1 -Oy- -Zi -GF -Gm- -GS -Gy -DNDEBUG CFLAGS_OPT=-O2 -Ob1 -Oy- -Zi -GF -Gm- -GS -Gy -DNDEBUG
CFLAGS_DEBUG=-Od -Oy- -ZI -RTC1 -D_DEBUG CFLAGS_DEBUG=-Od -Oy- -Zi -RTC1 -D_DEBUG
CFLAGS_M32= CFLAGS_M32=
CFLAGS_M64= CFLAGS_M64=
LINK_LOCAL_DIR=
LINK_LIB=$(1).lib LINK_LIB=$(1).lib
LIBSUFFIX=lib LIBSUFFIX=lib
LIBPREFIX= LIBPREFIX=

View File

@@ -109,7 +109,7 @@ class ISVCDecoder {
*/ */
virtual DECODING_STATE EXTAPI DecodeFrame2 (const unsigned char* pSrc, virtual DECODING_STATE EXTAPI DecodeFrame2 (const unsigned char* pSrc,
const int iSrcLen, const int iSrcLen,
void** ppDst, unsigned char** ppDst,
SBufferInfo* pDstInfo) = 0; SBufferInfo* pDstInfo) = 0;
/* /*
@@ -174,7 +174,7 @@ DECODING_STATE (*DecodeFrame) (ISVCDecoder*, const unsigned char* pSrc,
DECODING_STATE (*DecodeFrame2) (ISVCDecoder*, const unsigned char* pSrc, DECODING_STATE (*DecodeFrame2) (ISVCDecoder*, const unsigned char* pSrc,
const int iSrcLen, const int iSrcLen,
void** ppDst, unsigned char** ppDst,
SBufferInfo* pDstInfo); SBufferInfo* pDstInfo);
DECODING_STATE (*DecodeFrameEx) (ISVCDecoder*, const unsigned char* pSrc, DECODING_STATE (*DecodeFrameEx) (ISVCDecoder*, const unsigned char* pSrc,
@@ -191,6 +191,7 @@ long (*GetOption) (ISVCDecoder*, DECODER_OPTION eOptionId, void* pOption);
}; };
#endif #endif
typedef void (*WelsTraceCallback) (void* ctx, int level, const char* string);
int WelsCreateSVCEncoder (ISVCEncoder** ppEncoder); int WelsCreateSVCEncoder (ISVCEncoder** ppEncoder);
void WelsDestroySVCEncoder (ISVCEncoder* pEncoder); void WelsDestroySVCEncoder (ISVCEncoder* pEncoder);

View File

@@ -32,9 +32,8 @@
#ifndef WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__ #ifndef WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
#define WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__ #define WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
////////////////Data and /or structures introduced in Cisco OpenH264 application//////////////// ////////////////Data and /or structures introduced in Cisco OpenH264 application////////////////
#include "codec_def.h"
/* Constants */ /* Constants */
#define MAX_TEMPORAL_LAYER_NUM 4 #define MAX_TEMPORAL_LAYER_NUM 4
#define MAX_SPATIAL_LAYER_NUM 4 #define MAX_SPATIAL_LAYER_NUM 4
@@ -59,6 +58,7 @@ typedef enum {
dsBitstreamError = 0x04, /* Error bitstreams(maybe broken internal frame) the decoder cared */ dsBitstreamError = 0x04, /* Error bitstreams(maybe broken internal frame) the decoder cared */
dsDepLayerLost = 0x08, /* Dependented layer is ever lost */ dsDepLayerLost = 0x08, /* Dependented layer is ever lost */
dsNoParamSets = 0x10, /* No parameter set NALs involved */ dsNoParamSets = 0x10, /* No parameter set NALs involved */
dsDataErrorConcealed = 0x20, /* current data Error concealed specified */
/* Errors derived from logic level */ /* Errors derived from logic level */
dsInvalidArgument = 0x1000, /* Invalid argument specified */ dsInvalidArgument = 0x1000, /* Invalid argument specified */
@@ -82,18 +82,26 @@ typedef enum {
ENCODER_OPTION_RC_MODE, ENCODER_OPTION_RC_MODE,
ENCODER_PADDING_PADDING, ENCODER_PADDING_PADDING,
ENCODER_OPTION_PROFILE,
ENCODER_OPTION_LEVEL,
ENCODER_OPTION_NUMBER_REF,
ENCODER_OPTION_DELIVERY_STATUS,
ENCODER_LTR_RECOVERY_REQUEST, ENCODER_LTR_RECOVERY_REQUEST,
ENCODER_LTR_MARKING_FEEDBACK, ENCODER_LTR_MARKING_FEEDBACK,
ENCOCER_LTR_MARKING_PERIOD, ENCOCER_LTR_MARKING_PERIOD,
ENCODER_OPTION_LTR, ENCODER_OPTION_LTR,
ENCODER_OPTION_COMPLEXITY,
ENCODER_OPTION_ENABLE_SSEI, //disable SSEI: true--disable ssei; false--enable ssei ENCODER_OPTION_ENABLE_SSEI, //enable SSEI: true--enable ssei; false--disable ssei
ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING, //enable prefix: true--enable prefix; false--disable prefix ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING, //enable prefix: true--enable prefix; false--disable prefix
ENCODER_OPTION_ENABLE_SPS_PPS_ID_ADDITION, //disable pSps/pPps id addition: true--disable pSps/pPps id; false--enable pSps/pPps id addistion ENCODER_OPTION_ENABLE_SPS_PPS_ID_ADDITION, //enable pSps/pPps id addition: true--enable pSps/pPps id; false--disable pSps/pPps id addistion
ENCODER_OPTION_CURRENT_PATH, ENCODER_OPTION_CURRENT_PATH,
ENCODER_OPTION_DUMP_FILE, ENCODER_OPTION_DUMP_FILE,
ENCODER_OPTION_TRACE_LEVEL ENCODER_OPTION_TRACE_LEVEL,
ENCODER_OPTION_TRACE_CALLBACK, // a void (*)(void* context, int level, const char* message) function which receives log messages
ENCODER_OPTION_TRACE_CALLBACK_CONTEXT,
} ENCODER_OPTION; } ENCODER_OPTION;
/* Option types introduced in decoder application */ /* Option types introduced in decoder application */
@@ -107,6 +115,9 @@ typedef enum {
DECODER_OPTION_LTR_MARKING_FLAG, // feedback wether current frame mark a LTR DECODER_OPTION_LTR_MARKING_FLAG, // feedback wether current frame mark a LTR
DECODER_OPTION_LTR_MARKED_FRAME_NUM, // feedback frame num marked by current Frame DECODER_OPTION_LTR_MARKED_FRAME_NUM, // feedback frame num marked by current Frame
DECODER_OPTION_ERROR_CON_IDC, //not finished yet, indicate decoder error concealment status, in progress DECODER_OPTION_ERROR_CON_IDC, //not finished yet, indicate decoder error concealment status, in progress
DECODER_OPTION_TRACE_LEVEL,
DECODER_OPTION_TRACE_CALLBACK, // a void (*)(void* context, int level, const char* message) function which receives log messages
DECODER_OPTION_TRACE_CALLBACK_CONTEXT,
} DECODER_OPTION; } DECODER_OPTION;
@@ -187,6 +198,7 @@ typedef enum {
RC_QUALITY_MODE = 0, //Quality mode RC_QUALITY_MODE = 0, //Quality mode
RC_BITRATE_MODE = 1, //Bitrate mode RC_BITRATE_MODE = 1, //Bitrate mode
RC_LOW_BW_MODE = 2, //bitrate limited mode RC_LOW_BW_MODE = 2, //bitrate limited mode
RC_BUFFERBASED_MODE = 3,//no bitrate control,only using buffer status,adjust the video quality
RC_OFF_MODE = -1, // rate control off mode RC_OFF_MODE = -1, // rate control off mode
} RC_MODES; } RC_MODES;
@@ -226,6 +238,19 @@ typedef enum {
LEVEL_5_2 LEVEL_5_2
} ELevelIdc; } ELevelIdc;
enum {
WELS_LOG_QUIET = 0x00, // Quiet mode
WELS_LOG_ERROR = 1 << 0, // Error log iLevel
WELS_LOG_WARNING = 1 << 1, // Warning log iLevel
WELS_LOG_INFO = 1 << 2, // Information log iLevel
WELS_LOG_DEBUG = 1 << 3, // Debug log, critical algo log
WELS_LOG_DETAIL = 1 << 4, // per packet/frame log
WELS_LOG_RESV = 1 << 5, // Resversed log iLevel
WELS_LOG_LEVEL_COUNT = 6,
WELS_LOG_DEFAULT = WELS_LOG_DEBUG // Default log iLevel in Wels codec
};
typedef struct { typedef struct {
SliceModeEnum uiSliceMode; //by default, uiSliceMode will be SM_SINGLE_SLICE SliceModeEnum uiSliceMode; //by default, uiSliceMode will be SM_SINGLE_SLICE
SSliceArgument sSliceArgument; SSliceArgument sSliceArgument;
@@ -249,12 +274,16 @@ typedef enum {
SCREEN_CONTENT_REAL_TIME,//screen content signal SCREEN_CONTENT_REAL_TIME,//screen content signal
} EUsageType; } EUsageType;
typedef enum {
LOW_COMPLEXITY, //the lowest compleixty,the fastest speed,
MEDIUM_COMPLEXITY, //medium complexity, medium speed,medium quality
HIGH_COMPLEXITY, //high complexity, lowest speed, high quality
} ECOMPLEXITY_MODE;
// TODO: Refine the parameters definition. // TODO: Refine the parameters definition.
// SVC Encoding Parameters // SVC Encoding Parameters
typedef struct TagEncParamBase { typedef struct TagEncParamBase {
EUsageType EUsageType
iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal; iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal;
int iInputCsp; // color space of input sequence
int iPicWidth; // width of picture in samples int iPicWidth; // width of picture in samples
int iPicHeight; // height of picture in samples int iPicHeight; // height of picture in samples
@@ -268,7 +297,6 @@ typedef struct TagEncParamBase {
typedef struct TagEncParamExt { typedef struct TagEncParamExt {
EUsageType EUsageType
iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal; iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal;
int iInputCsp; // color space of input sequence
int iPicWidth; // width of picture in samples int iPicWidth; // width of picture in samples
int iPicHeight; // height of picture in samples int iPicHeight; // height of picture in samples
@@ -280,9 +308,9 @@ typedef struct TagEncParamExt {
int iSpatialLayerNum; // layer number at spatial level int iSpatialLayerNum; // layer number at spatial level
SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM]; SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
ECOMPLEXITY_MODE iComplexityMode;
unsigned int uiIntraPeriod; // period of Intra frame unsigned int uiIntraPeriod; // period of Intra frame
int iNumRefFrame; // number of reference frame used int iNumRefFrame; // number of reference frame used
unsigned int uiFrameToBeCoded; // frame to be encoded (at input frame rate)
bool bEnableSpsPpsIdAddition; bool bEnableSpsPpsIdAddition;
bool bPrefixNalAddingCtrl; bool bPrefixNalAddingCtrl;
bool bEnableSSEI; bool bEnableSSEI;
@@ -342,24 +370,24 @@ typedef struct {
unsigned char uiSpatialId; unsigned char uiSpatialId;
unsigned char uiQualityId; unsigned char uiQualityId;
unsigned char uiPriorityId; //ignore it currently
unsigned char uiLayerType; unsigned char uiLayerType;
int iNalCount; // Count number of NAL coded already int iNalCount; // Count number of NAL coded already
int iNalLengthInByte[MAX_NAL_UNITS_IN_LAYER]; // Length of NAL size in byte from 0 to iNalCount-1 int* pNalLengthInByte; // Length of NAL size in byte from 0 to iNalCount-1
unsigned char* pBsBuf; // Buffer of bitstream contained unsigned char* pBsBuf; // Buffer of bitstream contained
} SLayerBSInfo, *PLayerBSInfo; } SLayerBSInfo, *PLayerBSInfo;
typedef struct { typedef struct {
int iTemporalId; // Temporal ID int iTemporalId; // Temporal ID
unsigned char uiFrameType; //The sub sequence layers are ordered hierarchically based on their dependency on each other so that any picture in a layer shall not be
//predicted from any picture on any higher layer.
int iSubSeqId; //refer to D.2.11 Sub-sequence information SEI message semantics
int iLayerNum; int iLayerNum;
SLayerBSInfo sLayerInfo[MAX_LAYER_NUM_OF_FRAME]; SLayerBSInfo sLayerInfo[MAX_LAYER_NUM_OF_FRAME];
int eOutputFrameType; EVideoFrameType eFrameType;
long long uiTimeStamp; long long uiTimeStamp;
} SFrameBSInfo, *PFrameBSInfo; } SFrameBSInfo, *PFrameBSInfo;
@@ -372,13 +400,29 @@ typedef struct Source_Picture_s {
long long uiTimeStamp; long long uiTimeStamp;
} SSourcePicture; } SSourcePicture;
typedef struct Bitrate_Info_s { typedef struct TagBitrateInfo {
LAYER_NUM iLayer; LAYER_NUM iLayer;
int iBitrate; //the maximum bitrate int iBitrate; //the maximum bitrate
} SBitrateInfo; } SBitrateInfo;
typedef struct Dump_Layer_s { typedef struct TagDumpLayer {
int iLayer; int iLayer;
char* pFileName; char* pFileName;
} SDumpLayer; } SDumpLayer;
typedef struct TagProfileInfo {
int iLayer;
EProfileIdc uiProfileIdc; //the profile info
} SProfileInfo;
typedef struct TagLevelInfo {
int iLayer;
ELevelIdc uiLevelIdc; //the level info
} SLevelInfo;
typedef struct TagDeliveryStatus {
int iDropNum; //the number of video frames that are dropped continuously before delivery to encoder, which is used by screen content.
int iDropFrameType; // the frame type that is dropped
int iDropFrameSize; // the frame size that is dropped
} SDeliveryStatus;
#endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__ #endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__

View File

@@ -5,7 +5,7 @@
android:versionName="1.0"> android:versionName="1.0">
<uses-sdk android:minSdkVersion="12"/> <uses-sdk android:minSdkVersion="12"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name"> <application android:label="@string/app_name">
<activity android:name=".WelsDecTest" <activity android:name=".WelsDecTest"
android:label="@string/app_name"> android:label="@string/app_name">
<intent-filter> <intent-filter>

View File

@@ -1,20 +1,2 @@
# debug/release, default is release
ifeq ($(OPTIM_debug),true)
APP_OPTIM := debug
else
APP_OPTIM := release
endif
# x86/armeabi-v7a/armeabi, default is armeabi-v7a
ifeq ($(ABI_x86),true)
APP_ABI := x86
else
ifeq ($(ABI_armeabi),true)
APP_ABI := armeabi
else
APP_ABI := armeabi-v7a
endif
endif
APP_STL := stlport_shared APP_STL := stlport_shared
APP_PLATFORM := android-12 APP_PLATFORM := android-12

View File

@@ -4,7 +4,9 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE := wels LOCAL_MODULE := wels
LOCAL_SRC_FILES := ../../../../../libopenh264.so LOCAL_SRC_FILES := ../../../../../libopenh264.so
ifneq (,$(wildcard $(LOCAL_PATH)/$(LOCAL_SRC_FILES)))
include $(PREBUILT_SHARED_LIBRARY) include $(PREBUILT_SHARED_LIBRARY)
endif
@@ -20,11 +22,11 @@ LOCAL_MODULE := welsdecdemo
# #
CODEC_PATH := ../../../../ CODEC_PATH := ../../../../
CONSOLE_DEC_PATH := ../../../../console/dec CONSOLE_DEC_PATH := ../../../../console/dec
CONSOLE_COMMON_PATH := ../../../../console/common
LOCAL_SRC_FILES := \ LOCAL_SRC_FILES := \
$(CONSOLE_DEC_PATH)/src/h264dec.cpp \ $(CONSOLE_DEC_PATH)/src/h264dec.cpp \
$(CONSOLE_DEC_PATH)/src/read_config.cpp \ $(CONSOLE_COMMON_PATH)/src/read_config.cpp \
$(CONSOLE_DEC_PATH)/src/d3d9_utils.cpp \ $(CONSOLE_DEC_PATH)/src/d3d9_utils.cpp \
$(CODEC_PATH)/common/src/logging.cpp \
myjni.cpp myjni.cpp
# #
# Header Includes # Header Includes
@@ -32,15 +34,12 @@ LOCAL_SRC_FILES := \
LOCAL_C_INCLUDES := \ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../../../api/svc \ $(LOCAL_PATH)/../../../../api/svc \
$(LOCAL_PATH)/../../../../console/dec/inc \ $(LOCAL_PATH)/../../../../console/dec/inc \
$(LOCAL_PATH)/../../../../console/common/inc \
$(LOCAL_PATH)/../../../../common/inc $(LOCAL_PATH)/../../../../common/inc
# #
# Compile Flags and Link Libraries # Compile Flags and Link Libraries
# #
LOCAL_CFLAGS := -O3 -DANDROID_NDK LOCAL_CFLAGS := -DANDROID_NDK
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_ARM_MODE := arm
endif
LOCAL_LDLIBS := -llog LOCAL_LDLIBS := -llog
LOCAL_SHARED_LIBRARIES := wels LOCAL_SHARED_LIBRARIES := wels

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" > android:orientation="vertical" >
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal">" android:orientation="horizontal">
<Button <Button
android:id="@+id/cfg" android:id="@+id/cfg"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Load bitstreams" /> android:text="Load bitstreams" />
<Button <Button
android:id="@+id/buttonSW" android:id="@+id/buttonSW"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Test" /> android:text="Test" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">WelsDecoderTest</string> <string name="app_name">WelsDecoderTest</string>
</resources> </resources>

View File

@@ -5,7 +5,7 @@
android:versionName="1.0"> android:versionName="1.0">
<uses-sdk android:minSdkVersion="12"/> <uses-sdk android:minSdkVersion="12"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name"> <application android:label="@string/app_name">
<activity android:name=".WelsEncTest" <activity android:name=".WelsEncTest"
android:label="@string/app_name"> android:label="@string/app_name">
<intent-filter> <intent-filter>

View File

@@ -1,20 +1,2 @@
# debug/release, default is release
ifeq ($(OPTIM_debug),true)
APP_OPTIM := debug
else
APP_OPTIM := release
endif
# x86/armeabi-v7a/armeabi, default is armeabi-v7a
ifeq ($(ABI_x86),true)
APP_ABI := x86
else
ifeq ($(ABI_armeabi),true)
APP_ABI := armeabi
else
APP_ABI := armeabi-v7a
endif
endif
APP_STL := stlport_shared APP_STL := stlport_shared
APP_PLATFORM := android-12 APP_PLATFORM := android-12

View File

@@ -1,10 +1,12 @@
# Generate the libwelsdecdemo.so file # Generate the libwelsencdemo.so file
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE := wels LOCAL_MODULE := wels
LOCAL_SRC_FILES := ../../../../../libopenh264.so LOCAL_SRC_FILES := ../../../../../libopenh264.so
ifneq (,$(wildcard $(LOCAL_PATH)/$(LOCAL_SRC_FILES)))
include $(PREBUILT_SHARED_LIBRARY) include $(PREBUILT_SHARED_LIBRARY)
endif
@@ -20,10 +22,10 @@ LOCAL_MODULE := welsencdemo
# #
CODEC_PATH := ../../../../ CODEC_PATH := ../../../../
CONSOLE_ENC_PATH := ../../../../console/enc CONSOLE_ENC_PATH := ../../../../console/enc
CONSOLE_COMMON_PATH := ../../../../console/common
LOCAL_SRC_FILES := \ LOCAL_SRC_FILES := \
$(CONSOLE_ENC_PATH)/src/welsenc.cpp \ $(CONSOLE_ENC_PATH)/src/welsenc.cpp \
$(CONSOLE_ENC_PATH)/src/read_config.cpp \ $(CONSOLE_COMMON_PATH)/src/read_config.cpp \
$(CODEC_PATH)/common/src/logging.cpp \
myjni.cpp myjni.cpp
# #
@@ -32,6 +34,7 @@ LOCAL_SRC_FILES := \
LOCAL_C_INCLUDES := \ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../../../api/svc \ $(LOCAL_PATH)/../../../../api/svc \
$(LOCAL_PATH)/../../../../console/enc/inc \ $(LOCAL_PATH)/../../../../console/enc/inc \
$(LOCAL_PATH)/../../../../console/common/inc \
$(LOCAL_PATH)/../../../../encoder/core/inc \ $(LOCAL_PATH)/../../../../encoder/core/inc \
$(LOCAL_PATH)/../../../../processing/interface \ $(LOCAL_PATH)/../../../../processing/interface \
$(LOCAL_PATH)/../../../../common/inc $(LOCAL_PATH)/../../../../common/inc
@@ -40,11 +43,7 @@ LOCAL_C_INCLUDES := \
# #
# Compile Flags and Link Libraries # Compile Flags and Link Libraries
# #
LOCAL_CFLAGS := -O3 -DANDROID_NDK LOCAL_CFLAGS := -DANDROID_NDK
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_ARM_MODE := arm
endif
LOCAL_LDLIBS := -llog LOCAL_LDLIBS := -llog
LOCAL_SHARED_LIBRARIES := wels LOCAL_SHARED_LIBRARIES := wels

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" > android:orientation="vertical" >
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal">" android:orientation="horizontal">
<Button <Button
android:id="@+id/cfg" android:id="@+id/cfg"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Load bitstreams" /> android:text="Load bitstreams" />
<Button <Button
android:id="@+id/buttonSW" android:id="@+id/buttonSW"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Test" /> android:text="Test" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">WelsEncoderTest</string> <string name="app_name">WelsEncoderTest</string>
</resources> </resources>

View File

@@ -14,33 +14,20 @@
4C3406CD18D96EA600DFA14A /* cpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C418D96EA600DFA14A /* cpu.cpp */; }; 4C3406CD18D96EA600DFA14A /* cpu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C418D96EA600DFA14A /* cpu.cpp */; };
4C3406CE18D96EA600DFA14A /* crt_util_safe_x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */; }; 4C3406CE18D96EA600DFA14A /* crt_util_safe_x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */; };
4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C618D96EA600DFA14A /* deblocking_common.cpp */; }; 4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C618D96EA600DFA14A /* deblocking_common.cpp */; };
4C3406D018D96EA600DFA14A /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C718D96EA600DFA14A /* logging.cpp */; };
4C3406D118D96EA600DFA14A /* WelsThreadLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */; }; 4C3406D118D96EA600DFA14A /* WelsThreadLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */; };
4CC61F0918FF6B4B00E56EAB /* copy_mb_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CC61F0818FF6B4B00E56EAB /* copy_mb_neon.S */; }; 4CC61F0918FF6B4B00E56EAB /* copy_mb_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CC61F0818FF6B4B00E56EAB /* copy_mb_neon.S */; };
4CE443D918B722CD0017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D818B722CD0017DF25 /* Foundation.framework */; }; 4CE443D918B722CD0017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D818B722CD0017DF25 /* Foundation.framework */; };
4CE443E718B722CD0017DF25 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443E618B722CD0017DF25 /* XCTest.framework */; }; 53C1C9BC193F0FB000404D8F /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53C1C9BB193F0FB000404D8F /* expand_pic.cpp */; };
4CE443E818B722CD0017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D818B722CD0017DF25 /* Foundation.framework */; }; 5BA8F2C019603F5F00011CE4 /* common_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5BA8F2BF19603F5F00011CE4 /* common_tables.cpp */; };
4CE443EA18B722CD0017DF25 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443E918B722CD0017DF25 /* UIKit.framework */; };
4CE443ED18B722CD0017DF25 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D518B722CD0017DF25 /* libcommon.a */; };
4CE443F318B722CD0017DF25 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4CE443F118B722CD0017DF25 /* InfoPlist.strings */; };
4CE443F518B722CD0017DF25 /* commonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE443F418B722CD0017DF25 /* commonTests.m */; };
F0B204F918FD23BF005DA23F /* copy_mb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0B204F818FD23BF005DA23F /* copy_mb.cpp */; }; F0B204F918FD23BF005DA23F /* copy_mb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0B204F818FD23BF005DA23F /* copy_mb.cpp */; };
F556A8241906673900E156A8 /* arm_arch64_common_macro.S in Sources */ = {isa = PBXBuildFile; fileRef = F556A8221906673900E156A8 /* arm_arch64_common_macro.S */; }; F556A8241906673900E156A8 /* arm_arch64_common_macro.S in Sources */ = {isa = PBXBuildFile; fileRef = F556A8221906673900E156A8 /* arm_arch64_common_macro.S */; };
F556A8251906673900E156A8 /* expand_picture_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */; }; F556A8251906673900E156A8 /* expand_picture_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */; };
F5AC94FF193EB7D800F58154 /* deblocking_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5AC94FE193EB7D800F58154 /* deblocking_aarch64_neon.S */; };
F5B8D82D190757290037849A /* mc_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5B8D82C190757290037849A /* mc_aarch64_neon.S */; }; F5B8D82D190757290037849A /* mc_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5B8D82C190757290037849A /* mc_aarch64_neon.S */; };
F5BB0BB8196BB5960072D50D /* copy_mb_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */; };
FAABAA1818E9354A00D4186F /* sad_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAABAA1718E9354A00D4186F /* sad_common.cpp */; }; FAABAA1818E9354A00D4186F /* sad_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAABAA1718E9354A00D4186F /* sad_common.cpp */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
4CE443EB18B722CD0017DF25 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4CE443CD18B722CC0017DF25 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4CE443D418B722CD0017DF25;
remoteInfo = common;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
4CE443D318B722CD0017DF25 /* CopyFiles */ = { 4CE443D318B722CD0017DF25 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase; isa = PBXCopyFilesBuildPhase;
@@ -62,8 +49,6 @@
4C3406B818D96EA600DFA14A /* cpu_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_core.h; sourceTree = "<group>"; }; 4C3406B818D96EA600DFA14A /* cpu_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_core.h; sourceTree = "<group>"; };
4C3406B918D96EA600DFA14A /* crt_util_safe_x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crt_util_safe_x.h; sourceTree = "<group>"; }; 4C3406B918D96EA600DFA14A /* crt_util_safe_x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crt_util_safe_x.h; sourceTree = "<group>"; };
4C3406BA18D96EA600DFA14A /* deblocking_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deblocking_common.h; sourceTree = "<group>"; }; 4C3406BA18D96EA600DFA14A /* deblocking_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deblocking_common.h; sourceTree = "<group>"; };
4C3406BB18D96EA600DFA14A /* expand_picture_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_picture_common.h; sourceTree = "<group>"; };
4C3406BC18D96EA600DFA14A /* logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logging.h; sourceTree = "<group>"; };
4C3406BD18D96EA600DFA14A /* ls_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ls_defines.h; sourceTree = "<group>"; }; 4C3406BD18D96EA600DFA14A /* ls_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ls_defines.h; sourceTree = "<group>"; };
4C3406BE18D96EA600DFA14A /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = "<group>"; }; 4C3406BE18D96EA600DFA14A /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = "<group>"; };
4C3406BF18D96EA600DFA14A /* mc_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mc_common.h; sourceTree = "<group>"; }; 4C3406BF18D96EA600DFA14A /* mc_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mc_common.h; sourceTree = "<group>"; };
@@ -73,22 +58,22 @@
4C3406C418D96EA600DFA14A /* cpu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu.cpp; sourceTree = "<group>"; }; 4C3406C418D96EA600DFA14A /* cpu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu.cpp; sourceTree = "<group>"; };
4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = crt_util_safe_x.cpp; sourceTree = "<group>"; }; 4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = crt_util_safe_x.cpp; sourceTree = "<group>"; };
4C3406C618D96EA600DFA14A /* deblocking_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = deblocking_common.cpp; sourceTree = "<group>"; }; 4C3406C618D96EA600DFA14A /* deblocking_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = deblocking_common.cpp; sourceTree = "<group>"; };
4C3406C718D96EA600DFA14A /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging.cpp; sourceTree = "<group>"; };
4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsThreadLib.cpp; sourceTree = "<group>"; }; 4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsThreadLib.cpp; sourceTree = "<group>"; };
4CC61F0818FF6B4B00E56EAB /* copy_mb_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = copy_mb_neon.S; sourceTree = "<group>"; }; 4CC61F0818FF6B4B00E56EAB /* copy_mb_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = copy_mb_neon.S; sourceTree = "<group>"; };
4CE443D518B722CD0017DF25 /* libcommon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libcommon.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4CE443D518B722CD0017DF25 /* libcommon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libcommon.a; sourceTree = BUILT_PRODUCTS_DIR; };
4CE443D818B722CD0017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 4CE443D818B722CD0017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
4CE443E518B722CD0017DF25 /* commonTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = commonTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4CE443E618B722CD0017DF25 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
4CE443E918B722CD0017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; 4CE443E918B722CD0017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
4CE443F018B722CD0017DF25 /* commonTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "commonTests-Info.plist"; sourceTree = "<group>"; }; 53C1C9BA193F0F9E00404D8F /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; };
4CE443F218B722CD0017DF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 53C1C9BB193F0FB000404D8F /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
4CE443F418B722CD0017DF25 /* commonTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = commonTests.m; sourceTree = "<group>"; }; 5BA8F2BE19603F3500011CE4 /* wels_common_defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_defs.h; sourceTree = "<group>"; };
5BA8F2BF19603F5F00011CE4 /* common_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common_tables.cpp; sourceTree = "<group>"; };
F0B204F718FD23B6005DA23F /* copy_mb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_mb.h; sourceTree = "<group>"; }; F0B204F718FD23B6005DA23F /* copy_mb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = copy_mb.h; sourceTree = "<group>"; };
F0B204F818FD23BF005DA23F /* copy_mb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_mb.cpp; sourceTree = "<group>"; }; F0B204F818FD23BF005DA23F /* copy_mb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = copy_mb.cpp; sourceTree = "<group>"; };
F556A8221906673900E156A8 /* arm_arch64_common_macro.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = arm_arch64_common_macro.S; path = arm64/arm_arch64_common_macro.S; sourceTree = "<group>"; }; F556A8221906673900E156A8 /* arm_arch64_common_macro.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = arm_arch64_common_macro.S; path = arm64/arm_arch64_common_macro.S; sourceTree = "<group>"; };
F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = expand_picture_aarch64_neon.S; path = arm64/expand_picture_aarch64_neon.S; sourceTree = "<group>"; }; F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = expand_picture_aarch64_neon.S; path = arm64/expand_picture_aarch64_neon.S; sourceTree = "<group>"; };
F5AC94FE193EB7D800F58154 /* deblocking_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = deblocking_aarch64_neon.S; path = arm64/deblocking_aarch64_neon.S; sourceTree = "<group>"; };
F5B8D82C190757290037849A /* mc_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = mc_aarch64_neon.S; path = arm64/mc_aarch64_neon.S; sourceTree = "<group>"; }; F5B8D82C190757290037849A /* mc_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = mc_aarch64_neon.S; path = arm64/mc_aarch64_neon.S; sourceTree = "<group>"; };
F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = copy_mb_aarch64_neon.S; path = arm64/copy_mb_aarch64_neon.S; sourceTree = "<group>"; };
FAABAA1618E9353F00D4186F /* sad_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sad_common.h; sourceTree = "<group>"; }; FAABAA1618E9353F00D4186F /* sad_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sad_common.h; sourceTree = "<group>"; };
FAABAA1718E9354A00D4186F /* sad_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sad_common.cpp; sourceTree = "<group>"; }; FAABAA1718E9354A00D4186F /* sad_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sad_common.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
@@ -102,17 +87,6 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4CE443E218B722CD0017DF25 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4CE443E718B722CD0017DF25 /* XCTest.framework in Frameworks */,
4CE443EA18B722CD0017DF25 /* UIKit.framework in Frameworks */,
4CE443ED18B722CD0017DF25 /* libcommon.a in Frameworks */,
4CE443E818B722CD0017DF25 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
@@ -136,14 +110,14 @@
4C3406B718D96EA600DFA14A /* cpu.h */, 4C3406B718D96EA600DFA14A /* cpu.h */,
4C3406B818D96EA600DFA14A /* cpu_core.h */, 4C3406B818D96EA600DFA14A /* cpu_core.h */,
4C3406B918D96EA600DFA14A /* crt_util_safe_x.h */, 4C3406B918D96EA600DFA14A /* crt_util_safe_x.h */,
53C1C9BA193F0F9E00404D8F /* expand_pic.h */,
4C3406BA18D96EA600DFA14A /* deblocking_common.h */, 4C3406BA18D96EA600DFA14A /* deblocking_common.h */,
4C3406BB18D96EA600DFA14A /* expand_picture_common.h */,
4C3406BC18D96EA600DFA14A /* logging.h */,
4C3406BD18D96EA600DFA14A /* ls_defines.h */, 4C3406BD18D96EA600DFA14A /* ls_defines.h */,
4C3406BE18D96EA600DFA14A /* macros.h */, 4C3406BE18D96EA600DFA14A /* macros.h */,
4C3406BF18D96EA600DFA14A /* mc_common.h */, 4C3406BF18D96EA600DFA14A /* mc_common.h */,
4C3406C018D96EA600DFA14A /* measure_time.h */, 4C3406C018D96EA600DFA14A /* measure_time.h */,
4C3406C118D96EA600DFA14A /* typedefs.h */, 4C3406C118D96EA600DFA14A /* typedefs.h */,
5BA8F2BE19603F3500011CE4 /* wels_common_defs.h */,
4C3406C218D96EA600DFA14A /* WelsThreadLib.h */, 4C3406C218D96EA600DFA14A /* WelsThreadLib.h */,
); );
path = inc; path = inc;
@@ -152,12 +126,13 @@
4C3406C318D96EA600DFA14A /* src */ = { 4C3406C318D96EA600DFA14A /* src */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
5BA8F2BF19603F5F00011CE4 /* common_tables.cpp */,
F0B204F818FD23BF005DA23F /* copy_mb.cpp */, F0B204F818FD23BF005DA23F /* copy_mb.cpp */,
FAABAA1718E9354A00D4186F /* sad_common.cpp */, FAABAA1718E9354A00D4186F /* sad_common.cpp */,
4C3406C418D96EA600DFA14A /* cpu.cpp */, 4C3406C418D96EA600DFA14A /* cpu.cpp */,
4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */, 4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */,
53C1C9BB193F0FB000404D8F /* expand_pic.cpp */,
4C3406C618D96EA600DFA14A /* deblocking_common.cpp */, 4C3406C618D96EA600DFA14A /* deblocking_common.cpp */,
4C3406C718D96EA600DFA14A /* logging.cpp */,
4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */, 4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */,
); );
path = src; path = src;
@@ -167,7 +142,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4472F18BC61650017DF25 /* common */, 4CE4472F18BC61650017DF25 /* common */,
4CE443EE18B722CD0017DF25 /* commonTests */,
4CE443D718B722CD0017DF25 /* Frameworks */, 4CE443D718B722CD0017DF25 /* Frameworks */,
4CE443D618B722CD0017DF25 /* Products */, 4CE443D618B722CD0017DF25 /* Products */,
); );
@@ -177,7 +151,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE443D518B722CD0017DF25 /* libcommon.a */, 4CE443D518B722CD0017DF25 /* libcommon.a */,
4CE443E518B722CD0017DF25 /* commonTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -186,30 +159,11 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE443D818B722CD0017DF25 /* Foundation.framework */, 4CE443D818B722CD0017DF25 /* Foundation.framework */,
4CE443E618B722CD0017DF25 /* XCTest.framework */,
4CE443E918B722CD0017DF25 /* UIKit.framework */, 4CE443E918B722CD0017DF25 /* UIKit.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
4CE443EE18B722CD0017DF25 /* commonTests */ = {
isa = PBXGroup;
children = (
4CE443F418B722CD0017DF25 /* commonTests.m */,
4CE443EF18B722CD0017DF25 /* Supporting Files */,
);
path = commonTests;
sourceTree = "<group>";
};
4CE443EF18B722CD0017DF25 /* Supporting Files */ = {
isa = PBXGroup;
children = (
4CE443F018B722CD0017DF25 /* commonTests-Info.plist */,
4CE443F118B722CD0017DF25 /* InfoPlist.strings */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
4CE4472F18BC61650017DF25 /* common */ = { 4CE4472F18BC61650017DF25 /* common */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -225,6 +179,8 @@
F556A81D1906669F00E156A8 /* arm64 */ = { F556A81D1906669F00E156A8 /* arm64 */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */,
F5AC94FE193EB7D800F58154 /* deblocking_aarch64_neon.S */,
F5B8D82C190757290037849A /* mc_aarch64_neon.S */, F5B8D82C190757290037849A /* mc_aarch64_neon.S */,
F556A8221906673900E156A8 /* arm_arch64_common_macro.S */, F556A8221906673900E156A8 /* arm_arch64_common_macro.S */,
F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */, F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */,
@@ -252,31 +208,13 @@
productReference = 4CE443D518B722CD0017DF25 /* libcommon.a */; productReference = 4CE443D518B722CD0017DF25 /* libcommon.a */;
productType = "com.apple.product-type.library.static"; productType = "com.apple.product-type.library.static";
}; };
4CE443E418B722CD0017DF25 /* commonTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4CE443FB18B722CD0017DF25 /* Build configuration list for PBXNativeTarget "commonTests" */;
buildPhases = (
4CE443E118B722CD0017DF25 /* Sources */,
4CE443E218B722CD0017DF25 /* Frameworks */,
4CE443E318B722CD0017DF25 /* Resources */,
);
buildRules = (
);
dependencies = (
4CE443EC18B722CD0017DF25 /* PBXTargetDependency */,
);
name = commonTests;
productName = commonTests;
productReference = 4CE443E518B722CD0017DF25 /* commonTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
/* Begin PBXProject section */ /* Begin PBXProject section */
4CE443CD18B722CC0017DF25 /* Project object */ = { 4CE443CD18B722CC0017DF25 /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 0500; LastUpgradeCheck = 0510;
ORGANIZATIONNAME = video; ORGANIZATIONNAME = video;
}; };
buildConfigurationList = 4CE443D018B722CC0017DF25 /* Build configuration list for PBXProject "common" */; buildConfigurationList = 4CE443D018B722CC0017DF25 /* Build configuration list for PBXProject "common" */;
@@ -292,22 +230,10 @@
projectRoot = ""; projectRoot = "";
targets = ( targets = (
4CE443D418B722CD0017DF25 /* common */, 4CE443D418B722CD0017DF25 /* common */,
4CE443E418B722CD0017DF25 /* commonTests */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
4CE443E318B722CD0017DF25 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4CE443F318B722CD0017DF25 /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
4CE443D118B722CD0017DF25 /* Sources */ = { 4CE443D118B722CD0017DF25 /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
@@ -316,13 +242,16 @@
F5B8D82D190757290037849A /* mc_aarch64_neon.S in Sources */, F5B8D82D190757290037849A /* mc_aarch64_neon.S in Sources */,
4C3406C918D96EA600DFA14A /* arm_arch_common_macro.S in Sources */, 4C3406C918D96EA600DFA14A /* arm_arch_common_macro.S in Sources */,
F556A8241906673900E156A8 /* arm_arch64_common_macro.S in Sources */, F556A8241906673900E156A8 /* arm_arch64_common_macro.S in Sources */,
F5AC94FF193EB7D800F58154 /* deblocking_aarch64_neon.S in Sources */,
4C3406CE18D96EA600DFA14A /* crt_util_safe_x.cpp in Sources */, 4C3406CE18D96EA600DFA14A /* crt_util_safe_x.cpp in Sources */,
4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */, 4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */,
4C3406D018D96EA600DFA14A /* logging.cpp in Sources */, 5BA8F2C019603F5F00011CE4 /* common_tables.cpp in Sources */,
4C3406D118D96EA600DFA14A /* WelsThreadLib.cpp in Sources */, 4C3406D118D96EA600DFA14A /* WelsThreadLib.cpp in Sources */,
4C3406CC18D96EA600DFA14A /* mc_neon.S in Sources */, 4C3406CC18D96EA600DFA14A /* mc_neon.S in Sources */,
F5BB0BB8196BB5960072D50D /* copy_mb_aarch64_neon.S in Sources */,
4C3406CB18D96EA600DFA14A /* expand_picture_neon.S in Sources */, 4C3406CB18D96EA600DFA14A /* expand_picture_neon.S in Sources */,
4CC61F0918FF6B4B00E56EAB /* copy_mb_neon.S in Sources */, 4CC61F0918FF6B4B00E56EAB /* copy_mb_neon.S in Sources */,
53C1C9BC193F0FB000404D8F /* expand_pic.cpp in Sources */,
4C3406CD18D96EA600DFA14A /* cpu.cpp in Sources */, 4C3406CD18D96EA600DFA14A /* cpu.cpp in Sources */,
F556A8251906673900E156A8 /* expand_picture_aarch64_neon.S in Sources */, F556A8251906673900E156A8 /* expand_picture_aarch64_neon.S in Sources */,
4C3406CA18D96EA600DFA14A /* deblocking_neon.S in Sources */, 4C3406CA18D96EA600DFA14A /* deblocking_neon.S in Sources */,
@@ -331,41 +260,13 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4CE443E118B722CD0017DF25 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4CE443F518B722CD0017DF25 /* commonTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
4CE443EC18B722CD0017DF25 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4CE443D418B722CD0017DF25 /* common */;
targetProxy = 4CE443EB18B722CD0017DF25 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
4CE443F118B722CD0017DF25 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
4CE443F218B722CD0017DF25 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
4CE443F618B722CD0017DF25 /* Debug */ = { 4CE443F618B722CD0017DF25 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -403,7 +304,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -434,7 +334,6 @@
4CE443F918B722CD0017DF25 /* Debug */ = { 4CE443F918B722CD0017DF25 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_CXX_LIBRARY = "compiler-default"; CLANG_CXX_LIBRARY = "compiler-default";
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -466,7 +365,6 @@
4CE443FA18B722CD0017DF25 /* Release */ = { 4CE443FA18B722CD0017DF25 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_CXX_LIBRARY = "compiler-default"; CLANG_CXX_LIBRARY = "compiler-default";
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -492,44 +390,6 @@
}; };
name = Release; name = Release;
}; };
4CE443FC18B722CD0017DF25 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "common/common-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = "commonTests/commonTests-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
};
name = Debug;
};
4CE443FD18B722CD0017DF25 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "common/common-Prefix.pch";
INFOPLIST_FILE = "commonTests/commonTests-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
};
name = Release;
};
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
@@ -551,15 +411,6 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
4CE443FB18B722CD0017DF25 /* Build configuration list for PBXNativeTarget "commonTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4CE443FC18B722CD0017DF25 /* Debug */,
4CE443FD18B722CD0017DF25 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 4CE443CD18B722CC0017DF25 /* Project object */; rootObject = 4CE443CD18B722CC0017DF25 /* Project object */;

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>cisco.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@@ -1,58 +0,0 @@
/*!
* \copy
* Copyright (c) 2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#import <XCTest/XCTest.h>
@interface commonTests : XCTestCase
@end
@implementation commonTests
- (void)setUp
{
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testExample
{
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
}
@end

View File

@@ -35,13 +35,6 @@
remoteGlobalIDString = 4CE443D518B722CD0017DF25; remoteGlobalIDString = 4CE443D518B722CD0017DF25;
remoteInfo = common; remoteInfo = common;
}; };
4CE444F718B72A900017DF25 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4CE444F018B72A8F0017DF25 /* common.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE443E518B722CD0017DF25;
remoteInfo = commonTests;
};
4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */ = { 4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */; containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */;
@@ -49,13 +42,6 @@
remoteGlobalIDString = 4CE4427918B6FC360017DF25; remoteGlobalIDString = 4CE4427918B6FC360017DF25;
remoteInfo = welsdec; remoteInfo = welsdec;
}; };
4CE4450118B72AD70017DF25 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE4428918B6FC360017DF25;
remoteInfo = welsdecTests;
};
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@@ -78,10 +64,10 @@
F0E663671810EFA5000C888E /* DEMOViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DEMOViewController.h; sourceTree = "<group>"; }; F0E663671810EFA5000C888E /* DEMOViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DEMOViewController.h; sourceTree = "<group>"; };
F0E663681810EFA5000C888E /* DEMOViewController.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = DEMOViewController.m; sourceTree = "<group>"; }; F0E663681810EFA5000C888E /* DEMOViewController.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = DEMOViewController.m; sourceTree = "<group>"; };
F0E663721810EFF7000C888E /* d3d9_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = d3d9_utils.h; sourceTree = "<group>"; }; F0E663721810EFF7000C888E /* d3d9_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = d3d9_utils.h; sourceTree = "<group>"; };
F0E663741810EFF7000C888E /* read_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = read_config.h; sourceTree = "<group>"; }; F0E663741810EFF7000C888E /* read_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = read_config.h; path = ../../common/inc/read_config.h; sourceTree = "<group>"; };
F0E663761810EFF7000C888E /* d3d9_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = d3d9_utils.cpp; sourceTree = "<group>"; }; F0E663761810EFF7000C888E /* d3d9_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = d3d9_utils.cpp; sourceTree = "<group>"; };
F0E663771810EFF7000C888E /* h264dec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = h264dec.cpp; sourceTree = "<group>"; }; F0E663771810EFF7000C888E /* h264dec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = h264dec.cpp; sourceTree = "<group>"; };
F0E663791810EFF7000C888E /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = read_config.cpp; sourceTree = "<group>"; }; F0E663791810EFF7000C888E /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = read_config.cpp; path = ../../common/src/read_config.cpp; sourceTree = "<group>"; };
F0E663B3181117B9000C888E /* DEMOViewControllerShowResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DEMOViewControllerShowResource.h; sourceTree = "<group>"; }; F0E663B3181117B9000C888E /* DEMOViewControllerShowResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DEMOViewControllerShowResource.h; sourceTree = "<group>"; };
F0E663B4181117B9000C888E /* DEMOViewControllerShowResource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DEMOViewControllerShowResource.m; sourceTree = "<group>"; }; F0E663B4181117B9000C888E /* DEMOViewControllerShowResource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DEMOViewControllerShowResource.m; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
@@ -106,7 +92,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE444F618B72A900017DF25 /* libcommon.a */, 4CE444F618B72A900017DF25 /* libcommon.a */,
4CE444F818B72A900017DF25 /* commonTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -115,7 +100,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4450018B72AD70017DF25 /* libwelsdec.a */, 4CE4450018B72AD70017DF25 /* libwelsdec.a */,
4CE4450218B72AD70017DF25 /* welsdecTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -273,13 +257,6 @@
remoteRef = 4CE444F518B72A900017DF25 /* PBXContainerItemProxy */; remoteRef = 4CE444F518B72A900017DF25 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR; sourceTree = BUILT_PRODUCTS_DIR;
}; };
4CE444F818B72A900017DF25 /* commonTests.xctest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
path = commonTests.xctest;
remoteRef = 4CE444F718B72A900017DF25 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
4CE4450018B72AD70017DF25 /* libwelsdec.a */ = { 4CE4450018B72AD70017DF25 /* libwelsdec.a */ = {
isa = PBXReferenceProxy; isa = PBXReferenceProxy;
fileType = archive.ar; fileType = archive.ar;
@@ -287,13 +264,6 @@
remoteRef = 4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */; remoteRef = 4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR; sourceTree = BUILT_PRODUCTS_DIR;
}; };
4CE4450218B72AD70017DF25 /* welsdecTests.xctest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
path = welsdecTests.xctest;
remoteRef = 4CE4450118B72AD70017DF25 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */ /* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */ /* Begin PBXResourcesBuildPhase section */

View File

@@ -34,6 +34,6 @@
@interface DEMOAppDelegate : UIResponder <UIApplicationDelegate> @interface DEMOAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UIWindow* window;
@end @end

View File

@@ -32,18 +32,17 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
@interface DEMOViewController : UIViewController @interface DEMOViewController : UIViewController {
{ BOOL bEnableFlag;
BOOL bEnableFlag;
} }
@property (strong, nonatomic) NSMutableArray *resFileArray; @property (strong, nonatomic) NSMutableArray* resFileArray;
@property (retain, nonatomic)UIAlertView *statusIndication; @property (retain, nonatomic)UIAlertView* statusIndication;
@property (assign, nonatomic) NSUInteger selectedRow; @property (assign, nonatomic) NSUInteger selectedRow;
- (IBAction)startDecoderAll:(id)sender; - (IBAction)startDecoderAll: (id)sender;
- (IBAction)startDecoderOne:(id)sender; - (IBAction)startDecoderOne: (id)sender;
@property (weak, nonatomic) IBOutlet UITextField *currentSelectedFileTF; @property (weak, nonatomic) IBOutlet UITextField* currentSelectedFileTF;
//unwind segue //unwind segue
- (IBAction)unwindSegueForShowResourceViewController:(UIStoryboardSegue *)segue; - (IBAction)unwindSegueForShowResourceViewController: (UIStoryboardSegue*)segue;
@end @end

View File

@@ -33,6 +33,6 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
@interface DEMOViewControllerShowResource : UITableViewController @interface DEMOViewControllerShowResource : UITableViewController
@property (strong, nonatomic) NSMutableArray *resFileArray; @property (strong, nonatomic) NSMutableArray* resFileArray;
@property (assign, nonatomic) NSUInteger selectedRow; @property (assign, nonatomic) NSUInteger selectedRow;
@end @end

View File

@@ -7,13 +7,8 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
4CBC1B81194AC4E100214D9E /* intra_pred_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */; };
4CE4427D18B6FC360017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4427C18B6FC360017DF25 /* Foundation.framework */; }; 4CE4427D18B6FC360017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4427C18B6FC360017DF25 /* Foundation.framework */; };
4CE4428B18B6FC360017DF25 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4428A18B6FC360017DF25 /* XCTest.framework */; };
4CE4428C18B6FC360017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4427C18B6FC360017DF25 /* Foundation.framework */; };
4CE4428E18B6FC360017DF25 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4428D18B6FC360017DF25 /* UIKit.framework */; };
4CE4429118B6FC360017DF25 /* libwelsdec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4427918B6FC360017DF25 /* libwelsdec.a */; };
4CE4429718B6FC360017DF25 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4CE4429518B6FC360017DF25 /* InfoPlist.strings */; };
4CE4429918B6FC360017DF25 /* welsdecTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4429818B6FC360017DF25 /* welsdecTests.m */; };
4CE4468A18BC5EAB0017DF25 /* au_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466718BC5EAA0017DF25 /* au_parser.cpp */; }; 4CE4468A18BC5EAB0017DF25 /* au_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466718BC5EAA0017DF25 /* au_parser.cpp */; };
4CE4468B18BC5EAB0017DF25 /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */; }; 4CE4468B18BC5EAB0017DF25 /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */; };
4CE4468C18BC5EAB0017DF25 /* deblocking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466918BC5EAA0017DF25 /* deblocking.cpp */; }; 4CE4468C18BC5EAB0017DF25 /* deblocking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466918BC5EAA0017DF25 /* deblocking.cpp */; };
@@ -22,7 +17,6 @@
4CE4468F18BC5EAB0017DF25 /* decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466C18BC5EAA0017DF25 /* decoder.cpp */; }; 4CE4468F18BC5EAB0017DF25 /* decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466C18BC5EAA0017DF25 /* decoder.cpp */; };
4CE4469018BC5EAB0017DF25 /* decoder_core.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */; }; 4CE4469018BC5EAB0017DF25 /* decoder_core.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */; };
4CE4469118BC5EAB0017DF25 /* decoder_data_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */; }; 4CE4469118BC5EAB0017DF25 /* decoder_data_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */; };
4CE4469218BC5EAB0017DF25 /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */; };
4CE4469318BC5EAB0017DF25 /* fmo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467018BC5EAA0017DF25 /* fmo.cpp */; }; 4CE4469318BC5EAB0017DF25 /* fmo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467018BC5EAA0017DF25 /* fmo.cpp */; };
4CE4469418BC5EAB0017DF25 /* get_intra_predictor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */; }; 4CE4469418BC5EAB0017DF25 /* get_intra_predictor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */; };
4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */; }; 4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */; };
@@ -33,24 +27,15 @@
4CE4469A18BC5EAB0017DF25 /* parse_mb_syn_cavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */; }; 4CE4469A18BC5EAB0017DF25 /* parse_mb_syn_cavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */; };
4CE4469B18BC5EAB0017DF25 /* pic_queue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */; }; 4CE4469B18BC5EAB0017DF25 /* pic_queue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */; };
4CE4469C18BC5EAB0017DF25 /* rec_mb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */; }; 4CE4469C18BC5EAB0017DF25 /* rec_mb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */; };
4CE4469D18BC5EAB0017DF25 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467A18BC5EAA0017DF25 /* utils.cpp */; };
4CE4469E18BC5EAB0017DF25 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */; };
4CE4469F18BC5EAB0017DF25 /* welsDecoderExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */; }; 4CE4469F18BC5EAB0017DF25 /* welsDecoderExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */; };
4CE447AC18BC6BE90017DF25 /* block_add_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CE447A718BC6BE90017DF25 /* block_add_neon.S */; }; 4CE447AC18BC6BE90017DF25 /* block_add_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CE447A718BC6BE90017DF25 /* block_add_neon.S */; };
4CE447AE18BC6BE90017DF25 /* intra_pred_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CE447A918BC6BE90017DF25 /* intra_pred_neon.S */; }; 4CE447AE18BC6BE90017DF25 /* intra_pred_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CE447A918BC6BE90017DF25 /* intra_pred_neon.S */; };
9ABF4382193EB60900A6BD61 /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9ABF4381193EB60900A6BD61 /* expand_pic.cpp */; };
9AED66561946A1DE009A3567 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */; };
9AED66591946A203009A3567 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED66581946A203009A3567 /* utils.cpp */; };
F0B204FC18FD23D8005DA23F /* error_concealment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0B204FB18FD23D8005DA23F /* error_concealment.cpp */; }; F0B204FC18FD23D8005DA23F /* error_concealment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0B204FB18FD23D8005DA23F /* error_concealment.cpp */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
4CE4428F18B6FC360017DF25 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4CE4427118B6FC360017DF25 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4CE4427818B6FC360017DF25;
remoteInfo = welsdec;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
4CE4427718B6FC360017DF25 /* CopyFiles */ = { 4CE4427718B6FC360017DF25 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase; isa = PBXCopyFilesBuildPhase;
@@ -64,14 +49,10 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_aarch64_neon.S; path = arm64/intra_pred_aarch64_neon.S; sourceTree = "<group>"; };
4CE4427918B6FC360017DF25 /* libwelsdec.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwelsdec.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4CE4427918B6FC360017DF25 /* libwelsdec.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwelsdec.a; sourceTree = BUILT_PRODUCTS_DIR; };
4CE4427C18B6FC360017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 4CE4427C18B6FC360017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
4CE4428918B6FC360017DF25 /* welsdecTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = welsdecTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4CE4428A18B6FC360017DF25 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
4CE4428D18B6FC360017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; 4CE4428D18B6FC360017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
4CE4429418B6FC360017DF25 /* welsdecTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "welsdecTests-Info.plist"; sourceTree = "<group>"; };
4CE4429618B6FC360017DF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
4CE4429818B6FC360017DF25 /* welsdecTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = welsdecTests.m; sourceTree = "<group>"; };
4CE4464518BC5EAA0017DF25 /* as264_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = as264_common.h; sourceTree = "<group>"; }; 4CE4464518BC5EAA0017DF25 /* as264_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = as264_common.h; sourceTree = "<group>"; };
4CE4464618BC5EAA0017DF25 /* au_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = au_parser.h; sourceTree = "<group>"; }; 4CE4464618BC5EAA0017DF25 /* au_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = au_parser.h; sourceTree = "<group>"; };
4CE4464718BC5EAA0017DF25 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; }; 4CE4464718BC5EAA0017DF25 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; };
@@ -84,7 +65,6 @@
4CE4464E18BC5EAA0017DF25 /* decoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_context.h; sourceTree = "<group>"; }; 4CE4464E18BC5EAA0017DF25 /* decoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_context.h; sourceTree = "<group>"; };
4CE4464F18BC5EAA0017DF25 /* decoder_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_core.h; sourceTree = "<group>"; }; 4CE4464F18BC5EAA0017DF25 /* decoder_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder_core.h; sourceTree = "<group>"; };
4CE4465018BC5EAA0017DF25 /* error_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_code.h; sourceTree = "<group>"; }; 4CE4465018BC5EAA0017DF25 /* error_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_code.h; sourceTree = "<group>"; };
4CE4465118BC5EAA0017DF25 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; usesTabs = 1; };
4CE4465218BC5EAA0017DF25 /* fmo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmo.h; sourceTree = "<group>"; usesTabs = 1; }; 4CE4465218BC5EAA0017DF25 /* fmo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmo.h; sourceTree = "<group>"; usesTabs = 1; };
4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; }; 4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = manage_dec_ref.h; sourceTree = "<group>"; }; 4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = manage_dec_ref.h; sourceTree = "<group>"; };
@@ -101,7 +81,6 @@
4CE4465F18BC5EAA0017DF25 /* picture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picture.h; sourceTree = "<group>"; }; 4CE4465F18BC5EAA0017DF25 /* picture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picture.h; sourceTree = "<group>"; };
4CE4466018BC5EAA0017DF25 /* rec_mb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rec_mb.h; sourceTree = "<group>"; }; 4CE4466018BC5EAA0017DF25 /* rec_mb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rec_mb.h; sourceTree = "<group>"; };
4CE4466118BC5EAA0017DF25 /* slice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slice.h; sourceTree = "<group>"; }; 4CE4466118BC5EAA0017DF25 /* slice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slice.h; sourceTree = "<group>"; };
4CE4466218BC5EAA0017DF25 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_decoder.h; sourceTree = "<group>"; }; 4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_decoder.h; sourceTree = "<group>"; };
4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; }; 4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; };
4CE4466518BC5EAA0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; }; 4CE4466518BC5EAA0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; };
@@ -113,7 +92,6 @@
4CE4466C18BC5EAA0017DF25 /* decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder.cpp; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; }; 4CE4466C18BC5EAA0017DF25 /* decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder.cpp; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_core.cpp; sourceTree = "<group>"; }; 4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_core.cpp; sourceTree = "<group>"; };
4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_data_tables.cpp; sourceTree = "<group>"; }; 4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decoder_data_tables.cpp; sourceTree = "<group>"; };
4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
4CE4467018BC5EAA0017DF25 /* fmo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fmo.cpp; sourceTree = "<group>"; }; 4CE4467018BC5EAA0017DF25 /* fmo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fmo.cpp; sourceTree = "<group>"; };
4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; }; 4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; };
4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = manage_dec_ref.cpp; sourceTree = "<group>"; }; 4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = manage_dec_ref.cpp; sourceTree = "<group>"; };
@@ -124,14 +102,17 @@
4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_mb_syn_cavlc.cpp; sourceTree = "<group>"; }; 4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_mb_syn_cavlc.cpp; sourceTree = "<group>"; };
4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pic_queue.cpp; sourceTree = "<group>"; }; 4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pic_queue.cpp; sourceTree = "<group>"; };
4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rec_mb.cpp; sourceTree = "<group>"; }; 4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rec_mb.cpp; sourceTree = "<group>"; };
4CE4467A18BC5EAA0017DF25 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
4CE4467D18BC5EAA0017DF25 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsCodecTrace.h; sourceTree = "<group>"; };
4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsDecoderExt.h; sourceTree = "<group>"; }; 4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsDecoderExt.h; sourceTree = "<group>"; };
4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wels_dec_export.def; sourceTree = "<group>"; }; 4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wels_dec_export.def; sourceTree = "<group>"; };
4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsCodecTrace.cpp; sourceTree = "<group>"; };
4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsDecoderExt.cpp; sourceTree = "<group>"; }; 4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsDecoderExt.cpp; sourceTree = "<group>"; };
4CE447A718BC6BE90017DF25 /* block_add_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = block_add_neon.S; sourceTree = "<group>"; }; 4CE447A718BC6BE90017DF25 /* block_add_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = block_add_neon.S; sourceTree = "<group>"; };
4CE447A918BC6BE90017DF25 /* intra_pred_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_neon.S; sourceTree = "<group>"; }; 4CE447A918BC6BE90017DF25 /* intra_pred_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_neon.S; sourceTree = "<group>"; };
9ABF4380193EB5F700A6BD61 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = expand_pic.h; path = ../../../common/inc/expand_pic.h; sourceTree = "<group>"; };
9ABF4381193EB60900A6BD61 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = expand_pic.cpp; path = ../../../common/src/expand_pic.cpp; sourceTree = "<group>"; };
9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = welsCodecTrace.cpp; path = ../../../common/src/welsCodecTrace.cpp; sourceTree = "<group>"; };
9AED66571946A1EB009A3567 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = welsCodecTrace.h; path = ../../../common/inc/welsCodecTrace.h; sourceTree = "<group>"; };
9AED66581946A203009A3567 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = ../../../common/src/utils.cpp; sourceTree = "<group>"; };
9AED665A1946A21D009A3567 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = ../../../common/inc/utils.h; sourceTree = "<group>"; };
F0B204FA18FD23CF005DA23F /* error_concealment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_concealment.h; sourceTree = "<group>"; }; F0B204FA18FD23CF005DA23F /* error_concealment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error_concealment.h; sourceTree = "<group>"; };
F0B204FB18FD23D8005DA23F /* error_concealment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = error_concealment.cpp; sourceTree = "<group>"; }; F0B204FB18FD23D8005DA23F /* error_concealment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = error_concealment.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
@@ -145,25 +126,21 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4CE4428618B6FC360017DF25 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4CE4428B18B6FC360017DF25 /* XCTest.framework in Frameworks */,
4CE4429118B6FC360017DF25 /* libwelsdec.a in Frameworks */,
4CE4428E18B6FC360017DF25 /* UIKit.framework in Frameworks */,
4CE4428C18B6FC360017DF25 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
4CBC1B7F194AC4A400214D9E /* arm64 */ = {
isa = PBXGroup;
children = (
4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */,
);
name = arm64;
sourceTree = "<group>";
};
4CE4427018B6FC360017DF25 = { 4CE4427018B6FC360017DF25 = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4463E18BC5EAA0017DF25 /* decoder */, 4CE4463E18BC5EAA0017DF25 /* decoder */,
4CE4429218B6FC360017DF25 /* welsdecTests */,
4CE4427B18B6FC360017DF25 /* Frameworks */, 4CE4427B18B6FC360017DF25 /* Frameworks */,
4CE4427A18B6FC360017DF25 /* Products */, 4CE4427A18B6FC360017DF25 /* Products */,
); );
@@ -173,7 +150,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4427918B6FC360017DF25 /* libwelsdec.a */, 4CE4427918B6FC360017DF25 /* libwelsdec.a */,
4CE4428918B6FC360017DF25 /* welsdecTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -182,30 +158,11 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4427C18B6FC360017DF25 /* Foundation.framework */, 4CE4427C18B6FC360017DF25 /* Foundation.framework */,
4CE4428A18B6FC360017DF25 /* XCTest.framework */,
4CE4428D18B6FC360017DF25 /* UIKit.framework */, 4CE4428D18B6FC360017DF25 /* UIKit.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
4CE4429218B6FC360017DF25 /* welsdecTests */ = {
isa = PBXGroup;
children = (
4CE4429818B6FC360017DF25 /* welsdecTests.m */,
4CE4429318B6FC360017DF25 /* Supporting Files */,
);
path = welsdecTests;
sourceTree = "<group>";
};
4CE4429318B6FC360017DF25 /* Supporting Files */ = {
isa = PBXGroup;
children = (
4CE4429418B6FC360017DF25 /* welsdecTests-Info.plist */,
4CE4429518B6FC360017DF25 /* InfoPlist.strings */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
4CE4463E18BC5EAA0017DF25 /* decoder */ = { 4CE4463E18BC5EAA0017DF25 /* decoder */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -219,6 +176,7 @@
4CE4463F18BC5EAA0017DF25 /* core */ = { 4CE4463F18BC5EAA0017DF25 /* core */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CBC1B7F194AC4A400214D9E /* arm64 */,
4CE447A518BC6BE90017DF25 /* arm */, 4CE447A518BC6BE90017DF25 /* arm */,
4CE4464418BC5EAA0017DF25 /* inc */, 4CE4464418BC5EAA0017DF25 /* inc */,
4CE4466618BC5EAA0017DF25 /* src */, 4CE4466618BC5EAA0017DF25 /* src */,
@@ -229,6 +187,8 @@
4CE4464418BC5EAA0017DF25 /* inc */ = { 4CE4464418BC5EAA0017DF25 /* inc */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9AED665A1946A21D009A3567 /* utils.h */,
9ABF4380193EB5F700A6BD61 /* expand_pic.h */,
F0B204FA18FD23CF005DA23F /* error_concealment.h */, F0B204FA18FD23CF005DA23F /* error_concealment.h */,
4CE4464518BC5EAA0017DF25 /* as264_common.h */, 4CE4464518BC5EAA0017DF25 /* as264_common.h */,
4CE4464618BC5EAA0017DF25 /* au_parser.h */, 4CE4464618BC5EAA0017DF25 /* au_parser.h */,
@@ -242,7 +202,6 @@
4CE4464E18BC5EAA0017DF25 /* decoder_context.h */, 4CE4464E18BC5EAA0017DF25 /* decoder_context.h */,
4CE4464F18BC5EAA0017DF25 /* decoder_core.h */, 4CE4464F18BC5EAA0017DF25 /* decoder_core.h */,
4CE4465018BC5EAA0017DF25 /* error_code.h */, 4CE4465018BC5EAA0017DF25 /* error_code.h */,
4CE4465118BC5EAA0017DF25 /* expand_pic.h */,
4CE4465218BC5EAA0017DF25 /* fmo.h */, 4CE4465218BC5EAA0017DF25 /* fmo.h */,
4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */, 4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */,
4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */, 4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */,
@@ -259,7 +218,6 @@
4CE4465F18BC5EAA0017DF25 /* picture.h */, 4CE4465F18BC5EAA0017DF25 /* picture.h */,
4CE4466018BC5EAA0017DF25 /* rec_mb.h */, 4CE4466018BC5EAA0017DF25 /* rec_mb.h */,
4CE4466118BC5EAA0017DF25 /* slice.h */, 4CE4466118BC5EAA0017DF25 /* slice.h */,
4CE4466218BC5EAA0017DF25 /* utils.h */,
4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */, 4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */,
4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */, 4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */,
4CE4466518BC5EAA0017DF25 /* wels_const.h */, 4CE4466518BC5EAA0017DF25 /* wels_const.h */,
@@ -270,6 +228,8 @@
4CE4466618BC5EAA0017DF25 /* src */ = { 4CE4466618BC5EAA0017DF25 /* src */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9AED66581946A203009A3567 /* utils.cpp */,
9ABF4381193EB60900A6BD61 /* expand_pic.cpp */,
F0B204FB18FD23D8005DA23F /* error_concealment.cpp */, F0B204FB18FD23D8005DA23F /* error_concealment.cpp */,
4CE4466718BC5EAA0017DF25 /* au_parser.cpp */, 4CE4466718BC5EAA0017DF25 /* au_parser.cpp */,
4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */, 4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */,
@@ -279,7 +239,6 @@
4CE4466C18BC5EAA0017DF25 /* decoder.cpp */, 4CE4466C18BC5EAA0017DF25 /* decoder.cpp */,
4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */, 4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */,
4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */, 4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */,
4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */,
4CE4467018BC5EAA0017DF25 /* fmo.cpp */, 4CE4467018BC5EAA0017DF25 /* fmo.cpp */,
4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */, 4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */,
4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */, 4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */,
@@ -290,7 +249,6 @@
4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */, 4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */,
4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */, 4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */,
4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */, 4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */,
4CE4467A18BC5EAA0017DF25 /* utils.cpp */,
); );
path = src; path = src;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -307,7 +265,7 @@
4CE4467C18BC5EAA0017DF25 /* inc */ = { 4CE4467C18BC5EAA0017DF25 /* inc */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4467D18BC5EAA0017DF25 /* welsCodecTrace.h */, 9AED66571946A1EB009A3567 /* welsCodecTrace.h */,
4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */, 4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */,
); );
path = inc; path = inc;
@@ -316,8 +274,8 @@
4CE4468218BC5EAB0017DF25 /* src */ = { 4CE4468218BC5EAB0017DF25 /* src */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */,
4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */, 4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */,
4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */,
4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */, 4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */,
); );
path = src; path = src;
@@ -352,31 +310,13 @@
productReference = 4CE4427918B6FC360017DF25 /* libwelsdec.a */; productReference = 4CE4427918B6FC360017DF25 /* libwelsdec.a */;
productType = "com.apple.product-type.library.static"; productType = "com.apple.product-type.library.static";
}; };
4CE4428818B6FC360017DF25 /* welsdecTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4CE4429F18B6FC360017DF25 /* Build configuration list for PBXNativeTarget "welsdecTests" */;
buildPhases = (
4CE4428518B6FC360017DF25 /* Sources */,
4CE4428618B6FC360017DF25 /* Frameworks */,
4CE4428718B6FC360017DF25 /* Resources */,
);
buildRules = (
);
dependencies = (
4CE4429018B6FC360017DF25 /* PBXTargetDependency */,
);
name = welsdecTests;
productName = welsdecTests;
productReference = 4CE4428918B6FC360017DF25 /* welsdecTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
/* Begin PBXProject section */ /* Begin PBXProject section */
4CE4427118B6FC360017DF25 /* Project object */ = { 4CE4427118B6FC360017DF25 /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 0500; LastUpgradeCheck = 0510;
ORGANIZATIONNAME = video; ORGANIZATIONNAME = video;
}; };
buildConfigurationList = 4CE4427418B6FC360017DF25 /* Build configuration list for PBXProject "welsdec" */; buildConfigurationList = 4CE4427418B6FC360017DF25 /* Build configuration list for PBXProject "welsdec" */;
@@ -392,22 +332,10 @@
projectRoot = ""; projectRoot = "";
targets = ( targets = (
4CE4427818B6FC360017DF25 /* welsdec */, 4CE4427818B6FC360017DF25 /* welsdec */,
4CE4428818B6FC360017DF25 /* welsdecTests */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
4CE4428718B6FC360017DF25 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4CE4429718B6FC360017DF25 /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
4CE4427518B6FC360017DF25 /* Sources */ = { 4CE4427518B6FC360017DF25 /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
@@ -416,18 +344,18 @@
4CE4469B18BC5EAB0017DF25 /* pic_queue.cpp in Sources */, 4CE4469B18BC5EAB0017DF25 /* pic_queue.cpp in Sources */,
4CE4469F18BC5EAB0017DF25 /* welsDecoderExt.cpp in Sources */, 4CE4469F18BC5EAB0017DF25 /* welsDecoderExt.cpp in Sources */,
4CE4469318BC5EAB0017DF25 /* fmo.cpp in Sources */, 4CE4469318BC5EAB0017DF25 /* fmo.cpp in Sources */,
4CE4469D18BC5EAB0017DF25 /* utils.cpp in Sources */,
4CE4469118BC5EAB0017DF25 /* decoder_data_tables.cpp in Sources */, 4CE4469118BC5EAB0017DF25 /* decoder_data_tables.cpp in Sources */,
4CE4469718BC5EAB0017DF25 /* mem_align.cpp in Sources */, 4CE4469718BC5EAB0017DF25 /* mem_align.cpp in Sources */,
9ABF4382193EB60900A6BD61 /* expand_pic.cpp in Sources */,
4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */, 4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */,
4CE4468A18BC5EAB0017DF25 /* au_parser.cpp in Sources */, 4CE4468A18BC5EAB0017DF25 /* au_parser.cpp in Sources */,
4CE4469218BC5EAB0017DF25 /* expand_pic.cpp in Sources */,
4CE4469918BC5EAB0017DF25 /* mv_pred.cpp in Sources */, 4CE4469918BC5EAB0017DF25 /* mv_pred.cpp in Sources */,
4CE447AC18BC6BE90017DF25 /* block_add_neon.S in Sources */, 4CE447AC18BC6BE90017DF25 /* block_add_neon.S in Sources */,
4CE4469418BC5EAB0017DF25 /* get_intra_predictor.cpp in Sources */, 4CE4469418BC5EAB0017DF25 /* get_intra_predictor.cpp in Sources */,
9AED66561946A1DE009A3567 /* welsCodecTrace.cpp in Sources */,
F0B204FC18FD23D8005DA23F /* error_concealment.cpp in Sources */, F0B204FC18FD23D8005DA23F /* error_concealment.cpp in Sources */,
4CBC1B81194AC4E100214D9E /* intra_pred_aarch64_neon.S in Sources */,
4CE4469018BC5EAB0017DF25 /* decoder_core.cpp in Sources */, 4CE4469018BC5EAB0017DF25 /* decoder_core.cpp in Sources */,
4CE4469E18BC5EAB0017DF25 /* welsCodecTrace.cpp in Sources */,
4CE447AE18BC6BE90017DF25 /* intra_pred_neon.S in Sources */, 4CE447AE18BC6BE90017DF25 /* intra_pred_neon.S in Sources */,
4CE4469618BC5EAB0017DF25 /* mc.cpp in Sources */, 4CE4469618BC5EAB0017DF25 /* mc.cpp in Sources */,
4CE4469C18BC5EAB0017DF25 /* rec_mb.cpp in Sources */, 4CE4469C18BC5EAB0017DF25 /* rec_mb.cpp in Sources */,
@@ -435,47 +363,20 @@
4CE4468D18BC5EAB0017DF25 /* decode_mb_aux.cpp in Sources */, 4CE4468D18BC5EAB0017DF25 /* decode_mb_aux.cpp in Sources */,
4CE4468E18BC5EAB0017DF25 /* decode_slice.cpp in Sources */, 4CE4468E18BC5EAB0017DF25 /* decode_slice.cpp in Sources */,
4CE4468F18BC5EAB0017DF25 /* decoder.cpp in Sources */, 4CE4468F18BC5EAB0017DF25 /* decoder.cpp in Sources */,
9AED66591946A203009A3567 /* utils.cpp in Sources */,
4CE4469818BC5EAB0017DF25 /* memmgr_nal_unit.cpp in Sources */, 4CE4469818BC5EAB0017DF25 /* memmgr_nal_unit.cpp in Sources */,
4CE4468C18BC5EAB0017DF25 /* deblocking.cpp in Sources */, 4CE4468C18BC5EAB0017DF25 /* deblocking.cpp in Sources */,
4CE4469A18BC5EAB0017DF25 /* parse_mb_syn_cavlc.cpp in Sources */, 4CE4469A18BC5EAB0017DF25 /* parse_mb_syn_cavlc.cpp in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4CE4428518B6FC360017DF25 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4CE4429918B6FC360017DF25 /* welsdecTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
4CE4429018B6FC360017DF25 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4CE4427818B6FC360017DF25 /* welsdec */;
targetProxy = 4CE4428F18B6FC360017DF25 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
4CE4429518B6FC360017DF25 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
4CE4429618B6FC360017DF25 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
4CE4429A18B6FC360017DF25 /* Debug */ = { 4CE4429A18B6FC360017DF25 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -513,7 +414,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -544,7 +444,6 @@
4CE4429D18B6FC360017DF25 /* Debug */ = { 4CE4429D18B6FC360017DF25 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_CXX_LIBRARY = "compiler-default"; CLANG_CXX_LIBRARY = "compiler-default";
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -568,8 +467,10 @@
"$(SRCROOT)/../../../../common/inc", "$(SRCROOT)/../../../../common/inc",
"$(SRCROOT)/../../../../api/svc", "$(SRCROOT)/../../../../api/svc",
"$(SRCROOT)/../../../../common/arm", "$(SRCROOT)/../../../../common/arm",
"$(SRCROOT)/../../../../common/arm64",
); );
IPHONEOS_DEPLOYMENT_TARGET = 6.1; IPHONEOS_DEPLOYMENT_TARGET = 6.1;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC"; OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@@ -580,7 +481,6 @@
4CE4429E18B6FC360017DF25 /* Release */ = { 4CE4429E18B6FC360017DF25 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_CXX_LIBRARY = "compiler-default"; CLANG_CXX_LIBRARY = "compiler-default";
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -602,8 +502,10 @@
"$(SRCROOT)/../../../../common/inc", "$(SRCROOT)/../../../../common/inc",
"$(SRCROOT)/../../../../api/svc", "$(SRCROOT)/../../../../api/svc",
"$(SRCROOT)/../../../../common/arm", "$(SRCROOT)/../../../../common/arm",
"$(SRCROOT)/../../../../common/arm64",
); );
IPHONEOS_DEPLOYMENT_TARGET = 6.1; IPHONEOS_DEPLOYMENT_TARGET = 6.1;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC"; OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@@ -611,44 +513,6 @@
}; };
name = Release; name = Release;
}; };
4CE442A018B6FC360017DF25 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "welsdec/welsdec-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = "welsdecTests/welsdecTests-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
};
name = Debug;
};
4CE442A118B6FC360017DF25 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "welsdec/welsdec-Prefix.pch";
INFOPLIST_FILE = "welsdecTests/welsdecTests-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
};
name = Release;
};
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
@@ -670,15 +534,6 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
4CE4429F18B6FC360017DF25 /* Build configuration list for PBXNativeTarget "welsdecTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4CE442A018B6FC360017DF25 /* Debug */,
4CE442A118B6FC360017DF25 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 4CE4427118B6FC360017DF25 /* Project object */; rootObject = 4CE4427118B6FC360017DF25 /* Project object */;

View File

@@ -1,2 +0,0 @@
/* Localized versions of Info.plist keys */

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>cisco.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@@ -1,58 +0,0 @@
/*!
* \copy
* Copyright (c) 2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#import <XCTest/XCTest.h>
@interface welsdecTests : XCTestCase
@end
@implementation welsdecTests
- (void)setUp
{
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testExample
{
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
}
@end

View File

@@ -7,6 +7,7 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
544F0DC4196F86F50092FC6F /* libprocessing.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 544F0DC3196F86EF0092FC6F /* libprocessing.a */; };
FAA3D9D318BD729500BCD52D /* welsenc_ios.cfg in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9D218BD729500BCD52D /* welsenc_ios.cfg */; }; FAA3D9D318BD729500BCD52D /* welsenc_ios.cfg in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9D218BD729500BCD52D /* welsenc_ios.cfg */; };
FAA3D9D818BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9D718BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv */; }; FAA3D9D818BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9D718BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv */; };
FAA3D9DD18BD8A5600BCD52D /* layer2.cfg in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9DC18BD8A5600BCD52D /* layer2.cfg */; }; FAA3D9DD18BD8A5600BCD52D /* layer2.cfg in Resources */ = {isa = PBXBuildFile; fileRef = FAA3D9DC18BD8A5600BCD52D /* layer2.cfg */; };
@@ -21,13 +22,26 @@
FAFB4FC218BC8DD700315438 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FAFB4FC118BC8DD700315438 /* ViewController.m */; }; FAFB4FC218BC8DD700315438 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FAFB4FC118BC8DD700315438 /* ViewController.m */; };
FAFB4FC418BC8DD700315438 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FAFB4FC318BC8DD700315438 /* Images.xcassets */; }; FAFB4FC418BC8DD700315438 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FAFB4FC318BC8DD700315438 /* Images.xcassets */; };
FAFB500318BC8F0D00315438 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FAFB4FF118BC8E8600315438 /* libcommon.a */; }; FAFB500318BC8F0D00315438 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FAFB4FF118BC8E8600315438 /* libcommon.a */; };
FAFB500418BC8F1100315438 /* libprocessing.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FAFB4FFA18BC8E9A00315438 /* libprocessing.a */; };
FAFB500518BC8F1500315438 /* libwelsenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FAFB4FE818BC8E7D00315438 /* libwelsenc.a */; }; FAFB500518BC8F1500315438 /* libwelsenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FAFB4FE818BC8E7D00315438 /* libwelsenc.a */; };
FAFB500B18BC8F6C00315438 /* welsenc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAFB500A18BC8F6C00315438 /* welsenc.cpp */; }; FAFB500B18BC8F6C00315438 /* welsenc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAFB500A18BC8F6C00315438 /* welsenc.cpp */; };
FAFB502F18BCA50900315438 /* read_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAFB502E18BCA50900315438 /* read_config.cpp */; }; FAFB502F18BCA50900315438 /* read_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAFB502E18BCA50900315438 /* read_config.cpp */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
544F0DBF196F86EF0092FC6F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 544F0DB9196F85F20092FC6F /* processing.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 5499477B196A3F3900BA3D87;
remoteInfo = processing;
};
544F0DC2196F86EF0092FC6F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 544F0DB9196F85F20092FC6F /* processing.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 5499477C196A3F3900BA3D87;
remoteInfo = processing;
};
FAFB4FE718BC8E7D00315438 /* PBXContainerItemProxy */ = { FAFB4FE718BC8E7D00315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */; containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */;
@@ -35,13 +49,6 @@
remoteGlobalIDString = 4CE4431118B6FFA00017DF25; remoteGlobalIDString = 4CE4431118B6FFA00017DF25;
remoteInfo = welsenc; remoteInfo = welsenc;
}; };
FAFB4FE918BC8E7D00315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE4432118B6FFA00017DF25;
remoteInfo = welsencTests;
};
FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */ = { FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */; containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
@@ -49,27 +56,6 @@
remoteGlobalIDString = 4CE443D518B722CD0017DF25; remoteGlobalIDString = 4CE443D518B722CD0017DF25;
remoteInfo = common; remoteInfo = common;
}; };
FAFB4FF218BC8E8600315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE443E518B722CD0017DF25;
remoteInfo = commonTests;
};
FAFB4FF918BC8E9A00315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE4443118B724B60017DF25;
remoteInfo = processing;
};
FAFB4FFB18BC8E9A00315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE4444118B724B60017DF25;
remoteInfo = processingTests;
};
FAFB4FFD18BC8EAA00315438 /* PBXContainerItemProxy */ = { FAFB4FFD18BC8EAA00315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */; containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
@@ -77,13 +63,6 @@
remoteGlobalIDString = 4CE443D418B722CD0017DF25; remoteGlobalIDString = 4CE443D418B722CD0017DF25;
remoteInfo = common; remoteInfo = common;
}; };
FAFB4FFF18BC8EAF00315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 4CE4443018B724B60017DF25;
remoteInfo = processing;
};
FAFB500118BC8EB200315438 /* PBXContainerItemProxy */ = { FAFB500118BC8EB200315438 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */; containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */;
@@ -94,6 +73,7 @@
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
544F0DB9196F85F20092FC6F /* processing.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = processing.xcodeproj; path = ../../processing/processing.xcodeproj; sourceTree = "<group>"; };
FAA3D9D218BD729500BCD52D /* welsenc_ios.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = welsenc_ios.cfg; path = ../../../../../../testbin/welsenc_ios.cfg; sourceTree = "<group>"; }; FAA3D9D218BD729500BCD52D /* welsenc_ios.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = welsenc_ios.cfg; path = ../../../../../../testbin/welsenc_ios.cfg; sourceTree = "<group>"; };
FAA3D9D718BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = CiscoVT2people_320x192_12fps.yuv; path = ../../../../../../res/CiscoVT2people_320x192_12fps.yuv; sourceTree = "<group>"; }; FAA3D9D718BD777100BCD52D /* CiscoVT2people_320x192_12fps.yuv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = CiscoVT2people_320x192_12fps.yuv; path = ../../../../../../res/CiscoVT2people_320x192_12fps.yuv; sourceTree = "<group>"; };
FAA3D9DC18BD8A5600BCD52D /* layer2.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = layer2.cfg; path = ../../../../../../testbin/layer2.cfg; sourceTree = "<group>"; }; FAA3D9DC18BD8A5600BCD52D /* layer2.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = layer2.cfg; path = ../../../../../../testbin/layer2.cfg; sourceTree = "<group>"; };
@@ -112,13 +92,11 @@
FAFB4FC018BC8DD700315438 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; }; FAFB4FC018BC8DD700315438 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
FAFB4FC118BC8DD700315438 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; }; FAFB4FC118BC8DD700315438 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
FAFB4FC318BC8DD700315438 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; }; FAFB4FC318BC8DD700315438 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
FAFB4FCA18BC8DD700315438 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = welsenc.xcodeproj; path = ../welsenc/welsenc.xcodeproj; sourceTree = "<group>"; }; FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = welsenc.xcodeproj; path = ../welsenc/welsenc.xcodeproj; sourceTree = "<group>"; };
FAFB4FEB18BC8E8600315438 /* common.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = common.xcodeproj; path = ../../common/common.xcodeproj; sourceTree = "<group>"; }; FAFB4FEB18BC8E8600315438 /* common.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = common.xcodeproj; path = ../../common/common.xcodeproj; sourceTree = "<group>"; };
FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = processing.xcodeproj; path = ../../../../processing/build/iOS/processing.xcodeproj; sourceTree = "<group>"; };
FAFB500918BC8F6600315438 /* read_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = read_config.h; sourceTree = "<group>"; }; FAFB500918BC8F6600315438 /* read_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = read_config.h; sourceTree = "<group>"; };
FAFB500A18BC8F6C00315438 /* welsenc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsenc.cpp; sourceTree = "<group>"; }; FAFB500A18BC8F6C00315438 /* welsenc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsenc.cpp; sourceTree = "<group>"; };
FAFB502E18BCA50900315438 /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = read_config.cpp; sourceTree = "<group>"; }; FAFB502E18BCA50900315438 /* read_config.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = read_config.cpp; path = ../../common/src/read_config.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -126,8 +104,8 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
544F0DC4196F86F50092FC6F /* libprocessing.a in Frameworks */,
FAFB500518BC8F1500315438 /* libwelsenc.a in Frameworks */, FAFB500518BC8F1500315438 /* libwelsenc.a in Frameworks */,
FAFB500418BC8F1100315438 /* libprocessing.a in Frameworks */,
FAFB500318BC8F0D00315438 /* libcommon.a in Frameworks */, FAFB500318BC8F0D00315438 /* libcommon.a in Frameworks */,
FAFB4FAB18BC8DD700315438 /* CoreGraphics.framework in Frameworks */, FAFB4FAB18BC8DD700315438 /* CoreGraphics.framework in Frameworks */,
FAFB4FAD18BC8DD700315438 /* UIKit.framework in Frameworks */, FAFB4FAD18BC8DD700315438 /* UIKit.framework in Frameworks */,
@@ -138,6 +116,14 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
544F0DBA196F85F20092FC6F /* Products */ = {
isa = PBXGroup;
children = (
544F0DC3196F86EF0092FC6F /* libprocessing.a */,
);
name = Products;
sourceTree = "<group>";
};
FAFB4F9C18BC8DD700315438 = { FAFB4F9C18BC8DD700315438 = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -158,13 +144,12 @@
FAFB4FA718BC8DD700315438 /* Frameworks */ = { FAFB4FA718BC8DD700315438 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */, 544F0DB9196F85F20092FC6F /* processing.xcodeproj */,
FAFB4FEB18BC8E8600315438 /* common.xcodeproj */, FAFB4FEB18BC8E8600315438 /* common.xcodeproj */,
FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */, FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */,
FAFB4FA818BC8DD700315438 /* Foundation.framework */, FAFB4FA818BC8DD700315438 /* Foundation.framework */,
FAFB4FAA18BC8DD700315438 /* CoreGraphics.framework */, FAFB4FAA18BC8DD700315438 /* CoreGraphics.framework */,
FAFB4FAC18BC8DD700315438 /* UIKit.framework */, FAFB4FAC18BC8DD700315438 /* UIKit.framework */,
FAFB4FCA18BC8DD700315438 /* XCTest.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -203,7 +188,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FAFB4FE818BC8E7D00315438 /* libwelsenc.a */, FAFB4FE818BC8E7D00315438 /* libwelsenc.a */,
FAFB4FEA18BC8E7D00315438 /* welsencTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -212,16 +196,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FAFB4FF118BC8E8600315438 /* libcommon.a */, FAFB4FF118BC8E8600315438 /* libcommon.a */,
FAFB4FF318BC8E8600315438 /* commonTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
FAFB4FF518BC8E9A00315438 /* Products */ = {
isa = PBXGroup;
children = (
FAFB4FFA18BC8E9A00315438 /* libprocessing.a */,
FAFB4FFC18BC8E9A00315438 /* processingTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -250,7 +224,8 @@
children = ( children = (
FAFB500918BC8F6600315438 /* read_config.h */, FAFB500918BC8F6600315438 /* read_config.h */,
); );
path = inc; name = inc;
path = ../common/inc;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
/* End PBXGroup section */ /* End PBXGroup section */
@@ -267,8 +242,8 @@
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
544F0DC0196F86EF0092FC6F /* PBXTargetDependency */,
FAFB500218BC8EB200315438 /* PBXTargetDependency */, FAFB500218BC8EB200315438 /* PBXTargetDependency */,
FAFB500018BC8EAF00315438 /* PBXTargetDependency */,
FAFB4FFE18BC8EAA00315438 /* PBXTargetDependency */, FAFB4FFE18BC8EAA00315438 /* PBXTargetDependency */,
); );
name = encDemo; name = encDemo;
@@ -282,7 +257,7 @@
FAFB4F9D18BC8DD700315438 /* Project object */ = { FAFB4F9D18BC8DD700315438 /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 0500; LastUpgradeCheck = 0510;
ORGANIZATIONNAME = video; ORGANIZATIONNAME = video;
}; };
buildConfigurationList = FAFB4FA018BC8DD700315438 /* Build configuration list for PBXProject "encDemo" */; buildConfigurationList = FAFB4FA018BC8DD700315438 /* Build configuration list for PBXProject "encDemo" */;
@@ -302,8 +277,8 @@
ProjectRef = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */; ProjectRef = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
}, },
{ {
ProductGroup = FAFB4FF518BC8E9A00315438 /* Products */; ProductGroup = 544F0DBA196F85F20092FC6F /* Products */;
ProjectRef = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */; ProjectRef = 544F0DB9196F85F20092FC6F /* processing.xcodeproj */;
}, },
{ {
ProductGroup = FAFB4FE318BC8E7C00315438 /* Products */; ProductGroup = FAFB4FE318BC8E7C00315438 /* Products */;
@@ -318,6 +293,13 @@
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXReferenceProxy section */ /* Begin PBXReferenceProxy section */
544F0DC3196F86EF0092FC6F /* libprocessing.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libprocessing.a;
remoteRef = 544F0DC2196F86EF0092FC6F /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FAFB4FE818BC8E7D00315438 /* libwelsenc.a */ = { FAFB4FE818BC8E7D00315438 /* libwelsenc.a */ = {
isa = PBXReferenceProxy; isa = PBXReferenceProxy;
fileType = archive.ar; fileType = archive.ar;
@@ -325,13 +307,6 @@
remoteRef = FAFB4FE718BC8E7D00315438 /* PBXContainerItemProxy */; remoteRef = FAFB4FE718BC8E7D00315438 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR; sourceTree = BUILT_PRODUCTS_DIR;
}; };
FAFB4FEA18BC8E7D00315438 /* welsencTests.xctest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
path = welsencTests.xctest;
remoteRef = FAFB4FE918BC8E7D00315438 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FAFB4FF118BC8E8600315438 /* libcommon.a */ = { FAFB4FF118BC8E8600315438 /* libcommon.a */ = {
isa = PBXReferenceProxy; isa = PBXReferenceProxy;
fileType = archive.ar; fileType = archive.ar;
@@ -339,27 +314,6 @@
remoteRef = FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */; remoteRef = FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR; sourceTree = BUILT_PRODUCTS_DIR;
}; };
FAFB4FF318BC8E8600315438 /* commonTests.xctest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
path = commonTests.xctest;
remoteRef = FAFB4FF218BC8E8600315438 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FAFB4FFA18BC8E9A00315438 /* libprocessing.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libprocessing.a;
remoteRef = FAFB4FF918BC8E9A00315438 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FAFB4FFC18BC8E9A00315438 /* processingTests.xctest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
path = processingTests.xctest;
remoteRef = FAFB4FFB18BC8E9A00315438 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */ /* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */ /* Begin PBXResourcesBuildPhase section */
@@ -395,16 +349,16 @@
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */ /* Begin PBXTargetDependency section */
544F0DC0196F86EF0092FC6F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = processing;
targetProxy = 544F0DBF196F86EF0092FC6F /* PBXContainerItemProxy */;
};
FAFB4FFE18BC8EAA00315438 /* PBXTargetDependency */ = { FAFB4FFE18BC8EAA00315438 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
name = common; name = common;
targetProxy = FAFB4FFD18BC8EAA00315438 /* PBXContainerItemProxy */; targetProxy = FAFB4FFD18BC8EAA00315438 /* PBXContainerItemProxy */;
}; };
FAFB500018BC8EAF00315438 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = processing;
targetProxy = FAFB4FFF18BC8EAF00315438 /* PBXContainerItemProxy */;
};
FAFB500218BC8EB200315438 /* PBXTargetDependency */ = { FAFB500218BC8EB200315438 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
name = welsenc; name = welsenc;
@@ -444,7 +398,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -475,9 +428,7 @@
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"\"$(SRCROOT)/../../../../api/svc\"", "\"$(SRCROOT)/../../../../api/svc\"",
"\"$(SRCROOT)/../../../../common\"",
"\"$(SRCROOT)/../../../../processing/interface\"", "\"$(SRCROOT)/../../../../processing/interface\"",
"\"$(SRCROOT)/../../../../encoder/core/inc\"", "\"$(SRCROOT)/../../../../encoder/core/inc\"",
); );
@@ -492,7 +443,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -517,9 +467,7 @@
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"\"$(SRCROOT)/../../../../api/svc\"", "\"$(SRCROOT)/../../../../api/svc\"",
"\"$(SRCROOT)/../../../../common\"",
"\"$(SRCROOT)/../../../../processing/interface\"", "\"$(SRCROOT)/../../../../processing/interface\"",
"\"$(SRCROOT)/../../../../encoder/core/inc\"", "\"$(SRCROOT)/../../../../encoder/core/inc\"",
); );
@@ -533,13 +481,11 @@
FAFB4FDB18BC8DD700315438 /* Debug */ = { FAFB4FDB18BC8DD700315438 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS; GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"\"$(SRCROOT)/../../../../api/svc\"", "\"$(SRCROOT)/../../../../api/svc\"",
"\"$(SRCROOT)/../../../../common/inc\"", "\"$(SRCROOT)/../../../../common/inc\"",
); );
@@ -552,13 +498,11 @@
FAFB4FDC18BC8DD700315438 /* Release */ = { FAFB4FDC18BC8DD700315438 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS; GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"\"$(SRCROOT)/../../../../api/svc\"", "\"$(SRCROOT)/../../../../api/svc\"",
"\"$(SRCROOT)/../../../../common/inc\"", "\"$(SRCROOT)/../../../../common/inc\"",
); );

View File

@@ -34,6 +34,6 @@
@interface AppDelegate : UIResponder <UIApplicationDelegate> @interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UIWindow* window;
@end @end

View File

@@ -33,12 +33,12 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
@interface ViewController : UIViewController { @interface ViewController : UIViewController {
UILabel * statusText_; UILabel* statusText_;
} }
@property (retain, nonatomic) IBOutlet UILabel * statusText; @property (retain, nonatomic) IBOutlet UILabel* statusText;
-(IBAction) buttonPressed:(id)sender; - (IBAction) buttonPressed: (id)sender;
@end @end

View File

@@ -7,18 +7,15 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
4C23BC60195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */; };
4C34066D18C57D0400DFA14A /* intra_pred_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066618C57D0400DFA14A /* intra_pred_neon.S */; }; 4C34066D18C57D0400DFA14A /* intra_pred_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066618C57D0400DFA14A /* intra_pred_neon.S */; };
4C34066E18C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066718C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S */; }; 4C34066E18C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066718C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S */; };
4C34067018C57D0400DFA14A /* memory_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066918C57D0400DFA14A /* memory_neon.S */; }; 4C34067018C57D0400DFA14A /* memory_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066918C57D0400DFA14A /* memory_neon.S */; };
4C34067118C57D0400DFA14A /* pixel_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066A18C57D0400DFA14A /* pixel_neon.S */; }; 4C34067118C57D0400DFA14A /* pixel_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066A18C57D0400DFA14A /* pixel_neon.S */; };
4C34067218C57D0400DFA14A /* reconstruct_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066B18C57D0400DFA14A /* reconstruct_neon.S */; }; 4C34067218C57D0400DFA14A /* reconstruct_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4C34066B18C57D0400DFA14A /* reconstruct_neon.S */; };
4CB8F2B419235FC5005D6386 /* pixel_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8F2B319235FC5005D6386 /* pixel_aarch64_neon.S */; };
4CBC1B83194ACBB400214D9E /* intra_pred_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CBC1B82194ACBB400214D9E /* intra_pred_aarch64_neon.S */; };
4CE4431518B6FFA00017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4431418B6FFA00017DF25 /* Foundation.framework */; }; 4CE4431518B6FFA00017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4431418B6FFA00017DF25 /* Foundation.framework */; };
4CE4432318B6FFA00017DF25 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4432218B6FFA00017DF25 /* XCTest.framework */; };
4CE4432418B6FFA00017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4431418B6FFA00017DF25 /* Foundation.framework */; };
4CE4432618B6FFA00017DF25 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4432518B6FFA00017DF25 /* UIKit.framework */; };
4CE4432918B6FFA00017DF25 /* libwelsenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE4431118B6FFA00017DF25 /* libwelsenc.a */; };
4CE4432F18B6FFA00017DF25 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4CE4432D18B6FFA00017DF25 /* InfoPlist.strings */; };
4CE4433118B6FFA00017DF25 /* welsencTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4433018B6FFA00017DF25 /* welsencTests.m */; };
4CE4470E18BC605C0017DF25 /* au_set.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DD18BC605C0017DF25 /* au_set.cpp */; }; 4CE4470E18BC605C0017DF25 /* au_set.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DD18BC605C0017DF25 /* au_set.cpp */; };
4CE4470F18BC605C0017DF25 /* deblocking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DE18BC605C0017DF25 /* deblocking.cpp */; }; 4CE4470F18BC605C0017DF25 /* deblocking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DE18BC605C0017DF25 /* deblocking.cpp */; };
4CE4471018BC605C0017DF25 /* decode_mb_aux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */; }; 4CE4471018BC605C0017DF25 /* decode_mb_aux.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */; };
@@ -26,7 +23,6 @@
4CE4471218BC605C0017DF25 /* encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E118BC605C0017DF25 /* encoder.cpp */; }; 4CE4471218BC605C0017DF25 /* encoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E118BC605C0017DF25 /* encoder.cpp */; };
4CE4471318BC605C0017DF25 /* encoder_data_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */; }; 4CE4471318BC605C0017DF25 /* encoder_data_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */; };
4CE4471418BC605C0017DF25 /* encoder_ext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E318BC605C0017DF25 /* encoder_ext.cpp */; }; 4CE4471418BC605C0017DF25 /* encoder_ext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E318BC605C0017DF25 /* encoder_ext.cpp */; };
4CE4471518BC605C0017DF25 /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E418BC605C0017DF25 /* expand_pic.cpp */; };
4CE4471618BC605C0017DF25 /* get_intra_predictor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */; }; 4CE4471618BC605C0017DF25 /* get_intra_predictor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */; };
4CE4471718BC605C0017DF25 /* mc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E618BC605C0017DF25 /* mc.cpp */; }; 4CE4471718BC605C0017DF25 /* mc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E618BC605C0017DF25 /* mc.cpp */; };
4CE4471818BC605C0017DF25 /* md.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E718BC605C0017DF25 /* md.cpp */; }; 4CE4471818BC605C0017DF25 /* md.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E718BC605C0017DF25 /* md.cpp */; };
@@ -47,22 +43,14 @@
4CE4472718BC605C0017DF25 /* svc_mode_decision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */; }; 4CE4472718BC605C0017DF25 /* svc_mode_decision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */; };
4CE4472818BC605C0017DF25 /* svc_motion_estimate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */; }; 4CE4472818BC605C0017DF25 /* svc_motion_estimate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */; };
4CE4472918BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */; }; 4CE4472918BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */; };
4CE4472A18BC605C0017DF25 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446F918BC605C0017DF25 /* utils.cpp */; };
4CE4472B18BC605C0017DF25 /* wels_preprocess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */; }; 4CE4472B18BC605C0017DF25 /* wels_preprocess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */; };
4CE4472D18BC605C0017DF25 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */; };
4CE4472E18BC605C0017DF25 /* welsEncoderExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */; }; 4CE4472E18BC605C0017DF25 /* welsEncoderExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */; };
9AED665019469FC1009A3567 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */; };
9AED66661946A2B3009A3567 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED66651946A2B3009A3567 /* utils.cpp */; };
F5617A50196A833A006E2B20 /* reconstruct_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */; };
F5BE8005196B913200ED02ED /* memory_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
4CE4432718B6FFA00017DF25 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4CE4430918B6FFA00017DF25 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 4CE4431018B6FFA00017DF25;
remoteInfo = welsenc;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
4CE4430F18B6FFA00017DF25 /* CopyFiles */ = { 4CE4430F18B6FFA00017DF25 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase; isa = PBXCopyFilesBuildPhase;
@@ -76,20 +64,18 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_sad_3_opt_aarch64_neon.S; path = arm64/intra_pred_sad_3_opt_aarch64_neon.S; sourceTree = "<group>"; };
4C34066618C57D0400DFA14A /* intra_pred_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_neon.S; sourceTree = "<group>"; }; 4C34066618C57D0400DFA14A /* intra_pred_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_neon.S; sourceTree = "<group>"; };
4C34066718C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_sad_3_opt_neon.S; sourceTree = "<group>"; }; 4C34066718C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_sad_3_opt_neon.S; sourceTree = "<group>"; };
4C34066918C57D0400DFA14A /* memory_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = memory_neon.S; sourceTree = "<group>"; }; 4C34066918C57D0400DFA14A /* memory_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = memory_neon.S; sourceTree = "<group>"; };
4C34066A18C57D0400DFA14A /* pixel_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = pixel_neon.S; sourceTree = "<group>"; }; 4C34066A18C57D0400DFA14A /* pixel_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = pixel_neon.S; sourceTree = "<group>"; };
4C34066B18C57D0400DFA14A /* reconstruct_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = reconstruct_neon.S; sourceTree = "<group>"; }; 4C34066B18C57D0400DFA14A /* reconstruct_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = reconstruct_neon.S; sourceTree = "<group>"; };
4CB8F2B319235FC5005D6386 /* pixel_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = pixel_aarch64_neon.S; path = arm64/pixel_aarch64_neon.S; sourceTree = "<group>"; };
4CBC1B82194ACBB400214D9E /* intra_pred_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_aarch64_neon.S; path = arm64/intra_pred_aarch64_neon.S; sourceTree = "<group>"; };
4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_transpose_matrix.h; sourceTree = "<group>"; }; 4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_transpose_matrix.h; sourceTree = "<group>"; };
4CE4431118B6FFA00017DF25 /* libwelsenc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwelsenc.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4CE4431118B6FFA00017DF25 /* libwelsenc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwelsenc.a; sourceTree = BUILT_PRODUCTS_DIR; };
4CE4431418B6FFA00017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 4CE4431418B6FFA00017DF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
4CE4432118B6FFA00017DF25 /* welsencTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = welsencTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4CE4432218B6FFA00017DF25 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
4CE4432518B6FFA00017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; 4CE4432518B6FFA00017DF25 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
4CE4432C18B6FFA00017DF25 /* welsencTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "welsencTests-Info.plist"; sourceTree = "<group>"; };
4CE4432E18B6FFA00017DF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
4CE4433018B6FFA00017DF25 /* welsencTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = welsencTests.m; sourceTree = "<group>"; };
4CE446AA18BC605C0017DF25 /* as264_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = as264_common.h; sourceTree = "<group>"; }; 4CE446AA18BC605C0017DF25 /* as264_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = as264_common.h; sourceTree = "<group>"; };
4CE446AB18BC605C0017DF25 /* au_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = au_set.h; sourceTree = "<group>"; }; 4CE446AB18BC605C0017DF25 /* au_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = au_set.h; sourceTree = "<group>"; };
4CE446AC18BC605C0017DF25 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; }; 4CE446AC18BC605C0017DF25 /* bit_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit_stream.h; sourceTree = "<group>"; };
@@ -99,7 +85,6 @@
4CE446B118BC605C0017DF25 /* encode_mb_aux.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encode_mb_aux.h; sourceTree = "<group>"; }; 4CE446B118BC605C0017DF25 /* encode_mb_aux.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encode_mb_aux.h; sourceTree = "<group>"; };
4CE446B218BC605C0017DF25 /* encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encoder.h; sourceTree = "<group>"; }; 4CE446B218BC605C0017DF25 /* encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encoder.h; sourceTree = "<group>"; };
4CE446B318BC605C0017DF25 /* encoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encoder_context.h; sourceTree = "<group>"; }; 4CE446B318BC605C0017DF25 /* encoder_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encoder_context.h; sourceTree = "<group>"; };
4CE446B418BC605C0017DF25 /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; };
4CE446B518BC605C0017DF25 /* extern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extern.h; sourceTree = "<group>"; }; 4CE446B518BC605C0017DF25 /* extern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extern.h; sourceTree = "<group>"; };
4CE446B618BC605C0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; }; 4CE446B618BC605C0017DF25 /* get_intra_predictor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = get_intra_predictor.h; sourceTree = "<group>"; };
4CE446B718BC605C0017DF25 /* mb_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mb_cache.h; sourceTree = "<group>"; }; 4CE446B718BC605C0017DF25 /* mb_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mb_cache.h; sourceTree = "<group>"; };
@@ -123,7 +108,6 @@
4CE446C918BC605C0017DF25 /* slice_multi_threading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slice_multi_threading.h; sourceTree = "<group>"; }; 4CE446C918BC605C0017DF25 /* slice_multi_threading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slice_multi_threading.h; sourceTree = "<group>"; };
4CE446CA18BC605C0017DF25 /* stat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stat.h; sourceTree = "<group>"; }; 4CE446CA18BC605C0017DF25 /* stat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stat.h; sourceTree = "<group>"; };
4CE446CB18BC605C0017DF25 /* svc_base_layer_md.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_base_layer_md.h; sourceTree = "<group>"; }; 4CE446CB18BC605C0017DF25 /* svc_base_layer_md.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_base_layer_md.h; sourceTree = "<group>"; };
4CE446CC18BC605C0017DF25 /* svc_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_config.h; sourceTree = "<group>"; };
4CE446CD18BC605C0017DF25 /* svc_enc_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_frame.h; sourceTree = "<group>"; }; 4CE446CD18BC605C0017DF25 /* svc_enc_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_frame.h; sourceTree = "<group>"; };
4CE446CE18BC605C0017DF25 /* svc_enc_golomb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_golomb.h; sourceTree = "<group>"; }; 4CE446CE18BC605C0017DF25 /* svc_enc_golomb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_golomb.h; sourceTree = "<group>"; };
4CE446CF18BC605C0017DF25 /* svc_enc_macroblock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_macroblock.h; sourceTree = "<group>"; }; 4CE446CF18BC605C0017DF25 /* svc_enc_macroblock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_enc_macroblock.h; sourceTree = "<group>"; };
@@ -133,7 +117,6 @@
4CE446D318BC605C0017DF25 /* svc_mode_decision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_mode_decision.h; sourceTree = "<group>"; }; 4CE446D318BC605C0017DF25 /* svc_mode_decision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_mode_decision.h; sourceTree = "<group>"; };
4CE446D418BC605C0017DF25 /* svc_motion_estimate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_motion_estimate.h; sourceTree = "<group>"; }; 4CE446D418BC605C0017DF25 /* svc_motion_estimate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_motion_estimate.h; sourceTree = "<group>"; };
4CE446D518BC605C0017DF25 /* svc_set_mb_syn_cavlc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_set_mb_syn_cavlc.h; sourceTree = "<group>"; }; 4CE446D518BC605C0017DF25 /* svc_set_mb_syn_cavlc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_set_mb_syn_cavlc.h; sourceTree = "<group>"; };
4CE446D618BC605C0017DF25 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
4CE446D718BC605C0017DF25 /* vlc_encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_encoder.h; sourceTree = "<group>"; }; 4CE446D718BC605C0017DF25 /* vlc_encoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlc_encoder.h; sourceTree = "<group>"; };
4CE446D818BC605C0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; }; 4CE446D818BC605C0017DF25 /* wels_common_basis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_common_basis.h; sourceTree = "<group>"; };
4CE446D918BC605C0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; }; 4CE446D918BC605C0017DF25 /* wels_const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wels_const.h; sourceTree = "<group>"; };
@@ -146,7 +129,6 @@
4CE446E118BC605C0017DF25 /* encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder.cpp; sourceTree = "<group>"; }; 4CE446E118BC605C0017DF25 /* encoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder.cpp; sourceTree = "<group>"; };
4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder_data_tables.cpp; sourceTree = "<group>"; }; 4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder_data_tables.cpp; sourceTree = "<group>"; };
4CE446E318BC605C0017DF25 /* encoder_ext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder_ext.cpp; sourceTree = "<group>"; }; 4CE446E318BC605C0017DF25 /* encoder_ext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = encoder_ext.cpp; sourceTree = "<group>"; };
4CE446E418BC605C0017DF25 /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; sourceTree = "<group>"; };
4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; }; 4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = get_intra_predictor.cpp; sourceTree = "<group>"; };
4CE446E618BC605C0017DF25 /* mc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mc.cpp; sourceTree = "<group>"; }; 4CE446E618BC605C0017DF25 /* mc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mc.cpp; sourceTree = "<group>"; };
4CE446E718BC605C0017DF25 /* md.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = md.cpp; sourceTree = "<group>"; }; 4CE446E718BC605C0017DF25 /* md.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = md.cpp; sourceTree = "<group>"; };
@@ -167,13 +149,16 @@
4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_mode_decision.cpp; sourceTree = "<group>"; }; 4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_mode_decision.cpp; sourceTree = "<group>"; };
4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_motion_estimate.cpp; sourceTree = "<group>"; }; 4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_motion_estimate.cpp; sourceTree = "<group>"; };
4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_set_mb_syn_cavlc.cpp; sourceTree = "<group>"; }; 4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_set_mb_syn_cavlc.cpp; sourceTree = "<group>"; };
4CE446F918BC605C0017DF25 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wels_preprocess.cpp; sourceTree = "<group>"; }; 4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wels_preprocess.cpp; sourceTree = "<group>"; };
4CE446FD18BC605C0017DF25 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsCodecTrace.h; sourceTree = "<group>"; };
4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsEncoderExt.h; sourceTree = "<group>"; }; 4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = welsEncoderExt.h; sourceTree = "<group>"; };
4CE4470418BC605C0017DF25 /* wels_enc_export.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wels_enc_export.def; sourceTree = "<group>"; }; 4CE4470418BC605C0017DF25 /* wels_enc_export.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wels_enc_export.def; sourceTree = "<group>"; };
4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsCodecTrace.cpp; sourceTree = "<group>"; };
4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsEncoderExt.cpp; sourceTree = "<group>"; }; 4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = welsEncoderExt.cpp; sourceTree = "<group>"; };
9AED664819469FAF009A3567 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = welsCodecTrace.h; path = ../../../common/inc/welsCodecTrace.h; sourceTree = "<group>"; };
9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = welsCodecTrace.cpp; path = ../../../common/src/welsCodecTrace.cpp; sourceTree = "<group>"; };
9AED66651946A2B3009A3567 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = ../../../common/src/utils.cpp; sourceTree = "<group>"; };
9AED66671946A2C4009A3567 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = ../../../common/inc/utils.h; sourceTree = "<group>"; };
F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = reconstruct_aarch64_neon.S; path = arm64/reconstruct_aarch64_neon.S; sourceTree = "<group>"; };
F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = memory_aarch64_neon.S; path = arm64/memory_aarch64_neon.S; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -185,17 +170,6 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4CE4431E18B6FFA00017DF25 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4CE4432318B6FFA00017DF25 /* XCTest.framework in Frameworks */,
4CE4432618B6FFA00017DF25 /* UIKit.framework in Frameworks */,
4CE4432418B6FFA00017DF25 /* Foundation.framework in Frameworks */,
4CE4432918B6FFA00017DF25 /* libwelsenc.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
@@ -211,11 +185,22 @@
path = arm; path = arm;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
4CB8F2B219235FAC005D6386 /* arm64 */ = {
isa = PBXGroup;
children = (
F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */,
F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */,
4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */,
4CBC1B82194ACBB400214D9E /* intra_pred_aarch64_neon.S */,
4CB8F2B319235FC5005D6386 /* pixel_aarch64_neon.S */,
);
name = arm64;
sourceTree = "<group>";
};
4CE4430818B6FFA00017DF25 = { 4CE4430818B6FFA00017DF25 = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE446A018BC605B0017DF25 /* encoder */, 4CE446A018BC605B0017DF25 /* encoder */,
4CE4432A18B6FFA00017DF25 /* welsencTests */,
4CE4431318B6FFA00017DF25 /* Frameworks */, 4CE4431318B6FFA00017DF25 /* Frameworks */,
4CE4431218B6FFA00017DF25 /* Products */, 4CE4431218B6FFA00017DF25 /* Products */,
); );
@@ -225,7 +210,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4431118B6FFA00017DF25 /* libwelsenc.a */, 4CE4431118B6FFA00017DF25 /* libwelsenc.a */,
4CE4432118B6FFA00017DF25 /* welsencTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -234,30 +218,11 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE4431418B6FFA00017DF25 /* Foundation.framework */, 4CE4431418B6FFA00017DF25 /* Foundation.framework */,
4CE4432218B6FFA00017DF25 /* XCTest.framework */,
4CE4432518B6FFA00017DF25 /* UIKit.framework */, 4CE4432518B6FFA00017DF25 /* UIKit.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
4CE4432A18B6FFA00017DF25 /* welsencTests */ = {
isa = PBXGroup;
children = (
4CE4433018B6FFA00017DF25 /* welsencTests.m */,
4CE4432B18B6FFA00017DF25 /* Supporting Files */,
);
path = welsencTests;
sourceTree = "<group>";
};
4CE4432B18B6FFA00017DF25 /* Supporting Files */ = {
isa = PBXGroup;
children = (
4CE4432C18B6FFA00017DF25 /* welsencTests-Info.plist */,
4CE4432D18B6FFA00017DF25 /* InfoPlist.strings */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
4CE446A018BC605B0017DF25 /* encoder */ = { 4CE446A018BC605B0017DF25 /* encoder */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -271,6 +236,7 @@
4CE446A118BC605B0017DF25 /* core */ = { 4CE446A118BC605B0017DF25 /* core */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CB8F2B219235FAC005D6386 /* arm64 */,
4C34066418C57D0400DFA14A /* arm */, 4C34066418C57D0400DFA14A /* arm */,
4CE446A918BC605C0017DF25 /* inc */, 4CE446A918BC605C0017DF25 /* inc */,
4CE446DC18BC605C0017DF25 /* src */, 4CE446DC18BC605C0017DF25 /* src */,
@@ -281,6 +247,7 @@
4CE446A918BC605C0017DF25 /* inc */ = { 4CE446A918BC605C0017DF25 /* inc */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9AED66671946A2C4009A3567 /* utils.h */,
4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */, 4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */,
4CE446AA18BC605C0017DF25 /* as264_common.h */, 4CE446AA18BC605C0017DF25 /* as264_common.h */,
4CE446AB18BC605C0017DF25 /* au_set.h */, 4CE446AB18BC605C0017DF25 /* au_set.h */,
@@ -291,7 +258,6 @@
4CE446B118BC605C0017DF25 /* encode_mb_aux.h */, 4CE446B118BC605C0017DF25 /* encode_mb_aux.h */,
4CE446B218BC605C0017DF25 /* encoder.h */, 4CE446B218BC605C0017DF25 /* encoder.h */,
4CE446B318BC605C0017DF25 /* encoder_context.h */, 4CE446B318BC605C0017DF25 /* encoder_context.h */,
4CE446B418BC605C0017DF25 /* expand_pic.h */,
4CE446B518BC605C0017DF25 /* extern.h */, 4CE446B518BC605C0017DF25 /* extern.h */,
4CE446B618BC605C0017DF25 /* get_intra_predictor.h */, 4CE446B618BC605C0017DF25 /* get_intra_predictor.h */,
4CE446B718BC605C0017DF25 /* mb_cache.h */, 4CE446B718BC605C0017DF25 /* mb_cache.h */,
@@ -315,7 +281,6 @@
4CE446C918BC605C0017DF25 /* slice_multi_threading.h */, 4CE446C918BC605C0017DF25 /* slice_multi_threading.h */,
4CE446CA18BC605C0017DF25 /* stat.h */, 4CE446CA18BC605C0017DF25 /* stat.h */,
4CE446CB18BC605C0017DF25 /* svc_base_layer_md.h */, 4CE446CB18BC605C0017DF25 /* svc_base_layer_md.h */,
4CE446CC18BC605C0017DF25 /* svc_config.h */,
4CE446CD18BC605C0017DF25 /* svc_enc_frame.h */, 4CE446CD18BC605C0017DF25 /* svc_enc_frame.h */,
4CE446CE18BC605C0017DF25 /* svc_enc_golomb.h */, 4CE446CE18BC605C0017DF25 /* svc_enc_golomb.h */,
4CE446CF18BC605C0017DF25 /* svc_enc_macroblock.h */, 4CE446CF18BC605C0017DF25 /* svc_enc_macroblock.h */,
@@ -325,7 +290,6 @@
4CE446D318BC605C0017DF25 /* svc_mode_decision.h */, 4CE446D318BC605C0017DF25 /* svc_mode_decision.h */,
4CE446D418BC605C0017DF25 /* svc_motion_estimate.h */, 4CE446D418BC605C0017DF25 /* svc_motion_estimate.h */,
4CE446D518BC605C0017DF25 /* svc_set_mb_syn_cavlc.h */, 4CE446D518BC605C0017DF25 /* svc_set_mb_syn_cavlc.h */,
4CE446D618BC605C0017DF25 /* utils.h */,
4CE446D718BC605C0017DF25 /* vlc_encoder.h */, 4CE446D718BC605C0017DF25 /* vlc_encoder.h */,
4CE446D818BC605C0017DF25 /* wels_common_basis.h */, 4CE446D818BC605C0017DF25 /* wels_common_basis.h */,
4CE446D918BC605C0017DF25 /* wels_const.h */, 4CE446D918BC605C0017DF25 /* wels_const.h */,
@@ -338,6 +302,7 @@
4CE446DC18BC605C0017DF25 /* src */ = { 4CE446DC18BC605C0017DF25 /* src */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9AED66651946A2B3009A3567 /* utils.cpp */,
4CE446DD18BC605C0017DF25 /* au_set.cpp */, 4CE446DD18BC605C0017DF25 /* au_set.cpp */,
4CE446DE18BC605C0017DF25 /* deblocking.cpp */, 4CE446DE18BC605C0017DF25 /* deblocking.cpp */,
4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */, 4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */,
@@ -345,7 +310,6 @@
4CE446E118BC605C0017DF25 /* encoder.cpp */, 4CE446E118BC605C0017DF25 /* encoder.cpp */,
4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */, 4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */,
4CE446E318BC605C0017DF25 /* encoder_ext.cpp */, 4CE446E318BC605C0017DF25 /* encoder_ext.cpp */,
4CE446E418BC605C0017DF25 /* expand_pic.cpp */,
4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */, 4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */,
4CE446E618BC605C0017DF25 /* mc.cpp */, 4CE446E618BC605C0017DF25 /* mc.cpp */,
4CE446E718BC605C0017DF25 /* md.cpp */, 4CE446E718BC605C0017DF25 /* md.cpp */,
@@ -366,7 +330,6 @@
4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */, 4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */,
4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */, 4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */,
4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */, 4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */,
4CE446F918BC605C0017DF25 /* utils.cpp */,
4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */, 4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */,
); );
path = src; path = src;
@@ -384,7 +347,7 @@
4CE446FC18BC605C0017DF25 /* inc */ = { 4CE446FC18BC605C0017DF25 /* inc */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
4CE446FD18BC605C0017DF25 /* welsCodecTrace.h */, 9AED664819469FAF009A3567 /* welsCodecTrace.h */,
4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */, 4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */,
); );
path = inc; path = inc;
@@ -393,8 +356,8 @@
4CE4470218BC605C0017DF25 /* src */ = { 4CE4470218BC605C0017DF25 /* src */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */,
4CE4470418BC605C0017DF25 /* wels_enc_export.def */, 4CE4470418BC605C0017DF25 /* wels_enc_export.def */,
4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */,
4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */, 4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */,
); );
path = src; path = src;
@@ -420,31 +383,13 @@
productReference = 4CE4431118B6FFA00017DF25 /* libwelsenc.a */; productReference = 4CE4431118B6FFA00017DF25 /* libwelsenc.a */;
productType = "com.apple.product-type.library.static"; productType = "com.apple.product-type.library.static";
}; };
4CE4432018B6FFA00017DF25 /* welsencTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4CE4433718B6FFA00017DF25 /* Build configuration list for PBXNativeTarget "welsencTests" */;
buildPhases = (
4CE4431D18B6FFA00017DF25 /* Sources */,
4CE4431E18B6FFA00017DF25 /* Frameworks */,
4CE4431F18B6FFA00017DF25 /* Resources */,
);
buildRules = (
);
dependencies = (
4CE4432818B6FFA00017DF25 /* PBXTargetDependency */,
);
name = welsencTests;
productName = welsencTests;
productReference = 4CE4432118B6FFA00017DF25 /* welsencTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
/* Begin PBXProject section */ /* Begin PBXProject section */
4CE4430918B6FFA00017DF25 /* Project object */ = { 4CE4430918B6FFA00017DF25 /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastUpgradeCheck = 0500; LastUpgradeCheck = 0510;
ORGANIZATIONNAME = video; ORGANIZATIONNAME = video;
}; };
buildConfigurationList = 4CE4430C18B6FFA00017DF25 /* Build configuration list for PBXProject "welsenc" */; buildConfigurationList = 4CE4430C18B6FFA00017DF25 /* Build configuration list for PBXProject "welsenc" */;
@@ -460,22 +405,10 @@
projectRoot = ""; projectRoot = "";
targets = ( targets = (
4CE4431018B6FFA00017DF25 /* welsenc */, 4CE4431018B6FFA00017DF25 /* welsenc */,
4CE4432018B6FFA00017DF25 /* welsencTests */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
4CE4431F18B6FFA00017DF25 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4CE4432F18B6FFA00017DF25 /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
4CE4430D18B6FFA00017DF25 /* Sources */ = { 4CE4430D18B6FFA00017DF25 /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
@@ -486,32 +419,36 @@
4CE4472718BC605C0017DF25 /* svc_mode_decision.cpp in Sources */, 4CE4472718BC605C0017DF25 /* svc_mode_decision.cpp in Sources */,
4CE4472818BC605C0017DF25 /* svc_motion_estimate.cpp in Sources */, 4CE4472818BC605C0017DF25 /* svc_motion_estimate.cpp in Sources */,
4CE4471D18BC605C0017DF25 /* property.cpp in Sources */, 4CE4471D18BC605C0017DF25 /* property.cpp in Sources */,
4CE4472A18BC605C0017DF25 /* utils.cpp in Sources */,
4CE4471018BC605C0017DF25 /* decode_mb_aux.cpp in Sources */, 4CE4471018BC605C0017DF25 /* decode_mb_aux.cpp in Sources */,
4CE4472018BC605C0017DF25 /* sample.cpp in Sources */, 4CE4472018BC605C0017DF25 /* sample.cpp in Sources */,
4CE4472D18BC605C0017DF25 /* welsCodecTrace.cpp in Sources */,
4CE4471318BC605C0017DF25 /* encoder_data_tables.cpp in Sources */, 4CE4471318BC605C0017DF25 /* encoder_data_tables.cpp in Sources */,
4C34067118C57D0400DFA14A /* pixel_neon.S in Sources */, 4C34067118C57D0400DFA14A /* pixel_neon.S in Sources */,
9AED665019469FC1009A3567 /* welsCodecTrace.cpp in Sources */,
4CE4471F18BC605C0017DF25 /* ref_list_mgr_svc.cpp in Sources */, 4CE4471F18BC605C0017DF25 /* ref_list_mgr_svc.cpp in Sources */,
4CE4472218BC605C0017DF25 /* slice_multi_threading.cpp in Sources */, 4CE4472218BC605C0017DF25 /* slice_multi_threading.cpp in Sources */,
4CE4471518BC605C0017DF25 /* expand_pic.cpp in Sources */,
4C34067018C57D0400DFA14A /* memory_neon.S in Sources */, 4C34067018C57D0400DFA14A /* memory_neon.S in Sources */,
4CE4470F18BC605C0017DF25 /* deblocking.cpp in Sources */, 4CE4470F18BC605C0017DF25 /* deblocking.cpp in Sources */,
4CE4472518BC605C0017DF25 /* svc_encode_mb.cpp in Sources */, 4CE4472518BC605C0017DF25 /* svc_encode_mb.cpp in Sources */,
4CE4471A18BC605C0017DF25 /* mv_pred.cpp in Sources */, 4CE4471A18BC605C0017DF25 /* mv_pred.cpp in Sources */,
4C34066E18C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S in Sources */, 4C34066E18C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S in Sources */,
4C23BC60195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S in Sources */,
4CE4472B18BC605C0017DF25 /* wels_preprocess.cpp in Sources */, 4CE4472B18BC605C0017DF25 /* wels_preprocess.cpp in Sources */,
4CE4470E18BC605C0017DF25 /* au_set.cpp in Sources */, 4CE4470E18BC605C0017DF25 /* au_set.cpp in Sources */,
F5BE8005196B913200ED02ED /* memory_aarch64_neon.S in Sources */,
4CBC1B83194ACBB400214D9E /* intra_pred_aarch64_neon.S in Sources */,
4CE4471718BC605C0017DF25 /* mc.cpp in Sources */, 4CE4471718BC605C0017DF25 /* mc.cpp in Sources */,
F5617A50196A833A006E2B20 /* reconstruct_aarch64_neon.S in Sources */,
4CE4472918BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp in Sources */, 4CE4472918BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp in Sources */,
4CE4471818BC605C0017DF25 /* md.cpp in Sources */, 4CE4471818BC605C0017DF25 /* md.cpp in Sources */,
4CE4471B18BC605C0017DF25 /* nal_encap.cpp in Sources */, 4CE4471B18BC605C0017DF25 /* nal_encap.cpp in Sources */,
4CE4471918BC605C0017DF25 /* memory_align.cpp in Sources */, 4CE4471918BC605C0017DF25 /* memory_align.cpp in Sources */,
4CE4472418BC605C0017DF25 /* svc_enc_slice_segment.cpp in Sources */, 4CE4472418BC605C0017DF25 /* svc_enc_slice_segment.cpp in Sources */,
4CE4472318BC605C0017DF25 /* svc_base_layer_md.cpp in Sources */, 4CE4472318BC605C0017DF25 /* svc_base_layer_md.cpp in Sources */,
4CB8F2B419235FC5005D6386 /* pixel_aarch64_neon.S in Sources */,
4CE4471E18BC605C0017DF25 /* ratectl.cpp in Sources */, 4CE4471E18BC605C0017DF25 /* ratectl.cpp in Sources */,
4C34066D18C57D0400DFA14A /* intra_pred_neon.S in Sources */, 4C34066D18C57D0400DFA14A /* intra_pred_neon.S in Sources */,
4CE4471C18BC605C0017DF25 /* picture_handle.cpp in Sources */, 4CE4471C18BC605C0017DF25 /* picture_handle.cpp in Sources */,
9AED66661946A2B3009A3567 /* utils.cpp in Sources */,
4CE4472618BC605C0017DF25 /* svc_encode_slice.cpp in Sources */, 4CE4472618BC605C0017DF25 /* svc_encode_slice.cpp in Sources */,
4CE4471218BC605C0017DF25 /* encoder.cpp in Sources */, 4CE4471218BC605C0017DF25 /* encoder.cpp in Sources */,
4CE4471618BC605C0017DF25 /* get_intra_predictor.cpp in Sources */, 4CE4471618BC605C0017DF25 /* get_intra_predictor.cpp in Sources */,
@@ -521,41 +458,13 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
4CE4431D18B6FFA00017DF25 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4CE4433118B6FFA00017DF25 /* welsencTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
4CE4432818B6FFA00017DF25 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 4CE4431018B6FFA00017DF25 /* welsenc */;
targetProxy = 4CE4432718B6FFA00017DF25 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
4CE4432D18B6FFA00017DF25 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
4CE4432E18B6FFA00017DF25 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
4CE4433218B6FFA00017DF25 /* Debug */ = { 4CE4433218B6FFA00017DF25 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -593,7 +502,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -624,7 +532,6 @@
4CE4433518B6FFA00017DF25 /* Debug */ = { 4CE4433518B6FFA00017DF25 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_CXX_LIBRARY = "compiler-default"; CLANG_CXX_LIBRARY = "compiler-default";
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -650,6 +557,7 @@
"$(SRCROOT)/../../../../processing/interface", "$(SRCROOT)/../../../../processing/interface",
"$(SRCROOT)/../../../../api/svc", "$(SRCROOT)/../../../../api/svc",
"$(SRCROOT)/../../../../common/arm", "$(SRCROOT)/../../../../common/arm",
"$(SRCROOT)/../../../../common/arm64",
); );
IPHONEOS_DEPLOYMENT_TARGET = 6.1; IPHONEOS_DEPLOYMENT_TARGET = 6.1;
ONLY_ACTIVE_ARCH = NO; ONLY_ACTIVE_ARCH = NO;
@@ -663,7 +571,6 @@
4CE4433618B6FFA00017DF25 /* Release */ = { 4CE4433618B6FFA00017DF25 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default"; CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_CXX_LIBRARY = "compiler-default"; CLANG_CXX_LIBRARY = "compiler-default";
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -688,6 +595,7 @@
"$(SRCROOT)/../../../../processing/interface", "$(SRCROOT)/../../../../processing/interface",
"$(SRCROOT)/../../../../api/svc", "$(SRCROOT)/../../../../api/svc",
"$(SRCROOT)/../../../../common/arm", "$(SRCROOT)/../../../../common/arm",
"$(SRCROOT)/../../../../common/arm64",
); );
IPHONEOS_DEPLOYMENT_TARGET = 6.1; IPHONEOS_DEPLOYMENT_TARGET = 6.1;
OTHER_LDFLAGS = "-ObjC"; OTHER_LDFLAGS = "-ObjC";
@@ -697,44 +605,6 @@
}; };
name = Release; name = Release;
}; };
4CE4433818B6FFA00017DF25 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "welsenc/welsenc-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = "welsencTests/welsencTests-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
};
name = Debug;
};
4CE4433918B6FFA00017DF25 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "welsenc/welsenc-Prefix.pch";
INFOPLIST_FILE = "welsencTests/welsencTests-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = xctest;
};
name = Release;
};
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
@@ -756,15 +626,6 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
4CE4433718B6FFA00017DF25 /* Build configuration list for PBXNativeTarget "welsencTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4CE4433818B6FFA00017DF25 /* Debug */,
4CE4433918B6FFA00017DF25 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 4CE4430918B6FFA00017DF25 /* Project object */; rootObject = 4CE4430918B6FFA00017DF25 /* Project object */;

View File

@@ -1,2 +0,0 @@
/* Localized versions of Info.plist keys */

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>cisco.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@@ -1,58 +0,0 @@
/*!
* \copy
* Copyright (c) 2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#import <XCTest/XCTest.h>
@interface welsencTests : XCTestCase
@end
@implementation welsencTests
- (void)setUp
{
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testExample
{
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
}
@end

View File

@@ -0,0 +1,356 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXAggregateTarget section */
54D5364C196CC907005442F9 /* openh264 */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 54D5364D196CC907005442F9 /* Build configuration list for PBXAggregateTarget "openh264" */;
buildPhases = (
);
dependencies = (
54D53651196CCC40005442F9 /* PBXTargetDependency */,
54D53653196CCC40005442F9 /* PBXTargetDependency */,
54D53655196CCC40005442F9 /* PBXTargetDependency */,
54D53657196CCC40005442F9 /* PBXTargetDependency */,
);
name = openh264;
productName = openh264;
};
/* End PBXAggregateTarget section */
/* Begin PBXContainerItemProxy section */
54D53638196CC8CB005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D53634196CC8CB005442F9 /* common.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE443D518B722CD0017DF25;
remoteInfo = common;
};
54D5363E196CC8DA005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D5363A196CC8DA005442F9 /* welsdec.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE4427918B6FC360017DF25;
remoteInfo = welsdec;
};
54D53644196CC8E6005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D53640196CC8E6005442F9 /* welsenc.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4CE4431118B6FFA00017DF25;
remoteInfo = welsenc;
};
54D5364A196CC8F3005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D53646196CC8F3005442F9 /* processing.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 5499477C196A3F3900BA3D87;
remoteInfo = processing;
};
54D53650196CCC40005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D53646196CC8F3005442F9 /* processing.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 5499477B196A3F3900BA3D87;
remoteInfo = processing;
};
54D53652196CCC40005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D53640196CC8E6005442F9 /* welsenc.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 4CE4431018B6FFA00017DF25;
remoteInfo = welsenc;
};
54D53654196CCC40005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D5363A196CC8DA005442F9 /* welsdec.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 4CE4427818B6FC360017DF25;
remoteInfo = welsdec;
};
54D53656196CCC40005442F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 54D53634196CC8CB005442F9 /* common.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 4CE443D418B722CD0017DF25;
remoteInfo = common;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
54D53634196CC8CB005442F9 /* common.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = common.xcodeproj; path = ../common/common.xcodeproj; sourceTree = "<group>"; };
54D5363A196CC8DA005442F9 /* welsdec.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = welsdec.xcodeproj; path = ../dec/welsdec/welsdec.xcodeproj; sourceTree = "<group>"; };
54D53640196CC8E6005442F9 /* welsenc.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = welsenc.xcodeproj; path = ../enc/welsenc/welsenc.xcodeproj; sourceTree = "<group>"; };
54D53646196CC8F3005442F9 /* processing.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = processing.xcodeproj; path = ../processing/processing.xcodeproj; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
54D53602196CC76D005442F9 = {
isa = PBXGroup;
children = (
54D5360D196CC76D005442F9 /* Frameworks */,
54D5360C196CC76D005442F9 /* Products */,
);
sourceTree = "<group>";
};
54D5360C196CC76D005442F9 /* Products */ = {
isa = PBXGroup;
children = (
);
name = Products;
sourceTree = "<group>";
};
54D5360D196CC76D005442F9 /* Frameworks */ = {
isa = PBXGroup;
children = (
54D53646196CC8F3005442F9 /* processing.xcodeproj */,
54D53640196CC8E6005442F9 /* welsenc.xcodeproj */,
54D5363A196CC8DA005442F9 /* welsdec.xcodeproj */,
54D53634196CC8CB005442F9 /* common.xcodeproj */,
);
name = Frameworks;
sourceTree = "<group>";
};
54D53635196CC8CB005442F9 /* Products */ = {
isa = PBXGroup;
children = (
54D53639196CC8CB005442F9 /* libcommon.a */,
);
name = Products;
sourceTree = "<group>";
};
54D5363B196CC8DA005442F9 /* Products */ = {
isa = PBXGroup;
children = (
54D5363F196CC8DA005442F9 /* libwelsdec.a */,
);
name = Products;
sourceTree = "<group>";
};
54D53641196CC8E6005442F9 /* Products */ = {
isa = PBXGroup;
children = (
54D53645196CC8E6005442F9 /* libwelsenc.a */,
);
name = Products;
sourceTree = "<group>";
};
54D53647196CC8F3005442F9 /* Products */ = {
isa = PBXGroup;
children = (
54D5364B196CC8F3005442F9 /* libprocessing.a */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXProject section */
54D53603196CC76D005442F9 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0510;
ORGANIZATIONNAME = com.cisco;
};
buildConfigurationList = 54D53606196CC76D005442F9 /* Build configuration list for PBXProject "openh264" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 54D53602196CC76D005442F9;
productRefGroup = 54D5360C196CC76D005442F9 /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 54D53635196CC8CB005442F9 /* Products */;
ProjectRef = 54D53634196CC8CB005442F9 /* common.xcodeproj */;
},
{
ProductGroup = 54D53647196CC8F3005442F9 /* Products */;
ProjectRef = 54D53646196CC8F3005442F9 /* processing.xcodeproj */;
},
{
ProductGroup = 54D5363B196CC8DA005442F9 /* Products */;
ProjectRef = 54D5363A196CC8DA005442F9 /* welsdec.xcodeproj */;
},
{
ProductGroup = 54D53641196CC8E6005442F9 /* Products */;
ProjectRef = 54D53640196CC8E6005442F9 /* welsenc.xcodeproj */;
},
);
projectRoot = "";
targets = (
54D5364C196CC907005442F9 /* openh264 */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
54D53639196CC8CB005442F9 /* libcommon.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libcommon.a;
remoteRef = 54D53638196CC8CB005442F9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
54D5363F196CC8DA005442F9 /* libwelsdec.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libwelsdec.a;
remoteRef = 54D5363E196CC8DA005442F9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
54D53645196CC8E6005442F9 /* libwelsenc.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libwelsenc.a;
remoteRef = 54D53644196CC8E6005442F9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
54D5364B196CC8F3005442F9 /* libprocessing.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libprocessing.a;
remoteRef = 54D5364A196CC8F3005442F9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXTargetDependency section */
54D53651196CCC40005442F9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = processing;
targetProxy = 54D53650196CCC40005442F9 /* PBXContainerItemProxy */;
};
54D53653196CCC40005442F9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = welsenc;
targetProxy = 54D53652196CCC40005442F9 /* PBXContainerItemProxy */;
};
54D53655196CCC40005442F9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = welsdec;
targetProxy = 54D53654196CCC40005442F9 /* PBXContainerItemProxy */;
};
54D53657196CCC40005442F9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = common;
targetProxy = 54D53656196CCC40005442F9 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
54D5362C196CC76D005442F9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
};
name = Debug;
};
54D5362D196CC76D005442F9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
54D5364E196CC907005442F9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
54D5364F196CC907005442F9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
54D53606196CC76D005442F9 /* Build configuration list for PBXProject "openh264" */ = {
isa = XCConfigurationList;
buildConfigurations = (
54D5362C196CC76D005442F9 /* Debug */,
54D5362D196CC76D005442F9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
54D5364D196CC907005442F9 /* Build configuration list for PBXAggregateTarget "openh264" */ = {
isa = XCConfigurationList;
buildConfigurations = (
54D5364E196CC907005442F9 /* Debug */,
54D5364F196CC907005442F9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 54D53603196CC76D005442F9 /* Project object */;
}

View File

@@ -0,0 +1,522 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
54994780196A3F3900BA3D87 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5499477F196A3F3900BA3D87 /* Foundation.framework */; };
549947DF196A3FB400BA3D87 /* AdaptiveQuantization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947A9196A3FB400BA3D87 /* AdaptiveQuantization.cpp */; };
549947E0196A3FB400BA3D87 /* adaptive_quantization.S in Sources */ = {isa = PBXBuildFile; fileRef = 549947AC196A3FB400BA3D87 /* adaptive_quantization.S */; };
549947E1196A3FB400BA3D87 /* down_sample_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 549947AD196A3FB400BA3D87 /* down_sample_neon.S */; };
549947E2196A3FB400BA3D87 /* pixel_sad_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 549947AE196A3FB400BA3D87 /* pixel_sad_neon.S */; };
549947E3196A3FB400BA3D87 /* vaa_calc_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 549947AF196A3FB400BA3D87 /* vaa_calc_neon.S */; };
549947E4196A3FB400BA3D87 /* BackgroundDetection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947B1196A3FB400BA3D87 /* BackgroundDetection.cpp */; };
549947E5196A3FB400BA3D87 /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947B4196A3FB400BA3D87 /* common.cpp */; };
549947E6196A3FB400BA3D87 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947B6196A3FB400BA3D87 /* memory.cpp */; };
549947E7196A3FB400BA3D87 /* WelsFrameWork.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947BB196A3FB400BA3D87 /* WelsFrameWork.cpp */; };
549947E8196A3FB400BA3D87 /* WelsFrameWorkEx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947BD196A3FB400BA3D87 /* WelsFrameWorkEx.cpp */; };
549947E9196A3FB400BA3D87 /* ComplexityAnalysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947C1196A3FB400BA3D87 /* ComplexityAnalysis.cpp */; };
549947EA196A3FB400BA3D87 /* denoise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947C4196A3FB400BA3D87 /* denoise.cpp */; };
549947EB196A3FB400BA3D87 /* denoise_filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947C6196A3FB400BA3D87 /* denoise_filter.cpp */; };
549947EC196A3FB400BA3D87 /* downsample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947C8196A3FB400BA3D87 /* downsample.cpp */; };
549947ED196A3FB400BA3D87 /* downsamplefuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947CA196A3FB400BA3D87 /* downsamplefuncs.cpp */; };
549947EE196A3FB400BA3D87 /* imagerotate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947CC196A3FB400BA3D87 /* imagerotate.cpp */; };
549947EF196A3FB400BA3D87 /* imagerotatefuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947CE196A3FB400BA3D87 /* imagerotatefuncs.cpp */; };
549947F0196A3FB400BA3D87 /* SceneChangeDetection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947D0196A3FB400BA3D87 /* SceneChangeDetection.cpp */; };
549947F1196A3FB400BA3D87 /* ScrollDetection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947D3196A3FB400BA3D87 /* ScrollDetection.cpp */; };
549947F2196A3FB400BA3D87 /* ScrollDetectionFuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947D5196A3FB400BA3D87 /* ScrollDetectionFuncs.cpp */; };
549947F3196A3FB400BA3D87 /* vaacalcfuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947D8196A3FB400BA3D87 /* vaacalcfuncs.cpp */; };
549947F4196A3FB400BA3D87 /* vaacalculation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 549947D9196A3FB400BA3D87 /* vaacalculation.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
5499477A196A3F3900BA3D87 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
5499477C196A3F3900BA3D87 /* libprocessing.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libprocessing.a; sourceTree = BUILT_PRODUCTS_DIR; };
5499477F196A3F3900BA3D87 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
54994790196A3F3900BA3D87 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
549947A6196A3FB400BA3D87 /* IWelsVP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IWelsVP.h; sourceTree = "<group>"; };
549947A9196A3FB400BA3D87 /* AdaptiveQuantization.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AdaptiveQuantization.cpp; sourceTree = "<group>"; };
549947AA196A3FB400BA3D87 /* AdaptiveQuantization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdaptiveQuantization.h; sourceTree = "<group>"; };
549947AC196A3FB400BA3D87 /* adaptive_quantization.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = adaptive_quantization.S; sourceTree = "<group>"; };
549947AD196A3FB400BA3D87 /* down_sample_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = down_sample_neon.S; sourceTree = "<group>"; };
549947AE196A3FB400BA3D87 /* pixel_sad_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = pixel_sad_neon.S; sourceTree = "<group>"; };
549947AF196A3FB400BA3D87 /* vaa_calc_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = vaa_calc_neon.S; sourceTree = "<group>"; };
549947B1196A3FB400BA3D87 /* BackgroundDetection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BackgroundDetection.cpp; sourceTree = "<group>"; };
549947B2196A3FB400BA3D87 /* BackgroundDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BackgroundDetection.h; sourceTree = "<group>"; };
549947B4196A3FB400BA3D87 /* common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common.cpp; sourceTree = "<group>"; };
549947B5196A3FB400BA3D87 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
549947B6196A3FB400BA3D87 /* memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memory.cpp; sourceTree = "<group>"; };
549947B7196A3FB400BA3D87 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = "<group>"; };
549947B8196A3FB400BA3D87 /* resource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resource.h; sourceTree = "<group>"; };
549947B9196A3FB400BA3D87 /* typedef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedef.h; sourceTree = "<group>"; };
549947BA196A3FB400BA3D87 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; };
549947BB196A3FB400BA3D87 /* WelsFrameWork.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsFrameWork.cpp; sourceTree = "<group>"; };
549947BC196A3FB400BA3D87 /* WelsFrameWork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WelsFrameWork.h; sourceTree = "<group>"; };
549947BD196A3FB400BA3D87 /* WelsFrameWorkEx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WelsFrameWorkEx.cpp; sourceTree = "<group>"; };
549947BE196A3FB400BA3D87 /* WelsVP.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WelsVP.def; sourceTree = "<group>"; };
549947BF196A3FB400BA3D87 /* WelsVP.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WelsVP.rc; sourceTree = "<group>"; };
549947C1196A3FB400BA3D87 /* ComplexityAnalysis.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComplexityAnalysis.cpp; sourceTree = "<group>"; };
549947C2196A3FB400BA3D87 /* ComplexityAnalysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComplexityAnalysis.h; sourceTree = "<group>"; };
549947C4196A3FB400BA3D87 /* denoise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = denoise.cpp; sourceTree = "<group>"; };
549947C5196A3FB400BA3D87 /* denoise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = denoise.h; sourceTree = "<group>"; };
549947C6196A3FB400BA3D87 /* denoise_filter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = denoise_filter.cpp; sourceTree = "<group>"; };
549947C8196A3FB400BA3D87 /* downsample.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = downsample.cpp; sourceTree = "<group>"; };
549947C9196A3FB400BA3D87 /* downsample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = downsample.h; sourceTree = "<group>"; };
549947CA196A3FB400BA3D87 /* downsamplefuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = downsamplefuncs.cpp; sourceTree = "<group>"; };
549947CC196A3FB400BA3D87 /* imagerotate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imagerotate.cpp; sourceTree = "<group>"; };
549947CD196A3FB400BA3D87 /* imagerotate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imagerotate.h; sourceTree = "<group>"; };
549947CE196A3FB400BA3D87 /* imagerotatefuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imagerotatefuncs.cpp; sourceTree = "<group>"; };
549947D0196A3FB400BA3D87 /* SceneChangeDetection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SceneChangeDetection.cpp; sourceTree = "<group>"; };
549947D1196A3FB400BA3D87 /* SceneChangeDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SceneChangeDetection.h; sourceTree = "<group>"; };
549947D3196A3FB400BA3D87 /* ScrollDetection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollDetection.cpp; sourceTree = "<group>"; };
549947D4196A3FB400BA3D87 /* ScrollDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollDetection.h; sourceTree = "<group>"; };
549947D5196A3FB400BA3D87 /* ScrollDetectionFuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollDetectionFuncs.cpp; sourceTree = "<group>"; };
549947D6196A3FB400BA3D87 /* ScrollDetectionFuncs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollDetectionFuncs.h; sourceTree = "<group>"; };
549947D8196A3FB400BA3D87 /* vaacalcfuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vaacalcfuncs.cpp; sourceTree = "<group>"; };
549947D9196A3FB400BA3D87 /* vaacalculation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vaacalculation.cpp; sourceTree = "<group>"; };
549947DA196A3FB400BA3D87 /* vaacalculation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vaacalculation.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
54994779196A3F3900BA3D87 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
54994780196A3F3900BA3D87 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
54994773196A3F3900BA3D87 = {
isa = PBXGroup;
children = (
549947A5196A3FB400BA3D87 /* interface */,
549947A7196A3FB400BA3D87 /* src */,
5499477E196A3F3900BA3D87 /* Frameworks */,
5499477D196A3F3900BA3D87 /* Products */,
);
sourceTree = "<group>";
};
5499477D196A3F3900BA3D87 /* Products */ = {
isa = PBXGroup;
children = (
5499477C196A3F3900BA3D87 /* libprocessing.a */,
);
name = Products;
sourceTree = "<group>";
};
5499477E196A3F3900BA3D87 /* Frameworks */ = {
isa = PBXGroup;
children = (
5499477F196A3F3900BA3D87 /* Foundation.framework */,
54994790196A3F3900BA3D87 /* UIKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
549947A5196A3FB400BA3D87 /* interface */ = {
isa = PBXGroup;
children = (
549947A6196A3FB400BA3D87 /* IWelsVP.h */,
);
name = interface;
path = ../../../processing/interface;
sourceTree = "<group>";
};
549947A7196A3FB400BA3D87 /* src */ = {
isa = PBXGroup;
children = (
549947A8196A3FB400BA3D87 /* adaptivequantization */,
549947AB196A3FB400BA3D87 /* arm */,
549947B0196A3FB400BA3D87 /* backgrounddetection */,
549947B3196A3FB400BA3D87 /* common */,
549947C0196A3FB400BA3D87 /* complexityanalysis */,
549947C3196A3FB400BA3D87 /* denoise */,
549947C7196A3FB400BA3D87 /* downsample */,
549947CB196A3FB400BA3D87 /* imagerotate */,
549947CF196A3FB400BA3D87 /* scenechangedetection */,
549947D2196A3FB400BA3D87 /* scrolldetection */,
549947D7196A3FB400BA3D87 /* vaacalc */,
);
name = src;
path = ../../../processing/src;
sourceTree = "<group>";
};
549947A8196A3FB400BA3D87 /* adaptivequantization */ = {
isa = PBXGroup;
children = (
549947A9196A3FB400BA3D87 /* AdaptiveQuantization.cpp */,
549947AA196A3FB400BA3D87 /* AdaptiveQuantization.h */,
);
path = adaptivequantization;
sourceTree = "<group>";
};
549947AB196A3FB400BA3D87 /* arm */ = {
isa = PBXGroup;
children = (
549947AC196A3FB400BA3D87 /* adaptive_quantization.S */,
549947AD196A3FB400BA3D87 /* down_sample_neon.S */,
549947AE196A3FB400BA3D87 /* pixel_sad_neon.S */,
549947AF196A3FB400BA3D87 /* vaa_calc_neon.S */,
);
path = arm;
sourceTree = "<group>";
};
549947B0196A3FB400BA3D87 /* backgrounddetection */ = {
isa = PBXGroup;
children = (
549947B1196A3FB400BA3D87 /* BackgroundDetection.cpp */,
549947B2196A3FB400BA3D87 /* BackgroundDetection.h */,
);
path = backgrounddetection;
sourceTree = "<group>";
};
549947B3196A3FB400BA3D87 /* common */ = {
isa = PBXGroup;
children = (
549947B4196A3FB400BA3D87 /* common.cpp */,
549947B5196A3FB400BA3D87 /* common.h */,
549947B6196A3FB400BA3D87 /* memory.cpp */,
549947B7196A3FB400BA3D87 /* memory.h */,
549947B8196A3FB400BA3D87 /* resource.h */,
549947B9196A3FB400BA3D87 /* typedef.h */,
549947BA196A3FB400BA3D87 /* util.h */,
549947BB196A3FB400BA3D87 /* WelsFrameWork.cpp */,
549947BC196A3FB400BA3D87 /* WelsFrameWork.h */,
549947BD196A3FB400BA3D87 /* WelsFrameWorkEx.cpp */,
549947BE196A3FB400BA3D87 /* WelsVP.def */,
549947BF196A3FB400BA3D87 /* WelsVP.rc */,
);
path = common;
sourceTree = "<group>";
};
549947C0196A3FB400BA3D87 /* complexityanalysis */ = {
isa = PBXGroup;
children = (
549947C1196A3FB400BA3D87 /* ComplexityAnalysis.cpp */,
549947C2196A3FB400BA3D87 /* ComplexityAnalysis.h */,
);
path = complexityanalysis;
sourceTree = "<group>";
};
549947C3196A3FB400BA3D87 /* denoise */ = {
isa = PBXGroup;
children = (
549947C4196A3FB400BA3D87 /* denoise.cpp */,
549947C5196A3FB400BA3D87 /* denoise.h */,
549947C6196A3FB400BA3D87 /* denoise_filter.cpp */,
);
path = denoise;
sourceTree = "<group>";
};
549947C7196A3FB400BA3D87 /* downsample */ = {
isa = PBXGroup;
children = (
549947C8196A3FB400BA3D87 /* downsample.cpp */,
549947C9196A3FB400BA3D87 /* downsample.h */,
549947CA196A3FB400BA3D87 /* downsamplefuncs.cpp */,
);
path = downsample;
sourceTree = "<group>";
};
549947CB196A3FB400BA3D87 /* imagerotate */ = {
isa = PBXGroup;
children = (
549947CC196A3FB400BA3D87 /* imagerotate.cpp */,
549947CD196A3FB400BA3D87 /* imagerotate.h */,
549947CE196A3FB400BA3D87 /* imagerotatefuncs.cpp */,
);
path = imagerotate;
sourceTree = "<group>";
};
549947CF196A3FB400BA3D87 /* scenechangedetection */ = {
isa = PBXGroup;
children = (
549947D0196A3FB400BA3D87 /* SceneChangeDetection.cpp */,
549947D1196A3FB400BA3D87 /* SceneChangeDetection.h */,
);
path = scenechangedetection;
sourceTree = "<group>";
};
549947D2196A3FB400BA3D87 /* scrolldetection */ = {
isa = PBXGroup;
children = (
549947D3196A3FB400BA3D87 /* ScrollDetection.cpp */,
549947D4196A3FB400BA3D87 /* ScrollDetection.h */,
549947D5196A3FB400BA3D87 /* ScrollDetectionFuncs.cpp */,
549947D6196A3FB400BA3D87 /* ScrollDetectionFuncs.h */,
);
path = scrolldetection;
sourceTree = "<group>";
};
549947D7196A3FB400BA3D87 /* vaacalc */ = {
isa = PBXGroup;
children = (
549947D8196A3FB400BA3D87 /* vaacalcfuncs.cpp */,
549947D9196A3FB400BA3D87 /* vaacalculation.cpp */,
549947DA196A3FB400BA3D87 /* vaacalculation.h */,
);
path = vaacalc;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
5499477B196A3F3900BA3D87 /* processing */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5499479F196A3F3900BA3D87 /* Build configuration list for PBXNativeTarget "processing" */;
buildPhases = (
54994778196A3F3900BA3D87 /* Sources */,
54994779196A3F3900BA3D87 /* Frameworks */,
5499477A196A3F3900BA3D87 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = processing;
productName = processing;
productReference = 5499477C196A3F3900BA3D87 /* libprocessing.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
54994774196A3F3900BA3D87 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0510;
ORGANIZATIONNAME = com.cisco;
};
buildConfigurationList = 54994777196A3F3900BA3D87 /* Build configuration list for PBXProject "processing" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 54994773196A3F3900BA3D87;
productRefGroup = 5499477D196A3F3900BA3D87 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
5499477B196A3F3900BA3D87 /* processing */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
54994778196A3F3900BA3D87 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
549947F4196A3FB400BA3D87 /* vaacalculation.cpp in Sources */,
549947E9196A3FB400BA3D87 /* ComplexityAnalysis.cpp in Sources */,
549947E3196A3FB400BA3D87 /* vaa_calc_neon.S in Sources */,
549947EE196A3FB400BA3D87 /* imagerotate.cpp in Sources */,
549947E5196A3FB400BA3D87 /* common.cpp in Sources */,
549947EA196A3FB400BA3D87 /* denoise.cpp in Sources */,
549947E7196A3FB400BA3D87 /* WelsFrameWork.cpp in Sources */,
549947F1196A3FB400BA3D87 /* ScrollDetection.cpp in Sources */,
549947E4196A3FB400BA3D87 /* BackgroundDetection.cpp in Sources */,
549947F3196A3FB400BA3D87 /* vaacalcfuncs.cpp in Sources */,
549947E0196A3FB400BA3D87 /* adaptive_quantization.S in Sources */,
549947EB196A3FB400BA3D87 /* denoise_filter.cpp in Sources */,
549947ED196A3FB400BA3D87 /* downsamplefuncs.cpp in Sources */,
549947E6196A3FB400BA3D87 /* memory.cpp in Sources */,
549947E2196A3FB400BA3D87 /* pixel_sad_neon.S in Sources */,
549947F0196A3FB400BA3D87 /* SceneChangeDetection.cpp in Sources */,
549947F2196A3FB400BA3D87 /* ScrollDetectionFuncs.cpp in Sources */,
549947EF196A3FB400BA3D87 /* imagerotatefuncs.cpp in Sources */,
549947DF196A3FB400BA3D87 /* AdaptiveQuantization.cpp in Sources */,
549947EC196A3FB400BA3D87 /* downsample.cpp in Sources */,
549947E8196A3FB400BA3D87 /* WelsFrameWorkEx.cpp in Sources */,
549947E1196A3FB400BA3D87 /* down_sample_neon.S in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
5499479D196A3F3900BA3D87 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
};
name = Debug;
};
5499479E196A3F3900BA3D87 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
549947A0196A3F3900BA3D87 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = /tmp/processing.dst;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=arm64]" = (
APPLE_IOS,
HAVE_NEON_ARCH64,
);
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=armv7]" = (
APPLE_IOS,
HAVE_NEON,
);
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=armv7s]" = (
APPLE_IOS,
HAVE_NEON,
);
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = APPLE_IOS;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../../../processing/interface",
"$(SRCROOT)/../../../processing/src/common",
"$(SRCROOT)/../../../common/inc",
"$(SRCROOT)/../../../common/arm64",
"$(SRCROOT)/../../../common/arm",
);
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
VALID_ARCHS = "armv7 armv7s arm64";
};
name = Debug;
};
549947A1196A3F3900BA3D87 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DSTROOT = /tmp/processing.dst;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=arm64]" = (
APPLE_IOS,
HAVE_NEON_ARCH64,
);
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=armv7]" = (
APPLE_IOS,
HAVE_NEON,
);
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=armv7s]" = (
APPLE_IOS,
HAVE_NEON,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../../../processing/interface",
"$(SRCROOT)/../../../processing/src/common",
"$(SRCROOT)/../../../common/inc",
"$(SRCROOT)/../../../common/arm64",
"$(SRCROOT)/../../../common/arm",
);
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
VALID_ARCHS = "armv7 armv7s arm64";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
54994777196A3F3900BA3D87 /* Build configuration list for PBXProject "processing" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5499479D196A3F3900BA3D87 /* Debug */,
5499479E196A3F3900BA3D87 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5499479F196A3F3900BA3D87 /* Build configuration list for PBXNativeTarget "processing" */ = {
isa = XCConfigurationList;
buildConfigurations = (
549947A0196A3F3900BA3D87 /* Debug */,
549947A1196A3F3900BA3D87 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 54994774196A3F3900BA3D87 /* Project object */;
}

12
codec/build/win32/.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
# Files generated by Visual Studio 2008
*.user
*.ncb
*.suo
# Files generated by upgrading the project files
*.vcxproj*
Backup
UpgradeLog.htm
# Files generated by Visual Studio 2012
*.sdf

View File

@@ -30,6 +30,7 @@
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
@@ -53,18 +54,16 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc" AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;X86_ASM;HAVE_CACHE_LINE_ALIGN" PreprocessorDefinitions="NDEBUG;_LIB;X86_ASM"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\release/WelsDecCore.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/" AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/"
ObjectFile=".\..\..\..\obj\decoder\core\release/" ObjectFile=".\..\..\..\obj\decoder\core\release/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true" DebugInformationFormat="3"
DebugInformationFormat="0"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
@@ -80,7 +79,6 @@
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="$(OutDir)\welsdcore.lib" OutputFile="$(OutDir)\welsdcore.lib"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -90,7 +88,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc" OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
/> />
<Tool <Tool
@@ -109,6 +106,7 @@
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
@@ -133,18 +131,16 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc" AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
PreprocessorDefinitions="WIN64;NDEBUG;_LIB;HAVE_CACHE_LINE_ALIGN;X86_ASM" PreprocessorDefinitions="NDEBUG;_LIB;X86_ASM"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\release/WelsDecCore.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/" AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/"
ObjectFile=".\..\..\..\obj\decoder\core\release/" ObjectFile=".\..\..\..\obj\decoder\core\release/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true" DebugInformationFormat="3"
DebugInformationFormat="0"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
@@ -160,7 +156,6 @@
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="$(OutDir)\welsdcore.lib" OutputFile="$(OutDir)\welsdcore.lib"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -170,7 +165,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc" OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
/> />
<Tool <Tool
@@ -211,17 +205,15 @@
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc" AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;X86_ASM;HAVE_CACHE_LINE_ALIGN" PreprocessorDefinitions="_DEBUG;_LIB;X86_ASM"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\debug/WelsDecCore.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/" AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/"
ObjectFile=".\..\..\..\obj\decoder\core\debug/" ObjectFile=".\..\..\..\obj\decoder\core\debug/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
@@ -238,7 +230,6 @@
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="$(OutDir)\welsdcore.lib" OutputFile="$(OutDir)\welsdcore.lib"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -248,7 +239,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc" OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
/> />
<Tool <Tool
@@ -290,17 +280,15 @@
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc" AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
PreprocessorDefinitions="WIN64;_DEBUG;_LIB;HAVE_CACHE_LINE_ALIGN;X86_ASM" PreprocessorDefinitions="_DEBUG;_LIB;X86_ASM"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\debug/WelsDecCore.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/" AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/"
ObjectFile=".\..\..\..\obj\decoder\core\debug/" ObjectFile=".\..\..\..\obj\decoder\core\debug/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -317,7 +305,6 @@
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="$(OutDir)\welsdcore.lib" OutputFile="$(OutDir)\welsdcore.lib"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -327,7 +314,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc" OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
/> />
<Tool <Tool
@@ -356,7 +342,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -365,7 +351,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -374,7 +360,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -383,7 +369,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -396,7 +382,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -405,7 +391,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -414,7 +400,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -423,7 +409,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -436,7 +422,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -445,7 +431,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -454,7 +440,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -463,7 +449,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -476,7 +462,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -485,7 +471,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -494,7 +480,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -503,7 +489,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -516,7 +502,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -525,7 +511,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -534,7 +520,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -543,7 +529,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -556,7 +542,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -565,7 +551,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -574,7 +560,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -583,7 +569,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -596,7 +582,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -605,7 +591,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -614,7 +600,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -623,7 +609,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -636,7 +622,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -645,7 +631,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -654,7 +640,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win32 -DPREFIX -DX86_32 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -663,7 +649,7 @@
> >
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)" CommandLine="nasm -I$(InputDir) -I$(InputDir)/../../../common/x86/ -f win64 -DWIN64 -o $(IntDir)\$(InputName).obj $(InputPath)&#x0D;&#x0A;"
Outputs="$(IntDir)\$(InputName).obj" Outputs="$(IntDir)\$(InputName).obj"
/> />
</FileConfiguration> </FileConfiguration>
@@ -685,10 +671,10 @@
RelativePath="..\..\..\decoder\core\inc\bit_stream.h" RelativePath="..\..\..\decoder\core\inc\bit_stream.h"
> >
</File> </File>
<File <File
RelativePath="..\..\..\common\inc\copy_mb.h" RelativePath="..\..\..\common\inc\copy_mb.h"
> >
</File> </File>
<File <File
RelativePath="..\..\..\common\inc\cpu.h" RelativePath="..\..\..\common\inc\cpu.h"
> >
@@ -737,16 +723,12 @@
RelativePath="..\..\..\decoder\core\inc\error_code.h" RelativePath="..\..\..\decoder\core\inc\error_code.h"
> >
</File> </File>
<File
RelativePath="..\..\..\decoder\core\inc\error_concealment.h"
>
</File>
<File <File
RelativePath="..\..\..\decoder\core\inc\expand_pic.h" RelativePath="..\..\..\decoder\core\inc\error_concealment.h"
> >
</File> </File>
<File <File
RelativePath="..\..\..\common\inc\expand_picture_common.h" RelativePath="..\..\..\common\inc\expand_pic.h"
> >
</File> </File>
<File <File
@@ -834,7 +816,7 @@
> >
</File> </File>
<File <File
RelativePath="..\..\..\decoder\core\inc\utils.h" RelativePath="..\..\..\common\inc\utils.h"
> >
</File> </File>
<File <File
@@ -845,6 +827,10 @@
RelativePath="..\..\..\decoder\core\inc\wels_common_basis.h" RelativePath="..\..\..\decoder\core\inc\wels_common_basis.h"
> >
</File> </File>
<File
RelativePath="..\..\..\common\inc\wels_common_defs.h"
>
</File>
<File <File
RelativePath="..\..\..\decoder\core\inc\wels_const.h" RelativePath="..\..\..\decoder\core\inc\wels_const.h"
> >
@@ -862,10 +848,14 @@
RelativePath="..\..\..\decoder\core\src\bit_stream.cpp" RelativePath="..\..\..\decoder\core\src\bit_stream.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\..\common\src\copy_mb.cpp" RelativePath="..\..\..\common\src\common_tables.cpp"
> >
</File> </File>
<File
RelativePath="..\..\..\common\src\copy_mb.cpp"
>
</File>
<File <File
RelativePath="..\..\..\common\src\cpu.cpp" RelativePath="..\..\..\common\src\cpu.cpp"
> >
@@ -902,12 +892,12 @@
RelativePath="..\..\..\decoder\core\src\decoder_data_tables.cpp" RelativePath="..\..\..\decoder\core\src\decoder_data_tables.cpp"
> >
</File> </File>
<File
RelativePath="..\..\..\decoder\core\src\error_concealment.cpp"
>
</File>
<File <File
RelativePath="..\..\..\decoder\core\src\expand_pic.cpp" RelativePath="..\..\..\decoder\core\src\error_concealment.cpp"
>
</File>
<File
RelativePath="..\..\..\common\src\expand_pic.cpp"
> >
</File> </File>
<File <File
@@ -918,10 +908,6 @@
RelativePath="..\..\..\decoder\core\src\get_intra_predictor.cpp" RelativePath="..\..\..\decoder\core\src\get_intra_predictor.cpp"
> >
</File> </File>
<File
RelativePath="..\..\..\common\src\logging.cpp"
>
</File>
<File <File
RelativePath="..\..\..\decoder\core\src\manage_dec_ref.cpp" RelativePath="..\..\..\decoder\core\src\manage_dec_ref.cpp"
> >
@@ -955,7 +941,7 @@
> >
</File> </File>
<File <File
RelativePath="..\..\..\decoder\core\src\utils.cpp" RelativePath="..\..\..\common\src\utils.cpp"
> >
</File> </File>
</Filter> </Filter>

View File

@@ -27,6 +27,7 @@
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
@@ -42,28 +43,20 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc" AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM" PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\Release/WelsDecPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/" AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/"
ObjectFile=".\..\..\..\obj\decoder\plus\Release/" ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -79,16 +72,14 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies=".\..\..\..\..\bin\win32\Release\welsdcore.lib" AdditionalDependencies="$(OutDir)\welsdcore.lib"
OutputFile="$(OutDir)\welsdec.dll" OutputFile="$(OutDir)\welsdec.dll"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\libs\Release\"
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def" ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile=".\..\..\..\maps\Release\welsdec.pdb" ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
GenerateMapFile="true" GenerateMapFile="true"
MapFileName=".\..\..\..\maps\Release\welsdec.map" MapFileName="$(OutDir)\welsdec.map"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="2" DataExecutionPrevention="2"
ImportLibrary="$(OutDir)\welsdec.lib" ImportLibrary="$(OutDir)\welsdec.lib"
@@ -105,7 +96,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc" OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
/> />
<Tool <Tool
@@ -127,6 +117,7 @@
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
@@ -142,28 +133,20 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc" AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM" PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\Release/WelsDecPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/" AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/"
ObjectFile=".\..\..\..\obj\decoder\plus\Release/" ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -179,16 +162,14 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies=".\..\..\..\..\bin\win64\Release\welsdcore.lib" AdditionalDependencies="$(OutDir)\welsdcore.lib"
OutputFile="$(OutDir)\welsdec.dll" OutputFile="$(OutDir)\welsdec.dll"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\libs\Release\"
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def" ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile=".\..\..\..\maps\Release\welsdec.pdb" ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
GenerateMapFile="true" GenerateMapFile="true"
MapFileName=".\..\..\..\maps\Release\welsdec.map" MapFileName="$(OutDir)\welsdec.map"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="2" DataExecutionPrevention="2"
ImportLibrary="$(OutDir)\welsdec.lib" ImportLibrary="$(OutDir)\welsdec.lib"
@@ -205,7 +186,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc" OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
/> />
<Tool <Tool
@@ -242,27 +222,19 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc" AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM" PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\debug/WelsDecPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/" AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/"
ObjectFile=".\..\..\..\obj\decoder\plus\debug/" ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
@@ -278,14 +250,12 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies=".\..\..\..\..\bin\win32\Debug\welsdcore.lib" AdditionalDependencies="$(OutDir)\welsdcore.lib"
OutputFile="$(OutDir)\welsdec.dll" OutputFile="$(OutDir)\welsdec.dll"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\libs\debug"
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def" ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile=".\..\..\..\..\bin\win32\Debug/welsdec.pdb" ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="2" DataExecutionPrevention="2"
ImportLibrary="$(OutDir)\welsdec.lib" ImportLibrary="$(OutDir)\welsdec.lib"
@@ -302,7 +272,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc" OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
/> />
<Tool <Tool
@@ -339,27 +308,19 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc" AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM" PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\debug/WelsDecPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/" AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/"
ObjectFile=".\..\..\..\obj\decoder\plus\debug/" ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/" ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -375,14 +336,12 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies=".\..\..\..\..\bin\win64\Debug\welsdcore.lib" AdditionalDependencies="$(OutDir)\welsdcore.lib"
OutputFile="$(OutDir)\welsdec.dll" OutputFile="$(OutDir)\welsdec.dll"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\libs\debug"
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def" ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile=".\..\..\..\..\bin\win32\Debug/welsdec.pdb" ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="2" DataExecutionPrevention="2"
ImportLibrary="$(OutDir)\welsdec.lib" ImportLibrary="$(OutDir)\welsdec.lib"
@@ -399,7 +358,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc" OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
/> />
<Tool <Tool
@@ -426,42 +384,6 @@
<File <File
RelativePath="..\..\..\decoder\plus\res\welsdec.rc" RelativePath="..\..\..\decoder\plus\res\welsdec.rc"
> >
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\SVN_project_https\trunk\codec\Wels\project\decoder\plus\res"
/>
</FileConfiguration>
</File> </File>
</Filter> </Filter>
<Filter <Filter
@@ -473,84 +395,12 @@
> >
</File> </File>
<File <File
RelativePath="..\..\..\decoder\plus\src\welsCodecTrace.cpp" RelativePath="..\..\..\common\src\welsCodecTrace.cpp"
> >
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath="..\..\..\decoder\plus\src\welsDecoderExt.cpp" RelativePath="..\..\..\decoder\plus\src\welsDecoderExt.cpp"
> >
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File> </File>
</Filter> </Filter>
<Filter <Filter
@@ -562,7 +412,7 @@
> >
</File> </File>
<File <File
RelativePath="..\..\..\decoder\plus\inc\welsCodecTrace.h" RelativePath="..\..\..\common\inc\welsCodecTrace.h"
> >
</File> </File>
<File <File

View File

@@ -42,24 +42,21 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TypeLibraryName=".\..\..\..\..\bin\win32\Release/decConsole.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\encoder\core\inc" AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" PreprocessorDefinitions="NDEBUG;_CONSOLE"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Release/decConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/" AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/"
ObjectFile=".\..\..\..\obj\decConsole\Release/" ObjectFile=".\..\..\..\obj\decConsole\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/" ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
@@ -77,8 +74,6 @@
AdditionalDependencies="$(OutDir)\welsdec.lib" AdditionalDependencies="$(OutDir)\welsdec.lib"
OutputFile="$(OutDir)\decConsole.exe" OutputFile="$(OutDir)\decConsole.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
ProgramDatabaseFile="$(OutDir)\decConsole.pdb" ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
GenerateMapFile="false" GenerateMapFile="false"
SubSystem="1" SubSystem="1"
@@ -97,7 +92,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)\decConsole.bsc" OutputFile="$(OutDir)\decConsole.bsc"
/> />
<Tool <Tool
@@ -134,25 +128,21 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\bin\win32\Release/decConsole.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\encoder\core\inc" AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE" PreprocessorDefinitions="NDEBUG;_CONSOLE"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Release/decConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/" AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/"
ObjectFile=".\..\..\..\obj\decConsole\Release/" ObjectFile=".\..\..\..\obj\decConsole\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/" ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
@@ -170,8 +160,6 @@
AdditionalDependencies="$(OutDir)\welsdec.lib" AdditionalDependencies="$(OutDir)\welsdec.lib"
OutputFile="$(OutDir)\decConsole.exe" OutputFile="$(OutDir)\decConsole.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
ProgramDatabaseFile="$(OutDir)\decConsole.pdb" ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
GenerateMapFile="false" GenerateMapFile="false"
SubSystem="1" SubSystem="1"
@@ -190,7 +178,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)\decConsole.bsc" OutputFile="$(OutDir)\decConsole.bsc"
/> />
<Tool <Tool
@@ -227,24 +214,20 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TypeLibraryName=".\..\..\..\..\bin\win32\Debug/decConsole.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\decoder\core\inc,..\..\..\encoder\core\inc" AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" PreprocessorDefinitions="_DEBUG;_CONSOLE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Debug/decConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/" AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/"
ObjectFile=".\..\..\..\obj\decConsole\Debug/" ObjectFile=".\..\..\..\obj\decConsole\Debug/"
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/" ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
BrowseInformation="1" BrowseInformation="1"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
@@ -263,8 +246,6 @@
AdditionalDependencies="$(OutDir)\welsdec.lib" AdditionalDependencies="$(OutDir)\welsdec.lib"
OutputFile="$(OutDir)\decConsoled.exe" OutputFile="$(OutDir)\decConsoled.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb" ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
SubSystem="1" SubSystem="1"
@@ -283,7 +264,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)\decConsole.bsc" OutputFile="$(OutDir)\decConsole.bsc"
/> />
<Tool <Tool
@@ -320,25 +300,20 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\bin\win32\Debug/decConsole.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\decoder\core\inc,..\..\..\encoder\core\inc" AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE" PreprocessorDefinitions="_DEBUG;_CONSOLE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Debug/decConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/" AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/"
ObjectFile=".\..\..\..\obj\decConsole\Debug/" ObjectFile=".\..\..\..\obj\decConsole\Debug/"
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/" ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
BrowseInformation="1" BrowseInformation="1"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -357,8 +332,6 @@
AdditionalDependencies="$(OutDir)\welsdec.lib" AdditionalDependencies="$(OutDir)\welsdec.lib"
OutputFile="$(OutDir)\decConsoled.exe" OutputFile="$(OutDir)\decConsoled.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb" ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
SubSystem="1" SubSystem="1"
@@ -377,7 +350,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)\decConsole.bsc" OutputFile="$(OutDir)\decConsole.bsc"
/> />
<Tool <Tool
@@ -405,87 +377,11 @@
<File <File
RelativePath="..\..\..\console\dec\src\h264dec.cpp" RelativePath="..\..\..\console\dec\src\h264dec.cpp"
> >
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath="..\..\..\common\src\logging.cpp" RelativePath="..\..\..\console\common\src\read_config.cpp"
> >
</File> </File>
<File
RelativePath="..\..\..\console\dec\src\read_config.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
</Filter> </Filter>
<Filter <Filter
Name="Header Files" Name="Header Files"
@@ -496,7 +392,7 @@
> >
</File> </File>
<File <File
RelativePath="..\..\..\console\dec\inc\read_config.h" RelativePath="..\..\..\console\common\inc\read_config.h"
> >
</File> </File>
</Filter> </Filter>

File diff suppressed because it is too large Load Diff

View File

@@ -42,27 +42,19 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface" AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM" PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Debug/WelsEncPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/" AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/"
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/" ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/" ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
@@ -78,11 +70,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="$(OutDir)\welsecore.lib" AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
OutputFile="$(OutDir)\welsenc.dll" OutputFile="$(OutDir)\welsenc.dll"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\libs"
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def" ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\welsenc.pdb" ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
@@ -104,7 +94,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)/WelsEncPlus.bsc" OutputFile="$(OutDir)/WelsEncPlus.bsc"
/> />
<Tool <Tool
@@ -141,27 +130,19 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface" AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM" PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Debug/WelsEncPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/" AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/"
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/" ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/" ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -177,11 +158,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="$(OutDir)\welsecore.lib" AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
OutputFile="$(OutDir)\welsenc.dll" OutputFile="$(OutDir)\welsenc.dll"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\libs"
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def" ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\welsenc.pdb" ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
@@ -203,7 +182,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)/WelsEncPlus.bsc" OutputFile="$(OutDir)/WelsEncPlus.bsc"
/> />
<Tool <Tool
@@ -225,6 +203,7 @@
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
@@ -240,31 +219,21 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="3" Optimization="3"
InlineFunctionExpansion="2" InlineFunctionExpansion="2"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
EnableFiberSafeOptimizations="true"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface" AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM" PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Release/WelsEncPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/" AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/"
ObjectFile=".\..\..\..\obj\encoder\plus\Release/" ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/" ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -280,12 +249,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalOptions="/MAPINFO:exports /LTCG" AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
AdditionalDependencies="$(OutDir)\welsecore.lib"
OutputFile="$(OutDir)\welsenc.dll" OutputFile="$(OutDir)\welsenc.dll"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\libs"
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def" ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\welsenc.pdb" ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
@@ -308,7 +274,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)/WelsEncPlus.bsc" OutputFile="$(OutDir)/WelsEncPlus.bsc"
/> />
<Tool <Tool
@@ -330,6 +295,7 @@
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
@@ -345,31 +311,21 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="3" Optimization="3"
InlineFunctionExpansion="2" InlineFunctionExpansion="2"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
EnableFiberSafeOptimizations="true"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface" AdditionalIncludeDirectories="..\..\..\encoder\plus\inc;..\..\..\encoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\processing\interface"
PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;_USRDLL;WELSENCPLUS_EXPORTS;X86_ASM" PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Release/WelsEncPlus.pch"
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/" AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/"
ObjectFile=".\..\..\..\obj\encoder\plus\Release/" ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/" ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -385,12 +341,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalOptions="/MAPINFO:exports /LTCG" AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
AdditionalDependencies="$(OutDir)\welsecore.lib"
OutputFile="$(OutDir)\welsenc.dll" OutputFile="$(OutDir)\welsenc.dll"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\..\libs"
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def" ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\welsenc.pdb" ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
@@ -413,7 +366,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)/WelsEncPlus.bsc" OutputFile="$(OutDir)/WelsEncPlus.bsc"
/> />
<Tool <Tool
@@ -437,126 +389,18 @@
<File <File
RelativePath="..\..\..\encoder\plus\src\DllEntry.cpp" RelativePath="..\..\..\encoder\plus\src\DllEntry.cpp"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath="..\..\..\encoder\plus\src\wels_enc_export.def" RelativePath="..\..\..\encoder\plus\src\wels_enc_export.def"
> >
</File> </File>
<File <File
RelativePath="..\..\..\encoder\plus\src\welsCodecTrace.cpp" RelativePath="..\..\..\common\src\welsCodecTrace.cpp"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath="..\..\..\encoder\plus\src\welsEncoderExt.cpp" RelativePath="..\..\..\encoder\plus\src\welsEncoderExt.cpp"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File> </File>
</Filter> </Filter>
<Filter <Filter
@@ -564,7 +408,7 @@
Filter="h;hpp;hxx;hm;inl" Filter="h;hpp;hxx;hm;inl"
> >
<File <File
RelativePath="..\..\..\encoder\plus\inc\welsCodecTrace.h" RelativePath="..\..\..\common\inc\welsCodecTrace.h"
> >
</File> </File>
<File <File
@@ -579,42 +423,6 @@
<File <File
RelativePath="..\..\..\encoder\plus\res\welsenc.rc" RelativePath="..\..\..\encoder\plus\res\welsenc.rc"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\Project\svc_perf_opt_b\codec\Wels\project\encoder\plus\res"
/>
</FileConfiguration>
</File> </File>
</Filter> </Filter>
</Files> </Files>

View File

@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "encConsole", "encConsole.vc
{E8DFAFA1-8DAC-4127-8D27-FBD5819EE562} = {E8DFAFA1-8DAC-4127-8D27-FBD5819EE562} {E8DFAFA1-8DAC-4127-8D27-FBD5819EE562} = {E8DFAFA1-8DAC-4127-8D27-FBD5819EE562}
EndProjectSection EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WelsVP", "..\..\..\processing\build\win32\WelsVP_2008.vcproj", "{E8DFAFA1-8DAC-4127-8D27-FBD5819EE562}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WelsVP", "..\..\..\processing\build\win32\WelsVP.vcproj", "{E8DFAFA1-8DAC-4127-8D27-FBD5819EE562}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -42,23 +42,19 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TypeLibraryName=".\..\..\..\..\..\bin\Debug/encConsole.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface" AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;" PreprocessorDefinitions="_DEBUG;_CONSOLE;"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Debug/encConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/" AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/"
ObjectFile=".\..\..\..\obj\encConsole\Debug/" ObjectFile=".\..\..\..\obj\encConsole\Debug/"
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/" ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
@@ -77,8 +73,6 @@
AdditionalDependencies="$(OutDir)\welsenc.lib" AdditionalDependencies="$(OutDir)\welsenc.lib"
OutputFile="$(OutDir)\encConsole.exe" OutputFile="$(OutDir)\encConsole.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\bin"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\encConsole.pdb" ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
GenerateMapFile="true" GenerateMapFile="true"
@@ -99,102 +93,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)\encConsole.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory=".\..\..\..\..\bin\win32\Release"
IntermediateDirectory=".\..\..\..\obj\encConsole\Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\..\..\..\..\..\bin\Release/encConsole.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;X86_ASM;"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Release/encConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\encConsole\Release/"
ObjectFile=".\..\..\..\obj\encConsole\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Release/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(OutDir)\welsenc.lib"
OutputFile="$(OutDir)\encConsole.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\bin"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
GenerateMapFile="false"
MapExports="false"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)\encConsole.bsc" OutputFile="$(OutDir)\encConsole.bsc"
/> />
<Tool <Tool
@@ -231,24 +129,19 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\..\bin\Debug/encConsole.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface" AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE" PreprocessorDefinitions="_DEBUG;_CONSOLE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Debug/encConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/" AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/"
ObjectFile=".\..\..\..\obj\encConsole\Debug/" ObjectFile=".\..\..\..\obj\encConsole\Debug/"
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/" ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -267,8 +160,6 @@
AdditionalDependencies="$(OutDir)\welsenc.lib" AdditionalDependencies="$(OutDir)\welsenc.lib"
OutputFile="$(OutDir)\encConsole.exe" OutputFile="$(OutDir)\encConsole.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\bin"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\encConsole.pdb" ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
GenerateMapFile="true" GenerateMapFile="true"
@@ -289,7 +180,94 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true" OutputFile="$(OutDir)\encConsole.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory=".\..\..\..\..\bin\win32\Release"
IntermediateDirectory=".\..\..\..\obj\encConsole\Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
PreprocessorDefinitions="NDEBUG;_CONSOLE;X86_ASM;"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
AssemblerListingLocation=".\..\..\..\obj\encConsole\Release/"
ObjectFile=".\..\..\..\obj\encConsole\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Release/"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(OutDir)\welsenc.lib"
OutputFile="$(OutDir)\encConsole.exe"
LinkIncremental="1"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
GenerateMapFile="false"
MapExports="false"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="$(OutDir)\encConsole.bsc" OutputFile="$(OutDir)\encConsole.bsc"
/> />
<Tool <Tool
@@ -326,25 +304,20 @@
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\..\..\..\..\..\bin\Release/encConsole.tlb"
HeaderFileName=""
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
InlineFunctionExpansion="1" InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface" AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE" PreprocessorDefinitions="NDEBUG;_CONSOLE"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Release/encConsole.pch"
AssemblerListingLocation=".\..\..\..\obj\encConsole\Release/" AssemblerListingLocation=".\..\..\..\obj\encConsole\Release/"
ObjectFile=".\..\..\..\obj\encConsole\Release/" ObjectFile=".\..\..\..\obj\encConsole\Release/"
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Release/" ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Release/"
WarningLevel="3" WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
@@ -363,8 +336,6 @@
AdditionalDependencies="$(OutDir)\welsenc.lib" AdditionalDependencies="$(OutDir)\welsenc.lib"
OutputFile="$(OutDir)\encConsole.exe" OutputFile="$(OutDir)\encConsole.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\..\bin"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\encConsole.pdb" ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
GenerateMapFile="false" GenerateMapFile="false"
@@ -385,7 +356,6 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="$(OutDir)\encConsole.bsc" OutputFile="$(OutDir)\encConsole.bsc"
/> />
<Tool <Tool
@@ -407,88 +377,12 @@
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
> >
<File <File
RelativePath="..\..\..\common\src\logging.cpp" RelativePath="..\..\..\console\common\src\read_config.cpp"
> >
</File> </File>
<File
RelativePath="..\..\..\console\enc\src\read_config.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File <File
RelativePath="..\..\..\console\enc\src\welsenc.cpp" RelativePath="..\..\..\console\enc\src\welsenc.cpp"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File> </File>
</Filter> </Filter>
<Filter <Filter
@@ -496,7 +390,7 @@
Filter="h;hpp;hxx;hm;inl" Filter="h;hpp;hxx;hm;inl"
> >
<File <File
RelativePath="..\..\..\console\enc\inc\read_config.h" RelativePath="..\..\..\console\common\inc\read_config.h"
> >
</File> </File>
</Filter> </Filter>

View File

@@ -35,76 +35,76 @@
#include "arm_arch_common_macro.S" #include "arm_arch_common_macro.S"
#ifdef __APPLE__ #ifdef __APPLE__
.macro LOAD_ALIGNED_DATA_WITH_STRIDE .macro LOAD_ALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, src*, src_stride // { // input: $0~$3, src*, src_stride
vld1.64 {$0}, [$4,:128], $5 vld1.64 {$0}, [$4,:128], $5
vld1.64 {$1}, [$4,:128], $5 vld1.64 {$1}, [$4,:128], $5
vld1.64 {$2}, [$4,:128], $5 vld1.64 {$2}, [$4,:128], $5
vld1.64 {$3}, [$4,:128], $5 vld1.64 {$3}, [$4,:128], $5
// } // }
.endm .endm
.macro STORE_ALIGNED_DATA_WITH_STRIDE .macro STORE_ALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, dst*, dst_stride // { // input: $0~$3, dst*, dst_stride
vst1.64 {$0}, [$4,:128], $5 vst1.64 {$0}, [$4,:128], $5
vst1.64 {$1}, [$4,:128], $5 vst1.64 {$1}, [$4,:128], $5
vst1.64 {$2}, [$4,:128], $5 vst1.64 {$2}, [$4,:128], $5
vst1.64 {$3}, [$4,:128], $5 vst1.64 {$3}, [$4,:128], $5
// } // }
.endm .endm
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE .macro LOAD_UNALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, src*, src_stride // { // input: $0~$3, src*, src_stride
vld1.64 {$0}, [$4], $5 vld1.64 {$0}, [$4], $5
vld1.64 {$1}, [$4], $5 vld1.64 {$1}, [$4], $5
vld1.64 {$2}, [$4], $5 vld1.64 {$2}, [$4], $5
vld1.64 {$3}, [$4], $5 vld1.64 {$3}, [$4], $5
// } // }
.endm .endm
.macro STORE_UNALIGNED_DATA_WITH_STRIDE .macro STORE_UNALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, dst*, dst_stride // { // input: $0~$3, dst*, dst_stride
vst1.64 {$0}, [$4], $5 vst1.64 {$0}, [$4], $5
vst1.64 {$1}, [$4], $5 vst1.64 {$1}, [$4], $5
vst1.64 {$2}, [$4], $5 vst1.64 {$2}, [$4], $5
vst1.64 {$3}, [$4], $5 vst1.64 {$3}, [$4], $5
// } // }
.endm .endm
#else #else
.macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5 .macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: \arg0~\arg3, src*, src_stride // { // input: \arg0~\arg3, src*, src_stride
vld1.64 {\arg0}, [\arg4,:128], \arg5 vld1.64 {\arg0}, [\arg4,:128], \arg5
vld1.64 {\arg1}, [\arg4,:128], \arg5 vld1.64 {\arg1}, [\arg4,:128], \arg5
vld1.64 {\arg2}, [\arg4,:128], \arg5 vld1.64 {\arg2}, [\arg4,:128], \arg5
vld1.64 {\arg3}, [\arg4,:128], \arg5 vld1.64 {\arg3}, [\arg4,:128], \arg5
// } // }
.endm .endm
.macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5 .macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: \arg0~\arg3, dst*, dst_stride // { // input: \arg0~\arg3, dst*, dst_stride
vst1.64 {\arg0}, [\arg4,:128], \arg5 vst1.64 {\arg0}, [\arg4,:128], \arg5
vst1.64 {\arg1}, [\arg4,:128], \arg5 vst1.64 {\arg1}, [\arg4,:128], \arg5
vst1.64 {\arg2}, [\arg4,:128], \arg5 vst1.64 {\arg2}, [\arg4,:128], \arg5
vst1.64 {\arg3}, [\arg4,:128], \arg5 vst1.64 {\arg3}, [\arg4,:128], \arg5
// } // }
.endm .endm
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5 .macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: \arg0~\arg3, src*, src_stride // { // input: \arg0~\arg3, src*, src_stride
vld1.64 {\arg0}, [\arg4], \arg5 vld1.64 {\arg0}, [\arg4], \arg5
vld1.64 {\arg1}, [\arg4], \arg5 vld1.64 {\arg1}, [\arg4], \arg5
vld1.64 {\arg2}, [\arg4], \arg5 vld1.64 {\arg2}, [\arg4], \arg5
vld1.64 {\arg3}, [\arg4], \arg5 vld1.64 {\arg3}, [\arg4], \arg5
// } // }
.endm .endm
.macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5 .macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: \arg0~\arg3, dst*, dst_stride // { // input: \arg0~\arg3, dst*, dst_stride
vst1.64 {\arg0}, [\arg4], \arg5 vst1.64 {\arg0}, [\arg4], \arg5
vst1.64 {\arg1}, [\arg4], \arg5 vst1.64 {\arg1}, [\arg4], \arg5
vst1.64 {\arg2}, [\arg4], \arg5 vst1.64 {\arg2}, [\arg4], \arg5
vst1.64 {\arg3}, [\arg4], \arg5 vst1.64 {\arg3}, [\arg4], \arg5
// } // }
.endm .endm
#endif #endif
@@ -112,89 +112,89 @@
WELS_ASM_FUNC_BEGIN WelsCopy8x8_neon WELS_ASM_FUNC_BEGIN WelsCopy8x8_neon
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
WELS_ASM_FUNC_END WELS_ASM_FUNC_END
WELS_ASM_FUNC_BEGIN WelsCopy16x16_neon WELS_ASM_FUNC_BEGIN WelsCopy16x16_neon
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3 LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1 STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3 LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1 STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3 LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1 STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3 LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1 STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
WELS_ASM_FUNC_END WELS_ASM_FUNC_END
WELS_ASM_FUNC_BEGIN WelsCopy16x16NotAligned_neon WELS_ASM_FUNC_BEGIN WelsCopy16x16NotAligned_neon
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
WELS_ASM_FUNC_END WELS_ASM_FUNC_END
WELS_ASM_FUNC_BEGIN WelsCopy16x8NotAligned_neon WELS_ASM_FUNC_BEGIN WelsCopy16x8NotAligned_neon
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
WELS_ASM_FUNC_END WELS_ASM_FUNC_END
WELS_ASM_FUNC_BEGIN WelsCopy8x16_neon WELS_ASM_FUNC_BEGIN WelsCopy8x16_neon
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3 LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1 STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
WELS_ASM_FUNC_END WELS_ASM_FUNC_END

File diff suppressed because it is too large Load Diff

View File

@@ -37,119 +37,119 @@
WELS_ASM_FUNC_BEGIN ExpandPictureLuma_neon WELS_ASM_FUNC_BEGIN ExpandPictureLuma_neon
stmdb sp!, {r4-r8} stmdb sp!, {r4-r8}
//Save the dst //Save the dst
mov r7, r0 mov r7, r0
mov r8, r3 mov r8, r3
add r4, r7, r2 add r4, r7, r2
sub r4, #1 sub r4, #1
//For the left and right expand //For the left and right expand
_expand_picture_luma_loop2: _expand_picture_luma_loop2:
sub r5, r7, #32 sub r5, r7, #32
add r6, r4, #1 add r6, r4, #1
vld1.8 {d0[], d1[]}, [r7], r1 vld1.8 {d0[], d1[]}, [r7], r1
vld1.8 {d2[], d3[]}, [r4], r1 vld1.8 {d2[], d3[]}, [r4], r1
vst1.8 {q0}, [r5]! vst1.8 {q0}, [r5]!
vst1.8 {q0}, [r5] vst1.8 {q0}, [r5]
vst1.8 {q1}, [r6]! vst1.8 {q1}, [r6]!
vst1.8 {q1}, [r6] vst1.8 {q1}, [r6]
subs r8, #1 subs r8, #1
bne _expand_picture_luma_loop2 bne _expand_picture_luma_loop2
//for the top and bottom expand //for the top and bottom expand
add r2, #64 add r2, #64
sub r0, #32 sub r0, #32
mla r4, r1, r3, r0 mla r4, r1, r3, r0
sub r4, r1 sub r4, r1
_expand_picture_luma_loop0: _expand_picture_luma_loop0:
mov r5, #32 mov r5, #32
mls r5, r5, r1, r0 mls r5, r5, r1, r0
add r6, r4, r1 add r6, r4, r1
vld1.8 {q0}, [r0]! vld1.8 {q0}, [r0]!
vld1.8 {q1}, [r4]! vld1.8 {q1}, [r4]!
mov r8, #32 mov r8, #32
_expand_picture_luma_loop1: _expand_picture_luma_loop1:
vst1.8 {q0}, [r5], r1 vst1.8 {q0}, [r5], r1
vst1.8 {q1}, [r6], r1 vst1.8 {q1}, [r6], r1
subs r8, #1 subs r8, #1
bne _expand_picture_luma_loop1 bne _expand_picture_luma_loop1
subs r2, #16 subs r2, #16
bne _expand_picture_luma_loop0 bne _expand_picture_luma_loop0
//vldreq.32 d0, [r0] //vldreq.32 d0, [r0]
ldmia sp!, {r4-r8} ldmia sp!, {r4-r8}
WELS_ASM_FUNC_END WELS_ASM_FUNC_END
WELS_ASM_FUNC_BEGIN ExpandPictureChroma_neon WELS_ASM_FUNC_BEGIN ExpandPictureChroma_neon
stmdb sp!, {r4-r9} stmdb sp!, {r4-r9}
//Save the dst //Save the dst
mov r7, r0 mov r7, r0
mov r8, r3 mov r8, r3
add r4, r7, r2 add r4, r7, r2
sub r4, #1 sub r4, #1
//For the left and right expand //For the left and right expand
_expand_picture_chroma_loop2: _expand_picture_chroma_loop2:
sub r5, r7, #16 sub r5, r7, #16
add r6, r4, #1 add r6, r4, #1
vld1.8 {d0[], d1[]}, [r7], r1 vld1.8 {d0[], d1[]}, [r7], r1
vld1.8 {d2[], d3[]}, [r4], r1 vld1.8 {d2[], d3[]}, [r4], r1
vst1.8 {q0}, [r5] vst1.8 {q0}, [r5]
vst1.8 {q1}, [r6] vst1.8 {q1}, [r6]
subs r8, #1 subs r8, #1
bne _expand_picture_chroma_loop2 bne _expand_picture_chroma_loop2
//for the top and bottom expand //for the top and bottom expand
add r2, #32 add r2, #32
mov r9, r2 mov r9, r2
bic r2, #15 bic r2, #15
sub r0, #16 sub r0, #16
mla r4, r1, r3, r0 mla r4, r1, r3, r0
sub r4, r1 sub r4, r1
_expand_picture_chroma_loop0: _expand_picture_chroma_loop0:
mov r5, #16 mov r5, #16
mls r5, r5, r1, r0 mls r5, r5, r1, r0
add r6, r4, r1 add r6, r4, r1
vld1.8 {q0}, [r0]! vld1.8 {q0}, [r0]!
vld1.8 {q1}, [r4]! vld1.8 {q1}, [r4]!
mov r8, #16 mov r8, #16
_expand_picture_chroma_loop1: _expand_picture_chroma_loop1:
vst1.8 {q0}, [r5], r1 vst1.8 {q0}, [r5], r1
vst1.8 {q1}, [r6], r1 vst1.8 {q1}, [r6], r1
subs r8, #1 subs r8, #1
bne _expand_picture_chroma_loop1 bne _expand_picture_chroma_loop1
subs r2, #16 subs r2, #16
bne _expand_picture_chroma_loop0 bne _expand_picture_chroma_loop0
//vldreq.32 d0, [r0] //vldreq.32 d0, [r0]
and r9, #15 and r9, #15
cmp r9, #8 cmp r9, #8
bne _expand_picture_chroma_end bne _expand_picture_chroma_end
mov r5, #16 mov r5, #16
mls r5, r5, r1, r0 mls r5, r5, r1, r0
add r6, r4, r1 add r6, r4, r1
vld1.8 {d0}, [r0]! vld1.8 {d0}, [r0]!
vld1.8 {d2}, [r4]! vld1.8 {d2}, [r4]!
mov r8, #16 mov r8, #16
_expand_picture_chroma_loop3: _expand_picture_chroma_loop3:
vst1.8 {d0}, [r5], r1 vst1.8 {d0}, [r5], r1
vst1.8 {d2}, [r6], r1 vst1.8 {d2}, [r6], r1
subs r8, #1 subs r8, #1
bne _expand_picture_chroma_loop3 bne _expand_picture_chroma_loop3
_expand_picture_chroma_end: _expand_picture_chroma_end:
ldmia sp!, {r4-r9} ldmia sp!, {r4-r9}
WELS_ASM_FUNC_END WELS_ASM_FUNC_END
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@@ -32,13 +32,13 @@
#ifdef __APPLE__ #ifdef __APPLE__
.macro WELS_ASM_ARCH64_FUNC_BEGIN .macro WELS_ASM_AARCH64_FUNC_BEGIN
.align 2 .align 2
.globl _$0 .globl _$0
_$0: _$0:
.endm .endm
.macro WELS_ASM_ARCH64_FUNC_END .macro WELS_ASM_AARCH64_FUNC_END
ret ret
.endm .endm
#else #else
@@ -46,7 +46,7 @@ ret
.section .note.GNU-stack,"",%progbits // Mark stack as non-executable .section .note.GNU-stack,"",%progbits // Mark stack as non-executable
.text .text
.macro WELS_ASM_ARCH64_FUNC_BEGIN funcName .macro WELS_ASM_AARCH64_FUNC_BEGIN funcName
.align 2 .align 2
.global \funcName .global \funcName
.type \funcName, %function .type \funcName, %function
@@ -54,7 +54,7 @@ ret
\funcName: \funcName:
.endm .endm
.macro WELS_ASM_ARCH64_FUNC_END .macro WELS_ASM_AARCH64_FUNC_END
ret ret
.endfunc .endfunc
.endm .endm
@@ -67,11 +67,4 @@ ret
mov \arg0\().8b, \arg1\().8b mov \arg0\().8b, \arg1\().8b
.endm .endm
.macro ext.16b arg0, arg1, arg2, arg3
ext \arg0\().16b, \arg1\().16b, \arg2\().16b, \arg3
.endm
.macro ext.8b arg0, arg1, arg2, arg3
ext \arg0\().8b, \arg1\().8b, \arg2\().8b, \arg3
.endm
#endif #endif

View File

@@ -0,0 +1,274 @@
/*!
* \copy
* Copyright (c) 2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifdef HAVE_NEON_AARCH64
.text
#include "arm_arch64_common_macro.S"
#ifdef __APPLE__
.macro LOAD_ALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, src*, src_stride
ld1 {$0.d}[0], [$4], $5
ld1 {$1.d}[0], [$4], $5
ld1 {$2.d}[0], [$4], $5
ld1 {$3.d}[0], [$4], $5
// }
.endm
.macro STORE_ALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, dst*, dst_stride
st1 {$0.d}[0], [$4], $5
st1 {$1.d}[0], [$4], $5
st1 {$2.d}[0], [$4], $5
st1 {$3.d}[0], [$4], $5
// }
.endm
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, src*, src_stride
ld1 {$0.8b}, [$4], $5
ld1 {$1.8b}, [$4], $5
ld1 {$2.8b}, [$4], $5
ld1 {$3.8b}, [$4], $5
// }
.endm
.macro STORE_UNALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, dst*, dst_stride
st1 {$0.8b}, [$4], $5
st1 {$1.8b}, [$4], $5
st1 {$2.8b}, [$4], $5
st1 {$3.8b}, [$4], $5
// }
.endm
.macro LOAD16_ALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, src*, src_stride
ld1 {$0.2d}, [$4], $5
ld1 {$1.2d}, [$4], $5
ld1 {$2.2d}, [$4], $5
ld1 {$3.2d}, [$4], $5
// }
.endm
.macro STORE16_ALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, dst*, dst_stride
st1 {$0.2d}, [$4], $5
st1 {$1.2d}, [$4], $5
st1 {$2.2d}, [$4], $5
st1 {$3.2d}, [$4], $5
// }
.endm
.macro LOAD16_UNALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, src*, src_stride
ld1 {$0.16b}, [$4], $5
ld1 {$1.16b}, [$4], $5
ld1 {$2.16b}, [$4], $5
ld1 {$3.16b}, [$4], $5
// }
.endm
.macro STORE16_UNALIGNED_DATA_WITH_STRIDE
// { // input: $0~$3, dst*, dst_stride
st1 {$0.16b}, [$4], $5
st1 {$1.16b}, [$4], $5
st1 {$2.16b}, [$4], $5
st1 {$3.16b}, [$4], $5
// }
.endm
#else
.macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, src*, src_stride
ld1 {\arg0\().d}[0], [\arg4], \arg5
ld1 {\arg1\().d}[0], [\arg4], \arg5
ld1 {\arg2\().d}[0], [\arg4], \arg5
ld1 {\arg3\().d}[0], [\arg4], \arg5
// }
.endm
.macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, dst*, dst_stride
st1 {\arg0\().d}[0], [\arg4], \arg5
st1 {\arg1\().d}[0], [\arg4], \arg5
st1 {\arg2\().d}[0], [\arg4], \arg5
st1 {\arg3\().d}[0], [\arg4], \arg5
// }
.endm
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, src*, src_stride
ld1 {\arg0\().8b}, [\arg4], \arg5
ld1 {\arg1\().8b}, [\arg4], \arg5
ld1 {\arg2\().8b}, [\arg4], \arg5
ld1 {\arg3\().8b}, [\arg4], \arg5
// }
.endm
.macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, dst*, dst_stride
st1 {\arg0\().8b}, [\arg4], \arg5
st1 {\arg1\().8b}, [\arg4], \arg5
st1 {\arg2\().8b}, [\arg4], \arg5
st1 {\arg3\().8b}, [\arg4], \arg5
// }
.endm
.macro LOAD16_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, src*, src_stride
ld1 {\arg0\().2d}, [\arg4], \arg5
ld1 {\arg1\().2d}, [\arg4], \arg5
ld1 {\arg2\().2d}, [\arg4], \arg5
ld1 {\arg3\().2d}, [\arg4], \arg5
// }
.endm
.macro STORE16_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, dst*, dst_stride
st1 {\arg0\().2d}, [\arg4], \arg5
st1 {\arg1\().2d}, [\arg4], \arg5
st1 {\arg2\().2d}, [\arg4], \arg5
st1 {\arg3\().2d}, [\arg4], \arg5
// }
.endm
.macro LOAD16_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, src*, src_stride
ld1 {\arg0\().16b}, [\arg4], \arg5
ld1 {\arg1\().16b}, [\arg4], \arg5
ld1 {\arg2\().16b}, [\arg4], \arg5
ld1 {\arg3\().16b}, [\arg4], \arg5
// }
.endm
.macro STORE16_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
// { // input: $0~$3, dst*, dst_stride
st1 {\arg0\().16b}, [\arg4], \arg5
st1 {\arg1\().16b}, [\arg4], \arg5
st1 {\arg2\().16b}, [\arg4], \arg5
st1 {\arg3\().16b}, [\arg4], \arg5
// }
.endm
#endif
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy8x8_AArch64_neon
LOAD_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x2, x3
STORE_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x0, x1
WELS_ASM_AARCH64_FUNC_END
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy16x16_AArch64_neon
LOAD16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
STORE16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
LOAD16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE16_ALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
STORE16_ALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
WELS_ASM_AARCH64_FUNC_END
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy16x16NotAligned_AArch64_neon
LOAD16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
STORE16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
LOAD16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
STORE16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
WELS_ASM_AARCH64_FUNC_END
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy16x8NotAligned_AArch64_neon
LOAD16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE16_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x2, x3
STORE16_UNALIGNED_DATA_WITH_STRIDE v16, v17, v18, v19, x0, x1
WELS_ASM_AARCH64_FUNC_END
WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy8x16_AArch64_neon
LOAD_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x2, x3
STORE_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x0, x1
LOAD_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x2, x3
STORE_UNALIGNED_DATA_WITH_STRIDE v0, v1, v2, v3, x0, x1
LOAD_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x2, x3
STORE_UNALIGNED_DATA_WITH_STRIDE v4, v5, v6, v7, x0, x1
WELS_ASM_AARCH64_FUNC_END
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -34,7 +34,7 @@
.text .text
#include "arm_arch64_common_macro.S" #include "arm_arch64_common_macro.S"
WELS_ASM_ARCH64_FUNC_BEGIN ExpandPictureLuma_AArch64_neon WELS_ASM_AARCH64_FUNC_BEGIN ExpandPictureLuma_AArch64_neon
mov x7, x0 mov x7, x0
mov x8, x3 mov x8, x3
add x4, x7, x2 add x4, x7, x2
@@ -53,91 +53,91 @@ _expand_picture_luma_loop2:
sub x8, x8, #1 sub x8, x8, #1
cbnz x8, _expand_picture_luma_loop2 cbnz x8, _expand_picture_luma_loop2
//for the top and bottom expand //for the top and bottom expand
add x2, x2, #64 add x2, x2, #64
sub x0, x0, #32 sub x0, x0, #32
madd x4, x1, x3, x0 madd x4, x1, x3, x0
sub x4, x4, x1 sub x4, x4, x1
_expand_picture_luma_loop0: _expand_picture_luma_loop0:
mov x5, #32 mov x5, #32
msub x5, x5, x1, x0 msub x5, x5, x1, x0
add x6, x4, x1 add x6, x4, x1
ld1 {v0.16b}, [x0], x10 ld1 {v0.16b}, [x0], x10
ld1 {v1.16b}, [x4], x10 ld1 {v1.16b}, [x4], x10
mov x8, #32 mov x8, #32
_expand_picture_luma_loop1: _expand_picture_luma_loop1:
st1 {v0.16b}, [x5], x1 st1 {v0.16b}, [x5], x1
st1 {v1.16b}, [x6], x1 st1 {v1.16b}, [x6], x1
sub x8, x8, #1 sub x8, x8, #1
cbnz x8, _expand_picture_luma_loop1 cbnz x8, _expand_picture_luma_loop1
sub x2, x2, #16 sub x2, x2, #16
cbnz x2, _expand_picture_luma_loop0 cbnz x2, _expand_picture_luma_loop0
WELS_ASM_ARCH64_FUNC_END WELS_ASM_AARCH64_FUNC_END
WELS_ASM_ARCH64_FUNC_BEGIN ExpandPictureChroma_AArch64_neon WELS_ASM_AARCH64_FUNC_BEGIN ExpandPictureChroma_AArch64_neon
//Save the dst //Save the dst
mov x7, x0 mov x7, x0
mov x8, x3 mov x8, x3
mov x10, #16 mov x10, #16
add x4, x7, x2 add x4, x7, x2
sub x4, x4, #1 sub x4, x4, #1
//For the left and right expand //For the left and right expand
_expand_picture_chroma_loop2: _expand_picture_chroma_loop2:
sub x5, x7, #16 sub x5, x7, #16
add x6, x4, #1 add x6, x4, #1
ld1r {v0.16b}, [x7], x1 ld1r {v0.16b}, [x7], x1
ld1r {v1.16b}, [x4], x1 ld1r {v1.16b}, [x4], x1
st1 {v0.16b}, [x5] st1 {v0.16b}, [x5]
st1 {v1.16b}, [x6] st1 {v1.16b}, [x6]
sub x8, x8, #1 sub x8, x8, #1
cbnz x8, _expand_picture_chroma_loop2 cbnz x8, _expand_picture_chroma_loop2
//for the top and bottom expand //for the top and bottom expand
add x2, x2, #32 add x2, x2, #32
// //
mov x9, x2 mov x9, x2
mov x11, #15 mov x11, #15
bic x2, x2, x11 bic x2, x2, x11
// //
sub x0, x0, #16 sub x0, x0, #16
madd x4, x1, x3, x0 madd x4, x1, x3, x0
sub x4, x4, x1 sub x4, x4, x1
_expand_picture_chroma_loop0: _expand_picture_chroma_loop0:
mov x5, #16 mov x5, #16
msub x5, x5, x1, x0 msub x5, x5, x1, x0
add x6, x4, x1 add x6, x4, x1
ld1 {v0.16b}, [x0], x10 ld1 {v0.16b}, [x0], x10
ld1 {v1.16b}, [x4], x10 ld1 {v1.16b}, [x4], x10
mov x8, #16 mov x8, #16
_expand_picture_chroma_loop1: _expand_picture_chroma_loop1:
st1 {v0.16b}, [x5], x1 st1 {v0.16b}, [x5], x1
st1 {v1.16b}, [x6], x1 st1 {v1.16b}, [x6], x1
sub x8, x8, #1 sub x8, x8, #1
cbnz x8, _expand_picture_chroma_loop1 cbnz x8, _expand_picture_chroma_loop1
sub x2, x2, #16 sub x2, x2, #16
cbnz x2, _expand_picture_chroma_loop0 cbnz x2, _expand_picture_chroma_loop0
and x9, x9, #15 and x9, x9, #15
sub x9, x9, #8 sub x9, x9, #8
cbnz x9, _expand_picture_chroma_end cbnz x9, _expand_picture_chroma_end
mov x5, #16 mov x5, #16
msub x5, x5, x1, x0 msub x5, x5, x1, x0
add x6, x4, x1 add x6, x4, x1
ld1 {v0.8b}, [x0] ld1 {v0.8b}, [x0]
ld1 {v1.8b}, [x4] ld1 {v1.8b}, [x4]
mov x8, #16 mov x8, #16
_expand_picture_chroma_loop3: _expand_picture_chroma_loop3:
st1 {v0.8b}, [x5], x1 st1 {v0.8b}, [x5], x1
st1 {v1.8b}, [x6], x1 st1 {v1.8b}, [x6], x1
sub x8, x8, #1 sub x8, x8, #1
cbnz x8, _expand_picture_chroma_loop3 cbnz x8, _expand_picture_chroma_loop3
_expand_picture_chroma_end: _expand_picture_chroma_end:
WELS_ASM_ARCH64_FUNC_END WELS_ASM_AARCH64_FUNC_END
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@@ -65,6 +65,14 @@ void WelsCopy16x8NotAligned_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc
void WelsCopy8x16_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS); void WelsCopy8x16_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
#endif #endif
#if defined (HAVE_NEON_AARCH64)
void WelsCopy8x8_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
void WelsCopy16x16_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
void WelsCopy16x16NotAligned_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
void WelsCopy16x8NotAligned_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
void WelsCopy8x16_AArch64_neon (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
#endif
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif//__cplusplus #endif//__cplusplus

View File

@@ -50,6 +50,18 @@ void DeblockChromaLt4H_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride,
void DeblockChromaEq4H_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta); void DeblockChromaEq4H_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta);
#endif #endif
#if defined(HAVE_NEON_AARCH64)
void DeblockLumaLt4V_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta, int8_t* pTc);
void DeblockLumaEq4V_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta);
void DeblockLumaLt4H_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta, int8_t* pTc);
void DeblockLumaEq4H_AArch64_neon (uint8_t* pPixY, int32_t iStride, int32_t iAlpha, int32_t iBeta);
void DeblockChromaLt4V_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta,
int8_t* pTC);
void DeblockChromaEq4V_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta);
void DeblockChromaLt4H_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta,
int8_t* pTC);
void DeblockChromaEq4H_AArch64_neon (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iStride, int32_t iAlpha, int32_t iBeta);
#endif
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif//__cplusplus #endif//__cplusplus

View File

@@ -37,8 +37,8 @@
************************************************************************************* *************************************************************************************
*/ */
#ifndef EXPAND_PICTURE_COMMON_H #ifndef EXPAND_PICTURE_H
#define EXPAND_PICTURE_COMMON_H #define EXPAND_PICTURE_H
#include "typedefs.h" #include "typedefs.h"
@@ -46,6 +46,8 @@
extern "C" { extern "C" {
#endif//__cplusplus #endif//__cplusplus
#define PADDING_LENGTH 32 // reference extension
#if defined(X86_ASM) #if defined(X86_ASM)
void ExpandPictureLuma_sse2 (uint8_t* pDst, void ExpandPictureLuma_sse2 (uint8_t* pDst,
const int32_t kiStride, const int32_t kiStride,
@@ -70,6 +72,20 @@ void ExpandPictureLuma_AArch64_neon (uint8_t* pDst, const int32_t kiStride, cons
void ExpandPictureChroma_AArch64_neon (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW, void ExpandPictureChroma_AArch64_neon (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW,
const int32_t kiPicH); const int32_t kiPicH);
#endif #endif
typedef void (*PExpandPictureFunc) (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW, const int32_t kiPicH);
typedef struct TagExpandPicFunc {
PExpandPictureFunc pfExpandLumaPicture;
PExpandPictureFunc pfExpandChromaPicture[2];
} SExpandPicFunc;
void ExpandReferencingPicture (uint8_t* pData[3], int32_t iWidth, int32_t iHeight, int32_t iStride[3],
PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]);
void InitExpandPictureFunc (SExpandPicFunc* pExpandPicFunc, const uint32_t kuiCPUFlags);
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif//__cplusplus #endif//__cplusplus

View File

@@ -44,6 +44,7 @@
#include <assert.h> #include <assert.h>
#include "typedefs.h" #include "typedefs.h"
/* /*
* ENFORCE_STACK_ALIGN_1D: force 1 dimension local data aligned in stack * ENFORCE_STACK_ALIGN_1D: force 1 dimension local data aligned in stack
* _tp: type * _tp: type
@@ -72,20 +73,10 @@
#endif #endif
#define ALIGNED_DECLARE( type, var, n ) __declspec(align(n)) type var #define ALIGNED_DECLARE( type, var, n ) __declspec(align(n)) type var
#define __align16(t,v) __declspec(align(16)) t v
#define ALIGNED_DECLARE_MATRIX_1D(name,size,type,alignment) \
__declspec(align(alignment)) type name[(size)]
#define ALIGNED_DECLARE_MATRIX_2D(name,sizex,sizey,type,alignment) \
__declspec(align(alignment)) type name[(sizex)*(sizey)]
#elif defined(__GNUC__) #elif defined(__GNUC__)
#define ALIGNED_DECLARE( type, var, n ) type var __attribute__((aligned(n))) #define ALIGNED_DECLARE( type, var, n ) type var __attribute__((aligned(n)))
#define __align16(t,v) t v __attribute__ ((aligned (16)))
#define ALIGNED_DECLARE_MATRIX_1D(name,size,type,alignment) \
type name[size] __attribute__((aligned(alignment)))
#define ALIGNED_DECLARE_MATRIX_2D(name,sizex,sizey,type,alignment) \
type name[(sizex)*(sizey)] __attribute__((aligned(alignment)))
#endif//_MSC_VER #endif//_MSC_VER
@@ -122,9 +113,17 @@ __declspec(align(alignment)) type name[(sizex)*(sizey)]
#endif//WELS_FLOOR #endif//WELS_FLOOR
#ifndef WELS_ROUND #ifndef WELS_ROUND
#define WELS_ROUND(x) ((int32_t)(0.5f+(x))) #define WELS_ROUND(x) ((int32_t)(0.5+(x)))
#endif//WELS_ROUND #endif//WELS_ROUND
#ifndef WELS_DIV_ROUND
#define WELS_DIV_ROUND(x,y) ((int32_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y))))
#endif//WELS_DIV_ROUND
#ifndef WELS_DIV_ROUND64
#define WELS_DIV_ROUND64(x,y) ((int64_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y))))
#endif//WELS_DIV_ROUND64
#define WELS_NON_ZERO_COUNT_AVERAGE(nC,nA,nB) { \ #define WELS_NON_ZERO_COUNT_AVERAGE(nC,nA,nB) { \
nC = nA + nB + 1; \ nC = nA + nB + 1; \
nC >>= (uint8_t)( nA != -1 && nB != -1); \ nC >>= (uint8_t)( nA != -1 && nB != -1); \

View File

@@ -79,7 +79,7 @@ static inline int64_t WelsTime (void) {
QueryPerformanceCounter ((LARGE_INTEGER*)&iMtimeCur); QueryPerformanceCounter ((LARGE_INTEGER*)&iMtimeCur);
iResult = (int64_t) ((double)iMtimeCur * 1e6 / (double)iMtimeFreq + 0.5); iResult = (int64_t) ((double)iMtimeCur * 1e6 / (double)iMtimeFreq + 0.5);
return iResult; return iResult;
#endif//WIN32 #endif//_WIN32
} }
#ifdef __cplusplus #ifdef __cplusplus

View File

@@ -89,6 +89,19 @@ void WelsSampleSadFour4x4_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
#endif #endif
#if defined (HAVE_NEON_AARCH64)
int32_t WelsSampleSad4x4_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
int32_t WelsSampleSad16x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
int32_t WelsSampleSad16x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
int32_t WelsSampleSad8x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
int32_t WelsSampleSad8x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t);
void WelsSampleSadFour16x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
void WelsSampleSadFour16x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
void WelsSampleSadFour8x16_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
void WelsSampleSadFour8x8_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
void WelsSampleSadFour4x4_AArch64_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
#endif
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif//__cplusplus #endif//__cplusplus

View File

@@ -48,6 +48,12 @@
#include <stdint.h> #include <stdint.h>
#include <inttypes.h> #include <inttypes.h>
#ifdef __LP64__
typedef int64_t intX_t;
#else
typedef int32_t intX_t;
#endif
#else #else
// FIXME: all singed type should be declared explicit, for example, int8_t should be declared as signed char. // FIXME: all singed type should be declared explicit, for example, int8_t should be declared as signed char.
@@ -61,6 +67,12 @@ typedef __int64 int64_t ;
typedef unsigned __int64 uint64_t; typedef unsigned __int64 uint64_t;
#define PRId64 "I64d" #define PRId64 "I64d"
#ifdef _WIN64
typedef int64_t intX_t;
#else
typedef int32_t intX_t;
#endif
#endif // _MSC_VER defined #endif // _MSC_VER defined
// The 'float' type is portable and usable without any need for any extra typedefs. // The 'float' type is portable and usable without any need for any extra typedefs.

View File

@@ -29,8 +29,6 @@
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
* *
* *
* \file utils.h
*
* \brief Tool kits for decoder * \brief Tool kits for decoder
* ( malloc, realloc, free, log output and PSNR calculation and so on ) * ( malloc, realloc, free, log output and PSNR calculation and so on )
* *
@@ -41,50 +39,54 @@
#ifndef WELS_UTILS_H__ #ifndef WELS_UTILS_H__
#define WELS_UTILS_H__ #define WELS_UTILS_H__
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
#include "typedefs.h" #include "typedefs.h"
namespace WelsDec {
/* /*
* Function pointer declaration for various tool sets * Function pointer declaration for various tool sets
*/ */
// wels log output // wels log output
typedef void (*PWelsLogCallbackFunc) (void* pPtr, const int32_t kiLevel, const char* kpFmt, va_list pArgv); typedef void (*PWelsLogCallbackFunc) (void* pCtx, const int32_t iLevel, const char* kpFmt, va_list argv);
typedef struct TagLogContext {
PWelsLogCallbackFunc pfLog;
void* pLogCtx;
} SLogContext;
extern PWelsLogCallbackFunc g_pLog;
#ifdef __GNUC__ #ifdef __GNUC__
extern void WelsLog (void* pPtr, int32_t iLevel, const char* kpFmt, ...) __attribute__ ((__format__ (__printf__, 3, extern void WelsLog (SLogContext* pCtx, int32_t iLevel, const char* kpFmt, ...) __attribute__ ((__format__ (__printf__, 3,
4))); 4)));
#else #else
extern void WelsLog (void* pPtr, int32_t iLevel, const char* kpFmt, ...); extern void WelsLog (SLogContext* pCtx, int32_t iLevel, const char* kpFmt, ...);
#endif #endif
#define BUFFER_STATUS_NAME(a) ((a == 0)?"unvalid":"valid")
/* /*
* Log output routines * PSNR calculation routines
*/ */
/*!
*************************************************************************************
* \brief PSNR calculation utilization in Wels
*
* \param kpTarPic target picture to be calculated in Picture pData format
* \param kiTarStride stride of target picture pData pBuffer
* \param kpRefPic base referencing picture samples
* \param kiRefStride stride of reference picture pData pBuffer
* \param kiWidth picture iWidth in pixel
* \param kiHeight picture iHeight in pixel
*
* \return actual PSNR result;
*
* \note N/A
*************************************************************************************
*/
float WelsCalcPsnr (const void* kpTarPic,
const int32_t kiTarStride,
const void* kpRefPic,
const int32_t kiRefStride,
const int32_t kiWidth,
const int32_t kiHeight);
typedef int32_t WelsLogLevel;
enum {
WELS_LOG_QUIET = 0x00, // Quiet mode
WELS_LOG_ERROR = 1 << 0, // Error log level
WELS_LOG_WARNING = 1 << 1, // Warning log level
WELS_LOG_INFO = 1 << 2, // Information log level
WELS_LOG_DEBUG = 1 << 3, // Debug log level
WELS_LOG_RESV = 1 << 4, // Resversed log level
WELS_LOG_LEVEL_COUNT = 5,
WELS_LOG_DEFAULT = WELS_LOG_ERROR | WELS_LOG_WARNING | WELS_LOG_INFO | WELS_LOG_DEBUG // Default log level in Wels codec
};
} // namespace WelsDec
#endif//WELS_UTILS_H__ #endif//WELS_UTILS_H__

View File

@@ -35,31 +35,29 @@
#include <stdarg.h> #include <stdarg.h>
#include "typedefs.h" #include "typedefs.h"
#include "utils.h"
typedef int32_t (*CM_WELS_TRACE) (const char* format, ...); #include "codec_app_def.h"
#include "codec_api.h"
class welsCodecTrace { class welsCodecTrace {
public: public:
welsCodecTrace(); welsCodecTrace();
~welsCodecTrace(); ~welsCodecTrace();
static void TraceString (int32_t iLevel, const char* kpStrFormat);
static void CODEC_TRACE (void* pIgnore, const int32_t kiLevel, const char* kpStrFormat, va_list vl);
void SetTraceLevel (const int32_t kiLevel); void SetTraceLevel (const int32_t kiLevel);
int32_t WelsTraceModuleIsExist(); void SetTraceCallback (WelsTraceCallback func);
void SetTraceCallbackContext (void* pCtx);
private: private:
static void StaticCodecTrace (void* pCtx, const int32_t kiLevel, const char* kpStrFormat, va_list vl);
void CodecTrace (const int32_t kiLevel, const char* kpStrFormat, va_list vl);
int32_t m_WelsTraceExistFlag; int32_t m_iTraceLevel;
WelsTraceCallback m_fpTrace;
void* m_pTraceCtx;
public: public:
static int32_t m_iTraceLevel;
static CM_WELS_TRACE m_fpDebugTrace;
static CM_WELS_TRACE m_fpInfoTrace;
static CM_WELS_TRACE m_fpWarnTrace;
static CM_WELS_TRACE m_fpErrorTrace;
SLogContext m_sLogCtx;
}; };
#endif //WELS_CODEC_TRACE #endif //WELS_CODEC_TRACE

View File

@@ -0,0 +1,232 @@
/*!
* \copy
* Copyright (c) 2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
//wels_common_defs.h
#ifndef WELS_COMMON_DEFS_H__
#define WELS_COMMON_DEFS_H__
#include "typedefs.h"
#include "macros.h"
namespace WelsCommon {
/*common use table*/
extern const uint8_t g_kuiMbCountScan4Idx[24];
extern const uint8_t g_kuiCache30ScanIdx[16];
extern const uint8_t g_kuiCache48CountScan4Idx[24];
extern const ALIGNED_DECLARE (uint16_t, g_kuiDequantCoeff[52][8], 16);
extern const uint8_t g_kuiChromaQpTable[52];
/*
* NAL Unit Type (5 Bits)
*/
enum EWelsNalUnitType {
NAL_UNIT_UNSPEC_0 = 0,
NAL_UNIT_CODED_SLICE = 1,
NAL_UNIT_CODED_SLICE_DPA = 2,
NAL_UNIT_CODED_SLICE_DPB = 3,
NAL_UNIT_CODED_SLICE_DPC = 4,
NAL_UNIT_CODED_SLICE_IDR = 5,
NAL_UNIT_SEI = 6,
NAL_UNIT_SPS = 7,
NAL_UNIT_PPS = 8,
NAL_UNIT_AU_DELIMITER = 9,
NAL_UNIT_END_OF_SEQ = 10,
NAL_UNIT_END_OF_STR = 11,
NAL_UNIT_FILLER_DATA = 12,
NAL_UNIT_SPS_EXT = 13,
NAL_UNIT_PREFIX = 14,
NAL_UNIT_SUBSET_SPS = 15,
NAL_UNIT_RESV_16 = 16,
NAL_UNIT_RESV_17 = 17,
NAL_UNIT_RESV_18 = 18,
NAL_UNIT_AUX_CODED_SLICE = 19,
NAL_UNIT_CODED_SLICE_EXT = 20,
NAL_UNIT_RESV_21 = 21,
NAL_UNIT_RESV_22 = 22,
NAL_UNIT_RESV_23 = 23,
NAL_UNIT_UNSPEC_24 = 24,
NAL_UNIT_UNSPEC_25 = 25,
NAL_UNIT_UNSPEC_26 = 26,
NAL_UNIT_UNSPEC_27 = 27,
NAL_UNIT_UNSPEC_28 = 28,
NAL_UNIT_UNSPEC_29 = 29,
NAL_UNIT_UNSPEC_30 = 30,
NAL_UNIT_UNSPEC_31 = 31
};
/*
* NAL Reference IDC (2 Bits)
*/
enum EWelsNalRefIdc {
NRI_PRI_LOWEST = 0,
NRI_PRI_LOW = 1,
NRI_PRI_HIGH = 2,
NRI_PRI_HIGHEST = 3
};
/*
* VCL TYPE
*/
enum EVclType {
NON_VCL = 0,
VCL = 1,
NOT_APP = 2
};
/*
* vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
*/
extern const EVclType g_keTypeMap[32][2];
#define IS_VCL_NAL(t, ext_idx) (g_keTypeMap[t][ext_idx] == VCL)
#define IS_PARAM_SETS_NALS(t) ( (t) == NAL_UNIT_SPS || (t) == NAL_UNIT_PPS || (t) == NAL_UNIT_SUBSET_SPS )
#define IS_SPS_NAL(t) ( (t) == NAL_UNIT_SPS )
#define IS_SUBSET_SPS_NAL(t) ( (t) == NAL_UNIT_SUBSET_SPS )
#define IS_PPS_NAL(t) ( (t) == NAL_UNIT_PPS )
#define IS_SEI_NAL(t) ( (t) == NAL_UNIT_SEI )
#define IS_PREFIX_NAL(t) ( (t) == NAL_UNIT_PREFIX )
#define IS_SUBSET_SPS_USED(t) ( (t) == NAL_UNIT_SUBSET_SPS || (t) == NAL_UNIT_CODED_SLICE_EXT )
#define IS_VCL_NAL_AVC_BASE(t) ( (t) == NAL_UNIT_CODED_SLICE || (t) == NAL_UNIT_CODED_SLICE_IDR )
#define IS_NEW_INTRODUCED_SVC_NAL(t) ( (t) == NAL_UNIT_PREFIX || (t) == NAL_UNIT_CODED_SLICE_EXT )
/* Base SSlice Types
* Invalid in case of eSliceType exceeds 9,
* Need trim when eSliceType > 4 as fixed SliceType(eSliceType-4),
* meaning mapped version after eSliceType minus 4.
*/
enum EWelsSliceType {
P_SLICE = 0,
B_SLICE = 1,
I_SLICE = 2,
SP_SLICE = 3,
SI_SLICE = 4,
UNKNOWN_SLICE = 5
};
/* SSlice Types in scalable extension */ ;
enum ESliceTypeExt {
EP_SLICE = 0, // EP_SLICE: 0, 5
EB_SLICE = 1, // EB_SLICE: 1, 6
EI_SLICE = 2 // EI_SLICE: 2, 7
};
/* List Index */
enum EListIndex {
LIST_0 = 0,
LIST_1 = 1,
LIST_A = 2
};
/* Motion Vector components */
enum EMvComp {
MV_X = 0,
MV_Y = 1,
MV_A = 2
};
/* Chroma Components */
enum EChromaComp {
CHROMA_CB = 0,
CHROMA_CR = 1,
CHROMA_A = 2
};
/*
* Memory Management Control Operation (MMCO) code
*/
enum EMmcoCode {
MMCO_END = 0,
MMCO_SHORT2UNUSED = 1,
MMCO_LONG2UNUSED = 2,
MMCO_SHORT2LONG = 3,
MMCO_SET_MAX_LONG = 4,
MMCO_RESET = 5,
MMCO_LONG = 6
};
/////////intra16x16 Luma
#define I16_PRED_INVALID -1
#define I16_PRED_V 0
#define I16_PRED_H 1
#define I16_PRED_DC 2
#define I16_PRED_P 3
#define I16_PRED_DC_L 4
#define I16_PRED_DC_T 5
#define I16_PRED_DC_128 6
#define I16_PRED_DC_A 7
//////////intra4x4 Luma
#define I4_PRED_INVALID 0
#define I4_PRED_V 0
#define I4_PRED_H 1
#define I4_PRED_DC 2
#define I4_PRED_DDL 3 //diagonal_down_left
#define I4_PRED_DDR 4 //diagonal_down_right
#define I4_PRED_VR 5 //vertical_right
#define I4_PRED_HD 6 //horizon_down
#define I4_PRED_VL 7 //vertical_left
#define I4_PRED_HU 8 //horizon_up
#define I4_PRED_DC_L 9
#define I4_PRED_DC_T 10
#define I4_PRED_DC_128 11
#define I4_PRED_DDL_TOP 12 //right-top replacing by padding rightmost pixel of top
#define I4_PRED_VL_TOP 13 //right-top replacing by padding rightmost pixel of top
#define I4_PRED_A 14
//////////intra Chroma
#define C_PRED_INVALID -1
#define C_PRED_DC 0
#define C_PRED_H 1
#define C_PRED_V 2
#define C_PRED_P 3
#define C_PRED_DC_L 4
#define C_PRED_DC_T 5
#define C_PRED_DC_128 6
#define C_PRED_A 7
}
#endif//WELS_COMMON_DEFS_H__

View File

@@ -39,7 +39,7 @@
*/ */
#ifdef LINUX #ifdef __linux__
#ifndef _GNU_SOURCE #ifndef _GNU_SOURCE
#define _GNU_SOURCE #define _GNU_SOURCE
#endif #endif
@@ -450,7 +450,7 @@ WELS_THREAD_ERROR_CODE WelsQueryLogicalProcessInfo (WelsLogicalProcessInfo* p
#ifdef ANDROID_NDK #ifdef ANDROID_NDK
pInfo->ProcessorCount = android_getCpuCount(); pInfo->ProcessorCount = android_getCpuCount();
return WELS_THREAD_ERROR_OK; return WELS_THREAD_ERROR_OK;
#elif defined(LINUX) #elif defined(__linux__)
cpu_set_t cpuset; cpu_set_t cpuset;
@@ -472,7 +472,7 @@ WELS_THREAD_ERROR_CODE WelsQueryLogicalProcessInfo (WelsLogicalProcessInfo* p
return WELS_THREAD_ERROR_OK; return WELS_THREAD_ERROR_OK;
#endif//LINUX #endif//__linux__
} }
#endif #endif

View File

@@ -0,0 +1,153 @@
/*!
* \copy
* Copyright (c) 2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "wels_common_defs.h"
namespace WelsCommon {
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////pNonZeroCount[16+8] mapping scan index
const uint8_t g_kuiMbCountScan4Idx[24] = {
// 0 1 | 4 5 luma 8*8 block pNonZeroCount[16+8]
0, 1, 4, 5, // 2 3 | 6 7 0 | 1 0 1 2 3
2, 3, 6, 7, //--------------- --------- 4 5 6 7
8, 9, 12, 13, // 8 9 | 12 13 2 | 3 8 9 10 11
10, 11, 14, 15, // 10 11 | 14 15-----------------------------> 12 13 14 15
16, 17, 20, 21, //---------------- chroma 8*8 block 16 17 18 19
18, 19, 22, 23 // 16 17 | 20 21 0 1 20 21 22 23
};
const uint8_t g_kuiCache48CountScan4Idx[24] = {
/* Luma */
9, 10, 17, 18, // 1+1*8, 2+1*8, 1+2*8, 2+2*8,
11, 12, 19, 20, // 3+1*8, 4+1*8, 3+2*8, 4+2*8,
25, 26, 33, 34, // 1+3*8, 2+3*8, 1+4*8, 2+4*8,
27, 28, 35, 36, // 3+3*8, 4+3*8, 3+4*8, 4+4*8,
/* Cb */
14, 15, // 6+1*8, 7+1*8,
22, 23, // 6+2*8, 7+2*8,
/* Cr */
38, 39, // 6+4*8, 7+4*8,
46, 47, // 6+5*8, 7+5*8,
};
//cache element equal to 30
const uint8_t g_kuiCache30ScanIdx[16] = { //mv or uiRefIndex cache scan index, 4*4 block as basic unit
7, 8, 13, 14,
9, 10, 15, 16,
19, 20, 25, 26,
21, 22, 27, 28
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// extern at wels_common_defs.h
const uint8_t g_kuiChromaQpTable[52] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 36, 37, 37,
37, 38, 38, 38, 39, 39, 39, 39
};
/*
* vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
*/
const EVclType g_keTypeMap[32][2] = {
{ NON_VCL, NON_VCL }, // 0: NAL_UNIT_UNSPEC_0
{ VCL, VCL, }, // 1: NAL_UNIT_CODED_SLICE
{ VCL, NOT_APP }, // 2: NAL_UNIT_CODED_SLICE_DPA
{ VCL, NOT_APP }, // 3: NAL_UNIT_CODED_SLICE_DPB
{ VCL, NOT_APP }, // 4: NAL_UNIT_CODED_SLICE_DPC
{ VCL, VCL }, // 5: NAL_UNIT_CODED_SLICE_IDR
{ NON_VCL, NON_VCL }, // 6: NAL_UNIT_SEI
{ NON_VCL, NON_VCL }, // 7: NAL_UNIT_SPS
{ NON_VCL, NON_VCL }, // 8: NAL_UNIT_PPS
{ NON_VCL, NON_VCL }, // 9: NAL_UNIT_AU_DELIMITER
{ NON_VCL, NON_VCL }, // 10: NAL_UNIT_END_OF_SEQ
{ NON_VCL, NON_VCL }, // 11: NAL_UNIT_END_OF_STR
{ NON_VCL, NON_VCL }, // 12: NAL_UNIT_FILLER_DATA
{ NON_VCL, NON_VCL }, // 13: NAL_UNIT_SPS_EXT
{ NON_VCL, NON_VCL }, // 14: NAL_UNIT_PREFIX, NEED associate succeeded NAL to make a VCL
{ NON_VCL, NON_VCL }, // 15: NAL_UNIT_SUBSET_SPS
{ NON_VCL, NON_VCL }, // 16: NAL_UNIT_RESV_16
{ NON_VCL, NON_VCL }, // 17: NAL_UNIT_RESV_17
{ NON_VCL, NON_VCL }, // 18: NAL_UNIT_RESV_18
{ NON_VCL, NON_VCL }, // 19: NAL_UNIT_AUX_CODED_SLICE
{ NON_VCL, VCL }, // 20: NAL_UNIT_CODED_SLICE_EXT
{ NON_VCL, NON_VCL }, // 21: NAL_UNIT_RESV_21
{ NON_VCL, NON_VCL }, // 22: NAL_UNIT_RESV_22
{ NON_VCL, NON_VCL }, // 23: NAL_UNIT_RESV_23
{ NON_VCL, NON_VCL }, // 24: NAL_UNIT_UNSPEC_24
{ NON_VCL, NON_VCL }, // 25: NAL_UNIT_UNSPEC_25
{ NON_VCL, NON_VCL }, // 26: NAL_UNIT_UNSPEC_26
{ NON_VCL, NON_VCL }, // 27: NAL_UNIT_UNSPEC_27
{ NON_VCL, NON_VCL }, // 28: NAL_UNIT_UNSPEC_28
{ NON_VCL, NON_VCL }, // 29: NAL_UNIT_UNSPEC_29
{ NON_VCL, NON_VCL }, // 30: NAL_UNIT_UNSPEC_30
{ NON_VCL, NON_VCL } // 31: NAL_UNIT_UNSPEC_31
};
ALIGNED_DECLARE (const uint16_t, g_kuiDequantCoeff[52][8], 16) = {
/* 0*/{ 10, 13, 10, 13, 13, 16, 13, 16 }, /* 1*/{ 11, 14, 11, 14, 14, 18, 14, 18 },
/* 2*/{ 13, 16, 13, 16, 16, 20, 16, 20 }, /* 3*/{ 14, 18, 14, 18, 18, 23, 18, 23 },
/* 4*/{ 16, 20, 16, 20, 20, 25, 20, 25 }, /* 5*/{ 18, 23, 18, 23, 23, 29, 23, 29 },
/* 6*/{ 20, 26, 20, 26, 26, 32, 26, 32 }, /* 7*/{ 22, 28, 22, 28, 28, 36, 28, 36 },
/* 8*/{ 26, 32, 26, 32, 32, 40, 32, 40 }, /* 9*/{ 28, 36, 28, 36, 36, 46, 36, 46 },
/*10*/{ 32, 40, 32, 40, 40, 50, 40, 50 }, /*11*/{ 36, 46, 36, 46, 46, 58, 46, 58 },
/*12*/{ 40, 52, 40, 52, 52, 64, 52, 64 }, /*13*/{ 44, 56, 44, 56, 56, 72, 56, 72 },
/*14*/{ 52, 64, 52, 64, 64, 80, 64, 80 }, /*15*/{ 56, 72, 56, 72, 72, 92, 72, 92 },
/*16*/{ 64, 80, 64, 80, 80, 100, 80, 100 }, /*17*/{ 72, 92, 72, 92, 92, 116, 92, 116 },
/*18*/{ 80, 104, 80, 104, 104, 128, 104, 128 }, /*19*/{ 88, 112, 88, 112, 112, 144, 112, 144 },
/*20*/{ 104, 128, 104, 128, 128, 160, 128, 160 }, /*21*/{ 112, 144, 112, 144, 144, 184, 144, 184 },
/*22*/{ 128, 160, 128, 160, 160, 200, 160, 200 }, /*23*/{ 144, 184, 144, 184, 184, 232, 184, 232 },
/*24*/{ 160, 208, 160, 208, 208, 256, 208, 256 }, /*25*/{ 176, 224, 176, 224, 224, 288, 224, 288 },
/*26*/{ 208, 256, 208, 256, 256, 320, 256, 320 }, /*27*/{ 224, 288, 224, 288, 288, 368, 288, 368 },
/*28*/{ 256, 320, 256, 320, 320, 400, 320, 400 }, /*29*/{ 288, 368, 288, 368, 368, 464, 368, 464 },
/*30*/{ 320, 416, 320, 416, 416, 512, 416, 512 }, /*31*/{ 352, 448, 352, 448, 448, 576, 448, 576 },
/*32*/{ 416, 512, 416, 512, 512, 640, 512, 640 }, /*33*/{ 448, 576, 448, 576, 576, 736, 576, 736 },
/*34*/{ 512, 640, 512, 640, 640, 800, 640, 800 }, /*35*/{ 576, 736, 576, 736, 736, 928, 736, 928 },
/*36*/{ 640, 832, 640, 832, 832, 1024, 832, 1024 }, /*37*/{ 704, 896, 704, 896, 896, 1152, 896, 1152 },
/*38*/{ 832, 1024, 832, 1024, 1024, 1280, 1024, 1280 }, /*39*/{ 896, 1152, 896, 1152, 1152, 1472, 1152, 1472 },
/*40*/{ 1024, 1280, 1024, 1280, 1280, 1600, 1280, 1600 }, /*41*/{ 1152, 1472, 1152, 1472, 1472, 1856, 1472, 1856 },
/*42*/{ 1280, 1664, 1280, 1664, 1664, 2048, 1664, 2048 }, /*43*/{ 1408, 1792, 1408, 1792, 1792, 2304, 1792, 2304 },
/*44*/{ 1664, 2048, 1664, 2048, 2048, 2560, 2048, 2560 }, /*45*/{ 1792, 2304, 1792, 2304, 2304, 2944, 2304, 2944 },
/*46*/{ 2048, 2560, 2048, 2560, 2560, 3200, 2560, 3200 }, /*47*/{ 2304, 2944, 2304, 2944, 2944, 3712, 2944, 3712 },
/*48*/{ 2560, 3328, 2560, 3328, 3328, 4096, 3328, 4096 }, /*49*/{ 2816, 3584, 2816, 3584, 3584, 4608, 3584, 4608 },
/*50*/{ 3328, 4096, 3328, 4096, 4096, 5120, 4096, 5120 }, /*51*/{ 3584, 4608, 3584, 4608, 4608, 5888, 4608, 5888 },
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}

View File

@@ -258,9 +258,10 @@ uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
int flags = 0; int flags = 0;
while (fgets (buf, sizeof (buf), f)) { while (fgets (buf, sizeof (buf), f)) {
if (!strncmp (buf, "Features", strlen ("Features"))) { if (!strncmp (buf, "Features", strlen ("Features"))) {
if (strstr (buf, " neon ")) // The asimd and fp features are listed on 64 bit ARMv8 kernels
if (strstr (buf, " neon ") || strstr (buf, " asimd "))
flags |= WELS_CPU_NEON; flags |= WELS_CPU_NEON;
if (strstr (buf, " vfpv3 ")) if (strstr (buf, " vfpv3 ") || strstr (buf, " fp "))
flags |= WELS_CPU_VFPv3; flags |= WELS_CPU_VFPv3;
break; break;
} }
@@ -280,7 +281,19 @@ uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
WELS_CPU_NEON; WELS_CPU_NEON;
} }
#endif #endif
#else /* Neither X86_ASM nor HAVE_NEON */ #elif defined(HAVE_NEON_AARCH64)
/* For AArch64, no runtime detection actually is necessary for now, since
* NEON and VFPv3 is mandatory on all such CPUs. (/proc/cpuinfo doesn't
* contain neon, and the android cpufeatures library doesn't return it
* either.) */
uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
return WELS_CPU_VFPv3 |
WELS_CPU_NEON;
}
#else /* Neither X86_ASM, HAVE_NEON nor HAVE_NEON_AARCH64 */
uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) { uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
return 0; return 0;

View File

@@ -112,7 +112,7 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
localtime_s (&sTimeNow, &kpTp->time); localtime_s (&sTimeNow, &kpTp->time);
iRc = strftime (pBuffer, iSize, kpFormat, &sTimeNow); iRc = (int32_t)strftime (pBuffer, iSize, kpFormat, &sTimeNow);
if (iRc == 0) if (iRc == 0)
pBuffer[0] = '\0'; pBuffer[0] = '\0';
return iRc; return iRc;
@@ -234,7 +234,7 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
pTnow = localtime (&kpTp->time); pTnow = localtime (&kpTp->time);
iRc = strftime (pBuffer, iSize, kpFormat, pTnow); iRc = (int32_t) strftime (pBuffer, iSize, kpFormat, pTnow);
if (iRc == 0) if (iRc == 0)
pBuffer[0] = '\0'; pBuffer[0] = '\0';
return iRc; return iRc;
@@ -244,12 +244,12 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
char* WelsStrcat (char* pDest, int32_t iSizeInBytes, const char* kpSrc) { char* WelsStrcat (char* pDest, int32_t iSizeInBytes, const char* kpSrc) {
int32_t iCurLen = strlen (pDest); int32_t iCurLen = (int32_t)strlen (pDest);
return WelsStrncpy (pDest + iCurLen, iSizeInBytes - iCurLen, kpSrc); return WelsStrncpy (pDest + iCurLen, iSizeInBytes - iCurLen, kpSrc);
} }
int32_t WelsFwrite (const void* kpBuffer, int32_t iSize, int32_t iCount, WelsFileHandle* pFp) { int32_t WelsFwrite (const void* kpBuffer, int32_t iSize, int32_t iCount, WelsFileHandle* pFp) {
return fwrite (kpBuffer, iSize, iCount, pFp); return (int32_t)fwrite (kpBuffer, iSize, iCount, pFp);
} }
uint16_t WelsGetMillisecond (const SWelsTime* kpTp) { uint16_t WelsGetMillisecond (const SWelsTime* kpTp) {

View File

@@ -32,9 +32,7 @@
#include <string.h> #include <string.h>
#include "expand_pic.h" #include "expand_pic.h"
#include "cpu_core.h" #include "cpu_core.h"
#include "wels_func_ptr_def.h"
namespace WelsSVCEnc {
// rewrite it (split into luma & chroma) that is helpful for mmx/sse2 optimization perform, 9/27/2009 // rewrite it (split into luma & chroma) that is helpful for mmx/sse2 optimization perform, 9/27/2009
static inline void ExpandPictureLuma_c (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW, static inline void ExpandPictureLuma_c (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW,
const int32_t kiPicH) { const int32_t kiPicH) {
@@ -116,60 +114,61 @@ static inline void ExpandPictureChroma_c (uint8_t* pDst, const int32_t kiStride,
} while (i < kiPicH); } while (i < kiPicH);
} }
void InitExpandPictureFunc (void* pL, const uint32_t kuiCPUFlag) { void InitExpandPictureFunc (SExpandPicFunc* pExpandPicFunc, const uint32_t kuiCPUFlag) {
SWelsFuncPtrList* pFuncList = (SWelsFuncPtrList*)pL; pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_c;
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_c; pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_c;
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChroma_c; pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_c;
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChroma_c;
#if defined(X86_ASM) #if defined(X86_ASM)
if ((kuiCPUFlag & WELS_CPU_SSE2) == WELS_CPU_SSE2) { if ((kuiCPUFlag & WELS_CPU_SSE2) == WELS_CPU_SSE2) {
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_sse2; pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_sse2;
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChromaUnalign_sse2; pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChromaUnalign_sse2;
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChromaAlign_sse2; pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChromaAlign_sse2;
} }
#endif//X86_ASM #endif//X86_ASM
#if defined(HAVE_NEON) #if defined(HAVE_NEON)
if (kuiCPUFlag & WELS_CPU_NEON) { if (kuiCPUFlag & WELS_CPU_NEON) {
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_neon; pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_neon;
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChroma_neon; pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_neon;
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChroma_neon; pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_neon;
} }
#endif//HAVE_NEON #endif//HAVE_NEON
#if defined(HAVE_NEON_AARCH64) #if defined(HAVE_NEON_AARCH64)
if (kuiCPUFlag & WELS_CPU_NEON) { if (kuiCPUFlag & WELS_CPU_NEON) {
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_AArch64_neon; pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_AArch64_neon;
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChroma_AArch64_neon; pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_AArch64_neon;
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChroma_AArch64_neon; pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_AArch64_neon;
} }
#endif//HAVE_NEON_AARCH64 #endif//HAVE_NEON_AARCH64
} }
void ExpandReferencingPicture (SPicture* pPic, PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]) { //void ExpandReferencingPicture (SPicture* pPic, PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]) {
void ExpandReferencingPicture (uint8_t* pData[3], int32_t iWidth, int32_t iHeight, int32_t iStride[3],
PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]) {
/*local variable*/ /*local variable*/
uint8_t* pPicY = pPic->pData[0]; uint8_t* pPicY = pData[0];
uint8_t* pPicCb = pPic->pData[1]; uint8_t* pPicCb = pData[1];
uint8_t* pPicCr = pPic->pData[2]; uint8_t* pPicCr = pData[2];
const int32_t kiWidthY = pPic->iWidthInPixel; const int32_t kiWidthY = iWidth;
const int32_t kiHeightY = pPic->iHeightInPixel; const int32_t kiHeightY = iHeight;
const int32_t kiWidthUV = kiWidthY >> 1; const int32_t kiWidthUV = kiWidthY >> 1;
const int32_t kiHeightUV = kiHeightY >> 1; const int32_t kiHeightUV = kiHeightY >> 1;
pExpLuma (pPicY, pPic->iLineSize[0], kiWidthY, kiHeightY); pExpLuma (pPicY, iStride[0], kiWidthY, kiHeightY);
if (kiWidthUV >= 16) { if (kiWidthUV >= 16) {
// fix coding picture size as 16x16 // fix coding picture size as 16x16
const bool kbChrAligned = /*(iWidthUV >= 16) && */ ((kiWidthUV & 0x0F) == 0); // chroma planes: (16+iWidthUV) & 15 const bool kbChrAligned = /*(iWidthUV >= 16) && */ ((kiWidthUV & 0x0F) == 0); // chroma planes: (16+iWidthUV) & 15
pExpChrom[kbChrAligned] (pPicCb, pPic->iLineSize[1], kiWidthUV, kiHeightUV); pExpChrom[kbChrAligned] (pPicCb, iStride[1], kiWidthUV, kiHeightUV);
pExpChrom[kbChrAligned] (pPicCr, pPic->iLineSize[2], kiWidthUV, kiHeightUV); pExpChrom[kbChrAligned] (pPicCr, iStride[2], kiWidthUV, kiHeightUV);
} else { } else {
// fix coding picture size as 16x16 // fix coding picture size as 16x16
ExpandPictureChroma_c (pPicCb, pPic->iLineSize[1], kiWidthUV, kiHeightUV); ExpandPictureChroma_c (pPicCb, iStride[1], kiWidthUV, kiHeightUV);
ExpandPictureChroma_c (pPicCr, pPic->iLineSize[2], kiWidthUV, kiHeightUV); ExpandPictureChroma_c (pPicCr, iStride[2], kiWidthUV, kiHeightUV);
} }
}
} }

107
codec/common/src/utils.cpp Normal file
View File

@@ -0,0 +1,107 @@
/*!
* \copy
* Copyright (c) 2009-2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*
* \file utils.c
*
* \brief common tool/function utilization
*
* \date 03/10/2009 Created
*
*************************************************************************************
*/
#include "utils.h"
#include "crt_util_safe_x.h" // Safe CRT routines like utils for cross platforms
float WelsCalcPsnr (const void* kpTarPic,
const int32_t kiTarStride,
const void* kpRefPic,
const int32_t kiRefStride,
const int32_t kiWidth,
const int32_t kiHeight);
void WelsLog (SLogContext* logCtx, int32_t iLevel, const char* kpFmt, ...) {
va_list vl;
va_start (vl, kpFmt);
logCtx->pfLog (logCtx->pLogCtx, iLevel, kpFmt, vl);
va_end (vl);
}
#ifndef CALC_PSNR
#define CONST_FACTOR_PSNR (10.0 / log(10.0)) // for good computation
#define CALC_PSNR(w, h, s) ((float)(CONST_FACTOR_PSNR * log( 65025.0 * w * h / iSqe )))
#endif//CALC_PSNR
/*
* PSNR calculation routines
*/
/*!
*************************************************************************************
* \brief PSNR calculation utilization in Wels
*
* \param pTarPic target picture to be calculated in Picture pData format
* \param iTarStride stride of target picture pData pBuffer
* \param pRefPic base referencing picture samples
* \param iRefStride stride of reference picture pData pBuffer
* \param iWidth picture iWidth in pixel
* \param iHeight picture iHeight in pixel
*
* \return actual PSNR result;
*
* \note N/A
*************************************************************************************
*/
float WelsCalcPsnr (const void* kpTarPic,
const int32_t kiTarStride,
const void* kpRefPic,
const int32_t kiRefStride,
const int32_t kiWidth,
const int32_t kiHeight) {
int64_t iSqe = 0;
int32_t x, y;
uint8_t* pTar = (uint8_t*)kpTarPic;
uint8_t* pRef = (uint8_t*)kpRefPic;
if (NULL == pTar || NULL == pRef)
return (-1.0f);
for (y = 0; y < kiHeight; ++ y) { // OPTable !!
for (x = 0; x < kiWidth; ++ x) {
const int32_t kiT = pTar[y * kiTarStride + x] - pRef[y * kiRefStride + x];
iSqe += kiT * kiT;
}
}
if (0 == iSqe) {
return (99.99f);
}
return CALC_PSNR (kiWidth, kiHeight, iSqe);
}

View File

@@ -1,7 +1,6 @@
/*! /*!
* \copy * \copy
* Copyright (c) 2013, Cisco Systems * Copyright (c) 2013, Cisco Systems
* Copyright (c) 2013, Mozilla
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -31,19 +30,68 @@
* *
*/ */
#include <stdarg.h> #ifdef _WIN32
#include <windows.h>
#include <tchar.h>
#endif
#include <stdio.h> #include <stdio.h>
#include "typedefs.h" #include <stdarg.h>
#include <string.h>
static int32_t g_TraceLevel = 0; #include "crt_util_safe_x.h" // Safe CRT routines like utils for cross platforms
void WelsStderrSetTraceLevel (int32_t level) { #include "welsCodecTrace.h"
g_TraceLevel = level; #include "utils.h"
static void welsStderrTrace (void* ctx, int level, const char* string) {
fprintf (stderr, "%s", string);
} }
int32_t welsStderrLevelTrace (int32_t level, const char* format, va_list ap) { welsCodecTrace::welsCodecTrace() {
if (level < g_TraceLevel) {
vfprintf (stderr, format, ap); m_iTraceLevel = WELS_LOG_DEFAULT;
m_fpTrace = welsStderrTrace;
m_pTraceCtx = NULL;
m_sLogCtx.pLogCtx = this;
m_sLogCtx.pfLog = StaticCodecTrace;
}
welsCodecTrace::~welsCodecTrace() {
m_fpTrace = NULL;
}
#define MAX_LOG_SIZE 1024
void welsCodecTrace::StaticCodecTrace (void* pCtx, const int32_t iLevel, const char* Str_Format, va_list vl) {
welsCodecTrace* self = (welsCodecTrace*) pCtx;
self->CodecTrace (iLevel, Str_Format, vl);
}
void welsCodecTrace::CodecTrace (const int32_t iLevel, const char* Str_Format, va_list vl) {
if (m_iTraceLevel < iLevel) {
return;
} }
return 0;
char pBuf[MAX_LOG_SIZE] = {0};
WelsVsnprintf (pBuf, MAX_LOG_SIZE, Str_Format, vl); // confirmed_safe_unsafe_usage
m_fpTrace (m_pTraceCtx, iLevel, pBuf);
} }
void welsCodecTrace::SetTraceLevel (const int32_t iLevel) {
if (iLevel >= 0)
m_iTraceLevel = iLevel;
}
void welsCodecTrace::SetTraceCallback (WelsTraceCallback func) {
m_fpTrace = func;
}
void welsCodecTrace::SetTraceCallbackContext (void* ctx) {
m_pTraceCtx = ctx;
}

View File

@@ -1,11 +1,14 @@
COMMON_SRCDIR=codec/common COMMON_SRCDIR=codec/common
COMMON_CPP_SRCS=\ COMMON_CPP_SRCS=\
$(COMMON_SRCDIR)/src/common_tables.cpp\
$(COMMON_SRCDIR)/src/copy_mb.cpp\ $(COMMON_SRCDIR)/src/copy_mb.cpp\
$(COMMON_SRCDIR)/src/cpu.cpp\ $(COMMON_SRCDIR)/src/cpu.cpp\
$(COMMON_SRCDIR)/src/crt_util_safe_x.cpp\ $(COMMON_SRCDIR)/src/crt_util_safe_x.cpp\
$(COMMON_SRCDIR)/src/deblocking_common.cpp\ $(COMMON_SRCDIR)/src/deblocking_common.cpp\
$(COMMON_SRCDIR)/src/logging.cpp\ $(COMMON_SRCDIR)/src/expand_pic.cpp\
$(COMMON_SRCDIR)/src/sad_common.cpp\ $(COMMON_SRCDIR)/src/sad_common.cpp\
$(COMMON_SRCDIR)/src/utils.cpp\
$(COMMON_SRCDIR)/src/welsCodecTrace.cpp\
$(COMMON_SRCDIR)/src/WelsThreadLib.cpp\ $(COMMON_SRCDIR)/src/WelsThreadLib.cpp\
COMMON_OBJS += $(COMMON_CPP_SRCS:.cpp=.$(OBJ)) COMMON_OBJS += $(COMMON_CPP_SRCS:.cpp=.$(OBJ))
@@ -36,6 +39,8 @@ endif
ifeq ($(ASM_ARCH), arm64) ifeq ($(ASM_ARCH), arm64)
COMMON_ASM_ARM64_SRCS=\ COMMON_ASM_ARM64_SRCS=\
$(COMMON_SRCDIR)/arm64/copy_mb_aarch64_neon.S\
$(COMMON_SRCDIR)/arm64/deblocking_aarch64_neon.S\
$(COMMON_SRCDIR)/arm64/expand_picture_aarch64_neon.S\ $(COMMON_SRCDIR)/arm64/expand_picture_aarch64_neon.S\
$(COMMON_SRCDIR)/arm64/mc_aarch64_neon.S\ $(COMMON_SRCDIR)/arm64/mc_aarch64_neon.S\
@@ -50,7 +55,7 @@ $(COMMON_SRCDIR)/%.$(OBJ): $(COMMON_SRCDIR)/%.asm
$(QUIET_ASM)$(ASM) $(ASMFLAGS) $(ASM_INCLUDES) $(COMMON_ASMFLAGS) $(COMMON_ASM_INCLUDES) -o $@ $< $(QUIET_ASM)$(ASM) $(ASMFLAGS) $(ASM_INCLUDES) $(COMMON_ASMFLAGS) $(COMMON_ASM_INCLUDES) -o $@ $<
$(COMMON_SRCDIR)/%.$(OBJ): $(COMMON_SRCDIR)/%.S $(COMMON_SRCDIR)/%.$(OBJ): $(COMMON_SRCDIR)/%.S
$(QUIET_CCAS)$(CCAS) $(CFLAGS) $(ASMFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c -o $@ $< $(QUIET_CCAS)$(CCAS) $(CCASFLAGS) $(ASMFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c -o $@ $<
$(LIBPREFIX)common.$(LIBSUFFIX): $(COMMON_OBJS) $(LIBPREFIX)common.$(LIBSUFFIX): $(COMMON_OBJS)
$(QUIET)rm -f $@ $(QUIET)rm -f $@

View File

@@ -44,15 +44,15 @@
;*********************************************************************** ;***********************************************************************
%if 1 %if 1
%define MOVDQ movdqa %define MOVDQ movdqa
%else %else
%define MOVDQ movdqu %define MOVDQ movdqu
%endif %endif
%if 1 %if 1
%define WELSEMMS emms %define WELSEMMS emms
%else %else
%define WELSEMMS %define WELSEMMS
%endif %endif
@@ -220,7 +220,7 @@ BITS 32
%macro LOAD_1_PARA 0 %macro LOAD_1_PARA 0
%ifdef X86_32 %ifdef X86_32
mov r0, [esp + push_num*4 + 4] mov r0, [esp + push_num*4 + 4]
%endif %endif
%endmacro %endmacro
@@ -234,8 +234,8 @@ BITS 32
%macro LOAD_3_PARA 0 %macro LOAD_3_PARA 0
%ifdef X86_32 %ifdef X86_32
mov r0, [esp + push_num*4 + 4] mov r0, [esp + push_num*4 + 4]
mov r1, [esp + push_num*4 + 8] mov r1, [esp + push_num*4 + 8]
mov r2, [esp + push_num*4 + 12] mov r2, [esp + push_num*4 + 12]
%endif %endif
%endmacro %endmacro
@@ -267,7 +267,7 @@ BITS 32
%macro LOAD_6_PARA 0 %macro LOAD_6_PARA 0
%ifdef X86_32 %ifdef X86_32
push r3 push r3
push r4 push r4
push r5 push r5
%assign push_num push_num+3 %assign push_num push_num+3
@@ -310,22 +310,22 @@ BITS 32
%macro LOAD_4_PARA_POP 0 %macro LOAD_4_PARA_POP 0
%ifdef X86_32 %ifdef X86_32
pop r3 pop r3
%endif %endif
%endmacro %endmacro
%macro LOAD_5_PARA_POP 0 %macro LOAD_5_PARA_POP 0
%ifdef X86_32 %ifdef X86_32
pop r4 pop r4
pop r3 pop r3
%endif %endif
%endmacro %endmacro
%macro LOAD_6_PARA_POP 0 %macro LOAD_6_PARA_POP 0
%ifdef X86_32 %ifdef X86_32
pop r5 pop r5
pop r4 pop r4
pop r3 pop r3
%endif %endif
%endmacro %endmacro
@@ -416,13 +416,13 @@ BITS 32
%macro SIGN_EXTENSION 2 %macro SIGN_EXTENSION 2
%ifndef X86_32 %ifndef X86_32
movsxd %1, %2 movsxd %1, %2
%endif %endif
%endmacro %endmacro
%macro SIGN_EXTENSIONW 2 %macro SIGN_EXTENSIONW 2
%ifndef X86_32 %ifndef X86_32
movsx %1, %2 movsx %1, %2
%endif %endif
%endmacro %endmacro
@@ -438,13 +438,13 @@ BITS 32
%endmacro %endmacro
%macro WELS_AbsW 2 %macro WELS_AbsW 2
pxor %2, %2 pxor %2, %2
psubw %2, %1 psubw %2, %1
pmaxsw %1, %2 pmaxsw %1, %2
%endmacro %endmacro
%macro MMX_XSwap 4 %macro MMX_XSwap 4
movq %4, %2 movq %4, %2
punpckh%1 %4, %3 punpckh%1 %4, %3
punpckl%1 %2, %3 punpckl%1 %2, %3
%endmacro %endmacro
@@ -485,35 +485,35 @@ BITS 32
;in: m1, m2, m3, m4, m5, m6, m7, m8 ;in: m1, m2, m3, m4, m5, m6, m7, m8
;pOut: m5, m3, m4, m8, m6, m2, m7, m1 ;pOut: m5, m3, m4, m8, m6, m2, m7, m1
%macro SSE2_TransTwo8x8B 9 %macro SSE2_TransTwo8x8B 9
movdqa %9, %8 movdqa %9, %8
SSE2_XSawp bw, %1, %2, %8 SSE2_XSawp bw, %1, %2, %8
SSE2_XSawp bw, %3, %4, %2 SSE2_XSawp bw, %3, %4, %2
SSE2_XSawp bw, %5, %6, %4 SSE2_XSawp bw, %5, %6, %4
movdqa %6, %9 movdqa %6, %9
movdqa %9, %4 movdqa %9, %4
SSE2_XSawp bw, %7, %6, %4 SSE2_XSawp bw, %7, %6, %4
SSE2_XSawp wd, %1, %3, %6 SSE2_XSawp wd, %1, %3, %6
SSE2_XSawp wd, %8, %2, %3 SSE2_XSawp wd, %8, %2, %3
SSE2_XSawp wd, %5, %7, %2 SSE2_XSawp wd, %5, %7, %2
movdqa %7, %9 movdqa %7, %9
movdqa %9, %3 movdqa %9, %3
SSE2_XSawp wd, %7, %4, %3 SSE2_XSawp wd, %7, %4, %3
SSE2_XSawp dq, %1, %5, %4 SSE2_XSawp dq, %1, %5, %4
SSE2_XSawp dq, %6, %2, %5 SSE2_XSawp dq, %6, %2, %5
SSE2_XSawp dq, %8, %7, %2 SSE2_XSawp dq, %8, %7, %2
movdqa %7, %9 movdqa %7, %9
movdqa %9, %5 movdqa %9, %5
SSE2_XSawp dq, %7, %3, %5 SSE2_XSawp dq, %7, %3, %5
SSE2_XSawp qdq, %1, %8, %3 SSE2_XSawp qdq, %1, %8, %3
SSE2_XSawp qdq, %4, %2, %8 SSE2_XSawp qdq, %4, %2, %8
SSE2_XSawp qdq, %6, %7, %2 SSE2_XSawp qdq, %6, %7, %2
movdqa %7, %9 movdqa %7, %9
movdqa %9, %1 movdqa %9, %1
SSE2_XSawp qdq, %7, %5, %1 SSE2_XSawp qdq, %7, %5, %1
movdqa %5, %9 movdqa %5, %9
%endmacro %endmacro
;xmm0, xmm6, xmm7, [eax], [ecx] ;xmm0, xmm6, xmm7, [eax], [ecx]
@@ -528,32 +528,32 @@ BITS 32
; m2 = m1 + m2, m1 = m1 - m2 ; m2 = m1 + m2, m1 = m1 - m2
%macro SSE2_SumSub 3 %macro SSE2_SumSub 3
movdqa %3, %2 movdqa %3, %2
paddw %2, %1 paddw %2, %1
psubw %1, %3 psubw %1, %3
%endmacro %endmacro
%macro butterfly_1to16_sse 3 ; xmm? for dst, xmm? for tmp, one byte for pSrc [generic register name: a/b/c/d] %macro butterfly_1to16_sse 3 ; xmm? for dst, xmm? for tmp, one byte for pSrc [generic register name: a/b/c/d]
mov %3h, %3l mov %3h, %3l
movd %1, e%3x ; i.e, 1% = eax (=b0) movd %1, e%3x ; i.e, 1% = eax (=b0)
pshuflw %2, %1, 00h ; ..., b0 b0 b0 b0 b0 b0 b0 b0 pshuflw %2, %1, 00h ; ..., b0 b0 b0 b0 b0 b0 b0 b0
pshufd %1, %2, 00h ; b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0 pshufd %1, %2, 00h ; b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0
%endmacro %endmacro
;copy a dw into a xmm for 8 times ;copy a dw into a xmm for 8 times
%macro SSE2_Copy8Times 2 %macro SSE2_Copy8Times 2
movd %1, %2 movd %1, %2
punpcklwd %1, %1 punpcklwd %1, %1
pshufd %1, %1, 0 pshufd %1, %1, 0
%endmacro %endmacro
;copy a db into a xmm for 16 times ;copy a db into a xmm for 16 times
%macro SSE2_Copy16Times 2 %macro SSE2_Copy16Times 2
movd %1, %2 movd %1, %2
pshuflw %1, %1, 0 pshuflw %1, %1, 0
punpcklqdq %1, %1 punpcklqdq %1, %1
packuswb %1, %1 packuswb %1, %1
%endmacro %endmacro
@@ -564,35 +564,35 @@ BITS 32
;dw 32,32,32,32,32,32,32,32 for xmm ;dw 32,32,32,32,32,32,32,32 for xmm
;dw 32,32,32,32 for mm ;dw 32,32,32,32 for mm
%macro WELS_DW32 1 %macro WELS_DW32 1
pcmpeqw %1,%1 pcmpeqw %1,%1
psrlw %1,15 psrlw %1,15
psllw %1,5 psllw %1,5
%endmacro %endmacro
;dw 1, 1, 1, 1, 1, 1, 1, 1 for xmm ;dw 1, 1, 1, 1, 1, 1, 1, 1 for xmm
;dw 1, 1, 1, 1 for mm ;dw 1, 1, 1, 1 for mm
%macro WELS_DW1 1 %macro WELS_DW1 1
pcmpeqw %1,%1 pcmpeqw %1,%1
psrlw %1,15 psrlw %1,15
%endmacro %endmacro
;all 0 for xmm and mm ;all 0 for xmm and mm
%macro WELS_Zero 1 %macro WELS_Zero 1
pxor %1, %1 pxor %1, %1
%endmacro %endmacro
;dd 1, 1, 1, 1 for xmm ;dd 1, 1, 1, 1 for xmm
;dd 1, 1 for mm ;dd 1, 1 for mm
%macro WELS_DD1 1 %macro WELS_DD1 1
pcmpeqw %1,%1 pcmpeqw %1,%1
psrld %1,31 psrld %1,31
%endmacro %endmacro
;dB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;dB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
%macro WELS_DB1 1 %macro WELS_DB1 1
pcmpeqw %1,%1 pcmpeqw %1,%1
psrlw %1,15 psrlw %1,15
packuswb %1,%1 packuswb %1,%1
%endmacro %endmacro

View File

@@ -29,13 +29,13 @@
;* POSSIBILITY OF SUCH DAMAGE. ;* POSSIBILITY OF SUCH DAMAGE.
;* ;*
;* ;*
;* cpu_mmx.asm ;* cpu_mmx.asm
;* ;*
;* Abstract ;* Abstract
;* verify cpuid feature support and cpuid detection ;* verify cpuid feature support and cpuid detection
;* ;*
;* History ;* History
;* 04/29/2009 Created ;* 04/29/2009 Created
;* ;*
;*************************************************************************/ ;*************************************************************************/
@@ -81,7 +81,7 @@ WELS_EXTERN WelsCPUId
push rdx push rdx
mov eax, ecx mov eax, ecx
mov rcx, [r9] mov ecx, [r9]
cpuid cpuid
mov [r9], ecx mov [r9], ecx
mov [r8], ebx mov [r8], ebx
@@ -100,7 +100,7 @@ WELS_EXTERN WelsCPUId
push rdx push rdx
mov eax, edi mov eax, edi
mov rcx, [rcx] mov ecx, [rcx]
cpuid cpuid
mov [r8], edx mov [r8], edx
pop rdx pop rdx
@@ -115,13 +115,13 @@ WELS_EXTERN WelsCPUId
%elifdef X86_32 %elifdef X86_32
WELS_EXTERN WelsCPUId WELS_EXTERN WelsCPUId
push ebx push ebx
push edi push edi
mov eax, [esp+12] ; operating index mov eax, [esp+12] ; operating index
mov edi, [esp+24] mov edi, [esp+24]
mov ecx, [edi] mov ecx, [edi]
cpuid ; cpuid cpuid ; cpuid
; processing various information return ; processing various information return
mov edi, [esp+16] mov edi, [esp+16]
@@ -133,7 +133,7 @@ WELS_EXTERN WelsCPUId
mov edi, [esp+28] mov edi, [esp+28]
mov [edi], edx mov [edi], edx
pop edi pop edi
pop ebx pop ebx
ret ret
@@ -145,68 +145,68 @@ WELS_EXTERN WelsCPUId
;**************************************************************************************************** ;****************************************************************************************************
WELS_EXTERN WelsCPUSupportAVX WELS_EXTERN WelsCPUSupportAVX
%ifdef WIN64 %ifdef WIN64
mov eax, ecx mov eax, ecx
mov ecx, edx mov ecx, edx
%elifdef UNIX64 %elifdef UNIX64
mov eax, edi mov eax, edi
mov ecx, esi mov ecx, esi
%else %else
mov eax, [esp+4] mov eax, [esp+4]
mov ecx, [esp+8] mov ecx, [esp+8]
%endif %endif
; refer to detection of AVX addressed in INTEL AVX manual document ; refer to detection of AVX addressed in INTEL AVX manual document
and ecx, 018000000H and ecx, 018000000H
cmp ecx, 018000000H ; check both OSXSAVE and AVX feature flags cmp ecx, 018000000H ; check both OSXSAVE and AVX feature flags
jne avx_not_supported jne avx_not_supported
; processor supports AVX instructions and XGETBV is enabled by OS ; processor supports AVX instructions and XGETBV is enabled by OS
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
XGETBV ; result in EDX:EAX XGETBV ; result in EDX:EAX
and eax, 06H and eax, 06H
cmp eax, 06H ; check OS has enabled both XMM and YMM state support cmp eax, 06H ; check OS has enabled both XMM and YMM state support
jne avx_not_supported jne avx_not_supported
mov eax, 1 mov eax, 1
ret ret
avx_not_supported: avx_not_supported:
mov eax, 0 mov eax, 0
ret ret
; need call after cpuid=1 and eax, ecx flag got then ; need call after cpuid=1 and eax, ecx flag got then
;**************************************************************************************************** ;****************************************************************************************************
; int32_t WelsCPUSupportFMA( uint32_t eax, uint32_t ecx ) ; int32_t WelsCPUSupportFMA( uint32_t eax, uint32_t ecx )
;**************************************************************************************************** ;****************************************************************************************************
WELS_EXTERN WelsCPUSupportFMA WELS_EXTERN WelsCPUSupportFMA
%ifdef WIN64 %ifdef WIN64
mov eax, ecx mov eax, ecx
mov ecx, edx mov ecx, edx
%elifdef UNIX64 %elifdef UNIX64
mov eax, edi mov eax, edi
mov ecx, esi mov ecx, esi
%else %else
mov eax, [esp+4] mov eax, [esp+4]
mov ecx, [esp+8] mov ecx, [esp+8]
%endif %endif
; refer to detection of FMA addressed in INTEL AVX manual document ; refer to detection of FMA addressed in INTEL AVX manual document
and ecx, 018001000H and ecx, 018001000H
cmp ecx, 018001000H ; check OSXSAVE, AVX, FMA feature flags cmp ecx, 018001000H ; check OSXSAVE, AVX, FMA feature flags
jne fma_not_supported jne fma_not_supported
; processor supports AVX,FMA instructions and XGETBV is enabled by OS ; processor supports AVX,FMA instructions and XGETBV is enabled by OS
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
XGETBV ; result in EDX:EAX XGETBV ; result in EDX:EAX
and eax, 06H and eax, 06H
cmp eax, 06H ; check OS has enabled both XMM and YMM state support cmp eax, 06H ; check OS has enabled both XMM and YMM state support
jne fma_not_supported jne fma_not_supported
mov eax, 1 mov eax, 1
ret ret
fma_not_supported: fma_not_supported:
mov eax, 0 mov eax, 0
ret ret
;****************************************************************************************** ;******************************************************************************************
; void WelsEmms() ; void WelsEmms()
;****************************************************************************************** ;******************************************************************************************
WELS_EXTERN WelsEmms WELS_EXTERN WelsEmms
emms ; empty mmx technology states emms ; empty mmx technology states
ret ret

File diff suppressed because it is too large Load Diff

View File

@@ -77,280 +77,280 @@ SECTION .text
;cccc|ceeeeeeeeeeeeeeeed|dddd ;cccc|ceeeeeeeeeeeeeeeed|dddd
;cccc|ceeeeeeeeeeeeeeeed|dddd ;cccc|ceeeeeeeeeeeeeeeed|dddd
%macro mov_line_8x4_mmx 3 ; dst, stride, mm? %macro mov_line_8x4_mmx 3 ; dst, stride, mm?
movq [%1], %3 movq [%1], %3
movq [%1+%2], %3 movq [%1+%2], %3
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
movq [%1], %3 movq [%1], %3
movq [%1+%2], %3 movq [%1+%2], %3
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
%endmacro %endmacro
%macro mov_line_end8x4_mmx 3 ; dst, stride, mm? %macro mov_line_end8x4_mmx 3 ; dst, stride, mm?
movq [%1], %3 movq [%1], %3
movq [%1+%2], %3 movq [%1+%2], %3
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
movq [%1], %3 movq [%1], %3
movq [%1+%2], %3 movq [%1+%2], %3
lea %1, [%1+%2] lea %1, [%1+%2]
%endmacro %endmacro
%macro mov_line_16x4_sse2 4 ; dst, stride, xmm?, u/a %macro mov_line_16x4_sse2 4 ; dst, stride, xmm?, u/a
movdq%4 [%1], %3 ; top(bottom)_0 movdq%4 [%1], %3 ; top(bottom)_0
movdq%4 [%1+%2], %3 ; top(bottom)_1 movdq%4 [%1+%2], %3 ; top(bottom)_1
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
movdq%4 [%1], %3 ; top(bottom)_2 movdq%4 [%1], %3 ; top(bottom)_2
movdq%4 [%1+%2], %3 ; top(bottom)_3 movdq%4 [%1+%2], %3 ; top(bottom)_3
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
%endmacro %endmacro
%macro mov_line_end16x4_sse2 4 ; dst, stride, xmm?, u/a %macro mov_line_end16x4_sse2 4 ; dst, stride, xmm?, u/a
movdq%4 [%1], %3 ; top(bottom)_0 movdq%4 [%1], %3 ; top(bottom)_0
movdq%4 [%1+%2], %3 ; top(bottom)_1 movdq%4 [%1+%2], %3 ; top(bottom)_1
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
movdq%4 [%1], %3 ; top(bottom)_2 movdq%4 [%1], %3 ; top(bottom)_2
movdq%4 [%1+%2], %3 ; top(bottom)_3 movdq%4 [%1+%2], %3 ; top(bottom)_3
lea %1, [%1+%2] lea %1, [%1+%2]
%endmacro %endmacro
%macro mov_line_32x4_sse2 3 ; dst, stride, xmm? %macro mov_line_32x4_sse2 3 ; dst, stride, xmm?
movdqa [%1], %3 ; top(bottom)_0 movdqa [%1], %3 ; top(bottom)_0
movdqa [%1+16], %3 ; top(bottom)_0 movdqa [%1+16], %3 ; top(bottom)_0
movdqa [%1+%2], %3 ; top(bottom)_1 movdqa [%1+%2], %3 ; top(bottom)_1
movdqa [%1+%2+16], %3 ; top(bottom)_1 movdqa [%1+%2+16], %3 ; top(bottom)_1
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
movdqa [%1], %3 ; top(bottom)_2 movdqa [%1], %3 ; top(bottom)_2
movdqa [%1+16], %3 ; top(bottom)_2 movdqa [%1+16], %3 ; top(bottom)_2
movdqa [%1+%2], %3 ; top(bottom)_3 movdqa [%1+%2], %3 ; top(bottom)_3
movdqa [%1+%2+16], %3 ; top(bottom)_3 movdqa [%1+%2+16], %3 ; top(bottom)_3
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
%endmacro %endmacro
%macro mov_line_end32x4_sse2 3 ; dst, stride, xmm? %macro mov_line_end32x4_sse2 3 ; dst, stride, xmm?
movdqa [%1], %3 ; top(bottom)_0 movdqa [%1], %3 ; top(bottom)_0
movdqa [%1+16], %3 ; top(bottom)_0 movdqa [%1+16], %3 ; top(bottom)_0
movdqa [%1+%2], %3 ; top(bottom)_1 movdqa [%1+%2], %3 ; top(bottom)_1
movdqa [%1+%2+16], %3 ; top(bottom)_1 movdqa [%1+%2+16], %3 ; top(bottom)_1
lea %1, [%1+2*%2] lea %1, [%1+2*%2]
movdqa [%1], %3 ; top(bottom)_2 movdqa [%1], %3 ; top(bottom)_2
movdqa [%1+16], %3 ; top(bottom)_2 movdqa [%1+16], %3 ; top(bottom)_2
movdqa [%1+%2], %3 ; top(bottom)_3 movdqa [%1+%2], %3 ; top(bottom)_3
movdqa [%1+%2+16], %3 ; top(bottom)_3 movdqa [%1+%2+16], %3 ; top(bottom)_3
lea %1, [%1+%2] lea %1, [%1+%2]
%endmacro %endmacro
%macro exp_top_bottom_sse2 1 ; iPaddingSize [luma(32)/chroma(16)] %macro exp_top_bottom_sse2 1 ; iPaddingSize [luma(32)/chroma(16)]
;r2 [width/16(8)] ;r2 [width/16(8)]
;r0 [pSrc +0], r5 [pSrc -width] r1[-stride], 32(16) ;top ;r0 [pSrc +0], r5 [pSrc -width] r1[-stride], 32(16) ;top
;r3 [pSrc +(h-1)*stride], r4 [pSrc + (h+31)*stride],32(16); bottom ;r3 [pSrc +(h-1)*stride], r4 [pSrc + (h+31)*stride],32(16); bottom
%if %1 == 32 ; for luma %if %1 == 32 ; for luma
sar r2, 04h ; width / 16(8) pixels sar r2, 04h ; width / 16(8) pixels
.top_bottom_loops: .top_bottom_loops:
; top ; top
movdqa xmm0, [r0] ; first line of picture pData movdqa xmm0, [r0] ; first line of picture pData
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm? mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
mov_line_16x4_sse2 r5, r1, xmm0, a mov_line_16x4_sse2 r5, r1, xmm0, a
mov_line_16x4_sse2 r5, r1, xmm0, a mov_line_16x4_sse2 r5, r1, xmm0, a
mov_line_16x4_sse2 r5, r1, xmm0, a mov_line_16x4_sse2 r5, r1, xmm0, a
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm? mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
mov_line_16x4_sse2 r5, r1, xmm0, a mov_line_16x4_sse2 r5, r1, xmm0, a
mov_line_16x4_sse2 r5, r1, xmm0, a mov_line_16x4_sse2 r5, r1, xmm0, a
mov_line_end16x4_sse2 r5, r1, xmm0, a mov_line_end16x4_sse2 r5, r1, xmm0, a
; bottom ; bottom
movdqa xmm1, [r3] ; last line of picture pData movdqa xmm1, [r3] ; last line of picture pData
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm? mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
mov_line_16x4_sse2 r4, r1, xmm1, a mov_line_16x4_sse2 r4, r1, xmm1, a
mov_line_16x4_sse2 r4, r1, xmm1, a mov_line_16x4_sse2 r4, r1, xmm1, a
mov_line_16x4_sse2 r4, r1, xmm1, a mov_line_16x4_sse2 r4, r1, xmm1, a
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm? mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
mov_line_16x4_sse2 r4, r1, xmm1, a mov_line_16x4_sse2 r4, r1, xmm1, a
mov_line_16x4_sse2 r4, r1, xmm1, a mov_line_16x4_sse2 r4, r1, xmm1, a
mov_line_end16x4_sse2 r4, r1, xmm1, a mov_line_end16x4_sse2 r4, r1, xmm1, a
lea r0, [r0+16] ; top pSrc lea r0, [r0+16] ; top pSrc
lea r5, [r5+16] ; top dst lea r5, [r5+16] ; top dst
lea r3, [r3+16] ; bottom pSrc lea r3, [r3+16] ; bottom pSrc
lea r4, [r4+16] ; bottom dst lea r4, [r4+16] ; bottom dst
neg r1 ; positive/negative stride need for next loop? neg r1 ; positive/negative stride need for next loop?
dec r2 dec r2
jnz near .top_bottom_loops jnz near .top_bottom_loops
%elif %1 == 16 ; for chroma ?? %elif %1 == 16 ; for chroma ??
mov r6, r2 mov r6, r2
sar r2, 04h ; (width / 16) pixels sar r2, 04h ; (width / 16) pixels
.top_bottom_loops: .top_bottom_loops:
; top ; top
movdqa xmm0, [r0] ; first line of picture pData movdqa xmm0, [r0] ; first line of picture pData
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm? mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
mov_line_16x4_sse2 r5, r1, xmm0, a mov_line_16x4_sse2 r5, r1, xmm0, a
mov_line_16x4_sse2 r5, r1, xmm0, a mov_line_16x4_sse2 r5, r1, xmm0, a
mov_line_end16x4_sse2 r5, r1, xmm0, a mov_line_end16x4_sse2 r5, r1, xmm0, a
; bottom ; bottom
movdqa xmm1, [r3] ; last line of picture pData movdqa xmm1, [r3] ; last line of picture pData
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm? mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
mov_line_16x4_sse2 r4, r1, xmm1, a mov_line_16x4_sse2 r4, r1, xmm1, a
mov_line_16x4_sse2 r4, r1, xmm1, a mov_line_16x4_sse2 r4, r1, xmm1, a
mov_line_end16x4_sse2 r4, r1, xmm1, a mov_line_end16x4_sse2 r4, r1, xmm1, a
lea r0, [r0+16] ; top pSrc lea r0, [r0+16] ; top pSrc
lea r5, [r5+16] ; top dst lea r5, [r5+16] ; top dst
lea r3, [r3+16] ; bottom pSrc lea r3, [r3+16] ; bottom pSrc
lea r4, [r4+16] ; bottom dst lea r4, [r4+16] ; bottom dst
neg r1 ; positive/negative stride need for next loop? neg r1 ; positive/negative stride need for next loop?
dec r2 dec r2
jnz near .top_bottom_loops jnz near .top_bottom_loops
; for remaining 8 bytes ; for remaining 8 bytes
and r6, 0fh ; any 8 bytes left? and r6, 0fh ; any 8 bytes left?
test r6, r6 test r6, r6
jz near .to_be_continued ; no left to exit here jz near .to_be_continued ; no left to exit here
; top ; top
movq mm0, [r0] ; remained 8 byte movq mm0, [r0] ; remained 8 byte
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm? mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm? mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm? mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
mov_line_end8x4_mmx r5, r1, mm0 ; dst, stride, mm? mov_line_end8x4_mmx r5, r1, mm0 ; dst, stride, mm?
; bottom ; bottom
movq mm1, [r3] movq mm1, [r3]
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm? mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm? mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm? mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
mov_line_end8x4_mmx r4, r1, mm1 ; dst, stride, mm? mov_line_end8x4_mmx r4, r1, mm1 ; dst, stride, mm?
WELSEMMS WELSEMMS
.to_be_continued: .to_be_continued:
%endif %endif
%endmacro %endmacro
%macro exp_left_right_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a %macro exp_left_right_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
;r6 [height] ;r6 [height]
;r0 [pSrc+0] r5[pSrc-32] r1[stride] ;r0 [pSrc+0] r5[pSrc-32] r1[stride]
;r3 [pSrc+(w-1)] r4[pSrc+w] ;r3 [pSrc+(w-1)] r4[pSrc+w]
%if %1 == 32 ; for luma %if %1 == 32 ; for luma
.left_right_loops: .left_right_loops:
; left ; left
movzx r2d, byte [r0] ; pixel pData for left border movzx r2d, byte [r0] ; pixel pData for left border
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d] SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
movdqa [r5], xmm0 movdqa [r5], xmm0
movdqa [r5+16], xmm0 movdqa [r5+16], xmm0
; right ; right
movzx r2d, byte [r3] movzx r2d, byte [r3]
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d] SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
movdqa [r4], xmm1 movdqa [r4], xmm1
movdqa [r4+16], xmm1 movdqa [r4+16], xmm1
lea r0, [r0+r1] ; left pSrc lea r0, [r0+r1] ; left pSrc
lea r5, [r5+r1] ; left dst lea r5, [r5+r1] ; left dst
lea r3, [r3+r1] ; right pSrc lea r3, [r3+r1] ; right pSrc
lea r4, [r4+r1] ; right dst lea r4, [r4+r1] ; right dst
dec r6 dec r6
jnz near .left_right_loops jnz near .left_right_loops
%elif %1 == 16 ; for chroma ?? %elif %1 == 16 ; for chroma ??
.left_right_loops: .left_right_loops:
; left ; left
movzx r2d, byte [r0] ; pixel pData for left border movzx r2d, byte [r0] ; pixel pData for left border
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d] SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
movdqa [r5], xmm0 movdqa [r5], xmm0
; right ; right
movzx r2d, byte [r3] movzx r2d, byte [r3]
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d] SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
movdq%2 [r4], xmm1 ; might not be aligned 16 bytes in case chroma planes movdq%2 [r4], xmm1 ; might not be aligned 16 bytes in case chroma planes
lea r0, [r0+r1] ; left pSrc lea r0, [r0+r1] ; left pSrc
lea r5, [r5+r1] ; left dst lea r5, [r5+r1] ; left dst
lea r3, [r3+r1] ; right pSrc lea r3, [r3+r1] ; right pSrc
lea r4, [r4+r1] ; right dst lea r4, [r4+r1] ; right dst
dec r6 dec r6
jnz near .left_right_loops jnz near .left_right_loops
%endif %endif
%endmacro %endmacro
%macro exp_cross_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a %macro exp_cross_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
; top-left: (x)mm3, top-right: (x)mm4, bottom-left: (x)mm5, bottom-right: (x)mm6 ; top-left: (x)mm3, top-right: (x)mm4, bottom-left: (x)mm5, bottom-right: (x)mm6
; edi: TL, ebp: TR, eax: BL, ebx: BR, ecx, -stride ; edi: TL, ebp: TR, eax: BL, ebx: BR, ecx, -stride
;r3:TL ,r4:TR,r5:BL,r6:BR r1:-stride ;r3:TL ,r4:TR,r5:BL,r6:BR r1:-stride
%if %1 == 32 ; luma %if %1 == 32 ; luma
; TL ; TL
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
mov_line_end32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm? mov_line_end32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
; TR ; TR
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
mov_line_end32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm? mov_line_end32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
; BL ; BL
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
mov_line_end32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm? mov_line_end32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
; BR ; BR
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
mov_line_end32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm? mov_line_end32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
%elif %1 == 16 ; chroma %elif %1 == 16 ; chroma
; TL ; TL
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm? mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm? mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm? mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
mov_line_end16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm? mov_line_end16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
; TR ; TR
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm? mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm? mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm? mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
mov_line_end16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm? mov_line_end16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
; BL ; BL
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm? mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm? mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm? mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
mov_line_end16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm? mov_line_end16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
; BR ; BR
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm? mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm? mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm? mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
mov_line_end16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm? mov_line_end16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
%endif %endif
%endmacro %endmacro
;***********************************************************************---------------- ;***********************************************************************----------------
; void ExpandPictureLuma_sse2( uint8_t *pDst, ; void ExpandPictureLuma_sse2( uint8_t *pDst,
; const int32_t iStride, ; const int32_t iStride,
; const int32_t iWidth, ; const int32_t iWidth,
; const int32_t iHeight ); ; const int32_t iHeight );
;***********************************************************************---------------- ;***********************************************************************----------------
WELS_EXTERN ExpandPictureLuma_sse2 WELS_EXTERN ExpandPictureLuma_sse2
@@ -403,8 +403,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
exp_top_bottom_sse2 32 exp_top_bottom_sse2 32
; for both left and right border ; for both left and right border
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pop r2 pop r2
pop r1 pop r1
@@ -416,8 +416,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
lea r4,[r3+1] ;right border dst lea r4,[r3+1] ;right border dst
;prepare for cross border data: top-rigth with xmm4 ;prepare for cross border data: top-rigth with xmm4
movzx r6d,byte [r3] ;top -rigth movzx r6d,byte [r3] ;top -rigth
SSE2_Copy16Times xmm4,r6d SSE2_Copy16Times xmm4,r6d
neg r1 ;r1 = stride neg r1 ;r1 = stride
@@ -438,8 +438,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
pop r1 pop r1
pop r0 pop r0
; for cross border [top-left, top-right, bottom-left, bottom-right] ; for cross border [top-left, top-right, bottom-left, bottom-right]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued.. ; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
neg r1 ;r1 = -stride neg r1 ;r1 = -stride
@@ -472,13 +472,13 @@ WELS_EXTERN ExpandPictureLuma_sse2
%assign push_num 0 %assign push_num 0
ret ret
;***********************************************************************---------------- ;***********************************************************************----------------
; void ExpandPictureChromaAlign_sse2( uint8_t *pDst, ; void ExpandPictureChromaAlign_sse2( uint8_t *pDst,
; const int32_t iStride, ; const int32_t iStride,
; const int32_t iWidth, ; const int32_t iWidth,
; const int32_t iHeight ); ; const int32_t iHeight );
;***********************************************************************---------------- ;***********************************************************************----------------
WELS_EXTERN ExpandPictureChromaAlign_sse2 WELS_EXTERN ExpandPictureChromaAlign_sse2
@@ -531,8 +531,8 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
exp_top_bottom_sse2 16 exp_top_bottom_sse2 16
; for both left and right border ; for both left and right border
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pop r2 pop r2
pop r1 pop r1
@@ -557,7 +557,7 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
push r0 push r0
push r1 push r1
push r2 push r2
push r6 push r6
exp_left_right_sse2 16,a exp_left_right_sse2 16,a
pop r6 pop r6
@@ -565,8 +565,8 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
pop r1 pop r1
pop r0 pop r0
; for cross border [top-left, top-right, bottom-left, bottom-right] ; for cross border [top-left, top-right, bottom-left, bottom-right]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued.. ; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
neg r1 ;r1 = -stride neg r1 ;r1 = -stride
@@ -599,16 +599,16 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
%assign push_num 0 %assign push_num 0
ret ret
;***********************************************************************---------------- ;***********************************************************************----------------
; void ExpandPictureChromaUnalign_sse2( uint8_t *pDst, ; void ExpandPictureChromaUnalign_sse2( uint8_t *pDst,
; const int32_t iStride, ; const int32_t iStride,
; const int32_t iWidth, ; const int32_t iWidth,
; const int32_t iHeight ); ; const int32_t iHeight );
;***********************************************************************---------------- ;***********************************************************************----------------
WELS_EXTERN ExpandPictureChromaUnalign_sse2 WELS_EXTERN ExpandPictureChromaUnalign_sse2
push r4 push r4
push r5 push r5
push r6 push r6
@@ -657,8 +657,8 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
exp_top_bottom_sse2 16 exp_top_bottom_sse2 16
; for both left and right border ; for both left and right border
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pop r2 pop r2
pop r1 pop r1
@@ -683,7 +683,7 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
push r0 push r0
push r1 push r1
push r2 push r2
push r6 push r6
exp_left_right_sse2 16,u exp_left_right_sse2 16,u
pop r6 pop r6
@@ -691,8 +691,8 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
pop r1 pop r1
pop r0 pop r0
; for cross border [top-left, top-right, bottom-left, bottom-right] ; for cross border [top-left, top-right, bottom-left, bottom-right]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued.. ; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
neg r1 ;r1 = -stride neg r1 ;r1 = -stride
@@ -725,4 +725,4 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
%assign push_num 0 %assign push_num 0
ret ret

View File

@@ -36,9 +36,9 @@
;* ;*
;* History ;* History
;* 15/09/2009 Created ;* 15/09/2009 Created
;* 12/28/2009 Modified with larger throughput ;* 12/28/2009 Modified with larger throughput
;* 12/29/2011 Tuned WelsCopy16x16NotAligned_sse2, added UpdateMbMv_sse2 WelsCopy16x8NotAligned_sse2, ;* 12/29/2011 Tuned WelsCopy16x16NotAligned_sse2, added UpdateMbMv_sse2 WelsCopy16x8NotAligned_sse2,
;* WelsCopy16x8_mmx, WelsCopy8x16_mmx etc; ;* WelsCopy16x8_mmx, WelsCopy8x16_mmx etc;
;* ;*
;* ;*
;*********************************************************************************************/ ;*********************************************************************************************/
@@ -56,174 +56,174 @@ SECTION .text
;*********************************************************************** ;***********************************************************************
; void WelsCopy16x16_sse2( uint8_t* Dst, ; void WelsCopy16x16_sse2( uint8_t* Dst,
; int32_t iStrideD, ; int32_t iStrideD,
; uint8_t* Src, ; uint8_t* Src,
; int32_t iStrideS ) ; int32_t iStrideS )
;*********************************************************************** ;***********************************************************************
WELS_EXTERN WelsCopy16x16_sse2 WELS_EXTERN WelsCopy16x16_sse2
push r4 push r4
push r5 push r5
%assign push_num 2 %assign push_num 2
LOAD_4_PARA LOAD_4_PARA
PUSH_XMM 8 PUSH_XMM 8
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3 lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3 lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
movdqa xmm0, [r2] movdqa xmm0, [r2]
movdqa xmm1, [r2+r3] movdqa xmm1, [r2+r3]
movdqa xmm2, [r2+2*r3] movdqa xmm2, [r2+2*r3]
movdqa xmm3, [r2+r5] movdqa xmm3, [r2+r5]
lea r2, [r2+4*r3] lea r2, [r2+4*r3]
movdqa xmm4, [r2] movdqa xmm4, [r2]
movdqa xmm5, [r2+r3] movdqa xmm5, [r2+r3]
movdqa xmm6, [r2+2*r3] movdqa xmm6, [r2+2*r3]
movdqa xmm7, [r2+r5] movdqa xmm7, [r2+r5]
lea r2, [r2+4*r3] lea r2, [r2+4*r3]
movdqa [r0], xmm0 movdqa [r0], xmm0
movdqa [r0+r1], xmm1 movdqa [r0+r1], xmm1
movdqa [r0+2*r1], xmm2 movdqa [r0+2*r1], xmm2
movdqa [r0+r4], xmm3 movdqa [r0+r4], xmm3
lea r0, [r0+4*r1] lea r0, [r0+4*r1]
movdqa [r0], xmm4 movdqa [r0], xmm4
movdqa [r0+r1], xmm5 movdqa [r0+r1], xmm5
movdqa [r0+2*r1], xmm6 movdqa [r0+2*r1], xmm6
movdqa [r0+r4], xmm7 movdqa [r0+r4], xmm7
lea r0, [r0+4*r1] lea r0, [r0+4*r1]
movdqa xmm0, [r2] movdqa xmm0, [r2]
movdqa xmm1, [r2+r3] movdqa xmm1, [r2+r3]
movdqa xmm2, [r2+2*r3] movdqa xmm2, [r2+2*r3]
movdqa xmm3, [r2+r5] movdqa xmm3, [r2+r5]
lea r2, [r2+4*r3] lea r2, [r2+4*r3]
movdqa xmm4, [r2] movdqa xmm4, [r2]
movdqa xmm5, [r2+r3] movdqa xmm5, [r2+r3]
movdqa xmm6, [r2+2*r3] movdqa xmm6, [r2+2*r3]
movdqa xmm7, [r2+r5] movdqa xmm7, [r2+r5]
movdqa [r0], xmm0 movdqa [r0], xmm0
movdqa [r0+r1], xmm1 movdqa [r0+r1], xmm1
movdqa [r0+2*r1], xmm2 movdqa [r0+2*r1], xmm2
movdqa [r0+r4], xmm3 movdqa [r0+r4], xmm3
lea r0, [r0+4*r1] lea r0, [r0+4*r1]
movdqa [r0], xmm4 movdqa [r0], xmm4
movdqa [r0+r1], xmm5 movdqa [r0+r1], xmm5
movdqa [r0+2*r1], xmm6 movdqa [r0+2*r1], xmm6
movdqa [r0+r4], xmm7 movdqa [r0+r4], xmm7
POP_XMM POP_XMM
LOAD_4_PARA_POP LOAD_4_PARA_POP
pop r5 pop r5
pop r4 pop r4
ret ret
;*********************************************************************** ;***********************************************************************
; void WelsCopy16x16NotAligned_sse2( uint8_t* Dst, ; void WelsCopy16x16NotAligned_sse2( uint8_t* Dst,
; int32_t iStrideD, ; int32_t iStrideD,
; uint8_t* Src, ; uint8_t* Src,
; int32_t iStrideS ) ; int32_t iStrideS )
;*********************************************************************** ;***********************************************************************
; dst can be align with 16 bytes, but not sure about pSrc, 12/29/2011 ; dst can be align with 16 bytes, but not sure about pSrc, 12/29/2011
WELS_EXTERN WelsCopy16x16NotAligned_sse2 WELS_EXTERN WelsCopy16x16NotAligned_sse2
push r4 push r4
push r5 push r5
%assign push_num 2 %assign push_num 2
LOAD_4_PARA LOAD_4_PARA
PUSH_XMM 8 PUSH_XMM 8
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3 lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3 lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
movdqu xmm0, [r2] movdqu xmm0, [r2]
movdqu xmm1, [r2+r3] movdqu xmm1, [r2+r3]
movdqu xmm2, [r2+2*r3] movdqu xmm2, [r2+2*r3]
movdqu xmm3, [r2+r5] movdqu xmm3, [r2+r5]
lea r2, [r2+4*r3] lea r2, [r2+4*r3]
movdqu xmm4, [r2] movdqu xmm4, [r2]
movdqu xmm5, [r2+r3] movdqu xmm5, [r2+r3]
movdqu xmm6, [r2+2*r3] movdqu xmm6, [r2+2*r3]
movdqu xmm7, [r2+r5] movdqu xmm7, [r2+r5]
lea r2, [r2+4*r3] lea r2, [r2+4*r3]
movdqa [r0], xmm0 movdqa [r0], xmm0
movdqa [r0+r1], xmm1 movdqa [r0+r1], xmm1
movdqa [r0+2*r1], xmm2 movdqa [r0+2*r1], xmm2
movdqa [r0+r4], xmm3 movdqa [r0+r4], xmm3
lea r0, [r0+4*r1] lea r0, [r0+4*r1]
movdqa [r0], xmm4 movdqa [r0], xmm4
movdqa [r0+r1], xmm5 movdqa [r0+r1], xmm5
movdqa [r0+2*r1], xmm6 movdqa [r0+2*r1], xmm6
movdqa [r0+r4], xmm7 movdqa [r0+r4], xmm7
lea r0, [r0+4*r1] lea r0, [r0+4*r1]
movdqu xmm0, [r2] movdqu xmm0, [r2]
movdqu xmm1, [r2+r3] movdqu xmm1, [r2+r3]
movdqu xmm2, [r2+2*r3] movdqu xmm2, [r2+2*r3]
movdqu xmm3, [r2+r5] movdqu xmm3, [r2+r5]
lea r2, [r2+4*r3] lea r2, [r2+4*r3]
movdqu xmm4, [r2] movdqu xmm4, [r2]
movdqu xmm5, [r2+r3] movdqu xmm5, [r2+r3]
movdqu xmm6, [r2+2*r3] movdqu xmm6, [r2+2*r3]
movdqu xmm7, [r2+r5] movdqu xmm7, [r2+r5]
movdqa [r0], xmm0 movdqa [r0], xmm0
movdqa [r0+r1], xmm1 movdqa [r0+r1], xmm1
movdqa [r0+2*r1], xmm2 movdqa [r0+2*r1], xmm2
movdqa [r0+r4], xmm3 movdqa [r0+r4], xmm3
lea r0, [r0+4*r1] lea r0, [r0+4*r1]
movdqa [r0], xmm4 movdqa [r0], xmm4
movdqa [r0+r1], xmm5 movdqa [r0+r1], xmm5
movdqa [r0+2*r1], xmm6 movdqa [r0+2*r1], xmm6
movdqa [r0+r4], xmm7 movdqa [r0+r4], xmm7
POP_XMM POP_XMM
LOAD_4_PARA_POP LOAD_4_PARA_POP
pop r5 pop r5
pop r4 pop r4
ret ret
; , 12/29/2011 ; , 12/29/2011
;*********************************************************************** ;***********************************************************************
; void WelsCopy16x8NotAligned_sse2(uint8_t* Dst, ; void WelsCopy16x8NotAligned_sse2(uint8_t* Dst,
; int32_t iStrideD, ; int32_t iStrideD,
; uint8_t* Src, ; uint8_t* Src,
; int32_t iStrideS ) ; int32_t iStrideS )
;*********************************************************************** ;***********************************************************************
WELS_EXTERN WelsCopy16x8NotAligned_sse2 WELS_EXTERN WelsCopy16x8NotAligned_sse2
push r4 push r4
push r5 push r5
%assign push_num 2 %assign push_num 2
LOAD_4_PARA LOAD_4_PARA
PUSH_XMM 8 PUSH_XMM 8
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3 lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3 lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
movdqu xmm0, [r2] movdqu xmm0, [r2]
movdqu xmm1, [r2+r3] movdqu xmm1, [r2+r3]
movdqu xmm2, [r2+2*r3] movdqu xmm2, [r2+2*r3]
movdqu xmm3, [r2+r5] movdqu xmm3, [r2+r5]
lea r2, [r2+4*r3] lea r2, [r2+4*r3]
movdqu xmm4, [r2] movdqu xmm4, [r2]
movdqu xmm5, [r2+r3] movdqu xmm5, [r2+r3]
movdqu xmm6, [r2+2*r3] movdqu xmm6, [r2+2*r3]
movdqu xmm7, [r2+r5] movdqu xmm7, [r2+r5]
movdqa [r0], xmm0 movdqa [r0], xmm0
movdqa [r0+r1], xmm1 movdqa [r0+r1], xmm1
movdqa [r0+2*r1], xmm2 movdqa [r0+2*r1], xmm2
movdqa [r0+r4], xmm3 movdqa [r0+r4], xmm3
lea r0, [r0+4*r1] lea r0, [r0+4*r1]
movdqa [r0], xmm4 movdqa [r0], xmm4
movdqa [r0+r1], xmm5 movdqa [r0+r1], xmm5
movdqa [r0+2*r1], xmm6 movdqa [r0+2*r1], xmm6
movdqa [r0+r4], xmm7 movdqa [r0+r4], xmm7
POP_XMM POP_XMM
LOAD_4_PARA_POP LOAD_4_PARA_POP
pop r5 pop r5
pop r4 pop r4
ret ret
;*********************************************************************** ;***********************************************************************
@@ -233,62 +233,62 @@ WELS_EXTERN WelsCopy16x8NotAligned_sse2
; int32_t iStrideS ) ; int32_t iStrideS )
;*********************************************************************** ;***********************************************************************
WELS_EXTERN WelsCopy8x16_mmx WELS_EXTERN WelsCopy8x16_mmx
%assign push_num 0 %assign push_num 0
LOAD_4_PARA LOAD_4_PARA
movq mm0, [r2] movq mm0, [r2]
movq mm1, [r2+r3] movq mm1, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq mm2, [r2] movq mm2, [r2]
movq mm3, [r2+r3] movq mm3, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq mm4, [r2] movq mm4, [r2]
movq mm5, [r2+r3] movq mm5, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq mm6, [r2] movq mm6, [r2]
movq mm7, [r2+r3] movq mm7, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq [r0], mm0 movq [r0], mm0
movq [r0+r1], mm1 movq [r0+r1], mm1
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm2 movq [r0], mm2
movq [r0+r1], mm3 movq [r0+r1], mm3
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm4 movq [r0], mm4
movq [r0+r1], mm5 movq [r0+r1], mm5
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm6 movq [r0], mm6
movq [r0+r1], mm7 movq [r0+r1], mm7
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq mm0, [r2] movq mm0, [r2]
movq mm1, [r2+r3] movq mm1, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq mm2, [r2] movq mm2, [r2]
movq mm3, [r2+r3] movq mm3, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq mm4, [r2] movq mm4, [r2]
movq mm5, [r2+r3] movq mm5, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq mm6, [r2] movq mm6, [r2]
movq mm7, [r2+r3] movq mm7, [r2+r3]
movq [r0], mm0 movq [r0], mm0
movq [r0+r1], mm1 movq [r0+r1], mm1
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm2 movq [r0], mm2
movq [r0+r1], mm3 movq [r0+r1], mm3
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm4 movq [r0], mm4
movq [r0+r1], mm5 movq [r0+r1], mm5
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm6 movq [r0], mm6
movq [r0+r1], mm7 movq [r0+r1], mm7
WELSEMMS WELSEMMS
LOAD_4_PARA_POP LOAD_4_PARA_POP
ret ret
;*********************************************************************** ;***********************************************************************
; void WelsCopy8x8_mmx( uint8_t* Dst, ; void WelsCopy8x8_mmx( uint8_t* Dst,
@@ -297,48 +297,48 @@ WELS_EXTERN WelsCopy8x16_mmx
; int32_t iStrideS ) ; int32_t iStrideS )
;*********************************************************************** ;***********************************************************************
WELS_EXTERN WelsCopy8x8_mmx WELS_EXTERN WelsCopy8x8_mmx
push r4 push r4
%assign push_num 1 %assign push_num 1
LOAD_4_PARA LOAD_4_PARA
lea r4, [r3+2*r3] ;edx, [ebx+2*ebx] lea r4, [r3+2*r3] ;edx, [ebx+2*ebx]
; to prefetch next loop ; to prefetch next loop
prefetchnta [r2+2*r3] prefetchnta [r2+2*r3]
prefetchnta [r2+r4] prefetchnta [r2+r4]
movq mm0, [r2] movq mm0, [r2]
movq mm1, [r2+r3] movq mm1, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
; to prefetch next loop ; to prefetch next loop
prefetchnta [r2+2*r3] prefetchnta [r2+2*r3]
prefetchnta [r2+r4] prefetchnta [r2+r4]
movq mm2, [r2] movq mm2, [r2]
movq mm3, [r2+r3] movq mm3, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
; to prefetch next loop ; to prefetch next loop
prefetchnta [r2+2*r3] prefetchnta [r2+2*r3]
prefetchnta [r2+r4] prefetchnta [r2+r4]
movq mm4, [r2] movq mm4, [r2]
movq mm5, [r2+r3] movq mm5, [r2+r3]
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movq mm6, [r2] movq mm6, [r2]
movq mm7, [r2+r3] movq mm7, [r2+r3]
movq [r0], mm0 movq [r0], mm0
movq [r0+r1], mm1 movq [r0+r1], mm1
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm2 movq [r0], mm2
movq [r0+r1], mm3 movq [r0+r1], mm3
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm4 movq [r0], mm4
movq [r0+r1], mm5 movq [r0+r1], mm5
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movq [r0], mm6 movq [r0], mm6
movq [r0+r1], mm7 movq [r0+r1], mm7
WELSEMMS WELSEMMS
LOAD_4_PARA_POP LOAD_4_PARA_POP
pop r4 pop r4
ret ret
; (dunhuang@cisco), 12/21/2011 ; (dunhuang@cisco), 12/21/2011
;*********************************************************************** ;***********************************************************************
@@ -349,13 +349,13 @@ WELS_EXTERN UpdateMbMv_sse2
%assign push_num 0 %assign push_num 0
LOAD_2_PARA LOAD_2_PARA
movd xmm0, r1d ; _mv movd xmm0, r1d ; _mv
pshufd xmm1, xmm0, $00 pshufd xmm1, xmm0, $00
movdqa [r0 ], xmm1 movdqa [r0 ], xmm1
movdqa [r0+0x10], xmm1 movdqa [r0+0x10], xmm1
movdqa [r0+0x20], xmm1 movdqa [r0+0x20], xmm1
movdqa [r0+0x30], xmm1 movdqa [r0+0x30], xmm1
ret ret
;******************************************************************************* ;*******************************************************************************
; Macros and other preprocessor constants ; Macros and other preprocessor constants
@@ -381,14 +381,14 @@ WELS_EXTERN PixelAvgWidthEq4_mmx
%assign push_num 0 %assign push_num 0
LOAD_7_PARA LOAD_7_PARA
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r5, r5d SIGN_EXTENSION r5, r5d
SIGN_EXTENSION r6, r6d SIGN_EXTENSION r6, r6d
ALIGN 4 ALIGN 4
.height_loop: .height_loop:
movd mm0, [r4] movd mm0, [r4]
pavgb mm0, [r2] pavgb mm0, [r2]
movd [r0], mm0 movd [r0], mm0
@@ -398,8 +398,8 @@ ALIGN 4
lea r4, [r4+r5] lea r4, [r4+r5]
jne .height_loop jne .height_loop
WELSEMMS WELSEMMS
LOAD_7_PARA_POP LOAD_7_PARA_POP
ret ret
@@ -413,29 +413,29 @@ WELS_EXTERN PixelAvgWidthEq8_mmx
%assign push_num 0 %assign push_num 0
LOAD_7_PARA LOAD_7_PARA
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r5, r5d SIGN_EXTENSION r5, r5d
SIGN_EXTENSION r6, r6d SIGN_EXTENSION r6, r6d
ALIGN 4 ALIGN 4
.height_loop: .height_loop:
movq mm0, [r2] movq mm0, [r2]
pavgb mm0, [r4] pavgb mm0, [r4]
movq [r0], mm0 movq [r0], mm0
movq mm0, [r2+r3] movq mm0, [r2+r3]
pavgb mm0, [r4+r5] pavgb mm0, [r4+r5]
movq [r0+r1], mm0 movq [r0+r1], mm0
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
lea r4, [r4+2*r5] lea r4, [r4+2*r5]
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
sub r6, 2 sub r6, 2
jnz .height_loop jnz .height_loop
WELSEMMS WELSEMMS
LOAD_7_PARA_POP LOAD_7_PARA_POP
ret ret
@@ -450,46 +450,46 @@ WELS_EXTERN PixelAvgWidthEq16_sse2
%assign push_num 0 %assign push_num 0
LOAD_7_PARA LOAD_7_PARA
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r5, r5d SIGN_EXTENSION r5, r5d
SIGN_EXTENSION r6, r6d SIGN_EXTENSION r6, r6d
ALIGN 4 ALIGN 4
.height_loop: .height_loop:
movdqu xmm0, [r2] movdqu xmm0, [r2]
movdqu xmm1, [r4] movdqu xmm1, [r4]
pavgb xmm0, xmm1 pavgb xmm0, xmm1
;pavgb xmm0, [r4] ;pavgb xmm0, [r4]
movdqu [r0], xmm0 movdqu [r0], xmm0
movdqu xmm0, [r2+r3] movdqu xmm0, [r2+r3]
movdqu xmm1, [r4+r5] movdqu xmm1, [r4+r5]
pavgb xmm0, xmm1 pavgb xmm0, xmm1
movdqu [r0+r1], xmm0 movdqu [r0+r1], xmm0
movdqu xmm0, [r2+2*r3] movdqu xmm0, [r2+2*r3]
movdqu xmm1, [r4+2*r5] movdqu xmm1, [r4+2*r5]
pavgb xmm0, xmm1 pavgb xmm0, xmm1
movdqu [r0+2*r1], xmm0 movdqu [r0+2*r1], xmm0
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
lea r4, [r4+2*r5] lea r4, [r4+2*r5]
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
movdqu xmm0, [r2+r3] movdqu xmm0, [r2+r3]
movdqu xmm1, [r4+r5] movdqu xmm1, [r4+r5]
pavgb xmm0, xmm1 pavgb xmm0, xmm1
movdqu [r0+r1], xmm0 movdqu [r0+r1], xmm0
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
lea r4, [r4+2*r5] lea r4, [r4+2*r5]
lea r0, [r0+2*r1] lea r0, [r0+2*r1]
sub r6, 4 sub r6, 4
jne .height_loop jne .height_loop
WELSEMMS WELSEMMS
LOAD_7_PARA_POP LOAD_7_PARA_POP
ret ret
;******************************************************************************* ;*******************************************************************************
@@ -497,26 +497,26 @@ ALIGN 4
; uint8_t *pDst, int iDstStride, int iHeight ) ; uint8_t *pDst, int iDstStride, int iHeight )
;******************************************************************************* ;*******************************************************************************
WELS_EXTERN McCopyWidthEq4_mmx WELS_EXTERN McCopyWidthEq4_mmx
push r5 push r5
%assign push_num 1 %assign push_num 1
LOAD_5_PARA LOAD_5_PARA
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r4, r4d SIGN_EXTENSION r4, r4d
ALIGN 4 ALIGN 4
.height_loop: .height_loop:
mov r5d, [r0] mov r5d, [r0]
mov [r2], r5d mov [r2], r5d
add r0, r1 add r0, r1
add r2, r3 add r2, r3
dec r4 dec r4
jnz .height_loop jnz .height_loop
WELSEMMS WELSEMMS
LOAD_5_PARA_POP LOAD_5_PARA_POP
pop r5 pop r5
ret ret
;******************************************************************************* ;*******************************************************************************
@@ -527,21 +527,21 @@ WELS_EXTERN McCopyWidthEq8_mmx
%assign push_num 0 %assign push_num 0
LOAD_5_PARA LOAD_5_PARA
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r4, r4d SIGN_EXTENSION r4, r4d
ALIGN 4 ALIGN 4
.height_loop: .height_loop:
movq mm0, [r0] movq mm0, [r0]
movq [r2], mm0 movq [r2], mm0
add r0, r1 add r0, r1
add r2, r3 add r2, r3
dec r4 dec r4
jnz .height_loop jnz .height_loop
WELSEMMS WELSEMMS
LOAD_5_PARA_POP LOAD_5_PARA_POP
ret ret
@@ -550,32 +550,32 @@ ALIGN 4
;******************************************************************************* ;*******************************************************************************
;read unaligned memory ;read unaligned memory
%macro SSE_READ_UNA 2 %macro SSE_READ_UNA 2
movq %1, [%2] movq %1, [%2]
movhps %1, [%2+8] movhps %1, [%2+8]
%endmacro %endmacro
;write unaligned memory ;write unaligned memory
%macro SSE_WRITE_UNA 2 %macro SSE_WRITE_UNA 2
movq [%1], %2 movq [%1], %2
movhps [%1+8], %2 movhps [%1+8], %2
%endmacro %endmacro
WELS_EXTERN McCopyWidthEq16_sse2 WELS_EXTERN McCopyWidthEq16_sse2
%assign push_num 0 %assign push_num 0
LOAD_5_PARA LOAD_5_PARA
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r4, r4d SIGN_EXTENSION r4, r4d
ALIGN 4 ALIGN 4
.height_loop: .height_loop:
SSE_READ_UNA xmm0, r0 SSE_READ_UNA xmm0, r0
SSE_READ_UNA xmm1, r0+r1 SSE_READ_UNA xmm1, r0+r1
SSE_WRITE_UNA r2, xmm0 SSE_WRITE_UNA r2, xmm0
SSE_WRITE_UNA r2+r3, xmm1 SSE_WRITE_UNA r2+r3, xmm1
sub r4, 2 sub r4, 2
lea r0, [r0+r1*2] lea r0, [r0+r1*2]
lea r2, [r2+r3*2] lea r2, [r2+r3*2]
jnz .height_loop jnz .height_loop
LOAD_5_PARA_POP LOAD_5_PARA_POP
ret ret

View File

@@ -53,10 +53,10 @@ SECTION .rodata align=16
ALIGN 16 ALIGN 16
h264_d0x20_sse2: h264_d0x20_sse2:
dw 32,32,32,32,32,32,32,32 dw 32,32,32,32,32,32,32,32
ALIGN 16 ALIGN 16
h264_d0x20_mmx: h264_d0x20_mmx:
dw 32,32,32,32 dw 32,32,32,32
;============================================================================= ;=============================================================================
@@ -67,171 +67,171 @@ SECTION .text
;******************************************************************************* ;*******************************************************************************
; void McChromaWidthEq4_mmx( const uint8_t *src, ; void McChromaWidthEq4_mmx( const uint8_t *src,
; int32_t iSrcStride, ; int32_t iSrcStride,
; uint8_t *pDst, ; uint8_t *pDst,
; int32_t iDstStride, ; int32_t iDstStride,
; const uint8_t *pABCD, ; const uint8_t *pABCD,
; int32_t iHeigh ); ; int32_t iHeigh );
;******************************************************************************* ;*******************************************************************************
WELS_EXTERN McChromaWidthEq4_mmx WELS_EXTERN McChromaWidthEq4_mmx
%assign push_num 0 %assign push_num 0
LOAD_6_PARA LOAD_6_PARA
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r5, r5d SIGN_EXTENSION r5, r5d
movd mm3, [r4]; [eax] movd mm3, [r4]; [eax]
WELS_Zero mm7 WELS_Zero mm7
punpcklbw mm3, mm3 punpcklbw mm3, mm3
movq mm4, mm3 movq mm4, mm3
punpcklwd mm3, mm3 punpcklwd mm3, mm3
punpckhwd mm4, mm4 punpckhwd mm4, mm4
movq mm5, mm3 movq mm5, mm3
punpcklbw mm3, mm7 punpcklbw mm3, mm7
punpckhbw mm5, mm7 punpckhbw mm5, mm7
movq mm6, mm4 movq mm6, mm4
punpcklbw mm4, mm7 punpcklbw mm4, mm7
punpckhbw mm6, mm7 punpckhbw mm6, mm7
lea r4, [r0 + r1] ;lea ebx, [esi + eax] lea r4, [r0 + r1] ;lea ebx, [esi + eax]
movd mm0, [r0] movd mm0, [r0]
movd mm1, [r0+1] movd mm1, [r0+1]
punpcklbw mm0, mm7 punpcklbw mm0, mm7
punpcklbw mm1, mm7 punpcklbw mm1, mm7
.xloop: .xloop:
pmullw mm0, mm3 pmullw mm0, mm3
pmullw mm1, mm5 pmullw mm1, mm5
paddw mm0, mm1 paddw mm0, mm1
movd mm1, [r4] movd mm1, [r4]
punpcklbw mm1, mm7 punpcklbw mm1, mm7
movq mm2, mm1 movq mm2, mm1
pmullw mm1, mm4 pmullw mm1, mm4
paddw mm0, mm1 paddw mm0, mm1
movd mm1, [r4+1] movd mm1, [r4+1]
punpcklbw mm1, mm7 punpcklbw mm1, mm7
movq mm7, mm1 movq mm7, mm1
pmullw mm1,mm6 pmullw mm1,mm6
paddw mm0, mm1 paddw mm0, mm1
movq mm1,mm7 movq mm1,mm7
paddw mm0, [h264_d0x20_mmx] paddw mm0, [h264_d0x20_mmx]
psrlw mm0, 6 psrlw mm0, 6
WELS_Zero mm7 WELS_Zero mm7
packuswb mm0, mm7 packuswb mm0, mm7
movd [r2], mm0 movd [r2], mm0
movq mm0, mm2 movq mm0, mm2
lea r2, [r2 + r3] lea r2, [r2 + r3]
lea r4, [r4 + r1] lea r4, [r4 + r1]
dec r5 dec r5
jnz near .xloop jnz near .xloop
WELSEMMS WELSEMMS
LOAD_6_PARA_POP LOAD_6_PARA_POP
ret ret
;******************************************************************************* ;*******************************************************************************
; void McChromaWidthEq8_sse2( const uint8_t *pSrc, ; void McChromaWidthEq8_sse2( const uint8_t *pSrc,
; int32_t iSrcStride, ; int32_t iSrcStride,
; uint8_t *pDst, ; uint8_t *pDst,
; int32_t iDstStride, ; int32_t iDstStride,
; const uint8_t *pABCD, ; const uint8_t *pABCD,
; int32_t iheigh ); ; int32_t iheigh );
;******************************************************************************* ;*******************************************************************************
WELS_EXTERN McChromaWidthEq8_sse2 WELS_EXTERN McChromaWidthEq8_sse2
%assign push_num 0 %assign push_num 0
LOAD_6_PARA LOAD_6_PARA
PUSH_XMM 8 PUSH_XMM 8
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r5, r5d SIGN_EXTENSION r5, r5d
movd xmm3, [r4] movd xmm3, [r4]
WELS_Zero xmm7 WELS_Zero xmm7
punpcklbw xmm3, xmm3 punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3 punpcklwd xmm3, xmm3
movdqa xmm4, xmm3 movdqa xmm4, xmm3
punpckldq xmm3, xmm3 punpckldq xmm3, xmm3
punpckhdq xmm4, xmm4 punpckhdq xmm4, xmm4
movdqa xmm5, xmm3 movdqa xmm5, xmm3
movdqa xmm6, xmm4 movdqa xmm6, xmm4
punpcklbw xmm3, xmm7 punpcklbw xmm3, xmm7
punpckhbw xmm5, xmm7 punpckhbw xmm5, xmm7
punpcklbw xmm4, xmm7 punpcklbw xmm4, xmm7
punpckhbw xmm6, xmm7 punpckhbw xmm6, xmm7
lea r4, [r0 + r1] ;lea ebx, [esi + eax] lea r4, [r0 + r1] ;lea ebx, [esi + eax]
movq xmm0, [r0] movq xmm0, [r0]
movq xmm1, [r0+1] movq xmm1, [r0+1]
punpcklbw xmm0, xmm7 punpcklbw xmm0, xmm7
punpcklbw xmm1, xmm7 punpcklbw xmm1, xmm7
.xloop: .xloop:
pmullw xmm0, xmm3 pmullw xmm0, xmm3
pmullw xmm1, xmm5 pmullw xmm1, xmm5
paddw xmm0, xmm1 paddw xmm0, xmm1
movq xmm1, [r4] movq xmm1, [r4]
punpcklbw xmm1, xmm7 punpcklbw xmm1, xmm7
movdqa xmm2, xmm1 movdqa xmm2, xmm1
pmullw xmm1, xmm4 pmullw xmm1, xmm4
paddw xmm0, xmm1 paddw xmm0, xmm1
movq xmm1, [r4+1] movq xmm1, [r4+1]
punpcklbw xmm1, xmm7 punpcklbw xmm1, xmm7
movdqa xmm7, xmm1 movdqa xmm7, xmm1
pmullw xmm1, xmm6 pmullw xmm1, xmm6
paddw xmm0, xmm1 paddw xmm0, xmm1
movdqa xmm1,xmm7 movdqa xmm1,xmm7
paddw xmm0, [h264_d0x20_sse2] paddw xmm0, [h264_d0x20_sse2]
psrlw xmm0, 6 psrlw xmm0, 6
WELS_Zero xmm7 WELS_Zero xmm7
packuswb xmm0, xmm7 packuswb xmm0, xmm7
movq [r2], xmm0 movq [r2], xmm0
movdqa xmm0, xmm2 movdqa xmm0, xmm2
lea r2, [r2 + r3] lea r2, [r2 + r3]
lea r4, [r4 + r1] lea r4, [r4 + r1]
dec r5 dec r5
jnz near .xloop jnz near .xloop
POP_XMM POP_XMM
LOAD_6_PARA_POP LOAD_6_PARA_POP
ret ret
;*********************************************************************** ;***********************************************************************
; void McChromaWidthEq8_ssse3( const uint8_t *pSrc, ; void McChromaWidthEq8_ssse3( const uint8_t *pSrc,
; int32_t iSrcStride, ; int32_t iSrcStride,
; uint8_t *pDst, ; uint8_t *pDst,
; int32_t iDstStride, ; int32_t iDstStride,
; const uint8_t *pABCD, ; const uint8_t *pABCD,
; int32_t iHeigh); ; int32_t iHeigh);
;*********************************************************************** ;***********************************************************************
WELS_EXTERN McChromaWidthEq8_ssse3 WELS_EXTERN McChromaWidthEq8_ssse3
%assign push_num 0 %assign push_num 0
LOAD_6_PARA LOAD_6_PARA
PUSH_XMM 8 PUSH_XMM 8
SIGN_EXTENSION r1, r1d SIGN_EXTENSION r1, r1d
SIGN_EXTENSION r3, r3d SIGN_EXTENSION r3, r3d
SIGN_EXTENSION r5, r5d SIGN_EXTENSION r5, r5d
pxor xmm7, xmm7 pxor xmm7, xmm7
movd xmm5, [r4] movd xmm5, [r4]
@@ -243,27 +243,27 @@ WELS_EXTERN McChromaWidthEq8_ssse3
sub r2, r3 ;sub esi, edi sub r2, r3 ;sub esi, edi
sub r2, r3 sub r2, r3
movdqa xmm7, [h264_d0x20_sse2] movdqa xmm7, [h264_d0x20_sse2]
movdqu xmm0, [r0] movdqu xmm0, [r0]
movdqa xmm1, xmm0 movdqa xmm1, xmm0
psrldq xmm1, 1 psrldq xmm1, 1
punpcklbw xmm0, xmm1 punpcklbw xmm0, xmm1
.hloop_chroma: .hloop_chroma:
lea r2, [r2+2*r3] lea r2, [r2+2*r3]
movdqu xmm2, [r0+r1] movdqu xmm2, [r0+r1]
movdqa xmm3, xmm2 movdqa xmm3, xmm2
psrldq xmm3, 1 psrldq xmm3, 1
punpcklbw xmm2, xmm3 punpcklbw xmm2, xmm3
movdqa xmm4, xmm2 movdqa xmm4, xmm2
pmaddubsw xmm0, xmm5 pmaddubsw xmm0, xmm5
pmaddubsw xmm2, xmm6 pmaddubsw xmm2, xmm6
paddw xmm0, xmm2 paddw xmm0, xmm2
paddw xmm0, xmm7 paddw xmm0, xmm7
psrlw xmm0, 6 psrlw xmm0, 6
packuswb xmm0, xmm0 packuswb xmm0, xmm0
movq [r2],xmm0 movq [r2],xmm0
@@ -278,16 +278,16 @@ WELS_EXTERN McChromaWidthEq8_ssse3
pmaddubsw xmm2, xmm6 pmaddubsw xmm2, xmm6
paddw xmm4, xmm2 paddw xmm4, xmm2
paddw xmm4, xmm7 paddw xmm4, xmm7
psrlw xmm4, 6 psrlw xmm4, 6
packuswb xmm4, xmm4 packuswb xmm4, xmm4
movq [r2+r3],xmm4 movq [r2+r3],xmm4
sub r5, 2 sub r5, 2
jnz .hloop_chroma jnz .hloop_chroma
POP_XMM POP_XMM
LOAD_6_PARA_POP LOAD_6_PARA_POP
ret ret

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -29,16 +29,16 @@
;* POSSIBILITY OF SUCH DAMAGE. ;* POSSIBILITY OF SUCH DAMAGE.
;* ;*
;* ;*
;* vaa.asm ;* vaa.asm
;* ;*
;* Abstract ;* Abstract
;* sse2 for pVaa routines ;* sse2 for pVaa routines
;* ;*
;* History ;* History
;* 04/14/2010 Created ;* 04/14/2010 Created
;* 06/07/2010 Added AnalysisVaaInfoIntra_sse2(ssse3) ;* 06/07/2010 Added AnalysisVaaInfoIntra_sse2(ssse3)
;* 06/10/2010 Tune rc_sad_frame_sse2 and got about 40% improvement ;* 06/10/2010 Tune rc_sad_frame_sse2 and got about 40% improvement
;* 08/11/2010 Added abs_difference_mbrow_sse2 & sum_sqrsum_mbrow_sse2 ;* 08/11/2010 Added abs_difference_mbrow_sse2 & sum_sqrsum_mbrow_sse2
;* ;*
;*************************************************************************/ ;*************************************************************************/
%include "asm_inc.asm" %include "asm_inc.asm"
@@ -49,87 +49,87 @@
;*********************************************************************** ;***********************************************************************
; by comparing it outperforms than phaddw(SSSE3) sets ; by comparing it outperforms than phaddw(SSSE3) sets
%macro SUM_WORD_8x2_SSE2 2 ; dst(pSrc), tmp %macro SUM_WORD_8x2_SSE2 2 ; dst(pSrc), tmp
; @sum_8x2 begin ; @sum_8x2 begin
pshufd %2, %1, 04Eh ; 01001110 B pshufd %2, %1, 04Eh ; 01001110 B
paddw %1, %2 paddw %1, %2
pshuflw %2, %1, 04Eh ; 01001110 B pshuflw %2, %1, 04Eh ; 01001110 B
paddw %1, %2 paddw %1, %2
pshuflw %2, %1, 0B1h ; 10110001 B pshuflw %2, %1, 0B1h ; 10110001 B
paddw %1, %2 paddw %1, %2
; end of @sum_8x2 ; end of @sum_8x2
%endmacro ; END of SUM_WORD_8x2_SSE2 %endmacro ; END of SUM_WORD_8x2_SSE2
%macro VAA_AVG_BLOCK_SSE2 6 ; dst, t0, t1, t2, t3, t4 %macro VAA_AVG_BLOCK_SSE2 6 ; dst, t0, t1, t2, t3, t4
movdqa %1, [r0 ] ; line 0 movdqa %1, [r0 ] ; line 0
movdqa %2, [r0+r1] ; line 1 movdqa %2, [r0+r1] ; line 1
movdqa %3, %1 movdqa %3, %1
punpcklbw %1, xmm7 punpcklbw %1, xmm7
punpckhbw %3, xmm7 punpckhbw %3, xmm7
movdqa %4, %2 movdqa %4, %2
punpcklbw %4, xmm7 punpcklbw %4, xmm7
punpckhbw %2, xmm7 punpckhbw %2, xmm7
paddw %1, %4 paddw %1, %4
paddw %2, %3 paddw %2, %3
movdqa %3, [r0+r2] ; line 2 movdqa %3, [r0+r2] ; line 2
movdqa %4, [r0+r3] ; line 3 movdqa %4, [r0+r3] ; line 3
movdqa %5, %3 movdqa %5, %3
punpcklbw %3, xmm7 punpcklbw %3, xmm7
punpckhbw %5, xmm7 punpckhbw %5, xmm7
movdqa %6, %4 movdqa %6, %4
punpcklbw %6, xmm7 punpcklbw %6, xmm7
punpckhbw %4, xmm7 punpckhbw %4, xmm7
paddw %3, %6 paddw %3, %6
paddw %4, %5 paddw %4, %5
paddw %1, %3 ; block 0, 1 paddw %1, %3 ; block 0, 1
paddw %2, %4 ; block 2, 3 paddw %2, %4 ; block 2, 3
pshufd %3, %1, 0B1h pshufd %3, %1, 0B1h
pshufd %4, %2, 0B1h pshufd %4, %2, 0B1h
paddw %1, %3 paddw %1, %3
paddw %2, %4 paddw %2, %4
movdqa %3, %1 movdqa %3, %1
movdqa %4, %2 movdqa %4, %2
pshuflw %5, %1, 0B1h pshuflw %5, %1, 0B1h
pshufhw %6, %3, 0B1h pshufhw %6, %3, 0B1h
paddw %1, %5 paddw %1, %5
paddw %3, %6 paddw %3, %6
pshuflw %5, %2, 0B1h pshuflw %5, %2, 0B1h
pshufhw %6, %4, 0B1h pshufhw %6, %4, 0B1h
paddw %2, %5 paddw %2, %5
paddw %4, %6 paddw %4, %6
punpcklwd %1, %2 punpcklwd %1, %2
punpckhwd %3, %4 punpckhwd %3, %4
punpcklwd %1, %3 punpcklwd %1, %3
psraw %1, $04 psraw %1, $04
%endmacro %endmacro
%macro VAA_AVG_BLOCK_SSSE3 6 ; dst, t0, t1, t2, t3, t4 %macro VAA_AVG_BLOCK_SSSE3 6 ; dst, t0, t1, t2, t3, t4
movdqa %1, [r0 ] ; line 0 movdqa %1, [r0 ] ; line 0
movdqa %2, [r0+r1] ; line 1 movdqa %2, [r0+r1] ; line 1
movdqa %3, %1 movdqa %3, %1
punpcklbw %1, xmm7 punpcklbw %1, xmm7
punpckhbw %3, xmm7 punpckhbw %3, xmm7
movdqa %4, %2 movdqa %4, %2
punpcklbw %4, xmm7 punpcklbw %4, xmm7
punpckhbw %2, xmm7 punpckhbw %2, xmm7
paddw %1, %4 paddw %1, %4
paddw %2, %3 paddw %2, %3
movdqa %3, [r0+r2] ; line 2 movdqa %3, [r0+r2] ; line 2
movdqa %4, [r0+r3] ; line 3 movdqa %4, [r0+r3] ; line 3
movdqa %5, %3 movdqa %5, %3
punpcklbw %3, xmm7 punpcklbw %3, xmm7
punpckhbw %5, xmm7 punpckhbw %5, xmm7
movdqa %6, %4 movdqa %6, %4
punpcklbw %6, xmm7 punpcklbw %6, xmm7
punpckhbw %4, xmm7 punpckhbw %4, xmm7
paddw %3, %6 paddw %3, %6
paddw %4, %5 paddw %4, %5
paddw %1, %3 ; block 0, 1 paddw %1, %3 ; block 0, 1
paddw %2, %4 ; block 2, 3 paddw %2, %4 ; block 2, 3
phaddw %1, %2 ; block[0]: 0-15, 16-31; block[1]: 32-47, 48-63; .. phaddw %1, %2 ; block[0]: 0-15, 16-31; block[1]: 32-47, 48-63; ..
phaddw %1, xmm7 ; block[0]: 0-15; block[1]: 16-31; block[2]: 32-47; block[3]: 48-63; .... phaddw %1, xmm7 ; block[0]: 0-15; block[1]: 16-31; block[2]: 32-47; block[3]: 48-63; ....
psraw %1, $04 psraw %1, $04
%endmacro %endmacro
@@ -143,7 +143,7 @@ SECTION .text
; , 6/7/2010 ; , 6/7/2010
;*********************************************************************** ;***********************************************************************
; int32_t AnalysisVaaInfoIntra_sse2( uint8_t *pDataY, const int32_t iLineSize ); ; int32_t AnalysisVaaInfoIntra_sse2( uint8_t *pDataY, const int32_t iLineSize );
;*********************************************************************** ;***********************************************************************
WELS_EXTERN AnalysisVaaInfoIntra_sse2 WELS_EXTERN AnalysisVaaInfoIntra_sse2
@@ -174,71 +174,71 @@ WELS_EXTERN AnalysisVaaInfoIntra_sse2
mov r4,r2 mov r4,r2
sal r4,$01 ;r4 = 4*iLineSize sal r4,$01 ;r4 = 4*iLineSize
pxor xmm7, xmm7 pxor xmm7, xmm7
; loops ; loops
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5 VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
movq [r7], xmm0 movq [r7], xmm0
lea r0, [r0+r4] lea r0, [r0+r4]
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5 VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
movq [r7+8], xmm0 movq [r7+8], xmm0
lea r0, [r0+r4] lea r0, [r0+r4]
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5 VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
movq [r7+16], xmm0 movq [r7+16], xmm0
lea r0, [r0+r4] lea r0, [r0+r4]
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5 VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
movq [r7+24], xmm0 movq [r7+24], xmm0
movdqa xmm0, [r7] ; block 0~7 movdqa xmm0, [r7] ; block 0~7
movdqa xmm1, [r7+16] ; block 8~15 movdqa xmm1, [r7+16] ; block 8~15
movdqa xmm2, xmm0 movdqa xmm2, xmm0
paddw xmm0, xmm1 paddw xmm0, xmm1
SUM_WORD_8x2_SSE2 xmm0, xmm3 SUM_WORD_8x2_SSE2 xmm0, xmm3
pmullw xmm1, xmm1 pmullw xmm1, xmm1
pmullw xmm2, xmm2 pmullw xmm2, xmm2
movdqa xmm3, xmm1 movdqa xmm3, xmm1
movdqa xmm4, xmm2 movdqa xmm4, xmm2
punpcklwd xmm1, xmm7 punpcklwd xmm1, xmm7
punpckhwd xmm3, xmm7 punpckhwd xmm3, xmm7
punpcklwd xmm2, xmm7 punpcklwd xmm2, xmm7
punpckhwd xmm4, xmm7 punpckhwd xmm4, xmm7
paddd xmm1, xmm2 paddd xmm1, xmm2
paddd xmm3, xmm4 paddd xmm3, xmm4
paddd xmm1, xmm3 paddd xmm1, xmm3
pshufd xmm2, xmm1, 01Bh pshufd xmm2, xmm1, 01Bh
paddd xmm1, xmm2 paddd xmm1, xmm2
pshufd xmm2, xmm1, 0B1h pshufd xmm2, xmm1, 0B1h
paddd xmm1, xmm2 paddd xmm1, xmm2
movd r2d, xmm0 movd r2d, xmm0
and r2, 0ffffh ; effective low work truncated and r2, 0ffffh ; effective low work truncated
mov r3, r2 mov r3, r2
imul r2, r3 imul r2, r3
sar r2, $04 sar r2, $04
movd retrd, xmm1 movd retrd, xmm1
sub retrd, r2d sub retrd, r2d
add r7,32 add r7,32
add r7,r5 add r7,r5
%ifdef X86_32 %ifdef X86_32
pop r6 pop r6
pop r5 pop r5
pop r4 pop r4
pop r3 pop r3
%endif %endif
POP_XMM POP_XMM
ret ret
;*********************************************************************** ;***********************************************************************
; int32_t AnalysisVaaInfoIntra_ssse3( uint8_t *pDataY, const int32_t iLineSize ); ; int32_t AnalysisVaaInfoIntra_ssse3( uint8_t *pDataY, const int32_t iLineSize );
;*********************************************************************** ;***********************************************************************
WELS_EXTERN AnalysisVaaInfoIntra_ssse3 WELS_EXTERN AnalysisVaaInfoIntra_ssse3
@@ -269,47 +269,47 @@ WELS_EXTERN AnalysisVaaInfoIntra_ssse3
mov r4,r2 mov r4,r2
sal r4,$01 ;r4 = 4*iLineSize sal r4,$01 ;r4 = 4*iLineSize
pxor xmm7, xmm7 pxor xmm7, xmm7
; loops ; loops
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5 VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
movq [r7],xmm0 movq [r7],xmm0
lea r0,[r0+r4] lea r0,[r0+r4]
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6 VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
movq [r7+8],xmm1 movq [r7+8],xmm1
lea r0,[r0+r4] lea r0,[r0+r4]
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5 VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
movq [r7+16],xmm0 movq [r7+16],xmm0
lea r0,[r0+r4] lea r0,[r0+r4]
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6 VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
movq [r7+24],xmm1 movq [r7+24],xmm1
movdqa xmm0,[r7] movdqa xmm0,[r7]
movdqa xmm1,[r7+16] movdqa xmm1,[r7+16]
movdqa xmm2, xmm0 movdqa xmm2, xmm0
paddw xmm0, xmm1 paddw xmm0, xmm1
SUM_WORD_8x2_SSE2 xmm0, xmm3 ; better performance than that of phaddw sets SUM_WORD_8x2_SSE2 xmm0, xmm3 ; better performance than that of phaddw sets
pmullw xmm1, xmm1 pmullw xmm1, xmm1
pmullw xmm2, xmm2 pmullw xmm2, xmm2
movdqa xmm3, xmm1 movdqa xmm3, xmm1
movdqa xmm4, xmm2 movdqa xmm4, xmm2
punpcklwd xmm1, xmm7 punpcklwd xmm1, xmm7
punpckhwd xmm3, xmm7 punpckhwd xmm3, xmm7
punpcklwd xmm2, xmm7 punpcklwd xmm2, xmm7
punpckhwd xmm4, xmm7 punpckhwd xmm4, xmm7
paddd xmm1, xmm2 paddd xmm1, xmm2
paddd xmm3, xmm4 paddd xmm3, xmm4
paddd xmm1, xmm3 paddd xmm1, xmm3
pshufd xmm2, xmm1, 01Bh pshufd xmm2, xmm1, 01Bh
paddd xmm1, xmm2 paddd xmm1, xmm2
pshufd xmm2, xmm1, 0B1h pshufd xmm2, xmm1, 0B1h
paddd xmm1, xmm2 paddd xmm1, xmm2
movd r2d, xmm0 movd r2d, xmm0
@@ -318,94 +318,94 @@ WELS_EXTERN AnalysisVaaInfoIntra_ssse3
imul r2, r3 imul r2, r3
sar r2, $04 sar r2, $04
movd retrd, xmm1 movd retrd, xmm1
sub retrd, r2d sub retrd, r2d
add r7,32 add r7,32
add r7,r5 add r7,r5
%ifdef X86_32 %ifdef X86_32
pop r6 pop r6
pop r5 pop r5
pop r4 pop r4
pop r3 pop r3
%endif %endif
POP_XMM POP_XMM
ret ret
;*********************************************************************** ;***********************************************************************
; uint8_t MdInterAnalysisVaaInfo_sse41( int32_t *pSad8x8 ) ; uint8_t MdInterAnalysisVaaInfo_sse41( int32_t *pSad8x8 )
;*********************************************************************** ;***********************************************************************
WELS_EXTERN MdInterAnalysisVaaInfo_sse41 WELS_EXTERN MdInterAnalysisVaaInfo_sse41
%assign push_num 0 %assign push_num 0
LOAD_1_PARA LOAD_1_PARA
movdqa xmm0,[r0] movdqa xmm0,[r0]
pshufd xmm1, xmm0, 01Bh pshufd xmm1, xmm0, 01Bh
paddd xmm1, xmm0 paddd xmm1, xmm0
pshufd xmm2, xmm1, 0B1h pshufd xmm2, xmm1, 0B1h
paddd xmm1, xmm2 paddd xmm1, xmm2
psrad xmm1, 02h ; iAverageSad psrad xmm1, 02h ; iAverageSad
movdqa xmm2, xmm1 movdqa xmm2, xmm1
psrad xmm2, 06h psrad xmm2, 06h
movdqa xmm3, xmm0 ; iSadBlock movdqa xmm3, xmm0 ; iSadBlock
psrad xmm3, 06h psrad xmm3, 06h
psubd xmm3, xmm2 psubd xmm3, xmm2
pmulld xmm3, xmm3 ; [comment]: pmulld from SSE4.1 instruction sets pmulld xmm3, xmm3 ; [comment]: pmulld from SSE4.1 instruction sets
pshufd xmm4, xmm3, 01Bh pshufd xmm4, xmm3, 01Bh
paddd xmm4, xmm3 paddd xmm4, xmm3
pshufd xmm3, xmm4, 0B1h pshufd xmm3, xmm4, 0B1h
paddd xmm3, xmm4 paddd xmm3, xmm4
movd r0d, xmm3 movd r0d, xmm3
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
jb near .threshold_exit jb near .threshold_exit
pshufd xmm0, xmm0, 01Bh pshufd xmm0, xmm0, 01Bh
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
movmskps retrd, xmm0 movmskps retrd, xmm0
ret ret
.threshold_exit: .threshold_exit:
mov retrd, 15 mov retrd, 15
ret ret
;*********************************************************************** ;***********************************************************************
; uint8_t MdInterAnalysisVaaInfo_sse2( int32_t *pSad8x8 ) ; uint8_t MdInterAnalysisVaaInfo_sse2( int32_t *pSad8x8 )
;*********************************************************************** ;***********************************************************************
WELS_EXTERN MdInterAnalysisVaaInfo_sse2 WELS_EXTERN MdInterAnalysisVaaInfo_sse2
%assign push_num 0 %assign push_num 0
LOAD_1_PARA LOAD_1_PARA
movdqa xmm0, [r0] movdqa xmm0, [r0]
pshufd xmm1, xmm0, 01Bh pshufd xmm1, xmm0, 01Bh
paddd xmm1, xmm0 paddd xmm1, xmm0
pshufd xmm2, xmm1, 0B1h pshufd xmm2, xmm1, 0B1h
paddd xmm1, xmm2 paddd xmm1, xmm2
psrad xmm1, 02h ; iAverageSad psrad xmm1, 02h ; iAverageSad
movdqa xmm2, xmm1 movdqa xmm2, xmm1
psrad xmm2, 06h psrad xmm2, 06h
movdqa xmm3, xmm0 ; iSadBlock movdqa xmm3, xmm0 ; iSadBlock
psrad xmm3, 06h psrad xmm3, 06h
psubd xmm3, xmm2 psubd xmm3, xmm2
; to replace pmulld functionality as below ; to replace pmulld functionality as below
movdqa xmm2, xmm3 movdqa xmm2, xmm3
pmuludq xmm2, xmm3 pmuludq xmm2, xmm3
pshufd xmm4, xmm3, 0B1h pshufd xmm4, xmm3, 0B1h
pmuludq xmm4, xmm4 pmuludq xmm4, xmm4
movdqa xmm5, xmm2 movdqa xmm5, xmm2
punpckldq xmm5, xmm4 punpckldq xmm5, xmm4
punpckhdq xmm2, xmm4 punpckhdq xmm2, xmm4
punpcklqdq xmm5, xmm2 punpcklqdq xmm5, xmm2
pshufd xmm4, xmm5, 01Bh pshufd xmm4, xmm5, 01Bh
paddd xmm4, xmm5 paddd xmm4, xmm5
pshufd xmm5, xmm4, 0B1h pshufd xmm5, xmm4, 0B1h
paddd xmm5, xmm4 paddd xmm5, xmm4
movd r0d, xmm5 movd r0d, xmm5
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
jb near .threshold_exit jb near .threshold_exit
pshufd xmm0, xmm0, 01Bh pshufd xmm0, xmm0, 01Bh
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
movmskps retrd, xmm0 movmskps retrd, xmm0
ret ret
.threshold_exit: .threshold_exit:
mov retrd, 15 mov retrd, 15
ret ret

View File

@@ -44,12 +44,16 @@
#include <string> #include <string>
using namespace std; using namespace std;
class CReadConfig { class CReadConfig {
public: public:
CReadConfig (const char* kpConfigFileName); CReadConfig();
CReadConfig (const char* pConfigFileName);
CReadConfig (const string& pConfigFileName);
virtual ~CReadConfig(); virtual ~CReadConfig();
long ReadLine (string* val, const int kiValSize = 4); void Openf (const char* strFile);
long ReadLine (string* strVal, const int iValSize = 4);
const bool EndOfFile(); const bool EndOfFile();
const int GetLines(); const int GetLines();
const bool ExistFile(); const bool ExistFile();
@@ -58,7 +62,7 @@ class CReadConfig {
private: private:
FILE* m_pCfgFile; FILE* m_pCfgFile;
string m_strCfgFileName; string m_strCfgFileName;
unsigned long m_ulLines; unsigned int m_iLines;
}; };
#endif // READ_CONFIG_H__ #endif // READ_CONFIG_H__

View File

@@ -0,0 +1,16 @@
CONSOLE_COMMON_SRCDIR=codec/console/common
CONSOLE_COMMON_CPP_SRCS=\
$(CONSOLE_COMMON_SRCDIR)/src/read_config.cpp\
CONSOLE_COMMON_OBJS += $(CONSOLE_COMMON_CPP_SRCS:.cpp=.$(OBJ))
OBJS += $(CONSOLE_COMMON_OBJS)
$(CONSOLE_COMMON_SRCDIR)/%.$(OBJ): $(CONSOLE_COMMON_SRCDIR)/%.cpp
$(QUIET_CXX)$(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(CONSOLE_COMMON_CFLAGS) $(CONSOLE_COMMON_INCLUDES) -c $(CXX_O) $<
$(LIBPREFIX)console_common.$(LIBSUFFIX): $(CONSOLE_COMMON_OBJS)
$(QUIET)rm -f $@
$(QUIET_AR)$(AR) $(AR_OPTS) $+
libraries: $(LIBPREFIX)console_common.$(LIBSUFFIX)
LIBRARIES += $(LIBPREFIX)console_common.$(LIBSUFFIX)

View File

@@ -82,6 +82,8 @@ class CD3D9Utils {
HWND m_hWnd; HWND m_hWnd;
unsigned char* m_pDumpYUV; unsigned char* m_pDumpYUV;
BOOL m_bInitDone; BOOL m_bInitDone;
int m_nWidth;
int m_nHeight;
LPDIRECT3D9 m_lpD3D9; LPDIRECT3D9 m_lpD3D9;
LPDIRECT3DDEVICE9 m_lpD3D9Device; LPDIRECT3DDEVICE9 m_lpD3D9Device;
@@ -110,6 +112,8 @@ class CD3D9ExUtils {
HWND m_hWnd; HWND m_hWnd;
unsigned char* m_pDumpYUV; unsigned char* m_pDumpYUV;
BOOL m_bInitDone; BOOL m_bInitDone;
int m_nWidth;
int m_nHeight;
LPDIRECT3D9EX m_lpD3D9; LPDIRECT3D9EX m_lpD3D9;
LPDIRECT3DDEVICE9EX m_lpD3D9Device; LPDIRECT3DDEVICE9EX m_lpD3D9Device;

View File

@@ -75,7 +75,8 @@ CD3D9Utils::CD3D9Utils() {
m_lpD3D9 = NULL; m_lpD3D9 = NULL;
m_lpD3D9Device = NULL; m_lpD3D9Device = NULL;
m_lpD3D9RawSurfaceShare = NULL; m_lpD3D9RawSurfaceShare = NULL;
m_nWidth = 0;
m_nHeight = 0;
// coverity scan uninitial // coverity scan uninitial
ZeroMemory (&m_d3dpp, sizeof (m_d3dpp)); ZeroMemory (&m_d3dpp, sizeof (m_d3dpp));
} }
@@ -147,6 +148,16 @@ HRESULT CD3D9Utils::Process (void* pDst[3], SBufferInfo* pInfo, FILE* pFp) {
HRESULT CD3D9Utils::Render (void* pDst[3], SBufferInfo* pInfo) { HRESULT CD3D9Utils::Render (void* pDst[3], SBufferInfo* pInfo) {
HRESULT hResult = E_FAIL; HRESULT hResult = E_FAIL;
if (!pInfo)
return E_FAIL;
if (m_nWidth != pInfo->UsrData.sSystemBuffer.iWidth
|| m_nHeight != pInfo->UsrData.sSystemBuffer.iHeight) {
m_nWidth = pInfo->UsrData.sSystemBuffer.iWidth;
m_nHeight = pInfo->UsrData.sSystemBuffer.iHeight;
SAFE_RELEASE (m_lpD3D9RawSurfaceShare);
SAFE_RELEASE (m_lpD3D9Device);
}
hResult = InitResource (NULL, pInfo); hResult = InitResource (NULL, pInfo);
if (SUCCEEDED (hResult)) if (SUCCEEDED (hResult))
hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth, hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth,
@@ -245,6 +256,8 @@ CD3D9ExUtils::CD3D9ExUtils() {
m_lpD3D9Device = NULL; m_lpD3D9Device = NULL;
m_lpD3D9RawSurfaceShare = NULL; m_lpD3D9RawSurfaceShare = NULL;
m_nWidth = 0;
m_nHeight = 0;
// coverity scan uninitial // coverity scan uninitial
ZeroMemory (&m_d3dpp, sizeof (m_d3dpp)); ZeroMemory (&m_d3dpp, sizeof (m_d3dpp));
} }
@@ -316,6 +329,16 @@ HRESULT CD3D9ExUtils::Process (void* pDst[3], SBufferInfo* pInfo, FILE* pFp) {
HRESULT CD3D9ExUtils::Render (void* pDst[3], SBufferInfo* pInfo) { HRESULT CD3D9ExUtils::Render (void* pDst[3], SBufferInfo* pInfo) {
HRESULT hResult = E_FAIL; HRESULT hResult = E_FAIL;
if (!pInfo)
return E_FAIL;
if (m_nWidth != pInfo->UsrData.sSystemBuffer.iWidth
|| m_nHeight != pInfo->UsrData.sSystemBuffer.iHeight) {
m_nWidth = pInfo->UsrData.sSystemBuffer.iWidth;
m_nHeight = pInfo->UsrData.sSystemBuffer.iHeight;
SAFE_RELEASE (m_lpD3D9RawSurfaceShare);
SAFE_RELEASE (m_lpD3D9Device);
}
hResult = InitResource (NULL, pInfo); hResult = InitResource (NULL, pInfo);
if (SUCCEEDED (hResult)) if (SUCCEEDED (hResult))
hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth, hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth,
@@ -386,6 +409,9 @@ HRESULT CD3D9ExUtils::InitResource (void* pSharedHandle, SBufferInfo* pInfo) {
m_d3dpp.hDeviceWindow = m_hWnd; m_d3dpp.hDeviceWindow = m_hWnd;
m_d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; m_d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
hResult = m_lpD3D9->CreateDeviceEx (uiAdapter, D3DDevType, NULL, dwBehaviorFlags, &m_d3dpp, NULL, &m_lpD3D9Device); hResult = m_lpD3D9->CreateDeviceEx (uiAdapter, D3DDevType, NULL, dwBehaviorFlags, &m_d3dpp, NULL, &m_lpD3D9Device);
if (FAILED (hResult)) {
return hResult;
}
iWidth = pInfo->UsrData.sSystemBuffer.iWidth; iWidth = pInfo->UsrData.sSystemBuffer.iWidth;
iHeight = pInfo->UsrData.sSystemBuffer.iHeight; iHeight = pInfo->UsrData.sSystemBuffer.iHeight;
D3Dformat = (D3DFORMAT)NV12_FORMAT; D3Dformat = (D3DFORMAT)NV12_FORMAT;

View File

@@ -51,7 +51,6 @@
#include "typedefs.h" #include "typedefs.h"
#include "measure_time.h" #include "measure_time.h"
#include "d3d9_utils.h" #include "d3d9_utils.h"
#include "logging.h"
using namespace std; using namespace std;
@@ -76,7 +75,7 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
uint8_t* pBuf = NULL; uint8_t* pBuf = NULL;
uint8_t uiStartCode[4] = {0, 0, 0, 1}; uint8_t uiStartCode[4] = {0, 0, 0, 1};
void* pData[3] = {NULL}; uint8_t* pData[3] = {NULL};
uint8_t* pDst[3] = {NULL}; uint8_t* pDst[3] = {NULL};
SBufferInfo sDstBufInfo; SBufferInfo sDstBufInfo;
@@ -129,7 +128,7 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
printf ("------------------------------------------------------\n"); printf ("------------------------------------------------------\n");
fseek (pH264File, 0L, SEEK_END); fseek (pH264File, 0L, SEEK_END);
iFileSize = ftell (pH264File); iFileSize = (int32_t) ftell (pH264File);
if (iFileSize <= 0) { if (iFileSize <= 0) {
fprintf (stderr, "Current Bit Stream File is too small, read error!!!!\n"); fprintf (stderr, "Current Bit Stream File is too small, read error!!!!\n");
goto label_exit; goto label_exit;
@@ -212,9 +211,9 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
pDecoder->DecodeFrame2 (pBuf + iBufPos, iSliceSize, pData, &sDstBufInfo); pDecoder->DecodeFrame2 (pBuf + iBufPos, iSliceSize, pData, &sDstBufInfo);
if (sDstBufInfo.iBufferStatus == 1) { if (sDstBufInfo.iBufferStatus == 1) {
pDst[0] = (uint8_t*)pData[0]; pDst[0] = pData[0];
pDst[1] = (uint8_t*)pData[1]; pDst[1] = pData[1];
pDst[2] = (uint8_t*)pData[2]; pDst[2] = pData[2];
} }
iEnd = WelsTime(); iEnd = WelsTime();
iTotal += iEnd - iStart; iTotal += iEnd - iStart;
@@ -247,9 +246,9 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
pDecoder->DecodeFrame2 (NULL, 0, pData, &sDstBufInfo); pDecoder->DecodeFrame2 (NULL, 0, pData, &sDstBufInfo);
if (sDstBufInfo.iBufferStatus == 1) { if (sDstBufInfo.iBufferStatus == 1) {
pDst[0] = (uint8_t*)pData[0]; pDst[0] = pData[0];
pDst[1] = (uint8_t*)pData[1]; pDst[1] = pData[1];
pDst[2] = (uint8_t*)pData[2]; pDst[2] = pData[2];
} }
if (sDstBufInfo.iBufferStatus == 1) { if (sDstBufInfo.iBufferStatus == 1) {
@@ -311,6 +310,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
SDecodingParam sDecParam = {0}; SDecodingParam sDecParam = {0};
string strInputFile (""), strOutputFile (""), strOptionFile (""); string strInputFile (""), strOutputFile (""), strOptionFile ("");
int iLevelSetting = -1;
sDecParam.sVideoProperty.size = sizeof (sDecParam.sVideoProperty); sDecParam.sVideoProperty.size = sizeof (sDecParam.sVideoProperty);
@@ -339,7 +339,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
strOutputFile = strTag[1]; strOutputFile = strTag[1];
} else if (strTag[0].compare ("RestructionFile") == 0) { } else if (strTag[0].compare ("RestructionFile") == 0) {
strReconFile = strTag[1]; strReconFile = strTag[1];
int32_t iLen = strReconFile.length(); int32_t iLen = (int32_t)strReconFile.length();
sDecParam.pFileNameRestructed = new char[iLen + 1]; sDecParam.pFileNameRestructed = new char[iLen + 1];
if (sDecParam.pFileNameRestructed != NULL) { if (sDecParam.pFileNameRestructed != NULL) {
sDecParam.pFileNameRestructed[iLen] = 0; sDecParam.pFileNameRestructed[iLen] = 0;
@@ -349,7 +349,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
} else if (strTag[0].compare ("TargetDQID") == 0) { } else if (strTag[0].compare ("TargetDQID") == 0) {
sDecParam.uiTargetDqLayer = (uint8_t)atol (strTag[1].c_str()); sDecParam.uiTargetDqLayer = (uint8_t)atol (strTag[1].c_str());
} else if (strTag[0].compare ("OutColorFormat") == 0) { } else if (strTag[0].compare ("OutColorFormat") == 0) {
sDecParam.iOutputColorFormat = atol (strTag[1].c_str()); sDecParam.iOutputColorFormat = atoi (strTag[1].c_str());
} else if (strTag[0].compare ("ErrorConcealmentFlag") == 0) { } else if (strTag[0].compare ("ErrorConcealmentFlag") == 0) {
sDecParam.uiEcActiveFlag = (uint8_t)atol (strTag[1].c_str()); sDecParam.uiEcActiveFlag = (uint8_t)atol (strTag[1].c_str());
} else if (strTag[0].compare ("CPULoad") == 0) { } else if (strTag[0].compare ("CPULoad") == 0) {
@@ -384,14 +384,14 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
if (!strcmp (cmd, "-options")) { if (!strcmp (cmd, "-options")) {
if (i + 1 < iArgC) if (i + 1 < iArgC)
strOptionFile = pArgV[i++]; strOptionFile = pArgV[++i];
else { else {
printf ("options file not specified.\n"); printf ("options file not specified.\n");
return 1; return 1;
} }
} else if (!strcmp (cmd, "-trace")) { } else if (!strcmp (cmd, "-trace")) {
if (i + 1 < iArgC) if (i + 1 < iArgC)
WelsStderrSetTraceLevel (atoi (pArgV[i++])); iLevelSetting = atoi (pArgV[++i]);
else { else {
printf ("trace level not specified.\n"); printf ("trace level not specified.\n");
return 1; return 1;
@@ -418,6 +418,9 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
printf ("Create Decoder failed.\n"); printf ("Create Decoder failed.\n");
return 1; return 1;
} }
if (iLevelSetting >= 0) {
pDecoder->SetOption (DECODER_OPTION_TRACE_LEVEL, &iLevelSetting);
}
if (pDecoder->Initialize (&sDecParam)) { if (pDecoder->Initialize (&sDecParam)) {
printf ("Decoder initialization failed.\n"); printf ("Decoder initialization failed.\n");

View File

@@ -1,120 +0,0 @@
/*!
* \copy
* Copyright (c) 2008-2013, Cisco Systems
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* read_config.h
*
* Abstract
* Class for reading parameter settings in a configure file.
*
* History
* 08/18/2008 Created
*
*****************************************************************************/
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
#include "read_config.h"
CReadConfig::CReadConfig (const char* kpConfigFileName)
: m_pCfgFile (0)
, m_strCfgFileName (kpConfigFileName)
, m_ulLines (0) {
if (strlen (kpConfigFileName) > 0) { // FIXME: To check validation in configure file name
m_pCfgFile = fopen (kpConfigFileName, "r");
}
}
CReadConfig::~CReadConfig() {
if (m_pCfgFile) {
fclose (m_pCfgFile);
m_pCfgFile = NULL;
}
}
long CReadConfig::ReadLine (string* pStr, const int kiValSize/* = 4*/) {
if (m_pCfgFile == NULL || pStr == NULL || kiValSize <= 1)
return 0;
string* strTags = &pStr[0];
int iTagNum = 0, iNum = 0;
bool bCommentFlag = false;
while (iNum < kiValSize) {
pStr[iNum] = "";
++ iNum;
}
do {
const char kChar = (char)fgetc (m_pCfgFile);
if (kChar == '\n' || feof (m_pCfgFile)) {
++ m_ulLines;
break;
}
if (kChar == '#')
bCommentFlag = true;
if (!bCommentFlag) {
if (kChar == '\t' || kChar == ' ') {
if (iTagNum >= kiValSize)
break;
if (! (*strTags).empty()) {
++ iTagNum;
strTags = &pStr[iTagNum];
}
} else
*strTags += kChar;
}
} while (true);
return 1 + iTagNum;
}
const bool CReadConfig::EndOfFile() {
if (m_pCfgFile == NULL)
return true;
return feof (m_pCfgFile) ? true : false;
}
const int CReadConfig::GetLines() {
return m_ulLines;
}
const bool CReadConfig::ExistFile() {
return (m_pCfgFile != NULL);
}
const string& CReadConfig::GetFileName() {
return m_strCfgFileName;
}

Some files were not shown because too many files have changed in this diff Show More