Compare commits
1441 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a182d489d | ||
|
|
1f887a0e95 | ||
|
|
7180adf1a2 | ||
|
|
8c3db53fca | ||
|
|
14294b64b3 | ||
|
|
f08d73553f | ||
|
|
917d683bb2 | ||
|
|
5c114c3ebb | ||
|
|
1ed519b5bb | ||
|
|
ef5f1c46b9 | ||
|
|
7d8bb6f290 | ||
|
|
809adc4129 | ||
|
|
f0934c7bf3 | ||
|
|
c3de0f99c5 | ||
|
|
3ae2507c99 | ||
|
|
afd82b2cfa | ||
|
|
0dc461541a | ||
|
|
8bfeae27a4 | ||
|
|
4fb442a983 | ||
|
|
91574afca4 | ||
|
|
b8ce2eb40e | ||
|
|
e6134b5972 | ||
|
|
5b2469c0b5 | ||
|
|
4db34bdf43 | ||
|
|
b208cac1c5 | ||
|
|
916d24d99e | ||
|
|
7f27198c68 | ||
|
|
208400eeb4 | ||
|
|
ab480fe387 | ||
|
|
58e868c074 | ||
|
|
8dbdb418ca | ||
|
|
1b26bd4b88 | ||
|
|
3c08f04993 | ||
|
|
030d320e43 | ||
|
|
182ae421a1 | ||
|
|
9f0ed3fc4b | ||
|
|
ac992acaa9 | ||
|
|
490a3e5562 | ||
|
|
590eef6059 | ||
|
|
affa753d5d | ||
|
|
f89780ddd8 | ||
|
|
6f876d79a6 | ||
|
|
ee5896e4a1 | ||
|
|
4746ce8fd4 | ||
|
|
f90cd367d2 | ||
|
|
47df411b1a | ||
|
|
9692f6cb20 | ||
|
|
f4b3724976 | ||
|
|
59fefbe7c7 | ||
|
|
a9c2e1b431 | ||
|
|
a4370b8ca8 | ||
|
|
0612b07a6f | ||
|
|
6a10553dce | ||
|
|
f132745882 | ||
|
|
89f78e9211 | ||
|
|
fdb938a2c2 | ||
|
|
b932547fe8 | ||
|
|
d387ebc358 | ||
|
|
026ce4030a | ||
|
|
2c69638773 | ||
|
|
812b57c704 | ||
|
|
ca2436bb5e | ||
|
|
827c7b2aef | ||
|
|
d87663b913 | ||
|
|
c0633a147e | ||
|
|
91736e85e8 | ||
|
|
54cc3daaa7 | ||
|
|
8a2237751a | ||
|
|
3aac5e0fae | ||
|
|
8fb4048241 | ||
|
|
57043d16ad | ||
|
|
d422ee59ad | ||
|
|
ac061fe635 | ||
|
|
091e5cba0a | ||
|
|
eeee1a2e95 | ||
|
|
c20e1c6795 | ||
|
|
509727e225 | ||
|
|
5ab5fe155b | ||
|
|
7dcaaf5328 | ||
|
|
ad38cfe46c | ||
|
|
cc1f3ade3a | ||
|
|
984497cc09 | ||
|
|
06c251fa48 | ||
|
|
93265d7a44 | ||
|
|
1bdf00ddf4 | ||
|
|
41339f3023 | ||
|
|
0ff1eb482f | ||
|
|
ec99819ce8 | ||
|
|
3be8ae7a4e | ||
|
|
2e85e3c7d9 | ||
|
|
f1a7a1a966 | ||
|
|
3e57fdc448 | ||
|
|
5ff55a6ec2 | ||
|
|
44e4531897 | ||
|
|
44bd61683a | ||
|
|
d20a3bdb28 | ||
|
|
32d6193f97 | ||
|
|
5ba9e409ba | ||
|
|
2c468b96a9 | ||
|
|
ecc8ae6ebb | ||
|
|
065c3a7769 | ||
|
|
7da17b5abd | ||
|
|
af97f2d4bb | ||
|
|
4e88de1755 | ||
|
|
87c83c0d36 | ||
|
|
44017193ed | ||
|
|
b65410ebdb | ||
|
|
354eee3e2b | ||
|
|
155a91406c | ||
|
|
e47a3638af | ||
|
|
944a041066 | ||
|
|
14eeaf2278 | ||
|
|
e041bc6938 | ||
|
|
901a599b36 | ||
|
|
cc5978b252 | ||
|
|
c2d585761a | ||
|
|
317ac1ca85 | ||
|
|
56c895ffb4 | ||
|
|
c01606c28a | ||
|
|
ea93f3943e | ||
|
|
a8159c89d1 | ||
|
|
befd5bdd56 | ||
|
|
fc895c13ce | ||
|
|
054b8eeb3a | ||
|
|
60b6ce1454 | ||
|
|
928a7eac2a | ||
|
|
a5cabf0be4 | ||
|
|
91ae2dab7a | ||
|
|
dd24edc8ff | ||
|
|
5d4eb63d52 | ||
|
|
f4af5d2fda | ||
|
|
6981aec743 | ||
|
|
8b9be2b3dc | ||
|
|
f668e1be98 | ||
|
|
607d814e0f | ||
|
|
3d263d1087 | ||
|
|
9b59e50292 | ||
|
|
a48b632aed | ||
|
|
e132658346 | ||
|
|
59c30f8952 | ||
|
|
575b6fb570 | ||
|
|
2c9b5b98c0 | ||
|
|
8e419e41d3 | ||
|
|
80beaed5c6 | ||
|
|
8f7e10ab12 | ||
|
|
a7d8142a44 | ||
|
|
397e20b0f3 | ||
|
|
852ed8a2d0 | ||
|
|
2e15351d6d | ||
|
|
b1dccaa627 | ||
|
|
8c7aaa8421 | ||
|
|
9a08b7f97c | ||
|
|
a100fb8031 | ||
|
|
8e39cb3a3a | ||
|
|
d58f90947c | ||
|
|
8028fe7130 | ||
|
|
c592d18dfd | ||
|
|
30820fd8b5 | ||
|
|
7cea82bdf8 | ||
|
|
e7debe7351 | ||
|
|
59e782a8a5 | ||
|
|
1526de3ae5 | ||
|
|
0bae0f869a | ||
|
|
24cd934ba9 | ||
|
|
90eee67eb7 | ||
|
|
b9dc310857 | ||
|
|
504cabf106 | ||
|
|
c44d4a7f07 | ||
|
|
917d41bd47 | ||
|
|
7c0369da23 | ||
|
|
82b70b34fe | ||
|
|
3a73179cab | ||
|
|
69f6db1b90 | ||
|
|
c2c861f199 | ||
|
|
3f69873c99 | ||
|
|
92bc88eacb | ||
|
|
80ce939d7a | ||
|
|
a43fa3aec2 | ||
|
|
e1262a9ac9 | ||
|
|
fe7faf768a | ||
|
|
aa5e7f7927 | ||
|
|
9da19758cf | ||
|
|
f131b4540b | ||
|
|
2e5243e5fc | ||
|
|
4a6de5bb13 | ||
|
|
347e4893a9 | ||
|
|
94dde141fa | ||
|
|
f48b2e55ba | ||
|
|
7be8d200d5 | ||
|
|
1ff9de36ce | ||
|
|
22cc0a88c6 | ||
|
|
0d426b826d | ||
|
|
d543ae89db | ||
|
|
29da6a600a | ||
|
|
cef85118b5 | ||
|
|
305a2421be | ||
|
|
f1fb0d6b69 | ||
|
|
9425c2ab10 | ||
|
|
3be7e90221 | ||
|
|
48e79d51b5 | ||
|
|
336b2d1537 | ||
|
|
b231e3f000 | ||
|
|
53c14dccf0 | ||
|
|
3025c58a67 | ||
|
|
a0b0866597 | ||
|
|
1359583c55 | ||
|
|
7175d3c90e | ||
|
|
cdd410ca66 | ||
|
|
24fb213d6e | ||
|
|
0b2c82d92b | ||
|
|
810b9770fc | ||
|
|
b18e905946 | ||
|
|
c13bfe6407 | ||
|
|
0252f3f346 | ||
|
|
b05a52be7a | ||
|
|
7e24efc620 | ||
|
|
02853a9a96 | ||
|
|
cbb6e993cf | ||
|
|
bfee07dde4 | ||
|
|
deefdcee10 | ||
|
|
45c322a8ae | ||
|
|
606da1a97d | ||
|
|
9ec743c156 | ||
|
|
0d16fd61b2 | ||
|
|
703bbef128 | ||
|
|
b56b8725fc | ||
|
|
aed7b2316c | ||
|
|
2453676960 | ||
|
|
7a2e536e44 | ||
|
|
66165a65d5 | ||
|
|
b3922b1d3a | ||
|
|
e4f114e006 | ||
|
|
429ccb38a8 | ||
|
|
9ba0a1d977 | ||
|
|
2527cf5d0b | ||
|
|
cd5928d397 | ||
|
|
f42c9fae42 | ||
|
|
a37f1abe5e | ||
|
|
128546b992 | ||
|
|
560fcf17fd | ||
|
|
fd45e7ff15 | ||
|
|
9512515a41 | ||
|
|
24823621e1 | ||
|
|
c31511257b | ||
|
|
1c44c43b8a | ||
|
|
0aa77d2985 | ||
|
|
8b49f98475 | ||
|
|
fc811a80fb | ||
|
|
843955bc06 | ||
|
|
a7b22795bf | ||
|
|
3c753c42b8 | ||
|
|
067fa09781 | ||
|
|
c8afd15681 | ||
|
|
80bfc43df5 | ||
|
|
50e2eb5e3c | ||
|
|
2b9f4f6607 | ||
|
|
08c07e4b8f | ||
|
|
ac404ce69d | ||
|
|
44013d4cd5 | ||
|
|
789603a8b1 | ||
|
|
7fa6c576e3 | ||
|
|
0fa667ac5f | ||
|
|
1a7826c6eb | ||
|
|
5cb5c28331 | ||
|
|
45ef803e4d | ||
|
|
3d21825901 | ||
|
|
ba0351f569 | ||
|
|
63180b9b36 | ||
|
|
8ed4e83e93 | ||
|
|
32697b046b | ||
|
|
b896faa47c | ||
|
|
103fa5bbed | ||
|
|
fe55d5a208 | ||
|
|
18ed25fbb3 | ||
|
|
783daf3d8a | ||
|
|
54c677cdd7 | ||
|
|
08baf65251 | ||
|
|
ca1c357058 | ||
|
|
8ffacf0918 | ||
|
|
0e9541247a | ||
|
|
c1b48640fb | ||
|
|
c5029ef275 | ||
|
|
e061bb3fc9 | ||
|
|
2951a7f3a3 | ||
|
|
7478714ac9 | ||
|
|
9ac2d2ad85 | ||
|
|
dbd4330508 | ||
|
|
938f441751 | ||
|
|
880e0fff06 | ||
|
|
c19db25043 | ||
|
|
cf85745752 | ||
|
|
c7b5051738 | ||
|
|
07bf80ba39 | ||
|
|
53e2f67e80 | ||
|
|
3abd54ca73 | ||
|
|
8e49898243 | ||
|
|
66b1610114 | ||
|
|
24192cc235 | ||
|
|
655f3b43b6 | ||
|
|
a291470072 | ||
|
|
ec0d151879 | ||
|
|
3b5448cbbc | ||
|
|
055915d720 | ||
|
|
100de97b49 | ||
|
|
3a1f0a3d95 | ||
|
|
41ed734674 | ||
|
|
b8e0a3fa38 | ||
|
|
7ce4da8a41 | ||
|
|
1c2940479d | ||
|
|
2907cb2875 | ||
|
|
a625dc836d | ||
|
|
9be23c7821 | ||
|
|
7f645bf2f7 | ||
|
|
54c24dfd60 | ||
|
|
c83ab3bca1 | ||
|
|
58cc29225e | ||
|
|
d3a971e32c | ||
|
|
329ccd7d6f | ||
|
|
f10f6a788f | ||
|
|
f84560474c | ||
|
|
f2c1395ab6 | ||
|
|
9a9f92bcfe | ||
|
|
26615fffd0 | ||
|
|
a2d5254bc3 | ||
|
|
4fab8c2ee7 | ||
|
|
292d2511e2 | ||
|
|
4292f91ae5 | ||
|
|
5cefad2d3f | ||
|
|
fcb84f5fb6 | ||
|
|
fe621b92bf | ||
|
|
1ad797a81e | ||
|
|
9a72378c34 | ||
|
|
ec901a14d6 | ||
|
|
abc01e6b81 | ||
|
|
d3c8ade8d0 | ||
|
|
46d30cd33c | ||
|
|
2dbb757d30 | ||
|
|
34cb0d60aa | ||
|
|
6a2a4efef6 | ||
|
|
ea9b80adb3 | ||
|
|
468fce0887 | ||
|
|
f0c6891627 | ||
|
|
50fd617e86 | ||
|
|
ac290d65c7 | ||
|
|
3cce92ea19 | ||
|
|
dcdcc7f3b8 | ||
|
|
273e1227a5 | ||
|
|
43c62d06eb | ||
|
|
5d6b20119a | ||
|
|
a594ddf3e7 | ||
|
|
0a3d4c4ebc | ||
|
|
57aae73d4c | ||
|
|
94a1d4426e | ||
|
|
23b5a61153 | ||
|
|
33e67427ab | ||
|
|
4e89e71e8f | ||
|
|
8d5863a170 | ||
|
|
97298de90a | ||
|
|
3c4279cdd8 | ||
|
|
452fb868c7 | ||
|
|
41720f8df5 | ||
|
|
769c38d4c4 | ||
|
|
195d13612c | ||
|
|
6c4f0d7d85 | ||
|
|
e415c3fe70 | ||
|
|
b17e9bb320 | ||
|
|
7720f2cc5d | ||
|
|
88b7a62f98 | ||
|
|
a765197b73 | ||
|
|
d720122a37 | ||
|
|
cbe7891300 | ||
|
|
5762cbb8fc | ||
|
|
1a78f69f2f | ||
|
|
d1a3bd3d33 | ||
|
|
89454f0cf9 | ||
|
|
9a0d56da97 | ||
|
|
d74c0f6ae6 | ||
|
|
9d182ee515 | ||
|
|
2479abf5c0 | ||
|
|
869c567f04 | ||
|
|
cdb7e5da61 | ||
|
|
46ee46c186 | ||
|
|
d9e0f2b023 | ||
|
|
39d725c113 | ||
|
|
cab92a3e36 | ||
|
|
ba535bda4d | ||
|
|
2ff61475d6 | ||
|
|
1e62aafcde | ||
|
|
4fc27714bd | ||
|
|
3ad4d9070e | ||
|
|
024ac63f15 | ||
|
|
614e898b67 | ||
|
|
3885bd8f0e | ||
|
|
b425450bc1 | ||
|
|
ad247a9a4a | ||
|
|
f9bab05b3a | ||
|
|
52419bd13e | ||
|
|
8c8cd50c96 | ||
|
|
68fed53687 | ||
|
|
b7c54242a9 | ||
|
|
04c2a7ac5c | ||
|
|
27a21edcc9 | ||
|
|
3593f2e3e7 | ||
|
|
007fb47004 | ||
|
|
0affe66f93 | ||
|
|
311272d341 | ||
|
|
efdefdba28 | ||
|
|
a3a0effc88 | ||
|
|
d875d923f8 | ||
|
|
6b1630cc90 | ||
|
|
3904c025cb | ||
|
|
72df20000b | ||
|
|
fd8d41dbb9 | ||
|
|
07fa3d1898 | ||
|
|
6673a5f71e | ||
|
|
e4b373a800 | ||
|
|
cf2cf9efd9 | ||
|
|
6ae38da3ab | ||
|
|
19c02bdfa8 | ||
|
|
bab0bf18f8 | ||
|
|
8945348c87 | ||
|
|
ed341048de | ||
|
|
73d27e9776 | ||
|
|
bef3d87f34 | ||
|
|
9f20c727d1 | ||
|
|
810d20a59d | ||
|
|
d0f9b218f4 | ||
|
|
ffebbdb9b2 | ||
|
|
4e57a46ca5 | ||
|
|
c618cb1eaf | ||
|
|
a3bdf4ffc9 | ||
|
|
147c9052b8 | ||
|
|
cfbf32b3fb | ||
|
|
f8d2ae42ef | ||
|
|
a59a989d9b | ||
|
|
06e56ecdd8 | ||
|
|
f6fb459a7f | ||
|
|
fd8db0451e | ||
|
|
ee2f87dbbc | ||
|
|
17df23c2eb | ||
|
|
480ff5acc2 | ||
|
|
66e38cc9ed | ||
|
|
c480ffdad5 | ||
|
|
84ca659f06 | ||
|
|
25cad576b3 | ||
|
|
f5b9d920ff | ||
|
|
64fa8a6b60 | ||
|
|
ac2de4cbab | ||
|
|
3ba0a9956a | ||
|
|
c4a446b43a | ||
|
|
880bf2d621 | ||
|
|
1d37250301 | ||
|
|
7e71714863 | ||
|
|
05684744c9 | ||
|
|
3ff145e839 | ||
|
|
25b723c413 | ||
|
|
ca96def4ff | ||
|
|
c213c6ba30 | ||
|
|
8538b22f23 | ||
|
|
399ca33284 | ||
|
|
4e54fd191b | ||
|
|
19dcff8616 | ||
|
|
68e92f9eb6 | ||
|
|
5c67f368c3 | ||
|
|
a6cc71208e | ||
|
|
58eba54e8c | ||
|
|
9d9c609aab | ||
|
|
958113073f | ||
|
|
37ae6505d4 | ||
|
|
c5091e73be | ||
|
|
8eafdfa598 | ||
|
|
e7cd53e81b | ||
|
|
f8d5f93b16 | ||
|
|
48f203929e | ||
|
|
b85a09163f | ||
|
|
49ce86c78a | ||
|
|
72862118f9 | ||
|
|
631ca210a8 | ||
|
|
b51ff51387 | ||
|
|
4001551027 | ||
|
|
458cc6b4fd | ||
|
|
522aa4457a | ||
|
|
311f7006fd | ||
|
|
9913b73cb1 | ||
|
|
9e7a19291c | ||
|
|
0fe477625c | ||
|
|
6b64efbf92 | ||
|
|
235f6e3474 | ||
|
|
77552551f7 | ||
|
|
679cc4ac6c | ||
|
|
c6a136c742 | ||
|
|
1a394d1432 | ||
|
|
bffbde9f45 | ||
|
|
84848bb7d3 | ||
|
|
bb43c1c9a9 | ||
|
|
f003fa1fe6 | ||
|
|
1df4cd43cc | ||
|
|
6f553c9742 | ||
|
|
79157ce632 | ||
|
|
a6df69c305 | ||
|
|
a1dbf6ab13 | ||
|
|
ef590de0dc | ||
|
|
684c42536d | ||
|
|
881667a533 | ||
|
|
4fc144b698 | ||
|
|
1b1ea2b9ef | ||
|
|
d63172db9b | ||
|
|
2f041c7a4b | ||
|
|
43dc6f01e1 | ||
|
|
61926f208c | ||
|
|
199d19a785 | ||
|
|
7c95ccc6a7 | ||
|
|
f2437f24b9 | ||
|
|
c287a9109f | ||
|
|
3735cfc1bd | ||
|
|
315d9315c4 | ||
|
|
7e8cde055f | ||
|
|
0227f87b7a | ||
|
|
d98fd57252 | ||
|
|
4ece8efaed | ||
|
|
cef43e30fe | ||
|
|
15124b1258 | ||
|
|
b5a01efa96 | ||
|
|
aa7eb5fd09 | ||
|
|
849a730608 | ||
|
|
24bd0b74ae | ||
|
|
c1cc195ab1 | ||
|
|
06ab5b1934 | ||
|
|
d4eff959ed | ||
|
|
77e01435c0 | ||
|
|
43e1c46756 | ||
|
|
3ff6bf8ac1 | ||
|
|
5809db9eff | ||
|
|
22e7750bb3 | ||
|
|
0187c84f29 | ||
|
|
c3710c4130 | ||
|
|
2361f7543b | ||
|
|
cafb91a66a | ||
|
|
cebf586c3a | ||
|
|
40ca34ae13 | ||
|
|
67b5a79c2e | ||
|
|
76c6ff4b0f | ||
|
|
0b23d0facb | ||
|
|
9b97138786 | ||
|
|
674af41108 | ||
|
|
8935bfaa91 | ||
|
|
770400103f | ||
|
|
6d4a628331 | ||
|
|
93af7bfc64 | ||
|
|
81f7b0c108 | ||
|
|
dcc3d90574 | ||
|
|
40e952f981 | ||
|
|
0163eb520d | ||
|
|
bac5511694 | ||
|
|
9b5902b94a | ||
|
|
035019f052 | ||
|
|
ac7fac9644 | ||
|
|
0951c8fc0c | ||
|
|
0c32465aac | ||
|
|
863dc78c25 | ||
|
|
d6f0dee0c4 | ||
|
|
ced2a8e4bc | ||
|
|
ddbd41cbc5 | ||
|
|
a4eea4c64d | ||
|
|
11c9f2037d | ||
|
|
a19974d009 | ||
|
|
7486bb1100 | ||
|
|
94815cf993 | ||
|
|
8da63eae33 | ||
|
|
441dc45e69 | ||
|
|
153a0311db | ||
|
|
dddb825bbd | ||
|
|
eb6fb7fc72 | ||
|
|
6047ff930e | ||
|
|
e6f838e331 | ||
|
|
fd9a9e521f | ||
|
|
3f839e367c | ||
|
|
7fb9e57f30 | ||
|
|
e3d8524c82 | ||
|
|
28fa2e7c98 | ||
|
|
47f1ac7307 | ||
|
|
462f56d413 | ||
|
|
b230a6deee | ||
|
|
3596b6ced0 | ||
|
|
d3dc48d1d1 | ||
|
|
f4054f2633 | ||
|
|
fc9203cb50 | ||
|
|
45d95d2f50 | ||
|
|
81ac3d2a9b | ||
|
|
464244ccbe | ||
|
|
955d27b3a2 | ||
|
|
e25a82b3d6 | ||
|
|
f69c9074e7 | ||
|
|
0f95fac4ca | ||
|
|
4b5e893fcc | ||
|
|
87107c50a3 | ||
|
|
f9448ced69 | ||
|
|
ef88889404 | ||
|
|
136e169c01 | ||
|
|
a893e22311 | ||
|
|
711f5cabe7 | ||
|
|
76863f977a | ||
|
|
b35f5797de | ||
|
|
1e34a61dd6 | ||
|
|
42384c0cb4 | ||
|
|
f82726d7ef | ||
|
|
d243608611 | ||
|
|
e14186b535 | ||
|
|
9d2e1a9384 | ||
|
|
dc833e19f4 | ||
|
|
2b26a28d15 | ||
|
|
3703ba16a4 | ||
|
|
186f4c0d29 | ||
|
|
0f9c2dbb12 | ||
|
|
e346bc5263 | ||
|
|
f2314151e8 | ||
|
|
2ac973474a | ||
|
|
a2b727fb6b | ||
|
|
681b1da698 | ||
|
|
493d254a4a | ||
|
|
49f8fe8c5c | ||
|
|
f7cd6e7aad | ||
|
|
57f4548daf | ||
|
|
febb3ebb9b | ||
|
|
5948e8af3f | ||
|
|
7b3bf074b3 | ||
|
|
6190c10de8 | ||
|
|
f8e5d3a7bf | ||
|
|
46f1c898c6 | ||
|
|
352f5eea7a | ||
|
|
2f6a986d7c | ||
|
|
38d2d64ede | ||
|
|
dacd22d695 | ||
|
|
03af36dc54 | ||
|
|
38cc9acdd3 | ||
|
|
c3702d9075 | ||
|
|
af417b5ae4 | ||
|
|
642b405f87 | ||
|
|
5f0ef6a5a9 | ||
|
|
0b85855e98 | ||
|
|
84f33aa8e4 | ||
|
|
439e51bc11 | ||
|
|
ef1098be9c | ||
|
|
a5707738b7 | ||
|
|
4ebf8266a1 | ||
|
|
00d0180f26 | ||
|
|
e8fafebd96 | ||
|
|
df16cd9d0c | ||
|
|
cff49f5e45 | ||
|
|
3aec3a2606 | ||
|
|
0dd0b06287 | ||
|
|
ed12e6aa46 | ||
|
|
3139fe7a88 | ||
|
|
11bf575892 | ||
|
|
5356249100 | ||
|
|
059e19074a | ||
|
|
11f0a11177 | ||
|
|
ecfd7df157 | ||
|
|
aa41dc43bd | ||
|
|
2ac06c4a61 | ||
|
|
2ec91a0bbe | ||
|
|
f68b0811f0 | ||
|
|
baf82f1b32 | ||
|
|
681919da8e | ||
|
|
8c663ffe66 | ||
|
|
a1bc5fa1b5 | ||
|
|
cd4a615c43 | ||
|
|
8dd5d483d4 | ||
|
|
e8fdd4cf75 | ||
|
|
eff4b3ae4d | ||
|
|
d2896038b8 | ||
|
|
4ee434691a | ||
|
|
d0d6842f73 | ||
|
|
adc7be9f01 | ||
|
|
4afb83e3b0 | ||
|
|
ae62909aab | ||
|
|
964e98fb76 | ||
|
|
3240a14baa | ||
|
|
8fb6677266 | ||
|
|
79276c38dd | ||
|
|
4335167792 | ||
|
|
39d490b23d | ||
|
|
933c477717 | ||
|
|
8e2d92e5c9 | ||
|
|
91bbd18d2e | ||
|
|
6543900747 | ||
|
|
e286144524 | ||
|
|
e58de20f3a | ||
|
|
b53f8909de | ||
|
|
30e510e307 | ||
|
|
b1a76aa936 | ||
|
|
7932845674 | ||
|
|
de624c0972 | ||
|
|
f78f395683 | ||
|
|
a22d976b4e | ||
|
|
6ba537bee5 | ||
|
|
8b3aa2d826 | ||
|
|
4d0c832b47 | ||
|
|
1c42743999 | ||
|
|
7624b360f0 | ||
|
|
a8286234bb | ||
|
|
d5a45ec513 | ||
|
|
a365b42d3b | ||
|
|
d215a5f879 | ||
|
|
ab1778a523 | ||
|
|
cf0ac5504b | ||
|
|
ed4db186a1 | ||
|
|
0b80b7fa79 | ||
|
|
4433740722 | ||
|
|
8253049383 | ||
|
|
300cceaabf | ||
|
|
06d92c4ed1 | ||
|
|
562f38afff | ||
|
|
33a7e02261 | ||
|
|
470246c20f | ||
|
|
910c64ef22 | ||
|
|
c12cf3b2a0 | ||
|
|
5397265021 | ||
|
|
7847f69eab | ||
|
|
e2425df06c | ||
|
|
78650363b8 | ||
|
|
9b11f25300 | ||
|
|
f3a5655754 | ||
|
|
69be28bd1b | ||
|
|
123b904f77 | ||
|
|
a555639dd2 | ||
|
|
0d1699b67f | ||
|
|
9ac7cd2816 | ||
|
|
3797aa1a14 | ||
|
|
811e20f0d9 | ||
|
|
71e59fd31c | ||
|
|
f26c7e3f4f | ||
|
|
7e3812c970 | ||
|
|
2627c05117 | ||
|
|
6b67aa3516 | ||
|
|
8d22836ecd | ||
|
|
df8623dce1 | ||
|
|
fa8e56e944 | ||
|
|
288e2b3cdf | ||
|
|
63e3c6588a | ||
|
|
a0320dac5d | ||
|
|
74b52e8a31 | ||
|
|
ef7cce3d14 | ||
|
|
a0e569da81 | ||
|
|
396249fedc | ||
|
|
cd026ef166 | ||
|
|
2db10df5c6 | ||
|
|
2a83a85eb7 | ||
|
|
948356993b | ||
|
|
990bdda615 | ||
|
|
22f04159bb | ||
|
|
04f066ae7c | ||
|
|
9aaeef9264 | ||
|
|
6966679f33 | ||
|
|
71c5acc7a1 | ||
|
|
b9058e4987 | ||
|
|
93e9694bc6 | ||
|
|
efdb0cd2e2 | ||
|
|
e63dad0b6c | ||
|
|
29bb1df645 | ||
|
|
f94a20d7b5 | ||
|
|
5c3e16842d | ||
|
|
27499895f7 | ||
|
|
c1a9beeab8 | ||
|
|
c9a6482fc6 | ||
|
|
9626596421 | ||
|
|
b7ea251e95 | ||
|
|
d7f3331c9d | ||
|
|
7f36b244f7 | ||
|
|
832bf7c45d | ||
|
|
d633f8584a | ||
|
|
aaedb508c3 | ||
|
|
333cf6aa97 | ||
|
|
b02f75f608 | ||
|
|
010e423b2b | ||
|
|
3632a0331c | ||
|
|
4a518655a6 | ||
|
|
c4fc6642cf | ||
|
|
2791929e03 | ||
|
|
b6b7bb7680 | ||
|
|
110ce9ceca | ||
|
|
b669801e89 | ||
|
|
3a37586970 | ||
|
|
d1123a8bb1 | ||
|
|
bc76a8f9b3 | ||
|
|
c36f864682 | ||
|
|
36cfb3bd32 | ||
|
|
4cdee3b2d1 | ||
|
|
bd560b474a | ||
|
|
d49e7208fb | ||
|
|
ee4166ebea | ||
|
|
3bc9b47465 | ||
|
|
1acb0fb89f | ||
|
|
0ee2562004 | ||
|
|
db476bac57 | ||
|
|
edb9872473 | ||
|
|
301ccb1081 | ||
|
|
c0c51eb73e | ||
|
|
e9610e465e | ||
|
|
b63b13e6f0 | ||
|
|
140a67dfc9 | ||
|
|
e02f5ba3cd | ||
|
|
cbc5f3bf4b | ||
|
|
99dc18c0ba | ||
|
|
79891067e9 | ||
|
|
a3800d205d | ||
|
|
da0f65ea0a | ||
|
|
6310017877 | ||
|
|
c72f82e7a7 | ||
|
|
0dc2c3b031 | ||
|
|
21691a6741 | ||
|
|
d4baad0dcb | ||
|
|
209c607020 | ||
|
|
d5c71dbe2f | ||
|
|
019fb9e20e | ||
|
|
0cafc565be | ||
|
|
eaf7d65518 | ||
|
|
0110e5df55 | ||
|
|
4edc5f60a1 | ||
|
|
7bb422803d | ||
|
|
2531e26da1 | ||
|
|
d070f9e7f2 | ||
|
|
1dd5a7a866 | ||
|
|
70e9ff3a33 | ||
|
|
17c14d44e2 | ||
|
|
a11fdcd647 | ||
|
|
beaf7c1893 | ||
|
|
e5eed1f65b | ||
|
|
ac0e5cb7b4 | ||
|
|
013de2602a | ||
|
|
b86e1f00b2 | ||
|
|
a29645cefe | ||
|
|
e465cc8bc3 | ||
|
|
fb52509cee | ||
|
|
9ccfea24a7 | ||
|
|
71617445df | ||
|
|
73ccb74414 | ||
|
|
821483a4e9 | ||
|
|
6bf65da869 | ||
|
|
569033c091 | ||
|
|
46c4335cb5 | ||
|
|
79f80ac7da | ||
|
|
3068814e90 | ||
|
|
45c2fff6b8 | ||
|
|
fb47e529fc | ||
|
|
53b79c0c1f | ||
|
|
2f53a08aba | ||
|
|
6a54f9896b | ||
|
|
5861de98f5 | ||
|
|
70165d6843 | ||
|
|
adb0fa498f | ||
|
|
0dbdbfb53b | ||
|
|
581f8fdf79 | ||
|
|
5f8822644f | ||
|
|
c2dd7df0f2 | ||
|
|
6897398175 | ||
|
|
7b9ae15482 | ||
|
|
228ea1a668 | ||
|
|
ce740ee19e | ||
|
|
1ae709dde0 | ||
|
|
1a58488aeb | ||
|
|
cc8a2bd07e | ||
|
|
78771344b7 | ||
|
|
ce43674703 | ||
|
|
6ff2b84736 | ||
|
|
ae12fbde1c | ||
|
|
e5abbdcdab | ||
|
|
ca61e286b4 | ||
|
|
7fc869cf0f | ||
|
|
03d9f07671 | ||
|
|
86b3a999d5 | ||
|
|
3a1cc63649 | ||
|
|
0fda3d9235 | ||
|
|
c228c51423 | ||
|
|
8bdf6abe59 | ||
|
|
0a6819c0b7 | ||
|
|
d98cefecec | ||
|
|
09b95ad0bd | ||
|
|
249b8a0aa6 | ||
|
|
fba362d1de | ||
|
|
c1a24d52f5 | ||
|
|
4d9c8de5a5 | ||
|
|
01835134ee | ||
|
|
eace9b7b00 | ||
|
|
95ac333f3b | ||
|
|
6489e7b38a | ||
|
|
9b753c9c39 | ||
|
|
1ec213d5a7 | ||
|
|
e66cf5369e | ||
|
|
9a68572240 | ||
|
|
589e40aa67 | ||
|
|
fb6379eeb1 | ||
|
|
76b488a60d | ||
|
|
b52aff7225 | ||
|
|
f22a9e890f | ||
|
|
d88b83df44 | ||
|
|
5cb66bd8a7 | ||
|
|
60314ff570 | ||
|
|
5a60d0fef4 | ||
|
|
863852259d | ||
|
|
f638546d81 | ||
|
|
9015bd4049 | ||
|
|
21e3e81536 | ||
|
|
7cfce53f53 | ||
|
|
0ad30516c5 | ||
|
|
f1a0a81226 | ||
|
|
ab41e69a5e | ||
|
|
821ff96c70 | ||
|
|
c2cde65ac9 | ||
|
|
3c584cd2c4 | ||
|
|
8e400f19d2 | ||
|
|
ee425ec785 | ||
|
|
c05e1ad797 | ||
|
|
aa1786254a | ||
|
|
24cd5afa33 | ||
|
|
31e3884a68 | ||
|
|
0fa845ed27 | ||
|
|
ef0c3e2b91 | ||
|
|
5dbd3f01ea | ||
|
|
10804f316e | ||
|
|
9506f71b43 | ||
|
|
fb4c907ecb | ||
|
|
2bb23a79ed | ||
|
|
3f5f0d6a57 | ||
|
|
da75e15b4a | ||
|
|
35b739c754 | ||
|
|
d9f12135d4 | ||
|
|
58576712fa | ||
|
|
f1710e6efb | ||
|
|
ab866bef09 | ||
|
|
b9de87ea5d | ||
|
|
292d78db5c | ||
|
|
21deaddc48 | ||
|
|
e0ba5cd9f3 | ||
|
|
ba7dca89d5 | ||
|
|
56edea9bcd | ||
|
|
0ef26d6a3f | ||
|
|
6e40991cc7 | ||
|
|
2c250179dc | ||
|
|
f245dc34ff | ||
|
|
01559a684e | ||
|
|
49fb042f21 | ||
|
|
782e94b05c | ||
|
|
8e03f0351d | ||
|
|
601105471f | ||
|
|
323dc793da | ||
|
|
dd05a655c2 | ||
|
|
239050d73c | ||
|
|
44faa1c9a7 | ||
|
|
10eeea52fe | ||
|
|
1c1468210f | ||
|
|
96307dfd2e | ||
|
|
0a3db78bb9 | ||
|
|
4d494cb0f1 | ||
|
|
3ef97dc0c9 | ||
|
|
bdf9f6b4ff | ||
|
|
dce9541199 | ||
|
|
a964ae8cfa | ||
|
|
19273b1ae5 | ||
|
|
2eb65d7d72 | ||
|
|
9caf082b4a | ||
|
|
e4a2fad99b | ||
|
|
05cd0e8ada | ||
|
|
e5609bc0fe | ||
|
|
130c682c29 | ||
|
|
586d0ba3dc | ||
|
|
00f28cc185 | ||
|
|
1888fba336 | ||
|
|
d84d739ec8 | ||
|
|
9ef09861cf | ||
|
|
d2afebd2d7 | ||
|
|
76bd633d91 | ||
|
|
3a6f51781d | ||
|
|
5b004048ed | ||
|
|
4486e328d4 | ||
|
|
4f594deff9 | ||
|
|
325c63d0ca | ||
|
|
32ce337eb0 | ||
|
|
ffb38322d0 | ||
|
|
806e59fcb1 | ||
|
|
08f66e52a0 | ||
|
|
1fa1d2f1c1 | ||
|
|
aa2cfef310 | ||
|
|
8662eca2c3 | ||
|
|
ce5268076c | ||
|
|
04c6c95577 | ||
|
|
7ae3fbcfbf | ||
|
|
b4b1d1df8c | ||
|
|
4af37a7d21 | ||
|
|
44ebe7dea4 | ||
|
|
578060373a | ||
|
|
eb7cdf2bda | ||
|
|
4aa22da812 | ||
|
|
2b038fa73b | ||
|
|
e9b8d927ca | ||
|
|
17f3dd5ae6 | ||
|
|
1780a81a1d | ||
|
|
bfd8f97578 | ||
|
|
eb221eb3d1 | ||
|
|
58349156b1 | ||
|
|
fd132aba0f | ||
|
|
0549fb99eb | ||
|
|
704cad26f5 | ||
|
|
68b4b09ae6 | ||
|
|
a01d6812ed | ||
|
|
f6302ea414 | ||
|
|
b5407915cc | ||
|
|
83d7c3547c | ||
|
|
3a43c6bad4 | ||
|
|
157935e9a0 | ||
|
|
7fba7a08bc | ||
|
|
6e815e708d | ||
|
|
263833b3bf | ||
|
|
f300476468 | ||
|
|
12b6244129 | ||
|
|
d8e78fee09 | ||
|
|
c8b4ef2257 | ||
|
|
66deed24b8 | ||
|
|
cf6ae23413 | ||
|
|
b406f4471a | ||
|
|
a474e00d15 | ||
|
|
894f073e4b | ||
|
|
e16487d416 | ||
|
|
19e593059a | ||
|
|
06a67b72a8 | ||
|
|
863ec74f0d | ||
|
|
7fb59d033a | ||
|
|
40e74e43d6 | ||
|
|
f8ca91f317 | ||
|
|
300bbfb67b | ||
|
|
e389cf4348 | ||
|
|
b55f1bdfe2 | ||
|
|
775b507941 | ||
|
|
f71cf37818 | ||
|
|
1ffcd36c70 | ||
|
|
fa138e866a | ||
|
|
0f4499121a | ||
|
|
2626ed2181 | ||
|
|
e138ee5297 | ||
|
|
275d7efbc9 | ||
|
|
b3141edcbd | ||
|
|
f7ba0e4d1c | ||
|
|
bfd3a1dd47 | ||
|
|
12e456cc84 | ||
|
|
1f88cbf49e | ||
|
|
78109f36ad | ||
|
|
16a4066e7f | ||
|
|
32d5c22a9a | ||
|
|
04d7e63a58 | ||
|
|
4f403ac015 | ||
|
|
3a0777201c | ||
|
|
14f2fe214f | ||
|
|
8b1b0b6582 | ||
|
|
e1152f9483 | ||
|
|
dc3fae4477 | ||
|
|
101265388b | ||
|
|
708f793933 | ||
|
|
f9abd70eeb | ||
|
|
be94bf9ffa | ||
|
|
7b461e109e | ||
|
|
efc5bbd9fb | ||
|
|
f9654726cf | ||
|
|
057e38663f | ||
|
|
f066df412c | ||
|
|
542f8fc053 | ||
|
|
de3990479e | ||
|
|
56222afe07 | ||
|
|
8cdf6aac15 | ||
|
|
e4220b7b55 | ||
|
|
1ba24912c7 | ||
|
|
70f93d8816 | ||
|
|
b76714719e | ||
|
|
0f1f158d8b | ||
|
|
5e9492cb6e | ||
|
|
a24b781e54 | ||
|
|
99cfac6aa0 | ||
|
|
b3f7896a51 | ||
|
|
f0ec323e2c | ||
|
|
0a1b61508b | ||
|
|
606d748e5b | ||
|
|
3f333b01fd | ||
|
|
7c0b92e3f6 | ||
|
|
51d8682139 | ||
|
|
6e8fceb0c7 | ||
|
|
bcdb91183f | ||
|
|
43b56d9981 | ||
|
|
f40b964526 | ||
|
|
3fefb08b34 | ||
|
|
82a4bee00b | ||
|
|
ac1630f435 | ||
|
|
f0728ed365 | ||
|
|
b0d6cf7b9b | ||
|
|
cd76469613 | ||
|
|
d117624657 | ||
|
|
b3dedb3f37 | ||
|
|
a20c503d14 | ||
|
|
699ed2e2a2 | ||
|
|
9500d549ec | ||
|
|
dc56892d72 | ||
|
|
2d345fa912 | ||
|
|
30058e091f | ||
|
|
fa0eee2470 | ||
|
|
777a3951aa | ||
|
|
e95d1f16f4 | ||
|
|
f9152e6f40 | ||
|
|
95012b0af6 | ||
|
|
dd5b9b89f6 | ||
|
|
f49fa81d42 | ||
|
|
497b8dea84 | ||
|
|
2f012f6e07 | ||
|
|
b750a3b974 | ||
|
|
998d012ea7 | ||
|
|
dbe226b7cc | ||
|
|
34fda74674 | ||
|
|
f8ab6b3aa0 | ||
|
|
443609286e | ||
|
|
daf67d607f | ||
|
|
0dcb7584b5 | ||
|
|
68987b0ab8 | ||
|
|
64c3f63aab | ||
|
|
22342648af | ||
|
|
b1efc8f723 | ||
|
|
6613de7595 | ||
|
|
15e225ab35 | ||
|
|
66447349f6 | ||
|
|
2242214368 | ||
|
|
a6f44f5f79 | ||
|
|
45c78f438e | ||
|
|
d1437f2304 | ||
|
|
37b64fc9d6 | ||
|
|
fe0f10a063 | ||
|
|
51af10a25b | ||
|
|
b4112bc886 | ||
|
|
b5e1746b87 | ||
|
|
cf4026a948 | ||
|
|
778275ee1b | ||
|
|
4cc4f364d6 | ||
|
|
0bc0b71ef3 | ||
|
|
887b2727f0 | ||
|
|
6d0c89663d | ||
|
|
5263eeb973 | ||
|
|
aaa5bcc157 | ||
|
|
971ccccab4 | ||
|
|
720f8dcc52 | ||
|
|
127749c454 | ||
|
|
b9477cdb94 | ||
|
|
062937ac5a | ||
|
|
d15534ecb8 | ||
|
|
c635ce442f | ||
|
|
8662a55bc3 | ||
|
|
ce870bf20e | ||
|
|
61017a2d4d | ||
|
|
1111757977 | ||
|
|
7acf0e5b02 | ||
|
|
67afd91888 | ||
|
|
cfc2b95f59 | ||
|
|
947e3c64fe | ||
|
|
1b68890e1e | ||
|
|
91cd93e5d0 | ||
|
|
53f77ee7b5 | ||
|
|
f6ce43f83b | ||
|
|
0c09847ec9 | ||
|
|
1d37889ee1 | ||
|
|
79ef0e19b2 | ||
|
|
17d47533ed | ||
|
|
492627977e | ||
|
|
1e43075b25 | ||
|
|
c38126b094 | ||
|
|
0bb23924f0 | ||
|
|
44b048edd6 | ||
|
|
24553c2e4a | ||
|
|
84c1f3a4ee | ||
|
|
7574e5c1db | ||
|
|
090229f8a1 | ||
|
|
dc91e0958b | ||
|
|
6e5f31214a | ||
|
|
ce8065fe68 | ||
|
|
cb5ee6c239 | ||
|
|
b2cf56c618 | ||
|
|
9583ac4d52 | ||
|
|
8bac9315e6 | ||
|
|
4e428ab020 | ||
|
|
c8b81b4239 | ||
|
|
20e889fadb | ||
|
|
5e22d5366e | ||
|
|
cfc9367610 | ||
|
|
90be3d8215 | ||
|
|
0628c9b190 | ||
|
|
573dad7d04 | ||
|
|
77c3594e08 | ||
|
|
c4a59690da | ||
|
|
1bccef940c | ||
|
|
4f1ea1c4f8 | ||
|
|
a79c54cde7 | ||
|
|
587a8b20f4 | ||
|
|
6f0cdd14f8 | ||
|
|
fa137a93e9 | ||
|
|
e388bfc371 | ||
|
|
5f65de0ef4 | ||
|
|
1d679a8357 | ||
|
|
314f732333 | ||
|
|
65616c2c53 | ||
|
|
e6ba730c59 | ||
|
|
1ea50e209a | ||
|
|
1b3dca6b7d | ||
|
|
5cad8a60c9 | ||
|
|
f9b7746ea1 | ||
|
|
19ea4244f5 | ||
|
|
cc65a1d76c | ||
|
|
17fc6bd66e | ||
|
|
d93488448e | ||
|
|
968d87045d | ||
|
|
40af75c19d | ||
|
|
ba1de16ac2 | ||
|
|
ab4fe3fdf4 | ||
|
|
0e0c8b5569 | ||
|
|
eb889c95e0 | ||
|
|
a6ebecd707 | ||
|
|
ee4341892c | ||
|
|
5aa7cdedb8 | ||
|
|
4c12f8970c | ||
|
|
eceb4e51ad | ||
|
|
88e7637a33 | ||
|
|
cf9e21febd | ||
|
|
41f3e2e0cf | ||
|
|
9f822f1391 | ||
|
|
01322d11ff | ||
|
|
cc66c999b0 | ||
|
|
d516a1aa57 | ||
|
|
eb115ad42a | ||
|
|
d1a00d8173 | ||
|
|
7bc3e944ad | ||
|
|
1d79a1ac80 | ||
|
|
5cbe4a40d3 | ||
|
|
b6ed8cc767 | ||
|
|
7818c4f30b | ||
|
|
2adc22cae3 | ||
|
|
647182d67c | ||
|
|
ac285dd521 | ||
|
|
cb1c0f9b5a | ||
|
|
e1f28cea96 | ||
|
|
7773506b00 | ||
|
|
74df3e9553 | ||
|
|
42d06a1276 | ||
|
|
08377f37f3 | ||
|
|
a46b1aa86e | ||
|
|
3d031ee8f8 | ||
|
|
c6e7814b57 | ||
|
|
2d61c97bc7 | ||
|
|
ece06b37da | ||
|
|
6fbda11d02 | ||
|
|
5d7e18de54 | ||
|
|
837a582510 | ||
|
|
310137d045 | ||
|
|
0c5350c58d | ||
|
|
40a2186093 | ||
|
|
d6ac7f4a60 | ||
|
|
51b2ff84fc | ||
|
|
6bf7ad4e2b | ||
|
|
eb31cf1d4b | ||
|
|
977d7cd0b3 | ||
|
|
17d5422c8c | ||
|
|
030492de19 | ||
|
|
f408fdf5f0 | ||
|
|
ba1716d846 | ||
|
|
d4d0b5959a | ||
|
|
fbacfbdb69 | ||
|
|
b4c8f6b778 | ||
|
|
c2c355b623 | ||
|
|
d999833517 | ||
|
|
9b6df8a267 | ||
|
|
57f6bcc4b0 | ||
|
|
faaf62afad | ||
|
|
ac03b8b503 | ||
|
|
1884c06652 | ||
|
|
4b0dbd7bd1 | ||
|
|
932a38abc0 | ||
|
|
ba2329a9c0 | ||
|
|
f449033ea8 | ||
|
|
102dc5f0f0 | ||
|
|
af2666fde3 | ||
|
|
322ce39e98 | ||
|
|
f0240ef3bb | ||
|
|
388a93fe25 | ||
|
|
a294cad5c8 | ||
|
|
a0c9f8c9a0 | ||
|
|
70c81e27e8 | ||
|
|
1bb73e017e | ||
|
|
4a0afc0347 | ||
|
|
7790ec4a17 | ||
|
|
e276ae3c2f | ||
|
|
d463541082 | ||
|
|
2a65a32de1 | ||
|
|
f2948dce67 | ||
|
|
14e5d740cd | ||
|
|
78eed44d15 | ||
|
|
80fdf09b26 | ||
|
|
bed18c26c3 | ||
|
|
7de6eb2bad | ||
|
|
0adb3e1b9c | ||
|
|
153fa10dc5 | ||
|
|
85e5108452 | ||
|
|
c1620f3868 | ||
|
|
43f7c3c748 | ||
|
|
044af8f674 | ||
|
|
c8299d7d8f | ||
|
|
36c7b556e3 | ||
|
|
db11ba7a34 | ||
|
|
3c3d4ef64b | ||
|
|
ce0d371c98 | ||
|
|
31120dd88c | ||
|
|
1113afbfad | ||
|
|
bfa16ba848 | ||
|
|
e57e19fee6 | ||
|
|
fc2638de9c | ||
|
|
1e4f367a1d | ||
|
|
32545aefde | ||
|
|
2e6f180e95 | ||
|
|
3b78290cd3 | ||
|
|
5482207823 | ||
|
|
075d9a257e | ||
|
|
a9731d6dd5 | ||
|
|
032d199961 | ||
|
|
bcce5fa8e6 | ||
|
|
00a2a9feef | ||
|
|
e0b92bb633 | ||
|
|
d3436555f8 | ||
|
|
618729bf5a | ||
|
|
ff46fc7d93 | ||
|
|
20295c68fd | ||
|
|
95d32473a1 | ||
|
|
def2ae50ee | ||
|
|
a7b2797514 | ||
|
|
42bd0f4729 | ||
|
|
1fd5e6e210 | ||
|
|
5d1d47c01b | ||
|
|
63b6f6f55e | ||
|
|
7447980e2b | ||
|
|
158b6945fd | ||
|
|
9a33512564 | ||
|
|
7413032185 | ||
|
|
cc81020875 | ||
|
|
2e5700d32d | ||
|
|
7c6debbef6 | ||
|
|
3c2d9f7532 | ||
|
|
e751502412 | ||
|
|
901f8ba19a | ||
|
|
69f2d768b1 | ||
|
|
47430de294 | ||
|
|
a9ca4db07b | ||
|
|
be17261a92 | ||
|
|
e15742b404 | ||
|
|
7048fe5377 | ||
|
|
3e258ea74e | ||
|
|
7f3f397706 | ||
|
|
1e3b015a6f | ||
|
|
3f982a4de4 | ||
|
|
f946b24e63 | ||
|
|
78f3b5c5f6 | ||
|
|
749bc4ea7e | ||
|
|
0c326fa302 | ||
|
|
53c8af4566 | ||
|
|
dee5400485 | ||
|
|
e9e4d0a073 | ||
|
|
b63332de80 | ||
|
|
fe57aa46df | ||
|
|
bd7c04f738 | ||
|
|
8c10cd220f | ||
|
|
3d5990500b | ||
|
|
e6c9eb9824 | ||
|
|
c08c0f85eb | ||
|
|
3c4d151e03 | ||
|
|
c06fcb2491 | ||
|
|
6a6d1d6186 | ||
|
|
a6ad04cfdf | ||
|
|
3cc01c6239 | ||
|
|
52069dac40 | ||
|
|
31a4d2aa3e | ||
|
|
172d5e7988 | ||
|
|
a6ca8bb904 | ||
|
|
52bc3a41c8 | ||
|
|
80ae4cb7d8 | ||
|
|
cc7535ee52 | ||
|
|
eb1276013b | ||
|
|
41ddc536d6 | ||
|
|
7ef2e9553c | ||
|
|
cdada926d8 | ||
|
|
5b38a94c9a | ||
|
|
0acb780715 | ||
|
|
6b9167199f | ||
|
|
a4e1639529 | ||
|
|
758e89208e | ||
|
|
bff52694c4 | ||
|
|
4bd6a3a6e8 | ||
|
|
aafa6e3e53 | ||
|
|
4354371b4e | ||
|
|
6a295d5e8e | ||
|
|
eb357b51f2 | ||
|
|
dae4dbf377 | ||
|
|
0c24fd66cd | ||
|
|
a1a22205c6 | ||
|
|
4dc0f07828 | ||
|
|
67327dfb2e | ||
|
|
61ab32e6f5 | ||
|
|
416bb224e0 | ||
|
|
3923d11dc6 | ||
|
|
5842e1b2aa | ||
|
|
7676c5b65b | ||
|
|
1446f8b599 | ||
|
|
324205df88 | ||
|
|
2f8f2880ff | ||
|
|
e8e2cbcc28 | ||
|
|
4635232d93 | ||
|
|
d63458f8e0 | ||
|
|
094aa24bf6 | ||
|
|
0d8f7ab0e1 | ||
|
|
e2ec07ae87 | ||
|
|
8d23201a05 | ||
|
|
c215e576e6 | ||
|
|
51c918f212 | ||
|
|
1b501bb509 | ||
|
|
5de9f41f5a | ||
|
|
f6293153c8 | ||
|
|
88a25713a5 | ||
|
|
5713363c89 | ||
|
|
322a3cca50 | ||
|
|
054530fdb4 | ||
|
|
ff33fdeb8e | ||
|
|
3ea96df63c | ||
|
|
26edfd1f92 | ||
|
|
66f0f6ccbe | ||
|
|
820cfb40ca | ||
|
|
f8ae7fcc5f | ||
|
|
60f1ea8088 | ||
|
|
6e715ddc10 | ||
|
|
d69d9c4622 | ||
|
|
b5cc7c2fe1 | ||
|
|
e61a6017f9 | ||
|
|
5e73cc4298 | ||
|
|
f954763635 | ||
|
|
09025dc8ef |
11
.gitignore
vendored
11
.gitignore
vendored
@@ -26,8 +26,16 @@ h264dec
|
||||
h264enc
|
||||
codec_unittest
|
||||
|
||||
# Other files generated by the MSVC compiler
|
||||
*.exp
|
||||
*.pdb
|
||||
|
||||
# Executables built by the MSVC project files
|
||||
bin
|
||||
|
||||
# External source
|
||||
gtest
|
||||
gmp-api
|
||||
|
||||
# Output files from example commands
|
||||
testbin/test_vd_1d.264
|
||||
@@ -36,3 +44,6 @@ testbin/test_vd_rc.264
|
||||
testbin/test_vd_rc.yuv
|
||||
testbin/test.264
|
||||
testbin/test.yuv
|
||||
|
||||
# pkg-config file
|
||||
*.pc
|
||||
|
||||
33
.travis.yml
33
.travis.yml
@@ -1,9 +1,38 @@
|
||||
language: cpp
|
||||
|
||||
compiler:
|
||||
- g++
|
||||
- clang
|
||||
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- 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}
|
||||
|
||||
@@ -44,8 +44,9 @@ Rory Zhang
|
||||
Volvet Zhang
|
||||
Ling Zhu
|
||||
James Zhu
|
||||
|
||||
|
||||
Dong Zhang
|
||||
Haibo Zhu
|
||||
Huade Shi
|
||||
|
||||
|
||||
|
||||
|
||||
233
Makefile
233
Makefile
@@ -1,3 +1,10 @@
|
||||
SRC_PATH=$(word 1, $(dir $(MAKEFILE_LIST)))
|
||||
vpath %.c $(SRC_PATH)
|
||||
vpath %.cc $(SRC_PATH)
|
||||
vpath %.cpp $(SRC_PATH)
|
||||
vpath %.asm $(SRC_PATH)
|
||||
vpath %.S $(SRC_PATH)
|
||||
|
||||
OS=$(shell uname | tr A-Z a-z | tr -d \\-[:digit:].)
|
||||
ARCH=$(shell uname -m)
|
||||
LIBPREFIX=lib
|
||||
@@ -6,6 +13,7 @@ CCAS=$(CC)
|
||||
CXX_O=-o $@
|
||||
CXX_LINK_O=-o $@
|
||||
AR_OPTS=cr $@
|
||||
LINK_LOCAL_DIR=-L.
|
||||
LINK_LIB=-l$(1)
|
||||
CFLAGS_OPT=-O3
|
||||
CFLAGS_DEBUG=-g
|
||||
@@ -14,9 +22,20 @@ V=Yes
|
||||
PREFIX=/usr/local
|
||||
SHARED=-shared
|
||||
OBJ=o
|
||||
SHAREDLIB_DIR=$(PREFIX)/lib
|
||||
PROJECT_NAME=openh264
|
||||
MODULE_NAME=gmpopenh264
|
||||
GMP_API_BRANCH=Firefox36
|
||||
CCASFLAGS=$(CFLAGS)
|
||||
VERSION=1.2
|
||||
|
||||
ifeq (,$(wildcard ./gtest))
|
||||
ifeq (,$(wildcard $(SRC_PATH)gmp-api))
|
||||
HAVE_GMP_API=No
|
||||
else
|
||||
HAVE_GMP_API=Yes
|
||||
endif
|
||||
|
||||
ifeq (,$(wildcard $(SRC_PATH)gtest))
|
||||
HAVE_GTEST=No
|
||||
else
|
||||
HAVE_GTEST=Yes
|
||||
@@ -36,7 +55,8 @@ CFLAGS += -fsanitize=address
|
||||
LDFLAGS += -fsanitize=address
|
||||
endif
|
||||
|
||||
include build/platform-$(OS).mk
|
||||
SHAREDLIBVERSION=0
|
||||
include $(SRC_PATH)build/platform-$(OS).mk
|
||||
|
||||
|
||||
CFLAGS +=
|
||||
@@ -58,85 +78,149 @@ ifneq ($(V),Yes)
|
||||
endif
|
||||
|
||||
|
||||
INCLUDES = -Icodec/api/svc -Icodec/common/inc
|
||||
INCLUDES += -I$(SRC_PATH)codec/api/svc -I$(SRC_PATH)codec/common/inc
|
||||
|
||||
DECODER_INCLUDES = \
|
||||
-Icodec/decoder/core/inc \
|
||||
-Icodec/decoder/plus/inc
|
||||
DECODER_INCLUDES += \
|
||||
-I$(SRC_PATH)codec/decoder/core/inc \
|
||||
-I$(SRC_PATH)codec/decoder/plus/inc
|
||||
|
||||
ENCODER_INCLUDES = \
|
||||
-Icodec/encoder/core/inc \
|
||||
-Icodec/encoder/plus/inc \
|
||||
-Icodec/processing/interface
|
||||
ENCODER_INCLUDES += \
|
||||
-I$(SRC_PATH)codec/encoder/core/inc \
|
||||
-I$(SRC_PATH)codec/encoder/plus/inc \
|
||||
-I$(SRC_PATH)codec/processing/interface
|
||||
|
||||
PROCESSING_INCLUDES = \
|
||||
-Icodec/processing/interface \
|
||||
-Icodec/processing/src/common \
|
||||
-Icodec/processing/src/scrolldetection
|
||||
PROCESSING_INCLUDES += \
|
||||
-I$(SRC_PATH)codec/processing/interface \
|
||||
-I$(SRC_PATH)codec/processing/src/common \
|
||||
-I$(SRC_PATH)codec/processing/src/adaptivequantization \
|
||||
-I$(SRC_PATH)codec/processing/src/downsample \
|
||||
-I$(SRC_PATH)codec/processing/src/scrolldetection \
|
||||
-I$(SRC_PATH)codec/processing/src/vaacalc
|
||||
|
||||
GTEST_INCLUDES += \
|
||||
-Igtest \
|
||||
-Igtest/include
|
||||
-I$(SRC_PATH)gtest \
|
||||
-I$(SRC_PATH)gtest/include
|
||||
|
||||
CODEC_UNITTEST_INCLUDES += \
|
||||
-Igtest/include \
|
||||
-Icodec/common/inc \
|
||||
-I$(SRC_PATH)gtest/include \
|
||||
-I$(SRC_PATH)codec/common/inc \
|
||||
|
||||
H264DEC_INCLUDES = $(DECODER_INCLUDES) -Icodec/console/dec/inc
|
||||
H264DEC_LDFLAGS = -L. $(call LINK_LIB,decoder) $(call LINK_LIB,common)
|
||||
H264DEC_DEPS = $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
|
||||
CONSOLE_COMMON_INCLUDES += \
|
||||
-I$(SRC_PATH)codec/console/common/inc
|
||||
|
||||
H264ENC_INCLUDES = $(ENCODER_INCLUDES) -Icodec/console/enc/inc
|
||||
H264ENC_LDFLAGS = -L. $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common)
|
||||
H264ENC_DEPS = $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
|
||||
H264DEC_INCLUDES += $(DECODER_INCLUDES) $(CONSOLE_COMMON_INCLUDES) -I$(SRC_PATH)codec/console/dec/inc
|
||||
H264DEC_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,decoder) $(call LINK_LIB,common) $(call LINK_LIB,console_common)
|
||||
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) -I$(SRC_PATH)codec/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)
|
||||
DECODER_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/decoder
|
||||
ENCODER_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(ENCODER_INCLUDES) -Itest -Itest/encoder
|
||||
PROCESSING_UNITTEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) $(PROCESSING_INCLUDES) -Itest -Itest/processing
|
||||
API_TEST_INCLUDES = $(CODEC_UNITTEST_INCLUDES) -Itest -Itest/api
|
||||
.PHONY: test gtest-bootstrap clean
|
||||
DECODER_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -I$(SRC_PATH)test -I$(SRC_PATH)test/decoder
|
||||
ENCODER_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(ENCODER_INCLUDES) -I$(SRC_PATH)test -I$(SRC_PATH)test/encoder
|
||||
PROCESSING_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(PROCESSING_INCLUDES) -I$(SRC_PATH)test -I$(SRC_PATH)test/processing
|
||||
API_TEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) -I$(SRC_PATH)test -I$(SRC_PATH)test/api
|
||||
COMMON_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -I$(SRC_PATH)test -I$(SRC_PATH)test/common
|
||||
MODULE_INCLUDES += -I$(SRC_PATH)gmp-api
|
||||
|
||||
.PHONY: test gtest-bootstrap clean $(PROJECT_NAME).pc
|
||||
|
||||
all: libraries binaries
|
||||
|
||||
generate-version:
|
||||
$(QUIET)cd $(SRC_PATH) && sh ./codec/common/generate_version.sh
|
||||
|
||||
codec/decoder/plus/src/welsDecoderExt.$(OBJ): | generate-version
|
||||
codec/encoder/plus/src/welsEncoderExt.$(OBJ): | generate-version
|
||||
|
||||
clean:
|
||||
$(QUIET)rm -f $(OBJS) $(OBJS:.$(OBJ)=.d) $(LIBRARIES) $(BINARIES)
|
||||
ifeq (android,$(OS))
|
||||
clean: clean_Android
|
||||
endif
|
||||
$(QUIET)rm -f $(OBJS) $(OBJS:.$(OBJ)=.d) $(OBJS:.$(OBJ)=.obj) $(LIBRARIES) $(BINARIES) *.lib *.a *.dylib *.dll *.so
|
||||
|
||||
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:
|
||||
svn co https://googletest.googlecode.com/svn/trunk/ gtest
|
||||
|
||||
ifeq ($(HAVE_GTEST),Yes)
|
||||
|
||||
test: codec_unittest$(EXEEXT)
|
||||
ifneq (android,$(OS))
|
||||
ifneq (ios,$(OS))
|
||||
./codec_unittest
|
||||
endif
|
||||
endif
|
||||
|
||||
else
|
||||
test:
|
||||
@echo "./gtest : No such file or directory."
|
||||
@echo "You do not have gtest. Run make gtest-bootstrap to get gtest"
|
||||
endif
|
||||
|
||||
include codec/common/targets.mk
|
||||
include codec/decoder/targets.mk
|
||||
include codec/encoder/targets.mk
|
||||
include codec/processing/targets.mk
|
||||
include $(SRC_PATH)codec/common/targets.mk
|
||||
include $(SRC_PATH)codec/decoder/targets.mk
|
||||
include $(SRC_PATH)codec/encoder/targets.mk
|
||||
include $(SRC_PATH)codec/processing/targets.mk
|
||||
|
||||
ifeq ($(HAVE_GMP_API),Yes)
|
||||
include $(SRC_PATH)module/targets.mk
|
||||
endif
|
||||
|
||||
ifneq (android, $(OS))
|
||||
ifneq (ios, $(OS))
|
||||
include codec/console/dec/targets.mk
|
||||
include codec/console/enc/targets.mk
|
||||
include $(SRC_PATH)codec/console/dec/targets.mk
|
||||
include $(SRC_PATH)codec/console/enc/targets.mk
|
||||
include $(SRC_PATH)codec/console/common/targets.mk
|
||||
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).$(SHAREDLIBSUFFIXVER)
|
||||
|
||||
$(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_AR)$(AR) $(AR_OPTS) $+
|
||||
|
||||
$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXVER): $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS)
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(CXX_LINK_O) $+ $(LDFLAGS) $(SHLDFLAGS)
|
||||
|
||||
ifneq ($(SHAREDLIBSUFFIXVER),$(SHAREDLIBSUFFIX))
|
||||
$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX): $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXVER)
|
||||
$(QUIET)ln -sfn $+ $@
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_GMP_API),Yes)
|
||||
plugin: $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX)
|
||||
LIBRARIES += $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIXVER)
|
||||
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).$(SHAREDLIBSUFFIXVER): $(MODULE_OBJS) $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(CXX_LINK_O) $+ $(LDFLAGS) $(SHLDFLAGS) $(MODULE_LDFLAGS)
|
||||
|
||||
ifneq ($(SHAREDLIBSUFFIXVER),$(SHAREDLIBSUFFIX))
|
||||
$(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX): $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIXVER)
|
||||
$(QUIET)ln -sfn $+ $@
|
||||
endif
|
||||
|
||||
$(PROJECT_NAME).pc: $(PROJECT_NAME).pc.in
|
||||
@sed -e 's;@prefix@;$(PREFIX);' -e 's;@VERSION@;$(VERSION);' < $(PROJECT_NAME).pc.in > $(PROJECT_NAME).pc
|
||||
|
||||
install-headers:
|
||||
mkdir -p $(PREFIX)/include/wels
|
||||
@@ -146,9 +230,14 @@ install-static: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) install-headers
|
||||
mkdir -p $(PREFIX)/lib
|
||||
install -m 644 $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(PREFIX)/lib
|
||||
|
||||
install-shared: $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) install-headers
|
||||
mkdir -p $(PREFIX)/lib
|
||||
install -m 755 $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(PREFIX)/lib
|
||||
install-shared: $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) install-headers $(PROJECT_NAME).pc
|
||||
mkdir -p $(SHAREDLIB_DIR)
|
||||
install -m 755 $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXVER) $(SHAREDLIB_DIR)
|
||||
if [ "$(SHAREDLIBSUFFIXVER)" != "$(SHAREDLIBSUFFIX)" ]; then \
|
||||
cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(SHAREDLIB_DIR); \
|
||||
fi
|
||||
mkdir -p $(PREFIX)/lib/pkgconfig
|
||||
install -m 444 $(PROJECT_NAME).pc $(PREFIX)/lib/pkgconfig
|
||||
ifneq ($(EXTRA_LIBRARY),)
|
||||
install -m 644 $(EXTRA_LIBRARY) $(PREFIX)/lib
|
||||
endif
|
||||
@@ -157,19 +246,65 @@ install: install-static install-shared
|
||||
@:
|
||||
|
||||
ifeq ($(HAVE_GTEST),Yes)
|
||||
include build/gtest-targets.mk
|
||||
include test/api/targets.mk
|
||||
include test/decoder/targets.mk
|
||||
include test/encoder/targets.mk
|
||||
include test/processing/targets.mk
|
||||
include $(SRC_PATH)build/gtest-targets.mk
|
||||
include $(SRC_PATH)test/api/targets.mk
|
||||
include $(SRC_PATH)test/decoder/targets.mk
|
||||
include $(SRC_PATH)test/encoder/targets.mk
|
||||
include $(SRC_PATH)test/processing/targets.mk
|
||||
include $(SRC_PATH)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) $(CXX_LINK_O) $+ $(LDFLAGS) $(CODEC_UNITTEST_LDFLAGS)
|
||||
|
||||
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))
|
||||
ifeq (./,$(SRC_PATH))
|
||||
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):
|
||||
@:
|
||||
endif
|
||||
else
|
||||
codec_unittest$(EXEEXT): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(COMMON_UNITTEST_OBJS) $(CODEC_UNITTEST_DEPS) | res
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS) $(LDFLAGS)
|
||||
|
||||
res:
|
||||
$(QUIET)if [ ! -e res ]; then ln -s $(SRC_PATH)res .; fi
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
else
|
||||
binaries:
|
||||
@:
|
||||
endif
|
||||
|
||||
-include $(OBJS:.$(OBJ)=.d)
|
||||
|
||||
OBJDIRS = $(sort $(dir $(OBJS)))
|
||||
|
||||
$(OBJDIRS):
|
||||
$(QUIET)mkdir -p $@
|
||||
|
||||
$(OBJS): | $(OBJDIRS)
|
||||
|
||||
@@ -64,14 +64,13 @@ The codec and demo can be built by
|
||||
'make OS=android NDKROOT=**ANDROID_NDK** TARGET= **ANDROID_TARGET**'
|
||||
|
||||
Valid **ANDROID_TARGET** can be found in **ANDROID_SDK**/platforms, such as android-12.
|
||||
You can also set ARCH, NDKLEVEL, GCCVERSION according to your device and NDK version.
|
||||
You can also set ARCH, NDKLEVEL according to your device and NDK version.
|
||||
ARCH specifies the architecture of android device. Currently only arm and x86 are supported, the default is arm.
|
||||
NDKLEVEL specifies android api level, the api level can be 12-19, the default is 12.
|
||||
GCCVERSION specifies which gcc in NDK is used, the default is 4.8.
|
||||
|
||||
By default these commands build for the armeabi-v7a ABI. To build for the other android
|
||||
ABIs, add "ARCH=mips" or "ARCH=x86". To build for the older armeabi ABI (which has
|
||||
armv5te as baseline), add "APP_ABI=armeabi" (ARCH=arm is implicit).
|
||||
ABIs, add "ARCH=arm64", "ARCH=x86", "ARCH=x86_64", "ARCH=mips" or "ARCH=mips64".
|
||||
To build for the older armeabi ABI (which has armv5te as baseline), add "APP_ABI=armeabi" (ARCH=arm is implicit).
|
||||
|
||||
For iOS Builds
|
||||
--------------
|
||||
|
||||
84
RELEASES
Normal file
84
RELEASES
Normal file
@@ -0,0 +1,84 @@
|
||||
|
||||
Releases
|
||||
-----------
|
||||
v1.3.0
|
||||
------
|
||||
- Removed manual API document, now using wiki: https://github.com/cisco/openh264/wiki (0af48e5 for v1.3.0)
|
||||
- Added API version in API header files
|
||||
- Added pkg-config file
|
||||
- Added decoder support of parsing only (bParseOnly) for only parsing bit stream but not decoding
|
||||
- Added timestamp and max nal size in gmp-openh264.cpp when calling encoding
|
||||
- Added timestamp info in decoder input and return structure
|
||||
- Added support of level 9 in decoder
|
||||
- Added total length of the encoded frame in encoder return structure
|
||||
- Added SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,&base) for encoder
|
||||
- Set constraint set 0 and 1 flags for non-scalable
|
||||
- Improved error concealment algorithms and provide more modes of error-concealment
|
||||
- Improved rate control algorithms and reference selection algorithms for screen content encoding
|
||||
- Added encoder and decoder statistics interface
|
||||
- Improved input parameter checking and logging
|
||||
- Bug fixes, warning reductions, and test improvements
|
||||
|
||||
-----------
|
||||
v1.2.0
|
||||
------
|
||||
- Add and modify encoder APIs related to rate control and screen content encoding
|
||||
- Remove PauseFrame in encoder APIs
|
||||
- Improve rate control and compression ratio for screen content encoding
|
||||
- Improve error concealment algorithm
|
||||
- Improve validation of input parameters
|
||||
- Add ARM64 assembly
|
||||
- bug fixes
|
||||
|
||||
-----------
|
||||
v1.1.0
|
||||
------
|
||||
- Modify some APIs (see API doc for detail)
|
||||
- Improve the compression ratio of screen content encoding
|
||||
- ARM64 assembly support for most of core functions in encoder & decoder
|
||||
- Modify error concealment logic to always return decoding error info until IDR picture comes
|
||||
- fix some bugs
|
||||
|
||||
|
||||
Binaries
|
||||
-----------
|
||||
These binary releases are distributed under this license:
|
||||
http://www.openh264.org/BINARY_LICENSE.txt
|
||||
|
||||
v1.3.0
|
||||
------
|
||||
// to be added
|
||||
|
||||
v1.2.0
|
||||
------
|
||||
http://ciscobinary.openh264.org/libopenh264-1.2.0-android19.so.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.2.0-linux32.so.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.2.0-linux64.so.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.2.0-osx32.dylib.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.2.0-osx64.dylib.bz2
|
||||
http://ciscobinary.openh264.org/openh264-1.2.0-win32msvc.dll.bz2
|
||||
http://ciscobinary.openh264.org/openh264-1.2.0-win64msvc.dll.bz2
|
||||
|
||||
v1.1.0
|
||||
------
|
||||
http://ciscobinary.openh264.org/libopenh264-1.1.0-android19.so.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.1.0-linux32.so.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.1.0-linux64.so.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.1.0-osx32.dylib.bz2
|
||||
http://ciscobinary.openh264.org/libopenh264-1.1.0-osx64.dylib.bz2
|
||||
http://ciscobinary.openh264.org/openh264-1.1.0-win32msvc.dll.bz2
|
||||
http://ciscobinary.openh264.org/openh264-1.1.0-win64msvc.dll.bz2
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
13
autotest/performanceTest/.gitignore
vendored
Normal file
13
autotest/performanceTest/.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
#performance test resource folder
|
||||
./EncoderPerfTestRes
|
||||
./DecoderPerfTestRes
|
||||
./DecoderPerfTestRes/*.*
|
||||
./EncoderPerfTestRes/*.*
|
||||
#performance test result folder
|
||||
./TestResultCSV
|
||||
#
|
||||
.DS_Store
|
||||
#.
|
||||
./android/report
|
||||
./ios/report
|
||||
|
||||
180
autotest/performanceTest/android/run_AutoTest_android.sh
Normal file
180
autotest/performanceTest/android/run_AutoTest_android.sh
Normal file
@@ -0,0 +1,180 @@
|
||||
#!/bin/bash
|
||||
|
||||
AUTO_TEST_ANDROID_PATH=`pwd`
|
||||
AUTO_TEST_SRC_PATH="../../../"
|
||||
AUTO_TEST_RES_PATH="${AUTO_TEST_ANDROID_PATH}/report"
|
||||
mkdir -p ${AUTO_TEST_RES_PATH}
|
||||
#Prepare android build enviroment
|
||||
echo please set the enviroment variable as:
|
||||
echo export ANDROID_HOME="path of android sdk"
|
||||
echo export ANDROID_NDK_HOME="path of android ndk"
|
||||
ANDROID_SDK_PATH=${ANDROID_HOME}
|
||||
ANDROID_NDK_PATH=${ANDROID_NDK_HOME}
|
||||
ANDROID_MAKE_PARAMS="OS=android NDKROOT=${ANDROID_NDK_PATH} TARGET=android-19"
|
||||
|
||||
if [ "#${ANDROID_SDK_PATH}" = "#" ]
|
||||
then
|
||||
echo Please set ANDROID_HOME with the path of Android SDK
|
||||
exit 1
|
||||
fi
|
||||
if [ "#${ANDROID_NDK_PATH}" = "#" ]
|
||||
then
|
||||
echo Please set ANDROID_NDK_HOME with the path of Android NDK
|
||||
exit 1
|
||||
fi
|
||||
#make build
|
||||
cd ${AUTO_TEST_SRC_PATH}
|
||||
find ./ -name *.o -exec rm -f {} \;
|
||||
find ./ -name *.d -exec rm -f {} \;
|
||||
make $ANDROID_MAKE_PARAMS
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo Build error,check with the trace of make
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ENCDEC=$1
|
||||
#find apk
|
||||
if [ ${ENCDEC} = "enc" ]
|
||||
then
|
||||
echo Start to find enc apk
|
||||
apk_name=`find ./ -name WelsEncTest-debug.apk`
|
||||
if [ "#${apk_name}" = "#" ]
|
||||
then
|
||||
echo Fail to find encoder APK.
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo Start to find dec apk
|
||||
apk_name=`find ./ -name WelsDecTest-debug.apk`
|
||||
if [ "#${apk_name}" = "#" ]
|
||||
then
|
||||
echo Fail to find decoder APK.
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#prepare devices
|
||||
ADB=${ANDROID_SDK_PATH}/platform-tools/adb
|
||||
|
||||
#get devices
|
||||
devices=`$ADB devices | awk -F" " '/\tdevice/{print $1}'`
|
||||
if [ "#$devices" = "#" ];then
|
||||
echo "Have not any android devices."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#run apk
|
||||
run_apk() {
|
||||
local apk=$1;
|
||||
local rand=` date +%s`
|
||||
|
||||
if [[ "${apk}" =~ "WelsDecTest-debug.apk" ]]
|
||||
then
|
||||
apk_id="com.wels.dec"
|
||||
apk_main="com.wels.dec/.WelsDecTest"
|
||||
test_path="/sdcard/welsdec"
|
||||
log_grep_params="welsdec"
|
||||
test_res=${AUTO_TEST_ANDROID_PATH}/../DecoderPerfTestRes
|
||||
report_file=${AUTO_TEST_RES_PATH}/decPerf
|
||||
|
||||
fi
|
||||
if [[ "${apk}" =~ "WelsEncTest-debug.apk" ]]
|
||||
then
|
||||
apk_id="com.wels.enc"
|
||||
apk_main="com.wels.enc/.WelsEncTest"
|
||||
test_path="/sdcard/welsenc"
|
||||
log_grep_params="welsenc"
|
||||
test_res=${AUTO_TEST_ANDROID_PATH}/../EncoderPerfTestRes
|
||||
report_file=${AUTO_TEST_RES_PATH}/encPerf
|
||||
fi
|
||||
space="limit"
|
||||
for dev in $devices; do
|
||||
dev_info_file=${AUTO_TEST_RES_PATH}/${dev}.log
|
||||
$ADB -s $dev uninstall ${apk_id}
|
||||
$ADB -s $dev install -r ${apk}
|
||||
#TODO: output more info about android device such as name,cpu,memory,and also power comsumption.
|
||||
#echo `$ADB -s $dev shell cat /system/build.prop |grep ro.product.model | awk -F"=" '{print $2}'`>${dev_info_file}
|
||||
#push resources
|
||||
#For limited devices space
|
||||
if [ ${space} = "limit" ]
|
||||
then
|
||||
test_res_bak=${test_res}_bak
|
||||
mv ${test_res} ${test_res_bak}
|
||||
mkdir -p ${test_res}
|
||||
test_case=`ls ${test_res_bak}`
|
||||
for case in ${test_case}
|
||||
do
|
||||
echo ${case}
|
||||
cp -r ${test_res_bak}/${case} ${test_res}/.
|
||||
$ADB -s $dev push ${test_res} ${test_path}
|
||||
#before start logcat,kill logcat
|
||||
pid=`$ADB -s $dev shell ps | grep logcat | awk '{print $2;}'`
|
||||
[ "#$pid" != "#" ] && $ADB -s $dev shell kill $pid >/dev/null
|
||||
$ADB -s $dev logcat -c
|
||||
$ADB -s $dev logcat |grep ${log_grep_params} >>${report_file}_${dev}_${rand}.log &
|
||||
$ADB -s $dev shell am start -n ${apk_main}
|
||||
# check whetehr the app is finished every 2 sec
|
||||
for (( ; ; )); do
|
||||
$ADB -s $dev shell ps | grep ${apk_id}
|
||||
if [ $? -ne 0 ]; then
|
||||
sleep 2
|
||||
$ADB -s $dev shell ps | grep ${apk_id}
|
||||
[ $? -ne 0 ] && break
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# kill logcat
|
||||
pid=`$ADB -s $dev shell ps | grep logcat | awk '{print $2;}'`
|
||||
[ "#$pid" != "#" ] && $ADB -s $dev shell kill $pid >/dev/null
|
||||
|
||||
#delete the res
|
||||
$ADB -s $dev shell rm -rf ${test_path}
|
||||
rm -rf ${test_res}/${case}
|
||||
done
|
||||
rm -rf ${test_res}
|
||||
mv ${test_res_bak} ${test_res}
|
||||
else
|
||||
$ADB -s $dev push ${test_res} ${test_path}
|
||||
#before start logcat,kill logcat
|
||||
pid=`$ADB -s $dev shell ps | grep logcat | awk '{print $2;}'`
|
||||
[ "#$pid" != "#" ] && $ADB -s $dev shell kill $pid >/dev/null
|
||||
$ADB -s $dev logcat -c
|
||||
$ADB -s $dev logcat |grep ${log_grep_params} >${report_file}_${dev}_${rand}.log &
|
||||
$ADB -s $dev shell am start -n ${apk_main}
|
||||
# check whetehr the app is finished every 2 sec
|
||||
for (( ; ; )); do
|
||||
$ADB -s $dev shell ps | grep ${apk_id}
|
||||
if [ $? -ne 0 ]; then
|
||||
sleep 2
|
||||
$ADB -s $dev shell ps | grep ${apk_idi}
|
||||
[ $? -ne 0 ] && break
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# kill logcat
|
||||
pid=`$ADB -s $dev shell ps | grep logcat | awk '{print $2;}'`
|
||||
[ "#$pid" != "#" ] && $ADB -s $dev shell kill $pid >/dev/null
|
||||
|
||||
#delete the res
|
||||
$ADB -s $dev shell rm -rf ${test_path}
|
||||
fi
|
||||
|
||||
done
|
||||
}
|
||||
for apk in ${apk_name};do
|
||||
run_apk $apk;
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo There is something wrong happened when run ${apk_name}
|
||||
exit 1
|
||||
else
|
||||
echo Finished $ENCDEC performance test on android
|
||||
echo The test result is at ./android/report/xxx.log
|
||||
echo xxxxxxxxxxxxxxxAndroid $ENCDEC Endxxxxxxxxxxxxxxxx
|
||||
fi
|
||||
done
|
||||
|
||||
BIN
autotest/performanceTest/ios/fruitstrap
Executable file
BIN
autotest/performanceTest/ios/fruitstrap
Executable file
Binary file not shown.
BIN
autotest/performanceTest/ios/iFileTransfer
Executable file
BIN
autotest/performanceTest/ios/iFileTransfer
Executable file
Binary file not shown.
193
autotest/performanceTest/ios/run_AutoTest_ios.sh
Normal file
193
autotest/performanceTest/ios/run_AutoTest_ios.sh
Normal file
@@ -0,0 +1,193 @@
|
||||
#!/bin/bash
|
||||
|
||||
##############################################################
|
||||
#Build ios test ref app
|
||||
|
||||
#set the default configuration
|
||||
CODEC_TEST_IOS_ARCH="armv7 armv7s arm64"
|
||||
CODEC_TEST_IOS_PLATFORM="iphoneos"
|
||||
CODEC_TEST_IOS_DEBUG_RELEASE="Release"
|
||||
CODEC_TEST_IOS_REPORT_SUBFOLDER="release"
|
||||
|
||||
|
||||
buildXcodeProject()
|
||||
{
|
||||
xcodebuild ARCHS="${CODEC_TEST_IOS_ARCH}" VALID_ARCHS="${CODEC_TEST_IOS_ARCH}" ONLY_ACTIVE_ARCH=YES -project $1 -target $2 -configuration $3 -sdk ${CODEC_TEST_IOS_PLATFORM} clean build
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "build $1 $3 successfully"
|
||||
else
|
||||
echo "build $1 $3 fail"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
iosPerformanceTest()
|
||||
{
|
||||
|
||||
if [ $# -gt 2 ]; then
|
||||
echo "Please use command $0 [enc/dec] [release/debug]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for PARAM in $*; do
|
||||
if [ "enc" = "${PARAM}" ]; then
|
||||
CODEC_TEST_XCODE_PROJECT_NAME="${AUTO_TEST_SRC_PATH}/codec/build/iOS/enc/encDemo/encDemo.xcodeproj"
|
||||
CODEC_TEST_IOS_PROJECT_NAME="encDemo"
|
||||
CODEC_TEST_IOS_PROJECT_PATH="${AUTO_TEST_SRC_PATH}/codec/build/iOS/enc/encDemo/build"
|
||||
CODEC_TEST_IOS_APP=${CODEC_TEST_IOS_PROJECT_PATH}/${CODEC_TEST_IOS_DEBUG_RELEASE}-iphoneos/${CODEC_TEST_IOS_PROJECT_NAME}.app
|
||||
CODEC_TEST_IOS_APP_ID="cisco.encDemo"
|
||||
CODEC_TEST_RES=${AUTO_TEST_IOS_PATH}/../EncoderPerfTestRes
|
||||
CODEC_TEST_LOG="encPerf"
|
||||
elif [ "dec" = "${PARAM}" ]; then
|
||||
CODEC_TEST_XCODE_PROJECT_NAME="${AUTO_TEST_SRC_PATH}/codec/build/iOS/dec/demo/demo.xcodeproj/"
|
||||
CODEC_TEST_IOS_PROJECT_NAME="demo"
|
||||
CODEC_TEST_IOS_PROJECT_PATH="${AUTO_TEST_SRC_PATH}/codec/build/iOS/dec/demo/build"
|
||||
CODEC_TEST_IOS_APP=${CODEC_TEST_IOS_PROJECT_PATH}/${CODEC_TEST_IOS_DEBUG_RELEASE}-iphoneos/${CODEC_TEST_IOS_PROJECT_NAME}.app
|
||||
CODEC_TEST_IOS_APP_ID="hf.cisco.demo"
|
||||
CODEC_TEST_RES=${AUTO_TEST_IOS_PATH}/../DecoderPerfTestRes
|
||||
CODEC_TEST_LOG="decPerf"
|
||||
elif [ "release" = "${PARAM}" ]; then
|
||||
CODEC_TEST_IOS_DEBUG_RELEASE="Release"
|
||||
CODEC_TEST_IOS_REPORT_SUBFOLDER="release"
|
||||
elif [ "debug" = "${PARAM}" ]; then
|
||||
CODEC_TEST_IOS_DEBUG_RELEASE="Debug"
|
||||
CODEC_TEST_IOS_REPORT_SUBFOLDER="debug"
|
||||
else
|
||||
echo parameters are illegal!!!, please have a check.
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Codec test will run on ${CODEC_TEST_IOS_PLATFORM} with ${CODEC_TEST_IOS_DEBUG_RELEASE}"
|
||||
buildXcodeProject ${CODEC_TEST_XCODE_PROJECT_NAME} ${CODEC_TEST_IOS_PROJECT_NAME} ${CODEC_TEST_IOS_DEBUG_RELEASE} ${CODEC_TEST_IOS_PLATFORM}
|
||||
|
||||
|
||||
|
||||
|
||||
##############run on ios devices#########################
|
||||
# for real device
|
||||
if [ ! -d ${CODEC_TEST_IOS_APP} ] ; then
|
||||
echo "${CODEC_TEST_IOS_APP} is not found"
|
||||
exit 1
|
||||
else
|
||||
echo "Find app ${CODEC_TEST_IOS_APP}"
|
||||
fi
|
||||
|
||||
#ensure instruments not runing
|
||||
echo "Try to kill the runing instruments"
|
||||
pids_str=`ps x -o pid,command | grep -v grep | grep "instruments" | awk '{printf "%s,", $1}'`
|
||||
instruments_pids="${pids_str//,/ }"
|
||||
for pid in ${instruments_pids}; do
|
||||
echo "Found instruments ${pid}. Killing..."
|
||||
kill -9 ${pid} && wait ${pid} &> /dev/null
|
||||
done
|
||||
|
||||
|
||||
|
||||
DEVICES=`system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'`
|
||||
if [ "${DEVICES}#" == "#" ]
|
||||
then
|
||||
echo "Can not find any connected device! please check device is connected to MAC!"
|
||||
exit 1
|
||||
else
|
||||
rand=`date +%s`
|
||||
for DEVICE_ID in ${DEVICES}
|
||||
do
|
||||
echo "Try to run on device:${DEVICE_ID}"
|
||||
|
||||
#Encoder YUV file too large
|
||||
if [ ${ENCDEC} = "enc" ]
|
||||
then
|
||||
#For limited devices space
|
||||
BAKRES=${CODEC_TEST_RES}_bak
|
||||
mv ${CODEC_TEST_RES} ${BAKRES}
|
||||
mkdir -p ${CODEC_TEST_RES}
|
||||
CODEC_CASE=`ls ${BAKRES}`
|
||||
echo ${CODEC_CASE}
|
||||
for CASE in ${CODEC_CASE}
|
||||
do
|
||||
echo ${CASE}
|
||||
cp -r ${BAKRES}/${CASE} ${CODEC_TEST_RES}/.
|
||||
|
||||
|
||||
#uninstall the application from device to remove the last result
|
||||
./fruitstrap uninstall --bundle ${CODEC_TEST_IOS_APP_ID} --id ${DEVICE_ID}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo uninstall application: ${CODEC_TEST_IOS_APP} from device: ${DEVICE_ID} is failed!
|
||||
fi
|
||||
#install the application
|
||||
./fruitstrap install --bundle ${CODEC_TEST_IOS_APP} --id ${DEVICE_ID}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo install application: ${CODEC_TEST_IOS_APP} to device: ${DEVICE_ID} is failed!
|
||||
exit 1
|
||||
fi
|
||||
|
||||
./iFileTransfer -o copy -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from ${CODEC_TEST_RES}
|
||||
instruments -w ${DEVICE_ID} -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate ${CODEC_TEST_IOS_APP} -e UIASCRIPT ./uiascript.js -e UIARRESULTPATH /tmp/
|
||||
#copy to report folder
|
||||
./iFileTransfer -o download -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from /Documents/${CODEC_TEST_LOG}.log -to ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "download file: ${CODEC_TEST_LOG}.log from ${CODEC_TEST_IOS_APP_ID} is failed!"
|
||||
exit 1
|
||||
fi
|
||||
cat ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log>>${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}.log
|
||||
rm -f ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log
|
||||
rm -rf ${CODEC_TEST_RES}/${CASE}
|
||||
done
|
||||
rm -rf ${CODEC_TEST_RES}
|
||||
mv ${BAKRES} ${CODEC_TEST_RES}
|
||||
#Enough spaces
|
||||
else
|
||||
#uninstall the application from device to remove the last result
|
||||
./fruitstrap uninstall --bundle ${CODEC_TEST_IOS_APP_ID} --id ${DEVICE_ID}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo uninstall application: ${CODEC_TEST_IOS_APP} from device: ${DEVICE_ID} is failed!
|
||||
fi
|
||||
#install the application
|
||||
./fruitstrap install --bundle ${CODEC_TEST_IOS_APP} --id ${DEVICE_ID}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo install application: ${CODEC_TEST_IOS_APP} to device: ${DEVICE_ID} is failed!
|
||||
exit 1
|
||||
fi
|
||||
|
||||
./iFileTransfer -o copy -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from ${CODEC_TEST_RES}
|
||||
instruments -w ${DEVICE_ID} -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate ${CODEC_TEST_IOS_APP} -e UIASCRIPT ./uiascript.js -e UIARRESULTPATH /tmp/
|
||||
#copy to report folder
|
||||
./iFileTransfer -o download -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from /Documents/${CODEC_TEST_LOG}.log -to ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "download file: ${CODEC_TEST_LOG}.log from ${CODEC_TEST_IOS_APP_ID} is failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
AUTO_TEST_IOS_PATH=`pwd`
|
||||
AUTO_TEST_SRC_PATH="../../.."
|
||||
CODEC_TEST_IOS_REPORT_PATH="${AUTO_TEST_IOS_PATH}/report"
|
||||
if [ ! -d ${CODEC_TEST_IOS_REPORT_PATH} ]
|
||||
then
|
||||
mkdir -p ${CODEC_TEST_IOS_REPORT_PATH}
|
||||
fi
|
||||
|
||||
ENCDEC=$1
|
||||
#start to get encoder/decoder performance data,default run the xcode with release
|
||||
iosPerformanceTest $ENCDEC release
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Running $ENCDEC demo to get encoder performance is failed!"
|
||||
exit 1
|
||||
else
|
||||
echo Finished $ENCDEC performance test on ios devices
|
||||
echo the test result is generated at ./ios/report/xx.loGbash parsePerfData.sh
|
||||
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxIOS $ENCDEC Endxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
fi
|
||||
#TODO:according to the trace of instruments to do some analysis
|
||||
#find ./ -name *.trace -exec rm -rf {} \;
|
||||
19
autotest/performanceTest/ios/uiascript.js
Normal file
19
autotest/performanceTest/ios/uiascript.js
Normal file
@@ -0,0 +1,19 @@
|
||||
UIATarget.onAlert = function onAlert(alert){
|
||||
|
||||
UIALogger.logMessage("In Alert!");
|
||||
title = alert.name();
|
||||
if (title && title.indexOf("Microphone") !== -1) {
|
||||
UIALogger.logMessage("Alert with title '" + title + "' encountered!");
|
||||
var buttons = alert.buttons();
|
||||
var buttonCount = buttons.length;
|
||||
|
||||
if (buttonCount > 0) {
|
||||
var acceptButton = buttons[buttonCount - 1];
|
||||
acceptButton.tap(); // last button is accept
|
||||
}
|
||||
return true; //forbid the default cancel processing
|
||||
}
|
||||
return false; //using the default cancel processing
|
||||
}
|
||||
var target = UIATarget.localTarget();
|
||||
target.delay(6000);
|
||||
107
autotest/performanceTest/parsePerfData.sh
Executable file
107
autotest/performanceTest/parsePerfData.sh
Executable file
@@ -0,0 +1,107 @@
|
||||
#!/bin/bash
|
||||
|
||||
#usage runGetPerformanceInfo ${PerformanceLogFile}
|
||||
runGetPerformanceInfo_openh264()
|
||||
{
|
||||
|
||||
if [ ! $# -eq 2 ]
|
||||
then
|
||||
echo "not enough parameters!"
|
||||
echo "usage: ${0} [android/ios] ${PerformanceLogFile}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local PerformanceLogFile=$2
|
||||
local FileName=""
|
||||
local Width=""
|
||||
local Height=""
|
||||
local Frames=""
|
||||
local FPS=""
|
||||
local EncodeTime=""
|
||||
if [ $1 = "android" ]
|
||||
then seperatorNum=3
|
||||
else
|
||||
seperatorNum=2
|
||||
fi
|
||||
|
||||
while read line
|
||||
do
|
||||
if [[ $line =~ "enc yuv file" ]]
|
||||
then
|
||||
FileName=`echo $line | awk 'BEGIN {FS="enc yuv file"} {print $2}'`
|
||||
FileName=`echo $FileName | awk 'BEGIN {FS=":"} {print $2}'`
|
||||
fi
|
||||
if [[ $line =~ "Width" ]]
|
||||
then
|
||||
Width=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
||||
fi
|
||||
if [[ $line =~ "Height" ]]
|
||||
then
|
||||
Height=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
||||
fi
|
||||
if [[ $line =~ "Frames" ]]
|
||||
then
|
||||
Frames=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
||||
fi
|
||||
if [[ $line =~ "FPS" ]]
|
||||
then
|
||||
FPS=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
||||
FPS=`echo $FPS | awk 'BEGIN {FS="fps"} {print $1}'`
|
||||
echo "${FileName},"${Width}x${Height}",${Frames},${FPS}"
|
||||
fi
|
||||
|
||||
if [[ $line =~ "encode time" ]]
|
||||
then
|
||||
EncodeTime=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
||||
fi
|
||||
if [[ $line =~ "height" ]]
|
||||
then
|
||||
Height=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
||||
fi
|
||||
if [[ $line =~ "H264 source file name" ]]
|
||||
then
|
||||
FileName=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
||||
if [ $1 = "ios" ]
|
||||
then
|
||||
FileName=`echo $FileName | awk -F"DecoderPerfTestRes" '{print $2}'`
|
||||
FileName=`echo $FileName | awk -F"/" '{print $2}'`
|
||||
else
|
||||
FileName=`echo $FileName | awk -F"/" '{print $4}'`
|
||||
fi
|
||||
fi
|
||||
|
||||
done <${PerformanceLogFile}
|
||||
|
||||
|
||||
}
|
||||
AUTO_TEST_RESULT_PATH="./TestResultCSV/"
|
||||
|
||||
|
||||
parseLogToCSV()
|
||||
{
|
||||
if [ $# -ne 1 ]
|
||||
then echo "Please input $0 [android/ios]"
|
||||
fi
|
||||
if [ $* = "android" ]
|
||||
then
|
||||
Result_log_path="./android/report/"
|
||||
suffix=android
|
||||
dos2unix ${Result_log_path}*.*
|
||||
else
|
||||
Result_log_path="./ios/report/"
|
||||
suffix=ios
|
||||
fi
|
||||
Result_log=`ls ${Result_log_path}`
|
||||
|
||||
for log in ${Result_log}
|
||||
do
|
||||
PerformFile=`echo $log |awk -F"." '{print $1}'`
|
||||
PerformFile=${PerformFile}_${suffix}.csv
|
||||
#inital perfermance file
|
||||
echo "$log,,,">>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
||||
echo "YUV,Resolution,Encodedframes,FPS">>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
||||
runGetPerformanceInfo_openh264 ${suffix} ${Result_log_path}${log}>>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
||||
done
|
||||
}
|
||||
parseLogToCSV android
|
||||
parseLogToCSV ios
|
||||
122
autotest/performanceTest/run_perfTest.sh
Normal file
122
autotest/performanceTest/run_perfTest.sh
Normal file
@@ -0,0 +1,122 @@
|
||||
#!bin/bash
|
||||
IOS=1
|
||||
ANDROID=1
|
||||
ENC=1
|
||||
DEC=1
|
||||
AUTO_TEST_PATH=`pwd`
|
||||
|
||||
#Judge to run the test on which kind of mobile
|
||||
if [ $# -eq 0 ];then
|
||||
echo Default testing will run on android and ios devices meanwhile
|
||||
else
|
||||
for params in $*; do
|
||||
if [ $params = "ios" ];then
|
||||
echo Running the test just on ios devices
|
||||
ANDROID=0
|
||||
elif [ $params = "android" ];then
|
||||
echo Running the test just on android devices
|
||||
IOS=0
|
||||
elif [ $params = "enc" ];then
|
||||
echo Running the encoder performance test
|
||||
DEC=0
|
||||
elif [ $params = "dec" ];then
|
||||
echo Running the decoder performance test
|
||||
ENC=0
|
||||
else
|
||||
echo parameters are illegal!!!, ${0} [ios/android] [enc/dec]
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
#Prepare encoder resources
|
||||
if [ ${ENC} = "1" ]
|
||||
then
|
||||
if [ ! -d ./EncoderPerTestRes ]
|
||||
then
|
||||
mkdir -p ./EncoderPerfTestRes
|
||||
fi
|
||||
if [ "#`ls ./EncoderPerfTestRes`" = "#" ]
|
||||
then
|
||||
echo put yuv and cfg file into ./EncoderPerfTest folder as
|
||||
echo case_720p
|
||||
echo case_720p/welsenc.cfg
|
||||
echo case_720p/layer2.cfg
|
||||
echo case_720p/yuv
|
||||
echo case_720p/yuv/xxx1.yuv
|
||||
echo case_720p/yuv/xxx2.yuv
|
||||
echo case_360p
|
||||
echo case_360p/welsenc.cfg
|
||||
echo ......
|
||||
else
|
||||
#Run the encoder performance test
|
||||
if [ ${IOS} = "1" ]
|
||||
then
|
||||
echo xxxxxxxxxxxxxxxxIOS ENC Startxxxxxxxxxxxxxxxxxx
|
||||
echo Run the Encoder performance test on ios devices
|
||||
cd ./ios
|
||||
bash run_AutoTest_ios.sh enc
|
||||
cd ${AUTO_TEST_PATH}
|
||||
fi
|
||||
|
||||
if [ ${ANDROID} = "1" ]
|
||||
then
|
||||
echo xxxxxxxxxxxxxxAndroid ENC Startxxxxxxxxxxxxxxxxxxxx
|
||||
echo Run the Encoder performance test on android devices
|
||||
cd ./android
|
||||
bash run_AutoTest_android.sh enc
|
||||
cd ${AUTO_TEST_PATH}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#Prepare decoder resources
|
||||
if [ ${DEC} = "1" ]
|
||||
then
|
||||
if [ ! -d ./DecoderPerfTestRes ]
|
||||
then
|
||||
mkdir -p ./DecoderPerfTestRes
|
||||
fi
|
||||
|
||||
if [ "#`ls ./DecoderPerfTestRes`" = "#" ]
|
||||
then
|
||||
echo put decoded bitstreams into such folder as
|
||||
echo xxx1.264
|
||||
echo xxx2.264
|
||||
echo ........
|
||||
else
|
||||
#Run the decoder performance test
|
||||
if [ ${IOS} = "1" ]
|
||||
then
|
||||
echo xxxxxxxxxxxxxxxxIOS DEC Startxxxxxxxxxxxxxxxxxx
|
||||
echo Run the Decoder performance test on ios devices
|
||||
cd ./ios
|
||||
bash run_AutoTest_ios.sh dec
|
||||
cd ${AUTO_TEST_PATH}
|
||||
fi
|
||||
|
||||
if [ ${ANDROID} = "1" ]
|
||||
then
|
||||
echo xxxxxxxxxxxxxxAndroid DEC Startxxxxxxxxxxxxxxxxxxxx
|
||||
echo Run the Decoder performance test on android devices
|
||||
cd ./android
|
||||
bash run_AutoTest_android.sh dec
|
||||
cd ${AUTO_TEST_PATH}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#TODO:NOW just generate csv file to display performance data
|
||||
cd ${AUTO_TEST_PATH}
|
||||
if [[ "#`ls ./ios/report`" == "#" && "#`ls ./android/report`" == "#" ]]
|
||||
then
|
||||
echo There is nothing result log generated at ios or android devices
|
||||
else
|
||||
echo Start to generate test result csv file
|
||||
#Test result
|
||||
mkdir -p ./TestResultCSV
|
||||
bash parsePerfData.sh
|
||||
echo The csv file locate ./TestResultCSV/xxx.csv
|
||||
fi
|
||||
|
||||
|
||||
4
autotest/unitTest/.gitignore
vendored
Normal file
4
autotest/unitTest/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
.DS_Store
|
||||
./ios/report/
|
||||
./android/report/
|
||||
|
||||
112
autotest/unitTest/android/run_AutoTest_android.sh
Normal file
112
autotest/unitTest/android/run_AutoTest_android.sh
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/bin/bash
|
||||
|
||||
AUTO_TEST_ANDROID_PATH=`pwd`
|
||||
AUTO_TEST_SRC_PATH="../../../"
|
||||
AUTO_TEST_RES_PATH="${AUTO_TEST_ANDROID_PATH}/report"
|
||||
if [ ! -d ${AUTO_TEST_RES_PATH} ]
|
||||
then
|
||||
mkdir -p ${AUTO_TEST_RES_PATH}
|
||||
else
|
||||
echo "Will delete those outdate xml in the report"
|
||||
rm -f ${AUTO_TEST_RES_PATH}/*.xml
|
||||
fi
|
||||
#Prepare android build enviroment
|
||||
echo please set the enviroment variable as:
|
||||
echo export ANDROID_HOME="path of android sdk"
|
||||
echo export ANDROID_NDK_HOME="path of android ndk"
|
||||
ANDROID_SDK_PATH=${ANDROID_HOME}
|
||||
ANDROID_NDK_PATH=${ANDROID_NDK_HOME}
|
||||
ANDROID_MAKE_PARAMS="OS=android NDKROOT=${ANDROID_NDK_PATH} TARGET=android-19"
|
||||
|
||||
if [ "#${ANDROID_SDK_PATH}" = "#" ]
|
||||
then
|
||||
echo Please set ANDROID_HOME with the path of Android SDK
|
||||
exit 1
|
||||
fi
|
||||
if [ "#${ANDROID_NDK_PATH}" = "#" ]
|
||||
then
|
||||
echo Please set ANDROID_NDK_HOME with the path of Android NDK
|
||||
exit 1
|
||||
fi
|
||||
#make build
|
||||
cd ${AUTO_TEST_SRC_PATH}
|
||||
find ./ -name *.o -exec rm -f {} \;
|
||||
find ./ -name *.d -exec rm -f {} \;
|
||||
make clean
|
||||
make $ANDROID_MAKE_PARAMS test
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo Build error,check with the trace of make
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#find apk
|
||||
echo Start to find unittest apk
|
||||
apk_name=`find ./ -name MainActivity-debug.apk`
|
||||
if [ "#${apk_name}" = "#" ]
|
||||
then
|
||||
echo Fail to find encoder APK.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#prepare devices
|
||||
ADB=${ANDROID_SDK_PATH}/platform-tools/adb
|
||||
|
||||
#get devices
|
||||
devices=`$ADB devices | awk -F" " '/\tdevice/{print $1}'`
|
||||
if [ "#$devices" = "#" ];then
|
||||
echo "Have not any android devices."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#run apk
|
||||
run_apk() {
|
||||
local apk=$1;
|
||||
local rand=` date +%s`
|
||||
apk_id="com.cisco.codec.unittest"
|
||||
apk_main="com.cisco.codec.unittest/.MainActivity"
|
||||
test_path="/sdcard/welsenc"
|
||||
log_grep_params="welsenc"
|
||||
test_res=./res
|
||||
xml_file="sdcard/codec_unittest.xml"
|
||||
for dev in $devices; do
|
||||
#dev_info_file=${AUTO_TEST_RES_PATH}/${dev}.log
|
||||
report_file=${AUTO_TEST_RES_PATH}/codec_unittest_${dev}_${rand}.xml
|
||||
$ADB -s $dev uninstall ${apk_id}
|
||||
$ADB -s $dev install -r ${apk}
|
||||
#TODO: output more info about android device such as name,cpu,memory,and also power comsumption.
|
||||
echo `$ADB -s $dev shell cat /system/build.prop |grep ro.product.model | awk -F"=" '{print $2}'`>${dev_info_file}
|
||||
$ADB -s $dev push ${test_res} /sdcard/res
|
||||
$ADB -s $dev shell am start --es path "$xml_file" -n ${apk_main}
|
||||
# check whetehr the app is finished every 2 sec
|
||||
for (( ; ; )); do
|
||||
$ADB -s $dev shell ps | grep ${apk_id}
|
||||
if [ $? -ne 0 ]; then
|
||||
sleep 2
|
||||
$ADB -s $dev shell ps | grep ${apk_id}
|
||||
[ $? -ne 0 ] && break
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# kill logcat
|
||||
$ADB -s $dev pull ${xml_file} ${report_file}
|
||||
#delete the res
|
||||
$ADB -s $dev shell rm -rf ${xml_file}
|
||||
$ADB -s $dev shell rm -rf /sdcard/res
|
||||
done
|
||||
}
|
||||
for apk in ${apk_name};do
|
||||
run_apk $apk;
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo There is something wrong happened when run ${apk_name}
|
||||
exit 1
|
||||
else
|
||||
echo Finished unit test on android
|
||||
echo The test result is at ./android/report/xxx.xml
|
||||
echo xxxxxxxxxxxxxxxAndroid unittest Endxxxxxxxxxxxxxxxx
|
||||
fi
|
||||
done
|
||||
|
||||
167
autotest/unitTest/ios/run_AutoTest_ios.sh
Normal file
167
autotest/unitTest/ios/run_AutoTest_ios.sh
Normal file
@@ -0,0 +1,167 @@
|
||||
#!/bin/bash
|
||||
|
||||
##############################################################
|
||||
#Build ios test ref app
|
||||
|
||||
#set the default configuration
|
||||
CODEC_TEST_IOS_ARCH="armv7"
|
||||
CODEC_TEST_IOS_PLATFORM="iphoneos"
|
||||
CODEC_TEST_IOS_DEBUG_RELEASE="Release"
|
||||
CODEC_TEST_IOS_REPORT_SUBFOLDER="release"
|
||||
|
||||
|
||||
buildXcodeProject()
|
||||
{
|
||||
xcodebuild ARCHS="${CODEC_TEST_IOS_ARCH}" VALID_ARCHS="${CODEC_TEST_IOS_ARCH}" ONLY_ACTIVE_ARCH=NO -project $1 -target $2 -configuration $3 -sdk ${CODEC_TEST_IOS_PLATFORM} clean build
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "build $1 $3 successfully"
|
||||
else
|
||||
echo "build $1 $3 fail"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
iosUnitTest()
|
||||
{
|
||||
|
||||
if [ $# -gt 2 ]; then
|
||||
echo "Please use command $0 [armv7/armv7s/arm64] [release/debug]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CODEC_TEST_XCODE_PROJECT_NAME="${AUTO_TEST_SRC_PATH}/test/build/ios/codec_unittest/codec_unittest.xcodeproj/"
|
||||
CODEC_TEST_IOS_PROJECT_NAME="codec_unittest"
|
||||
CODEC_TEST_IOS_PROJECT_PATH="${AUTO_TEST_SRC_PATH}/test/build/ios/codec_unittest/build"
|
||||
CODEC_TEST_IOS_APP=${CODEC_TEST_IOS_PROJECT_PATH}/${CODEC_TEST_IOS_DEBUG_RELEASE}-iphoneos/${CODEC_TEST_IOS_PROJECT_NAME}.app
|
||||
CODEC_TEST_IOS_APP_ID="com.cisco.codec-unittest"
|
||||
CODEC_TEST_RES=${AUTO_TEST_SRC_PATH}/res
|
||||
CODEC_TEST_LOG="codec_unittest"
|
||||
for PARAM in $*; do
|
||||
if [ "release" = "${PARAM}" ]; then
|
||||
CODEC_TEST_IOS_DEBUG_RELEASE="Release"
|
||||
CODEC_TEST_IOS_REPORT_SUBFOLDER="release"
|
||||
elif [ "debug" = "${PARAM}" ]; then
|
||||
CODEC_TEST_IOS_DEBUG_RELEASE="Debug"
|
||||
CODEC_TEST_IOS_REPORT_SUBFOLDER="debug"
|
||||
elif [ "armv7" = "${PARAM}" ];then
|
||||
CODEC_TEST_IOS_ARCH="armv7"
|
||||
elif [ "armv7s" = "${PARAM}" ];then
|
||||
CODEC_TEST_IOS_ARCH="armv7s"
|
||||
elif [ "arm64" = "${PARAM}" ];then
|
||||
CODEC_TEST_IOS_ARCH="arm64"
|
||||
else
|
||||
echo parameters are illegal!!!, please have a check.
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
cd ${AUTO_TEST_SRC_PATH}
|
||||
IOS_MAKE_PARAMS="OS=ios ARCH=${CODEC_TEST_IOS_ARCH}"
|
||||
############make build
|
||||
find ./ -name *.o -exec rm -rf {} \;
|
||||
find ./ -name *.d -exec rm -rf {} \;
|
||||
rm -f *.so
|
||||
make clean
|
||||
make ${IOS_MAKE_PARAMS} test
|
||||
echo "Codec test will run on ${CODEC_TEST_IOS_PLATFORM} with ${CODEC_TEST_IOS_DEBUG_RELEASE}"
|
||||
cd ${AUTO_TEST_IOS_PATH}
|
||||
buildXcodeProject ${CODEC_TEST_XCODE_PROJECT_NAME} ${CODEC_TEST_IOS_PROJECT_NAME} ${CODEC_TEST_IOS_DEBUG_RELEASE} ${CODEC_TEST_IOS_PLATFORM}
|
||||
|
||||
|
||||
|
||||
|
||||
##############run on ios devices#########################
|
||||
# for real device
|
||||
if [ ! -d ${CODEC_TEST_IOS_APP} ] ; then
|
||||
echo "${CODEC_TEST_IOS_APP} is not found"
|
||||
exit 1
|
||||
else
|
||||
echo "Find app ${CODEC_TEST_IOS_APP}"
|
||||
fi
|
||||
|
||||
#ensure instruments not runing
|
||||
echo "Try to kill the runing instruments"
|
||||
pids_str=`ps x -o pid,command | grep -v grep | grep "instruments" | awk '{printf "%s,", $1}'`
|
||||
instruments_pids="${pids_str//,/ }"
|
||||
for pid in ${instruments_pids}; do
|
||||
echo "Found instruments ${pid}. Killing..."
|
||||
kill -9 ${pid} && wait ${pid} &> /dev/null
|
||||
done
|
||||
|
||||
|
||||
|
||||
DEVICES=`system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'`
|
||||
if [ "${DEVICES}#" == "#" ]
|
||||
then
|
||||
echo "Can not find any connected device! please check device is connected to MAC!"
|
||||
exit 1
|
||||
else
|
||||
rand=`date +%s`
|
||||
for DEVICE_ID in ${DEVICES}
|
||||
do
|
||||
echo "Try to run on device:${DEVICE_ID}"
|
||||
|
||||
#uninstall the application from device to remove the last result
|
||||
${AUTO_TEST_IOS_SCRIPT_PATH}/fruitstrap uninstall --bundle ${CODEC_TEST_IOS_APP_ID} --id ${DEVICE_ID}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo uninstall application: ${CODEC_TEST_IOS_APP} from device: ${DEVICE_ID} is failed!
|
||||
fi
|
||||
#install the application
|
||||
${AUTO_TEST_IOS_SCRIPT_PATH}/fruitstrap install --bundle ${CODEC_TEST_IOS_APP} --id ${DEVICE_ID}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo install application: ${CODEC_TEST_IOS_APP} to device: ${DEVICE_ID} is failed!
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${AUTO_TEST_IOS_SCRIPT_PATH}/iFileTransfer -o copy -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from ${CODEC_TEST_RES}
|
||||
instruments -w ${DEVICE_ID} -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate ${CODEC_TEST_IOS_APP} -e UIASCRIPT ${AUTO_TEST_IOS_SCRIPT_PATH}/uiascript.js -e UIARRESULTPATH /tmp/
|
||||
#copy to report folder
|
||||
${AUTO_TEST_IOS_SCRIPT_PATH}/iFileTransfer -o download -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from /Documents/${CODEC_TEST_LOG}.xml -to ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CODEC_TEST_IOS_ARCH}.xml
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "download file: ${CODEC_TEST_LOG}.xml from ${CODEC_TEST_IOS_APP_ID} is failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
AUTO_TEST_IOS_PATH=`pwd`
|
||||
AUTO_TEST_SRC_PATH="../../.."
|
||||
AUTO_TEST_IOS_SCRIPT_PATH="../../performanceTest/ios"
|
||||
CODEC_TEST_IOS_REPORT_PATH="${AUTO_TEST_IOS_PATH}/report"
|
||||
if [ ! -d ${CODEC_TEST_IOS_REPORT_PATH} ]
|
||||
then
|
||||
mkdir -p ${CODEC_TEST_IOS_REPORT_PATH}
|
||||
else
|
||||
echo "Will delete those outdate xml in the report"
|
||||
rm -f ${CODEC_TEST_IOS_REPORT_PATH}/*.xml
|
||||
fi
|
||||
|
||||
#start to run unittest,default run the xcode at arch armv7 with release
|
||||
iosUnitTest armv7 release
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Running Unittest demo with armv7 is failed!"
|
||||
exit 1
|
||||
else
|
||||
echo Finished unittest with armv7 on ios devices
|
||||
echo the test result is generated at ./ios/report/xx.xml
|
||||
fi
|
||||
#start to run unittest,run the xcode at arch arm64 with release
|
||||
iosUnitTest arm64 release
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Running Unittest demo with arm64 is failed!"
|
||||
exit 1
|
||||
else
|
||||
echo Finished unittest with arm64 on ios devices
|
||||
echo the test result is generated at ./ios/report/xx.xml
|
||||
fi
|
||||
|
||||
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxIOS unittest Endxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
#TODO:according to the trace of instruments to do some analysis
|
||||
#find ${AUTO_TEST_IOS_SCRIPT_PATH} -name *.trace -exec rm -rf {} \;
|
||||
rm -rf *.trace
|
||||
70
autotest/unitTest/run_ParseUTxml.sh
Normal file
70
autotest/unitTest/run_ParseUTxml.sh
Normal file
@@ -0,0 +1,70 @@
|
||||
if [ $# -ne 1 ];then
|
||||
echo Please input $0 [report dir]
|
||||
exit 1
|
||||
fi
|
||||
|
||||
REPORT=$1
|
||||
if [ ! -e ${REPORT} ];then
|
||||
echo "The directory of ${REPORT} dose't not exit,please check the test log"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
UT_Failed_Num=0
|
||||
parse_unittest() {
|
||||
res=$1
|
||||
echo ${res}
|
||||
echo Start to parse unittest results of $res
|
||||
if [ -e $res ];then
|
||||
tests=`cat $res | grep "<testsuites" | awk -F " " '{print $2;}' | awk -F "\"" '{print $2;}'`
|
||||
fails=`cat $res | grep "<testsuites" | awk -F " " '{print $3;}' | awk -F "\"" '{print $2;}'`
|
||||
times=`cat $res | grep "<testsuites" | awk -F " " '{print $6;}' | awk -F "\"" '{print $2;}'`
|
||||
waste=`cat $res | grep "<testsuites" | awk -F " " '{print $7;}' | awk -F "\"" '{print $2;}'`
|
||||
msg="Total testcases: $tests, failed: $fails,time:$waste seconds, at$times,xml:$res"
|
||||
echo ${msg}
|
||||
UT_Failed_Num=$((${UT_Failed_Num}+${fails}))
|
||||
cat >> mail.log << EOF
|
||||
<style>
|
||||
.fail {
|
||||
background-color: yellow;
|
||||
}
|
||||
</style>
|
||||
<br>
|
||||
<table style="width:600px" cellspacing="0" border="1" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Total unit test cases</td>
|
||||
<td>Failed</td>
|
||||
<td>Time</td>
|
||||
<td>Date</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr style="text-align:center; font-weight: bold;">
|
||||
<td>${tests}</td>
|
||||
<td><font class="fail">${fails}</font></td>
|
||||
<td>${waste}</td>
|
||||
<td>${times}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
xmlcount=`ls $REPORT | wc -l`
|
||||
xmlfiles=`ls $REPORT`
|
||||
if [ ${xmlcount} -eq 0 ];
|
||||
then echo There is nothing xml files generated at $REPORT
|
||||
exit 1
|
||||
fi
|
||||
for file in $xmlfiles;do
|
||||
parse_unittest $REPORT/$file
|
||||
done
|
||||
if [ ${UT_Failed_Num} = "0" ];then
|
||||
echo Total $xmlcount files at $REPORT,all sucessful
|
||||
exit 0
|
||||
else
|
||||
echo Total $xmlcount files at $REPORT,${UT_Failed_Num} error cases
|
||||
exit 2
|
||||
fi
|
||||
98
autotest/unitTest/run_unitTest.sh
Normal file
98
autotest/unitTest/run_unitTest.sh
Normal file
@@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
|
||||
AUTO_TEST_PATH=`pwd`
|
||||
IOS=0
|
||||
ANDROID=0
|
||||
#Prepare GTEST
|
||||
AUTO_TEST_SRC_PATH="../../"
|
||||
cd ${AUTO_TEST_SRC_PATH}
|
||||
if [ ! -d "./gtest" ]
|
||||
then
|
||||
make gtest-bootstrap
|
||||
fi
|
||||
cd ${AUTO_TEST_PATH}
|
||||
#To find whether have android devices
|
||||
echo please set the enviroment variable as:
|
||||
echo export ANDROID_HOME="path of android sdk"
|
||||
echo export ANDROID_NDK_HOME="path of android ndk"
|
||||
ANDROID_SDK_PATH=${ANDROID_HOME}
|
||||
ANDROID_NDK_PATH=${ANDROID_NDK_HOME}
|
||||
if [ "#${ANDROID_SDK_PATH}" = "#" ]
|
||||
then
|
||||
echo Please set ANDROID_HOME with the path of Android SDK
|
||||
exit 1
|
||||
fi
|
||||
if [ "#${ANDROID_NDK_PATH}" = "#" ]
|
||||
then
|
||||
echo Please set ANDROID_NDK_HOME with the path of Android NDK
|
||||
exit 1
|
||||
fi
|
||||
#prepare devices
|
||||
ADB=${ANDROID_SDK_PATH}/platform-tools/adb
|
||||
|
||||
#get devices
|
||||
devices=`$ADB devices | awk -F" " '/\tdevice/{print $1}'`
|
||||
if [ "#$devices" = "#" ];then
|
||||
echo "Can not find any android devices!"
|
||||
else
|
||||
echo Start to run the unittest on android devices
|
||||
ANDROID=1
|
||||
cd ./android
|
||||
bash run_AutoTest_android.sh >/dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
echo There is something wrong happened when runing unittest on android devices,please to check
|
||||
else
|
||||
echo Finish run the unittest on android devices sucessfully
|
||||
fi
|
||||
cd ${AUTO_TEST_PATH}
|
||||
fi
|
||||
|
||||
#To find whether have ios devices
|
||||
DEVICES=`system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'`
|
||||
if [ "${DEVICES}#" == "#" ]
|
||||
then
|
||||
echo "Can not find any ios devices!"
|
||||
else
|
||||
echo Start to run the unittest on ios devices
|
||||
IOS=1
|
||||
cd ./ios
|
||||
bash run_AutoTest_ios.sh >/dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
echo There is something wrong happened when runing unittest on ios devices,please to check
|
||||
else
|
||||
echo Finish run the unittest on android devices sucessfully
|
||||
fi
|
||||
cd ${AUTO_TEST_PATH}
|
||||
fi
|
||||
|
||||
#To parse the unit test result file to find whether have failures
|
||||
if [ ${ANDROID} = "1" ];then
|
||||
echo "
|
||||
<style>
|
||||
.env {
|
||||
background-color: #95B9C7;
|
||||
font: 30px bold;
|
||||
}</style>">>mail.log
|
||||
echo "<br><font class="env">Run unit test on android devices</font>">>mail.log
|
||||
bash run_ParseUTxml.sh ./android/report
|
||||
ret=$?
|
||||
if [ ${ret} -eq 0 ];then
|
||||
echo Unit test run on the android devices have not any failure case
|
||||
elif [ ${ret} -eq 2 ];then
|
||||
echo Unit test have cases failed,please check
|
||||
elif [ ${ret} -eq 1 ];then
|
||||
echo Unit test run failed
|
||||
fi
|
||||
fi
|
||||
if [ ${IOS} = "1" ];then
|
||||
echo "<br><font class="env">Run unit test on ios devices with armv7 & arm64</font>">>mail.log
|
||||
bash run_ParseUTxml.sh ./ios/report
|
||||
ret=$?
|
||||
if [ $ret -eq 0 ];then
|
||||
echo Unit test run on the ios devices have not any failure case
|
||||
elif [ $ret -eq 2 ];then
|
||||
echo Unit test have cases failed,please check
|
||||
elif [ $ret -eq 1 ];then
|
||||
echo Unit test run failed
|
||||
fi
|
||||
fi
|
||||
@@ -1,17 +1,17 @@
|
||||
ifneq ($(filter %86 x86_64, $(ARCH)),)
|
||||
include build/platform-x86-common.mk
|
||||
include $(SRC_PATH)build/x86-common.mk
|
||||
endif
|
||||
ifneq ($(filter-out arm64, $(filter arm%, $(ARCH))),)
|
||||
ifeq ($(USE_ASM), Yes)
|
||||
ASM_ARCH = arm
|
||||
ASMFLAGS += -Icodec/common/arm/
|
||||
ASMFLAGS += -I$(SRC_PATH)codec/common/arm/
|
||||
CFLAGS += -DHAVE_NEON
|
||||
endif
|
||||
endif
|
||||
ifneq ($(filter arm64 aarch64, $(ARCH)),)
|
||||
ifeq ($(USE_ASM), Yes)
|
||||
ASM_ARCH = arm64
|
||||
ASMFLAGS += -Icodec/common/arm64/
|
||||
ASMFLAGS += -I$(SRC_PATH)codec/common/arm64/
|
||||
CFLAGS += -DHAVE_NEON_AARCH64
|
||||
endif
|
||||
endif
|
||||
@@ -5,6 +5,7 @@ GTEST_CPP_SRCS=\
|
||||
GTEST_OBJS += $(GTEST_CPP_SRCS:.cc=.$(OBJ))
|
||||
|
||||
OBJS += $(GTEST_OBJS)
|
||||
|
||||
$(GTEST_SRCDIR)/%.$(OBJ): $(GTEST_SRCDIR)/%.cc
|
||||
$(QUIET_CXX)$(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(GTEST_CFLAGS) $(GTEST_INCLUDES) -c $(CXX_O) $<
|
||||
|
||||
|
||||
@@ -20,9 +20,6 @@ INCLUDE=[]
|
||||
OUTFILE="targets.mk"
|
||||
CPP_SUFFIX=".cpp"
|
||||
|
||||
def make_o(x):
|
||||
return os.path.splitext(x)[0] + ".$(OBJ)"
|
||||
|
||||
def write_cpp_rule_pattern(f):
|
||||
src = "$(%s_SRCDIR)/%%%s"%(PREFIX, CPP_SUFFIX)
|
||||
dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX)
|
||||
@@ -52,7 +49,7 @@ def write_asm_s_rule_pattern(f):
|
||||
dst = "$(%s_SRCDIR)/%%.$(OBJ)"%(PREFIX)
|
||||
|
||||
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")
|
||||
|
||||
|
||||
@@ -137,37 +134,42 @@ if len(cfiles) > 0:
|
||||
for cfile in cfiles:
|
||||
f.write("\t$(%s_SRCDIR)/%s\\\n"%(PREFIX, cfile))
|
||||
f.write("\n")
|
||||
f.write("%s_OBJS += $(%s_C_SRCS:.c=.$(OBJ))\n\n"%(PREFIX, PREFIX))
|
||||
f.write("%s_OBJS += $(%s_C_SRCS:.c=.$(OBJ))\n"%(PREFIX, PREFIX))
|
||||
|
||||
if len(asm) > 0:
|
||||
f.write("ifeq ($(ASM_ARCH), x86)\n")
|
||||
f.write("%s_ASM_SRCS=\\\n"%(PREFIX))
|
||||
for c in asm:
|
||||
f.write("\t$(%s_SRCDIR)/%s\\\n"%(PREFIX, c))
|
||||
f.write("\n")
|
||||
f.write("%s_OBJS += $(%s_ASM_SRCS:.asm=.$(OBJ))\n"%(PREFIX, PREFIX))
|
||||
f.write("endif\n\n")
|
||||
f.write("%s_OBJSASM += $(%s_ASM_SRCS:.asm=.$(OBJ))\n"%(PREFIX, PREFIX))
|
||||
f.write("ifeq ($(ASM_ARCH), x86)\n")
|
||||
f.write("%s_OBJS += $(%s_OBJSASM)\n"%(PREFIX,PREFIX))
|
||||
f.write("endif\n")
|
||||
f.write("OBJS += $(%s_OBJSASM)\n\n"%(PREFIX))
|
||||
|
||||
if len(armfiles) > 0:
|
||||
f.write("ifeq ($(ASM_ARCH), arm)\n")
|
||||
f.write("%s_ASM_ARM_SRCS=\\\n"%(PREFIX))
|
||||
for c in armfiles:
|
||||
f.write("\t$(%s_SRCDIR)/%s\\\n"%(PREFIX, c))
|
||||
f.write("\n")
|
||||
f.write("%s_OBJS += $(%s_ASM_ARM_SRCS:.S=.$(OBJ))\n"%(PREFIX, PREFIX))
|
||||
f.write("endif\n\n")
|
||||
f.write("%s_OBJSARM += $(%s_ASM_ARM_SRCS:.S=.$(OBJ))\n"%(PREFIX, PREFIX))
|
||||
f.write("ifeq ($(ASM_ARCH), arm)\n")
|
||||
f.write("%s_OBJS += $(%s_OBJSARM)\n"%(PREFIX,PREFIX))
|
||||
f.write("endif\n")
|
||||
f.write("OBJS += $(%s_OBJSARM)\n\n"%(PREFIX))
|
||||
|
||||
if len(arm64files) > 0:
|
||||
f.write("ifeq ($(ASM_ARCH), arm64)\n")
|
||||
f.write("%s_ASM_ARM64_SRCS=\\\n"%(PREFIX))
|
||||
for c in arm64files:
|
||||
f.write("\t$(%s_SRCDIR)/%s\\\n"%(PREFIX, c))
|
||||
f.write("\n")
|
||||
f.write("%s_OBJS += $(%s_ASM_ARM64_SRCS:.S=.$(OBJ))\n"%(PREFIX, PREFIX))
|
||||
f.write("endif\n\n")
|
||||
|
||||
f.write("OBJS += $(%s_OBJS)\n"%PREFIX)
|
||||
f.write("%s_OBJSARM64 += $(%s_ASM_ARM64_SRCS:.S=.$(OBJ))\n"%(PREFIX, PREFIX))
|
||||
f.write("ifeq ($(ASM_ARCH), arm64)\n")
|
||||
f.write("%s_OBJS += $(%s_OBJSARM64)\n"%(PREFIX,PREFIX))
|
||||
f.write("endif\n")
|
||||
f.write("OBJS += $(%s_OBJSARM64)\n\n"%(PREFIX))
|
||||
|
||||
f.write("OBJS += $(%s_OBJS)\n\n"%(PREFIX))
|
||||
write_cpp_rule_pattern(f)
|
||||
|
||||
if len(cfiles) > 0:
|
||||
|
||||
@@ -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/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/decoder --prefix decoder_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/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
|
||||
|
||||
@@ -1,40 +1,43 @@
|
||||
include build/platform-arch.mk
|
||||
include $(SRC_PATH)build/arch.mk
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
ifeq ($(ENABLE64BIT), Yes)
|
||||
ASMFLAGS += -f win64
|
||||
ASMFLAGS_PLATFORM = -DWIN64
|
||||
CFLAGS += -DWIN64
|
||||
else
|
||||
ASMFLAGS += -f win32 -DPREFIX
|
||||
CFLAGS += -DWIN32
|
||||
endif
|
||||
else
|
||||
CFLAGS += -DWIN32
|
||||
endif
|
||||
ifeq ($(ASM_ARCH), arm)
|
||||
CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm
|
||||
CCASFLAGS = -nologo -DHAVE_NEON
|
||||
endif
|
||||
|
||||
CC=cl
|
||||
CXX=cl
|
||||
AR=lib
|
||||
CXX_O=-Fo$@
|
||||
# -DGTEST_HAS_TR1_TUPLE=0 is temporarily broken in gtest,
|
||||
# using _VARIADIC_MAX=10 to fix building on MSVC 2012 meanwhile.
|
||||
# Once gtest works with the former again, it should be preferred.
|
||||
# -D_VARIADIC_MAX=10 is required to fix building gtest on MSVC 2012, but
|
||||
# since we don't (easily) know which version of MSVC we use here, we add
|
||||
# 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
|
||||
CXX_LINK_O=-nologo -Fe$@
|
||||
AR_OPTS=-nologo -out:$@
|
||||
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_M64=
|
||||
LINK_LOCAL_DIR=
|
||||
LINK_LIB=$(1).lib
|
||||
LIBSUFFIX=lib
|
||||
LIBPREFIX=
|
||||
EXEEXT=.exe
|
||||
OBJ=obj
|
||||
SHAREDLIB_DIR = $(PREFIX)/bin
|
||||
SHAREDLIBSUFFIX=dll
|
||||
SHAREDLIBSUFFIXVER=$(SHAREDLIBSUFFIX)
|
||||
SHARED=-LD
|
||||
SHLDFLAGS=-link -def:openh264.def -implib:$(PROJECT_NAME)_dll.lib
|
||||
EXTRA_LIBRARY=$(PROJECT_NAME)_dll.lib
|
||||
SHLDFLAGS=-link -def:openh264.def -implib:$(EXTRA_LIBRARY)
|
||||
@@ -1,6 +1,9 @@
|
||||
ARCH = arm
|
||||
include build/platform-arch.mk
|
||||
include $(SRC_PATH)build/arch.mk
|
||||
SHAREDLIBSUFFIX = so
|
||||
# Android APK/JARs expect libraries to be unversioned
|
||||
SHAREDLIBSUFFIXVER=$(SHAREDLIBSUFFIX)
|
||||
SHLDFLAGS =
|
||||
NDKLEVEL = 12
|
||||
ifeq ($(ARCH), arm)
|
||||
ifneq ($(APP_ABI), armeabi)
|
||||
@@ -9,19 +12,23 @@ ifeq ($(ARCH), arm)
|
||||
LDFLAGS += -march=armv7-a -Wl,--fix-cortex-a8
|
||||
APP_ABI = armeabi-v7a
|
||||
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))
|
||||
ASMFLAGS += -march=armv7-a -mfpu=neon
|
||||
endif
|
||||
else ifeq ($(ARCH), arm64)
|
||||
APP_ABI = arm64-v8a
|
||||
else ifeq ($(ARCH), 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))
|
||||
ASMFLAGS += -f elf32
|
||||
ASMFLAGS += -f elf
|
||||
endif
|
||||
else ifeq ($(ARCH), x86_64)
|
||||
APP_ABI = x86_64
|
||||
ifeq (Yes, $(USE_ASM))
|
||||
ASMFLAGS += -f elf64
|
||||
endif
|
||||
else
|
||||
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
|
||||
|
||||
ifndef NDKROOT
|
||||
@@ -31,23 +38,35 @@ ifndef TARGET
|
||||
$(error TARGET is not set)
|
||||
endif
|
||||
|
||||
TOOLCHAINPREFIX = $(shell NDK_PROJECT_PATH=$(SRC_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)
|
||||
CXX = $(TOOLCHAINPREFIX)g++
|
||||
CC = $(TOOLCHAINPREFIX)gcc
|
||||
AR = $(TOOLCHAINPREFIX)ar
|
||||
CFLAGS += -DLINUX -DANDROID_NDK -fpic --sysroot=$(SYSROOT)
|
||||
CFLAGS += -DANDROID_NDK -fpic --sysroot=$(SYSROOT) -MMD -MP
|
||||
CXXFLAGS += -fno-rtti -fno-exceptions
|
||||
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,relro -Wl,-z,now -Wl,-soname,lib$(PROJECT_NAME).so
|
||||
|
||||
ifneq ($(CXX),$(wildcard $(CXX)))
|
||||
ifneq ($(CXX).exe,$(wildcard $(CXX).exe))
|
||||
$(error Compiler not found, bad NDKROOT or ARCH?)
|
||||
endif
|
||||
endif
|
||||
|
||||
STL_INCLUDES = \
|
||||
-I$(NDKROOT)/sources/cxx-stl/stlport/stlport
|
||||
STL_LIB = \
|
||||
$(NDKROOT)/sources/cxx-stl/stlport/libs/$(APP_ABI)/libstlport_static.a
|
||||
|
||||
GTEST_INCLUDES = $(STL_INCLUDES)
|
||||
CODEC_UNITTEST_INCLUDES = $(STL_INCLUDES)
|
||||
CODEC_UNITTEST_LDFLAGS_SUFFIX = \
|
||||
$(NDKROOT)/sources/cxx-stl/stlport/libs/$(APP_ABI)/libstlport_static.a
|
||||
CODEC_UNITTEST_LDFLAGS_SUFFIX = $(STL_LIB)
|
||||
MODULE_INCLUDES = $(STL_INCLUDES)
|
||||
MODULE_LDFLAGS = $(STL_LIB)
|
||||
|
||||
ifeq (./,$(SRC_PATH))
|
||||
binaries : decdemo encdemo
|
||||
|
||||
decdemo: libraries
|
||||
@@ -56,13 +75,26 @@ decdemo: libraries
|
||||
encdemo: libraries
|
||||
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
|
||||
else
|
||||
all:
|
||||
@:
|
||||
clean_Android:
|
||||
@:
|
||||
endif
|
||||
|
||||
COMMON_INCLUDES += -I$(NDKROOT)/sources/android/cpufeatures
|
||||
COMMON_OBJS += $(COMMON_SRCDIR)/cpu-features.$(OBJ)
|
||||
COMMON_OBJS += $(COMMON_SRCDIR)/src/cpu-features.$(OBJ)
|
||||
|
||||
COMMON_CFLAGS += \
|
||||
-Dandroid_getCpuIdArm=wels_getCpuIdArm -Dandroid_setCpuArm=wels_setCpuArm \
|
||||
-Dandroid_getCpuCount=wels_getCpuCount -Dandroid_getCpuFamily=wels_getCpuFamily \
|
||||
-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) $<
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
include build/platform-arch.mk
|
||||
include $(SRC_PATH)build/arch.mk
|
||||
SHAREDLIB_DIR = $(PREFIX)/lib
|
||||
SHAREDLIBSUFFIX = dylib
|
||||
SHAREDLIBSUFFIXVER=$(SHAREDLIBVERSION).$(SHAREDLIBSUFFIX)
|
||||
SHLDFLAGS = -dynamiclib -twolevel_namespace -undefined dynamic_lookup \
|
||||
-fno-common -headerpad_max_install_names -install_name \
|
||||
$(SHAREDLIB_DIR)/$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXVER)
|
||||
SHARED = -dynamiclib
|
||||
CFLAGS += -Wall -fPIC -DMACOS -MMD -MP
|
||||
CFLAGS += -Wall -fPIC -MMD -MP
|
||||
LDFLAGS += -lpthread
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
ASMFLAGS += -DPREFIX
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
include build/platform-arch.mk
|
||||
include $(SRC_PATH)build/arch.mk
|
||||
SHAREDLIBSUFFIX = so
|
||||
SHAREDLIBSUFFIXVER=$(SHAREDLIBSUFFIX).$(SHAREDLIBVERSION)
|
||||
SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXVER)
|
||||
CFLAGS += -fPIC
|
||||
LDFLAGS += -lpthread
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ARCH = armv7
|
||||
include build/platform-darwin.mk
|
||||
include $(SRC_PATH)build/platform-darwin.mk
|
||||
CXX = clang++
|
||||
CC = clang
|
||||
ifneq ($(filter %86 x86_64, $(ARCH)),)
|
||||
@@ -10,7 +10,8 @@ endif
|
||||
SDK = $(shell xcrun --sdk $(shell echo $(SDKTYPE) | tr A-Z a-z) --show-sdk-version)
|
||||
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
|
||||
LDFLAGS += -arch $(ARCH) -isysroot $(SDKROOT) -miphoneos-version-min=$(SDK_MIN)
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
include build/platform-arch.mk
|
||||
include $(SRC_PATH)build/arch.mk
|
||||
SHAREDLIBSUFFIX = so
|
||||
CFLAGS += -Wall -fno-strict-aliasing -fPIC -DLINUX -MMD -MP
|
||||
SHAREDLIBSUFFIXVER=$(SHAREDLIBSUFFIX).$(SHAREDLIBVERSION)
|
||||
SHLDFLAGS = -Wl,-soname,$(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXVER)
|
||||
CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP
|
||||
LDFLAGS += -lpthread
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
ifeq ($(ENABLE64BIT), Yes)
|
||||
ASMFLAGS += -f elf64
|
||||
else
|
||||
ASMFLAGS += -f elf32
|
||||
ASMFLAGS += -f elf
|
||||
endif
|
||||
endif
|
||||
ifeq ($(ASM_ARCH), arm)
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
include build/platform-x86-common.mk
|
||||
include $(SRC_PATH)build/x86-common.mk
|
||||
SHAREDLIB_DIR = $(PREFIX)/bin
|
||||
SHAREDLIBSUFFIX = dll
|
||||
SHAREDLIBSUFFIXVER=$(SHAREDLIBSUFFIX)
|
||||
EXTRA_LIBRARY=$(LIBPREFIX)$(PROJECT_NAME).dll.a
|
||||
SHLDFLAGS = -Wl,--out-implib,$(EXTRA_LIBRARY)
|
||||
CFLAGS += -MMD -MP
|
||||
LDFLAGS +=
|
||||
ifeq ($(ENABLE64BIT), Yes)
|
||||
ASMFLAGS += -f win64
|
||||
ASMFLAGS_PLATFORM = -DWIN64
|
||||
CFLAGS += -DWIN64
|
||||
CC = x86_64-w64-mingw32-gcc
|
||||
CXX = x86_64-w64-mingw32-g++
|
||||
AR = x86_64-w64-mingw32-ar
|
||||
else
|
||||
ASMFLAGS += -f win32 -DPREFIX
|
||||
CFLAGS += -DWIN32
|
||||
endif
|
||||
EXEEXT = .exe
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ARCH = arm
|
||||
include build/platform-msvc-common.mk
|
||||
include $(SRC_PATH)build/msvc-common.mk
|
||||
CFLAGS_OPT += -MD
|
||||
CFLAGS_DEBUG += -MDd
|
||||
CFLAGS += -DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
include build/platform-msvc-common.mk
|
||||
include $(SRC_PATH)build/msvc-common.mk
|
||||
LDFLAGS += user32.lib
|
||||
CFLAGS_OPT += -MT
|
||||
CFLAGS_DEBUG += -MTd -Gm
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
CFLAGS_M32=-m32
|
||||
CFLAGS_M64=-m64
|
||||
ASM_INCLUDES = -Icodec/common/x86/
|
||||
ASM_INCLUDES = -I$(SRC_PATH)codec/common/x86/
|
||||
ifeq (, $(ENABLE64BIT))
|
||||
ifeq ($(ARCH), x86_64)
|
||||
ENABLE64BIT=Yes
|
||||
@@ -1,4 +1,6 @@
|
||||
/*!
|
||||
*@page License
|
||||
*
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
@@ -50,70 +52,362 @@ typedef unsigned char bool;
|
||||
#define EXTAPI
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @file codec_api.h
|
||||
*/
|
||||
|
||||
/**
|
||||
* @page Overview
|
||||
* * This page is for openh264 codec API usage.
|
||||
* * For how to use the encoder,please refer to page UsageExampleForEncoder
|
||||
* * For how to use the decoder,please refer to page UsageExampleForDecoder
|
||||
* * For more detail about ISVEncoder,please refer to page ISVCEnoder
|
||||
* * For more detail about ISVDecoder,please refer to page ISVCDecoder
|
||||
*/
|
||||
|
||||
/**
|
||||
* @page DecoderUsageExample
|
||||
*
|
||||
* @brief
|
||||
* * An example for using the decoder for Decoding only or Parsing only
|
||||
*
|
||||
* Step 1:decoder declaration
|
||||
* @code
|
||||
*
|
||||
* //decoder declaration
|
||||
* ISVCDecoder *pSvcDecoder;
|
||||
* //input: encoded bitstream start position; should include start code prefix
|
||||
* unsigned char *pBuf =...;
|
||||
* //input: encoded bit stream length; should include the size of start code prefix
|
||||
* int iSize =...;
|
||||
* //output: [0~2] for Y,U,V buffer for Decoding only
|
||||
* unsigned char *pData[3] =...;
|
||||
* //in-out: for Decoding only: declare and initialize the output buffer info, this should never co-exist with Parsing only
|
||||
* SBufferInfo sDstBufInfo;
|
||||
* memset(&sDstBufInfo, 0, sizeof(SBufferInfo));
|
||||
* //in-out: for Parsing only: declare and initialize the output bitstream buffer info for parse only, this should never co-exist with Decoding only
|
||||
* SParserBsInfo sDstParseInfo;
|
||||
* memset(&sDstParseInfo, 0, sizeof(SParserBsInfo));
|
||||
* sDstParseInfo.pDstBuff = new unsigned char[PARSE_SIZE]; //In Parsing only, allocate enough buffer to save transcoded bitstream for a frame
|
||||
*
|
||||
* @endcode
|
||||
*
|
||||
* Step 2:decoder creation
|
||||
* @code
|
||||
* CreateDecoder(pSvcDecoder);
|
||||
* @endcode
|
||||
*
|
||||
* Step 3:declare required parameter, used to differentiate Decoding only and Parsing only
|
||||
* @code
|
||||
* SDecodingParam sDecParam = {0};
|
||||
* sDecParam.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_AVC;
|
||||
* //for Parsing only, the assignment is mandatory
|
||||
* sDecParam.bParseOnly = true;
|
||||
* @endcode
|
||||
*
|
||||
* Step 4:initialize the parameter and decoder context, allocate memory
|
||||
* @code
|
||||
* Initialize(&sDecParam);
|
||||
* @endcode
|
||||
*
|
||||
* Step 5:do actual decoding process in slice level;
|
||||
* this can be done in a loop until data ends
|
||||
* @code
|
||||
* //for Decoding only
|
||||
* iRet = DecodeFrame2(pBuf, iSize, pData, &sDstBufInfo);
|
||||
* //for Parsing only
|
||||
* iRet = DecodeParser(pBuf, iSize, &sDstParseInfo);
|
||||
* //decode failed
|
||||
* If (iRet != 0){
|
||||
* RequestIDR or something like that.
|
||||
* }
|
||||
* //for Decoding only, pData can be used for render.
|
||||
* if (sDstBufInfo.iBufferStatus==1){
|
||||
* output pData[0], pData[1], pData[2];
|
||||
* }
|
||||
* //for Parsing only, sDstParseInfo can be used for, e.g., HW decoding
|
||||
* if (sDstBufInfo.iBufferStatus==1){
|
||||
* Hardware decoding sDstParseInfo;
|
||||
* }
|
||||
* //no-delay decoding can be realized by directly calling decoder again with NULL input, as in the following. In this case, decoder would immediately reconstruct the input data. This can also be used similarly for Parsing only. Consequent decoding error and output indication should also be considered as above.
|
||||
* iRet = DecodeFrame2(NULL, 0, pData, &sDstBufInfo);
|
||||
* judge iRet, sDstBufInfo.iBufferStatus ...
|
||||
* @endcode
|
||||
*
|
||||
* Step 6:uninitialize the decoder and memory free
|
||||
* @code
|
||||
* Uninitialize();
|
||||
* @endcode
|
||||
*
|
||||
* Step 7:destroy the decoder
|
||||
* @code
|
||||
* DestroyDecoder();
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @page EncoderUsageExample1
|
||||
*
|
||||
* @brief
|
||||
* * An example for using encoder with basic parameter
|
||||
*
|
||||
* Step1:setup encoder
|
||||
* @code
|
||||
* int rv = WelsCreateSVCEncoder (&encoder_);
|
||||
* ASSERT_EQ (0, rv);
|
||||
* ASSERT_TRUE (encoder_ != NULL);
|
||||
* @endcode
|
||||
*
|
||||
* Step2:initilize with basic parameter
|
||||
* @code
|
||||
* SEncParamBase param;
|
||||
* memset (¶m, 0, sizeof (SEncParamBase));
|
||||
* param.iUsageType = usageType;
|
||||
* param.fMaxFrameRate = frameRate;
|
||||
* param.iPicWidth = width;
|
||||
* param.iPicHeight = height;
|
||||
* param.iTargetBitrate = 5000000;
|
||||
* encoder_->Initialize (¶m);
|
||||
* @endcode
|
||||
*
|
||||
* Step3:set option, set option during encoding process
|
||||
* @code
|
||||
* encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &g_LevelSetting);
|
||||
* int videoFormat = videoFormatI420;
|
||||
* encoder_->SetOption (ENCODER_OPTION_DATAFORMAT, &videoFormat);
|
||||
* @endcode
|
||||
*
|
||||
* Step4: encode and store ouput bistream
|
||||
* @code
|
||||
* int frameSize = width * height * 3 / 2;
|
||||
* BufferedData buf;
|
||||
* buf.SetLength (frameSize);
|
||||
* ASSERT_TRUE (buf.Length() == (size_t)frameSize);
|
||||
* SFrameBSInfo info;
|
||||
* memset (&info, 0, sizeof (SFrameBSInfo));
|
||||
* SSourcePicture pic;
|
||||
* memset (&pic, 0, sizeof (SsourcePicture));
|
||||
* pic.iPicWidth = width;
|
||||
* pic.iPicHeight = height;
|
||||
* pic.iColorFormat = videoFormatI420;
|
||||
* pic.iStride[0] = pic.iPicWidth;
|
||||
* pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
|
||||
* pic.pData[0] = buf.data();
|
||||
* pic.pData[1] = pic.pData[0] + width * height;
|
||||
* pic.pData[2] = pic.pData[1] + (width * height >> 2);
|
||||
* for(int num = 0;num<total_num;num++) {
|
||||
* //prepare input data
|
||||
* rv = encoder_->EncodeFrame (&pic, &info);
|
||||
* ASSERT_TRUE (rv == cmResultSuccess);
|
||||
* if (info.eFrameType != videoFrameTypeSkip && cbk != NULL) {
|
||||
* //output bitstream
|
||||
* }
|
||||
* }
|
||||
* @endcode
|
||||
*
|
||||
* Step5:teardown encoder
|
||||
* @code
|
||||
* if (encoder_) {
|
||||
* encoder_->Uninitialize();
|
||||
* WelsDestroySVCEncoder (encoder_);
|
||||
* }
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @page EncoderUsageExample2
|
||||
*
|
||||
* @brief
|
||||
* * An example for using the encoder with extension parameter.
|
||||
* * The same operation on Step 1,3,4,5 with Example-1
|
||||
*
|
||||
* Step 2:initialize with extension parameter
|
||||
* @code
|
||||
* SEncParamExt param;
|
||||
* encoder->GetDefaultParams (¶m);
|
||||
* param.iUsageType = usageType;
|
||||
* param.fMaxFrameRate = frameRate;
|
||||
* param.iPicWidth = width;
|
||||
* param.iPicHeight = height;
|
||||
* param.iTargetBitrate = 5000000;
|
||||
* param.bEnableDenoise = denoise;
|
||||
* param.iSpatialLayerNum = layers;
|
||||
* //SM_DYN_SLICE don't support multi-thread now
|
||||
* if (sliceMode != SM_SINGLE_SLICE && sliceMode != SM_DYN_SLICE)
|
||||
* param.iMultipleThreadIdc = 2;
|
||||
*
|
||||
* for (int i = 0; i < param.iSpatialLayerNum; i++) {
|
||||
* param.sSpatialLayers[i].iVideoWidth = width >> (param.iSpatialLayerNum - 1 - i);
|
||||
* param.sSpatialLayers[i].iVideoHeight = height >> (param.iSpatialLayerNum - 1 - i);
|
||||
* param.sSpatialLayers[i].fFrameRate = frameRate;
|
||||
* param.sSpatialLayers[i].iSpatialBitrate = param.iTargetBitrate;
|
||||
*
|
||||
* param.sSpatialLayers[i].sSliceCfg.uiSliceMode = sliceMode;
|
||||
* if (sliceMode == SM_DYN_SLICE) {
|
||||
* param.sSpatialLayers[i].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 600;
|
||||
* param.uiMaxNalSize = 1500;
|
||||
* }
|
||||
* }
|
||||
* param.iTargetBitrate *= param.iSpatialLayerNum;
|
||||
* encoder_->InitializeExt (¶m);
|
||||
* int videoFormat = videoFormatI420;
|
||||
* encoder_->SetOption (ENCODER_OPTION_DATAFORMAT, &videoFormat);
|
||||
*
|
||||
* @endcode
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
/**
|
||||
* @brief Endocder definition
|
||||
*/
|
||||
class ISVCEncoder {
|
||||
public:
|
||||
/*
|
||||
* return: CM_RETURN: 0 - success; otherwise - failed;
|
||||
/**
|
||||
* @brief Initialize the encoder
|
||||
* @param pParam basic encoder parameter
|
||||
* @return CM_RETURN: 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual int EXTAPI Initialize (const SEncParamBase* pParam) = 0;
|
||||
|
||||
/**
|
||||
* @brief Initilaize encoder by using extension parameters.
|
||||
* @param pParam extension parameter for encoder
|
||||
* @return CM_RETURN: 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual int EXTAPI InitializeExt (const SEncParamExt* pParam) = 0;
|
||||
|
||||
/**
|
||||
* @brief Get the default extension parameters.
|
||||
* If you want to change some parameters of encoder, firstly you need to get the default encoding parameters,
|
||||
* after that you can change part of parameters you want to.
|
||||
* @param pParam extension parameter for encoder
|
||||
* @return CM_RETURN: 0 - success; otherwise - failed;
|
||||
* */
|
||||
virtual int EXTAPI GetDefaultParams (SEncParamExt* pParam) = 0;
|
||||
|
||||
/// uninitialize the encoder
|
||||
virtual int EXTAPI Uninitialize() = 0;
|
||||
|
||||
/*
|
||||
* return: 0 - success; otherwise -failed;
|
||||
/**
|
||||
* @brief Encode one frame
|
||||
* @param kpSrcPic the pointer to the source luminance plane
|
||||
* chrominance data:
|
||||
* CbData = kpSrc + m_iMaxPicWidth * m_iMaxPicHeight;
|
||||
* CrData = CbData + (m_iMaxPicWidth * m_iMaxPicHeight)/4;
|
||||
* the application calling this interface needs to ensure the data validation between the location
|
||||
* @param pBsInfo output bit stream
|
||||
* @return 0 - success; otherwise -failed;
|
||||
*/
|
||||
virtual int EXTAPI EncodeFrame (const SSourcePicture* kpSrcPic, SFrameBSInfo* pBsInfo) = 0;
|
||||
/*
|
||||
* return: 0 - success; otherwise - failed;
|
||||
|
||||
/**
|
||||
* @brief Encode the parameters from output bit stream
|
||||
* @param pBsInfo output bit stream
|
||||
* @return 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual int EXTAPI EncodeParameterSets (SFrameBSInfo* pBsInfo) = 0;
|
||||
|
||||
/*
|
||||
* return: 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual int EXTAPI PauseFrame (const SSourcePicture* kpSrcPic, SFrameBSInfo* pBsInfo) = 0;
|
||||
|
||||
/*
|
||||
* return: 0 - success; otherwise - failed;
|
||||
/**
|
||||
* @brief Force encoder to encoder frame as IDR if bIDR set as true
|
||||
* @param bIDR true: force encoder to encode frame as IDR frame;false, return 1 and nothing to do
|
||||
* @return 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual int EXTAPI ForceIntraFrame (bool bIDR) = 0;
|
||||
|
||||
/************************************************************************
|
||||
* InDataFormat, IDRInterval, SVC Encode Param, Frame Rate, Bitrate,..
|
||||
************************************************************************/
|
||||
/*
|
||||
* return: CM_RETURN: 0 - success; otherwise - failed;
|
||||
/**
|
||||
* @brief Set option for encoder, detail option type, please refer to enumurate ENCODER_OPTION.
|
||||
* @param pOption option for encoder such as InDataFormat, IDRInterval, SVC Encode Param, Frame Rate, Bitrate,...
|
||||
* @return CM_RETURN: 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual int EXTAPI SetOption (ENCODER_OPTION eOptionId, void* pOption) = 0;
|
||||
|
||||
/**
|
||||
* @brief Set option for encoder, detail option type, please refer to enumurate ENCODER_OPTION.
|
||||
* @param pOption option for encoder such as InDataFormat, IDRInterval, SVC Encode Param, Frame Rate, Bitrate,...
|
||||
* @return CM_RETURN: 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual int EXTAPI GetOption (ENCODER_OPTION eOptionId, void* pOption) = 0;
|
||||
virtual ~ISVCEncoder() {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Decoder definition
|
||||
*/
|
||||
class ISVCDecoder {
|
||||
public:
|
||||
|
||||
/**
|
||||
* @brief Initilaize decoder
|
||||
* @param pParam parameter for decoder
|
||||
* @return 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual long EXTAPI Initialize (const SDecodingParam* pParam) = 0;
|
||||
|
||||
/// Uninitialize the decoder
|
||||
virtual long EXTAPI Uninitialize() = 0;
|
||||
|
||||
/**
|
||||
* @brief Decode one frame
|
||||
* @param pSrc the h264 stream to be decoded
|
||||
* @param iSrcLen the length of h264 stream
|
||||
* @param ppDst buffer pointer of decoded data (YUV)
|
||||
* @param pStride output stride
|
||||
* @param iWidth output width
|
||||
* @param iHeight output height
|
||||
* @return 0 - success; otherwise -failed;
|
||||
*/
|
||||
virtual DECODING_STATE EXTAPI DecodeFrame (const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
unsigned char** ppDst,
|
||||
int* pStride,
|
||||
int& iWidth,
|
||||
int& iHeight) = 0;
|
||||
/*
|
||||
* return: 0 - success; otherwise -failed;
|
||||
|
||||
/**
|
||||
* @brief For slice level DecodeFrame2() (4 parameters input),
|
||||
* whatever the function return value is, the output data
|
||||
* of I420 format will only be available when pDstInfo->iBufferStatus == 1,.
|
||||
* (e.g., in multi-slice cases, only when the whole picture
|
||||
* is completely reconstructed, this variable would be set equal to 1.)
|
||||
* @param pSrc the h264 stream to be decoded
|
||||
* @param iSrcLen the length of h264 stream
|
||||
* @param ppDst buffer pointer of decoded data (YUV)
|
||||
* @param pDstInfo information provided to API(width, height, etc.)
|
||||
* @return 0 - success; otherwise -failed;
|
||||
*/
|
||||
virtual DECODING_STATE EXTAPI DecodeFrame2 (const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
void** ppDst,
|
||||
unsigned char** ppDst,
|
||||
SBufferInfo* pDstInfo) = 0;
|
||||
|
||||
/*
|
||||
* this API does not work for now!! This is for future use to support non-I420 color format output.
|
||||
/**
|
||||
* @brief This function parse input bitstream only, and rewrite possible SVC syntax to AVC syntax
|
||||
* @param pSrc the h264 stream to be decoded
|
||||
* @param iSrcLen the length of h264 stream
|
||||
* @param pDstInfo bit stream info
|
||||
* @return 0 - success; otherwise -failed;
|
||||
*/
|
||||
virtual DECODING_STATE EXTAPI DecodeParser (const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
SParserBsInfo* pDstInfo) = 0;
|
||||
|
||||
/**
|
||||
* @brief This API does not work for now!! This is for future use to support non-I420 color format output.
|
||||
* @param pSrc the h264 stream to be decoded
|
||||
* @param iSrcLen the length of h264 stream
|
||||
* @param pDst buffer pointer of decoded data (YUV)
|
||||
* @param iDstStride output stride
|
||||
* @param iDstLen bit stream info
|
||||
* @param iWidth output width
|
||||
* @param iHeight output height
|
||||
* @param iColorFormat output color format
|
||||
* @return to do ...
|
||||
*/
|
||||
virtual DECODING_STATE EXTAPI DecodeFrameEx (const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
@@ -124,10 +418,18 @@ class ISVCDecoder {
|
||||
int& iHeight,
|
||||
int& iColorFormat) = 0;
|
||||
|
||||
/*************************************************************************
|
||||
* OutDataFormat, Eos Flag, EC method, ...
|
||||
*************************************************************************/
|
||||
/**
|
||||
* @brief Set option for decoder, detail option type, please refer to enumurate DECODER_OPTION.
|
||||
* @param pOption option for decoder such as OutDataFormat, Eos Flag, EC method, ...
|
||||
* @return CM_RETURN: 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual long EXTAPI SetOption (DECODER_OPTION eOptionId, void* pOption) = 0;
|
||||
|
||||
/**
|
||||
* @brief Get option for decoder, detail option type, please refer to enumurate DECODER_OPTION.
|
||||
* @param pOption option for decoder such as OutDataFormat, Eos Flag, EC method, ...
|
||||
* @return CM_RETURN: 0 - success; otherwise - failed;
|
||||
*/
|
||||
virtual long EXTAPI GetOption (DECODER_OPTION eOptionId, void* pOption) = 0;
|
||||
virtual ~ISVCDecoder() {}
|
||||
};
|
||||
@@ -151,8 +453,6 @@ int (*Uninitialize) (ISVCEncoder*);
|
||||
int (*EncodeFrame) (ISVCEncoder*, const SSourcePicture* kpSrcPic, SFrameBSInfo* pBsInfo);
|
||||
int (*EncodeParameterSets) (ISVCEncoder*, SFrameBSInfo* pBsInfo);
|
||||
|
||||
int (*PauseFrame) (ISVCEncoder*, const SSourcePicture* kpSrcPic, SFrameBSInfo* pBsInfo);
|
||||
|
||||
int (*ForceIntraFrame) (ISVCEncoder*, bool bIDR);
|
||||
|
||||
int (*SetOption) (ISVCEncoder*, ENCODER_OPTION eOptionId, void* pOption);
|
||||
@@ -174,9 +474,13 @@ DECODING_STATE (*DecodeFrame) (ISVCDecoder*, const unsigned char* pSrc,
|
||||
|
||||
DECODING_STATE (*DecodeFrame2) (ISVCDecoder*, const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
void** ppDst,
|
||||
unsigned char** ppDst,
|
||||
SBufferInfo* pDstInfo);
|
||||
|
||||
DECODING_STATE (*DecodeParser) (ISVCDecoder*, const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
SParserBsInfo* pDstInfo);
|
||||
|
||||
DECODING_STATE (*DecodeFrameEx) (ISVCDecoder*, const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
unsigned char* pDst,
|
||||
@@ -191,13 +495,47 @@ long (*GetOption) (ISVCDecoder*, DECODER_OPTION eOptionId, void* pOption);
|
||||
};
|
||||
#endif
|
||||
|
||||
typedef void (*WelsTraceCallback) (void* ctx, int level, const char* string);
|
||||
|
||||
/** @brief Create encoder
|
||||
* @param ppEncoder encoder
|
||||
* @return 0 - success; otherwise - failed;
|
||||
*/
|
||||
int WelsCreateSVCEncoder (ISVCEncoder** ppEncoder);
|
||||
|
||||
|
||||
/** @brief Destroy encoder
|
||||
* @param pEncoder encoder
|
||||
* @return void
|
||||
*/
|
||||
void WelsDestroySVCEncoder (ISVCEncoder* pEncoder);
|
||||
|
||||
|
||||
/** @brief Get the capability of decoder
|
||||
* @param pDecCapability decoder capability
|
||||
* @return 0 - success; otherwise - failed;
|
||||
*/
|
||||
int WelsGetDecoderCapability (SDecoderCapability* pDecCapability);
|
||||
|
||||
|
||||
/** @brief Create decoder
|
||||
* @param ppDecoder decoder
|
||||
* @return 0 - success; otherwise - failed;
|
||||
*/
|
||||
long WelsCreateDecoder (ISVCDecoder** ppDecoder);
|
||||
|
||||
|
||||
/** @brief Destroy decoder
|
||||
* @param pDecoder decoder
|
||||
* @return void
|
||||
*/
|
||||
void WelsDestroyDecoder (ISVCDecoder* pDecoder);
|
||||
|
||||
/** @brief Get codec version
|
||||
* @return The linked codec version
|
||||
*/
|
||||
OpenH264Version WelsGetCodecVersion ();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -30,166 +30,266 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
#define WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
/**
|
||||
* @file codec_app_def.h
|
||||
* @brief Data and /or structures introduced in Cisco OpenH264 application
|
||||
*/
|
||||
|
||||
////////////////Data and /or structures introduced in Cisco OpenH264 application////////////////
|
||||
|
||||
#include "codec_def.h"
|
||||
/* Constants */
|
||||
#define MAX_TEMPORAL_LAYER_NUM 4
|
||||
#define MAX_SPATIAL_LAYER_NUM 4
|
||||
#define MAX_QUALITY_LAYER_NUM 4
|
||||
|
||||
#define MAX_LAYER_NUM_OF_FRAME 128
|
||||
#define MAX_NAL_UNITS_IN_LAYER 128 // predetermined here, adjust it later if need
|
||||
#define MAX_NAL_UNITS_IN_LAYER 128 ///< predetermined here, adjust it later if need
|
||||
|
||||
#define MAX_RTP_PAYLOAD_LEN 1000
|
||||
#define AVERAGE_RTP_PAYLOAD_LEN 800
|
||||
|
||||
|
||||
#define SAVED_NALUNIT_NUM_TMP ( (MAX_SPATIAL_LAYER_NUM*MAX_QUALITY_LAYER_NUM) + 1 + MAX_SPATIAL_LAYER_NUM ) //SPS/PPS + SEI/SSEI + PADDING_NAL
|
||||
#define SAVED_NALUNIT_NUM_TMP ( (MAX_SPATIAL_LAYER_NUM*MAX_QUALITY_LAYER_NUM) + 1 + MAX_SPATIAL_LAYER_NUM ) ///< SPS/PPS + SEI/SSEI + PADDING_NAL
|
||||
#define MAX_SLICES_NUM_TMP ( ( MAX_NAL_UNITS_IN_LAYER - SAVED_NALUNIT_NUM_TMP ) / 3 )
|
||||
|
||||
#define AUTO_REF_PIC_COUNT -1 // encoder selects the number of reference frame automatically
|
||||
typedef enum {
|
||||
/* Errors derived from bitstream parsing */
|
||||
dsErrorFree = 0x00, /* Bitstream error-free */
|
||||
dsFramePending = 0x01, /* Need more throughput to generate a frame output, */
|
||||
dsRefLost = 0x02, /* layer lost at reference frame with temporal id 0 */
|
||||
dsBitstreamError = 0x04, /* Error bitstreams(maybe broken internal frame) the decoder cared */
|
||||
dsDepLayerLost = 0x08, /* Dependented layer is ever lost */
|
||||
dsNoParamSets = 0x10, /* No parameter set NALs involved */
|
||||
|
||||
/* Errors derived from logic level */
|
||||
dsInvalidArgument = 0x1000, /* Invalid argument specified */
|
||||
dsInitialOptExpected = 0x2000, /* Initializing operation is expected */
|
||||
dsOutOfMemory = 0x4000, /* Out of memory due to new request */
|
||||
/* ANY OTHERS? */
|
||||
dsDstBufNeedExpand = 0x8000 /* Actual picture size exceeds size of dst pBuffer feed in decoder, so need expand its size */
|
||||
#define AUTO_REF_PIC_COUNT -1 ///< encoder selects the number of reference frame automatically
|
||||
#define UNSPECIFIED_BIT_RATE 0 ///< to do: add detail comment
|
||||
|
||||
/**
|
||||
* @brief Struct of OpenH264 version
|
||||
*/
|
||||
///
|
||||
/// E.g. SDK version is 1.2.0.0, major version number is 1, minor version number is 2, and revision number is 0.
|
||||
typedef struct _tagVersion
|
||||
{
|
||||
unsigned int uMajor; ///< The major version number
|
||||
unsigned int uMinor; ///< The minor version number
|
||||
unsigned int uRevision; ///< The revision number
|
||||
unsigned int uReserved; ///< The reserved number, it should be 0.
|
||||
} OpenH264Version;
|
||||
|
||||
/**
|
||||
* @brief Decoding status
|
||||
*/
|
||||
typedef enum {
|
||||
/**
|
||||
* Errors derived from bitstream parsing
|
||||
*/
|
||||
dsErrorFree = 0x00, ///< bit stream error-free
|
||||
dsFramePending = 0x01, ///< need more throughput to generate a frame output,
|
||||
dsRefLost = 0x02, ///< layer lost at reference frame with temporal id 0
|
||||
dsBitstreamError = 0x04, ///< error bitstreams(maybe broken internal frame) the decoder cared
|
||||
dsDepLayerLost = 0x08, ///< dependented layer is ever lost
|
||||
dsNoParamSets = 0x10, ///< no parameter set NALs involved
|
||||
dsDataErrorConcealed = 0x20, ///< current data error concealed specified
|
||||
|
||||
/**
|
||||
* Errors derived from logic level
|
||||
*/
|
||||
dsInvalidArgument = 0x1000, ///< invalid argument specified
|
||||
dsInitialOptExpected = 0x2000, ///< initializing operation is expected
|
||||
dsOutOfMemory = 0x4000, ///< out of memory due to new request
|
||||
/**
|
||||
* ANY OTHERS?
|
||||
*/
|
||||
dsDstBufNeedExpan = 0x8000 ///< actual picture size exceeds size of dst pBuffer feed in decoder, so need expand its size
|
||||
|
||||
} DECODING_STATE;
|
||||
|
||||
/* Option types introduced in SVC encoder application */
|
||||
/**
|
||||
* @brief Option types introduced in SVC encoder application
|
||||
*/
|
||||
typedef enum {
|
||||
ENCODER_OPTION_DATAFORMAT = 0,
|
||||
ENCODER_OPTION_IDR_INTERVAL,
|
||||
ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,
|
||||
ENCODER_OPTION_SVC_ENCODE_PARAM_EXT,
|
||||
ENCODER_OPTION_FRAME_RATE,
|
||||
ENCODER_OPTION_IDR_INTERVAL, ///< IDR period,0/-1 means no Intra period (only the first frame); lager than 0 means the desired IDR period, must be multiple of (2^temporal_layer)
|
||||
ENCODER_OPTION_SVC_ENCODE_PARAM_BASE, ///< structure of Base Param
|
||||
ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, ///< structure of Extension Param
|
||||
ENCODER_OPTION_FRAME_RATE, ///< maximal input frame rate, current supported range: MAX_FRAME_RATE = 30,MIN_FRAME_RATE = 1
|
||||
ENCODER_OPTION_BITRATE,
|
||||
ENCODER_OPTION_MAX_BITRATE,
|
||||
ENCODER_OPTION_INTER_SPATIAL_PRED,
|
||||
ENCODER_OPTION_RC_MODE,
|
||||
ENCODER_PADDING_PADDING,
|
||||
ENCODER_PADDING_PADDING, ///< 0:disable padding;1:padding
|
||||
|
||||
ENCODER_OPTION_PROFILE, ///< assgin the profile for each layer
|
||||
ENCODER_OPTION_LEVEL, ///< assgin the level for each layer
|
||||
ENCODER_OPTION_NUMBER_REF, ///< the number of refererence frame
|
||||
ENCODER_OPTION_DELIVERY_STATUS, ///< the delivery info which is a feedback from app level
|
||||
|
||||
ENCODER_LTR_RECOVERY_REQUEST,
|
||||
ENCODER_LTR_MARKING_FEEDBACK,
|
||||
ENCOCER_LTR_MARKING_PERIOD,
|
||||
ENCODER_OPTION_LTR,
|
||||
ENCODER_LTR_MARKING_PERIOD,
|
||||
ENCODER_OPTION_LTR, ///< 0:disable LTR;larger than 0 enable LTR; LTR number is fixed to be 2 in current encoder
|
||||
ENCODER_OPTION_COMPLEXITY,
|
||||
|
||||
ENCODER_OPTION_ENABLE_SSEI, //disable SSEI: true--disable ssei; false--enable ssei
|
||||
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_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_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_DUMP_FILE,
|
||||
ENCODER_OPTION_TRACE_LEVEL
|
||||
ENCODER_OPTION_DUMP_FILE, ///< dump layer reconstruct frame to a specified file
|
||||
ENCODER_OPTION_TRACE_LEVEL, ///< trace info based on the 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, ///< context info of trace callback
|
||||
|
||||
ENCODER_OPTION_GET_STATISTICS, ///< read only
|
||||
ENCODER_OPTION_STATISTICS_LOG_INTERVAL, ///< log interval in millisecond
|
||||
|
||||
ENCODER_OPTION_IS_LOSSLESS_LINK, ///< advanced algorithmetic settings
|
||||
|
||||
ENCODER_OPTION_BITS_VARY_PERCENTAGE ///< bit vary percentage
|
||||
} ENCODER_OPTION;
|
||||
|
||||
/* Option types introduced in decoder application */
|
||||
/**
|
||||
* @brief Option types introduced in decoder application
|
||||
*/
|
||||
typedef enum {
|
||||
DECODER_OPTION_DATAFORMAT = 0, /* Set color space of decoding output frame */
|
||||
DECODER_OPTION_END_OF_STREAM, /* Indicate bitstream of the final frame to be decoded */
|
||||
DECODER_OPTION_VCL_NAL, //feedback whether or not have VCL NAL in current AU for application layer
|
||||
DECODER_OPTION_TEMPORAL_ID, //feedback temporal id for application layer
|
||||
DECODER_OPTION_FRAME_NUM, //feedback current decoded frame number
|
||||
DECODER_OPTION_IDR_PIC_ID, // feedback current frame belong to which IDR period
|
||||
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_ERROR_CON_IDC, //not finished yet, indicate decoder error concealment status, in progress
|
||||
DECODER_OPTION_DATAFORMAT = 0, ///< color format, now supports 23 only (I420)
|
||||
DECODER_OPTION_END_OF_STREAM, ///< end of stream flag
|
||||
DECODER_OPTION_VCL_NAL, ///< feedback whether or not have VCL NAL in current AU for application layer
|
||||
DECODER_OPTION_TEMPORAL_ID, ///< feedback temporal id for application layer
|
||||
DECODER_OPTION_FRAME_NUM, ///< feedback current decoded frame number
|
||||
DECODER_OPTION_IDR_PIC_ID, ///< feedback current frame belong to which IDR period
|
||||
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_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,///< context info of trace callbac
|
||||
|
||||
DECODER_OPTION_GET_STATISTICS
|
||||
|
||||
} DECODER_OPTION;
|
||||
|
||||
//enuerate the types of error concealment methods
|
||||
/**
|
||||
* @brief Enumerate the type of error concealment methods
|
||||
*/
|
||||
typedef enum {
|
||||
ERROR_CON_DISABLE = 0,
|
||||
ERROR_CON_FRAME_COPY,
|
||||
ERROR_CON_SLICE_COPY,
|
||||
ERROR_CON_FRAME_COPY_CROSS_IDR,
|
||||
ERROR_CON_SLICE_COPY_CROSS_IDR,
|
||||
ERROR_CON_SLICE_COPY_CROSS_IDR_FREEZE_RES_CHANGE,
|
||||
ERROR_CON_SLICE_MV_COPY_CROSS_IDR,
|
||||
ERROR_CON_SLICE_MV_COPY_CROSS_IDR_FREEZE_RES_CHANGE
|
||||
} ERROR_CON_IDC;
|
||||
|
||||
typedef enum { //feedback that whether or not have VCL NAL in current AU
|
||||
/**
|
||||
* @brief Feedback that whether or not have VCL NAL in current AU
|
||||
*/
|
||||
typedef enum {
|
||||
FEEDBACK_NON_VCL_NAL = 0,
|
||||
FEEDBACK_VCL_NAL,
|
||||
FEEDBACK_UNKNOWN_NAL
|
||||
} FEEDBACK_VCL_NAL_IN_AU;
|
||||
|
||||
/* Type of layer being encoded */
|
||||
/**
|
||||
* @brief Type of layer being encoded
|
||||
*/
|
||||
typedef enum {
|
||||
NON_VIDEO_CODING_LAYER = 0,
|
||||
VIDEO_CODING_LAYER = 1
|
||||
} LAYER_TYPE;
|
||||
|
||||
/**
|
||||
* @brief Spatial layer num
|
||||
*/
|
||||
typedef enum {
|
||||
SPATIAL_LAYER_0 = 0,
|
||||
SPATIAL_LAYER_1 = 1,
|
||||
SPATIAL_LAYER_2 = 2,
|
||||
SPATIAL_LAYER_3 = 3,
|
||||
SPATIAL_LAYER_ALL = 4,
|
||||
SPATIAL_LAYER_ALL = 4
|
||||
} LAYER_NUM;
|
||||
|
||||
//enumerate the type of video bitstream which is provided to decoder
|
||||
/**
|
||||
* @brief Enumerate the type of video bitstream which is provided to decoder
|
||||
*/
|
||||
typedef enum {
|
||||
VIDEO_BITSTREAM_AVC = 0,
|
||||
VIDEO_BITSTREAM_SVC = 1,
|
||||
VIDEO_BITSTREAM_DEFAULT = VIDEO_BITSTREAM_SVC,
|
||||
VIDEO_BITSTREAM_DEFAULT = VIDEO_BITSTREAM_SVC
|
||||
} VIDEO_BITSTREAM_TYPE;
|
||||
|
||||
/**
|
||||
* @brief Enumerate the type of key frame request
|
||||
*/
|
||||
typedef enum {
|
||||
NO_RECOVERY_REQUSET = 0,
|
||||
LTR_RECOVERY_REQUEST = 1,
|
||||
IDR_RECOVERY_REQUEST = 2,
|
||||
NO_LTR_MARKING_FEEDBACK = 3,
|
||||
LTR_MARKING_SUCCESS = 4,
|
||||
LTR_MARKING_FAILED = 5,
|
||||
LTR_MARKING_FAILED = 5
|
||||
} KEY_FRAME_REQUEST_TYPE;
|
||||
|
||||
/**
|
||||
* @brief Structure for LTR recover request
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned int uiFeedbackType; //IDR request or LTR recovery request
|
||||
unsigned int uiIDRPicId; // distinguish request from different IDR
|
||||
unsigned int uiFeedbackType; ///< IDR request or LTR recovery request
|
||||
unsigned int uiIDRPicId; ///< distinguish request from different IDR
|
||||
int iLastCorrectFrameNum;
|
||||
int iCurrentFrameNum; //specify current decoder frame_num.
|
||||
int iCurrentFrameNum; ///< specify current decoder frame_num.
|
||||
} SLTRRecoverRequest;
|
||||
|
||||
/**
|
||||
* @brief Structure for LTR marking feedback
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned int uiFeedbackType; //mark failed or successful
|
||||
unsigned int uiIDRPicId; // distinguish request from different IDR
|
||||
int iLTRFrameNum; //specify current decoder frame_num
|
||||
unsigned int uiFeedbackType; ///< mark failed or successful
|
||||
unsigned int uiIDRPicId; ///< distinguish request from different IDR
|
||||
int iLTRFrameNum; ///< specify current decoder frame_num
|
||||
} SLTRMarkingFeedback;
|
||||
|
||||
/**
|
||||
* @brief Structure for LTR configuration
|
||||
*/
|
||||
typedef struct {
|
||||
bool bEnableLongTermReference; ///< 1: on, 0: off
|
||||
int iLTRRefNum; ///< TODO: not supported to set it arbitrary yet
|
||||
} SLTRConfig;
|
||||
|
||||
/**
|
||||
* @brief Structure for slice argument
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned int
|
||||
uiSliceMbNum[MAX_SLICES_NUM_TMP]; //here we use a tmp fixed value since MAX_SLICES_NUM is not defined here and its definition may be changed;
|
||||
unsigned int uiSliceNum;
|
||||
unsigned int uiSliceSizeConstraint;
|
||||
} SSliceArgument;//not all the elements in this argument will be used, how it will be used depends on uiSliceMode; see below
|
||||
uiSliceMbNum[MAX_SLICES_NUM_TMP]; ///< only used when uiSliceMode=2;here we use a tmp fixed value since MAX_SLICES_NUM is not defined here and its definition may be changed;
|
||||
unsigned int uiSliceNum; ///< only used when uiSliceMode=1
|
||||
unsigned int uiSliceSizeConstraint; ///< only used when uiSliceMode=4
|
||||
} SSliceArgument; ///< not all the elements in this argument will be used, how it will be used depends on uiSliceMode; please refer to SliceModeEnum
|
||||
|
||||
/**
|
||||
* @brief Enumerate the type of slice mode
|
||||
*/
|
||||
typedef enum {
|
||||
SM_SINGLE_SLICE = 0, // | SliceNum==1
|
||||
SM_FIXEDSLCNUM_SLICE = 1, // | according to SliceNum | Enabled dynamic slicing for multi-thread
|
||||
SM_RASTER_SLICE = 2, // | according to SlicesAssign | Need input of MB numbers each slice. In addition, if other constraint in SSliceArgument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
||||
SM_ROWMB_SLICE = 3, // | according to PictureMBHeight | Typical of single row of mbs each slice?+ slice size constraint which including re-encoding
|
||||
SM_DYN_SLICE = 4, // | according to SliceSize | Dynamic slicing (have no idea about slice_nums until encoding current frame)
|
||||
SM_AUTO_SLICE = 5, // | according to thread number
|
||||
SM_SINGLE_SLICE = 0, ///< | SliceNum==1
|
||||
SM_FIXEDSLCNUM_SLICE = 1, ///< | according to SliceNum | enabled dynamic slicing for multi-thread
|
||||
SM_RASTER_SLICE = 2, ///< | according to SlicesAssign | need input of MB numbers each slice. In addition, if other constraint in SSliceArgument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
||||
SM_ROWMB_SLICE = 3, ///< | according to PictureMBHeight | typical of single row of mbs each slice + slice size constraint which including re-encoding
|
||||
SM_DYN_SLICE = 4, ///< | according to SliceSize | dynamic slicing (have no idea about slice_nums until encoding current frame)
|
||||
SM_AUTO_SLICE = 5, ///< | according to thread number
|
||||
SM_RESERVED = 6
|
||||
} SliceModeEnum;
|
||||
|
||||
/**
|
||||
* @brief Enumerate the type of rate control mode
|
||||
*/
|
||||
typedef enum {
|
||||
RC_QUALITY_MODE = 0, //Quality mode
|
||||
RC_BITRATE_MODE = 1, //Bitrate mode
|
||||
RC_LOW_BW_MODE = 2, //bitrate limited mode
|
||||
RC_OFF_MODE = -1, // rate control off mode
|
||||
RC_QUALITY_MODE = 0, ///< quality mode
|
||||
RC_BITRATE_MODE = 1, ///< bitrate mode
|
||||
RC_BUFFERBASED_MODE = 2, ///< no bitrate control,only using buffer status,adjust the video quality
|
||||
RC_OFF_MODE = -1 ///< rate control off mode
|
||||
} RC_MODES;
|
||||
|
||||
/**
|
||||
* @brief Enumerate the type of profile id
|
||||
*/
|
||||
typedef enum {
|
||||
PRO_UNKNOWN = 0,
|
||||
PRO_BASELINE = 66,
|
||||
@@ -202,9 +302,12 @@ typedef enum {
|
||||
PRO_CAVLC444 = 244,
|
||||
|
||||
PRO_SCALABLE_BASELINE = 83,
|
||||
PRO_SCALABLE_HIGH = 86,
|
||||
PRO_SCALABLE_HIGH = 86
|
||||
} EProfileIdc;
|
||||
|
||||
/**
|
||||
* @brief Enumerate the type of level id
|
||||
*/
|
||||
typedef enum {
|
||||
LEVEL_UNKNOWN,
|
||||
LEVEL_1_0,
|
||||
@@ -226,159 +329,320 @@ typedef enum {
|
||||
LEVEL_5_2
|
||||
} ELevelIdc;
|
||||
|
||||
/**
|
||||
* @brief Enumerate the type of wels log
|
||||
*/
|
||||
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_WARNING ///< default log iLevel in Wels codec
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Structure for slice configuration
|
||||
*/
|
||||
typedef struct {
|
||||
SliceModeEnum uiSliceMode; //by default, uiSliceMode will be SM_SINGLE_SLICE
|
||||
SliceModeEnum uiSliceMode; ///< by default, uiSliceMode will be SM_SINGLE_SLICE
|
||||
SSliceArgument sSliceArgument;
|
||||
} SSliceConfig;
|
||||
|
||||
/**
|
||||
* @brief Structure for spatial layer configuration
|
||||
*/
|
||||
typedef struct {
|
||||
int iVideoWidth; // video size in cx specified for a layer
|
||||
int iVideoHeight; // video size in cy specified for a layer
|
||||
float fFrameRate; // frame rate specified for a layer
|
||||
int iSpatialBitrate; // target bitrate for a spatial layer
|
||||
int iMaxSpatialBitrate;
|
||||
EProfileIdc uiProfileIdc; // value of profile IDC (PRO_UNKNOWN for auto-detection)
|
||||
ELevelIdc uiLevelIdc;
|
||||
int iDLayerQp;
|
||||
int iVideoWidth; ///< width of picture in luminance samples of a layer
|
||||
int iVideoHeight; ///< height of picture in luminance samples of a layer
|
||||
float fFrameRate; ///< frame rate specified for a layer
|
||||
int iSpatialBitrate; ///< target bitrate for a spatial layer
|
||||
int iMaxSpatialBitrate; ///< maximum bitrate for a spatial layer
|
||||
EProfileIdc uiProfileIdc; ///< value of profile IDC (PRO_UNKNOWN for auto-detection)
|
||||
ELevelIdc uiLevelIdc; ///< value of profile IDC (0 for auto-detection)
|
||||
int iDLayerQp; ///< value of level IDC (0 for auto-detection)
|
||||
|
||||
SSliceConfig sSliceCfg;
|
||||
SSliceConfig sSliceCfg; ///< slice configuration for a layer
|
||||
} SSpatialLayerConfig;
|
||||
|
||||
/**
|
||||
* @brief Encoder usage type
|
||||
*/
|
||||
typedef enum {
|
||||
CAMERA_VIDEO_REAL_TIME, //camera video signal
|
||||
SCREEN_CONTENT_REAL_TIME,//screen content signal
|
||||
CAMERA_VIDEO_REAL_TIME, ///< camera video signal
|
||||
SCREEN_CONTENT_REAL_TIME ///< screen content signal
|
||||
} EUsageType;
|
||||
|
||||
/**
|
||||
* @brief Enumulate the complexity mode
|
||||
*/
|
||||
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.
|
||||
// SVC Encoding Parameters
|
||||
/**
|
||||
* @brief SVC Encoding Parameters
|
||||
*/
|
||||
typedef struct TagEncParamBase {
|
||||
EUsageType
|
||||
iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal;
|
||||
int iInputCsp; // color space of input sequence
|
||||
iUsageType; ///< application type;1.CAMERA_VIDEO_REAL_TIME:camera video signal; 2.SCREEN_CONTENT_REAL_TIME:screen content signal;
|
||||
|
||||
int iPicWidth; // width of picture in samples
|
||||
int iPicHeight; // height of picture in samples
|
||||
int iTargetBitrate; // target bitrate desired
|
||||
RC_MODES iRCMode; // RC mode
|
||||
float fMaxFrameRate; // input maximal frame rate
|
||||
int iPicWidth; ///< width of picture in luminance samples (the maximum of all layers if multiple spatial layers presents)
|
||||
int iPicHeight; ///< height of picture in luminance samples((the maximum of all layers if multiple spatial layers presents)
|
||||
int iTargetBitrate; ///< target bitrate desired
|
||||
RC_MODES iRCMode; ///< rate control mode
|
||||
float fMaxFrameRate; ///< maximal input frame rate
|
||||
|
||||
} SEncParamBase, *PEncParamBase;
|
||||
|
||||
|
||||
/**
|
||||
* @brief SVC Encoding Parameters extention
|
||||
*/
|
||||
typedef struct TagEncParamExt {
|
||||
EUsageType
|
||||
iUsageType; //application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal;
|
||||
int iInputCsp; // color space of input sequence
|
||||
iUsageType; ///< application type;1.CAMERA_VIDEO_REAL_TIME:camera video signal;2.SCREEN_CONTENT_REAL_TIME:screen content signal;
|
||||
|
||||
int iPicWidth; // width of picture in samples
|
||||
int iPicHeight; // height of picture in samples
|
||||
int iTargetBitrate; // target bitrate desired
|
||||
RC_MODES iRCMode; // RC mode
|
||||
float fMaxFrameRate; // input maximal frame rate
|
||||
int iPicWidth; ///< width of picture in luminance samples (the maximum of all layers if multiple spatial layers presents)
|
||||
int iPicHeight; ///< height of picture in luminance samples((the maximum of all layers if multiple spatial layers presents)
|
||||
int iTargetBitrate; ///< target bitrate desired
|
||||
RC_MODES iRCMode; ///< rate control mode
|
||||
float fMaxFrameRate; ///< maximal input frame rate
|
||||
|
||||
int iTemporalLayerNum; // layer number at temporal level
|
||||
int iSpatialLayerNum; // layer number at spatial level
|
||||
int iTemporalLayerNum; ///< temporal layer number, max temporal layer = 4
|
||||
int iSpatialLayerNum; ///< spatial layer number,1<= iSpatialLayerNum <= MAX_SPATIAL_LAYER_NUM, MAX_SPATIAL_LAYER_NUM = 4
|
||||
SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
|
||||
|
||||
unsigned int uiIntraPeriod; // period of Intra frame
|
||||
int iNumRefFrame; // number of reference frame used
|
||||
unsigned int uiFrameToBeCoded; // frame to be encoded (at input frame rate)
|
||||
bool bEnableSpsPpsIdAddition;
|
||||
bool bPrefixNalAddingCtrl;
|
||||
bool bEnableSSEI;
|
||||
int iPaddingFlag; // 0:disable padding;1:padding
|
||||
int iEntropyCodingModeFlag;
|
||||
ECOMPLEXITY_MODE iComplexityMode;
|
||||
unsigned int uiIntraPeriod; ///< period of Intra frame
|
||||
int iNumRefFrame; ///< number of reference frame used
|
||||
bool bEnableSpsPpsIdAddition; ///< false:not adjust ID in SPS/PPS; true: adjust ID in SPS/PPS
|
||||
bool bPrefixNalAddingCtrl; ///< false:not use Prefix NAL; true: use Prefix NAL
|
||||
bool bEnableSSEI; ///< false:not use SSEI; true: use SSEI
|
||||
int iPaddingFlag; ///< 0:disable padding;1:padding
|
||||
int iEntropyCodingModeFlag; ///< 0:CAVLC 1:CABAC.
|
||||
|
||||
/* rc control */
|
||||
bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits
|
||||
int iMaxBitrate; // max bitrate desired
|
||||
int iMaxQp;
|
||||
int iMinQp;
|
||||
unsigned int uiMaxNalSize;
|
||||
bool bEnableFrameSkip; ///< False: don't skip frame even if VBV buffer overflow.True: allow skipping frames to keep the bitrate within limits
|
||||
int iMaxBitrate; ///< the maximum bitrate
|
||||
int iMaxQp; ///< the maximum QP encoder supports
|
||||
int iMinQp; ///< the minmum QP encoder supports
|
||||
unsigned int uiMaxNalSize; ///< the maximum NAL size. This value should be not 0 for dynamic slice mode
|
||||
|
||||
/*LTR settings*/
|
||||
bool bEnableLongTermReference; // 0: on, 1: off
|
||||
int iLTRRefNum;
|
||||
unsigned int iLtrMarkPeriod;
|
||||
|
||||
bool bEnableLongTermReference; ///< 1: on, 0: off
|
||||
int iLTRRefNum; ///< the number of LTR(long term reference),TODO: not supported to set it arbitrary yet
|
||||
unsigned int iLtrMarkPeriod; ///< the LTR marked period that is used in feedback.
|
||||
/* multi-thread settings*/
|
||||
unsigned short
|
||||
iMultipleThreadIdc; // 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
|
||||
iMultipleThreadIdc; ///< 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; lager than 1: count number of threads;
|
||||
|
||||
/* Deblocking loop filter */
|
||||
int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries
|
||||
int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0
|
||||
int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0
|
||||
int iLoopFilterDisableIdc; ///< 0: on, 1: off, 2: on except for slice boundaries
|
||||
int iLoopFilterAlphaC0Offset; ///< AlphaOffset: valid range [-6, 6], default 0
|
||||
int iLoopFilterBetaOffset; ///< BetaOffset: valid range [-6, 6], default 0
|
||||
/*pre-processing feature*/
|
||||
bool bEnableDenoise; // denoise control
|
||||
bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd
|
||||
bool bEnableAdaptiveQuant; // adaptive quantization control
|
||||
bool bEnableFrameCroppingFlag;// enable frame cropping flag: TRUE always in application
|
||||
bool bEnableDenoise; ///< denoise control
|
||||
bool bEnableBackgroundDetection; ///< background detection control //VAA_BACKGROUND_DETECTION //BGD cmd
|
||||
bool bEnableAdaptiveQuant; ///< adaptive quantization control
|
||||
bool bEnableFrameCroppingFlag; ///< enable frame cropping flag: TRUE always in application
|
||||
bool bEnableSceneChangeDetect;
|
||||
|
||||
bool bIsLosslessLink; ///< LTR advanced setting
|
||||
} SEncParamExt;
|
||||
|
||||
//Define a new struct to show the property of video bitstream.
|
||||
/**
|
||||
* @brief Define a new struct to show the property of video bitstream.
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned int size; //size of the struct
|
||||
VIDEO_BITSTREAM_TYPE eVideoBsType;
|
||||
unsigned int size; ///< size of the struct
|
||||
VIDEO_BITSTREAM_TYPE eVideoBsType; ///< video stream type (AVC/SVC)
|
||||
} SVideoProperty;
|
||||
|
||||
/* SVC Decoding Parameters, reserved here and potential applicable in the future */
|
||||
/**
|
||||
* @brief SVC Decoding Parameters, reserved here and potential applicable in the future
|
||||
*/
|
||||
typedef struct TagSVCDecodingParam {
|
||||
char* pFileNameRestructed; // File name of restructed frame used for PSNR calculation based debug
|
||||
char* pFileNameRestructed; ///< file name of reconstructed frame used for PSNR calculation based debug
|
||||
|
||||
int iOutputColorFormat; // color space format to be outputed, EVideoFormatType specified in codec_def.h
|
||||
unsigned int uiCpuLoad; // CPU load
|
||||
unsigned char uiTargetDqLayer; // Setting target dq layer id
|
||||
EVideoFormatType eOutputColorFormat; ///< color space format to be outputed, EVideoFormatType specified in codec_def.h
|
||||
unsigned int uiCpuLoad; ///< CPU load
|
||||
unsigned char uiTargetDqLayer; ///< setting target dq layer id
|
||||
|
||||
unsigned char uiEcActiveFlag; // Whether active error concealment feature in decoder
|
||||
ERROR_CON_IDC eEcActiveIdc; ///< whether active error concealment feature in decoder
|
||||
bool bParseOnly; ///< decoder for parse only, no reconstruction. When it is true, SPS/PPS size should not exceed SPS_PPS_BS_SIZE (128). Otherwise, it will return error info
|
||||
|
||||
SVideoProperty sVideoProperty;
|
||||
SVideoProperty sVideoProperty; ///< video stream property
|
||||
} SDecodingParam, *PDecodingParam;
|
||||
|
||||
/* Bitstream inforamtion of a layer being encoded */
|
||||
/**
|
||||
* @brief Bitstream inforamtion of a layer being encoded
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char uiTemporalId;
|
||||
unsigned char uiSpatialId;
|
||||
unsigned char uiQualityId;
|
||||
|
||||
unsigned char uiPriorityId; //ignore it currently
|
||||
|
||||
unsigned char uiLayerType;
|
||||
|
||||
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
|
||||
unsigned char* pBsBuf; // Buffer of bitstream contained
|
||||
int iNalCount; ///< count number of NAL coded already
|
||||
int* pNalLengthInByte; ///< length of NAL size in byte from 0 to iNalCount-1
|
||||
unsigned char* pBsBuf; ///< buffer of bitstream contained
|
||||
} SLayerBSInfo, *PLayerBSInfo;
|
||||
|
||||
|
||||
/**
|
||||
* @brief Frame bit stream info
|
||||
*/
|
||||
typedef struct {
|
||||
int iTemporalId; // Temporal ID
|
||||
unsigned char uiFrameType;
|
||||
int iTemporalId; ///< temporal ID
|
||||
|
||||
/**
|
||||
* 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;
|
||||
SLayerBSInfo sLayerInfo[MAX_LAYER_NUM_OF_FRAME];
|
||||
|
||||
int eOutputFrameType;
|
||||
EVideoFrameType eFrameType;
|
||||
int iFrameSizeInBytes;
|
||||
long long uiTimeStamp;
|
||||
} SFrameBSInfo, *PFrameBSInfo;
|
||||
|
||||
/**
|
||||
* @brief Structure for source picture
|
||||
*/
|
||||
typedef struct Source_Picture_s {
|
||||
int iColorFormat; // color space type
|
||||
int iStride[4]; // stride for each plane pData
|
||||
unsigned char* pData[4]; // plane pData
|
||||
int iPicWidth; // luma picture width in x coordinate
|
||||
int iPicHeight; // luma picture height in y coordinate
|
||||
int iColorFormat; ///< color space type
|
||||
int iStride[4]; ///< stride for each plane pData
|
||||
unsigned char* pData[4]; ///< plane pData
|
||||
int iPicWidth; ///< luma picture width in x coordinate
|
||||
int iPicHeight; ///< luma picture height in y coordinate
|
||||
long long uiTimeStamp;
|
||||
} SSourcePicture;
|
||||
|
||||
typedef struct Bitrate_Info_s {
|
||||
/**
|
||||
* @brief Structure for bit rate info
|
||||
*/
|
||||
typedef struct TagBitrateInfo {
|
||||
LAYER_NUM iLayer;
|
||||
int iBitrate; //the maximum bitrate
|
||||
int iBitrate; ///< the maximum bitrate
|
||||
} SBitrateInfo;
|
||||
|
||||
typedef struct Dump_Layer_s {
|
||||
/**
|
||||
* @brief Structure for dump layer info
|
||||
*/
|
||||
typedef struct TagDumpLayer {
|
||||
int iLayer;
|
||||
char* pFileName;
|
||||
} SDumpLayer;
|
||||
|
||||
/**
|
||||
* @brief Structure for profile info in layer
|
||||
*
|
||||
*/
|
||||
typedef struct TagProfileInfo {
|
||||
int iLayer;
|
||||
EProfileIdc uiProfileIdc; ///< the profile info
|
||||
} SProfileInfo;
|
||||
|
||||
/**
|
||||
* @brief Structure for level info in layer
|
||||
*
|
||||
*/
|
||||
typedef struct TagLevelInfo {
|
||||
int iLayer;
|
||||
ELevelIdc uiLevelIdc; ///< the level info
|
||||
} SLevelInfo;
|
||||
/**
|
||||
* @brief Structure for dilivery status
|
||||
*
|
||||
*/
|
||||
typedef struct TagDeliveryStatus {
|
||||
bool bDeliveryFlag; ///< 0: the previous frame isn't delivered,1: the previous frame is delivered
|
||||
int iDropFrameType; ///< the frame type that is dropped; reserved
|
||||
int iDropFrameSize; ///< the frame size that is dropped; reserved
|
||||
} SDeliveryStatus;
|
||||
|
||||
/**
|
||||
* @brief The capability of decoder, for SDP negotiation
|
||||
*/
|
||||
typedef struct TagDecoderCapability {
|
||||
int iProfileIdc; ///< profile_idc
|
||||
int iProfileIop; ///< profile-iop
|
||||
int iLevelIdc; ///< level_idc
|
||||
int iMaxMbps; ///< max-mbps
|
||||
int iMaxFs; ///< max-fs
|
||||
int iMaxCpb; ///< max-cpb
|
||||
int iMaxDpb; ///< max-dpb
|
||||
int iMaxBr; ///< max-br
|
||||
bool bRedPicCap; ///< redundant-pic-cap
|
||||
} SDecoderCapability;
|
||||
|
||||
/**
|
||||
* @brief to do
|
||||
*/
|
||||
typedef struct TagParserBsInfo {
|
||||
int iNalNum; ///< total NAL number in current AU
|
||||
int iNalLenInByte [MAX_NAL_UNITS_IN_LAYER]; ///< each nal length
|
||||
unsigned char* pDstBuff; ///< outputted dst buffer for parsed bitstream
|
||||
int iSpsWidthInPixel; ///< required SPS width info
|
||||
int iSpsHeightInPixel; ///< required SPS height info
|
||||
unsigned long long uiInBsTimeStamp; ///< input BS timestamp
|
||||
unsigned long long uiOutBsTimeStamp; ///< output BS timestamp
|
||||
} SParserBsInfo, *PParserBsInfo;
|
||||
|
||||
/**
|
||||
* @brief Structure for encoder statistics
|
||||
*/
|
||||
typedef struct TagVideoEncoderStatistics {
|
||||
unsigned int uiWidth; ///< the width of encoded frame
|
||||
unsigned int uiHeight; ///< the height of encoded frame
|
||||
//following standard, will be 16x aligned, if there are multiple spatial, this is of the highest
|
||||
float fAverageFrameSpeedInMs; ///< average_Encoding_Time
|
||||
|
||||
// rate control related
|
||||
float fAverageFrameRate; ///< the average frame rate in, calculate since encoding starts, supposed that the input timestamp is in unit of ms
|
||||
float fLatestFrameRate; ///< the frame rate in, in the last second, supposed that the input timestamp is in unit of ms (? useful for checking BR, but is it easy to calculate?
|
||||
unsigned int uiBitRate; ///< sendrate in Bits per second, calculated within the set time-window
|
||||
unsigned int uiAverageFrameQP; ///< the average QP of last encoded frame
|
||||
|
||||
unsigned int uiInputFrameCount; ///< number of frames
|
||||
unsigned int uiSkippedFrameCount; ///< number of frames
|
||||
|
||||
unsigned int uiResolutionChangeTimes; ///< uiResolutionChangeTimes
|
||||
unsigned int uiIDRReqNum; ///< number of IDR requests
|
||||
unsigned int uiIDRSentNum; ///< number of actual IDRs sent
|
||||
unsigned int uiLTRSentNum; ///< number of LTR sent/marked
|
||||
} SEncoderStatistics; // in building, coming soon
|
||||
|
||||
/**
|
||||
* @brief Structure for decoder statistics
|
||||
*/
|
||||
typedef struct TagVideoDecoderStatistics {
|
||||
unsigned int uiWidth; ///< the width of encode/decode frame
|
||||
unsigned int uiHeight; ///< the height of encode/decode frame
|
||||
float fAverageFrameSpeedInMs; ///< average_Decoding_Time
|
||||
float fActualAverageFrameSpeedInMs; ///< actual average_Decoding_Time, including freezing pictures
|
||||
unsigned int uiDecodedFrameCount; ///< number of frames
|
||||
unsigned int uiResolutionChangeTimes; ///< uiResolutionChangeTimes
|
||||
unsigned int uiIDRCorrectNum; ///< number of correct IDR received
|
||||
//EC on related
|
||||
unsigned int
|
||||
uiAvgEcRatio; ///< when EC is on, the average ratio of total EC areas, can be an indicator of reconstruction quality
|
||||
unsigned int
|
||||
uiAvgEcPropRatio; ///< when EC is on, the rough average ratio of propogate EC areas, can be an indicator of reconstruction quality
|
||||
unsigned int uiEcIDRNum; ///< number of actual unintegrity IDR or not received but eced
|
||||
unsigned int uiEcFrameNum; ///<
|
||||
unsigned int uiIDRLostNum; ///< number of whole lost IDR
|
||||
unsigned int uiFreezingIDRNum; ///< number of freezing IDR with error (partly received), under resolution change
|
||||
unsigned int uiFreezingNonIDRNum; ///< number of freezing non-IDR with error
|
||||
int iAvgLumaQp; ///< average luma QP. default: -1, no correct frame outputted
|
||||
|
||||
} SDecoderStatistics; // in building, coming soon
|
||||
|
||||
#endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
|
||||
@@ -33,9 +33,15 @@
|
||||
#ifndef WELS_VIDEO_CODEC_DEFINITION_H__
|
||||
#define WELS_VIDEO_CODEC_DEFINITION_H__
|
||||
|
||||
/**
|
||||
* @file codec_def.h
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Enumerate the type of video format
|
||||
*/
|
||||
typedef enum {
|
||||
/*rgb color formats*/
|
||||
videoFormatRGB = 1,
|
||||
videoFormatRGB = 1, ///< rgb color formats
|
||||
videoFormatRGBA = 2,
|
||||
videoFormatRGB555 = 3,
|
||||
videoFormatRGB565 = 4,
|
||||
@@ -44,56 +50,66 @@ typedef enum {
|
||||
videoFormatABGR = 7,
|
||||
videoFormatARGB = 8,
|
||||
|
||||
/*yuv color formats*/
|
||||
videoFormatYUY2 = 20,
|
||||
videoFormatYUY2 = 20, ///< yuv color formats
|
||||
videoFormatYVYU = 21,
|
||||
videoFormatUYVY = 22,
|
||||
videoFormatI420 = 23, //same as IYUV
|
||||
videoFormatI420 = 23, ///< the same as IYUV
|
||||
videoFormatYV12 = 24,
|
||||
videoFormatInternal = 25, // Only Used for SVC decoder testbed
|
||||
videoFormatInternal = 25, ///< only used in SVC decoder testbed
|
||||
|
||||
videoFormatNV12 = 26, // new format for output by DXVA decoding
|
||||
videoFormatNV12 = 26, ///< new format for output by DXVA decoding
|
||||
|
||||
videoFormatVFlip = 0x80000000
|
||||
} EVideoFormatType;
|
||||
|
||||
/**
|
||||
* @brief Enumerate video frame type
|
||||
*/
|
||||
typedef enum {
|
||||
videoFrameTypeInvalid, /* Encoder not ready or parameters are invalidate */
|
||||
videoFrameTypeIDR, /* This type is only available for H264 if this frame is key frame, then return this type */
|
||||
videoFrameTypeI, /* I frame type */
|
||||
videoFrameTypeP, /* P frame type */
|
||||
videoFrameTypeSkip, /* Skip the frame based encoder kernel */
|
||||
videoFrameTypeIPMixed, /* Frame type introduced I and P slices are mixing */
|
||||
videoFrameTypeInvalid, ///< encoder not ready or parameters are invalidate
|
||||
videoFrameTypeIDR, ///< IDR frame in H.264
|
||||
videoFrameTypeI, ///< I frame type
|
||||
videoFrameTypeP, ///< P frame type
|
||||
videoFrameTypeSkip, ///< skip the frame based encoder kernel
|
||||
videoFrameTypeIPMixed ///< a frame where I and P slices are mixing, not supported yet
|
||||
} EVideoFrameType;
|
||||
|
||||
/**
|
||||
* @brief Enumerate return type
|
||||
*/
|
||||
typedef enum {
|
||||
cmResultSuccess,
|
||||
cmInitParaError, /*Parameters are invalid */
|
||||
cmResultSuccess, ///< successful
|
||||
cmInitParaError, ///< parameters are invalid
|
||||
cmUnkonwReason,
|
||||
cmMallocMemeError, /*Malloc a memory error*/
|
||||
cmInitExpected, /*Initial action is expected*/
|
||||
cmUnsupportedData,
|
||||
cmMallocMemeError, ///< malloc a memory error
|
||||
cmInitExpected, ///< initial action is expected
|
||||
cmUnsupportedData
|
||||
} CM_RETURN;
|
||||
|
||||
/* nal unit type */
|
||||
/**
|
||||
* @brief Enumulate the nal unit type
|
||||
*/
|
||||
enum ENalUnitType {
|
||||
NAL_UNKNOWN = 0,
|
||||
NAL_SLICE = 1,
|
||||
NAL_SLICE_DPA = 2,
|
||||
NAL_SLICE_DPB = 3,
|
||||
NAL_SLICE_DPC = 4,
|
||||
NAL_SLICE_IDR = 5, /* ref_idc != 0 */
|
||||
NAL_SEI = 6, /* ref_idc == 0 */
|
||||
NAL_SLICE_IDR = 5, ///< ref_idc != 0
|
||||
NAL_SEI = 6, ///< ref_idc == 0
|
||||
NAL_SPS = 7,
|
||||
NAL_PPS = 8
|
||||
/* ref_idc == 0 for 6,9,10,11,12 */
|
||||
///< ref_idc == 0 for 6,9,10,11,12
|
||||
};
|
||||
/* NRI: eNalRefIdc */
|
||||
|
||||
/**
|
||||
* @brief NRI: eNalRefIdc
|
||||
*/
|
||||
enum ENalPriority {
|
||||
NAL_PRIORITY_DISPOSABLE = 0,
|
||||
NAL_PRIORITY_LOW = 1,
|
||||
NAL_PRIORITY_HIGH = 2,
|
||||
NAL_PRIORITY_HIGHEST = 3,
|
||||
NAL_PRIORITY_HIGHEST = 3
|
||||
};
|
||||
|
||||
#define IS_PARAMETER_SET_NAL(eNalRefIdc, eNalType) \
|
||||
@@ -107,82 +123,80 @@ enum ENalPriority {
|
||||
|
||||
/* Error Tools definition */
|
||||
typedef unsigned short ERR_TOOL;
|
||||
|
||||
/**
|
||||
@brief to do
|
||||
*/
|
||||
enum {
|
||||
ET_NONE = 0x00, // NONE Error Tools
|
||||
ET_IP_SCALE = 0x01, // IP Scalable
|
||||
ET_FMO = 0x02, // Flexible Macroblock Ordering
|
||||
ET_IR_R1 = 0x04, // Intra Refresh in predifined 2% MB
|
||||
ET_IR_R2 = 0x08, // Intra Refresh in predifined 5% MB
|
||||
ET_IR_R3 = 0x10, // Intra Refresh in predifined 10% MB
|
||||
ET_FEC_HALF = 0x20, // Forward Error Correction in 50% redundency mode
|
||||
ET_FEC_FULL = 0x40, // Forward Error Correction in 100% redundency mode
|
||||
ET_RFS = 0x80, // Reference Frame Selection
|
||||
ET_NONE = 0x00, ///< NONE Error Tools
|
||||
ET_IP_SCALE = 0x01, ///< IP Scalable
|
||||
ET_FMO = 0x02, ///< Flexible Macroblock Ordering
|
||||
ET_IR_R1 = 0x04, ///< Intra Refresh in predifined 2% MB
|
||||
ET_IR_R2 = 0x08, ///< Intra Refresh in predifined 5% MB
|
||||
ET_IR_R3 = 0x10, ///< Intra Refresh in predifined 10% MB
|
||||
ET_FEC_HALF = 0x20, ///< Forward Error Correction in 50% redundency mode
|
||||
ET_FEC_FULL = 0x40, ///< Forward Error Correction in 100% redundency mode
|
||||
ET_RFS = 0x80 ///< Reference Frame Selection
|
||||
};
|
||||
|
||||
/* information of coded Slice(=NAL)(s) */
|
||||
/**
|
||||
* @brief Information of coded Slice(=NAL)(s)
|
||||
*/
|
||||
typedef struct SliceInformation {
|
||||
unsigned char* pBufferOfSlices; // base buffer of coded slice(s)
|
||||
int iCodedSliceCount; // number of coded slices
|
||||
unsigned int* pLengthOfSlices; // array of slices length accordingly by number of slice
|
||||
int iFecType; // FEC type[0, 50%FEC, 100%FEC]
|
||||
unsigned char uiSliceIdx; // index of slice in frame [FMO: 0,..,uiSliceCount-1; No FMO: 0]
|
||||
unsigned char uiSliceCount; // count number of slice in frame [FMO: 2-8; No FMO: 1]
|
||||
char iFrameIndex; // index of frame[-1, .., idr_interval-1]
|
||||
unsigned char uiNalRefIdc; // NRI, priority level of slice(NAL)
|
||||
unsigned char uiNalType; // NAL type
|
||||
unsigned char* pBufferOfSlices; ///< base buffer of coded slice(s)
|
||||
int iCodedSliceCount; ///< number of coded slices
|
||||
unsigned int* pLengthOfSlices; ///< array of slices length accordingly by number of slice
|
||||
int iFecType; ///< FEC type[0, 50%FEC, 100%FEC]
|
||||
unsigned char uiSliceIdx; ///< index of slice in frame [FMO: 0,..,uiSliceCount-1; No FMO: 0]
|
||||
unsigned char uiSliceCount; ///< count number of slice in frame [FMO: 2-8; No FMO: 1]
|
||||
char iFrameIndex; ///< index of frame[-1, .., idr_interval-1]
|
||||
unsigned char uiNalRefIdc; ///< NRI, priority level of slice(NAL)
|
||||
unsigned char uiNalType; ///< NAL type
|
||||
unsigned char
|
||||
uiContainingFinalNal; // whether final NAL is involved in buffer of coded slices, flag used in Pause feature in T27
|
||||
uiContainingFinalNal; ///< whether final NAL is involved in buffer of coded slices, flag used in Pause feature in T27
|
||||
} SliceInfo, *PSliceInfo;
|
||||
|
||||
|
||||
|
||||
#define CIF_WIDTH 352
|
||||
#define CIF_HEIGHT 288
|
||||
#define QVGA_WIDTH 320
|
||||
#define QVGA_HEIGHT 240
|
||||
#define QCIF_WIDTH 176
|
||||
#define QCIF_HEIGHT 144
|
||||
#define SQCIF_WIDTH 128
|
||||
#define SQCIF_HEIGHT 96
|
||||
|
||||
/* thresholds of the initial, maximal and minimal rate */
|
||||
/**
|
||||
* @brief thresholds of the initial, maximal and minimal rate
|
||||
*/
|
||||
typedef struct {
|
||||
int iWidth; // frame width
|
||||
int iHeight; // frame height
|
||||
int iThresholdOfInitRate; // threshold of initial rate
|
||||
int iThresholdOfMaxRate; // threshold of maximal rate
|
||||
int iThresholdOfMinRate; // threshold of minimal rate
|
||||
int iMinThresholdFrameRate; //min frame rate min
|
||||
int iSkipFrameRate; //skip to frame rate min
|
||||
int iSkipFrameStep; //how many frames to skip
|
||||
int iWidth; ///< frame width
|
||||
int iHeight; ///< frame height
|
||||
int iThresholdOfInitRate; ///< threshold of initial rate
|
||||
int iThresholdOfMaxRate; ///< threshold of maximal rate
|
||||
int iThresholdOfMinRate; ///< threshold of minimal rate
|
||||
int iMinThresholdFrameRate; ///< min frame rate min
|
||||
int iSkipFrameRate; ///< skip to frame rate min
|
||||
int iSkipFrameStep; ///< how many frames to skip
|
||||
} SRateThresholds, *PRateThresholds;
|
||||
|
||||
/**
|
||||
* @brief Structure for decoder memery
|
||||
*/
|
||||
typedef struct TagSysMemBuffer {
|
||||
int iWidth; //width of decoded pic for display
|
||||
int iHeight; //height of decoded pic for display
|
||||
int iFormat; // type is "EVideoFormatType"
|
||||
int iStride[2]; //stride of 2 component
|
||||
int iWidth; ///< width of decoded pic for display
|
||||
int iHeight; ///< height of decoded pic for display
|
||||
int iFormat; ///< type is "EVideoFormatType"
|
||||
int iStride[2]; ///< stride of 2 component
|
||||
} SSysMEMBuffer;
|
||||
|
||||
/**
|
||||
* @brief Buffer info
|
||||
*/
|
||||
typedef struct TagBufferInfo {
|
||||
int iBufferStatus; // 0: one frame data is not ready; 1: one frame data is ready
|
||||
int iBufferStatus; ///< 0: one frame data is not ready; 1: one frame data is ready
|
||||
unsigned long long uiInBsTimeStamp; ///< input BS timestamp
|
||||
unsigned long long uiOutYuvTimeStamp; ///< output YUV timestamp, when bufferstatus is 1
|
||||
union {
|
||||
SSysMEMBuffer sSystemBuffer;
|
||||
} UsrData;
|
||||
SSysMEMBuffer sSystemBuffer; ///< memory info for one picture
|
||||
} UsrData; ///< output buffer info
|
||||
} SBufferInfo;
|
||||
|
||||
/* Constants related to transmission rate at various resolutions */
|
||||
static const SRateThresholds ksRateThrMap[4] = {
|
||||
// initial-maximal-minimal
|
||||
{CIF_WIDTH, CIF_HEIGHT, 225000, 384000, 96000, 3, 1, 1}, // CIF
|
||||
{QVGA_WIDTH, QVGA_HEIGHT, 192000, 320000, 80000, -1, -1, -1}, // QVGA
|
||||
{QCIF_WIDTH, QCIF_HEIGHT, 150000, 256000, 64000, 8, 4, 2}, // QCIF
|
||||
{SQCIF_WIDTH, SQCIF_HEIGHT, 120000, 192000, 48000, 5, 3, 1} // SQCIF
|
||||
};
|
||||
|
||||
|
||||
// In a GOP, multiple of the key frame number, derived from
|
||||
// the number of layers(index or array below)
|
||||
/**
|
||||
* @brief In a GOP, multiple of the key frame number, derived from
|
||||
* the number of layers(index or array below)
|
||||
*/
|
||||
static const char kiKeyNumMultiple[] = {
|
||||
1, 1, 2, 4, 8, 16,
|
||||
};
|
||||
|
||||
15
codec/api/svc/codec_ver.h
Normal file
15
codec/api/svc/codec_ver.h
Normal file
@@ -0,0 +1,15 @@
|
||||
//The current file is auto-generated by script: generate_codec_ver.sh
|
||||
#ifndef CODEC_VER_H
|
||||
#define CODEC_VER_H
|
||||
|
||||
#include "codec_app_def.h"
|
||||
|
||||
static const OpenH264Version g_stCodecVersion = {1,3,0,0};
|
||||
static const char* g_strCodecVer = "OpenH264 version:1.3.0.0";
|
||||
|
||||
#define OPENH264_MAJOR (1)
|
||||
#define OPENH264_MINOR (3)
|
||||
#define OPENH264_REVISION (0)
|
||||
#define OPENH264_RESERVED (0)
|
||||
|
||||
#endif // CODEC_VER_H
|
||||
@@ -5,7 +5,7 @@
|
||||
android:versionName="1.0">
|
||||
<uses-sdk android:minSdkVersion="12"/>
|
||||
<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"
|
||||
android:label="@string/app_name">
|
||||
<intent-filter>
|
||||
|
||||
@@ -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_PLATFORM := android-12
|
||||
|
||||
@@ -4,7 +4,9 @@ LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := wels
|
||||
LOCAL_SRC_FILES := ../../../../../libopenh264.so
|
||||
ifneq (,$(wildcard $(LOCAL_PATH)/$(LOCAL_SRC_FILES)))
|
||||
include $(PREBUILT_SHARED_LIBRARY)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -20,11 +22,11 @@ LOCAL_MODULE := welsdecdemo
|
||||
#
|
||||
CODEC_PATH := ../../../../
|
||||
CONSOLE_DEC_PATH := ../../../../console/dec
|
||||
CONSOLE_COMMON_PATH := ../../../../console/common
|
||||
LOCAL_SRC_FILES := \
|
||||
$(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 \
|
||||
$(CODEC_PATH)/common/src/logging.cpp \
|
||||
myjni.cpp
|
||||
#
|
||||
# Header Includes
|
||||
@@ -32,15 +34,12 @@ LOCAL_SRC_FILES := \
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(LOCAL_PATH)/../../../../api/svc \
|
||||
$(LOCAL_PATH)/../../../../console/dec/inc \
|
||||
$(LOCAL_PATH)/../../../../console/common/inc \
|
||||
$(LOCAL_PATH)/../../../../common/inc
|
||||
#
|
||||
# Compile Flags and Link Libraries
|
||||
#
|
||||
LOCAL_CFLAGS := -O3 -DANDROID_NDK
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
LOCAL_ARM_MODE := arm
|
||||
endif
|
||||
LOCAL_CFLAGS := -DANDROID_NDK
|
||||
|
||||
LOCAL_LDLIBS := -llog
|
||||
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 |
@@ -6,7 +6,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">"
|
||||
android:orientation="horizontal">
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.wels.dec;
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.os.Process;
|
||||
import android.util.Log;
|
||||
|
||||
import android.view.KeyEvent;
|
||||
@@ -19,7 +20,7 @@ public class WelsDecTest extends Activity {
|
||||
private OnClickListener OnClickEvent;
|
||||
private Button mBtnLoad, mBtnStartSW;
|
||||
|
||||
final String mStreamPath = "/sdcard/wels-seq/";
|
||||
final String mStreamPath = "/sdcard/welsdec/";
|
||||
Vector<String> mStreamFiles = new Vector<String>();
|
||||
|
||||
@Override
|
||||
@@ -33,14 +34,10 @@ public class WelsDecTest extends Activity {
|
||||
mBtnLoad = (Button)findViewById (R.id.cfg);
|
||||
mBtnStartSW = (Button)findViewById (R.id.buttonSW);
|
||||
|
||||
OnClickEvent = new OnClickListener()
|
||||
{
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch(v.getId())
|
||||
{
|
||||
case R.id.cfg:
|
||||
{
|
||||
OnClickEvent = new OnClickListener() {
|
||||
public void onClick (View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.cfg: {
|
||||
String cfgFile = mStreamPath + "BitStreams.txt";
|
||||
try {
|
||||
BufferedReader bufferedReader = new BufferedReader (new FileReader (cfgFile));
|
||||
@@ -55,8 +52,7 @@ public class WelsDecTest extends Activity {
|
||||
}
|
||||
}
|
||||
break;
|
||||
case R.id.buttonSW:
|
||||
{
|
||||
case R.id.buttonSW: {
|
||||
System.out.println ("decode sequence number = " + mStreamFiles.size());
|
||||
Log.i ("WSE_DEC", "after click");
|
||||
try {
|
||||
@@ -81,14 +77,53 @@ public class WelsDecTest extends Activity {
|
||||
mBtnStartSW.setOnClickListener (OnClickEvent);
|
||||
|
||||
System.out.println ("Done!");
|
||||
//if you want to run the demo manually, just comment following 2 lines
|
||||
runAutoDec();
|
||||
}
|
||||
public void runAutoDec() {
|
||||
Thread thread = new Thread() {
|
||||
|
||||
public void run() {
|
||||
Log.i (TAG, "decoder performance test begin");
|
||||
|
||||
File bitstreams = new File (mStreamPath);
|
||||
String[] list = bitstreams.list();
|
||||
if (list == null || list.length == 0) {
|
||||
Log.i (TAG, "have not find any coder resourse");
|
||||
finish();
|
||||
}
|
||||
for (int i = 0; i < list.length; i++) {
|
||||
|
||||
String inFile = list[i];
|
||||
inFile = mStreamPath + inFile;
|
||||
String outFile = inFile + ".yuv";
|
||||
DoDecoderTest (inFile, outFile);
|
||||
|
||||
|
||||
}
|
||||
Log.i (TAG, "decoder performance test finish");
|
||||
finish();
|
||||
}
|
||||
|
||||
};
|
||||
thread.start();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart()
|
||||
{
|
||||
public void onStart() {
|
||||
Log.i ("WSE_DEC", "welsdecdemo onStart");
|
||||
super.onStart();
|
||||
}
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
Log.i (TAG, "OnDestroy");
|
||||
|
||||
Process.killProcess (Process.myPid());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown (int keyCode, KeyEvent event) {
|
||||
@@ -108,8 +143,7 @@ public class WelsDecTest extends Activity {
|
||||
System.loadLibrary ("stlport_shared");
|
||||
System.loadLibrary ("welsdecdemo");
|
||||
Log.v (TAG, "Load libwelsdec successful");
|
||||
}
|
||||
catch(Exception e) {
|
||||
} catch (Exception e) {
|
||||
Log.e (TAG, "Failed to load welsdec" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
android:versionName="1.0">
|
||||
<uses-sdk android:minSdkVersion="12"/>
|
||||
<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"
|
||||
android:label="@string/app_name">
|
||||
<intent-filter>
|
||||
|
||||
@@ -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_PLATFORM := android-12
|
||||
|
||||
@@ -8,6 +8,27 @@
|
||||
|
||||
extern "C" int EncMain (int argc, char* argv[]);
|
||||
extern "C"
|
||||
JNIEXPORT void JNICALL Java_com_wels_enc_WelsEncTest_DoEncoderAutoTest
|
||||
(JNIEnv* env, jobject thiz, jstring jsIncfgName, jstring jsInlayerName, jstring jsInyuvName, jstring jsOutbitName) {
|
||||
/**************** Add the native codes/API *****************/
|
||||
const char* argv[]={
|
||||
(char*)("encConsole.exe"),
|
||||
(char*) ((*env).GetStringUTFChars (jsIncfgName, NULL)),
|
||||
(char*)("-org"),
|
||||
(char*) ((*env).GetStringUTFChars (jsInyuvName, NULL)),
|
||||
(char*)("-bf"),
|
||||
(char*) ((*env).GetStringUTFChars (jsOutbitName, NULL)),
|
||||
(char*)("-numl"),
|
||||
(char*)("1"),
|
||||
(char*)("-lconfig"),
|
||||
(char*)("0"),
|
||||
(char*) ((*env).GetStringUTFChars (jsInlayerName, NULL))
|
||||
};
|
||||
LOGI ("Start to run JNI module!+++");
|
||||
EncMain(sizeof(argv)/sizeof(argv[0]),(char**)&argv[0]);
|
||||
LOGI ("End to run JNI module!+++");
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_com_wels_enc_WelsEncTest_DoEncoderTest
|
||||
(JNIEnv* env, jobject thiz, jstring jsFileNameIn) {
|
||||
/**************** Add the native codes/API *****************/
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# Generate the libwelsdecdemo.so file
|
||||
# Generate the libwelsencdemo.so file
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := wels
|
||||
LOCAL_SRC_FILES := ../../../../../libopenh264.so
|
||||
ifneq (,$(wildcard $(LOCAL_PATH)/$(LOCAL_SRC_FILES)))
|
||||
include $(PREBUILT_SHARED_LIBRARY)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -20,10 +22,10 @@ LOCAL_MODULE := welsencdemo
|
||||
#
|
||||
CODEC_PATH := ../../../../
|
||||
CONSOLE_ENC_PATH := ../../../../console/enc
|
||||
CONSOLE_COMMON_PATH := ../../../../console/common
|
||||
LOCAL_SRC_FILES := \
|
||||
$(CONSOLE_ENC_PATH)/src/welsenc.cpp \
|
||||
$(CONSOLE_ENC_PATH)/src/read_config.cpp \
|
||||
$(CODEC_PATH)/common/src/logging.cpp \
|
||||
$(CONSOLE_COMMON_PATH)/src/read_config.cpp \
|
||||
myjni.cpp
|
||||
|
||||
#
|
||||
@@ -32,6 +34,7 @@ LOCAL_SRC_FILES := \
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(LOCAL_PATH)/../../../../api/svc \
|
||||
$(LOCAL_PATH)/../../../../console/enc/inc \
|
||||
$(LOCAL_PATH)/../../../../console/common/inc \
|
||||
$(LOCAL_PATH)/../../../../encoder/core/inc \
|
||||
$(LOCAL_PATH)/../../../../processing/interface \
|
||||
$(LOCAL_PATH)/../../../../common/inc
|
||||
@@ -40,11 +43,7 @@ LOCAL_C_INCLUDES := \
|
||||
#
|
||||
# Compile Flags and Link Libraries
|
||||
#
|
||||
LOCAL_CFLAGS := -O3 -DANDROID_NDK
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
LOCAL_ARM_MODE := arm
|
||||
endif
|
||||
LOCAL_CFLAGS := -DANDROID_NDK
|
||||
|
||||
LOCAL_LDLIBS := -llog
|
||||
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 |
@@ -6,7 +6,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">"
|
||||
android:orientation="horizontal">
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.wels.enc;
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.os.Process;
|
||||
import android.util.Log;
|
||||
|
||||
import android.view.KeyEvent;
|
||||
@@ -19,7 +20,7 @@ public class WelsEncTest extends Activity {
|
||||
private OnClickListener OnClickEvent;
|
||||
private Button mBtnLoad, mBtnStartSW;
|
||||
|
||||
final String mStreamPath = "/sdcard/wels-seq/";
|
||||
final String mStreamPath = "/sdcard/welsenc/";
|
||||
Vector<String> mCfgFiles = new Vector<String>();
|
||||
|
||||
@Override
|
||||
@@ -34,14 +35,10 @@ public class WelsEncTest extends Activity {
|
||||
mBtnStartSW = (Button)findViewById (R.id.buttonSW);
|
||||
|
||||
|
||||
OnClickEvent = new OnClickListener()
|
||||
{
|
||||
public void onClick(View v)
|
||||
{
|
||||
switch(v.getId())
|
||||
{
|
||||
case R.id.cfg:
|
||||
{
|
||||
OnClickEvent = new OnClickListener() {
|
||||
public void onClick (View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.cfg: {
|
||||
String cfgFile = mStreamPath + "cfgs.txt";
|
||||
try {
|
||||
BufferedReader bufferedReader = new BufferedReader (new FileReader (cfgFile));
|
||||
@@ -56,9 +53,8 @@ public class WelsEncTest extends Activity {
|
||||
}
|
||||
}
|
||||
break;
|
||||
case R.id.buttonSW:
|
||||
{
|
||||
System.out.println("decode sequence number = " + mCfgFiles.size());
|
||||
case R.id.buttonSW: {
|
||||
System.out.println ("encode sequence number = " + mCfgFiles.size());
|
||||
Log.i (TAG, "after click");
|
||||
try {
|
||||
for (int k = 0; k < mCfgFiles.size(); k++) {
|
||||
@@ -69,7 +65,7 @@ public class WelsEncTest extends Activity {
|
||||
Log.e (TAG, e.getMessage());
|
||||
}
|
||||
mCfgFiles.clear();
|
||||
tv.setText( "Decoder is completed!" );
|
||||
tv.setText ("Encoder is completed!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -80,15 +76,73 @@ public class WelsEncTest extends Activity {
|
||||
mBtnStartSW.setOnClickListener (OnClickEvent);
|
||||
|
||||
System.out.println ("Done!");
|
||||
//run the test automatically,if you not want to autotest, just comment this line
|
||||
runAutoEnc();
|
||||
}
|
||||
|
||||
public void runAutoEnc() {
|
||||
Thread thread = new Thread() {
|
||||
|
||||
public void run() {
|
||||
Log.i (TAG, "encoder performance test begin");
|
||||
String inYuvfile = null, outBitfile = null, inOrgfile = null, inLayerfile = null;
|
||||
File encCase = new File (mStreamPath);
|
||||
String[] caseNum = encCase.list();
|
||||
if (caseNum == null || caseNum.length == 0) {
|
||||
Log.i (TAG, "have not find any encoder resourse");
|
||||
finish();
|
||||
}
|
||||
|
||||
for (int i = 0; i < caseNum.length; i++) {
|
||||
String[] yuvName = null;
|
||||
File yuvPath = null;
|
||||
File encCaseNo = new File (mStreamPath + caseNum[i]);
|
||||
String[] encFile = encCaseNo.list();
|
||||
|
||||
for (int k = 0; k < encFile.length; k++) {
|
||||
if (encFile[k].compareToIgnoreCase ("welsenc.cfg") == 0)
|
||||
|
||||
inOrgfile = encCaseNo + File.separator + encFile[k];
|
||||
|
||||
else if (encFile[k].compareToIgnoreCase ("layer2.cfg") == 0)
|
||||
inLayerfile = encCaseNo + File.separator + encFile[k];
|
||||
else if (encFile[k].compareToIgnoreCase ("yuv") == 0) {
|
||||
yuvPath = new File (encCaseNo + File.separator + encFile[k]);
|
||||
yuvName = yuvPath.list();
|
||||
}
|
||||
}
|
||||
for (int m = 0; m < yuvName.length; m++) {
|
||||
inYuvfile = yuvPath + File.separator + yuvName[m];
|
||||
outBitfile = inYuvfile + ".264";
|
||||
Log.i (TAG, "enc yuv file:" + yuvName[m]);
|
||||
DoEncoderAutoTest (inOrgfile, inLayerfile, inYuvfile, outBitfile);
|
||||
}
|
||||
}
|
||||
|
||||
Log.i (TAG, "encoder performance test finish");
|
||||
finish();
|
||||
}
|
||||
|
||||
};
|
||||
thread.start();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart()
|
||||
{
|
||||
Log.i(TAG,"welsdecdemo onStart");
|
||||
public void onStart() {
|
||||
Log.i (TAG, "welsencdemo onStart");
|
||||
super.onStart();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
Log.i (TAG, "OnDestroy");
|
||||
|
||||
Process.killProcess (Process.myPid());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown (int keyCode, KeyEvent event) {
|
||||
@@ -101,6 +155,8 @@ public class WelsEncTest extends Activity {
|
||||
}
|
||||
|
||||
public native void DoEncoderTest (String cfgFileName);
|
||||
public native void DoEncoderAutoTest (String cfgFileName, String layerFileName, String yuvFileName,
|
||||
String outBitsName);
|
||||
private static final String TAG = "welsenc";
|
||||
static {
|
||||
try {
|
||||
@@ -108,9 +164,8 @@ public class WelsEncTest extends Activity {
|
||||
System.loadLibrary ("stlport_shared");
|
||||
System.loadLibrary ("welsencdemo");
|
||||
Log.v (TAG, "Load libwelsencdemo.so successful");
|
||||
}
|
||||
catch(Exception e) {
|
||||
Log.e(TAG, "Failed to load welsdec"+e.getMessage());
|
||||
} catch (Exception e) {
|
||||
Log.e (TAG, "Failed to load welsenc" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
54
codec/build/generate_codec_ver.sh
Executable file
54
codec/build/generate_codec_ver.sh
Executable file
@@ -0,0 +1,54 @@
|
||||
# Run this to update the codec_ver.h at changes of api
|
||||
|
||||
#!/bin/sh
|
||||
#
|
||||
|
||||
if [ "$1"x = ""x ]; then
|
||||
echo "Please input the version number as : major_ver.minor_ver.patch.reserve"
|
||||
exit 127
|
||||
fi
|
||||
|
||||
codec_ver=`echo "$1" | egrep "^([0-9]+[.]){3}[0-9]+$"`
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Please input the version number as : major_ver.minor_ver.patch.reserve"
|
||||
exit 127
|
||||
fi
|
||||
|
||||
revision=`git show | head -n 1`
|
||||
revision=`echo $revision|cut -d' ' -f2|sed -e 's#[ ]*\(.*\)[ ]*#\1#'`
|
||||
revision=${revision:0:7}
|
||||
|
||||
echo "//The current file is auto-generated by script: generate_codec_ver.sh" >>codec_ver.h
|
||||
echo "#ifndef CODEC_VER_H" >>codec_ver.h
|
||||
echo "#define CODEC_VER_H" >>codec_ver.h
|
||||
echo "" >>codec_ver.h
|
||||
|
||||
echo "#include \"codec_app_def.h\"" >>codec_ver.h
|
||||
echo "" >>codec_ver.h
|
||||
|
||||
echo "static const OpenH264Version g_stCodecVersion = {$1};"|tr '.' ',' >>codec_ver.h
|
||||
echo "static const char* g_strCodecVer = \"OpenH264 version:$1\";" >>codec_ver.h
|
||||
#if [ "$2"x = ""x ]; then
|
||||
#echo "static const char* g_strCodecBuildNum = \"OpenH264 revision:$revision\";" >> codec_ver.h
|
||||
#else
|
||||
#echo "static const char* g_strCodecBuildNum = \"OpenH264 build:$2, OpenH264 revision:$revision\";" >> codec_ver.h
|
||||
#fi
|
||||
echo "" >>codec_ver.h
|
||||
|
||||
#define OPENH264_MAJOR 1, #define OPENH264_MINOR 2 #define OPENH264_REVISION 3 #define OPENH264_RESERVED 0
|
||||
echo "#define OPENH264_MAJOR (${1%%.*})" >>codec_ver.h
|
||||
|
||||
tmp=${1#*.}
|
||||
echo "#define OPENH264_MINOR (${tmp%%.*})" >>codec_ver.h
|
||||
|
||||
tmp=${tmp#*.}
|
||||
echo "#define OPENH264_REVISION (${tmp%%.*})" >>codec_ver.h
|
||||
|
||||
tmp=${tmp#*.}
|
||||
echo "#define OPENH264_RESERVED (${tmp%%.*})" >>codec_ver.h
|
||||
echo "" >>codec_ver.h
|
||||
|
||||
echo "#endif // CODEC_VER_H" >>codec_ver.h
|
||||
|
||||
mv -f codec_ver.h ../api/svc/codec_ver.h
|
||||
@@ -14,33 +14,23 @@
|
||||
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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
4CE443E718B722CD0017DF25 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443E618B722CD0017DF25 /* XCTest.framework */; };
|
||||
4CE443E818B722CD0017DF25 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CE443D818B722CD0017DF25 /* Foundation.framework */; };
|
||||
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 */; };
|
||||
53C1C9BC193F0FB000404D8F /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53C1C9BB193F0FB000404D8F /* expand_pic.cpp */; };
|
||||
5BA8F2C019603F5F00011CE4 /* common_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5BA8F2BF19603F5F00011CE4 /* common_tables.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 */; };
|
||||
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 */; };
|
||||
F5BB0BB8196BB5960072D50D /* copy_mb_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */; };
|
||||
F791965419D3B89D00F60C6B /* intra_pred_common_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F791965319D3B89D00F60C6B /* intra_pred_common_aarch64_neon.S */; };
|
||||
F791965619D3B8A600F60C6B /* intra_pred_common_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F791965519D3B8A600F60C6B /* intra_pred_common_neon.S */; };
|
||||
F791965919D3BE2200F60C6B /* intra_pred_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F791965819D3BE2200F60C6B /* intra_pred_common.cpp */; };
|
||||
FAABAA1818E9354A00D4186F /* sad_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAABAA1718E9354A00D4186F /* sad_common.cpp */; };
|
||||
/* 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 */
|
||||
4CE443D318B722CD0017DF25 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@@ -62,8 +52,6 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -73,22 +61,26 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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; };
|
||||
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; };
|
||||
4CE443F018B722CD0017DF25 /* commonTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "commonTests-Info.plist"; sourceTree = "<group>"; };
|
||||
4CE443F218B722CD0017DF25 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
4CE443F418B722CD0017DF25 /* commonTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = commonTests.m; sourceTree = "<group>"; };
|
||||
53C1C9BA193F0F9E00404D8F /* expand_pic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expand_pic.h; sourceTree = "<group>"; };
|
||||
53C1C9BB193F0FB000404D8F /* expand_pic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand_pic.cpp; 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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
F791965319D3B89D00F60C6B /* intra_pred_common_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_common_aarch64_neon.S; path = arm64/intra_pred_common_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
F791965519D3B8A600F60C6B /* intra_pred_common_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_common_neon.S; sourceTree = "<group>"; };
|
||||
F791965719D3BA9300F60C6B /* intra_pred_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intra_pred_common.h; sourceTree = "<group>"; };
|
||||
F791965819D3BE2200F60C6B /* intra_pred_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = intra_pred_common.cpp; 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>"; };
|
||||
/* End PBXFileReference section */
|
||||
@@ -102,23 +94,13 @@
|
||||
);
|
||||
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 */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
4C3406B118D96EA600DFA14A /* arm */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F791965519D3B8A600F60C6B /* intra_pred_common_neon.S */,
|
||||
4CC61F0818FF6B4B00E56EAB /* copy_mb_neon.S */,
|
||||
4C3406B218D96EA600DFA14A /* arm_arch_common_macro.S */,
|
||||
4C3406B318D96EA600DFA14A /* deblocking_neon.S */,
|
||||
@@ -131,19 +113,20 @@
|
||||
4C3406B618D96EA600DFA14A /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F791965719D3BA9300F60C6B /* intra_pred_common.h */,
|
||||
F0B204F718FD23B6005DA23F /* copy_mb.h */,
|
||||
FAABAA1618E9353F00D4186F /* sad_common.h */,
|
||||
4C3406B718D96EA600DFA14A /* cpu.h */,
|
||||
4C3406B818D96EA600DFA14A /* cpu_core.h */,
|
||||
4C3406B918D96EA600DFA14A /* crt_util_safe_x.h */,
|
||||
53C1C9BA193F0F9E00404D8F /* expand_pic.h */,
|
||||
4C3406BA18D96EA600DFA14A /* deblocking_common.h */,
|
||||
4C3406BB18D96EA600DFA14A /* expand_picture_common.h */,
|
||||
4C3406BC18D96EA600DFA14A /* logging.h */,
|
||||
4C3406BD18D96EA600DFA14A /* ls_defines.h */,
|
||||
4C3406BE18D96EA600DFA14A /* macros.h */,
|
||||
4C3406BF18D96EA600DFA14A /* mc_common.h */,
|
||||
4C3406C018D96EA600DFA14A /* measure_time.h */,
|
||||
4C3406C118D96EA600DFA14A /* typedefs.h */,
|
||||
5BA8F2BE19603F3500011CE4 /* wels_common_defs.h */,
|
||||
4C3406C218D96EA600DFA14A /* WelsThreadLib.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -152,12 +135,14 @@
|
||||
4C3406C318D96EA600DFA14A /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F791965819D3BE2200F60C6B /* intra_pred_common.cpp */,
|
||||
5BA8F2BF19603F5F00011CE4 /* common_tables.cpp */,
|
||||
F0B204F818FD23BF005DA23F /* copy_mb.cpp */,
|
||||
FAABAA1718E9354A00D4186F /* sad_common.cpp */,
|
||||
4C3406C418D96EA600DFA14A /* cpu.cpp */,
|
||||
4C3406C518D96EA600DFA14A /* crt_util_safe_x.cpp */,
|
||||
53C1C9BB193F0FB000404D8F /* expand_pic.cpp */,
|
||||
4C3406C618D96EA600DFA14A /* deblocking_common.cpp */,
|
||||
4C3406C718D96EA600DFA14A /* logging.cpp */,
|
||||
4C3406C818D96EA600DFA14A /* WelsThreadLib.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -167,7 +152,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4472F18BC61650017DF25 /* common */,
|
||||
4CE443EE18B722CD0017DF25 /* commonTests */,
|
||||
4CE443D718B722CD0017DF25 /* Frameworks */,
|
||||
4CE443D618B722CD0017DF25 /* Products */,
|
||||
);
|
||||
@@ -177,7 +161,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE443D518B722CD0017DF25 /* libcommon.a */,
|
||||
4CE443E518B722CD0017DF25 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -186,30 +169,11 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE443D818B722CD0017DF25 /* Foundation.framework */,
|
||||
4CE443E618B722CD0017DF25 /* XCTest.framework */,
|
||||
4CE443E918B722CD0017DF25 /* UIKit.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
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 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -225,6 +189,9 @@
|
||||
F556A81D1906669F00E156A8 /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F791965319D3B89D00F60C6B /* intra_pred_common_aarch64_neon.S */,
|
||||
F5BB0BB7196BB5960072D50D /* copy_mb_aarch64_neon.S */,
|
||||
F5AC94FE193EB7D800F58154 /* deblocking_aarch64_neon.S */,
|
||||
F5B8D82C190757290037849A /* mc_aarch64_neon.S */,
|
||||
F556A8221906673900E156A8 /* arm_arch64_common_macro.S */,
|
||||
F556A8231906673900E156A8 /* expand_picture_aarch64_neon.S */,
|
||||
@@ -252,31 +219,13 @@
|
||||
productReference = 4CE443D518B722CD0017DF25 /* libcommon.a */;
|
||||
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 */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4CE443CD18B722CC0017DF25 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
LastUpgradeCheck = 0510;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = 4CE443D018B722CC0017DF25 /* Build configuration list for PBXProject "common" */;
|
||||
@@ -292,22 +241,10 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4CE443D418B722CD0017DF25 /* common */,
|
||||
4CE443E418B722CD0017DF25 /* commonTests */,
|
||||
);
|
||||
};
|
||||
/* 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 */
|
||||
4CE443D118B722CD0017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@@ -316,13 +253,19 @@
|
||||
F5B8D82D190757290037849A /* mc_aarch64_neon.S in Sources */,
|
||||
4C3406C918D96EA600DFA14A /* arm_arch_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 */,
|
||||
F791965919D3BE2200F60C6B /* intra_pred_common.cpp in Sources */,
|
||||
4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */,
|
||||
4C3406D018D96EA600DFA14A /* logging.cpp in Sources */,
|
||||
5BA8F2C019603F5F00011CE4 /* common_tables.cpp in Sources */,
|
||||
F791965419D3B89D00F60C6B /* intra_pred_common_aarch64_neon.S in Sources */,
|
||||
4C3406D118D96EA600DFA14A /* WelsThreadLib.cpp in Sources */,
|
||||
4C3406CC18D96EA600DFA14A /* mc_neon.S in Sources */,
|
||||
F5BB0BB8196BB5960072D50D /* copy_mb_aarch64_neon.S in Sources */,
|
||||
4C3406CB18D96EA600DFA14A /* expand_picture_neon.S in Sources */,
|
||||
F791965619D3B8A600F60C6B /* intra_pred_common_neon.S in Sources */,
|
||||
4CC61F0918FF6B4B00E56EAB /* copy_mb_neon.S in Sources */,
|
||||
53C1C9BC193F0FB000404D8F /* expand_pic.cpp in Sources */,
|
||||
4C3406CD18D96EA600DFA14A /* cpu.cpp in Sources */,
|
||||
F556A8251906673900E156A8 /* expand_picture_aarch64_neon.S in Sources */,
|
||||
4C3406CA18D96EA600DFA14A /* deblocking_neon.S in Sources */,
|
||||
@@ -331,41 +274,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE443E118B722CD0017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE443F518B722CD0017DF25 /* commonTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* 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 */
|
||||
4CE443F618B722CD0017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -393,7 +308,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
@@ -403,7 +318,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -425,7 +339,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
@@ -434,7 +348,6 @@
|
||||
4CE443F918B722CD0017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -455,8 +368,11 @@
|
||||
HAVE_NEON,
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = APPLE_IOS;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
"$(SRCROOT)/../../../api/svc",
|
||||
);
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -466,7 +382,6 @@
|
||||
4CE443FA18B722CD0017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -485,51 +400,17 @@
|
||||
HAVE_NEON,
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = APPLE_IOS;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
"$(SRCROOT)/../../../api/svc",
|
||||
);
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
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 */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -551,15 +432,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4CE443FB18B722CD0017DF25 /* Build configuration list for PBXNativeTarget "commonTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4CE443FC18B722CD0017DF25 /* Debug */,
|
||||
4CE443FD18B722CD0017DF25 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 4CE443CD18B722CC0017DF25 /* Project object */;
|
||||
|
||||
@@ -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>
|
||||
@@ -35,13 +35,6 @@
|
||||
remoteGlobalIDString = 4CE443D518B722CD0017DF25;
|
||||
remoteInfo = common;
|
||||
};
|
||||
4CE444F718B72A900017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444F018B72A8F0017DF25 /* common.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE443E518B722CD0017DF25;
|
||||
remoteInfo = commonTests;
|
||||
};
|
||||
4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */;
|
||||
@@ -49,12 +42,19 @@
|
||||
remoteGlobalIDString = 4CE4427918B6FC360017DF25;
|
||||
remoteInfo = welsdec;
|
||||
};
|
||||
4CE4450118B72AD70017DF25 /* PBXContainerItemProxy */ = {
|
||||
541044A6199888F800B44931 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE4428918B6FC360017DF25;
|
||||
remoteInfo = welsdecTests;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 4CE4427818B6FC360017DF25;
|
||||
remoteInfo = welsdec;
|
||||
};
|
||||
541044A8199888F800B44931 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444F018B72A8F0017DF25 /* common.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 4CE443D418B722CD0017DF25;
|
||||
remoteInfo = common;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
F0E6634D1810EFA5000C888E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
F0E663511810EFA5000C888E /* demo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "demo-Info.plist"; sourceTree = "<group>"; };
|
||||
F0E663531810EFA5000C888E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
F0E663551810EFA5000C888E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
F0E663551810EFA5000C888E /* main.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = main.m; sourceTree = "<group>"; };
|
||||
F0E663581810EFA5000C888E /* DEMOAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DEMOAppDelegate.h; sourceTree = "<group>"; };
|
||||
F0E663591810EFA5000C888E /* DEMOAppDelegate.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp.preprocessed; path = DEMOAppDelegate.m; sourceTree = "<group>"; };
|
||||
F0E6635B1810EFA5000C888E /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
|
||||
@@ -78,10 +78,10 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
F0E663B4181117B9000C888E /* DEMOViewControllerShowResource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DEMOViewControllerShowResource.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@@ -106,7 +106,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE444F618B72A900017DF25 /* libcommon.a */,
|
||||
4CE444F818B72A900017DF25 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -115,7 +114,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4450018B72AD70017DF25 /* libwelsdec.a */,
|
||||
4CE4450218B72AD70017DF25 /* welsdecTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -222,6 +220,8 @@
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
541044A7199888F800B44931 /* PBXTargetDependency */,
|
||||
541044A9199888F800B44931 /* PBXTargetDependency */,
|
||||
);
|
||||
name = demo;
|
||||
productName = demo;
|
||||
@@ -273,13 +273,6 @@
|
||||
remoteRef = 4CE444F518B72A900017DF25 /* PBXContainerItemProxy */;
|
||||
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 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
@@ -287,13 +280,6 @@
|
||||
remoteRef = 4CE444FF18B72AD70017DF25 /* PBXContainerItemProxy */;
|
||||
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 */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
@@ -329,6 +315,19 @@
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
541044A7199888F800B44931 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = welsdec;
|
||||
targetProxy = 541044A6199888F800B44931 /* PBXContainerItemProxy */;
|
||||
};
|
||||
541044A9199888F800B44931 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = common;
|
||||
targetProxy = 541044A8199888F800B44931 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
F0E663521810EFA5000C888E /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
@@ -382,7 +381,7 @@
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
@@ -407,7 +406,7 @@
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
@@ -428,6 +427,7 @@
|
||||
APPLE_IOS,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common/inc\"",
|
||||
);
|
||||
@@ -447,6 +447,7 @@
|
||||
GCC_C_LANGUAGE_STANDARD = "compiler-default";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common/inc\"",
|
||||
);
|
||||
|
||||
@@ -32,8 +32,7 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface DEMOViewController : UIViewController
|
||||
{
|
||||
@interface DEMOViewController : UIViewController {
|
||||
BOOL bEnableFlag;
|
||||
}
|
||||
@property (strong, nonatomic) NSMutableArray* resFileArray;
|
||||
|
||||
@@ -34,8 +34,90 @@
|
||||
|
||||
#import "DEMOAppDelegate.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
extern int DecMain (int argc, char* argv[]);
|
||||
|
||||
//redirect NSLog and stdout to logfile
|
||||
void redirectLogToDocumentFile() {
|
||||
NSArray* path = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString* document = [path objectAtIndex:0];
|
||||
NSString* fileName = [NSString stringWithFormat:@"decPerf.log"];
|
||||
NSString* logPath = [document stringByAppendingPathComponent:fileName];
|
||||
|
||||
NSFileManager* defaultManager = [NSFileManager defaultManager];
|
||||
[defaultManager removeItemAtPath:logPath error:nil];
|
||||
|
||||
freopen ([logPath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);
|
||||
freopen ([logPath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);
|
||||
}
|
||||
|
||||
|
||||
//run auto test to get encoder performance
|
||||
int AutoTestDec() {
|
||||
|
||||
|
||||
NSString* document = [[NSString alloc] init];
|
||||
NSArray* paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
if ([paths count] == 0) {
|
||||
NSLog (@"could not find document path");
|
||||
return 2;
|
||||
}
|
||||
document = [paths objectAtIndex:0];
|
||||
|
||||
|
||||
NSString* decFilePath = [document stringByAppendingString:@"/DecoderPerfTestRes"];
|
||||
NSFileManager* manage = [NSFileManager defaultManager];
|
||||
|
||||
NSString* outYuvPath = [decFilePath stringByAppendingString:@"/yuv"];
|
||||
[manage removeItemAtPath:outYuvPath error:nil];
|
||||
[manage createDirectoryAtPath:outYuvPath withIntermediateDirectories:YES attributes:nil error: nil];
|
||||
|
||||
|
||||
NSArray* bitstreams = [manage subpathsAtPath:decFilePath];
|
||||
if (bitstreams == nil) {
|
||||
NSLog (@"could not find any bitstream under decoderperfpath");
|
||||
return 1;
|
||||
}
|
||||
|
||||
redirectLogToDocumentFile(); //output to console, just comment this line
|
||||
|
||||
for (int caseNO = 0; caseNO < [bitstreams count]; caseNO++) {
|
||||
|
||||
NSString* caseName = [bitstreams objectAtIndex:caseNO];
|
||||
if ([caseName isEqual: @"yuv"]) {
|
||||
break;
|
||||
}
|
||||
NSString* bitstream = [decFilePath stringByAppendingString:@"/"];
|
||||
bitstream = [bitstream stringByAppendingString:caseName];
|
||||
NSString* yuvFileName = [caseName stringByAppendingString:@".yuv"];
|
||||
NSString* tmpyuvFileName = [outYuvPath stringByAppendingString:@"/"];
|
||||
yuvFileName = [tmpyuvFileName stringByAppendingString:yuvFileName];
|
||||
|
||||
[manage createFileAtPath:yuvFileName contents:nil attributes:nil];
|
||||
|
||||
const char* argvv[] = {
|
||||
"decConsole.exe",
|
||||
[bitstream UTF8String],
|
||||
[yuvFileName UTF8String]
|
||||
};
|
||||
DecMain (sizeof (argvv) / sizeof (argvv[0]), (char**)&argvv[0]);
|
||||
[manage removeItemAtPath:yuvFileName error:nil];//FOR limited devices spaces
|
||||
fflush (stdout); // flush the content of stdout instantly
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main (int argc, char* argv[]) {
|
||||
//***For auto testing of decoder performance, call auto test here, if you not want to do auto test, you can comment it manualy
|
||||
|
||||
if (AutoTestDec() == 0)
|
||||
NSLog (@"Auto testing running sucessfully");
|
||||
else
|
||||
NSLog (@"Auto testing running failed");
|
||||
abort();
|
||||
//********
|
||||
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain (argc, argv, nil, NSStringFromClass ([DEMOAppDelegate class]));
|
||||
}
|
||||
|
||||
@@ -7,13 +7,8 @@
|
||||
objects = {
|
||||
|
||||
/* 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 */; };
|
||||
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 */; };
|
||||
4CE4468B18BC5EAB0017DF25 /* bit_stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466818BC5EAA0017DF25 /* bit_stream.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 */; };
|
||||
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 */; };
|
||||
4CE4469218BC5EAB0017DF25 /* expand_pic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4466F18BC5EAA0017DF25 /* expand_pic.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 */; };
|
||||
4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */; };
|
||||
@@ -33,24 +27,18 @@
|
||||
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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
6A3E814219D79AE900C19C1F /* cabac_decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A3E814119D79AE900C19C1F /* cabac_decoder.cpp */; };
|
||||
6A3E814419D7A40600C19C1F /* parse_mb_syn_cabac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A3E814319D7A40600C19C1F /* parse_mb_syn_cabac.cpp */; };
|
||||
6C749B6A197CC6E600A111F9 /* block_add_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 6C749B69197CC6E600A111F9 /* block_add_aarch64_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 */; };
|
||||
/* 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 */
|
||||
4CE4427718B6FC360017DF25 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@@ -64,14 +52,11 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
04FE0680196FD8BE0004D7CE /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = version.h; path = ../../../common/inc/version.h; sourceTree = "<group>"; };
|
||||
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; };
|
||||
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; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -84,7 +69,6 @@
|
||||
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>"; };
|
||||
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; };
|
||||
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>"; };
|
||||
@@ -101,7 +85,6 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -113,7 +96,6 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -124,14 +106,22 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
6A3E814019D79AD900C19C1F /* cabac_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cabac_decoder.h; sourceTree = "<group>"; };
|
||||
6A3E814119D79AE900C19C1F /* cabac_decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cabac_decoder.cpp; sourceTree = "<group>"; };
|
||||
6A3E814319D7A40600C19C1F /* parse_mb_syn_cabac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parse_mb_syn_cabac.cpp; sourceTree = "<group>"; };
|
||||
6A3E814519D7A40D00C19C1F /* parse_mb_syn_cabac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parse_mb_syn_cabac.h; sourceTree = "<group>"; };
|
||||
6C749B69197CC6E600A111F9 /* block_add_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = block_add_aarch64_neon.S; path = arm64/block_add_aarch64_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>"; };
|
||||
F0B204FB18FD23D8005DA23F /* error_concealment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = error_concealment.cpp; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
@@ -145,25 +135,22 @@
|
||||
);
|
||||
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 */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
4CBC1B7F194AC4A400214D9E /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6C749B69197CC6E600A111F9 /* block_add_aarch64_neon.S */,
|
||||
4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */,
|
||||
);
|
||||
name = arm64;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4427018B6FC360017DF25 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4463E18BC5EAA0017DF25 /* decoder */,
|
||||
4CE4429218B6FC360017DF25 /* welsdecTests */,
|
||||
4CE4427B18B6FC360017DF25 /* Frameworks */,
|
||||
4CE4427A18B6FC360017DF25 /* Products */,
|
||||
);
|
||||
@@ -173,7 +160,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4427918B6FC360017DF25 /* libwelsdec.a */,
|
||||
4CE4428918B6FC360017DF25 /* welsdecTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -182,30 +168,11 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4427C18B6FC360017DF25 /* Foundation.framework */,
|
||||
4CE4428A18B6FC360017DF25 /* XCTest.framework */,
|
||||
4CE4428D18B6FC360017DF25 /* UIKit.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
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 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -219,6 +186,7 @@
|
||||
4CE4463F18BC5EAA0017DF25 /* core */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CBC1B7F194AC4A400214D9E /* arm64 */,
|
||||
4CE447A518BC6BE90017DF25 /* arm */,
|
||||
4CE4464418BC5EAA0017DF25 /* inc */,
|
||||
4CE4466618BC5EAA0017DF25 /* src */,
|
||||
@@ -229,6 +197,10 @@
|
||||
4CE4464418BC5EAA0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6A3E814519D7A40D00C19C1F /* parse_mb_syn_cabac.h */,
|
||||
6A3E814019D79AD900C19C1F /* cabac_decoder.h */,
|
||||
9AED665A1946A21D009A3567 /* utils.h */,
|
||||
9ABF4380193EB5F700A6BD61 /* expand_pic.h */,
|
||||
F0B204FA18FD23CF005DA23F /* error_concealment.h */,
|
||||
4CE4464518BC5EAA0017DF25 /* as264_common.h */,
|
||||
4CE4464618BC5EAA0017DF25 /* au_parser.h */,
|
||||
@@ -242,7 +214,6 @@
|
||||
4CE4464E18BC5EAA0017DF25 /* decoder_context.h */,
|
||||
4CE4464F18BC5EAA0017DF25 /* decoder_core.h */,
|
||||
4CE4465018BC5EAA0017DF25 /* error_code.h */,
|
||||
4CE4465118BC5EAA0017DF25 /* expand_pic.h */,
|
||||
4CE4465218BC5EAA0017DF25 /* fmo.h */,
|
||||
4CE4465318BC5EAA0017DF25 /* get_intra_predictor.h */,
|
||||
4CE4465418BC5EAA0017DF25 /* manage_dec_ref.h */,
|
||||
@@ -259,7 +230,6 @@
|
||||
4CE4465F18BC5EAA0017DF25 /* picture.h */,
|
||||
4CE4466018BC5EAA0017DF25 /* rec_mb.h */,
|
||||
4CE4466118BC5EAA0017DF25 /* slice.h */,
|
||||
4CE4466218BC5EAA0017DF25 /* utils.h */,
|
||||
4CE4466318BC5EAA0017DF25 /* vlc_decoder.h */,
|
||||
4CE4466418BC5EAA0017DF25 /* wels_common_basis.h */,
|
||||
4CE4466518BC5EAA0017DF25 /* wels_const.h */,
|
||||
@@ -270,6 +240,10 @@
|
||||
4CE4466618BC5EAA0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6A3E814319D7A40600C19C1F /* parse_mb_syn_cabac.cpp */,
|
||||
6A3E814119D79AE900C19C1F /* cabac_decoder.cpp */,
|
||||
9AED66581946A203009A3567 /* utils.cpp */,
|
||||
9ABF4381193EB60900A6BD61 /* expand_pic.cpp */,
|
||||
F0B204FB18FD23D8005DA23F /* error_concealment.cpp */,
|
||||
4CE4466718BC5EAA0017DF25 /* au_parser.cpp */,
|
||||
4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */,
|
||||
@@ -279,7 +253,6 @@
|
||||
4CE4466C18BC5EAA0017DF25 /* decoder.cpp */,
|
||||
4CE4466D18BC5EAA0017DF25 /* decoder_core.cpp */,
|
||||
4CE4466E18BC5EAA0017DF25 /* decoder_data_tables.cpp */,
|
||||
4CE4466F18BC5EAA0017DF25 /* expand_pic.cpp */,
|
||||
4CE4467018BC5EAA0017DF25 /* fmo.cpp */,
|
||||
4CE4467118BC5EAA0017DF25 /* get_intra_predictor.cpp */,
|
||||
4CE4467218BC5EAA0017DF25 /* manage_dec_ref.cpp */,
|
||||
@@ -290,7 +263,6 @@
|
||||
4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */,
|
||||
4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */,
|
||||
4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */,
|
||||
4CE4467A18BC5EAA0017DF25 /* utils.cpp */,
|
||||
);
|
||||
path = src;
|
||||
sourceTree = "<group>";
|
||||
@@ -307,7 +279,8 @@
|
||||
4CE4467C18BC5EAA0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4467D18BC5EAA0017DF25 /* welsCodecTrace.h */,
|
||||
04FE0680196FD8BE0004D7CE /* version.h */,
|
||||
9AED66571946A1EB009A3567 /* welsCodecTrace.h */,
|
||||
4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -316,8 +289,8 @@
|
||||
4CE4468218BC5EAB0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */,
|
||||
4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */,
|
||||
4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */,
|
||||
4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -352,31 +325,13 @@
|
||||
productReference = 4CE4427918B6FC360017DF25 /* libwelsdec.a */;
|
||||
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 */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4CE4427118B6FC360017DF25 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
LastUpgradeCheck = 0510;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = 4CE4427418B6FC360017DF25 /* Build configuration list for PBXProject "welsdec" */;
|
||||
@@ -392,42 +347,33 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4CE4427818B6FC360017DF25 /* welsdec */,
|
||||
4CE4428818B6FC360017DF25 /* welsdecTests */,
|
||||
);
|
||||
};
|
||||
/* 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 */
|
||||
4CE4427518B6FC360017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6A3E814419D7A40600C19C1F /* parse_mb_syn_cabac.cpp in Sources */,
|
||||
4CE4469B18BC5EAB0017DF25 /* pic_queue.cpp in Sources */,
|
||||
4CE4469F18BC5EAB0017DF25 /* welsDecoderExt.cpp in Sources */,
|
||||
4CE4469318BC5EAB0017DF25 /* fmo.cpp in Sources */,
|
||||
4CE4469D18BC5EAB0017DF25 /* utils.cpp in Sources */,
|
||||
4CE4469118BC5EAB0017DF25 /* decoder_data_tables.cpp in Sources */,
|
||||
4CE4469718BC5EAB0017DF25 /* mem_align.cpp in Sources */,
|
||||
9ABF4382193EB60900A6BD61 /* expand_pic.cpp in Sources */,
|
||||
4CE4469518BC5EAB0017DF25 /* manage_dec_ref.cpp in Sources */,
|
||||
4CE4468A18BC5EAB0017DF25 /* au_parser.cpp in Sources */,
|
||||
4CE4469218BC5EAB0017DF25 /* expand_pic.cpp in Sources */,
|
||||
4CE4469918BC5EAB0017DF25 /* mv_pred.cpp in Sources */,
|
||||
6A3E814219D79AE900C19C1F /* cabac_decoder.cpp in Sources */,
|
||||
4CE447AC18BC6BE90017DF25 /* block_add_neon.S in Sources */,
|
||||
6C749B6A197CC6E600A111F9 /* block_add_aarch64_neon.S in Sources */,
|
||||
4CE4469418BC5EAB0017DF25 /* get_intra_predictor.cpp in Sources */,
|
||||
9AED66561946A1DE009A3567 /* welsCodecTrace.cpp in Sources */,
|
||||
F0B204FC18FD23D8005DA23F /* error_concealment.cpp in Sources */,
|
||||
4CBC1B81194AC4E100214D9E /* intra_pred_aarch64_neon.S in Sources */,
|
||||
4CE4469018BC5EAB0017DF25 /* decoder_core.cpp in Sources */,
|
||||
4CE4469E18BC5EAB0017DF25 /* welsCodecTrace.cpp in Sources */,
|
||||
4CE447AE18BC6BE90017DF25 /* intra_pred_neon.S in Sources */,
|
||||
4CE4469618BC5EAB0017DF25 /* mc.cpp in Sources */,
|
||||
4CE4469C18BC5EAB0017DF25 /* rec_mb.cpp in Sources */,
|
||||
@@ -435,47 +381,20 @@
|
||||
4CE4468D18BC5EAB0017DF25 /* decode_mb_aux.cpp in Sources */,
|
||||
4CE4468E18BC5EAB0017DF25 /* decode_slice.cpp in Sources */,
|
||||
4CE4468F18BC5EAB0017DF25 /* decoder.cpp in Sources */,
|
||||
9AED66591946A203009A3567 /* utils.cpp in Sources */,
|
||||
4CE4469818BC5EAB0017DF25 /* memmgr_nal_unit.cpp in Sources */,
|
||||
4CE4468C18BC5EAB0017DF25 /* deblocking.cpp in Sources */,
|
||||
4CE4469A18BC5EAB0017DF25 /* parse_mb_syn_cavlc.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE4428518B6FC360017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4429918B6FC360017DF25 /* welsdecTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* 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 */
|
||||
4CE4429A18B6FC360017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -503,7 +422,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
@@ -513,7 +432,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -535,7 +453,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
@@ -544,7 +462,6 @@
|
||||
4CE4429D18B6FC360017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -565,11 +482,12 @@
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = APPLE_IOS;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -580,7 +498,6 @@
|
||||
4CE4429E18B6FC360017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -599,11 +516,12 @@
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = APPLE_IOS;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -611,44 +529,6 @@
|
||||
};
|
||||
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 */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -670,15 +550,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4CE4429F18B6FC360017DF25 /* Build configuration list for PBXNativeTarget "welsdecTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4CE442A018B6FC360017DF25 /* Debug */,
|
||||
4CE442A118B6FC360017DF25 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 4CE4427118B6FC360017DF25 /* Project object */;
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -7,6 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* 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 */; };
|
||||
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 */; };
|
||||
@@ -21,13 +22,26 @@
|
||||
FAFB4FC218BC8DD700315438 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FAFB4FC118BC8DD700315438 /* ViewController.m */; };
|
||||
FAFB4FC418BC8DD700315438 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FAFB4FC318BC8DD700315438 /* Images.xcassets */; };
|
||||
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 */; };
|
||||
FAFB500B18BC8F6C00315438 /* welsenc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAFB500A18BC8F6C00315438 /* welsenc.cpp */; };
|
||||
FAFB502F18BCA50900315438 /* read_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAFB502E18BCA50900315438 /* read_config.cpp */; };
|
||||
/* End PBXBuildFile 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 */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */;
|
||||
@@ -35,13 +49,6 @@
|
||||
remoteGlobalIDString = 4CE4431118B6FFA00017DF25;
|
||||
remoteInfo = welsenc;
|
||||
};
|
||||
FAFB4FE918BC8E7D00315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE4432118B6FFA00017DF25;
|
||||
remoteInfo = welsencTests;
|
||||
};
|
||||
FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
|
||||
@@ -49,27 +56,6 @@
|
||||
remoteGlobalIDString = 4CE443D518B722CD0017DF25;
|
||||
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 */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
|
||||
@@ -77,13 +63,6 @@
|
||||
remoteGlobalIDString = 4CE443D418B722CD0017DF25;
|
||||
remoteInfo = common;
|
||||
};
|
||||
FAFB4FFF18BC8EAF00315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 4CE4443018B724B60017DF25;
|
||||
remoteInfo = processing;
|
||||
};
|
||||
FAFB500118BC8EB200315438 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */;
|
||||
@@ -94,6 +73,7 @@
|
||||
/* End PBXContainerItemProxy 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>"; };
|
||||
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>"; };
|
||||
@@ -112,13 +92,11 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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 */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -126,8 +104,8 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
544F0DC4196F86F50092FC6F /* libprocessing.a in Frameworks */,
|
||||
FAFB500518BC8F1500315438 /* libwelsenc.a in Frameworks */,
|
||||
FAFB500418BC8F1100315438 /* libprocessing.a in Frameworks */,
|
||||
FAFB500318BC8F0D00315438 /* libcommon.a in Frameworks */,
|
||||
FAFB4FAB18BC8DD700315438 /* CoreGraphics.framework in Frameworks */,
|
||||
FAFB4FAD18BC8DD700315438 /* UIKit.framework in Frameworks */,
|
||||
@@ -138,6 +116,14 @@
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
544F0DBA196F85F20092FC6F /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
544F0DC3196F86EF0092FC6F /* libprocessing.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FAFB4F9C18BC8DD700315438 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -158,13 +144,12 @@
|
||||
FAFB4FA718BC8DD700315438 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */,
|
||||
544F0DB9196F85F20092FC6F /* processing.xcodeproj */,
|
||||
FAFB4FEB18BC8E8600315438 /* common.xcodeproj */,
|
||||
FAFB4FE218BC8E7C00315438 /* welsenc.xcodeproj */,
|
||||
FAFB4FA818BC8DD700315438 /* Foundation.framework */,
|
||||
FAFB4FAA18BC8DD700315438 /* CoreGraphics.framework */,
|
||||
FAFB4FAC18BC8DD700315438 /* UIKit.framework */,
|
||||
FAFB4FCA18BC8DD700315438 /* XCTest.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -203,7 +188,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FE818BC8E7D00315438 /* libwelsenc.a */,
|
||||
FAFB4FEA18BC8E7D00315438 /* welsencTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -212,16 +196,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FF118BC8E8600315438 /* libcommon.a */,
|
||||
FAFB4FF318BC8E8600315438 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FAFB4FF518BC8E9A00315438 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FFA18BC8E9A00315438 /* libprocessing.a */,
|
||||
FAFB4FFC18BC8E9A00315438 /* processingTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -250,7 +224,8 @@
|
||||
children = (
|
||||
FAFB500918BC8F6600315438 /* read_config.h */,
|
||||
);
|
||||
path = inc;
|
||||
name = inc;
|
||||
path = ../common/inc;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
@@ -267,8 +242,8 @@
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
544F0DC0196F86EF0092FC6F /* PBXTargetDependency */,
|
||||
FAFB500218BC8EB200315438 /* PBXTargetDependency */,
|
||||
FAFB500018BC8EAF00315438 /* PBXTargetDependency */,
|
||||
FAFB4FFE18BC8EAA00315438 /* PBXTargetDependency */,
|
||||
);
|
||||
name = encDemo;
|
||||
@@ -282,7 +257,7 @@
|
||||
FAFB4F9D18BC8DD700315438 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
LastUpgradeCheck = 0510;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = FAFB4FA018BC8DD700315438 /* Build configuration list for PBXProject "encDemo" */;
|
||||
@@ -302,8 +277,8 @@
|
||||
ProjectRef = FAFB4FEB18BC8E8600315438 /* common.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FAFB4FF518BC8E9A00315438 /* Products */;
|
||||
ProjectRef = FAFB4FF418BC8E9A00315438 /* processing.xcodeproj */;
|
||||
ProductGroup = 544F0DBA196F85F20092FC6F /* Products */;
|
||||
ProjectRef = 544F0DB9196F85F20092FC6F /* processing.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FAFB4FE318BC8E7C00315438 /* Products */;
|
||||
@@ -318,6 +293,13 @@
|
||||
/* End PBXProject 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 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
@@ -325,13 +307,6 @@
|
||||
remoteRef = FAFB4FE718BC8E7D00315438 /* PBXContainerItemProxy */;
|
||||
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 */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
@@ -339,27 +314,6 @@
|
||||
remoteRef = FAFB4FF018BC8E8600315438 /* PBXContainerItemProxy */;
|
||||
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 */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
@@ -395,16 +349,16 @@
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
544F0DC0196F86EF0092FC6F /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = processing;
|
||||
targetProxy = 544F0DBF196F86EF0092FC6F /* PBXContainerItemProxy */;
|
||||
};
|
||||
FAFB4FFE18BC8EAA00315438 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = common;
|
||||
targetProxy = FAFB4FFD18BC8EAA00315438 /* PBXContainerItemProxy */;
|
||||
};
|
||||
FAFB500018BC8EAF00315438 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = processing;
|
||||
targetProxy = FAFB4FFF18BC8EAF00315438 /* PBXContainerItemProxy */;
|
||||
};
|
||||
FAFB500218BC8EB200315438 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = welsenc;
|
||||
@@ -444,7 +398,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -473,15 +426,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
@@ -492,7 +437,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -515,15 +459,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
@@ -533,15 +469,15 @@
|
||||
FAFB4FDB18BC8DD700315438 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common/inc\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
INFOPLIST_FILE = "encDemo/encDemo-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@@ -552,15 +488,15 @@
|
||||
FAFB4FDC18BC8DD700315438 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common/inc\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
INFOPLIST_FILE = "encDemo/encDemo-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
||||
@@ -70,6 +70,8 @@ extern int EncMain(int argc, char **argv);
|
||||
[bsfile UTF8String],
|
||||
"-numl",
|
||||
"1",
|
||||
"-lconfig",
|
||||
"0",
|
||||
[dlayerCfg UTF8String],
|
||||
};
|
||||
NSLog(@"WELS_INFO: enc config file: %@", encCfg);
|
||||
|
||||
@@ -35,8 +35,140 @@
|
||||
|
||||
#import "AppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
extern int EncMain (int argc, char** argv);
|
||||
|
||||
//redirect NSLog and stdout to logfile
|
||||
void redirectLogToDocumentFile() {
|
||||
NSArray* path = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString* document = [path objectAtIndex:0];
|
||||
NSString* fileName = [NSString stringWithFormat:@"encPerf.log"];
|
||||
NSString* logPath = [document stringByAppendingPathComponent:fileName];
|
||||
|
||||
NSFileManager* defaultManager = [NSFileManager defaultManager];
|
||||
[defaultManager removeItemAtPath:logPath error:nil];
|
||||
|
||||
freopen ([logPath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);
|
||||
freopen ([logPath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);
|
||||
}
|
||||
|
||||
//to judge whether the path is needed case path
|
||||
bool IsOneDeptDir (NSString* path) {
|
||||
BOOL isDir = NO;
|
||||
BOOL isOneDeptDir = NO;
|
||||
NSFileManager* fileManager = [NSFileManager defaultManager];
|
||||
NSArray* dirPathArray = [fileManager subpathsAtPath:path];
|
||||
if ([dirPathArray count] == 0 || dirPathArray == nil)
|
||||
isOneDeptDir = NO;
|
||||
else {
|
||||
for (NSString * dirPath in dirPathArray) {
|
||||
NSString* tmpPath = [path stringByAppendingString:@"/"];
|
||||
tmpPath = [tmpPath stringByAppendingString:dirPath];
|
||||
[fileManager fileExistsAtPath:tmpPath isDirectory:&isDir];
|
||||
if (isDir) {
|
||||
isOneDeptDir = YES;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return isOneDeptDir;
|
||||
}
|
||||
|
||||
//run auto test to get encoder performance
|
||||
int AutoTestEnc() {
|
||||
NSString* document = [[NSString alloc] init];
|
||||
NSArray* paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
if ([paths count] == 0) {
|
||||
NSLog (@"could not find document path");
|
||||
return 2;
|
||||
}
|
||||
document = [paths objectAtIndex:0];
|
||||
|
||||
NSString* encFilePath = [document stringByAppendingString:@"/EncoderPerfTestRes"];
|
||||
NSFileManager* manage = [NSFileManager defaultManager];
|
||||
|
||||
NSArray* cases = [manage subpathsAtPath:encFilePath];
|
||||
if (cases == nil) {
|
||||
NSLog (@"could not find any test case under encoderperftest");
|
||||
return 1;
|
||||
|
||||
}
|
||||
redirectLogToDocumentFile();
|
||||
NSMutableArray* dirArray = [[NSMutableArray alloc] init];
|
||||
for (NSString * casePath in cases) {
|
||||
|
||||
NSString* path = [encFilePath stringByAppendingPathComponent:casePath];
|
||||
if (IsOneDeptDir (path)) {
|
||||
[dirArray addObject:casePath];
|
||||
}
|
||||
|
||||
}
|
||||
for (int caseNO = 0; caseNO < [dirArray count]; caseNO++) {
|
||||
|
||||
NSString* caseName = [dirArray objectAtIndex:caseNO];
|
||||
NSString* caseFilePath = [encFilePath stringByAppendingString:@"/"];
|
||||
caseFilePath = [caseFilePath stringByAppendingString:caseName];
|
||||
[manage changeCurrentDirectoryPath:[caseFilePath stringByExpandingTildeInPath]];
|
||||
|
||||
NSString* welscfg = [caseFilePath stringByAppendingString:@"/welsenc.cfg"];
|
||||
NSString* layercfg = [caseFilePath stringByAppendingString:@"/layer2.cfg"];
|
||||
NSString* yuvFilePath = [caseFilePath stringByAppendingString:@"/yuv"];
|
||||
NSString* bitFilePath = [caseFilePath stringByAppendingString:@"/bit"];
|
||||
[manage removeItemAtPath:bitFilePath error:nil];
|
||||
[manage createDirectoryAtPath:bitFilePath withIntermediateDirectories:YES attributes:nil error:nil];
|
||||
|
||||
|
||||
NSArray* files = [manage subpathsAtPath:yuvFilePath];
|
||||
|
||||
[manage changeCurrentDirectoryPath:[bitFilePath stringByExpandingTildeInPath]];
|
||||
|
||||
for (int i = 0; i < [files count]; i++) {
|
||||
NSString* yuvFileName = [files objectAtIndex:i];
|
||||
NSString* bitFileName = [yuvFileName stringByAppendingString:@".264"];
|
||||
|
||||
NSString* bitFileNamePath = [bitFilePath stringByAppendingString:@"/"];
|
||||
bitFileName = [bitFileNamePath stringByAppendingString:bitFileName];
|
||||
|
||||
|
||||
[manage createFileAtPath:bitFileName contents:nil attributes:nil];
|
||||
[manage changeCurrentDirectoryPath:[yuvFilePath stringByExpandingTildeInPath]];
|
||||
const char* argvv[] = {
|
||||
"dummy",
|
||||
[welscfg UTF8String],
|
||||
"-org",
|
||||
[yuvFileName UTF8String],
|
||||
"-bf",
|
||||
[bitFileName UTF8String],
|
||||
"-numl",
|
||||
"1",
|
||||
"-lconfig",
|
||||
"0",
|
||||
[layercfg UTF8String]
|
||||
};
|
||||
|
||||
NSLog (@"WELS_INFO: enc config file: %@", welscfg);
|
||||
NSLog (@"WELS_INFO: enc yuv file: %@", yuvFileName);
|
||||
EncMain (sizeof (argvv) / sizeof (argvv[0]), (char**)&argvv[0]);
|
||||
fflush (stdout); // flush the content of stdout instantly
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int main (int argc, char* argv[]) {
|
||||
|
||||
|
||||
//***For auto testing of encoder performance, call auto test here, if you not want to do auto test, you can comment it manualy
|
||||
|
||||
if (AutoTestEnc() == 0)
|
||||
NSLog (@"Auto testing running sucessfully");
|
||||
else
|
||||
NSLog (@"Auto testing running failed");
|
||||
abort();
|
||||
//************************
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain (argc, argv, nil, NSStringFromClass ([AppDelegate class]));
|
||||
}
|
||||
|
||||
@@ -7,18 +7,15 @@
|
||||
objects = {
|
||||
|
||||
/* 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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
@@ -26,7 +23,6 @@
|
||||
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 */; };
|
||||
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 */; };
|
||||
4CE4471718BC605C0017DF25 /* mc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E618BC605C0017DF25 /* mc.cpp */; };
|
||||
4CE4471818BC605C0017DF25 /* md.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE446E718BC605C0017DF25 /* md.cpp */; };
|
||||
@@ -47,22 +43,18 @@
|
||||
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 */; };
|
||||
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 */; };
|
||||
4CE4472D18BC605C0017DF25 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */; };
|
||||
4CE4472E18BC605C0017DF25 /* welsEncoderExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */; };
|
||||
6CA38DA31991CACE003EAAE0 /* svc_motion_estimation.S in Sources */ = {isa = PBXBuildFile; fileRef = 6CA38DA21991CACE003EAAE0 /* svc_motion_estimation.S */; };
|
||||
6CA38DA51991D31A003EAAE0 /* svc_motion_estimation_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 6CA38DA41991D31A003EAAE0 /* svc_motion_estimation_aarch64_neon.S */; };
|
||||
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 */; };
|
||||
F7E9994519EBD1E9009B1021 /* svc_set_mb_syn_cabac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7E9994419EBD1E9009B1021 /* svc_set_mb_syn_cabac.cpp */; };
|
||||
F7E9994919EBD1F8009B1021 /* set_mb_syn_cabac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7E9994819EBD1F8009B1021 /* set_mb_syn_cabac.cpp */; };
|
||||
/* 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 */
|
||||
4CE4430F18B6FFA00017DF25 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@@ -76,20 +68,19 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
04FE0684196FD9370004D7CE /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = version.h; path = ../../../common/inc/version.h; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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; };
|
||||
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; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -99,7 +90,6 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -123,7 +113,6 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -133,7 +122,6 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -146,7 +134,6 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@@ -167,13 +154,22 @@
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
6CA38DA21991CACE003EAAE0 /* svc_motion_estimation.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = svc_motion_estimation.S; sourceTree = "<group>"; };
|
||||
6CA38DA41991D31A003EAAE0 /* svc_motion_estimation_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = svc_motion_estimation_aarch64_neon.S; path = arm64/svc_motion_estimation_aarch64_neon.S; 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>"; };
|
||||
F7E9994419EBD1E9009B1021 /* svc_set_mb_syn_cabac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svc_set_mb_syn_cabac.cpp; sourceTree = "<group>"; };
|
||||
F7E9994819EBD1F8009B1021 /* set_mb_syn_cabac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = set_mb_syn_cabac.cpp; sourceTree = "<group>"; };
|
||||
F7E9997E19EBD3C6009B1021 /* set_mb_syn_cabac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = set_mb_syn_cabac.h; sourceTree = "<group>"; };
|
||||
F7E9997F19EBD3CE009B1021 /* svc_set_mb_syn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svc_set_mb_syn.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -185,23 +181,13 @@
|
||||
);
|
||||
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 */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
4C34066418C57D0400DFA14A /* arm */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6CA38DA21991CACE003EAAE0 /* svc_motion_estimation.S */,
|
||||
4C34066618C57D0400DFA14A /* intra_pred_neon.S */,
|
||||
4C34066718C57D0400DFA14A /* intra_pred_sad_3_opt_neon.S */,
|
||||
4C34066918C57D0400DFA14A /* memory_neon.S */,
|
||||
@@ -211,11 +197,23 @@
|
||||
path = arm;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CB8F2B219235FAC005D6386 /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6CA38DA41991D31A003EAAE0 /* svc_motion_estimation_aarch64_neon.S */,
|
||||
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 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE446A018BC605B0017DF25 /* encoder */,
|
||||
4CE4432A18B6FFA00017DF25 /* welsencTests */,
|
||||
4CE4431318B6FFA00017DF25 /* Frameworks */,
|
||||
4CE4431218B6FFA00017DF25 /* Products */,
|
||||
);
|
||||
@@ -225,7 +223,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4431118B6FFA00017DF25 /* libwelsenc.a */,
|
||||
4CE4432118B6FFA00017DF25 /* welsencTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -234,30 +231,11 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4431418B6FFA00017DF25 /* Foundation.framework */,
|
||||
4CE4432218B6FFA00017DF25 /* XCTest.framework */,
|
||||
4CE4432518B6FFA00017DF25 /* UIKit.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
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 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -271,6 +249,7 @@
|
||||
4CE446A118BC605B0017DF25 /* core */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CB8F2B219235FAC005D6386 /* arm64 */,
|
||||
4C34066418C57D0400DFA14A /* arm */,
|
||||
4CE446A918BC605C0017DF25 /* inc */,
|
||||
4CE446DC18BC605C0017DF25 /* src */,
|
||||
@@ -281,6 +260,9 @@
|
||||
4CE446A918BC605C0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F7E9997F19EBD3CE009B1021 /* svc_set_mb_syn.h */,
|
||||
F7E9997E19EBD3C6009B1021 /* set_mb_syn_cabac.h */,
|
||||
9AED66671946A2C4009A3567 /* utils.h */,
|
||||
4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */,
|
||||
4CE446AA18BC605C0017DF25 /* as264_common.h */,
|
||||
4CE446AB18BC605C0017DF25 /* au_set.h */,
|
||||
@@ -291,7 +273,6 @@
|
||||
4CE446B118BC605C0017DF25 /* encode_mb_aux.h */,
|
||||
4CE446B218BC605C0017DF25 /* encoder.h */,
|
||||
4CE446B318BC605C0017DF25 /* encoder_context.h */,
|
||||
4CE446B418BC605C0017DF25 /* expand_pic.h */,
|
||||
4CE446B518BC605C0017DF25 /* extern.h */,
|
||||
4CE446B618BC605C0017DF25 /* get_intra_predictor.h */,
|
||||
4CE446B718BC605C0017DF25 /* mb_cache.h */,
|
||||
@@ -315,7 +296,6 @@
|
||||
4CE446C918BC605C0017DF25 /* slice_multi_threading.h */,
|
||||
4CE446CA18BC605C0017DF25 /* stat.h */,
|
||||
4CE446CB18BC605C0017DF25 /* svc_base_layer_md.h */,
|
||||
4CE446CC18BC605C0017DF25 /* svc_config.h */,
|
||||
4CE446CD18BC605C0017DF25 /* svc_enc_frame.h */,
|
||||
4CE446CE18BC605C0017DF25 /* svc_enc_golomb.h */,
|
||||
4CE446CF18BC605C0017DF25 /* svc_enc_macroblock.h */,
|
||||
@@ -325,7 +305,6 @@
|
||||
4CE446D318BC605C0017DF25 /* svc_mode_decision.h */,
|
||||
4CE446D418BC605C0017DF25 /* svc_motion_estimate.h */,
|
||||
4CE446D518BC605C0017DF25 /* svc_set_mb_syn_cavlc.h */,
|
||||
4CE446D618BC605C0017DF25 /* utils.h */,
|
||||
4CE446D718BC605C0017DF25 /* vlc_encoder.h */,
|
||||
4CE446D818BC605C0017DF25 /* wels_common_basis.h */,
|
||||
4CE446D918BC605C0017DF25 /* wels_const.h */,
|
||||
@@ -338,6 +317,9 @@
|
||||
4CE446DC18BC605C0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F7E9994819EBD1F8009B1021 /* set_mb_syn_cabac.cpp */,
|
||||
F7E9994419EBD1E9009B1021 /* svc_set_mb_syn_cabac.cpp */,
|
||||
9AED66651946A2B3009A3567 /* utils.cpp */,
|
||||
4CE446DD18BC605C0017DF25 /* au_set.cpp */,
|
||||
4CE446DE18BC605C0017DF25 /* deblocking.cpp */,
|
||||
4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */,
|
||||
@@ -345,7 +327,6 @@
|
||||
4CE446E118BC605C0017DF25 /* encoder.cpp */,
|
||||
4CE446E218BC605C0017DF25 /* encoder_data_tables.cpp */,
|
||||
4CE446E318BC605C0017DF25 /* encoder_ext.cpp */,
|
||||
4CE446E418BC605C0017DF25 /* expand_pic.cpp */,
|
||||
4CE446E518BC605C0017DF25 /* get_intra_predictor.cpp */,
|
||||
4CE446E618BC605C0017DF25 /* mc.cpp */,
|
||||
4CE446E718BC605C0017DF25 /* md.cpp */,
|
||||
@@ -366,7 +347,6 @@
|
||||
4CE446F618BC605C0017DF25 /* svc_mode_decision.cpp */,
|
||||
4CE446F718BC605C0017DF25 /* svc_motion_estimate.cpp */,
|
||||
4CE446F818BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp */,
|
||||
4CE446F918BC605C0017DF25 /* utils.cpp */,
|
||||
4CE446FA18BC605C0017DF25 /* wels_preprocess.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -384,7 +364,8 @@
|
||||
4CE446FC18BC605C0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE446FD18BC605C0017DF25 /* welsCodecTrace.h */,
|
||||
04FE0684196FD9370004D7CE /* version.h */,
|
||||
9AED664819469FAF009A3567 /* welsCodecTrace.h */,
|
||||
4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -393,8 +374,8 @@
|
||||
4CE4470218BC605C0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */,
|
||||
4CE4470418BC605C0017DF25 /* wels_enc_export.def */,
|
||||
4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */,
|
||||
4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -420,31 +401,13 @@
|
||||
productReference = 4CE4431118B6FFA00017DF25 /* libwelsenc.a */;
|
||||
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 */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4CE4430918B6FFA00017DF25 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
LastUpgradeCheck = 0510;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = 4CE4430C18B6FFA00017DF25 /* Build configuration list for PBXProject "welsenc" */;
|
||||
@@ -460,22 +423,10 @@
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4CE4431018B6FFA00017DF25 /* welsenc */,
|
||||
4CE4432018B6FFA00017DF25 /* welsencTests */,
|
||||
);
|
||||
};
|
||||
/* 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 */
|
||||
4CE4430D18B6FFA00017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
@@ -486,76 +437,56 @@
|
||||
4CE4472718BC605C0017DF25 /* svc_mode_decision.cpp in Sources */,
|
||||
4CE4472818BC605C0017DF25 /* svc_motion_estimate.cpp in Sources */,
|
||||
4CE4471D18BC605C0017DF25 /* property.cpp in Sources */,
|
||||
4CE4472A18BC605C0017DF25 /* utils.cpp in Sources */,
|
||||
4CE4471018BC605C0017DF25 /* decode_mb_aux.cpp in Sources */,
|
||||
4CE4472018BC605C0017DF25 /* sample.cpp in Sources */,
|
||||
4CE4472D18BC605C0017DF25 /* welsCodecTrace.cpp in Sources */,
|
||||
6CA38DA31991CACE003EAAE0 /* svc_motion_estimation.S in Sources */,
|
||||
4CE4471318BC605C0017DF25 /* encoder_data_tables.cpp in Sources */,
|
||||
4C34067118C57D0400DFA14A /* pixel_neon.S in Sources */,
|
||||
9AED665019469FC1009A3567 /* welsCodecTrace.cpp in Sources */,
|
||||
4CE4471F18BC605C0017DF25 /* ref_list_mgr_svc.cpp in Sources */,
|
||||
4CE4472218BC605C0017DF25 /* slice_multi_threading.cpp in Sources */,
|
||||
4CE4471518BC605C0017DF25 /* expand_pic.cpp in Sources */,
|
||||
4C34067018C57D0400DFA14A /* memory_neon.S in Sources */,
|
||||
4CE4470F18BC605C0017DF25 /* deblocking.cpp in Sources */,
|
||||
4CE4472518BC605C0017DF25 /* svc_encode_mb.cpp in Sources */,
|
||||
4CE4471A18BC605C0017DF25 /* mv_pred.cpp 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 */,
|
||||
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 */,
|
||||
F7E9994519EBD1E9009B1021 /* svc_set_mb_syn_cabac.cpp in Sources */,
|
||||
F5617A50196A833A006E2B20 /* reconstruct_aarch64_neon.S in Sources */,
|
||||
4CE4472918BC605C0017DF25 /* svc_set_mb_syn_cavlc.cpp in Sources */,
|
||||
4CE4471818BC605C0017DF25 /* md.cpp in Sources */,
|
||||
4CE4471B18BC605C0017DF25 /* nal_encap.cpp in Sources */,
|
||||
4CE4471918BC605C0017DF25 /* memory_align.cpp in Sources */,
|
||||
4CE4472418BC605C0017DF25 /* svc_enc_slice_segment.cpp in Sources */,
|
||||
4CE4472318BC605C0017DF25 /* svc_base_layer_md.cpp in Sources */,
|
||||
4CB8F2B419235FC5005D6386 /* pixel_aarch64_neon.S in Sources */,
|
||||
4CE4471E18BC605C0017DF25 /* ratectl.cpp in Sources */,
|
||||
4C34066D18C57D0400DFA14A /* intra_pred_neon.S in Sources */,
|
||||
4CE4471C18BC605C0017DF25 /* picture_handle.cpp in Sources */,
|
||||
9AED66661946A2B3009A3567 /* utils.cpp in Sources */,
|
||||
4CE4472618BC605C0017DF25 /* svc_encode_slice.cpp in Sources */,
|
||||
4CE4471218BC605C0017DF25 /* encoder.cpp in Sources */,
|
||||
4CE4471618BC605C0017DF25 /* get_intra_predictor.cpp in Sources */,
|
||||
4CE4472E18BC605C0017DF25 /* welsEncoderExt.cpp in Sources */,
|
||||
6CA38DA51991D31A003EAAE0 /* svc_motion_estimation_aarch64_neon.S in Sources */,
|
||||
4CE4471418BC605C0017DF25 /* encoder_ext.cpp in Sources */,
|
||||
4C34067218C57D0400DFA14A /* reconstruct_neon.S in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE4431D18B6FFA00017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4433118B6FFA00017DF25 /* welsencTests.m in Sources */,
|
||||
F7E9994919EBD1F8009B1021 /* set_mb_syn_cabac.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* 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 */
|
||||
4CE4433218B6FFA00017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -583,7 +514,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
@@ -593,7 +524,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@@ -615,7 +545,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
@@ -624,7 +554,6 @@
|
||||
4CE4433518B6FFA00017DF25 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -646,13 +575,13 @@
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = APPLE_IOS;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(SRCROOT)/../../../../processing/interface",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -663,7 +592,6 @@
|
||||
4CE4433618B6FFA00017DF25 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
@@ -684,12 +612,13 @@
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]" = APPLE_IOS;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(SRCROOT)/../../../../processing/interface",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -697,44 +626,6 @@
|
||||
};
|
||||
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 */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -756,15 +647,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4CE4433718B6FFA00017DF25 /* Build configuration list for PBXNativeTarget "welsencTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4CE4433818B6FFA00017DF25 /* Debug */,
|
||||
4CE4433918B6FFA00017DF25 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 4CE4430918B6FFA00017DF25 /* Project object */;
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
@@ -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>
|
||||
356
codec/build/iOS/openh264/openh264.xcodeproj/project.pbxproj
Normal file
356
codec/build/iOS/openh264/openh264.xcodeproj/project.pbxproj
Normal 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 = 6.0;
|
||||
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 = 6.0;
|
||||
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 */;
|
||||
}
|
||||
542
codec/build/iOS/processing/processing.xcodeproj/project.pbxproj
Normal file
542
codec/build/iOS/processing/processing.xcodeproj/project.pbxproj
Normal file
@@ -0,0 +1,542 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
4CC6094F197E009D00BE8B8B /* down_sample_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6094E197E009D00BE8B8B /* down_sample_aarch64_neon.S */; };
|
||||
4CC6095A1980F34F00BE8B8B /* vaa_calc_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CC609591980F34F00BE8B8B /* vaa_calc_aarch64_neon.S */; };
|
||||
4CD0FE36199082AD00375C9A /* pixel_sad_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 4CD0FE35199082AD00375C9A /* pixel_sad_aarch64_neon.S */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
6C749B78197E2A2000A111F9 /* adaptive_quantization_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 6C749B77197E2A2000A111F9 /* adaptive_quantization_aarch64_neon.S */; };
|
||||
F791965B19D3BF6B00F60C6B /* intra_pred_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F791965A19D3BF6B00F60C6B /* intra_pred_common.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 */
|
||||
4CC6094E197E009D00BE8B8B /* down_sample_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = down_sample_aarch64_neon.S; path = arm64/down_sample_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4CC609591980F34F00BE8B8B /* vaa_calc_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = vaa_calc_aarch64_neon.S; path = arm64/vaa_calc_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4CD0FE35199082AD00375C9A /* pixel_sad_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = pixel_sad_aarch64_neon.S; path = arm64/pixel_sad_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
6C749B77197E2A2000A111F9 /* adaptive_quantization_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = adaptive_quantization_aarch64_neon.S; path = arm64/adaptive_quantization_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
F791965A19D3BF6B00F60C6B /* intra_pred_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = intra_pred_common.cpp; path = ../../../common/src/intra_pred_common.cpp; 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 */
|
||||
4CC6094D197E008B00BE8B8B /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CD0FE35199082AD00375C9A /* pixel_sad_aarch64_neon.S */,
|
||||
6C749B77197E2A2000A111F9 /* adaptive_quantization_aarch64_neon.S */,
|
||||
4CC609591980F34F00BE8B8B /* vaa_calc_aarch64_neon.S */,
|
||||
4CC6094E197E009D00BE8B8B /* down_sample_aarch64_neon.S */,
|
||||
);
|
||||
name = arm64;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
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 = (
|
||||
4CC6094D197E008B00BE8B8B /* arm64 */,
|
||||
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 = (
|
||||
F791965A19D3BF6B00F60C6B /* intra_pred_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 = (
|
||||
6C749B78197E2A2000A111F9 /* adaptive_quantization_aarch64_neon.S in Sources */,
|
||||
549947F4196A3FB400BA3D87 /* vaacalculation.cpp in Sources */,
|
||||
549947E9196A3FB400BA3D87 /* ComplexityAnalysis.cpp in Sources */,
|
||||
549947E3196A3FB400BA3D87 /* vaa_calc_neon.S in Sources */,
|
||||
549947EE196A3FB400BA3D87 /* imagerotate.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 */,
|
||||
4CD0FE36199082AD00375C9A /* pixel_sad_aarch64_neon.S 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 */,
|
||||
4CC6094F197E009D00BE8B8B /* down_sample_aarch64_neon.S in Sources */,
|
||||
4CC6095A1980F34F00BE8B8B /* vaa_calc_aarch64_neon.S in Sources */,
|
||||
549947F2196A3FB400BA3D87 /* ScrollDetectionFuncs.cpp in Sources */,
|
||||
F791965B19D3BF6B00F60C6B /* intra_pred_common.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 = 6.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
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 = 6.0;
|
||||
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_AARCH64,
|
||||
);
|
||||
"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",
|
||||
);
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
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_AARCH64,
|
||||
);
|
||||
"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",
|
||||
);
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
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 */;
|
||||
}
|
||||
15
codec/build/win32/.gitignore
vendored
Normal file
15
codec/build/win32/.gitignore
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
# Files generated by Visual Studio 2008
|
||||
*.user
|
||||
*.ncb
|
||||
*.suo
|
||||
|
||||
Win32
|
||||
x64
|
||||
|
||||
# Files generated by upgrading the project files
|
||||
*.vcxproj*
|
||||
Backup
|
||||
UpgradeLog.htm
|
||||
|
||||
# Files generated by Visual Studio 2012
|
||||
*.sdf
|
||||
@@ -23,13 +23,14 @@
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\core\release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -53,18 +54,13 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;X86_ASM;HAVE_CACHE_LINE_ALIGN"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\release/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="0"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -80,7 +76,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -90,8 +85,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -102,13 +95,14 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\core\release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -133,18 +127,13 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_LIB;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\release/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="0"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -160,7 +149,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -170,8 +158,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -182,8 +168,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\core\debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -211,17 +197,12 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;X86_ASM;HAVE_CACHE_LINE_ALIGN"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="_DEBUG;_LIB;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\debug/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -238,7 +219,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -248,8 +228,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -260,8 +238,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\core\debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -290,17 +268,12 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc;..\..\..\hwDecoder\core\inc;..\..\..\hwDecoder\dxva\inc"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_LIB;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\core\inc;..\..\..\common\inc;..\..\..\api\svc"
|
||||
PreprocessorDefinitions="_DEBUG;_LIB;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\core\debug/WelsDecCore.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\core\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -317,7 +290,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -327,8 +299,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -356,7 +326,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -365,7 +335,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -374,7 +344,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -383,7 +353,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -396,7 +366,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -405,7 +375,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -414,7 +384,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -423,7 +393,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -436,7 +406,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -445,7 +415,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -454,7 +424,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -463,7 +433,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -476,7 +446,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -485,7 +455,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -494,7 +464,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -503,7 +473,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -516,7 +486,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -525,7 +495,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -534,7 +504,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -543,7 +513,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -556,7 +526,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -565,7 +535,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -574,7 +544,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -583,7 +553,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -596,7 +566,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -605,7 +575,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -614,7 +584,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -623,7 +593,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -636,7 +606,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -645,7 +615,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -654,7 +624,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -663,7 +633,7 @@
|
||||
>
|
||||
<Tool
|
||||
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)
"
|
||||
Outputs="$(IntDir)\$(InputName).obj"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
@@ -685,6 +655,10 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\bit_stream.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\cabac_decoder.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\copy_mb.h"
|
||||
>
|
||||
@@ -742,11 +716,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\expand_pic.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\expand_picture_common.h"
|
||||
RelativePath="..\..\..\common\inc\expand_pic.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -809,6 +779,10 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\parameter_sets.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\parse_mb_syn_cabac.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\parse_mb_syn_cavlc.h"
|
||||
>
|
||||
@@ -834,7 +808,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\utils.h"
|
||||
RelativePath="..\..\..\common\inc\utils.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -845,6 +819,10 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\wels_common_basis.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\wels_common_defs.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\wels_const.h"
|
||||
>
|
||||
@@ -862,6 +840,14 @@
|
||||
RelativePath="..\..\..\decoder\core\src\bit_stream.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\cabac_decoder.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\common_tables.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\copy_mb.cpp"
|
||||
>
|
||||
@@ -907,7 +893,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\expand_pic.cpp"
|
||||
RelativePath="..\..\..\common\src\expand_pic.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -918,10 +904,6 @@
|
||||
RelativePath="..\..\..\decoder\core\src\get_intra_predictor.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\logging.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\manage_dec_ref.cpp"
|
||||
>
|
||||
@@ -942,6 +924,10 @@
|
||||
RelativePath="..\..\..\decoder\core\src\mv_pred.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\parse_mb_syn_cabac.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\parse_mb_syn_cavlc.cpp"
|
||||
>
|
||||
@@ -955,7 +941,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\utils.cpp"
|
||||
RelativePath="..\..\..\common\src\utils.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -20,13 +20,14 @@
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\plus\Release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -42,28 +43,17 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\Release/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -79,16 +69,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win32\Release\welsdcore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories=".\..\..\..\libs\Release\"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile=".\..\..\..\maps\Release\welsdec.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName=".\..\..\..\maps\Release\welsdec.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -105,8 +90,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -120,13 +103,14 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\plus\Release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -142,28 +126,17 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_USRDLL;X86_ASM"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\Release/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -179,16 +152,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win64\Release\welsdcore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories=".\..\..\..\libs\Release\"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile=".\..\..\..\maps\Release\welsdec.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName=".\..\..\..\maps\Release\welsdec.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -205,8 +173,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -220,8 +186,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\plus\debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -242,27 +208,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\debug/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -278,14 +233,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win32\Debug\welsdcore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\libs\debug"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile=".\..\..\..\..\bin\win32\Debug/welsdec.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -302,8 +254,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -317,8 +267,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\decoder\plus\debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -339,27 +289,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc;..\..\..\hwDecoder\plus\inc;..\..\..\hwDecoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_WINDOWS;_USRDLL;WELSDECPLUS_EXPORTS;HAVE_CACHE_LINE_ALIGN;X86_ASM"
|
||||
AdditionalIncludeDirectories="..\..\..\decoder\plus\inc;..\..\..\decoder\core\inc;..\..\..\api\svc;..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_USRDLL;X86_ASM"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decoder\plus\debug/WelsDecPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -375,14 +314,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win64\Debug\welsdcore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsdcore.lib"
|
||||
OutputFile="$(OutDir)\welsdec.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\libs\debug"
|
||||
ModuleDefinitionFile="..\..\..\decoder\plus\src\wels_dec_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile=".\..\..\..\..\bin\win32\Debug/welsdec.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -399,8 +335,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
@@ -426,42 +360,6 @@
|
||||
<File
|
||||
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>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -473,84 +371,12 @@
|
||||
>
|
||||
</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
|
||||
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>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -562,7 +388,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\plus\inc\welsCodecTrace.h"
|
||||
RelativePath="..\..\..\common\inc\welsCodecTrace.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\decConsole\Release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -42,24 +42,18 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Release/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Release/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -77,10 +71,7 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
@@ -97,7 +88,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -112,8 +102,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\decConsole\Release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -134,25 +124,18 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Release/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="NDEBUG;_CONSOLE"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Release/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Release/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -170,10 +153,7 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
@@ -190,7 +170,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -205,8 +184,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\decConsole\Debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -227,24 +206,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Debug/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\decoder\core\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Debug/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -263,10 +234,7 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsoled.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
@@ -283,7 +251,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -298,8 +265,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\decConsole\Debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -320,25 +287,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\bin\win32\Debug/decConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\api\svc,..\..\..\common\inc,..\..\..\decoder\core\inc,..\..\..\encoder\core\inc"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\dec\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\common\inc"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\decConsole\Debug/decConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\decConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -357,10 +315,7 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsoled.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
@@ -377,7 +332,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -405,87 +359,11 @@
|
||||
<File
|
||||
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
|
||||
RelativePath="..\..\..\common\src\logging.cpp"
|
||||
RelativePath="..\..\..\console\common\src\read_config.cpp"
|
||||
>
|
||||
</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
|
||||
Name="Header Files"
|
||||
@@ -496,7 +374,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\console\dec\inc\read_config.h"
|
||||
RelativePath="..\..\..\console\common\inc\read_config.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -20,8 +20,8 @@
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\encoder\plus\Debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -42,27 +42,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
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"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Debug/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -78,16 +67,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\welsenc.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsenc.lib"
|
||||
@@ -104,7 +88,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -119,8 +102,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\encoder\plus\Debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -141,27 +124,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
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"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Debug/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -177,16 +149,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\welsenc.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsenc.lib"
|
||||
@@ -203,7 +170,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -218,13 +184,14 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\encoder\plus\Release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -240,31 +207,18 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="2"
|
||||
FavorSizeOrSpeed="1"
|
||||
EnableFiberSafeOptimizations="true"
|
||||
WholeProgramOptimization="true"
|
||||
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"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Release/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -280,18 +234,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MAPINFO:exports /LTCG"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
GenerateMapFile="false"
|
||||
MapFileName=""
|
||||
MapExports="false"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsenc.lib"
|
||||
@@ -308,7 +255,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -323,13 +269,14 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\encoder\plus\Release"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -345,31 +292,18 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="2"
|
||||
FavorSizeOrSpeed="1"
|
||||
EnableFiberSafeOptimizations="true"
|
||||
WholeProgramOptimization="true"
|
||||
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"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encoder\plus\Release/WelsEncPlus.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -385,18 +319,11 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MAPINFO:exports /LTCG"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib"
|
||||
AdditionalDependencies="$(OutDir)\welsecore.lib $(OutDir)\welsvp.lib"
|
||||
OutputFile="$(OutDir)\welsenc.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\libs"
|
||||
ModuleDefinitionFile="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\welsenc.pdb"
|
||||
GenerateMapFile="false"
|
||||
MapFileName=""
|
||||
MapExports="false"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsenc.lib"
|
||||
@@ -413,7 +340,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -437,126 +363,18 @@
|
||||
<File
|
||||
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
|
||||
RelativePath="..\..\..\encoder\plus\src\wels_enc_export.def"
|
||||
>
|
||||
</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
|
||||
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>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -564,7 +382,7 @@
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\encoder\plus\inc\welsCodecTrace.h"
|
||||
RelativePath="..\..\..\common\inc\welsCodecTrace.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -579,42 +397,6 @@
|
||||
<File
|
||||
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>
|
||||
</Filter>
|
||||
</Files>
|
||||
|
||||
@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "encConsole", "encConsole.vc
|
||||
{E8DFAFA1-8DAC-4127-8D27-FBD5819EE562} = {E8DFAFA1-8DAC-4127-8D27-FBD5819EE562}
|
||||
EndProjectSection
|
||||
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
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -20,8 +20,8 @@
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\win32\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\encConsole\Debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -42,23 +42,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/encConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE;"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Debug/encConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -77,12 +70,7 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\encConsole.map"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
@@ -99,102 +87,6 @@
|
||||
/>
|
||||
<Tool
|
||||
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"
|
||||
/>
|
||||
<Tool
|
||||
@@ -209,8 +101,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Debug"
|
||||
IntermediateDirectory=".\..\..\..\obj\encConsole\Debug"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -231,24 +123,16 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/encConsole.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\api\svc,..\..\..\WelsThreadLib\api,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE"
|
||||
AdditionalIncludeDirectories="..\..\..\console\enc\inc,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile=".\..\..\..\obj\encConsole\Debug/encConsole.pch"
|
||||
AssemblerListingLocation=".\..\..\..\obj\encConsole\Debug/"
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -267,12 +151,7 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)\encConsole.map"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
@@ -289,7 +168,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -303,9 +181,9 @@
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\win64\Release"
|
||||
IntermediateDirectory=".\..\..\..\obj\encConsole\Release"
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
@@ -326,25 +204,99 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
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="WIN64;NDEBUG;_CONSOLE"
|
||||
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"
|
||||
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"
|
||||
SubSystem="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory=".\..\..\..\..\bin\$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
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"
|
||||
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
|
||||
@@ -363,12 +315,7 @@
|
||||
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"
|
||||
@@ -385,7 +332,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -407,88 +353,12 @@
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\logging.cpp"
|
||||
RelativePath="..\..\..\console\common\src\read_config.cpp"
|
||||
>
|
||||
</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
|
||||
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>
|
||||
</Filter>
|
||||
<Filter
|
||||
@@ -496,7 +366,7 @@
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\console\enc\inc\read_config.h"
|
||||
RelativePath="..\..\..\console\common\inc\read_config.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_NEON
|
||||
|
||||
.syntax unified
|
||||
|
||||
#ifdef __APPLE__
|
||||
|
||||
.macro WELS_ASM_FUNC_BEGIN
|
||||
@@ -44,7 +48,6 @@ mov pc, lr
|
||||
.endm
|
||||
#else
|
||||
|
||||
.syntax unified
|
||||
.section .note.GNU-stack,"",%progbits // Mark stack as non-executable
|
||||
.text
|
||||
|
||||
@@ -62,3 +65,5 @@ mov pc, lr
|
||||
.endfunc
|
||||
.endm
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
* \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
|
||||
@@ -27,7 +27,7 @@
|
||||
* 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
|
||||
@@ -855,7 +855,7 @@ WELS_ASM_FUNC_END
|
||||
beq bs_nzc_check_jump0
|
||||
|
||||
sub r6, $0, $2, lsl #4
|
||||
sub r6, $2, lsl #3
|
||||
sub r6, r6, $2, lsl #3
|
||||
add r6, #12
|
||||
vld1.32 d3[1], [r6]
|
||||
|
||||
|
||||
@@ -30,29 +30,54 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface welsencTests : XCTestCase
|
||||
#ifdef HAVE_NEON
|
||||
.text
|
||||
#include "arm_arch_common_macro.S"
|
||||
|
||||
@end
|
||||
WELS_ASM_FUNC_BEGIN WelsI16x16LumaPredV_neon
|
||||
//Get the top line data to 'q0'
|
||||
sub r3, r1, r2
|
||||
vldm r3, {d0, d1}
|
||||
|
||||
@implementation welsencTests
|
||||
//mov r2, #16
|
||||
mov r3, #4
|
||||
//Set the top line to the each line of MB(16*16)
|
||||
loop_0_get_i16x16_luma_pred_v:
|
||||
vst1.8 {d0,d1}, [r0]!
|
||||
vst1.8 {d0,d1}, [r0]!
|
||||
vst1.8 {d0,d1}, [r0]!
|
||||
vst1.8 {d0,d1}, [r0]!
|
||||
subs r3, #1
|
||||
bne loop_0_get_i16x16_luma_pred_v
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
- (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];
|
||||
}
|
||||
WELS_ASM_FUNC_BEGIN WelsI16x16LumaPredH_neon
|
||||
//stmdb sp!, {r4, lr}
|
||||
sub r1, r1, #1
|
||||
mov r3, #4
|
||||
loop_0_get_i16x16_luma_pred_h:
|
||||
//Get one byte data from left side
|
||||
vld1.8 {d0[],d1[]}, [r1], r2
|
||||
vld1.8 {d2[],d3[]}, [r1], r2
|
||||
vld1.8 {d4[],d5[]}, [r1], r2
|
||||
vld1.8 {d6[],d7[]}, [r1], r2
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
//Set the line of MB using the left side byte data
|
||||
vst1.8 {d0,d1}, [r0]!
|
||||
//add r0, #16
|
||||
vst1.8 {d2,d3}, [r0]!
|
||||
//add r0, #16
|
||||
vst1.8 {d4,d5}, [r0]!
|
||||
//add r0, #16
|
||||
vst1.8 {d6,d7}, [r0]!
|
||||
//add r0, #16
|
||||
|
||||
@end
|
||||
subs r3, #1
|
||||
bne loop_0_get_i16x16_luma_pred_h
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
#endif
|
||||
@@ -32,13 +32,13 @@
|
||||
|
||||
#ifdef __APPLE__
|
||||
|
||||
.macro WELS_ASM_ARCH64_FUNC_BEGIN
|
||||
.macro WELS_ASM_AARCH64_FUNC_BEGIN
|
||||
.align 2
|
||||
.globl _$0
|
||||
_$0:
|
||||
.endm
|
||||
|
||||
.macro WELS_ASM_ARCH64_FUNC_END
|
||||
.macro WELS_ASM_AARCH64_FUNC_END
|
||||
ret
|
||||
.endm
|
||||
#else
|
||||
@@ -46,7 +46,7 @@ ret
|
||||
.section .note.GNU-stack,"",%progbits // Mark stack as non-executable
|
||||
.text
|
||||
|
||||
.macro WELS_ASM_ARCH64_FUNC_BEGIN funcName
|
||||
.macro WELS_ASM_AARCH64_FUNC_BEGIN funcName
|
||||
.align 2
|
||||
.global \funcName
|
||||
.type \funcName, %function
|
||||
@@ -54,7 +54,7 @@ ret
|
||||
\funcName:
|
||||
.endm
|
||||
|
||||
.macro WELS_ASM_ARCH64_FUNC_END
|
||||
.macro WELS_ASM_AARCH64_FUNC_END
|
||||
ret
|
||||
.endfunc
|
||||
.endm
|
||||
@@ -67,11 +67,4 @@ ret
|
||||
mov \arg0\().8b, \arg1\().8b
|
||||
.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
|
||||
|
||||
274
codec/common/arm64/copy_mb_aarch64_neon.S
Normal file
274
codec/common/arm64/copy_mb_aarch64_neon.S
Normal 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
|
||||
1116
codec/common/arm64/deblocking_aarch64_neon.S
Normal file
1116
codec/common/arm64/deblocking_aarch64_neon.S
Normal file
File diff suppressed because it is too large
Load Diff
@@ -34,7 +34,7 @@
|
||||
.text
|
||||
#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 x8, x3
|
||||
add x4, x7, x2
|
||||
@@ -72,9 +72,9 @@ _expand_picture_luma_loop1:
|
||||
|
||||
sub x2, x2, #16
|
||||
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
|
||||
mov x7, x0
|
||||
mov x8, x3
|
||||
@@ -138,6 +138,6 @@ _expand_picture_chroma_loop3:
|
||||
cbnz x8, _expand_picture_chroma_loop3
|
||||
_expand_picture_chroma_end:
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* Copyright (c) 2013, Mozilla
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -31,24 +30,26 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_NEON_AARCH64
|
||||
.text
|
||||
#include "arm_arch64_common_macro.S"
|
||||
|
||||
#ifndef WELS_LOGGING_H__
|
||||
#define WELS_LOGGING_H__
|
||||
//for Luma 16x16
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsI16x16LumaPredV_AArch64_neon
|
||||
sub x3, x1, x2
|
||||
ld1 {v0.16b}, [x3]
|
||||
.rept 16
|
||||
st1 {v0.16b}, [x0], 16
|
||||
.endr
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
// API surface.
|
||||
void WelsStderrSetTraceLevel (int32_t level);
|
||||
|
||||
|
||||
// Internal details.
|
||||
int32_t welsStderrLevelTrace (int32_t level, const char* format, va_list ap);
|
||||
|
||||
template<int level> int32_t welsStderrTrace (
|
||||
const char* format, ...) {
|
||||
va_list ap;
|
||||
va_start (ap, format);
|
||||
welsStderrLevelTrace (level, format, ap);
|
||||
va_end (ap);
|
||||
return 0;
|
||||
}
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN WelsI16x16LumaPredH_AArch64_neon
|
||||
sub x3, x1, #1
|
||||
.rept 16
|
||||
ld1r {v0.16b}, [x3], x2
|
||||
st1 {v0.16b}, [x0], 16
|
||||
.endr
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
#endif
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#ifdef HAVE_NEON_AARCH64
|
||||
.text
|
||||
#include "arm_arch64_common_macro.S"
|
||||
.align 16
|
||||
.align 4
|
||||
filter_para: .short 0, 1, -5, 20, 0, 0, 0, 0
|
||||
|
||||
#ifdef __APPLE__
|
||||
@@ -197,8 +197,8 @@ filter_para: .short 0, 1, -5, 20, 0, 0, 0, 0
|
||||
|
||||
.macro UNPACK_FILTER_SINGLE_TAG_16BITS // v0, v1, v22, v23
|
||||
// { // each 16bits; input: d_dst, d_src[0:5], para, working, working, d(low part of d_dst)
|
||||
ext.16b $3, $1, $1, #14 // X[0][1][2][3][4][5]O
|
||||
ext.16b $4, $3, $3, #8 // [3][4][5]OX[0][1][2]
|
||||
ext $3.16b, $1.16b, $1.16b, #14 // X[0][1][2][3][4][5]O
|
||||
ext $4.16b, $3.16b, $3.16b, #8 // [3][4][5]OX[0][1][2]
|
||||
rev64 $4.8h, $4.8h // X[5][4][3][2][1][0]O
|
||||
add $3.8h, $3.8h, $4.8h // each 16bits, *[50][41][32][23][14][05]*
|
||||
smull $3.4s, $3.4h, $2.4h // 0+1*[50]-5*[41]+20[32]
|
||||
@@ -386,7 +386,7 @@ filter_para: .short 0, 1, -5, 20, 0, 0, 0, 0
|
||||
#endif
|
||||
|
||||
//(const uint8_t* pSrc {x0}, int32_t iSrcStride{x1}, uint8_t* pDst{x2}, int32_t iDstStride{x3}, int32_t iHeight{x4})
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer20WidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer20WidthEq16_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -406,15 +406,15 @@ w16_h_mc_luma_loop:
|
||||
sub x4, x4, #1
|
||||
st1 {v20.16b}, [x2], x3 //write 16Byte
|
||||
cbnz x4, w16_h_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer20WidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer20WidthEq8_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
w8_h_mc_luma_loop:
|
||||
ld1 {v2.8b, v3.8b}, [x0], x1 //only use 13(8+5); v2=src[-2]
|
||||
trn1 v2.2d, v2.2d, v3.2d
|
||||
ld1 {v2.16b}, [x0], x1 //only use 13(8+5); v2=src[-2]
|
||||
|
||||
//prfm pldl1strm, [x0]
|
||||
ext v5.16b, v2.16b, v4.16b, #1 //v5=src[-1]
|
||||
ext v6.16b, v2.16b, v4.16b, #2 //v6=src[0]
|
||||
@@ -427,9 +427,9 @@ w8_h_mc_luma_loop:
|
||||
sub x4, x4, #1
|
||||
st1 {v20.8b}, [x2], x3 //write 8Byte
|
||||
cbnz x4, w8_h_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer20WidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer20WidthEq4_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -462,9 +462,9 @@ w4_h_mc_luma_loop:
|
||||
st1 {v20.s}[1], [x2], x3 //write 4Byte
|
||||
sub x4, x4, #1
|
||||
cbnz x4, w4_h_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer10WidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer10WidthEq16_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -484,16 +484,16 @@ w16_xy_10_mc_luma_loop:
|
||||
sub x4, x4, #1
|
||||
st1 {v20.16b}, [x2], x3 //write 16Byte
|
||||
cbnz x4, w16_xy_10_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer10WidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer10WidthEq8_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
w8_xy_10_mc_luma_loop:
|
||||
ld1 {v2.8b, v3.8b}, [x0], x1 //only use 13(8+5); v2=src[-2]
|
||||
trn1 v2.2d, v2.2d, v3.2d
|
||||
ld1 {v2.16b}, [x0], x1 //only use 13(8+5); v2=src[-2]
|
||||
|
||||
//prfm pldl1strm, [x0]
|
||||
ext v5.16b, v2.16b, v4.16b, #1 //v5=src[-1]
|
||||
ext v6.16b, v2.16b, v4.16b, #2 //v6=src[0]
|
||||
@@ -506,9 +506,9 @@ w8_xy_10_mc_luma_loop:
|
||||
sub x4, x4, #1
|
||||
st1 {v20.8b}, [x2], x3 //write 8Byte
|
||||
cbnz x4, w8_xy_10_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer10WidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer10WidthEq4_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -541,10 +541,10 @@ w4_xy_10_mc_luma_loop:
|
||||
st1 {v20.s}[1], [x2], x3 //write 4Byte
|
||||
sub x4, x4, #1
|
||||
cbnz x4, w4_xy_10_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer30WidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer30WidthEq16_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -564,16 +564,16 @@ w16_xy_30_mc_luma_loop:
|
||||
sub x4, x4, #1
|
||||
st1 {v20.16b}, [x2], x3 //write 16Byte
|
||||
cbnz x4, w16_xy_30_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer30WidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer30WidthEq8_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
w8_xy_30_mc_luma_loop:
|
||||
ld1 {v2.8b, v3.8b}, [x0], x1 //only use 13(8+5); v2=src[-2]
|
||||
trn1 v2.2d, v2.2d, v3.2d
|
||||
ld1 {v2.16b}, [x0], x1 //only use 13(8+5); v2=src[-2]
|
||||
|
||||
//prfm pldl1strm, [x0]
|
||||
ext v5.16b, v2.16b, v4.16b, #1 //v5=src[-1]
|
||||
ext v6.16b, v2.16b, v4.16b, #2 //v6=src[0]
|
||||
@@ -586,9 +586,9 @@ w8_xy_30_mc_luma_loop:
|
||||
sub x4, x4, #1
|
||||
st1 {v20.8b}, [x2], x3 //write 8Byte
|
||||
cbnz x4, w8_xy_30_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer30WidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer30WidthEq4_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -621,10 +621,10 @@ w4_xy_30_mc_luma_loop:
|
||||
st1 {v20.s}[1], [x2], x3 //write 4Byte
|
||||
sub x4, x4, #1
|
||||
cbnz x4, w4_xy_30_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer01WidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer01WidthEq16_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -704,10 +704,10 @@ w16_xy_01_mc_luma_loop:
|
||||
mov.16b v6, v7
|
||||
sub x4, x4, #8
|
||||
cbnz x4, w16_xy_01_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer01WidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer01WidthEq8_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -754,10 +754,10 @@ w8_xy_01_mc_luma_loop:
|
||||
mov.16b v4, v7
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w8_xy_01_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer01WidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer01WidthEq4_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -810,10 +810,10 @@ w4_xy_01_mc_luma_loop:
|
||||
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w4_xy_01_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer03WidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer03WidthEq16_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -893,10 +893,10 @@ w16_xy_03_mc_luma_loop:
|
||||
mov.16b v6, v7
|
||||
sub x4, x4, #8
|
||||
cbnz x4, w16_xy_03_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer03WidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer03WidthEq8_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -943,10 +943,10 @@ w8_xy_03_mc_luma_loop:
|
||||
mov.16b v4, v7
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w8_xy_03_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer03WidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer03WidthEq4_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -999,10 +999,10 @@ w4_xy_03_mc_luma_loop:
|
||||
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w4_xy_03_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer02WidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer02WidthEq16_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -1082,10 +1082,10 @@ w16_xy_02_mc_luma_loop:
|
||||
mov.16b v6, v7
|
||||
sub x4, x4, #8
|
||||
cbnz x4, w16_xy_02_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer02WidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer02WidthEq8_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -1132,10 +1132,10 @@ w8_xy_02_mc_luma_loop:
|
||||
mov.16b v4, v7
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w8_xy_02_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer02WidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer02WidthEq4_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -1188,10 +1188,10 @@ w4_xy_02_mc_luma_loop:
|
||||
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w4_xy_02_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer22WidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer22WidthEq16_AArch64_neon
|
||||
stp d8, d9, [sp,#-16]!
|
||||
stp d10, d11, [sp,#-16]!
|
||||
stp d12, d13, [sp,#-16]!
|
||||
@@ -1354,9 +1354,9 @@ w16_hv_mc_luma_loop:
|
||||
ldp d12, d13, [sp], #16
|
||||
ldp d10, d11, [sp], #16
|
||||
ldp d8, d9, [sp], #16
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer22WidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer22WidthEq8_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
@@ -1425,10 +1425,10 @@ w8_hv_mc_luma_loop:
|
||||
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w8_hv_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer22WidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer22WidthEq4_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
@@ -1496,9 +1496,9 @@ w4_hv_mc_luma_loop:
|
||||
|
||||
sub x4, x4, #4
|
||||
cbnz x4, w4_hv_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McCopyWidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McCopyWidthEq16_AArch64_neon
|
||||
//prfm pldl1strm, [x0]
|
||||
w16_copy_loop:
|
||||
//prfm pldl1strm, [x0, x1]
|
||||
@@ -1510,9 +1510,9 @@ w16_copy_loop:
|
||||
|
||||
sub x4, x4, #2
|
||||
cbnz x4, w16_copy_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McCopyWidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McCopyWidthEq8_AArch64_neon
|
||||
//prfm pldl1strm, [x0]
|
||||
w8_copy_loop:
|
||||
//prfm pldl1strm, [x0, x1]
|
||||
@@ -1524,9 +1524,9 @@ w8_copy_loop:
|
||||
|
||||
sub x4, x4, #2
|
||||
cbnz x4, w8_copy_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McCopyWidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McCopyWidthEq4_AArch64_neon
|
||||
//prfm pldl1strm, [x0]
|
||||
w4_copy_loop:
|
||||
//prfm pldl1strm, [x0, x1]
|
||||
@@ -1538,9 +1538,9 @@ w4_copy_loop:
|
||||
|
||||
sub x4, x4, #2
|
||||
cbnz x4, w4_copy_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN PixStrideAvgWidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN PixStrideAvgWidthEq16_AArch64_neon
|
||||
|
||||
enc_w16_pix_avg_loop:
|
||||
ld1 {v0.16b}, [x2], x3 //read 16Byte : src0: 0 line
|
||||
@@ -1571,9 +1571,9 @@ enc_w16_pix_avg_loop:
|
||||
|
||||
sub x6, x6, #4
|
||||
cbnz x6, enc_w16_pix_avg_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN PixStrideAvgWidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN PixStrideAvgWidthEq8_AArch64_neon
|
||||
//prfm pldl1strm, [x2]
|
||||
//prfm pldl1strm, [x4]
|
||||
enc_w8_pix_avg_loop:
|
||||
@@ -1608,9 +1608,9 @@ enc_w8_pix_avg_loop:
|
||||
|
||||
sub x6, x6, #4
|
||||
cbnz x6, enc_w8_pix_avg_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN PixelAvgWidthEq16_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN PixelAvgWidthEq16_AArch64_neon
|
||||
//prfm pldl1strm, [x2]
|
||||
//prfm pldl1strm, [x4]
|
||||
w16_pix_avg_loop:
|
||||
@@ -1650,9 +1650,9 @@ w16_pix_avg_loop:
|
||||
|
||||
sub x6, x6, #4
|
||||
cbnz x6, w16_pix_avg_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN PixelAvgWidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN PixelAvgWidthEq8_AArch64_neon
|
||||
//prfm pldl1strm, [x2]
|
||||
//prfm pldl1strm, [x4]
|
||||
w8_pix_avg_loop:
|
||||
@@ -1687,10 +1687,10 @@ w8_pix_avg_loop:
|
||||
|
||||
sub x6, x6, #4
|
||||
cbnz x6, w8_pix_avg_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN PixelAvgWidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN PixelAvgWidthEq4_AArch64_neon
|
||||
//prfm pldl1strm, [x2]
|
||||
//prfm pldl1strm, [x4]
|
||||
w4_pix_avg_loop:
|
||||
@@ -1708,17 +1708,17 @@ w4_pix_avg_loop:
|
||||
|
||||
sub x6, x6, #2
|
||||
cbnz x6, w4_pix_avg_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McChromaWidthEq8_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McChromaWidthEq8_AArch64_neon
|
||||
ld4r {v4.8b, v5.8b, v6.8b, v7.8b}, [x4] //load A/B/C/D
|
||||
ld1 {v0.16b}, [x0], x1 // src[x]
|
||||
ext.16b v1, v0, v0, #1 // src[x+1]
|
||||
ext v1.16b, v0.16b, v0.16b, #1 // src[x+1]
|
||||
w8_mc_chroma_loop:
|
||||
ld1 {v2.16b}, [x0], x1 // src[x+stride]
|
||||
ext.16b v3, v2, v2, #1 // src[x+stride+1]
|
||||
ext v3.16b, v2.16b, v2.16b, #1 // src[x+stride+1]
|
||||
ld1 {v18.16b}, [x0], x1 // src[x+2*stride]
|
||||
ext.16b v19, v18, v18, #1 // src[x+2*stride+1]
|
||||
ext v19.16b, v18.16b, v18.16b, #1 // src[x+2*stride+1]
|
||||
|
||||
umull v16.8h, v0.8b, v4.8b
|
||||
umlal v16.8h, v1.8b, v5.8b
|
||||
@@ -1739,17 +1739,17 @@ w8_mc_chroma_loop:
|
||||
mov.16b v1, v19
|
||||
sub x5, x5, #2
|
||||
cbnz x5, w8_mc_chroma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McChromaWidthEq4_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McChromaWidthEq4_AArch64_neon
|
||||
ld4r {v4.8b, v5.8b, v6.8b, v7.8b}, [x4] //load A/B/C/D
|
||||
ld1 {v0.8b}, [x0], x1 // src[x]
|
||||
ext.8b v1, v0, v0, #1 // src[x+1]
|
||||
ext v1.8b, v0.8b, v0.8b, #1 // src[x+1]
|
||||
w4_mc_chroma_loop:
|
||||
ld1 {v2.8b}, [x0], x1 // src[x+stride]
|
||||
ext.8b v3, v2, v2, #1 // src[x+stride+1]
|
||||
ext v3.8b, v2.8b, v2.8b, #1 // src[x+stride+1]
|
||||
ld1 {v18.8b}, [x0], x1 // src[x+2*stride]
|
||||
ext.8b v19, v18, v18, #1 // src[x+2*stride+1]
|
||||
ext v19.8b, v18.8b, v18.8b, #1 // src[x+2*stride+1]
|
||||
|
||||
zip1 v0.4s, v0.4s, v2.4s
|
||||
zip1 v1.4s, v1.4s, v3.4s
|
||||
@@ -1768,10 +1768,10 @@ w4_mc_chroma_loop:
|
||||
mov.8b v1, v19
|
||||
sub x5, x5, #2
|
||||
cbnz x5, w4_mc_chroma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer20Width17_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer20Width17_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
sub x3, x3, #16
|
||||
mov x5, #16
|
||||
@@ -1779,28 +1779,28 @@ WELS_ASM_ARCH64_FUNC_BEGIN McHorVer20Width17_AArch64_neon
|
||||
movi v1.8h, #5, lsl #0
|
||||
ldr q22, filter_para
|
||||
w17_h_mc_luma_loop:
|
||||
ld1 {v2.8b, v3.8b, v4.8b}, [x0], x1 //only use 22(17+5); v2=src[-2]
|
||||
trn1 v2.2d, v2.2d, v3.2d
|
||||
ld1 {v2.16b, v3.16b}, [x0], x1 //only use 22(17+5); v2=src[-2]
|
||||
|
||||
//prfm pldl1strm, [x0]
|
||||
ext v5.16b, v2.16b, v4.16b, #1 //v5=src[-1]
|
||||
ext v6.16b, v2.16b, v4.16b, #2 //v6=src[0]
|
||||
ext v7.16b, v2.16b, v4.16b, #3 //v7=src[1]
|
||||
ext v16.16b, v2.16b, v4.16b, #4 //v16=src[2]
|
||||
ext v17.16b, v2.16b, v4.16b, #5 //v17=src[3]
|
||||
ext v5.16b, v2.16b, v3.16b, #1 //v5=src[-1]
|
||||
ext v6.16b, v2.16b, v3.16b, #2 //v6=src[0]
|
||||
ext v7.16b, v2.16b, v3.16b, #3 //v7=src[1]
|
||||
ext v16.16b, v2.16b, v3.16b, #4 //v16=src[2]
|
||||
ext v17.16b, v2.16b, v3.16b, #5 //v17=src[3]
|
||||
|
||||
FILTER_6TAG_8BITS1 v2, v5, v6, v7, v16, v17, v20, v0, v1
|
||||
FILTER_6TAG_8BITS2 v2, v5, v6, v7, v16, v17, v20, v0, v1
|
||||
st1 {v20.16b}, [x2], x5 //write 16Byte
|
||||
|
||||
ext.8b v21, v4, v4, #7 // [0][1][2][3][4][5]XY-->O[0][1][2][3][4][5]X
|
||||
ext v21.8b, v3.8b, v3.8b, #7 // [0][1][2][3][4][5]XY-->O[0][1][2][3][4][5]X
|
||||
FILTER_SINGLE_TAG_8BITS v21, v22, v23, h21
|
||||
st1 {v21.b}[0], [x2], x3 //write 16th Byte
|
||||
|
||||
sub x4, x4, #1
|
||||
cbnz x4, w17_h_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer20Width9_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer20Width9_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
sub x3, x3, #8
|
||||
mov x5, #8
|
||||
@@ -1808,8 +1808,8 @@ WELS_ASM_ARCH64_FUNC_BEGIN McHorVer20Width9_AArch64_neon
|
||||
movi v1.8h, #5, lsl #0
|
||||
ldr q22, filter_para
|
||||
w9_h_mc_luma_loop:
|
||||
ld1 {v2.8b, v3.8b}, [x0], x1 //only use 14(9+5); v2=src[-2]
|
||||
trn1 v2.2d, v2.2d, v3.2d
|
||||
ld1 {v2.16b}, [x0], x1 //only use 14(9+5); v2=src[-2]
|
||||
mov v3.d[0], v2.d[1]
|
||||
//prfm pldl1strm, [x0]
|
||||
ext v5.16b, v2.16b, v4.16b, #1 //v5=src[-1]
|
||||
ext v6.16b, v2.16b, v4.16b, #2 //v6=src[0]
|
||||
@@ -1820,16 +1820,16 @@ w9_h_mc_luma_loop:
|
||||
FILTER_6TAG_8BITS1 v2, v5, v6, v7, v16, v17, v20, v0, v1
|
||||
st1 {v20.8b}, [x2], x5 //write 8Byte
|
||||
|
||||
ext.8b v21, v3, v3, #7 // [0][1][2][3][4][5]XY-->O[0][1][2][3][4][5]X
|
||||
ext v21.8b, v3.8b, v3.8b, #7 // [0][1][2][3][4][5]XY-->O[0][1][2][3][4][5]X
|
||||
FILTER_SINGLE_TAG_8BITS v21, v22, v23, h21
|
||||
st1 {v21.b}[0], [x2], x3 //write 9th Byte
|
||||
|
||||
sub x4, x4, #1
|
||||
cbnz x4, w9_h_mc_luma_loop
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer22Width17_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer22Width17_AArch64_neon
|
||||
stp d8, d9, [sp,#-16]!
|
||||
stp d10, d11, [sp,#-16]!
|
||||
stp d12, d13, [sp,#-16]!
|
||||
@@ -2029,10 +2029,10 @@ w17_hv_mc_luma_loop:
|
||||
ldp d12, d13, [sp], #16
|
||||
ldp d10, d11, [sp], #16
|
||||
ldp d8, d9, [sp], #16
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer22Width9_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer22Width9_AArch64_neon
|
||||
sub x0, x0, #2
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
@@ -2125,9 +2125,9 @@ w9_hv_mc_luma_loop:
|
||||
st1 {v26.8b}, [x2], x5 //write 0:7Byte : 0 line
|
||||
UNPACK_FILTER_SINGLE_TAG_16BITS v26, v21, v29, v27, v28, d26
|
||||
st1 {v26.b}[0], [x2], x3 //write 8th Byte : 0 line
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer02Height17_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer02Height17_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -2214,9 +2214,9 @@ w17_v_mc_luma_loop:
|
||||
FILTER_6TAG_8BITS1 v2, v3, v4, v5, v6, v7, v20, v0, v1
|
||||
FILTER_6TAG_8BITS2 v2, v3, v4, v5, v6, v7, v20, v0, v1
|
||||
st1 {v20.16b}, [x2], x3 //write 16Byte : last line
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN McHorVer02Height9_AArch64_neon
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN McHorVer02Height9_AArch64_neon
|
||||
sub x0, x0, x1, lsl #1
|
||||
movi v0.8h, #20, lsl #0
|
||||
movi v1.8h, #5, lsl #0
|
||||
@@ -2268,7 +2268,7 @@ w9_v_mc_luma_loop:
|
||||
ld1 {v7.8b}, [x0], x1 // v7=src[3*stride]
|
||||
FILTER_6TAG_8BITS1 v2, v3, v4, v5, v6, v7, v20, v0, v1
|
||||
st1 {v20.8b}, [x2], x3 //write 8Byte : 0 line
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
26
codec/common/generate_version.sh
Executable file
26
codec/common/generate_version.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
git rev-list HEAD | sort > config.git-hash
|
||||
LOCALVER=`wc -l config.git-hash | awk '{print $1}'`
|
||||
if [ $LOCALVER \> 1 ] ; then
|
||||
VER="$(git rev-list HEAD -n 1 | cut -c 1-7)"
|
||||
if git status | grep -q "modified:" ; then
|
||||
VER="${VER}+M"
|
||||
fi
|
||||
GIT_VERSION=$VER
|
||||
else
|
||||
GIT_VERSION=
|
||||
VER="x"
|
||||
fi
|
||||
GIT_VERSION='"'$GIT_VERSION'"'
|
||||
rm -f config.git-hash
|
||||
|
||||
cat codec/common/inc/version.h.template | sed "s/\$FULL_VERSION/$GIT_VERSION/g" > codec/common/inc/version.h.new
|
||||
if cmp codec/common/inc/version.h.new codec/common/inc/version.h > /dev/null 2>&1; then
|
||||
# Identical to old version, don't touch it (to avoid unnecessary rebuilds)
|
||||
rm codec/common/inc/version.h.new
|
||||
echo "Keeping existing codec/common/inc/version.h"
|
||||
exit 0
|
||||
fi
|
||||
mv codec/common/inc/version.h.new codec/common/inc/version.h
|
||||
|
||||
echo "Generated codec/common/inc/version.h"
|
||||
@@ -117,6 +117,8 @@ WELS_THREAD_ERROR_CODE WelsMultipleEventsWaitAllBlocking (uint32_t nCount, WE
|
||||
WELS_THREAD_ERROR_CODE WelsThreadCreate (WELS_THREAD_HANDLE* thread, LPWELS_THREAD_ROUTINE routine,
|
||||
void* arg, WELS_THREAD_ATTR attr);
|
||||
|
||||
WELS_THREAD_ERROR_CODE WelsThreadSetName (const char* thread_name);
|
||||
|
||||
WELS_THREAD_ERROR_CODE WelsThreadJoin (WELS_THREAD_HANDLE thread);
|
||||
|
||||
WELS_THREAD_HANDLE WelsThreadSelf();
|
||||
|
||||
@@ -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);
|
||||
#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)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/timeb.h>
|
||||
#else
|
||||
#include <sys/timeb.h>
|
||||
#include <sys/time.h>
|
||||
#include "typedefs.h"
|
||||
#endif//_WIN32
|
||||
@@ -72,7 +71,10 @@ typedef FILE WelsFileHandle;
|
||||
#ifdef _WIN32
|
||||
typedef struct _timeb SWelsTime;
|
||||
#else
|
||||
typedef struct timeb SWelsTime;
|
||||
typedef struct TagWelsTime {
|
||||
time_t time;
|
||||
unsigned short millitm;
|
||||
} SWelsTime;
|
||||
#endif
|
||||
|
||||
int32_t WelsSnprintf (char* buffer, int32_t sizeOfBuffer, const char* format, ...);
|
||||
|
||||
@@ -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);
|
||||
#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)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef EXPAND_PICTURE_COMMON_H
|
||||
#define EXPAND_PICTURE_COMMON_H
|
||||
#ifndef EXPAND_PICTURE_H
|
||||
#define EXPAND_PICTURE_H
|
||||
|
||||
#include "typedefs.h"
|
||||
|
||||
@@ -46,6 +46,8 @@
|
||||
extern "C" {
|
||||
#endif//__cplusplus
|
||||
|
||||
#define PADDING_LENGTH 32 // reference extension
|
||||
|
||||
#if defined(X86_ASM)
|
||||
void ExpandPictureLuma_sse2 (uint8_t* pDst,
|
||||
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,
|
||||
const int32_t kiPicH);
|
||||
#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)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
@@ -29,33 +29,48 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
* \file utils.c
|
||||
* \file intra_pred_common.h
|
||||
*
|
||||
* \brief common tool/function utilization
|
||||
* \brief interfaces for intra predictor about 16x16.
|
||||
*
|
||||
* \date 03/10/2009 Created
|
||||
* \date 4/2/2014 Created
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
|
||||
#include "utils.h"
|
||||
#include "decoder_context.h"
|
||||
#ifndef INTRA_PRED_COMMON_H
|
||||
#define INTRA_PRED_COMMON_H
|
||||
|
||||
namespace WelsDec {
|
||||
|
||||
// to fill default routines
|
||||
PWelsLogCallbackFunc g_pLog = NULL;
|
||||
#include "typedefs.h"
|
||||
|
||||
|
||||
void WelsI16x16LumaPredV_c (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
void WelsI16x16LumaPredH_c (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
|
||||
void WelsLog (void* pPtr, int32_t iLevel, const char* kpFmt, ...) {
|
||||
va_list pVl;
|
||||
|
||||
PWelsDecoderContext pCtx = (PWelsDecoderContext)pPtr;
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif//__cplusplus
|
||||
|
||||
va_start (pVl, kpFmt);
|
||||
g_pLog (pCtx->pTraceHandle, iLevel, kpFmt, pVl);
|
||||
va_end (pVl);
|
||||
#if defined(X86_ASM)
|
||||
//for intra-prediction ASM functions
|
||||
void WelsI16x16LumaPredV_sse2 (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
void WelsI16x16LumaPredH_sse2 (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
#endif//X86_ASM
|
||||
|
||||
#if defined(HAVE_NEON)
|
||||
void WelsI16x16LumaPredV_neon (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
void WelsI16x16LumaPredH_neon (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
#endif//HAVE_NEON
|
||||
|
||||
#if defined(HAVE_NEON_AARCH64)
|
||||
void WelsI16x16LumaPredV_AArch64_neon (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
void WelsI16x16LumaPredH_AArch64_neon (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride);
|
||||
#endif//HAVE_NEON_AARCH64
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
#endif//
|
||||
|
||||
|
||||
|
||||
} // namespace WelsDec
|
||||
@@ -40,13 +40,13 @@
|
||||
|
||||
struct tagUnaligned_64 {
|
||||
uint64_t l;
|
||||
} __attribute__ ((packed));
|
||||
} __attribute__ ((packed)) __attribute__ ((may_alias));
|
||||
struct tagUnaligned_32 {
|
||||
uint32_t l;
|
||||
} __attribute__ ((packed));
|
||||
} __attribute__ ((packed)) __attribute__ ((may_alias));
|
||||
struct tagUnaligned_16 {
|
||||
uint16_t l;
|
||||
} __attribute__ ((packed));
|
||||
} __attribute__ ((packed)) __attribute__ ((may_alias));
|
||||
|
||||
#define LD16(a) (((struct tagUnaligned_16 *) (a))->l)
|
||||
#define LD32(a) (((struct tagUnaligned_32 *) (a))->l)
|
||||
@@ -54,7 +54,7 @@ struct tagUnaligned_16 {
|
||||
|
||||
#define STRUCTA(size, align) struct tagUnaligned_##size##_##align {\
|
||||
uint##size##_t l; \
|
||||
} __attribute__ ((aligned(align)))
|
||||
} __attribute__ ((aligned(align))) __attribute__ ((may_alias))
|
||||
STRUCTA (16, 2);
|
||||
STRUCTA (32, 2);
|
||||
STRUCTA (32, 4);
|
||||
|
||||
@@ -42,8 +42,10 @@
|
||||
|
||||
#include <math.h>
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include "typedefs.h"
|
||||
|
||||
|
||||
/*
|
||||
* ENFORCE_STACK_ALIGN_1D: force 1 dimension local data aligned in stack
|
||||
* _tp: type
|
||||
@@ -72,20 +74,10 @@
|
||||
#endif
|
||||
|
||||
#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__)
|
||||
|
||||
#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
|
||||
|
||||
|
||||
@@ -122,9 +114,21 @@ __declspec(align(alignment)) type name[(sizex)*(sizey)]
|
||||
#endif//WELS_FLOOR
|
||||
|
||||
#ifndef WELS_ROUND
|
||||
#define WELS_ROUND(x) ((int32_t)(0.5f+(x)))
|
||||
#define WELS_ROUND(x) ((int32_t)(0.5+(x)))
|
||||
#endif//WELS_ROUND
|
||||
|
||||
#ifndef WELS_ROUND64
|
||||
#define WELS_ROUND64(x) ((int64_t)(0.5+(x)))
|
||||
#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) { \
|
||||
nC = nA + nB + 1; \
|
||||
nC >>= (uint8_t)( nA != -1 && nB != -1); \
|
||||
@@ -193,6 +197,14 @@ static inline uint8_t WelsClip1 (int32_t iX) {
|
||||
#define WELS_CLIP3(iX, iY, iZ) ((iX) < (iY) ? (iY) : ((iX) > (iZ) ? (iZ) : (iX)))
|
||||
#endif //WELS_CLIP3
|
||||
|
||||
template<typename T> T WelsClip3(T iX, T iY, T iZ) {
|
||||
if (iX < iY)
|
||||
return iY;
|
||||
if (iX > iZ)
|
||||
return iZ;
|
||||
return iX;
|
||||
}
|
||||
|
||||
/*
|
||||
* Description: to check variable validation and return the specified result
|
||||
* iResult: value to be checked
|
||||
@@ -269,6 +281,37 @@ static inline bool WELS_POWER2_IF (uint32_t v) {
|
||||
#define WELS_GCC_UNUSED
|
||||
#endif
|
||||
|
||||
inline bool CheckInRangeCloseOpen (const int16_t kiCurrent, const int16_t kiMin, const int16_t kiMax) {
|
||||
return ((kiCurrent >= kiMin) && (kiCurrent < kiMax));
|
||||
}
|
||||
|
||||
static inline void WelsSetMemUint32_c (uint32_t* pDst, uint32_t iValue, int32_t iSizeOfData) {
|
||||
for (int i = 0; i < iSizeOfData; i++) {
|
||||
pDst[i] = iValue;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void WelsSetMemUint16_c (uint16_t* pDst, uint16_t iValue, int32_t iSizeOfData) {
|
||||
for (int i = 0; i < iSizeOfData; i++) {
|
||||
pDst[i] = iValue;
|
||||
}
|
||||
}
|
||||
|
||||
inline void WelsSetMemMultiplebytes_c (void* pDst, uint32_t iValue, int32_t iSizeOfData, int32_t iDataLengthOfData) {
|
||||
assert (4 == iDataLengthOfData || 2 == iDataLengthOfData || 1 == iDataLengthOfData);
|
||||
|
||||
// TODO: consider add assembly for these functions
|
||||
if (0 != iValue) {
|
||||
if (4 == iDataLengthOfData) {
|
||||
WelsSetMemUint32_c (static_cast<uint32_t*> (pDst), static_cast<uint32_t> (iValue), iSizeOfData);
|
||||
} else if (2 == iDataLengthOfData) {
|
||||
WelsSetMemUint16_c (static_cast<uint16_t*> (pDst), static_cast<uint16_t> (iValue), iSizeOfData);
|
||||
} else {
|
||||
memset (static_cast<uint8_t*> (pDst), static_cast<uint8_t> (iValue), iSizeOfData);
|
||||
}
|
||||
} else {
|
||||
memset (static_cast<uint8_t*> (pDst), 0, iSizeOfData * iDataLengthOfData);
|
||||
}
|
||||
}
|
||||
|
||||
#endif//WELS_MACRO_UTILIZATIONS_H__
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
#include <sys/time.h>
|
||||
#else
|
||||
#include <windows.h>
|
||||
#include <sys/timeb.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
|
||||
@@ -79,7 +78,7 @@ static inline int64_t WelsTime (void) {
|
||||
QueryPerformanceCounter ((LARGE_INTEGER*)&iMtimeCur);
|
||||
iResult = (int64_t) ((double)iMtimeCur * 1e6 / (double)iMtimeFreq + 0.5);
|
||||
return iResult;
|
||||
#endif//WIN32
|
||||
#endif//_WIN32
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -89,6 +89,19 @@ void WelsSampleSadFour4x4_neon (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
||||
|
||||
#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)
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
@@ -48,6 +48,12 @@
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#ifdef __LP64__
|
||||
typedef int64_t intX_t;
|
||||
#else
|
||||
typedef int32_t intX_t;
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
// 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;
|
||||
#define PRId64 "I64d"
|
||||
|
||||
#ifdef _WIN64
|
||||
typedef int64_t intX_t;
|
||||
#else
|
||||
typedef int32_t intX_t;
|
||||
#endif
|
||||
|
||||
#endif // _MSC_VER defined
|
||||
|
||||
// The 'float' type is portable and usable without any need for any extra typedefs.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user