Compare commits
592 Commits
openh264v1
...
v1.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a54f9896b | ||
|
|
5861de98f5 | ||
|
|
70165d6843 | ||
|
|
adb0fa498f | ||
|
|
0dbdbfb53b | ||
|
|
581f8fdf79 | ||
|
|
5f8822644f | ||
|
|
c2dd7df0f2 | ||
|
|
6897398175 | ||
|
|
7b9ae15482 | ||
|
|
228ea1a668 | ||
|
|
ce740ee19e | ||
|
|
1ae709dde0 | ||
|
|
1a58488aeb | ||
|
|
cc8a2bd07e | ||
|
|
ce43674703 | ||
|
|
6ff2b84736 | ||
|
|
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 |
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1,6 +1,7 @@
|
||||
# Object files
|
||||
*.o
|
||||
*.obj
|
||||
codec/obj
|
||||
|
||||
# Dependency files
|
||||
*.d
|
||||
@@ -26,8 +27,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
|
||||
|
||||
10
.travis.yml
10
.travis.yml
@@ -5,5 +5,11 @@ compiler:
|
||||
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
|
||||
script:
|
||||
- make -B ENABLE64BIT=Yes BUILDTYPE=Release all plugin test
|
||||
- make -B ENABLE64BIT=Yes BUILDTYPE=Debug all plugin test
|
||||
- make -B ENABLE64BIT=No BUILDTYPE=Release all plugin test
|
||||
- make -B ENABLE64BIT=No BUILDTYPE=Debug all plugin test
|
||||
|
||||
113
Makefile
113
Makefile
@@ -6,6 +6,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
|
||||
@@ -15,6 +16,14 @@ PREFIX=/usr/local
|
||||
SHARED=-shared
|
||||
OBJ=o
|
||||
PROJECT_NAME=openh264
|
||||
MODULE_NAME=gmpopenh264
|
||||
CCASFLAGS=$(CFLAGS)
|
||||
|
||||
ifeq (,$(wildcard ./gmp-api))
|
||||
HAVE_GMP_API=No
|
||||
else
|
||||
HAVE_GMP_API=Yes
|
||||
endif
|
||||
|
||||
ifeq (,$(wildcard ./gtest))
|
||||
HAVE_GTEST=No
|
||||
@@ -58,18 +67,18 @@ ifneq ($(V),Yes)
|
||||
endif
|
||||
|
||||
|
||||
INCLUDES = -Icodec/api/svc -Icodec/common/inc
|
||||
INCLUDES += -Icodec/api/svc -Icodec/common/inc
|
||||
|
||||
DECODER_INCLUDES = \
|
||||
DECODER_INCLUDES += \
|
||||
-Icodec/decoder/core/inc \
|
||||
-Icodec/decoder/plus/inc
|
||||
|
||||
ENCODER_INCLUDES = \
|
||||
ENCODER_INCLUDES += \
|
||||
-Icodec/encoder/core/inc \
|
||||
-Icodec/encoder/plus/inc \
|
||||
-Icodec/processing/interface
|
||||
|
||||
PROCESSING_INCLUDES = \
|
||||
PROCESSING_INCLUDES += \
|
||||
-Icodec/processing/interface \
|
||||
-Icodec/processing/src/common \
|
||||
-Icodec/processing/src/scrolldetection
|
||||
@@ -82,33 +91,51 @@ CODEC_UNITTEST_INCLUDES += \
|
||||
-Igtest/include \
|
||||
-Icodec/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 += \
|
||||
-Icodec/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) -Icodec/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) -Icodec/console/enc/inc
|
||||
H264ENC_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(call LINK_LIB,console_common)
|
||||
H264ENC_DEPS = $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX) $(LIBPREFIX)console_common.$(LIBSUFFIX)
|
||||
|
||||
CODEC_UNITTEST_LDFLAGS = $(LINK_LOCAL_DIR) $(call LINK_LIB,gtest) $(call LINK_LIB,decoder) $(call LINK_LIB,encoder) $(call LINK_LIB,processing) $(call LINK_LIB,common) $(CODEC_UNITTEST_LDFLAGS_SUFFIX)
|
||||
CODEC_UNITTEST_DEPS = $(LIBPREFIX)gtest.$(LIBSUFFIX) $(LIBPREFIX)decoder.$(LIBSUFFIX) $(LIBPREFIX)encoder.$(LIBSUFFIX) $(LIBPREFIX)processing.$(LIBSUFFIX) $(LIBPREFIX)common.$(LIBSUFFIX)
|
||||
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
|
||||
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
|
||||
COMMON_UNITTEST_INCLUDES += $(CODEC_UNITTEST_INCLUDES) $(DECODER_INCLUDES) -Itest -Itest/common
|
||||
MODULE_INCLUDES += -Igmp-api
|
||||
|
||||
.PHONY: test gtest-bootstrap clean
|
||||
|
||||
all: libraries binaries
|
||||
|
||||
clean:
|
||||
ifeq (android,$(OS))
|
||||
clean: clean_Android
|
||||
endif
|
||||
$(QUIET)rm -f $(OBJS) $(OBJS:.$(OBJ)=.d) $(LIBRARIES) $(BINARIES)
|
||||
|
||||
gmp-bootstrap:
|
||||
git clone https://github.com/mozilla/gmp-api gmp-api
|
||||
|
||||
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."
|
||||
@@ -120,14 +147,24 @@ include codec/decoder/targets.mk
|
||||
include codec/encoder/targets.mk
|
||||
include codec/processing/targets.mk
|
||||
|
||||
ifeq ($(HAVE_GMP_API),Yes)
|
||||
include module/targets.mk
|
||||
endif
|
||||
|
||||
ifneq (android, $(OS))
|
||||
ifneq (ios, $(OS))
|
||||
include codec/console/dec/targets.mk
|
||||
include codec/console/enc/targets.mk
|
||||
include codec/console/common/targets.mk
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (ios, $(OS))
|
||||
libraries: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX)
|
||||
else
|
||||
libraries: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX)
|
||||
endif
|
||||
|
||||
LIBRARIES += $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX)
|
||||
|
||||
$(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
@@ -138,6 +175,19 @@ $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX): $(ENCODER_OBJS) $(DECODER_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS)
|
||||
|
||||
ifeq ($(HAVE_GMP_API),Yes)
|
||||
plugin: $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX)
|
||||
LIBRARIES += $(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX)
|
||||
else
|
||||
plugin:
|
||||
@echo "./gmp-api : No such file or directory."
|
||||
@echo "You do not have gmp-api. Run make gmp-bootstrap to get the gmp-api headers."
|
||||
endif
|
||||
|
||||
$(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX): $(MODULE_OBJS) $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS) $(MODULE_LDFLAGS)
|
||||
|
||||
install-headers:
|
||||
mkdir -p $(PREFIX)/include/wels
|
||||
install -m 644 codec/api/svc/codec*.h $(PREFIX)/include/wels
|
||||
@@ -162,11 +212,42 @@ include test/api/targets.mk
|
||||
include test/decoder/targets.mk
|
||||
include test/encoder/targets.mk
|
||||
include test/processing/targets.mk
|
||||
include test/common/targets.mk
|
||||
|
||||
LIBRARIES += $(LIBPREFIX)ut.$(LIBSUFFIX)
|
||||
$(LIBPREFIX)ut.$(LIBSUFFIX): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(COMMON_UNITTEST_OBJS) $(API_TEST_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_AR)$(AR) $(AR_OPTS) $+
|
||||
|
||||
|
||||
LIBRARIES +=$(LIBPREFIX)ut.$(SHAREDLIBSUFFIX)
|
||||
$(LIBPREFIX)ut.$(SHAREDLIBSUFFIX): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(COMMON_UNITTEST_OBJS) $(CODEC_UNITTEST_DEPS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS)
|
||||
|
||||
binaries: codec_unittest$(EXEEXT)
|
||||
BINARIES += codec_unittest$(EXEEXT)
|
||||
codec_unittest$(EXEEXT): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(CODEC_UNITTEST_DEPS)
|
||||
|
||||
ifeq (ios,$(OS))
|
||||
codec_unittest$(EXEEXT): $(LIBPREFIX)ut.$(LIBSUFFIX) $(LIBPREFIX)gtest.$(LIBSUFFIX) $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX)
|
||||
|
||||
else
|
||||
ifeq (android,$(OS))
|
||||
codec_unittest$(EXEEXT): $(LIBPREFIX)ut.$(SHAREDLIBSUFFIX)
|
||||
cd ./test/build/android && $(NDKROOT)/ndk-build -B APP_ABI=$(APP_ABI) && android update project -t $(TARGET) -p . && ant debug
|
||||
|
||||
clean_Android: clean_Android_ut
|
||||
clean_Android_ut:
|
||||
-cd ./test/build/android && $(NDKROOT)/ndk-build APP_ABI=$(APP_ABI) clean && ant clean
|
||||
|
||||
else
|
||||
codec_unittest$(EXEEXT): $(DECODER_UNITTEST_OBJS) $(ENCODER_UNITTEST_OBJS) $(PROCESSING_UNITTEST_OBJS) $(API_TEST_OBJS) $(COMMON_UNITTEST_OBJS) $(CODEC_UNITTEST_DEPS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_CXX)$(CXX) $(CXX_LINK_O) $+ $(CODEC_UNITTEST_LDFLAGS) $(LDFLAGS)
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
else
|
||||
binaries:
|
||||
@:
|
||||
|
||||
19
RELEASES
Normal file
19
RELEASES
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
Releases
|
||||
|
||||
These binary releases are distributed under this license:
|
||||
http://www.openh264.org/BINARY_LICENSE.txt
|
||||
|
||||
v1.0.0
|
||||
------
|
||||
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-android19.so.bz2
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-linux32.so.bz2
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-linux64.so.bz2
|
||||
http://ciscobinary.openh264.org/download/libopenh264-1.0.0-osx64.dylib.bz2
|
||||
http://ciscobinary.openh264.org/download/openh264-1.0.0-win32msvc.dll.bz2
|
||||
http://ciscobinary.openh264.org/download/openh264-1.0.0-win64msvc.dll.bz2
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -35,18 +35,21 @@ 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
|
||||
|
||||
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)
|
||||
|
||||
binaries : decdemo encdemo
|
||||
|
||||
@@ -56,13 +59,20 @@ 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
|
||||
|
||||
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,7 @@
|
||||
include build/platform-arch.mk
|
||||
SHAREDLIBSUFFIX = dylib
|
||||
SHARED = -dynamiclib
|
||||
CFLAGS += -Wall -fPIC -DMACOS -MMD -MP
|
||||
CFLAGS += -Wall -fPIC -MMD -MP
|
||||
LDFLAGS += -lpthread
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
ASMFLAGS += -DPREFIX
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
include build/platform-arch.mk
|
||||
SHAREDLIBSUFFIX = so
|
||||
CFLAGS += -Wall -fno-strict-aliasing -fPIC -DLINUX -MMD -MP
|
||||
CFLAGS += -Wall -fno-strict-aliasing -fPIC -MMD -MP
|
||||
LDFLAGS += -lpthread
|
||||
ifeq ($(ASM_ARCH), x86)
|
||||
ifeq ($(ENABLE64BIT), Yes)
|
||||
|
||||
@@ -5,13 +5,11 @@ 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
|
||||
|
||||
|
||||
@@ -3,25 +3,25 @@ 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:$@
|
||||
@@ -29,6 +29,7 @@ CFLAGS_OPT=-O2 -Ob1 -Oy- -Zi -GF -Gm- -GS -Gy -DNDEBUG
|
||||
CFLAGS_DEBUG=-Od -Oy- -ZI -RTC1 -D_DEBUG
|
||||
CFLAGS_M32=
|
||||
CFLAGS_M64=
|
||||
LINK_LOCAL_DIR=
|
||||
LINK_LIB=$(1).lib
|
||||
LIBSUFFIX=lib
|
||||
LIBPREFIX=
|
||||
|
||||
@@ -109,7 +109,7 @@ class ISVCDecoder {
|
||||
*/
|
||||
virtual DECODING_STATE EXTAPI DecodeFrame2 (const unsigned char* pSrc,
|
||||
const int iSrcLen,
|
||||
void** ppDst,
|
||||
unsigned char** ppDst,
|
||||
SBufferInfo* pDstInfo) = 0;
|
||||
|
||||
/*
|
||||
@@ -174,7 +174,7 @@ 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 (*DecodeFrameEx) (ISVCDecoder*, const unsigned char* pSrc,
|
||||
@@ -191,6 +191,7 @@ long (*GetOption) (ISVCDecoder*, DECODER_OPTION eOptionId, void* pOption);
|
||||
};
|
||||
#endif
|
||||
|
||||
typedef void (*WelsTraceCallback) (void* ctx, int level, const char* string);
|
||||
|
||||
int WelsCreateSVCEncoder (ISVCEncoder** ppEncoder);
|
||||
void WelsDestroySVCEncoder (ISVCEncoder* pEncoder);
|
||||
|
||||
@@ -32,9 +32,8 @@
|
||||
|
||||
#ifndef WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
#define WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
|
||||
////////////////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
|
||||
@@ -59,6 +58,7 @@ typedef enum {
|
||||
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 */
|
||||
@@ -82,18 +82,25 @@ typedef enum {
|
||||
ENCODER_OPTION_RC_MODE,
|
||||
ENCODER_PADDING_PADDING,
|
||||
|
||||
ENCODER_OPTION_PROFILE,
|
||||
ENCODER_OPTION_LEVEL,
|
||||
ENCODER_OPTION_NUMBER_REF,
|
||||
ENCODER_OPTION_DELIVERY_STATUS,
|
||||
|
||||
ENCODER_LTR_RECOVERY_REQUEST,
|
||||
ENCODER_LTR_MARKING_FEEDBACK,
|
||||
ENCOCER_LTR_MARKING_PERIOD,
|
||||
ENCODER_OPTION_LTR,
|
||||
|
||||
ENCODER_OPTION_ENABLE_SSEI, //disable SSEI: true--disable ssei; false--enable ssei
|
||||
ENCODER_OPTION_ENABLE_SSEI, //enable SSEI: true--enable ssei; false--disable ssei
|
||||
ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING, //enable prefix: true--enable prefix; false--disable prefix
|
||||
ENCODER_OPTION_ENABLE_SPS_PPS_ID_ADDITION, //disable pSps/pPps id addition: true--disable pSps/pPps id; false--enable pSps/pPps id addistion
|
||||
ENCODER_OPTION_ENABLE_SPS_PPS_ID_ADDITION, //enable pSps/pPps id addition: true--enable pSps/pPps id; false--disable pSps/pPps id addistion
|
||||
|
||||
ENCODER_OPTION_CURRENT_PATH,
|
||||
ENCODER_OPTION_DUMP_FILE,
|
||||
ENCODER_OPTION_TRACE_LEVEL
|
||||
ENCODER_OPTION_TRACE_LEVEL,
|
||||
ENCODER_OPTION_TRACE_CALLBACK, // a void (*)(void* context, int level, const char* message) function which receives log messages
|
||||
ENCODER_OPTION_TRACE_CALLBACK_CONTEXT,
|
||||
} ENCODER_OPTION;
|
||||
|
||||
/* Option types introduced in decoder application */
|
||||
@@ -107,6 +114,9 @@ typedef enum {
|
||||
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,
|
||||
|
||||
} DECODER_OPTION;
|
||||
|
||||
@@ -226,6 +236,19 @@ typedef enum {
|
||||
LEVEL_5_2
|
||||
} ELevelIdc;
|
||||
|
||||
|
||||
enum {
|
||||
WELS_LOG_QUIET = 0x00, // Quiet mode
|
||||
WELS_LOG_ERROR = 1 << 0, // Error log iLevel
|
||||
WELS_LOG_WARNING = 1 << 1, // Warning log iLevel
|
||||
WELS_LOG_INFO = 1 << 2, // Information log iLevel
|
||||
WELS_LOG_DEBUG = 1 << 3, // Debug log, critical algo log
|
||||
WELS_LOG_DETAIL = 1 << 4, // per packet/frame log
|
||||
WELS_LOG_RESV = 1 << 5, // Resversed log iLevel
|
||||
WELS_LOG_LEVEL_COUNT = 6,
|
||||
WELS_LOG_DEFAULT = WELS_LOG_DEBUG // Default log iLevel in Wels codec
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
SliceModeEnum uiSliceMode; //by default, uiSliceMode will be SM_SINGLE_SLICE
|
||||
SSliceArgument sSliceArgument;
|
||||
@@ -342,24 +365,24 @@ typedef struct {
|
||||
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
|
||||
int* pNalLengthInByte; // Length of NAL size in byte from 0 to iNalCount-1
|
||||
unsigned char* pBsBuf; // Buffer of bitstream contained
|
||||
} SLayerBSInfo, *PLayerBSInfo;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int iTemporalId; // Temporal ID
|
||||
unsigned char uiFrameType;
|
||||
//The sub sequence layers are ordered hierarchically based on their dependency on each other so that any picture in a layer shall not be
|
||||
//predicted from any picture on any higher layer.
|
||||
int iSubSeqId; //refer to D.2.11 Sub-sequence information SEI message semantics
|
||||
|
||||
int iLayerNum;
|
||||
SLayerBSInfo sLayerInfo[MAX_LAYER_NUM_OF_FRAME];
|
||||
|
||||
int eOutputFrameType;
|
||||
EVideoFrameType eFrameType;
|
||||
long long uiTimeStamp;
|
||||
} SFrameBSInfo, *PFrameBSInfo;
|
||||
|
||||
@@ -372,13 +395,29 @@ typedef struct Source_Picture_s {
|
||||
long long uiTimeStamp;
|
||||
} SSourcePicture;
|
||||
|
||||
typedef struct Bitrate_Info_s {
|
||||
typedef struct TagBitrateInfo {
|
||||
LAYER_NUM iLayer;
|
||||
int iBitrate; //the maximum bitrate
|
||||
} SBitrateInfo;
|
||||
|
||||
typedef struct Dump_Layer_s {
|
||||
typedef struct TagDumpLayer {
|
||||
int iLayer;
|
||||
char* pFileName;
|
||||
} SDumpLayer;
|
||||
|
||||
typedef struct TagProfileInfo {
|
||||
int iLayer;
|
||||
EProfileIdc uiProfileIdc; //the profile info
|
||||
} SProfileInfo;
|
||||
|
||||
typedef struct TagLevelInfo {
|
||||
int iLayer;
|
||||
ELevelIdc uiLevelIdc; //the level info
|
||||
} SLevelInfo;
|
||||
|
||||
typedef struct TagDeliveryStatus {
|
||||
int iDropNum; //the number of video frames that are dropped continuously before delivery to encoder, which is used by screen content.
|
||||
int iDropFrameType; // the frame type that is dropped
|
||||
int iDropFrameSize; // the frame size that is dropped
|
||||
} SDeliveryStatus;
|
||||
#endif//WELS_VIDEO_CODEC_APPLICATION_DEFINITION_H__
|
||||
|
||||
@@ -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 |
@@ -1,21 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">"
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsDecoderTest</string>
|
||||
</resources>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsDecoderTest</string>
|
||||
</resources>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
@@ -1,21 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">"
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<Button
|
||||
android:id="@+id/cfg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Load bitstreams" />
|
||||
<Button
|
||||
android:id="@+id/buttonSW"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Test" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsEncoderTest</string>
|
||||
</resources>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WelsEncoderTest</string>
|
||||
</resources>
|
||||
|
||||
@@ -14,33 +14,20 @@
|
||||
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 */; };
|
||||
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 +49,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 +58,22 @@
|
||||
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>"; };
|
||||
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,17 +87,6 @@
|
||||
);
|
||||
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 */
|
||||
@@ -136,14 +110,14 @@
|
||||
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 +126,13 @@
|
||||
4C3406C318D96EA600DFA14A /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
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 +142,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4472F18BC61650017DF25 /* common */,
|
||||
4CE443EE18B722CD0017DF25 /* commonTests */,
|
||||
4CE443D718B722CD0017DF25 /* Frameworks */,
|
||||
4CE443D618B722CD0017DF25 /* Products */,
|
||||
);
|
||||
@@ -177,7 +151,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE443D518B722CD0017DF25 /* libcommon.a */,
|
||||
4CE443E518B722CD0017DF25 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -186,30 +159,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 +179,8 @@
|
||||
F556A81D1906669F00E156A8 /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
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 +208,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 +230,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 +242,16 @@
|
||||
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 */,
|
||||
4C3406CF18D96EA600DFA14A /* deblocking_common.cpp in Sources */,
|
||||
4C3406D018D96EA600DFA14A /* logging.cpp in Sources */,
|
||||
5BA8F2C019603F5F00011CE4 /* common_tables.cpp 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 */,
|
||||
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 +260,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;
|
||||
@@ -403,7 +304,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;
|
||||
@@ -434,7 +334,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";
|
||||
@@ -466,7 +365,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";
|
||||
@@ -492,44 +390,6 @@
|
||||
};
|
||||
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 +411,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>
|
||||
@@ -1,58 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface commonTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation commonTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -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,13 +42,6 @@
|
||||
remoteGlobalIDString = 4CE4427918B6FC360017DF25;
|
||||
remoteInfo = welsdec;
|
||||
};
|
||||
4CE4450118B72AD70017DF25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 4CE444FA18B72AD70017DF25 /* welsdec.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 4CE4428918B6FC360017DF25;
|
||||
remoteInfo = welsdecTests;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -78,10 +64,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 +92,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE444F618B72A900017DF25 /* libcommon.a */,
|
||||
4CE444F818B72A900017DF25 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -115,7 +100,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4450018B72AD70017DF25 /* libwelsdec.a */,
|
||||
4CE4450218B72AD70017DF25 /* welsdecTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -273,13 +257,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 +264,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 */
|
||||
|
||||
@@ -34,6 +34,6 @@
|
||||
|
||||
@interface DEMOAppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
@property (strong, nonatomic) UIWindow* window;
|
||||
|
||||
@end
|
||||
|
||||
@@ -32,18 +32,17 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface DEMOViewController : UIViewController
|
||||
{
|
||||
BOOL bEnableFlag;
|
||||
@interface DEMOViewController : UIViewController {
|
||||
BOOL bEnableFlag;
|
||||
}
|
||||
@property (strong, nonatomic) NSMutableArray *resFileArray;
|
||||
@property (retain, nonatomic)UIAlertView *statusIndication;
|
||||
@property (strong, nonatomic) NSMutableArray* resFileArray;
|
||||
@property (retain, nonatomic)UIAlertView* statusIndication;
|
||||
@property (assign, nonatomic) NSUInteger selectedRow;
|
||||
|
||||
- (IBAction)startDecoderAll:(id)sender;
|
||||
- (IBAction)startDecoderOne:(id)sender;
|
||||
@property (weak, nonatomic) IBOutlet UITextField *currentSelectedFileTF;
|
||||
- (IBAction)startDecoderAll: (id)sender;
|
||||
- (IBAction)startDecoderOne: (id)sender;
|
||||
@property (weak, nonatomic) IBOutlet UITextField* currentSelectedFileTF;
|
||||
|
||||
//unwind segue
|
||||
- (IBAction)unwindSegueForShowResourceViewController:(UIStoryboardSegue *)segue;
|
||||
- (IBAction)unwindSegueForShowResourceViewController: (UIStoryboardSegue*)segue;
|
||||
@end
|
||||
|
||||
@@ -33,6 +33,6 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface DEMOViewControllerShowResource : UITableViewController
|
||||
@property (strong, nonatomic) NSMutableArray *resFileArray;
|
||||
@property (strong, nonatomic) NSMutableArray* resFileArray;
|
||||
@property (assign, nonatomic) NSUInteger selectedRow;
|
||||
@end
|
||||
|
||||
@@ -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,15 @@
|
||||
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 */; };
|
||||
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 +49,10 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_aarch64_neon.S; path = arm64/intra_pred_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4CE4427918B6FC360017DF25 /* libwelsdec.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwelsdec.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
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 +65,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 +81,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 +92,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 +102,17 @@
|
||||
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>"; };
|
||||
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 +126,21 @@
|
||||
);
|
||||
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 = (
|
||||
4CBC1B80194AC4E100214D9E /* intra_pred_aarch64_neon.S */,
|
||||
);
|
||||
name = arm64;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4427018B6FC360017DF25 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4463E18BC5EAA0017DF25 /* decoder */,
|
||||
4CE4429218B6FC360017DF25 /* welsdecTests */,
|
||||
4CE4427B18B6FC360017DF25 /* Frameworks */,
|
||||
4CE4427A18B6FC360017DF25 /* Products */,
|
||||
);
|
||||
@@ -173,7 +150,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4427918B6FC360017DF25 /* libwelsdec.a */,
|
||||
4CE4428918B6FC360017DF25 /* welsdecTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -182,30 +158,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 +176,7 @@
|
||||
4CE4463F18BC5EAA0017DF25 /* core */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CBC1B7F194AC4A400214D9E /* arm64 */,
|
||||
4CE447A518BC6BE90017DF25 /* arm */,
|
||||
4CE4464418BC5EAA0017DF25 /* inc */,
|
||||
4CE4466618BC5EAA0017DF25 /* src */,
|
||||
@@ -229,6 +187,8 @@
|
||||
4CE4464418BC5EAA0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED665A1946A21D009A3567 /* utils.h */,
|
||||
9ABF4380193EB5F700A6BD61 /* expand_pic.h */,
|
||||
F0B204FA18FD23CF005DA23F /* error_concealment.h */,
|
||||
4CE4464518BC5EAA0017DF25 /* as264_common.h */,
|
||||
4CE4464618BC5EAA0017DF25 /* au_parser.h */,
|
||||
@@ -242,7 +202,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 +218,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 +228,8 @@
|
||||
4CE4466618BC5EAA0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66581946A203009A3567 /* utils.cpp */,
|
||||
9ABF4381193EB60900A6BD61 /* expand_pic.cpp */,
|
||||
F0B204FB18FD23D8005DA23F /* error_concealment.cpp */,
|
||||
4CE4466718BC5EAA0017DF25 /* au_parser.cpp */,
|
||||
4CE4466818BC5EAA0017DF25 /* bit_stream.cpp */,
|
||||
@@ -279,7 +239,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 +249,6 @@
|
||||
4CE4467718BC5EAA0017DF25 /* parse_mb_syn_cavlc.cpp */,
|
||||
4CE4467818BC5EAA0017DF25 /* pic_queue.cpp */,
|
||||
4CE4467918BC5EAA0017DF25 /* rec_mb.cpp */,
|
||||
4CE4467A18BC5EAA0017DF25 /* utils.cpp */,
|
||||
);
|
||||
path = src;
|
||||
sourceTree = "<group>";
|
||||
@@ -307,7 +265,7 @@
|
||||
4CE4467C18BC5EAA0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4467D18BC5EAA0017DF25 /* welsCodecTrace.h */,
|
||||
9AED66571946A1EB009A3567 /* welsCodecTrace.h */,
|
||||
4CE4467E18BC5EAA0017DF25 /* welsDecoderExt.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -316,8 +274,8 @@
|
||||
4CE4468218BC5EAB0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66551946A1DE009A3567 /* welsCodecTrace.cpp */,
|
||||
4CE4468318BC5EAB0017DF25 /* wels_dec_export.def */,
|
||||
4CE4468418BC5EAB0017DF25 /* welsCodecTrace.cpp */,
|
||||
4CE4468518BC5EAB0017DF25 /* welsDecoderExt.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -352,31 +310,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,22 +332,10 @@
|
||||
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;
|
||||
@@ -416,18 +344,18 @@
|
||||
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 */,
|
||||
4CE447AC18BC6BE90017DF25 /* block_add_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 +363,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;
|
||||
@@ -513,7 +414,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;
|
||||
@@ -544,7 +444,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";
|
||||
@@ -568,8 +467,10 @@
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(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;
|
||||
@@ -580,7 +481,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";
|
||||
@@ -602,8 +502,10 @@
|
||||
"$(SRCROOT)/../../../../common/inc",
|
||||
"$(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;
|
||||
@@ -611,44 +513,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 +534,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
|
||||
@@ -35,13 +35,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,13 +42,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 */;
|
||||
@@ -63,13 +49,6 @@
|
||||
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 */;
|
||||
@@ -112,13 +91,12 @@
|
||||
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 */
|
||||
@@ -164,7 +142,6 @@
|
||||
FAFB4FA818BC8DD700315438 /* Foundation.framework */,
|
||||
FAFB4FAA18BC8DD700315438 /* CoreGraphics.framework */,
|
||||
FAFB4FAC18BC8DD700315438 /* UIKit.framework */,
|
||||
FAFB4FCA18BC8DD700315438 /* XCTest.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -203,7 +180,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FE818BC8E7D00315438 /* libwelsenc.a */,
|
||||
FAFB4FEA18BC8E7D00315438 /* welsencTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -212,7 +188,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FAFB4FF118BC8E8600315438 /* libcommon.a */,
|
||||
FAFB4FF318BC8E8600315438 /* commonTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -221,7 +196,6 @@
|
||||
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 */
|
||||
@@ -282,7 +257,7 @@
|
||||
FAFB4F9D18BC8DD700315438 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0500;
|
||||
LastUpgradeCheck = 0510;
|
||||
ORGANIZATIONNAME = video;
|
||||
};
|
||||
buildConfigurationList = FAFB4FA018BC8DD700315438 /* Build configuration list for PBXProject "encDemo" */;
|
||||
@@ -325,13 +300,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,13 +307,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;
|
||||
@@ -353,13 +314,6 @@
|
||||
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 */
|
||||
@@ -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;
|
||||
@@ -477,7 +430,6 @@
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
@@ -492,7 +444,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;
|
||||
@@ -519,7 +470,6 @@
|
||||
"$(inherited)",
|
||||
"/Applications/Xcode\\ 5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
|
||||
"\"$(SRCROOT)/../../../../api/svc\"",
|
||||
"\"$(SRCROOT)/../../../../common\"",
|
||||
"\"$(SRCROOT)/../../../../processing/interface\"",
|
||||
"\"$(SRCROOT)/../../../../encoder/core/inc\"",
|
||||
);
|
||||
@@ -533,7 +483,6 @@
|
||||
FAFB4FDB18BC8DD700315438 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
|
||||
@@ -552,7 +501,6 @@
|
||||
FAFB4FDC18BC8DD700315438 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = APPLE_IOS;
|
||||
|
||||
@@ -34,6 +34,6 @@
|
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
@property (strong, nonatomic) UIWindow* window;
|
||||
|
||||
@end
|
||||
|
||||
@@ -33,12 +33,12 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ViewController : UIViewController {
|
||||
UILabel * statusText_;
|
||||
UILabel* statusText_;
|
||||
}
|
||||
|
||||
@property (retain, nonatomic) IBOutlet UILabel * statusText;
|
||||
@property (retain, nonatomic) IBOutlet UILabel* statusText;
|
||||
|
||||
-(IBAction) buttonPressed:(id)sender;
|
||||
- (IBAction) buttonPressed: (id)sender;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -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,14 @@
|
||||
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 */; };
|
||||
9AED665019469FC1009A3567 /* welsCodecTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */; };
|
||||
9AED66661946A2B3009A3567 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AED66651946A2B3009A3567 /* utils.cpp */; };
|
||||
F5617A50196A833A006E2B20 /* reconstruct_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */; };
|
||||
F5BE8005196B913200ED02ED /* memory_aarch64_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* 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 +64,18 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = intra_pred_sad_3_opt_aarch64_neon.S; path = arm64/intra_pred_sad_3_opt_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
4C34066618C57D0400DFA14A /* intra_pred_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = intra_pred_neon.S; sourceTree = "<group>"; };
|
||||
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 +85,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 +108,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 +117,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 +129,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 +149,16 @@
|
||||
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>"; };
|
||||
9AED664819469FAF009A3567 /* welsCodecTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = welsCodecTrace.h; path = ../../../common/inc/welsCodecTrace.h; sourceTree = "<group>"; };
|
||||
9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = welsCodecTrace.cpp; path = ../../../common/src/welsCodecTrace.cpp; sourceTree = "<group>"; };
|
||||
9AED66651946A2B3009A3567 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = ../../../common/src/utils.cpp; sourceTree = "<group>"; };
|
||||
9AED66671946A2C4009A3567 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = ../../../common/inc/utils.h; sourceTree = "<group>"; };
|
||||
F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = reconstruct_aarch64_neon.S; path = arm64/reconstruct_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = memory_aarch64_neon.S; path = arm64/memory_aarch64_neon.S; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -185,17 +170,6 @@
|
||||
);
|
||||
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 */
|
||||
@@ -211,11 +185,22 @@
|
||||
path = arm;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CB8F2B219235FAC005D6386 /* arm64 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F5BE8004196B913200ED02ED /* memory_aarch64_neon.S */,
|
||||
F5617A4F196A833A006E2B20 /* reconstruct_aarch64_neon.S */,
|
||||
4C23BC5F195A77E0003B81FC /* intra_pred_sad_3_opt_aarch64_neon.S */,
|
||||
4CBC1B82194ACBB400214D9E /* intra_pred_aarch64_neon.S */,
|
||||
4CB8F2B319235FC5005D6386 /* pixel_aarch64_neon.S */,
|
||||
);
|
||||
name = arm64;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4CE4430818B6FFA00017DF25 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE446A018BC605B0017DF25 /* encoder */,
|
||||
4CE4432A18B6FFA00017DF25 /* welsencTests */,
|
||||
4CE4431318B6FFA00017DF25 /* Frameworks */,
|
||||
4CE4431218B6FFA00017DF25 /* Products */,
|
||||
);
|
||||
@@ -225,7 +210,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE4431118B6FFA00017DF25 /* libwelsenc.a */,
|
||||
4CE4432118B6FFA00017DF25 /* welsencTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -234,30 +218,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 +236,7 @@
|
||||
4CE446A118BC605B0017DF25 /* core */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CB8F2B219235FAC005D6386 /* arm64 */,
|
||||
4C34066418C57D0400DFA14A /* arm */,
|
||||
4CE446A918BC605C0017DF25 /* inc */,
|
||||
4CE446DC18BC605C0017DF25 /* src */,
|
||||
@@ -281,6 +247,7 @@
|
||||
4CE446A918BC605C0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66671946A2C4009A3567 /* utils.h */,
|
||||
4CDBFB9D18E5068D0025A767 /* wels_transpose_matrix.h */,
|
||||
4CE446AA18BC605C0017DF25 /* as264_common.h */,
|
||||
4CE446AB18BC605C0017DF25 /* au_set.h */,
|
||||
@@ -291,7 +258,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 +281,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 +290,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 +302,7 @@
|
||||
4CE446DC18BC605C0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED66651946A2B3009A3567 /* utils.cpp */,
|
||||
4CE446DD18BC605C0017DF25 /* au_set.cpp */,
|
||||
4CE446DE18BC605C0017DF25 /* deblocking.cpp */,
|
||||
4CE446DF18BC605C0017DF25 /* decode_mb_aux.cpp */,
|
||||
@@ -345,7 +310,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 +330,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 +347,7 @@
|
||||
4CE446FC18BC605C0017DF25 /* inc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CE446FD18BC605C0017DF25 /* welsCodecTrace.h */,
|
||||
9AED664819469FAF009A3567 /* welsCodecTrace.h */,
|
||||
4CE446FE18BC605C0017DF25 /* welsEncoderExt.h */,
|
||||
);
|
||||
path = inc;
|
||||
@@ -393,8 +356,8 @@
|
||||
4CE4470218BC605C0017DF25 /* src */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9AED664C19469FC1009A3567 /* welsCodecTrace.cpp */,
|
||||
4CE4470418BC605C0017DF25 /* wels_enc_export.def */,
|
||||
4CE4470518BC605C0017DF25 /* welsCodecTrace.cpp */,
|
||||
4CE4470618BC605C0017DF25 /* welsEncoderExt.cpp */,
|
||||
);
|
||||
path = src;
|
||||
@@ -420,31 +383,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 +405,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,32 +419,36 @@
|
||||
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 */,
|
||||
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 */,
|
||||
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 */,
|
||||
@@ -521,41 +458,13 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4CE4431D18B6FFA00017DF25 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4CE4433118B6FFA00017DF25 /* welsencTests.m 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;
|
||||
@@ -593,7 +502,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;
|
||||
@@ -624,7 +532,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";
|
||||
@@ -650,6 +557,7 @@
|
||||
"$(SRCROOT)/../../../../processing/interface",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
@@ -663,7 +571,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";
|
||||
@@ -688,6 +595,7 @@
|
||||
"$(SRCROOT)/../../../../processing/interface",
|
||||
"$(SRCROOT)/../../../../api/svc",
|
||||
"$(SRCROOT)/../../../../common/arm",
|
||||
"$(SRCROOT)/../../../../common/arm64",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
@@ -697,44 +605,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 +626,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>
|
||||
@@ -1,58 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface welsencTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation welsencTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
[super setUp];
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
[super tearDown];
|
||||
}
|
||||
|
||||
- (void)testExample
|
||||
{
|
||||
XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
|
||||
}
|
||||
|
||||
@end
|
||||
12
codec/build/win32/.gitignore
vendored
Normal file
12
codec/build/win32/.gitignore
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# Files generated by Visual Studio 2008
|
||||
*.user
|
||||
*.ncb
|
||||
*.suo
|
||||
|
||||
# Files generated by upgrading the project files
|
||||
*.vcxproj*
|
||||
Backup
|
||||
UpgradeLog.htm
|
||||
|
||||
# Files generated by Visual Studio 2012
|
||||
*.sdf
|
||||
@@ -30,6 +30,7 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -53,8 +54,8 @@
|
||||
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"
|
||||
@@ -63,7 +64,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="0"
|
||||
/>
|
||||
<Tool
|
||||
@@ -80,7 +80,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -90,7 +89,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -109,6 +107,7 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -133,8 +132,8 @@
|
||||
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"
|
||||
@@ -143,7 +142,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="0"
|
||||
/>
|
||||
<Tool
|
||||
@@ -160,7 +158,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -170,7 +167,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -211,8 +207,8 @@
|
||||
<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"
|
||||
@@ -221,7 +217,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -238,7 +233,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -248,7 +242,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -290,8 +283,8 @@
|
||||
<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"
|
||||
@@ -300,7 +293,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\core\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\core\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -317,7 +309,6 @@
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\welsdcore.lib"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
@@ -327,7 +318,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecCore.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -356,7 +346,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 +355,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 +364,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 +373,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 +386,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 +395,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 +404,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 +413,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 +426,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 +435,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 +444,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 +453,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 +466,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 +475,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 +484,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 +493,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 +506,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 +515,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 +524,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 +533,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 +546,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 +555,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 +564,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 +573,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 +586,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 +595,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 +604,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 +613,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 +626,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 +635,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 +644,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 +653,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,10 +675,10 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\bit_stream.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\copy_mb.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\copy_mb.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\cpu.h"
|
||||
>
|
||||
@@ -737,16 +727,12 @@
|
||||
RelativePath="..\..\..\decoder\core\inc\error_code.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\error_concealment.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\expand_pic.h"
|
||||
RelativePath="..\..\..\decoder\core\inc\error_concealment.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\inc\expand_picture_common.h"
|
||||
RelativePath="..\..\..\common\inc\expand_pic.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -834,7 +820,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\inc\utils.h"
|
||||
RelativePath="..\..\..\common\inc\utils.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -845,6 +831,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,10 +852,14 @@
|
||||
RelativePath="..\..\..\decoder\core\src\bit_stream.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\copy_mb.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\common_tables.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\copy_mb.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\cpu.cpp"
|
||||
>
|
||||
@@ -902,12 +896,12 @@
|
||||
RelativePath="..\..\..\decoder\core\src\decoder_data_tables.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\error_concealment.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\expand_pic.cpp"
|
||||
RelativePath="..\..\..\decoder\core\src\error_concealment.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\src\expand_pic.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -918,10 +912,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"
|
||||
>
|
||||
@@ -955,7 +945,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\core\src\utils.cpp"
|
||||
RelativePath="..\..\..\common\src\utils.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -44,7 +45,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -53,8 +53,8 @@
|
||||
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"
|
||||
@@ -63,7 +63,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -82,13 +81,12 @@
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win32\Release\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"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName=".\..\..\..\maps\Release\welsdec.map"
|
||||
MapFileName="$(OutDir)\welsdec.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -105,7 +103,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -127,6 +124,7 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -144,7 +142,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Release/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -153,8 +150,8 @@
|
||||
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"
|
||||
@@ -163,7 +160,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -182,13 +178,12 @@
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win64\Release\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"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName=".\..\..\..\maps\Release\welsdec.map"
|
||||
MapFileName="$(OutDir)\welsdec.map"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -205,7 +200,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Release/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -244,7 +238,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -252,8 +245,8 @@
|
||||
<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"
|
||||
@@ -262,7 +255,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -281,11 +273,10 @@
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win32\Debug\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"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -302,7 +293,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -341,7 +331,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\win32\Debug/WelsDecPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -349,8 +338,8 @@
|
||||
<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"
|
||||
@@ -359,7 +348,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decoder\plus\debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decoder\plus\debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -378,11 +366,10 @@
|
||||
AdditionalDependencies=".\..\..\..\..\bin\win64\Debug\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"
|
||||
ProgramDatabaseFile="$(OutDir)\welsdec.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
ImportLibrary="$(OutDir)\welsdec.lib"
|
||||
@@ -399,7 +386,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\..\..\..\..\bin\win32\Debug/WelsDecPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -426,42 +412,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 +423,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 +440,7 @@
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\decoder\plus\inc\welsCodecTrace.h"
|
||||
RelativePath="..\..\..\common\inc\welsCodecTrace.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
|
||||
@@ -49,8 +49,8 @@
|
||||
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"
|
||||
@@ -59,7 +59,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -77,7 +76,6 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
@@ -97,7 +95,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -142,8 +139,8 @@
|
||||
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"
|
||||
@@ -152,7 +149,6 @@
|
||||
ObjectFile=".\..\..\..\obj\decConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
@@ -170,7 +166,6 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsole.pdb"
|
||||
GenerateMapFile="false"
|
||||
@@ -190,7 +185,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -233,8 +227,8 @@
|
||||
<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"
|
||||
@@ -244,7 +238,6 @@
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -263,7 +256,6 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsoled.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win32"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
|
||||
@@ -283,7 +275,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -327,8 +318,8 @@
|
||||
<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"
|
||||
@@ -338,7 +329,6 @@
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\decConsole\Debug/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -357,7 +347,6 @@
|
||||
AdditionalDependencies="$(OutDir)\welsdec.lib"
|
||||
OutputFile="$(OutDir)\decConsoled.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\..\bin\win64"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\decConsoled.pdb"
|
||||
@@ -377,7 +366,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\decConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -405,87 +393,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 +408,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
@@ -44,7 +44,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -53,7 +52,7 @@
|
||||
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"
|
||||
@@ -62,7 +61,6 @@
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -78,10 +76,9 @@
|
||||
/>
|
||||
<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"
|
||||
@@ -104,7 +101,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -143,7 +139,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Debug/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -152,7 +147,7 @@
|
||||
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"
|
||||
@@ -161,7 +156,6 @@
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -177,10 +171,9 @@
|
||||
/>
|
||||
<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"
|
||||
@@ -203,7 +196,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -225,6 +217,7 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -242,7 +235,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -253,9 +245,8 @@
|
||||
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"
|
||||
@@ -264,7 +255,6 @@
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -280,11 +270,9 @@
|
||||
/>
|
||||
<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"
|
||||
@@ -308,7 +296,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -330,6 +317,7 @@
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
@@ -347,7 +335,6 @@
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="3"
|
||||
TypeLibraryName=".\..\..\..\..\..\bin\Release/WelsEncPlus.tlb"
|
||||
HeaderFileName=""
|
||||
@@ -358,9 +345,8 @@
|
||||
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"
|
||||
@@ -369,7 +355,6 @@
|
||||
ObjectFile=".\..\..\..\obj\encoder\plus\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encoder\plus\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -385,11 +370,9 @@
|
||||
/>
|
||||
<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"
|
||||
@@ -413,7 +396,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)/WelsEncPlus.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -437,126 +419,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 +438,7 @@
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\encoder\plus\inc\welsCodecTrace.h"
|
||||
RelativePath="..\..\..\common\inc\welsCodecTrace.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
@@ -579,42 +453,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
|
||||
@@ -48,8 +48,8 @@
|
||||
<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"
|
||||
@@ -58,7 +58,6 @@
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
@@ -77,7 +76,6 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
@@ -99,102 +97,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
|
||||
@@ -238,8 +140,8 @@
|
||||
<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"
|
||||
@@ -248,7 +150,6 @@
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Debug/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -267,7 +168,6 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
@@ -289,7 +189,98 @@
|
||||
/>
|
||||
<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,..\..\..\console\common\inc,..\..\..\api\svc,..\..\..\encoder\core\inc,..\..\..\common\inc,..\..\..\processing\interface"
|
||||
PreprocessorDefinitions="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"
|
||||
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"
|
||||
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"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -334,8 +325,8 @@
|
||||
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"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
@@ -344,7 +335,6 @@
|
||||
ObjectFile=".\..\..\..\obj\encConsole\Release/"
|
||||
ProgramDataBaseFileName=".\..\..\..\obj\encConsole\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
@@ -363,7 +353,6 @@
|
||||
AdditionalDependencies="$(OutDir)\welsenc.lib"
|
||||
OutputFile="$(OutDir)\encConsole.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="..\..\..\bin"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)\encConsole.pdb"
|
||||
@@ -385,7 +374,6 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile="$(OutDir)\encConsole.bsc"
|
||||
/>
|
||||
<Tool
|
||||
@@ -407,88 +395,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 +408,7 @@
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\console\enc\inc\read_config.h"
|
||||
RelativePath="..\..\..\console\common\inc\read_config.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
||||
@@ -35,76 +35,76 @@
|
||||
#include "arm_arch_common_macro.S"
|
||||
|
||||
#ifdef __APPLE__
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4,:128], $5
|
||||
vld1.64 {$1}, [$4,:128], $5
|
||||
vld1.64 {$2}, [$4,:128], $5
|
||||
vld1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4,:128], $5
|
||||
vld1.64 {$1}, [$4,:128], $5
|
||||
vld1.64 {$2}, [$4,:128], $5
|
||||
vld1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4,:128], $5
|
||||
vst1.64 {$1}, [$4,:128], $5
|
||||
vst1.64 {$2}, [$4,:128], $5
|
||||
vst1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4,:128], $5
|
||||
vst1.64 {$1}, [$4,:128], $5
|
||||
vst1.64 {$2}, [$4,:128], $5
|
||||
vst1.64 {$3}, [$4,:128], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4], $5
|
||||
vld1.64 {$1}, [$4], $5
|
||||
vld1.64 {$2}, [$4], $5
|
||||
vld1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, src*, src_stride
|
||||
vld1.64 {$0}, [$4], $5
|
||||
vld1.64 {$1}, [$4], $5
|
||||
vld1.64 {$2}, [$4], $5
|
||||
vld1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4], $5
|
||||
vst1.64 {$1}, [$4], $5
|
||||
vst1.64 {$2}, [$4], $5
|
||||
vst1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE
|
||||
// { // input: $0~$3, dst*, dst_stride
|
||||
vst1.64 {$0}, [$4], $5
|
||||
vst1.64 {$1}, [$4], $5
|
||||
vst1.64 {$2}, [$4], $5
|
||||
vst1.64 {$3}, [$4], $5
|
||||
// }
|
||||
.endm
|
||||
#else
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.macro LOAD_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vld1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.macro STORE_ALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg1}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg2}, [\arg4,:128], \arg5
|
||||
vst1.64 {\arg3}, [\arg4,:128], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4], \arg5
|
||||
vld1.64 {\arg1}, [\arg4], \arg5
|
||||
vld1.64 {\arg2}, [\arg4], \arg5
|
||||
vld1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.macro LOAD_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, src*, src_stride
|
||||
vld1.64 {\arg0}, [\arg4], \arg5
|
||||
vld1.64 {\arg1}, [\arg4], \arg5
|
||||
vld1.64 {\arg2}, [\arg4], \arg5
|
||||
vld1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4], \arg5
|
||||
vst1.64 {\arg1}, [\arg4], \arg5
|
||||
vst1.64 {\arg2}, [\arg4], \arg5
|
||||
vst1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.macro STORE_UNALIGNED_DATA_WITH_STRIDE arg0, arg1, arg2, arg3, arg4, arg5
|
||||
// { // input: \arg0~\arg3, dst*, dst_stride
|
||||
vst1.64 {\arg0}, [\arg4], \arg5
|
||||
vst1.64 {\arg1}, [\arg4], \arg5
|
||||
vst1.64 {\arg2}, [\arg4], \arg5
|
||||
vst1.64 {\arg3}, [\arg4], \arg5
|
||||
// }
|
||||
.endm
|
||||
|
||||
#endif
|
||||
@@ -112,89 +112,89 @@
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy8x8_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy16x16_neon
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_ALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy16x16NotAligned_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy16x8NotAligned_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q0, q1, q2, q3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE q8, q9, q10, q11, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN WelsCopy8x16_neon
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d0, d1, d2, d3, r0, r1
|
||||
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
LOAD_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r2, r3
|
||||
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
STORE_UNALIGNED_DATA_WITH_STRIDE d4, d5, d6, d7, r0, r1
|
||||
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -37,119 +37,119 @@
|
||||
|
||||
WELS_ASM_FUNC_BEGIN ExpandPictureLuma_neon
|
||||
stmdb sp!, {r4-r8}
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
//For the left and right expand
|
||||
_expand_picture_luma_loop2:
|
||||
sub r5, r7, #32
|
||||
add r6, r4, #1
|
||||
sub r5, r7, #32
|
||||
add r6, r4, #1
|
||||
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
|
||||
vst1.8 {q0}, [r5]!
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]!
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_luma_loop2
|
||||
vst1.8 {q0}, [r5]!
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]!
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_luma_loop2
|
||||
|
||||
//for the top and bottom expand
|
||||
add r2, #64
|
||||
sub r0, #32
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
//for the top and bottom expand
|
||||
add r2, #64
|
||||
sub r0, #32
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
_expand_picture_luma_loop0:
|
||||
mov r5, #32
|
||||
mov r5, #32
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
|
||||
mov r8, #32
|
||||
mov r8, #32
|
||||
_expand_picture_luma_loop1:
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_luma_loop1
|
||||
|
||||
subs r2, #16
|
||||
bne _expand_picture_luma_loop0
|
||||
subs r2, #16
|
||||
bne _expand_picture_luma_loop0
|
||||
|
||||
//vldreq.32 d0, [r0]
|
||||
|
||||
ldmia sp!, {r4-r8}
|
||||
ldmia sp!, {r4-r8}
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
|
||||
WELS_ASM_FUNC_BEGIN ExpandPictureChroma_neon
|
||||
stmdb sp!, {r4-r9}
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
//Save the dst
|
||||
mov r7, r0
|
||||
mov r8, r3
|
||||
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
add r4, r7, r2
|
||||
sub r4, #1
|
||||
//For the left and right expand
|
||||
_expand_picture_chroma_loop2:
|
||||
sub r5, r7, #16
|
||||
add r6, r4, #1
|
||||
sub r5, r7, #16
|
||||
add r6, r4, #1
|
||||
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
vld1.8 {d0[], d1[]}, [r7], r1
|
||||
vld1.8 {d2[], d3[]}, [r4], r1
|
||||
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop2
|
||||
vst1.8 {q0}, [r5]
|
||||
vst1.8 {q1}, [r6]
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop2
|
||||
|
||||
//for the top and bottom expand
|
||||
add r2, #32
|
||||
mov r9, r2
|
||||
bic r2, #15
|
||||
sub r0, #16
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
//for the top and bottom expand
|
||||
add r2, #32
|
||||
mov r9, r2
|
||||
bic r2, #15
|
||||
sub r0, #16
|
||||
mla r4, r1, r3, r0
|
||||
sub r4, r1
|
||||
_expand_picture_chroma_loop0:
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {q0}, [r0]!
|
||||
vld1.8 {q1}, [r4]!
|
||||
|
||||
mov r8, #16
|
||||
mov r8, #16
|
||||
_expand_picture_chroma_loop1:
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop1
|
||||
vst1.8 {q0}, [r5], r1
|
||||
vst1.8 {q1}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop1
|
||||
|
||||
subs r2, #16
|
||||
bne _expand_picture_chroma_loop0
|
||||
subs r2, #16
|
||||
bne _expand_picture_chroma_loop0
|
||||
|
||||
//vldreq.32 d0, [r0]
|
||||
|
||||
and r9, #15
|
||||
cmp r9, #8
|
||||
bne _expand_picture_chroma_end
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {d0}, [r0]!
|
||||
vld1.8 {d2}, [r4]!
|
||||
mov r8, #16
|
||||
and r9, #15
|
||||
cmp r9, #8
|
||||
bne _expand_picture_chroma_end
|
||||
mov r5, #16
|
||||
mls r5, r5, r1, r0
|
||||
add r6, r4, r1
|
||||
vld1.8 {d0}, [r0]!
|
||||
vld1.8 {d2}, [r4]!
|
||||
mov r8, #16
|
||||
_expand_picture_chroma_loop3:
|
||||
vst1.8 {d0}, [r5], r1
|
||||
vst1.8 {d2}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop3
|
||||
vst1.8 {d0}, [r5], r1
|
||||
vst1.8 {d2}, [r6], r1
|
||||
subs r8, #1
|
||||
bne _expand_picture_chroma_loop3
|
||||
_expand_picture_chroma_end:
|
||||
|
||||
ldmia sp!, {r4-r9}
|
||||
ldmia sp!, {r4-r9}
|
||||
WELS_ASM_FUNC_END
|
||||
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
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
|
||||
@@ -53,91 +53,91 @@ _expand_picture_luma_loop2:
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_luma_loop2
|
||||
//for the top and bottom expand
|
||||
add x2, x2, #64
|
||||
sub x0, x0, #32
|
||||
add x2, x2, #64
|
||||
sub x0, x0, #32
|
||||
madd x4, x1, x3, x0
|
||||
sub x4, x4, x1
|
||||
_expand_picture_luma_loop0:
|
||||
mov x5, #32
|
||||
mov x5, #32
|
||||
msub x5, x5, x1, x0
|
||||
add x6, x4, x1
|
||||
add x6, x4, x1
|
||||
ld1 {v0.16b}, [x0], x10
|
||||
ld1 {v1.16b}, [x4], x10
|
||||
mov x8, #32
|
||||
mov x8, #32
|
||||
_expand_picture_luma_loop1:
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_luma_loop1
|
||||
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_luma_loop0
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_luma_loop0
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_BEGIN ExpandPictureChroma_AArch64_neon
|
||||
//Save the dst
|
||||
mov x7, x0
|
||||
mov x8, x3
|
||||
WELS_ASM_AARCH64_FUNC_BEGIN ExpandPictureChroma_AArch64_neon
|
||||
//Save the dst
|
||||
mov x7, x0
|
||||
mov x8, x3
|
||||
mov x10, #16
|
||||
add x4, x7, x2
|
||||
sub x4, x4, #1
|
||||
add x4, x7, x2
|
||||
sub x4, x4, #1
|
||||
//For the left and right expand
|
||||
_expand_picture_chroma_loop2:
|
||||
sub x5, x7, #16
|
||||
add x6, x4, #1
|
||||
sub x5, x7, #16
|
||||
add x6, x4, #1
|
||||
|
||||
ld1r {v0.16b}, [x7], x1
|
||||
ld1r {v1.16b}, [x4], x1
|
||||
ld1r {v0.16b}, [x7], x1
|
||||
ld1r {v1.16b}, [x4], x1
|
||||
|
||||
st1 {v0.16b}, [x5]
|
||||
st1 {v1.16b}, [x6]
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop2
|
||||
st1 {v0.16b}, [x5]
|
||||
st1 {v1.16b}, [x6]
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop2
|
||||
|
||||
//for the top and bottom expand
|
||||
add x2, x2, #32
|
||||
//for the top and bottom expand
|
||||
add x2, x2, #32
|
||||
//
|
||||
mov x9, x2
|
||||
mov x11, #15
|
||||
bic x2, x2, x11
|
||||
//
|
||||
sub x0, x0, #16
|
||||
madd x4, x1, x3, x0
|
||||
sub x4, x4, x1
|
||||
sub x0, x0, #16
|
||||
madd x4, x1, x3, x0
|
||||
sub x4, x4, x1
|
||||
_expand_picture_chroma_loop0:
|
||||
mov x5, #16
|
||||
mov x5, #16
|
||||
msub x5, x5, x1, x0
|
||||
add x6, x4, x1
|
||||
ld1 {v0.16b}, [x0], x10
|
||||
ld1 {v1.16b}, [x4], x10
|
||||
add x6, x4, x1
|
||||
ld1 {v0.16b}, [x0], x10
|
||||
ld1 {v1.16b}, [x4], x10
|
||||
|
||||
mov x8, #16
|
||||
mov x8, #16
|
||||
_expand_picture_chroma_loop1:
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
st1 {v0.16b}, [x5], x1
|
||||
st1 {v1.16b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop1
|
||||
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_chroma_loop0
|
||||
sub x2, x2, #16
|
||||
cbnz x2, _expand_picture_chroma_loop0
|
||||
|
||||
and x9, x9, #15
|
||||
sub x9, x9, #8
|
||||
cbnz x9, _expand_picture_chroma_end
|
||||
mov x5, #16
|
||||
mov x5, #16
|
||||
msub x5, x5, x1, x0
|
||||
add x6, x4, x1
|
||||
ld1 {v0.8b}, [x0]
|
||||
ld1 {v1.8b}, [x4]
|
||||
add x6, x4, x1
|
||||
ld1 {v0.8b}, [x0]
|
||||
ld1 {v1.8b}, [x4]
|
||||
|
||||
mov x8, #16
|
||||
mov x8, #16
|
||||
_expand_picture_chroma_loop3:
|
||||
st1 {v0.8b}, [x5], x1
|
||||
st1 {v1.8b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
st1 {v0.8b}, [x5], x1
|
||||
st1 {v1.8b}, [x6], x1
|
||||
sub x8, x8, #1
|
||||
cbnz x8, _expand_picture_chroma_loop3
|
||||
_expand_picture_chroma_end:
|
||||
|
||||
WELS_ASM_ARCH64_FUNC_END
|
||||
WELS_ASM_AARCH64_FUNC_END
|
||||
#endif
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -44,6 +44,7 @@
|
||||
#include <assert.h>
|
||||
#include "typedefs.h"
|
||||
|
||||
|
||||
/*
|
||||
* ENFORCE_STACK_ALIGN_1D: force 1 dimension local data aligned in stack
|
||||
* _tp: type
|
||||
@@ -72,20 +73,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 +113,17 @@ __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_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); \
|
||||
|
||||
@@ -79,7 +79,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.
|
||||
|
||||
@@ -29,8 +29,6 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
* \file utils.h
|
||||
*
|
||||
* \brief Tool kits for decoder
|
||||
* ( malloc, realloc, free, log output and PSNR calculation and so on )
|
||||
*
|
||||
@@ -41,50 +39,54 @@
|
||||
#ifndef WELS_UTILS_H__
|
||||
#define WELS_UTILS_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include "typedefs.h"
|
||||
|
||||
namespace WelsDec {
|
||||
|
||||
|
||||
/*
|
||||
* Function pointer declaration for various tool sets
|
||||
*/
|
||||
// wels log output
|
||||
typedef void (*PWelsLogCallbackFunc) (void* pPtr, const int32_t kiLevel, const char* kpFmt, va_list pArgv);
|
||||
typedef void (*PWelsLogCallbackFunc) (void* pCtx, const int32_t iLevel, const char* kpFmt, va_list argv);
|
||||
|
||||
typedef struct TagLogContext {
|
||||
PWelsLogCallbackFunc pfLog;
|
||||
void* pLogCtx;
|
||||
} SLogContext;
|
||||
|
||||
extern PWelsLogCallbackFunc g_pLog;
|
||||
|
||||
#ifdef __GNUC__
|
||||
extern void WelsLog (void* pPtr, int32_t iLevel, const char* kpFmt, ...) __attribute__ ((__format__ (__printf__, 3,
|
||||
extern void WelsLog (SLogContext* pCtx, int32_t iLevel, const char* kpFmt, ...) __attribute__ ((__format__ (__printf__, 3,
|
||||
4)));
|
||||
#else
|
||||
extern void WelsLog (void* pPtr, int32_t iLevel, const char* kpFmt, ...);
|
||||
extern void WelsLog (SLogContext* pCtx, int32_t iLevel, const char* kpFmt, ...);
|
||||
#endif
|
||||
|
||||
#define BUFFER_STATUS_NAME(a) ((a == 0)?"unvalid":"valid")
|
||||
|
||||
|
||||
/*
|
||||
* Log output routines
|
||||
* PSNR calculation routines
|
||||
*/
|
||||
/*!
|
||||
*************************************************************************************
|
||||
* \brief PSNR calculation utilization in Wels
|
||||
*
|
||||
* \param kpTarPic target picture to be calculated in Picture pData format
|
||||
* \param kiTarStride stride of target picture pData pBuffer
|
||||
* \param kpRefPic base referencing picture samples
|
||||
* \param kiRefStride stride of reference picture pData pBuffer
|
||||
* \param kiWidth picture iWidth in pixel
|
||||
* \param kiHeight picture iHeight in pixel
|
||||
*
|
||||
* \return actual PSNR result;
|
||||
*
|
||||
* \note N/A
|
||||
*************************************************************************************
|
||||
*/
|
||||
float WelsCalcPsnr (const void* kpTarPic,
|
||||
const int32_t kiTarStride,
|
||||
const void* kpRefPic,
|
||||
const int32_t kiRefStride,
|
||||
const int32_t kiWidth,
|
||||
const int32_t kiHeight);
|
||||
|
||||
typedef int32_t WelsLogLevel;
|
||||
enum {
|
||||
WELS_LOG_QUIET = 0x00, // Quiet mode
|
||||
WELS_LOG_ERROR = 1 << 0, // Error log level
|
||||
WELS_LOG_WARNING = 1 << 1, // Warning log level
|
||||
WELS_LOG_INFO = 1 << 2, // Information log level
|
||||
WELS_LOG_DEBUG = 1 << 3, // Debug log level
|
||||
WELS_LOG_RESV = 1 << 4, // Resversed log level
|
||||
WELS_LOG_LEVEL_COUNT = 5,
|
||||
WELS_LOG_DEFAULT = WELS_LOG_ERROR | WELS_LOG_WARNING | WELS_LOG_INFO | WELS_LOG_DEBUG // Default log level in Wels codec
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace WelsDec
|
||||
|
||||
#endif//WELS_UTILS_H__
|
||||
@@ -35,31 +35,29 @@
|
||||
|
||||
#include <stdarg.h>
|
||||
#include "typedefs.h"
|
||||
|
||||
typedef int32_t (*CM_WELS_TRACE) (const char* format, ...);
|
||||
#include "utils.h"
|
||||
#include "codec_app_def.h"
|
||||
#include "codec_api.h"
|
||||
|
||||
class welsCodecTrace {
|
||||
public:
|
||||
welsCodecTrace();
|
||||
~welsCodecTrace();
|
||||
|
||||
static void TraceString (int32_t iLevel, const char* kpStrFormat);
|
||||
static void CODEC_TRACE (void* pIgnore, const int32_t kiLevel, const char* kpStrFormat, va_list vl);
|
||||
|
||||
void SetTraceLevel (const int32_t kiLevel);
|
||||
int32_t WelsTraceModuleIsExist();
|
||||
void SetTraceCallback (WelsTraceCallback func);
|
||||
void SetTraceCallbackContext (void* pCtx);
|
||||
|
||||
private:
|
||||
static void StaticCodecTrace (void* pCtx, const int32_t kiLevel, const char* kpStrFormat, va_list vl);
|
||||
void CodecTrace (const int32_t kiLevel, const char* kpStrFormat, va_list vl);
|
||||
|
||||
int32_t m_WelsTraceExistFlag;
|
||||
|
||||
int32_t m_iTraceLevel;
|
||||
WelsTraceCallback m_fpTrace;
|
||||
void* m_pTraceCtx;
|
||||
public:
|
||||
static int32_t m_iTraceLevel;
|
||||
static CM_WELS_TRACE m_fpDebugTrace;
|
||||
static CM_WELS_TRACE m_fpInfoTrace;
|
||||
static CM_WELS_TRACE m_fpWarnTrace;
|
||||
static CM_WELS_TRACE m_fpErrorTrace;
|
||||
|
||||
SLogContext m_sLogCtx;
|
||||
};
|
||||
|
||||
#endif //WELS_CODEC_TRACE
|
||||
232
codec/common/inc/wels_common_defs.h
Normal file
232
codec/common/inc/wels_common_defs.h
Normal file
@@ -0,0 +1,232 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
//wels_common_defs.h
|
||||
#ifndef WELS_COMMON_DEFS_H__
|
||||
#define WELS_COMMON_DEFS_H__
|
||||
|
||||
#include "typedefs.h"
|
||||
#include "macros.h"
|
||||
|
||||
|
||||
|
||||
namespace WelsCommon {
|
||||
/*common use table*/
|
||||
|
||||
extern const uint8_t g_kuiMbCountScan4Idx[24];
|
||||
extern const uint8_t g_kuiCache30ScanIdx[16];
|
||||
extern const uint8_t g_kuiCache48CountScan4Idx[24];
|
||||
|
||||
extern const ALIGNED_DECLARE (uint16_t, g_kuiDequantCoeff[52][8], 16);
|
||||
extern const uint8_t g_kuiChromaQpTable[52];
|
||||
|
||||
/*
|
||||
* NAL Unit Type (5 Bits)
|
||||
*/
|
||||
enum EWelsNalUnitType {
|
||||
NAL_UNIT_UNSPEC_0 = 0,
|
||||
NAL_UNIT_CODED_SLICE = 1,
|
||||
NAL_UNIT_CODED_SLICE_DPA = 2,
|
||||
NAL_UNIT_CODED_SLICE_DPB = 3,
|
||||
NAL_UNIT_CODED_SLICE_DPC = 4,
|
||||
NAL_UNIT_CODED_SLICE_IDR = 5,
|
||||
NAL_UNIT_SEI = 6,
|
||||
NAL_UNIT_SPS = 7,
|
||||
NAL_UNIT_PPS = 8,
|
||||
NAL_UNIT_AU_DELIMITER = 9,
|
||||
NAL_UNIT_END_OF_SEQ = 10,
|
||||
NAL_UNIT_END_OF_STR = 11,
|
||||
NAL_UNIT_FILLER_DATA = 12,
|
||||
NAL_UNIT_SPS_EXT = 13,
|
||||
NAL_UNIT_PREFIX = 14,
|
||||
NAL_UNIT_SUBSET_SPS = 15,
|
||||
NAL_UNIT_RESV_16 = 16,
|
||||
NAL_UNIT_RESV_17 = 17,
|
||||
NAL_UNIT_RESV_18 = 18,
|
||||
NAL_UNIT_AUX_CODED_SLICE = 19,
|
||||
NAL_UNIT_CODED_SLICE_EXT = 20,
|
||||
NAL_UNIT_RESV_21 = 21,
|
||||
NAL_UNIT_RESV_22 = 22,
|
||||
NAL_UNIT_RESV_23 = 23,
|
||||
NAL_UNIT_UNSPEC_24 = 24,
|
||||
NAL_UNIT_UNSPEC_25 = 25,
|
||||
NAL_UNIT_UNSPEC_26 = 26,
|
||||
NAL_UNIT_UNSPEC_27 = 27,
|
||||
NAL_UNIT_UNSPEC_28 = 28,
|
||||
NAL_UNIT_UNSPEC_29 = 29,
|
||||
NAL_UNIT_UNSPEC_30 = 30,
|
||||
NAL_UNIT_UNSPEC_31 = 31
|
||||
};
|
||||
|
||||
/*
|
||||
* NAL Reference IDC (2 Bits)
|
||||
*/
|
||||
|
||||
enum EWelsNalRefIdc {
|
||||
NRI_PRI_LOWEST = 0,
|
||||
NRI_PRI_LOW = 1,
|
||||
NRI_PRI_HIGH = 2,
|
||||
NRI_PRI_HIGHEST = 3
|
||||
};
|
||||
|
||||
/*
|
||||
* VCL TYPE
|
||||
*/
|
||||
|
||||
enum EVclType {
|
||||
NON_VCL = 0,
|
||||
VCL = 1,
|
||||
NOT_APP = 2
|
||||
};
|
||||
|
||||
/*
|
||||
* vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
|
||||
*/
|
||||
extern const EVclType g_keTypeMap[32][2];
|
||||
|
||||
#define IS_VCL_NAL(t, ext_idx) (g_keTypeMap[t][ext_idx] == VCL)
|
||||
#define IS_PARAM_SETS_NALS(t) ( (t) == NAL_UNIT_SPS || (t) == NAL_UNIT_PPS || (t) == NAL_UNIT_SUBSET_SPS )
|
||||
#define IS_SPS_NAL(t) ( (t) == NAL_UNIT_SPS )
|
||||
#define IS_SUBSET_SPS_NAL(t) ( (t) == NAL_UNIT_SUBSET_SPS )
|
||||
#define IS_PPS_NAL(t) ( (t) == NAL_UNIT_PPS )
|
||||
#define IS_SEI_NAL(t) ( (t) == NAL_UNIT_SEI )
|
||||
#define IS_PREFIX_NAL(t) ( (t) == NAL_UNIT_PREFIX )
|
||||
#define IS_SUBSET_SPS_USED(t) ( (t) == NAL_UNIT_SUBSET_SPS || (t) == NAL_UNIT_CODED_SLICE_EXT )
|
||||
#define IS_VCL_NAL_AVC_BASE(t) ( (t) == NAL_UNIT_CODED_SLICE || (t) == NAL_UNIT_CODED_SLICE_IDR )
|
||||
#define IS_NEW_INTRODUCED_SVC_NAL(t) ( (t) == NAL_UNIT_PREFIX || (t) == NAL_UNIT_CODED_SLICE_EXT )
|
||||
|
||||
|
||||
/* Base SSlice Types
|
||||
* Invalid in case of eSliceType exceeds 9,
|
||||
* Need trim when eSliceType > 4 as fixed SliceType(eSliceType-4),
|
||||
* meaning mapped version after eSliceType minus 4.
|
||||
*/
|
||||
|
||||
enum EWelsSliceType {
|
||||
P_SLICE = 0,
|
||||
B_SLICE = 1,
|
||||
I_SLICE = 2,
|
||||
SP_SLICE = 3,
|
||||
SI_SLICE = 4,
|
||||
UNKNOWN_SLICE = 5
|
||||
};
|
||||
|
||||
/* SSlice Types in scalable extension */ ;
|
||||
enum ESliceTypeExt {
|
||||
EP_SLICE = 0, // EP_SLICE: 0, 5
|
||||
EB_SLICE = 1, // EB_SLICE: 1, 6
|
||||
EI_SLICE = 2 // EI_SLICE: 2, 7
|
||||
};
|
||||
|
||||
/* List Index */
|
||||
enum EListIndex {
|
||||
LIST_0 = 0,
|
||||
LIST_1 = 1,
|
||||
LIST_A = 2
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* Motion Vector components */
|
||||
enum EMvComp {
|
||||
MV_X = 0,
|
||||
MV_Y = 1,
|
||||
MV_A = 2
|
||||
};
|
||||
|
||||
/* Chroma Components */
|
||||
|
||||
enum EChromaComp {
|
||||
CHROMA_CB = 0,
|
||||
CHROMA_CR = 1,
|
||||
CHROMA_A = 2
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Memory Management Control Operation (MMCO) code
|
||||
*/
|
||||
enum EMmcoCode {
|
||||
MMCO_END = 0,
|
||||
MMCO_SHORT2UNUSED = 1,
|
||||
MMCO_LONG2UNUSED = 2,
|
||||
MMCO_SHORT2LONG = 3,
|
||||
MMCO_SET_MAX_LONG = 4,
|
||||
MMCO_RESET = 5,
|
||||
MMCO_LONG = 6
|
||||
};
|
||||
|
||||
/////////intra16x16 Luma
|
||||
#define I16_PRED_INVALID -1
|
||||
#define I16_PRED_V 0
|
||||
#define I16_PRED_H 1
|
||||
#define I16_PRED_DC 2
|
||||
#define I16_PRED_P 3
|
||||
|
||||
#define I16_PRED_DC_L 4
|
||||
#define I16_PRED_DC_T 5
|
||||
#define I16_PRED_DC_128 6
|
||||
#define I16_PRED_DC_A 7
|
||||
//////////intra4x4 Luma
|
||||
#define I4_PRED_INVALID 0
|
||||
#define I4_PRED_V 0
|
||||
#define I4_PRED_H 1
|
||||
#define I4_PRED_DC 2
|
||||
#define I4_PRED_DDL 3 //diagonal_down_left
|
||||
#define I4_PRED_DDR 4 //diagonal_down_right
|
||||
#define I4_PRED_VR 5 //vertical_right
|
||||
#define I4_PRED_HD 6 //horizon_down
|
||||
#define I4_PRED_VL 7 //vertical_left
|
||||
#define I4_PRED_HU 8 //horizon_up
|
||||
|
||||
#define I4_PRED_DC_L 9
|
||||
#define I4_PRED_DC_T 10
|
||||
#define I4_PRED_DC_128 11
|
||||
|
||||
#define I4_PRED_DDL_TOP 12 //right-top replacing by padding rightmost pixel of top
|
||||
#define I4_PRED_VL_TOP 13 //right-top replacing by padding rightmost pixel of top
|
||||
#define I4_PRED_A 14
|
||||
|
||||
//////////intra Chroma
|
||||
#define C_PRED_INVALID -1
|
||||
#define C_PRED_DC 0
|
||||
#define C_PRED_H 1
|
||||
#define C_PRED_V 2
|
||||
#define C_PRED_P 3
|
||||
|
||||
#define C_PRED_DC_L 4
|
||||
#define C_PRED_DC_T 5
|
||||
#define C_PRED_DC_128 6
|
||||
#define C_PRED_A 7
|
||||
}
|
||||
#endif//WELS_COMMON_DEFS_H__
|
||||
@@ -39,7 +39,7 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifdef LINUX
|
||||
#ifdef __linux__
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
@@ -450,7 +450,7 @@ WELS_THREAD_ERROR_CODE WelsQueryLogicalProcessInfo (WelsLogicalProcessInfo* p
|
||||
#ifdef ANDROID_NDK
|
||||
pInfo->ProcessorCount = android_getCpuCount();
|
||||
return WELS_THREAD_ERROR_OK;
|
||||
#elif defined(LINUX)
|
||||
#elif defined(__linux__)
|
||||
|
||||
cpu_set_t cpuset;
|
||||
|
||||
@@ -472,7 +472,7 @@ WELS_THREAD_ERROR_CODE WelsQueryLogicalProcessInfo (WelsLogicalProcessInfo* p
|
||||
|
||||
return WELS_THREAD_ERROR_OK;
|
||||
|
||||
#endif//LINUX
|
||||
#endif//__linux__
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
153
codec/common/src/common_tables.cpp
Normal file
153
codec/common/src/common_tables.cpp
Normal file
@@ -0,0 +1,153 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "wels_common_defs.h"
|
||||
|
||||
namespace WelsCommon {
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//////pNonZeroCount[16+8] mapping scan index
|
||||
const uint8_t g_kuiMbCountScan4Idx[24] = {
|
||||
// 0 1 | 4 5 luma 8*8 block pNonZeroCount[16+8]
|
||||
0, 1, 4, 5, // 2 3 | 6 7 0 | 1 0 1 2 3
|
||||
2, 3, 6, 7, //--------------- --------- 4 5 6 7
|
||||
8, 9, 12, 13, // 8 9 | 12 13 2 | 3 8 9 10 11
|
||||
10, 11, 14, 15, // 10 11 | 14 15-----------------------------> 12 13 14 15
|
||||
16, 17, 20, 21, //---------------- chroma 8*8 block 16 17 18 19
|
||||
18, 19, 22, 23 // 16 17 | 20 21 0 1 20 21 22 23
|
||||
};
|
||||
|
||||
const uint8_t g_kuiCache48CountScan4Idx[24] = {
|
||||
/* Luma */
|
||||
9, 10, 17, 18, // 1+1*8, 2+1*8, 1+2*8, 2+2*8,
|
||||
11, 12, 19, 20, // 3+1*8, 4+1*8, 3+2*8, 4+2*8,
|
||||
25, 26, 33, 34, // 1+3*8, 2+3*8, 1+4*8, 2+4*8,
|
||||
27, 28, 35, 36, // 3+3*8, 4+3*8, 3+4*8, 4+4*8,
|
||||
/* Cb */
|
||||
14, 15, // 6+1*8, 7+1*8,
|
||||
22, 23, // 6+2*8, 7+2*8,
|
||||
|
||||
/* Cr */
|
||||
38, 39, // 6+4*8, 7+4*8,
|
||||
46, 47, // 6+5*8, 7+5*8,
|
||||
};
|
||||
|
||||
|
||||
//cache element equal to 30
|
||||
const uint8_t g_kuiCache30ScanIdx[16] = { //mv or uiRefIndex cache scan index, 4*4 block as basic unit
|
||||
7, 8, 13, 14,
|
||||
9, 10, 15, 16,
|
||||
19, 20, 25, 26,
|
||||
21, 22, 27, 28
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// extern at wels_common_defs.h
|
||||
const uint8_t g_kuiChromaQpTable[52] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
||||
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
|
||||
28, 29, 29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 36, 37, 37,
|
||||
37, 38, 38, 38, 39, 39, 39, 39
|
||||
};
|
||||
|
||||
/*
|
||||
* vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
|
||||
*/
|
||||
const EVclType g_keTypeMap[32][2] = {
|
||||
{ NON_VCL, NON_VCL }, // 0: NAL_UNIT_UNSPEC_0
|
||||
{ VCL, VCL, }, // 1: NAL_UNIT_CODED_SLICE
|
||||
{ VCL, NOT_APP }, // 2: NAL_UNIT_CODED_SLICE_DPA
|
||||
{ VCL, NOT_APP }, // 3: NAL_UNIT_CODED_SLICE_DPB
|
||||
{ VCL, NOT_APP }, // 4: NAL_UNIT_CODED_SLICE_DPC
|
||||
{ VCL, VCL }, // 5: NAL_UNIT_CODED_SLICE_IDR
|
||||
{ NON_VCL, NON_VCL }, // 6: NAL_UNIT_SEI
|
||||
{ NON_VCL, NON_VCL }, // 7: NAL_UNIT_SPS
|
||||
{ NON_VCL, NON_VCL }, // 8: NAL_UNIT_PPS
|
||||
{ NON_VCL, NON_VCL }, // 9: NAL_UNIT_AU_DELIMITER
|
||||
{ NON_VCL, NON_VCL }, // 10: NAL_UNIT_END_OF_SEQ
|
||||
{ NON_VCL, NON_VCL }, // 11: NAL_UNIT_END_OF_STR
|
||||
{ NON_VCL, NON_VCL }, // 12: NAL_UNIT_FILLER_DATA
|
||||
{ NON_VCL, NON_VCL }, // 13: NAL_UNIT_SPS_EXT
|
||||
{ NON_VCL, NON_VCL }, // 14: NAL_UNIT_PREFIX, NEED associate succeeded NAL to make a VCL
|
||||
{ NON_VCL, NON_VCL }, // 15: NAL_UNIT_SUBSET_SPS
|
||||
{ NON_VCL, NON_VCL }, // 16: NAL_UNIT_RESV_16
|
||||
{ NON_VCL, NON_VCL }, // 17: NAL_UNIT_RESV_17
|
||||
{ NON_VCL, NON_VCL }, // 18: NAL_UNIT_RESV_18
|
||||
{ NON_VCL, NON_VCL }, // 19: NAL_UNIT_AUX_CODED_SLICE
|
||||
{ NON_VCL, VCL }, // 20: NAL_UNIT_CODED_SLICE_EXT
|
||||
{ NON_VCL, NON_VCL }, // 21: NAL_UNIT_RESV_21
|
||||
{ NON_VCL, NON_VCL }, // 22: NAL_UNIT_RESV_22
|
||||
{ NON_VCL, NON_VCL }, // 23: NAL_UNIT_RESV_23
|
||||
{ NON_VCL, NON_VCL }, // 24: NAL_UNIT_UNSPEC_24
|
||||
{ NON_VCL, NON_VCL }, // 25: NAL_UNIT_UNSPEC_25
|
||||
{ NON_VCL, NON_VCL }, // 26: NAL_UNIT_UNSPEC_26
|
||||
{ NON_VCL, NON_VCL }, // 27: NAL_UNIT_UNSPEC_27
|
||||
{ NON_VCL, NON_VCL }, // 28: NAL_UNIT_UNSPEC_28
|
||||
{ NON_VCL, NON_VCL }, // 29: NAL_UNIT_UNSPEC_29
|
||||
{ NON_VCL, NON_VCL }, // 30: NAL_UNIT_UNSPEC_30
|
||||
{ NON_VCL, NON_VCL } // 31: NAL_UNIT_UNSPEC_31
|
||||
};
|
||||
|
||||
ALIGNED_DECLARE (const uint16_t, g_kuiDequantCoeff[52][8], 16) = {
|
||||
/* 0*/{ 10, 13, 10, 13, 13, 16, 13, 16 }, /* 1*/{ 11, 14, 11, 14, 14, 18, 14, 18 },
|
||||
/* 2*/{ 13, 16, 13, 16, 16, 20, 16, 20 }, /* 3*/{ 14, 18, 14, 18, 18, 23, 18, 23 },
|
||||
/* 4*/{ 16, 20, 16, 20, 20, 25, 20, 25 }, /* 5*/{ 18, 23, 18, 23, 23, 29, 23, 29 },
|
||||
/* 6*/{ 20, 26, 20, 26, 26, 32, 26, 32 }, /* 7*/{ 22, 28, 22, 28, 28, 36, 28, 36 },
|
||||
/* 8*/{ 26, 32, 26, 32, 32, 40, 32, 40 }, /* 9*/{ 28, 36, 28, 36, 36, 46, 36, 46 },
|
||||
/*10*/{ 32, 40, 32, 40, 40, 50, 40, 50 }, /*11*/{ 36, 46, 36, 46, 46, 58, 46, 58 },
|
||||
/*12*/{ 40, 52, 40, 52, 52, 64, 52, 64 }, /*13*/{ 44, 56, 44, 56, 56, 72, 56, 72 },
|
||||
/*14*/{ 52, 64, 52, 64, 64, 80, 64, 80 }, /*15*/{ 56, 72, 56, 72, 72, 92, 72, 92 },
|
||||
/*16*/{ 64, 80, 64, 80, 80, 100, 80, 100 }, /*17*/{ 72, 92, 72, 92, 92, 116, 92, 116 },
|
||||
/*18*/{ 80, 104, 80, 104, 104, 128, 104, 128 }, /*19*/{ 88, 112, 88, 112, 112, 144, 112, 144 },
|
||||
/*20*/{ 104, 128, 104, 128, 128, 160, 128, 160 }, /*21*/{ 112, 144, 112, 144, 144, 184, 144, 184 },
|
||||
/*22*/{ 128, 160, 128, 160, 160, 200, 160, 200 }, /*23*/{ 144, 184, 144, 184, 184, 232, 184, 232 },
|
||||
/*24*/{ 160, 208, 160, 208, 208, 256, 208, 256 }, /*25*/{ 176, 224, 176, 224, 224, 288, 224, 288 },
|
||||
/*26*/{ 208, 256, 208, 256, 256, 320, 256, 320 }, /*27*/{ 224, 288, 224, 288, 288, 368, 288, 368 },
|
||||
/*28*/{ 256, 320, 256, 320, 320, 400, 320, 400 }, /*29*/{ 288, 368, 288, 368, 368, 464, 368, 464 },
|
||||
/*30*/{ 320, 416, 320, 416, 416, 512, 416, 512 }, /*31*/{ 352, 448, 352, 448, 448, 576, 448, 576 },
|
||||
/*32*/{ 416, 512, 416, 512, 512, 640, 512, 640 }, /*33*/{ 448, 576, 448, 576, 576, 736, 576, 736 },
|
||||
/*34*/{ 512, 640, 512, 640, 640, 800, 640, 800 }, /*35*/{ 576, 736, 576, 736, 736, 928, 736, 928 },
|
||||
/*36*/{ 640, 832, 640, 832, 832, 1024, 832, 1024 }, /*37*/{ 704, 896, 704, 896, 896, 1152, 896, 1152 },
|
||||
/*38*/{ 832, 1024, 832, 1024, 1024, 1280, 1024, 1280 }, /*39*/{ 896, 1152, 896, 1152, 1152, 1472, 1152, 1472 },
|
||||
/*40*/{ 1024, 1280, 1024, 1280, 1280, 1600, 1280, 1600 }, /*41*/{ 1152, 1472, 1152, 1472, 1472, 1856, 1472, 1856 },
|
||||
/*42*/{ 1280, 1664, 1280, 1664, 1664, 2048, 1664, 2048 }, /*43*/{ 1408, 1792, 1408, 1792, 1792, 2304, 1792, 2304 },
|
||||
/*44*/{ 1664, 2048, 1664, 2048, 2048, 2560, 2048, 2560 }, /*45*/{ 1792, 2304, 1792, 2304, 2304, 2944, 2304, 2944 },
|
||||
/*46*/{ 2048, 2560, 2048, 2560, 2560, 3200, 2560, 3200 }, /*47*/{ 2304, 2944, 2304, 2944, 2944, 3712, 2944, 3712 },
|
||||
/*48*/{ 2560, 3328, 2560, 3328, 3328, 4096, 3328, 4096 }, /*49*/{ 2816, 3584, 2816, 3584, 3584, 4608, 3584, 4608 },
|
||||
/*50*/{ 3328, 4096, 3328, 4096, 4096, 5120, 4096, 5120 }, /*51*/{ 3584, 4608, 3584, 4608, 4608, 5888, 4608, 5888 },
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
@@ -258,9 +258,10 @@ uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
int flags = 0;
|
||||
while (fgets (buf, sizeof (buf), f)) {
|
||||
if (!strncmp (buf, "Features", strlen ("Features"))) {
|
||||
if (strstr (buf, " neon "))
|
||||
// The asimd and fp features are listed on 64 bit ARMv8 kernels
|
||||
if (strstr (buf, " neon ") || strstr (buf, " asimd "))
|
||||
flags |= WELS_CPU_NEON;
|
||||
if (strstr (buf, " vfpv3 "))
|
||||
if (strstr (buf, " vfpv3 ") || strstr (buf, " fp "))
|
||||
flags |= WELS_CPU_VFPv3;
|
||||
break;
|
||||
}
|
||||
@@ -280,7 +281,19 @@ uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
WELS_CPU_NEON;
|
||||
}
|
||||
#endif
|
||||
#else /* Neither X86_ASM nor HAVE_NEON */
|
||||
#elif defined(HAVE_NEON_AARCH64)
|
||||
|
||||
/* For AArch64, no runtime detection actually is necessary for now, since
|
||||
* NEON and VFPv3 is mandatory on all such CPUs. (/proc/cpuinfo doesn't
|
||||
* contain neon, and the android cpufeatures library doesn't return it
|
||||
* either.) */
|
||||
|
||||
uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
return WELS_CPU_VFPv3 |
|
||||
WELS_CPU_NEON;
|
||||
}
|
||||
|
||||
#else /* Neither X86_ASM, HAVE_NEON nor HAVE_NEON_AARCH64 */
|
||||
|
||||
uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
||||
return 0;
|
||||
|
||||
@@ -112,7 +112,7 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
|
||||
|
||||
localtime_s (&sTimeNow, &kpTp->time);
|
||||
|
||||
iRc = strftime (pBuffer, iSize, kpFormat, &sTimeNow);
|
||||
iRc = (int32_t)strftime (pBuffer, iSize, kpFormat, &sTimeNow);
|
||||
if (iRc == 0)
|
||||
pBuffer[0] = '\0';
|
||||
return iRc;
|
||||
@@ -234,7 +234,7 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
|
||||
|
||||
pTnow = localtime (&kpTp->time);
|
||||
|
||||
iRc = strftime (pBuffer, iSize, kpFormat, pTnow);
|
||||
iRc = (int32_t) strftime (pBuffer, iSize, kpFormat, pTnow);
|
||||
if (iRc == 0)
|
||||
pBuffer[0] = '\0';
|
||||
return iRc;
|
||||
@@ -244,12 +244,12 @@ int32_t WelsStrftime (char* pBuffer, int32_t iSize, const char* kpFormat, const
|
||||
|
||||
|
||||
char* WelsStrcat (char* pDest, int32_t iSizeInBytes, const char* kpSrc) {
|
||||
int32_t iCurLen = strlen (pDest);
|
||||
int32_t iCurLen = (int32_t)strlen (pDest);
|
||||
return WelsStrncpy (pDest + iCurLen, iSizeInBytes - iCurLen, kpSrc);
|
||||
}
|
||||
|
||||
int32_t WelsFwrite (const void* kpBuffer, int32_t iSize, int32_t iCount, WelsFileHandle* pFp) {
|
||||
return fwrite (kpBuffer, iSize, iCount, pFp);
|
||||
return (int32_t)fwrite (kpBuffer, iSize, iCount, pFp);
|
||||
}
|
||||
|
||||
uint16_t WelsGetMillisecond (const SWelsTime* kpTp) {
|
||||
|
||||
@@ -32,9 +32,7 @@
|
||||
#include <string.h>
|
||||
#include "expand_pic.h"
|
||||
#include "cpu_core.h"
|
||||
#include "wels_func_ptr_def.h"
|
||||
|
||||
namespace WelsSVCEnc {
|
||||
// rewrite it (split into luma & chroma) that is helpful for mmx/sse2 optimization perform, 9/27/2009
|
||||
static inline void ExpandPictureLuma_c (uint8_t* pDst, const int32_t kiStride, const int32_t kiPicW,
|
||||
const int32_t kiPicH) {
|
||||
@@ -116,60 +114,61 @@ static inline void ExpandPictureChroma_c (uint8_t* pDst, const int32_t kiStride,
|
||||
} while (i < kiPicH);
|
||||
}
|
||||
|
||||
void InitExpandPictureFunc (void* pL, const uint32_t kuiCPUFlag) {
|
||||
SWelsFuncPtrList* pFuncList = (SWelsFuncPtrList*)pL;
|
||||
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_c;
|
||||
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChroma_c;
|
||||
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChroma_c;
|
||||
void InitExpandPictureFunc (SExpandPicFunc* pExpandPicFunc, const uint32_t kuiCPUFlag) {
|
||||
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_c;
|
||||
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_c;
|
||||
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_c;
|
||||
|
||||
#if defined(X86_ASM)
|
||||
if ((kuiCPUFlag & WELS_CPU_SSE2) == WELS_CPU_SSE2) {
|
||||
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_sse2;
|
||||
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChromaUnalign_sse2;
|
||||
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChromaAlign_sse2;
|
||||
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_sse2;
|
||||
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChromaUnalign_sse2;
|
||||
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChromaAlign_sse2;
|
||||
}
|
||||
#endif//X86_ASM
|
||||
#if defined(HAVE_NEON)
|
||||
if (kuiCPUFlag & WELS_CPU_NEON) {
|
||||
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_neon;
|
||||
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChroma_neon;
|
||||
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChroma_neon;
|
||||
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_neon;
|
||||
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_neon;
|
||||
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_neon;
|
||||
}
|
||||
#endif//HAVE_NEON
|
||||
#if defined(HAVE_NEON_AARCH64)
|
||||
if (kuiCPUFlag & WELS_CPU_NEON) {
|
||||
pFuncList->pfExpandLumaPicture = ExpandPictureLuma_AArch64_neon;
|
||||
pFuncList->pfExpandChromaPicture[0] = ExpandPictureChroma_AArch64_neon;
|
||||
pFuncList->pfExpandChromaPicture[1] = ExpandPictureChroma_AArch64_neon;
|
||||
pExpandPicFunc->pfExpandLumaPicture = ExpandPictureLuma_AArch64_neon;
|
||||
pExpandPicFunc->pfExpandChromaPicture[0] = ExpandPictureChroma_AArch64_neon;
|
||||
pExpandPicFunc->pfExpandChromaPicture[1] = ExpandPictureChroma_AArch64_neon;
|
||||
}
|
||||
#endif//HAVE_NEON_AARCH64
|
||||
}
|
||||
|
||||
|
||||
void ExpandReferencingPicture (SPicture* pPic, PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]) {
|
||||
//void ExpandReferencingPicture (SPicture* pPic, PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]) {
|
||||
void ExpandReferencingPicture (uint8_t* pData[3], int32_t iWidth, int32_t iHeight, int32_t iStride[3],
|
||||
PExpandPictureFunc pExpLuma, PExpandPictureFunc pExpChrom[2]) {
|
||||
/*local variable*/
|
||||
uint8_t* pPicY = pPic->pData[0];
|
||||
uint8_t* pPicCb = pPic->pData[1];
|
||||
uint8_t* pPicCr = pPic->pData[2];
|
||||
const int32_t kiWidthY = pPic->iWidthInPixel;
|
||||
const int32_t kiHeightY = pPic->iHeightInPixel;
|
||||
uint8_t* pPicY = pData[0];
|
||||
uint8_t* pPicCb = pData[1];
|
||||
uint8_t* pPicCr = pData[2];
|
||||
const int32_t kiWidthY = iWidth;
|
||||
const int32_t kiHeightY = iHeight;
|
||||
const int32_t kiWidthUV = kiWidthY >> 1;
|
||||
const int32_t kiHeightUV = kiHeightY >> 1;
|
||||
|
||||
|
||||
|
||||
pExpLuma (pPicY, pPic->iLineSize[0], kiWidthY, kiHeightY);
|
||||
pExpLuma (pPicY, iStride[0], kiWidthY, kiHeightY);
|
||||
if (kiWidthUV >= 16) {
|
||||
// fix coding picture size as 16x16
|
||||
const bool kbChrAligned = /*(iWidthUV >= 16) && */ ((kiWidthUV & 0x0F) == 0); // chroma planes: (16+iWidthUV) & 15
|
||||
pExpChrom[kbChrAligned] (pPicCb, pPic->iLineSize[1], kiWidthUV, kiHeightUV);
|
||||
pExpChrom[kbChrAligned] (pPicCr, pPic->iLineSize[2], kiWidthUV, kiHeightUV);
|
||||
pExpChrom[kbChrAligned] (pPicCb, iStride[1], kiWidthUV, kiHeightUV);
|
||||
pExpChrom[kbChrAligned] (pPicCr, iStride[2], kiWidthUV, kiHeightUV);
|
||||
} else {
|
||||
// fix coding picture size as 16x16
|
||||
ExpandPictureChroma_c (pPicCb, pPic->iLineSize[1], kiWidthUV, kiHeightUV);
|
||||
ExpandPictureChroma_c (pPicCr, pPic->iLineSize[2], kiWidthUV, kiHeightUV);
|
||||
ExpandPictureChroma_c (pPicCb, iStride[1], kiWidthUV, kiHeightUV);
|
||||
ExpandPictureChroma_c (pPicCr, iStride[2], kiWidthUV, kiHeightUV);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
107
codec/common/src/utils.cpp
Normal file
107
codec/common/src/utils.cpp
Normal file
@@ -0,0 +1,107 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2009-2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
* \file utils.c
|
||||
*
|
||||
* \brief common tool/function utilization
|
||||
*
|
||||
* \date 03/10/2009 Created
|
||||
*
|
||||
*************************************************************************************
|
||||
*/
|
||||
#include "utils.h"
|
||||
#include "crt_util_safe_x.h" // Safe CRT routines like utils for cross platforms
|
||||
|
||||
float WelsCalcPsnr (const void* kpTarPic,
|
||||
const int32_t kiTarStride,
|
||||
const void* kpRefPic,
|
||||
const int32_t kiRefStride,
|
||||
const int32_t kiWidth,
|
||||
const int32_t kiHeight);
|
||||
|
||||
|
||||
void WelsLog (SLogContext* logCtx, int32_t iLevel, const char* kpFmt, ...) {
|
||||
va_list vl;
|
||||
va_start (vl, kpFmt);
|
||||
logCtx->pfLog (logCtx->pLogCtx, iLevel, kpFmt, vl);
|
||||
va_end (vl);
|
||||
}
|
||||
|
||||
#ifndef CALC_PSNR
|
||||
#define CONST_FACTOR_PSNR (10.0 / log(10.0)) // for good computation
|
||||
#define CALC_PSNR(w, h, s) ((float)(CONST_FACTOR_PSNR * log( 65025.0 * w * h / iSqe )))
|
||||
#endif//CALC_PSNR
|
||||
|
||||
/*
|
||||
* PSNR calculation routines
|
||||
*/
|
||||
/*!
|
||||
*************************************************************************************
|
||||
* \brief PSNR calculation utilization in Wels
|
||||
*
|
||||
* \param pTarPic target picture to be calculated in Picture pData format
|
||||
* \param iTarStride stride of target picture pData pBuffer
|
||||
* \param pRefPic base referencing picture samples
|
||||
* \param iRefStride stride of reference picture pData pBuffer
|
||||
* \param iWidth picture iWidth in pixel
|
||||
* \param iHeight picture iHeight in pixel
|
||||
*
|
||||
* \return actual PSNR result;
|
||||
*
|
||||
* \note N/A
|
||||
*************************************************************************************
|
||||
*/
|
||||
float WelsCalcPsnr (const void* kpTarPic,
|
||||
const int32_t kiTarStride,
|
||||
const void* kpRefPic,
|
||||
const int32_t kiRefStride,
|
||||
const int32_t kiWidth,
|
||||
const int32_t kiHeight) {
|
||||
int64_t iSqe = 0;
|
||||
int32_t x, y;
|
||||
uint8_t* pTar = (uint8_t*)kpTarPic;
|
||||
uint8_t* pRef = (uint8_t*)kpRefPic;
|
||||
|
||||
if (NULL == pTar || NULL == pRef)
|
||||
return (-1.0f);
|
||||
|
||||
for (y = 0; y < kiHeight; ++ y) { // OPTable !!
|
||||
for (x = 0; x < kiWidth; ++ x) {
|
||||
const int32_t kiT = pTar[y * kiTarStride + x] - pRef[y * kiRefStride + x];
|
||||
iSqe += kiT * kiT;
|
||||
}
|
||||
}
|
||||
if (0 == iSqe) {
|
||||
return (99.99f);
|
||||
}
|
||||
return CALC_PSNR (kiWidth, kiHeight, iSqe);
|
||||
}
|
||||
|
||||
@@ -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,19 +30,68 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include "typedefs.h"
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
static int32_t g_TraceLevel = 0;
|
||||
#include "crt_util_safe_x.h" // Safe CRT routines like utils for cross platforms
|
||||
|
||||
void WelsStderrSetTraceLevel (int32_t level) {
|
||||
g_TraceLevel = level;
|
||||
#include "welsCodecTrace.h"
|
||||
#include "utils.h"
|
||||
|
||||
|
||||
|
||||
static void welsStderrTrace (void* ctx, int level, const char* string) {
|
||||
fprintf (stderr, "%s", string);
|
||||
}
|
||||
|
||||
int32_t welsStderrLevelTrace (int32_t level, const char* format, va_list ap) {
|
||||
if (level < g_TraceLevel) {
|
||||
vfprintf (stderr, format, ap);
|
||||
welsCodecTrace::welsCodecTrace() {
|
||||
|
||||
m_iTraceLevel = WELS_LOG_DEFAULT;
|
||||
m_fpTrace = welsStderrTrace;
|
||||
m_pTraceCtx = NULL;
|
||||
|
||||
m_sLogCtx.pLogCtx = this;
|
||||
m_sLogCtx.pfLog = StaticCodecTrace;
|
||||
}
|
||||
|
||||
welsCodecTrace::~welsCodecTrace() {
|
||||
m_fpTrace = NULL;
|
||||
}
|
||||
|
||||
#define MAX_LOG_SIZE 1024
|
||||
|
||||
void welsCodecTrace::StaticCodecTrace (void* pCtx, const int32_t iLevel, const char* Str_Format, va_list vl) {
|
||||
welsCodecTrace* self = (welsCodecTrace*) pCtx;
|
||||
self->CodecTrace (iLevel, Str_Format, vl);
|
||||
}
|
||||
|
||||
void welsCodecTrace::CodecTrace (const int32_t iLevel, const char* Str_Format, va_list vl) {
|
||||
if (m_iTraceLevel < iLevel) {
|
||||
return;
|
||||
}
|
||||
return 0;
|
||||
|
||||
char pBuf[MAX_LOG_SIZE] = {0};
|
||||
WelsVsnprintf (pBuf, MAX_LOG_SIZE, Str_Format, vl); // confirmed_safe_unsafe_usage
|
||||
|
||||
m_fpTrace (m_pTraceCtx, iLevel, pBuf);
|
||||
}
|
||||
|
||||
void welsCodecTrace::SetTraceLevel (const int32_t iLevel) {
|
||||
if (iLevel >= 0)
|
||||
m_iTraceLevel = iLevel;
|
||||
}
|
||||
|
||||
void welsCodecTrace::SetTraceCallback (WelsTraceCallback func) {
|
||||
m_fpTrace = func;
|
||||
}
|
||||
|
||||
void welsCodecTrace::SetTraceCallbackContext (void* ctx) {
|
||||
m_pTraceCtx = ctx;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
COMMON_SRCDIR=codec/common
|
||||
COMMON_CPP_SRCS=\
|
||||
$(COMMON_SRCDIR)/src/common_tables.cpp\
|
||||
$(COMMON_SRCDIR)/src/copy_mb.cpp\
|
||||
$(COMMON_SRCDIR)/src/cpu.cpp\
|
||||
$(COMMON_SRCDIR)/src/crt_util_safe_x.cpp\
|
||||
$(COMMON_SRCDIR)/src/deblocking_common.cpp\
|
||||
$(COMMON_SRCDIR)/src/logging.cpp\
|
||||
$(COMMON_SRCDIR)/src/expand_pic.cpp\
|
||||
$(COMMON_SRCDIR)/src/sad_common.cpp\
|
||||
$(COMMON_SRCDIR)/src/utils.cpp\
|
||||
$(COMMON_SRCDIR)/src/welsCodecTrace.cpp\
|
||||
$(COMMON_SRCDIR)/src/WelsThreadLib.cpp\
|
||||
|
||||
COMMON_OBJS += $(COMMON_CPP_SRCS:.cpp=.$(OBJ))
|
||||
@@ -36,6 +39,8 @@ endif
|
||||
|
||||
ifeq ($(ASM_ARCH), arm64)
|
||||
COMMON_ASM_ARM64_SRCS=\
|
||||
$(COMMON_SRCDIR)/arm64/copy_mb_aarch64_neon.S\
|
||||
$(COMMON_SRCDIR)/arm64/deblocking_aarch64_neon.S\
|
||||
$(COMMON_SRCDIR)/arm64/expand_picture_aarch64_neon.S\
|
||||
$(COMMON_SRCDIR)/arm64/mc_aarch64_neon.S\
|
||||
|
||||
@@ -50,7 +55,7 @@ $(COMMON_SRCDIR)/%.$(OBJ): $(COMMON_SRCDIR)/%.asm
|
||||
$(QUIET_ASM)$(ASM) $(ASMFLAGS) $(ASM_INCLUDES) $(COMMON_ASMFLAGS) $(COMMON_ASM_INCLUDES) -o $@ $<
|
||||
|
||||
$(COMMON_SRCDIR)/%.$(OBJ): $(COMMON_SRCDIR)/%.S
|
||||
$(QUIET_CCAS)$(CCAS) $(CFLAGS) $(ASMFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c -o $@ $<
|
||||
$(QUIET_CCAS)$(CCAS) $(CCASFLAGS) $(ASMFLAGS) $(INCLUDES) $(COMMON_CFLAGS) $(COMMON_INCLUDES) -c -o $@ $<
|
||||
|
||||
$(LIBPREFIX)common.$(LIBSUFFIX): $(COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
|
||||
@@ -44,15 +44,15 @@
|
||||
;***********************************************************************
|
||||
|
||||
%if 1
|
||||
%define MOVDQ movdqa
|
||||
%define MOVDQ movdqa
|
||||
%else
|
||||
%define MOVDQ movdqu
|
||||
%define MOVDQ movdqu
|
||||
%endif
|
||||
|
||||
%if 1
|
||||
%define WELSEMMS emms
|
||||
%define WELSEMMS emms
|
||||
%else
|
||||
%define WELSEMMS
|
||||
%define WELSEMMS
|
||||
%endif
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@ BITS 32
|
||||
|
||||
%macro LOAD_1_PARA 0
|
||||
%ifdef X86_32
|
||||
mov r0, [esp + push_num*4 + 4]
|
||||
mov r0, [esp + push_num*4 + 4]
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -234,8 +234,8 @@ BITS 32
|
||||
%macro LOAD_3_PARA 0
|
||||
%ifdef X86_32
|
||||
mov r0, [esp + push_num*4 + 4]
|
||||
mov r1, [esp + push_num*4 + 8]
|
||||
mov r2, [esp + push_num*4 + 12]
|
||||
mov r1, [esp + push_num*4 + 8]
|
||||
mov r2, [esp + push_num*4 + 12]
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -267,7 +267,7 @@ BITS 32
|
||||
|
||||
%macro LOAD_6_PARA 0
|
||||
%ifdef X86_32
|
||||
push r3
|
||||
push r3
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num push_num+3
|
||||
@@ -310,22 +310,22 @@ BITS 32
|
||||
|
||||
%macro LOAD_4_PARA_POP 0
|
||||
%ifdef X86_32
|
||||
pop r3
|
||||
pop r3
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro LOAD_5_PARA_POP 0
|
||||
%ifdef X86_32
|
||||
pop r4
|
||||
pop r3
|
||||
pop r3
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro LOAD_6_PARA_POP 0
|
||||
%ifdef X86_32
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
pop r4
|
||||
pop r3
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -416,13 +416,13 @@ BITS 32
|
||||
|
||||
%macro SIGN_EXTENSION 2
|
||||
%ifndef X86_32
|
||||
movsxd %1, %2
|
||||
movsxd %1, %2
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro SIGN_EXTENSIONW 2
|
||||
%ifndef X86_32
|
||||
movsx %1, %2
|
||||
movsx %1, %2
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
@@ -438,13 +438,13 @@ BITS 32
|
||||
%endmacro
|
||||
|
||||
%macro WELS_AbsW 2
|
||||
pxor %2, %2
|
||||
pxor %2, %2
|
||||
psubw %2, %1
|
||||
pmaxsw %1, %2
|
||||
%endmacro
|
||||
|
||||
%macro MMX_XSwap 4
|
||||
movq %4, %2
|
||||
movq %4, %2
|
||||
punpckh%1 %4, %3
|
||||
punpckl%1 %2, %3
|
||||
%endmacro
|
||||
@@ -485,35 +485,35 @@ BITS 32
|
||||
;in: m1, m2, m3, m4, m5, m6, m7, m8
|
||||
;pOut: m5, m3, m4, m8, m6, m2, m7, m1
|
||||
%macro SSE2_TransTwo8x8B 9
|
||||
movdqa %9, %8
|
||||
SSE2_XSawp bw, %1, %2, %8
|
||||
SSE2_XSawp bw, %3, %4, %2
|
||||
SSE2_XSawp bw, %5, %6, %4
|
||||
movdqa %6, %9
|
||||
movdqa %9, %4
|
||||
SSE2_XSawp bw, %7, %6, %4
|
||||
movdqa %9, %8
|
||||
SSE2_XSawp bw, %1, %2, %8
|
||||
SSE2_XSawp bw, %3, %4, %2
|
||||
SSE2_XSawp bw, %5, %6, %4
|
||||
movdqa %6, %9
|
||||
movdqa %9, %4
|
||||
SSE2_XSawp bw, %7, %6, %4
|
||||
|
||||
SSE2_XSawp wd, %1, %3, %6
|
||||
SSE2_XSawp wd, %8, %2, %3
|
||||
SSE2_XSawp wd, %5, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %3
|
||||
SSE2_XSawp wd, %7, %4, %3
|
||||
SSE2_XSawp wd, %1, %3, %6
|
||||
SSE2_XSawp wd, %8, %2, %3
|
||||
SSE2_XSawp wd, %5, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %3
|
||||
SSE2_XSawp wd, %7, %4, %3
|
||||
|
||||
SSE2_XSawp dq, %1, %5, %4
|
||||
SSE2_XSawp dq, %6, %2, %5
|
||||
SSE2_XSawp dq, %8, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %5
|
||||
SSE2_XSawp dq, %7, %3, %5
|
||||
SSE2_XSawp dq, %1, %5, %4
|
||||
SSE2_XSawp dq, %6, %2, %5
|
||||
SSE2_XSawp dq, %8, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %5
|
||||
SSE2_XSawp dq, %7, %3, %5
|
||||
|
||||
SSE2_XSawp qdq, %1, %8, %3
|
||||
SSE2_XSawp qdq, %4, %2, %8
|
||||
SSE2_XSawp qdq, %6, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %1
|
||||
SSE2_XSawp qdq, %7, %5, %1
|
||||
movdqa %5, %9
|
||||
SSE2_XSawp qdq, %1, %8, %3
|
||||
SSE2_XSawp qdq, %4, %2, %8
|
||||
SSE2_XSawp qdq, %6, %7, %2
|
||||
movdqa %7, %9
|
||||
movdqa %9, %1
|
||||
SSE2_XSawp qdq, %7, %5, %1
|
||||
movdqa %5, %9
|
||||
%endmacro
|
||||
|
||||
;xmm0, xmm6, xmm7, [eax], [ecx]
|
||||
@@ -528,32 +528,32 @@ BITS 32
|
||||
|
||||
; m2 = m1 + m2, m1 = m1 - m2
|
||||
%macro SSE2_SumSub 3
|
||||
movdqa %3, %2
|
||||
movdqa %3, %2
|
||||
paddw %2, %1
|
||||
psubw %1, %3
|
||||
%endmacro
|
||||
|
||||
|
||||
%macro butterfly_1to16_sse 3 ; xmm? for dst, xmm? for tmp, one byte for pSrc [generic register name: a/b/c/d]
|
||||
mov %3h, %3l
|
||||
movd %1, e%3x ; i.e, 1% = eax (=b0)
|
||||
pshuflw %2, %1, 00h ; ..., b0 b0 b0 b0 b0 b0 b0 b0
|
||||
pshufd %1, %2, 00h ; b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0
|
||||
%macro butterfly_1to16_sse 3 ; xmm? for dst, xmm? for tmp, one byte for pSrc [generic register name: a/b/c/d]
|
||||
mov %3h, %3l
|
||||
movd %1, e%3x ; i.e, 1% = eax (=b0)
|
||||
pshuflw %2, %1, 00h ; ..., b0 b0 b0 b0 b0 b0 b0 b0
|
||||
pshufd %1, %2, 00h ; b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0, b0 b0 b0 b0
|
||||
%endmacro
|
||||
|
||||
;copy a dw into a xmm for 8 times
|
||||
%macro SSE2_Copy8Times 2
|
||||
movd %1, %2
|
||||
punpcklwd %1, %1
|
||||
pshufd %1, %1, 0
|
||||
%macro SSE2_Copy8Times 2
|
||||
movd %1, %2
|
||||
punpcklwd %1, %1
|
||||
pshufd %1, %1, 0
|
||||
%endmacro
|
||||
|
||||
;copy a db into a xmm for 16 times
|
||||
%macro SSE2_Copy16Times 2
|
||||
movd %1, %2
|
||||
pshuflw %1, %1, 0
|
||||
punpcklqdq %1, %1
|
||||
packuswb %1, %1
|
||||
%macro SSE2_Copy16Times 2
|
||||
movd %1, %2
|
||||
pshuflw %1, %1, 0
|
||||
punpcklqdq %1, %1
|
||||
packuswb %1, %1
|
||||
%endmacro
|
||||
|
||||
|
||||
@@ -564,35 +564,35 @@ BITS 32
|
||||
;dw 32,32,32,32,32,32,32,32 for xmm
|
||||
;dw 32,32,32,32 for mm
|
||||
%macro WELS_DW32 1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
psllw %1,5
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
psllw %1,5
|
||||
%endmacro
|
||||
|
||||
;dw 1, 1, 1, 1, 1, 1, 1, 1 for xmm
|
||||
;dw 1, 1, 1, 1 for mm
|
||||
%macro WELS_DW1 1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
%endmacro
|
||||
|
||||
;all 0 for xmm and mm
|
||||
%macro WELS_Zero 1
|
||||
pxor %1, %1
|
||||
%macro WELS_Zero 1
|
||||
pxor %1, %1
|
||||
%endmacro
|
||||
|
||||
;dd 1, 1, 1, 1 for xmm
|
||||
;dd 1, 1 for mm
|
||||
%macro WELS_DD1 1
|
||||
pcmpeqw %1,%1
|
||||
psrld %1,31
|
||||
pcmpeqw %1,%1
|
||||
psrld %1,31
|
||||
%endmacro
|
||||
|
||||
;dB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
%macro WELS_DB1 1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
packuswb %1,%1
|
||||
pcmpeqw %1,%1
|
||||
psrlw %1,15
|
||||
packuswb %1,%1
|
||||
%endmacro
|
||||
|
||||
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
;* POSSIBILITY OF SUCH DAMAGE.
|
||||
;*
|
||||
;*
|
||||
;* cpu_mmx.asm
|
||||
;* cpu_mmx.asm
|
||||
;*
|
||||
;* Abstract
|
||||
;* verify cpuid feature support and cpuid detection
|
||||
;* verify cpuid feature support and cpuid detection
|
||||
;*
|
||||
;* History
|
||||
;* 04/29/2009 Created
|
||||
;* 04/29/2009 Created
|
||||
;*
|
||||
;*************************************************************************/
|
||||
|
||||
@@ -81,7 +81,7 @@ WELS_EXTERN WelsCPUId
|
||||
push rdx
|
||||
|
||||
mov eax, ecx
|
||||
mov rcx, [r9]
|
||||
mov ecx, [r9]
|
||||
cpuid
|
||||
mov [r9], ecx
|
||||
mov [r8], ebx
|
||||
@@ -100,7 +100,7 @@ WELS_EXTERN WelsCPUId
|
||||
push rdx
|
||||
|
||||
mov eax, edi
|
||||
mov rcx, [rcx]
|
||||
mov ecx, [rcx]
|
||||
cpuid
|
||||
mov [r8], edx
|
||||
pop rdx
|
||||
@@ -115,13 +115,13 @@ WELS_EXTERN WelsCPUId
|
||||
%elifdef X86_32
|
||||
|
||||
WELS_EXTERN WelsCPUId
|
||||
push ebx
|
||||
push edi
|
||||
push ebx
|
||||
push edi
|
||||
|
||||
mov eax, [esp+12] ; operating index
|
||||
mov eax, [esp+12] ; operating index
|
||||
mov edi, [esp+24]
|
||||
mov ecx, [edi]
|
||||
cpuid ; cpuid
|
||||
cpuid ; cpuid
|
||||
|
||||
; processing various information return
|
||||
mov edi, [esp+16]
|
||||
@@ -133,7 +133,7 @@ WELS_EXTERN WelsCPUId
|
||||
mov edi, [esp+28]
|
||||
mov [edi], edx
|
||||
|
||||
pop edi
|
||||
pop edi
|
||||
pop ebx
|
||||
ret
|
||||
|
||||
@@ -145,68 +145,68 @@ WELS_EXTERN WelsCPUId
|
||||
;****************************************************************************************************
|
||||
WELS_EXTERN WelsCPUSupportAVX
|
||||
%ifdef WIN64
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
%elifdef UNIX64
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
%else
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
%endif
|
||||
|
||||
; refer to detection of AVX addressed in INTEL AVX manual document
|
||||
and ecx, 018000000H
|
||||
cmp ecx, 018000000H ; check both OSXSAVE and AVX feature flags
|
||||
jne avx_not_supported
|
||||
; processor supports AVX instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne avx_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
; refer to detection of AVX addressed in INTEL AVX manual document
|
||||
and ecx, 018000000H
|
||||
cmp ecx, 018000000H ; check both OSXSAVE and AVX feature flags
|
||||
jne avx_not_supported
|
||||
; processor supports AVX instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne avx_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
avx_not_supported:
|
||||
mov eax, 0
|
||||
ret
|
||||
mov eax, 0
|
||||
ret
|
||||
|
||||
|
||||
; need call after cpuid=1 and eax, ecx flag got then
|
||||
;****************************************************************************************************
|
||||
; int32_t WelsCPUSupportFMA( uint32_t eax, uint32_t ecx )
|
||||
;****************************************************************************************************
|
||||
WELS_EXTERN WelsCPUSupportFMA
|
||||
WELS_EXTERN WelsCPUSupportFMA
|
||||
%ifdef WIN64
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
mov eax, ecx
|
||||
mov ecx, edx
|
||||
%elifdef UNIX64
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
mov eax, edi
|
||||
mov ecx, esi
|
||||
%else
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
mov eax, [esp+4]
|
||||
mov ecx, [esp+8]
|
||||
%endif
|
||||
; refer to detection of FMA addressed in INTEL AVX manual document
|
||||
and ecx, 018001000H
|
||||
cmp ecx, 018001000H ; check OSXSAVE, AVX, FMA feature flags
|
||||
jne fma_not_supported
|
||||
; processor supports AVX,FMA instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne fma_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
; refer to detection of FMA addressed in INTEL AVX manual document
|
||||
and ecx, 018001000H
|
||||
cmp ecx, 018001000H ; check OSXSAVE, AVX, FMA feature flags
|
||||
jne fma_not_supported
|
||||
; processor supports AVX,FMA instructions and XGETBV is enabled by OS
|
||||
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
||||
XGETBV ; result in EDX:EAX
|
||||
and eax, 06H
|
||||
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
||||
jne fma_not_supported
|
||||
mov eax, 1
|
||||
ret
|
||||
fma_not_supported:
|
||||
mov eax, 0
|
||||
ret
|
||||
mov eax, 0
|
||||
ret
|
||||
|
||||
;******************************************************************************************
|
||||
; void WelsEmms()
|
||||
;******************************************************************************************
|
||||
WELS_EXTERN WelsEmms
|
||||
emms ; empty mmx technology states
|
||||
ret
|
||||
emms ; empty mmx technology states
|
||||
ret
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -77,280 +77,280 @@ SECTION .text
|
||||
;cccc|ceeeeeeeeeeeeeeeed|dddd
|
||||
;cccc|ceeeeeeeeeeeeeeeed|dddd
|
||||
|
||||
%macro mov_line_8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
%macro mov_line_8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_end8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+%2]
|
||||
%macro mov_line_end8x4_mmx 3 ; dst, stride, mm?
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+2*%2]
|
||||
movq [%1], %3
|
||||
movq [%1+%2], %3
|
||||
lea %1, [%1+%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%macro mov_line_16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_end16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%macro mov_line_end16x4_sse2 4 ; dst, stride, xmm?, u/a
|
||||
movdq%4 [%1], %3 ; top(bottom)_0
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdq%4 [%1], %3 ; top(bottom)_2
|
||||
movdq%4 [%1+%2], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%macro mov_line_32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+2*%2]
|
||||
%endmacro
|
||||
|
||||
%macro mov_line_end32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%macro mov_line_end32x4_sse2 3 ; dst, stride, xmm?
|
||||
movdqa [%1], %3 ; top(bottom)_0
|
||||
movdqa [%1+16], %3 ; top(bottom)_0
|
||||
movdqa [%1+%2], %3 ; top(bottom)_1
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_1
|
||||
lea %1, [%1+2*%2]
|
||||
movdqa [%1], %3 ; top(bottom)_2
|
||||
movdqa [%1+16], %3 ; top(bottom)_2
|
||||
movdqa [%1+%2], %3 ; top(bottom)_3
|
||||
movdqa [%1+%2+16], %3 ; top(bottom)_3
|
||||
lea %1, [%1+%2]
|
||||
%endmacro
|
||||
|
||||
%macro exp_top_bottom_sse2 1 ; iPaddingSize [luma(32)/chroma(16)]
|
||||
%macro exp_top_bottom_sse2 1 ; iPaddingSize [luma(32)/chroma(16)]
|
||||
;r2 [width/16(8)]
|
||||
;r0 [pSrc +0], r5 [pSrc -width] r1[-stride], 32(16) ;top
|
||||
;r3 [pSrc +(h-1)*stride], r4 [pSrc + (h+31)*stride],32(16); bottom
|
||||
|
||||
%if %1 == 32 ; for luma
|
||||
sar r2, 04h ; width / 16(8) pixels
|
||||
%if %1 == 32 ; for luma
|
||||
sar r2, 04h ; width / 16(8) pixels
|
||||
.top_bottom_loops:
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
mov r6, r2
|
||||
sar r2, 04h ; (width / 16) pixels
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
mov r6, r2
|
||||
sar r2, 04h ; (width / 16) pixels
|
||||
.top_bottom_loops:
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
; top
|
||||
movdqa xmm0, [r0] ; first line of picture pData
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_16x4_sse2 r5, r1, xmm0, a
|
||||
mov_line_end16x4_sse2 r5, r1, xmm0, a
|
||||
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
; bottom
|
||||
movdqa xmm1, [r3] ; last line of picture pData
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_16x4_sse2 r4, r1, xmm1, a
|
||||
mov_line_end16x4_sse2 r4, r1, xmm1, a
|
||||
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
lea r0, [r0+16] ; top pSrc
|
||||
lea r5, [r5+16] ; top dst
|
||||
lea r3, [r3+16] ; bottom pSrc
|
||||
lea r4, [r4+16] ; bottom dst
|
||||
neg r1 ; positive/negative stride need for next loop?
|
||||
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
dec r2
|
||||
jnz near .top_bottom_loops
|
||||
|
||||
; for remaining 8 bytes
|
||||
and r6, 0fh ; any 8 bytes left?
|
||||
test r6, r6
|
||||
jz near .to_be_continued ; no left to exit here
|
||||
; for remaining 8 bytes
|
||||
and r6, 0fh ; any 8 bytes left?
|
||||
test r6, r6
|
||||
jz near .to_be_continued ; no left to exit here
|
||||
|
||||
; top
|
||||
movq mm0, [r0] ; remained 8 byte
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
; bottom
|
||||
movq mm1, [r3]
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
WELSEMMS
|
||||
; top
|
||||
movq mm0, [r0] ; remained 8 byte
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r5, r1, mm0 ; dst, stride, mm?
|
||||
; bottom
|
||||
movq mm1, [r3]
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
mov_line_end8x4_mmx r4, r1, mm1 ; dst, stride, mm?
|
||||
WELSEMMS
|
||||
|
||||
.to_be_continued:
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro exp_left_right_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
%macro exp_left_right_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
;r6 [height]
|
||||
;r0 [pSrc+0] r5[pSrc-32] r1[stride]
|
||||
;r3 [pSrc+(w-1)] r4[pSrc+w]
|
||||
|
||||
%if %1 == 32 ; for luma
|
||||
%if %1 == 32 ; for luma
|
||||
.left_right_loops:
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
movdqa [r5+16], xmm0
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
movdqa [r5+16], xmm0
|
||||
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r4], xmm1
|
||||
movdqa [r4+16], xmm1
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r4], xmm1
|
||||
movdqa [r4+16], xmm1
|
||||
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
%elif %1 == 16 ; for chroma ??
|
||||
.left_right_loops:
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
; left
|
||||
movzx r2d, byte [r0] ; pixel pData for left border
|
||||
SSE2_Copy16Times xmm0, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdqa [r5], xmm0
|
||||
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdq%2 [r4], xmm1 ; might not be aligned 16 bytes in case chroma planes
|
||||
; right
|
||||
movzx r2d, byte [r3]
|
||||
SSE2_Copy16Times xmm1, r2d ; dst, tmp, pSrc [generic register name: a/b/c/d]
|
||||
movdq%2 [r4], xmm1 ; might not be aligned 16 bytes in case chroma planes
|
||||
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
lea r0, [r0+r1] ; left pSrc
|
||||
lea r5, [r5+r1] ; left dst
|
||||
lea r3, [r3+r1] ; right pSrc
|
||||
lea r4, [r4+r1] ; right dst
|
||||
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
dec r6
|
||||
jnz near .left_right_loops
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro exp_cross_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
; top-left: (x)mm3, top-right: (x)mm4, bottom-left: (x)mm5, bottom-right: (x)mm6
|
||||
; edi: TL, ebp: TR, eax: BL, ebx: BR, ecx, -stride
|
||||
%macro exp_cross_sse2 2 ; iPaddingSize [luma(32)/chroma(16)], u/a
|
||||
; top-left: (x)mm3, top-right: (x)mm4, bottom-left: (x)mm5, bottom-right: (x)mm6
|
||||
; edi: TL, ebp: TR, eax: BL, ebx: BR, ecx, -stride
|
||||
;r3:TL ,r4:TR,r5:BL,r6:BR r1:-stride
|
||||
%if %1 == 32 ; luma
|
||||
; TL
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
%if %1 == 32 ; luma
|
||||
; TL
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r3, r1, xmm3 ; dst, stride, xmm?
|
||||
|
||||
; TR
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
; TR
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r4, r1, xmm4 ; dst, stride, xmm?
|
||||
|
||||
; BL
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
; BL
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r5, r1, xmm5 ; dst, stride, xmm?
|
||||
|
||||
; BR
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
%elif %1 == 16 ; chroma
|
||||
; TL
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
; BR
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
mov_line_end32x4_sse2 r6, r1, xmm6 ; dst, stride, xmm?
|
||||
%elif %1 == 16 ; chroma
|
||||
; TL
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r3, r1, xmm3, a ; dst, stride, xmm?
|
||||
|
||||
; TR
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
; TR
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r4, r1, xmm4, %2 ; dst, stride, xmm?
|
||||
|
||||
; BL
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
; BL
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r5, r1, xmm5, a ; dst, stride, xmm?
|
||||
|
||||
; BR
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
; BR
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
mov_line_end16x4_sse2 r6, r1, xmm6, %2 ; dst, stride, xmm?
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
;***********************************************************************----------------
|
||||
; void ExpandPictureLuma_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
; void ExpandPictureLuma_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
;***********************************************************************----------------
|
||||
WELS_EXTERN ExpandPictureLuma_sse2
|
||||
|
||||
@@ -403,8 +403,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
|
||||
exp_top_bottom_sse2 32
|
||||
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
pop r2
|
||||
pop r1
|
||||
@@ -416,8 +416,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
lea r4,[r3+1] ;right border dst
|
||||
|
||||
;prepare for cross border data: top-rigth with xmm4
|
||||
movzx r6d,byte [r3] ;top -rigth
|
||||
SSE2_Copy16Times xmm4,r6d
|
||||
movzx r6d,byte [r3] ;top -rigth
|
||||
SSE2_Copy16Times xmm4,r6d
|
||||
|
||||
neg r1 ;r1 = stride
|
||||
|
||||
@@ -438,8 +438,8 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
pop r1
|
||||
pop r0
|
||||
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
|
||||
|
||||
neg r1 ;r1 = -stride
|
||||
@@ -472,13 +472,13 @@ WELS_EXTERN ExpandPictureLuma_sse2
|
||||
%assign push_num 0
|
||||
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************----------------
|
||||
; void ExpandPictureChromaAlign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
; void ExpandPictureChromaAlign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
;***********************************************************************----------------
|
||||
WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
|
||||
@@ -531,8 +531,8 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
|
||||
exp_top_bottom_sse2 16
|
||||
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
pop r2
|
||||
pop r1
|
||||
@@ -557,7 +557,7 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
push r0
|
||||
push r1
|
||||
push r2
|
||||
push r6
|
||||
push r6
|
||||
exp_left_right_sse2 16,a
|
||||
|
||||
pop r6
|
||||
@@ -565,8 +565,8 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
pop r1
|
||||
pop r0
|
||||
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
|
||||
|
||||
neg r1 ;r1 = -stride
|
||||
@@ -599,16 +599,16 @@ WELS_EXTERN ExpandPictureChromaAlign_sse2
|
||||
%assign push_num 0
|
||||
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************----------------
|
||||
; void ExpandPictureChromaUnalign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
; void ExpandPictureChromaUnalign_sse2( uint8_t *pDst,
|
||||
; const int32_t iStride,
|
||||
; const int32_t iWidth,
|
||||
; const int32_t iHeight );
|
||||
;***********************************************************************----------------
|
||||
WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
push r4
|
||||
push r4
|
||||
push r5
|
||||
push r6
|
||||
|
||||
@@ -657,8 +657,8 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
|
||||
exp_top_bottom_sse2 16
|
||||
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for both left and right border
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
pop r2
|
||||
pop r1
|
||||
@@ -683,7 +683,7 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
push r0
|
||||
push r1
|
||||
push r2
|
||||
push r6
|
||||
push r6
|
||||
exp_left_right_sse2 16,u
|
||||
|
||||
pop r6
|
||||
@@ -691,8 +691,8 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
pop r1
|
||||
pop r0
|
||||
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; for cross border [top-left, top-right, bottom-left, bottom-right]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; have done xmm3,..,xmm6 cross pData initialization above, perform pading as below, To be continued..
|
||||
|
||||
neg r1 ;r1 = -stride
|
||||
@@ -725,4 +725,4 @@ WELS_EXTERN ExpandPictureChromaUnalign_sse2
|
||||
%assign push_num 0
|
||||
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
;*
|
||||
;* History
|
||||
;* 15/09/2009 Created
|
||||
;* 12/28/2009 Modified with larger throughput
|
||||
;* 12/29/2011 Tuned WelsCopy16x16NotAligned_sse2, added UpdateMbMv_sse2 WelsCopy16x8NotAligned_sse2,
|
||||
;* WelsCopy16x8_mmx, WelsCopy8x16_mmx etc;
|
||||
;* 12/28/2009 Modified with larger throughput
|
||||
;* 12/29/2011 Tuned WelsCopy16x16NotAligned_sse2, added UpdateMbMv_sse2 WelsCopy16x8NotAligned_sse2,
|
||||
;* WelsCopy16x8_mmx, WelsCopy8x16_mmx etc;
|
||||
;*
|
||||
;*
|
||||
;*********************************************************************************************/
|
||||
@@ -56,174 +56,174 @@ SECTION .text
|
||||
|
||||
|
||||
;***********************************************************************
|
||||
; void WelsCopy16x16_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
; void WelsCopy16x16_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy16x16_sse2
|
||||
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
LOAD_4_PARA
|
||||
PUSH_XMM 8
|
||||
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
movdqa xmm0, [r2]
|
||||
movdqa xmm1, [r2+r3]
|
||||
movdqa xmm2, [r2+2*r3]
|
||||
movdqa xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqa xmm4, [r2]
|
||||
movdqa xmm5, [r2+r3]
|
||||
movdqa xmm6, [r2+2*r3]
|
||||
movdqa xmm7, [r2+r5]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; void WelsCopy16x16NotAligned_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
; void WelsCopy16x16NotAligned_sse2( uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
; dst can be align with 16 bytes, but not sure about pSrc, 12/29/2011
|
||||
WELS_EXTERN WelsCopy16x16NotAligned_sse2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
LOAD_4_PARA
|
||||
PUSH_XMM 8
|
||||
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
lea r0, [r0+4*r1]
|
||||
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
|
||||
; , 12/29/2011
|
||||
;***********************************************************************
|
||||
; void WelsCopy16x8NotAligned_sse2(uint8_t* Dst,
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
; int32_t iStrideD,
|
||||
; uint8_t* Src,
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy16x8NotAligned_sse2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
push r4
|
||||
push r5
|
||||
%assign push_num 2
|
||||
LOAD_4_PARA
|
||||
PUSH_XMM 8
|
||||
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
|
||||
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
|
||||
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r2+r3]
|
||||
movdqu xmm2, [r2+2*r3]
|
||||
movdqu xmm3, [r2+r5]
|
||||
lea r2, [r2+4*r3]
|
||||
movdqu xmm4, [r2]
|
||||
movdqu xmm5, [r2+r3]
|
||||
movdqu xmm6, [r2+2*r3]
|
||||
movdqu xmm7, [r2+r5]
|
||||
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
movdqa [r0], xmm0
|
||||
movdqa [r0+r1], xmm1
|
||||
movdqa [r0+2*r1], xmm2
|
||||
movdqa [r0+r4], xmm3
|
||||
lea r0, [r0+4*r1]
|
||||
movdqa [r0], xmm4
|
||||
movdqa [r0+r1], xmm5
|
||||
movdqa [r0+2*r1], xmm6
|
||||
movdqa [r0+r4], xmm7
|
||||
POP_XMM
|
||||
LOAD_4_PARA_POP
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
|
||||
|
||||
;***********************************************************************
|
||||
@@ -233,62 +233,62 @@ WELS_EXTERN WelsCopy16x8NotAligned_sse2
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy8x16_mmx
|
||||
%assign push_num 0
|
||||
%assign push_num 0
|
||||
LOAD_4_PARA
|
||||
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
ret
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; void WelsCopy8x8_mmx( uint8_t* Dst,
|
||||
@@ -297,48 +297,48 @@ WELS_EXTERN WelsCopy8x16_mmx
|
||||
; int32_t iStrideS )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN WelsCopy8x8_mmx
|
||||
push r4
|
||||
%assign push_num 1
|
||||
push r4
|
||||
%assign push_num 1
|
||||
LOAD_4_PARA
|
||||
lea r4, [r3+2*r3] ;edx, [ebx+2*ebx]
|
||||
lea r4, [r3+2*r3] ;edx, [ebx+2*ebx]
|
||||
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm0, [r2]
|
||||
movq mm1, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm2, [r2]
|
||||
movq mm3, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
; to prefetch next loop
|
||||
prefetchnta [r2+2*r3]
|
||||
prefetchnta [r2+r4]
|
||||
movq mm4, [r2]
|
||||
movq mm5, [r2+r3]
|
||||
lea r2, [r2+2*r3]
|
||||
movq mm6, [r2]
|
||||
movq mm7, [r2+r3]
|
||||
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
movq [r0], mm0
|
||||
movq [r0+r1], mm1
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm2
|
||||
movq [r0+r1], mm3
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm4
|
||||
movq [r0+r1], mm5
|
||||
lea r0, [r0+2*r1]
|
||||
movq [r0], mm6
|
||||
movq [r0+r1], mm7
|
||||
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
pop r4
|
||||
ret
|
||||
WELSEMMS
|
||||
LOAD_4_PARA_POP
|
||||
pop r4
|
||||
ret
|
||||
|
||||
; (dunhuang@cisco), 12/21/2011
|
||||
;***********************************************************************
|
||||
@@ -349,13 +349,13 @@ WELS_EXTERN UpdateMbMv_sse2
|
||||
%assign push_num 0
|
||||
LOAD_2_PARA
|
||||
|
||||
movd xmm0, r1d ; _mv
|
||||
pshufd xmm1, xmm0, $00
|
||||
movdqa [r0 ], xmm1
|
||||
movdqa [r0+0x10], xmm1
|
||||
movdqa [r0+0x20], xmm1
|
||||
movdqa [r0+0x30], xmm1
|
||||
ret
|
||||
movd xmm0, r1d ; _mv
|
||||
pshufd xmm1, xmm0, $00
|
||||
movdqa [r0 ], xmm1
|
||||
movdqa [r0+0x10], xmm1
|
||||
movdqa [r0+0x20], xmm1
|
||||
movdqa [r0+0x30], xmm1
|
||||
ret
|
||||
|
||||
;*******************************************************************************
|
||||
; Macros and other preprocessor constants
|
||||
@@ -381,14 +381,14 @@ WELS_EXTERN PixelAvgWidthEq4_mmx
|
||||
%assign push_num 0
|
||||
LOAD_7_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movd mm0, [r4]
|
||||
movd mm0, [r4]
|
||||
pavgb mm0, [r2]
|
||||
movd [r0], mm0
|
||||
|
||||
@@ -398,8 +398,8 @@ ALIGN 4
|
||||
lea r4, [r4+r5]
|
||||
jne .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
@@ -413,29 +413,29 @@ WELS_EXTERN PixelAvgWidthEq8_mmx
|
||||
%assign push_num 0
|
||||
LOAD_7_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movq mm0, [r2]
|
||||
movq mm0, [r2]
|
||||
pavgb mm0, [r4]
|
||||
movq [r0], mm0
|
||||
movq mm0, [r2+r3]
|
||||
pavgb mm0, [r4+r5]
|
||||
movq [r0+r1], mm0
|
||||
movq [r0+r1], mm0
|
||||
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
sub r6, 2
|
||||
jnz .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
@@ -450,46 +450,46 @@ WELS_EXTERN PixelAvgWidthEq16_sse2
|
||||
|
||||
%assign push_num 0
|
||||
LOAD_7_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
SIGN_EXTENSION r6, r6d
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r4]
|
||||
pavgb xmm0, xmm1
|
||||
;pavgb xmm0, [r4]
|
||||
movdqu xmm0, [r2]
|
||||
movdqu xmm1, [r4]
|
||||
pavgb xmm0, xmm1
|
||||
;pavgb xmm0, [r4]
|
||||
movdqu [r0], xmm0
|
||||
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu [r0+r1], xmm0
|
||||
|
||||
movdqu xmm0, [r2+2*r3]
|
||||
movdqu xmm1, [r4+2*r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu xmm0, [r2+2*r3]
|
||||
movdqu xmm1, [r4+2*r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu [r0+2*r1], xmm0
|
||||
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu xmm0, [r2+r3]
|
||||
movdqu xmm1, [r4+r5]
|
||||
pavgb xmm0, xmm1
|
||||
movdqu [r0+r1], xmm0
|
||||
|
||||
lea r2, [r2+2*r3]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
lea r4, [r4+2*r5]
|
||||
lea r0, [r0+2*r1]
|
||||
|
||||
sub r6, 4
|
||||
jne .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_7_PARA_POP
|
||||
ret
|
||||
|
||||
;*******************************************************************************
|
||||
@@ -497,26 +497,26 @@ ALIGN 4
|
||||
; uint8_t *pDst, int iDstStride, int iHeight )
|
||||
;*******************************************************************************
|
||||
WELS_EXTERN McCopyWidthEq4_mmx
|
||||
push r5
|
||||
push r5
|
||||
%assign push_num 1
|
||||
LOAD_5_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
mov r5d, [r0]
|
||||
mov [r2], r5d
|
||||
mov r5d, [r0]
|
||||
mov [r2], r5d
|
||||
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
WELSEMMS
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
WELSEMMS
|
||||
LOAD_5_PARA_POP
|
||||
pop r5
|
||||
pop r5
|
||||
ret
|
||||
|
||||
;*******************************************************************************
|
||||
@@ -527,21 +527,21 @@ WELS_EXTERN McCopyWidthEq8_mmx
|
||||
%assign push_num 0
|
||||
LOAD_5_PARA
|
||||
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
movq mm0, [r0]
|
||||
movq [r2], mm0
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
movq mm0, [r0]
|
||||
movq [r2], mm0
|
||||
add r0, r1
|
||||
add r2, r3
|
||||
dec r4
|
||||
jnz .height_loop
|
||||
|
||||
WELSEMMS
|
||||
LOAD_5_PARA_POP
|
||||
WELSEMMS
|
||||
LOAD_5_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
@@ -550,32 +550,32 @@ ALIGN 4
|
||||
;*******************************************************************************
|
||||
;read unaligned memory
|
||||
%macro SSE_READ_UNA 2
|
||||
movq %1, [%2]
|
||||
movhps %1, [%2+8]
|
||||
movq %1, [%2]
|
||||
movhps %1, [%2+8]
|
||||
%endmacro
|
||||
|
||||
;write unaligned memory
|
||||
%macro SSE_WRITE_UNA 2
|
||||
movq [%1], %2
|
||||
movhps [%1+8], %2
|
||||
movq [%1], %2
|
||||
movhps [%1+8], %2
|
||||
%endmacro
|
||||
WELS_EXTERN McCopyWidthEq16_sse2
|
||||
%assign push_num 0
|
||||
LOAD_5_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r4, r4d
|
||||
ALIGN 4
|
||||
.height_loop:
|
||||
SSE_READ_UNA xmm0, r0
|
||||
SSE_READ_UNA xmm1, r0+r1
|
||||
SSE_WRITE_UNA r2, xmm0
|
||||
SSE_WRITE_UNA r2+r3, xmm1
|
||||
SSE_READ_UNA xmm0, r0
|
||||
SSE_READ_UNA xmm1, r0+r1
|
||||
SSE_WRITE_UNA r2, xmm0
|
||||
SSE_WRITE_UNA r2+r3, xmm1
|
||||
|
||||
sub r4, 2
|
||||
sub r4, 2
|
||||
lea r0, [r0+r1*2]
|
||||
lea r2, [r2+r3*2]
|
||||
jnz .height_loop
|
||||
|
||||
LOAD_5_PARA_POP
|
||||
LOAD_5_PARA_POP
|
||||
ret
|
||||
|
||||
@@ -53,10 +53,10 @@ SECTION .rodata align=16
|
||||
|
||||
ALIGN 16
|
||||
h264_d0x20_sse2:
|
||||
dw 32,32,32,32,32,32,32,32
|
||||
dw 32,32,32,32,32,32,32,32
|
||||
ALIGN 16
|
||||
h264_d0x20_mmx:
|
||||
dw 32,32,32,32
|
||||
dw 32,32,32,32
|
||||
|
||||
|
||||
;=============================================================================
|
||||
@@ -67,171 +67,171 @@ SECTION .text
|
||||
|
||||
;*******************************************************************************
|
||||
; void McChromaWidthEq4_mmx( const uint8_t *src,
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iHeigh );
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iHeigh );
|
||||
;*******************************************************************************
|
||||
WELS_EXTERN McChromaWidthEq4_mmx
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
|
||||
movd mm3, [r4]; [eax]
|
||||
WELS_Zero mm7
|
||||
punpcklbw mm3, mm3
|
||||
movq mm4, mm3
|
||||
punpcklwd mm3, mm3
|
||||
punpckhwd mm4, mm4
|
||||
movd mm3, [r4]; [eax]
|
||||
WELS_Zero mm7
|
||||
punpcklbw mm3, mm3
|
||||
movq mm4, mm3
|
||||
punpcklwd mm3, mm3
|
||||
punpckhwd mm4, mm4
|
||||
|
||||
movq mm5, mm3
|
||||
punpcklbw mm3, mm7
|
||||
punpckhbw mm5, mm7
|
||||
movq mm5, mm3
|
||||
punpcklbw mm3, mm7
|
||||
punpckhbw mm5, mm7
|
||||
|
||||
movq mm6, mm4
|
||||
punpcklbw mm4, mm7
|
||||
punpckhbw mm6, mm7
|
||||
movq mm6, mm4
|
||||
punpcklbw mm4, mm7
|
||||
punpckhbw mm6, mm7
|
||||
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movd mm0, [r0]
|
||||
movd mm1, [r0+1]
|
||||
punpcklbw mm0, mm7
|
||||
punpcklbw mm1, mm7
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movd mm0, [r0]
|
||||
movd mm1, [r0+1]
|
||||
punpcklbw mm0, mm7
|
||||
punpcklbw mm1, mm7
|
||||
.xloop:
|
||||
|
||||
pmullw mm0, mm3
|
||||
pmullw mm1, mm5
|
||||
paddw mm0, mm1
|
||||
pmullw mm0, mm3
|
||||
pmullw mm1, mm5
|
||||
paddw mm0, mm1
|
||||
|
||||
movd mm1, [r4]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm2, mm1
|
||||
pmullw mm1, mm4
|
||||
paddw mm0, mm1
|
||||
movd mm1, [r4]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm2, mm1
|
||||
pmullw mm1, mm4
|
||||
paddw mm0, mm1
|
||||
|
||||
movd mm1, [r4+1]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm7, mm1
|
||||
pmullw mm1,mm6
|
||||
paddw mm0, mm1
|
||||
movq mm1,mm7
|
||||
movd mm1, [r4+1]
|
||||
punpcklbw mm1, mm7
|
||||
movq mm7, mm1
|
||||
pmullw mm1,mm6
|
||||
paddw mm0, mm1
|
||||
movq mm1,mm7
|
||||
|
||||
paddw mm0, [h264_d0x20_mmx]
|
||||
psrlw mm0, 6
|
||||
paddw mm0, [h264_d0x20_mmx]
|
||||
psrlw mm0, 6
|
||||
|
||||
WELS_Zero mm7
|
||||
packuswb mm0, mm7
|
||||
movd [r2], mm0
|
||||
WELS_Zero mm7
|
||||
packuswb mm0, mm7
|
||||
movd [r2], mm0
|
||||
|
||||
movq mm0, mm2
|
||||
movq mm0, mm2
|
||||
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
WELSEMMS
|
||||
LOAD_6_PARA_POP
|
||||
ret
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
WELSEMMS
|
||||
LOAD_6_PARA_POP
|
||||
ret
|
||||
|
||||
|
||||
;*******************************************************************************
|
||||
; void McChromaWidthEq8_sse2( const uint8_t *pSrc,
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iheigh );
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iheigh );
|
||||
;*******************************************************************************
|
||||
WELS_EXTERN McChromaWidthEq8_sse2
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
|
||||
movd xmm3, [r4]
|
||||
WELS_Zero xmm7
|
||||
punpcklbw xmm3, xmm3
|
||||
punpcklwd xmm3, xmm3
|
||||
movd xmm3, [r4]
|
||||
WELS_Zero xmm7
|
||||
punpcklbw xmm3, xmm3
|
||||
punpcklwd xmm3, xmm3
|
||||
|
||||
movdqa xmm4, xmm3
|
||||
punpckldq xmm3, xmm3
|
||||
punpckhdq xmm4, xmm4
|
||||
movdqa xmm5, xmm3
|
||||
movdqa xmm6, xmm4
|
||||
movdqa xmm4, xmm3
|
||||
punpckldq xmm3, xmm3
|
||||
punpckhdq xmm4, xmm4
|
||||
movdqa xmm5, xmm3
|
||||
movdqa xmm6, xmm4
|
||||
|
||||
punpcklbw xmm3, xmm7
|
||||
punpckhbw xmm5, xmm7
|
||||
punpcklbw xmm4, xmm7
|
||||
punpckhbw xmm6, xmm7
|
||||
punpcklbw xmm3, xmm7
|
||||
punpckhbw xmm5, xmm7
|
||||
punpcklbw xmm4, xmm7
|
||||
punpckhbw xmm6, xmm7
|
||||
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movq xmm0, [r0]
|
||||
movq xmm1, [r0+1]
|
||||
punpcklbw xmm0, xmm7
|
||||
punpcklbw xmm1, xmm7
|
||||
lea r4, [r0 + r1] ;lea ebx, [esi + eax]
|
||||
movq xmm0, [r0]
|
||||
movq xmm1, [r0+1]
|
||||
punpcklbw xmm0, xmm7
|
||||
punpcklbw xmm1, xmm7
|
||||
.xloop:
|
||||
|
||||
pmullw xmm0, xmm3
|
||||
pmullw xmm1, xmm5
|
||||
paddw xmm0, xmm1
|
||||
pmullw xmm0, xmm3
|
||||
pmullw xmm1, xmm5
|
||||
paddw xmm0, xmm1
|
||||
|
||||
movq xmm1, [r4]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm2, xmm1
|
||||
pmullw xmm1, xmm4
|
||||
paddw xmm0, xmm1
|
||||
movq xmm1, [r4]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm2, xmm1
|
||||
pmullw xmm1, xmm4
|
||||
paddw xmm0, xmm1
|
||||
|
||||
movq xmm1, [r4+1]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm7, xmm1
|
||||
pmullw xmm1, xmm6
|
||||
paddw xmm0, xmm1
|
||||
movdqa xmm1,xmm7
|
||||
movq xmm1, [r4+1]
|
||||
punpcklbw xmm1, xmm7
|
||||
movdqa xmm7, xmm1
|
||||
pmullw xmm1, xmm6
|
||||
paddw xmm0, xmm1
|
||||
movdqa xmm1,xmm7
|
||||
|
||||
paddw xmm0, [h264_d0x20_sse2]
|
||||
psrlw xmm0, 6
|
||||
paddw xmm0, [h264_d0x20_sse2]
|
||||
psrlw xmm0, 6
|
||||
|
||||
WELS_Zero xmm7
|
||||
packuswb xmm0, xmm7
|
||||
movq [r2], xmm0
|
||||
WELS_Zero xmm7
|
||||
packuswb xmm0, xmm7
|
||||
movq [r2], xmm0
|
||||
|
||||
movdqa xmm0, xmm2
|
||||
movdqa xmm0, xmm2
|
||||
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
lea r2, [r2 + r3]
|
||||
lea r4, [r4 + r1]
|
||||
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
dec r5
|
||||
jnz near .xloop
|
||||
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
;***********************************************************************
|
||||
; void McChromaWidthEq8_ssse3( const uint8_t *pSrc,
|
||||
; int32_t iSrcStride,
|
||||
; int32_t iSrcStride,
|
||||
; uint8_t *pDst,
|
||||
; int32_t iDstStride,
|
||||
; const uint8_t *pABCD,
|
||||
; int32_t iHeigh);
|
||||
; int32_t iHeigh);
|
||||
;***********************************************************************
|
||||
WELS_EXTERN McChromaWidthEq8_ssse3
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
%assign push_num 0
|
||||
LOAD_6_PARA
|
||||
PUSH_XMM 8
|
||||
SIGN_EXTENSION r1, r1d
|
||||
SIGN_EXTENSION r3, r3d
|
||||
SIGN_EXTENSION r5, r5d
|
||||
|
||||
pxor xmm7, xmm7
|
||||
movd xmm5, [r4]
|
||||
@@ -243,27 +243,27 @@ WELS_EXTERN McChromaWidthEq8_ssse3
|
||||
|
||||
sub r2, r3 ;sub esi, edi
|
||||
sub r2, r3
|
||||
movdqa xmm7, [h264_d0x20_sse2]
|
||||
movdqa xmm7, [h264_d0x20_sse2]
|
||||
|
||||
movdqu xmm0, [r0]
|
||||
movdqa xmm1, xmm0
|
||||
psrldq xmm1, 1
|
||||
punpcklbw xmm0, xmm1
|
||||
movdqu xmm0, [r0]
|
||||
movdqa xmm1, xmm0
|
||||
psrldq xmm1, 1
|
||||
punpcklbw xmm0, xmm1
|
||||
|
||||
.hloop_chroma:
|
||||
lea r2, [r2+2*r3]
|
||||
lea r2, [r2+2*r3]
|
||||
|
||||
movdqu xmm2, [r0+r1]
|
||||
movdqa xmm3, xmm2
|
||||
psrldq xmm3, 1
|
||||
punpcklbw xmm2, xmm3
|
||||
movdqa xmm4, xmm2
|
||||
movdqu xmm2, [r0+r1]
|
||||
movdqa xmm3, xmm2
|
||||
psrldq xmm3, 1
|
||||
punpcklbw xmm2, xmm3
|
||||
movdqa xmm4, xmm2
|
||||
|
||||
pmaddubsw xmm0, xmm5
|
||||
pmaddubsw xmm2, xmm6
|
||||
paddw xmm0, xmm2
|
||||
paddw xmm0, xmm7
|
||||
psrlw xmm0, 6
|
||||
psrlw xmm0, 6
|
||||
packuswb xmm0, xmm0
|
||||
movq [r2],xmm0
|
||||
|
||||
@@ -278,16 +278,16 @@ WELS_EXTERN McChromaWidthEq8_ssse3
|
||||
pmaddubsw xmm2, xmm6
|
||||
paddw xmm4, xmm2
|
||||
paddw xmm4, xmm7
|
||||
psrlw xmm4, 6
|
||||
psrlw xmm4, 6
|
||||
packuswb xmm4, xmm4
|
||||
movq [r2+r3],xmm4
|
||||
|
||||
sub r5, 2
|
||||
jnz .hloop_chroma
|
||||
sub r5, 2
|
||||
jnz .hloop_chroma
|
||||
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
POP_XMM
|
||||
LOAD_6_PARA_POP
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -29,16 +29,16 @@
|
||||
;* POSSIBILITY OF SUCH DAMAGE.
|
||||
;*
|
||||
;*
|
||||
;* vaa.asm
|
||||
;* vaa.asm
|
||||
;*
|
||||
;* Abstract
|
||||
;* Abstract
|
||||
;* sse2 for pVaa routines
|
||||
;*
|
||||
;* History
|
||||
;* 04/14/2010 Created
|
||||
;* 06/07/2010 Added AnalysisVaaInfoIntra_sse2(ssse3)
|
||||
;* 06/10/2010 Tune rc_sad_frame_sse2 and got about 40% improvement
|
||||
;* 08/11/2010 Added abs_difference_mbrow_sse2 & sum_sqrsum_mbrow_sse2
|
||||
;* 04/14/2010 Created
|
||||
;* 06/07/2010 Added AnalysisVaaInfoIntra_sse2(ssse3)
|
||||
;* 06/10/2010 Tune rc_sad_frame_sse2 and got about 40% improvement
|
||||
;* 08/11/2010 Added abs_difference_mbrow_sse2 & sum_sqrsum_mbrow_sse2
|
||||
;*
|
||||
;*************************************************************************/
|
||||
%include "asm_inc.asm"
|
||||
@@ -49,87 +49,87 @@
|
||||
;***********************************************************************
|
||||
|
||||
; by comparing it outperforms than phaddw(SSSE3) sets
|
||||
%macro SUM_WORD_8x2_SSE2 2 ; dst(pSrc), tmp
|
||||
; @sum_8x2 begin
|
||||
pshufd %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 0B1h ; 10110001 B
|
||||
paddw %1, %2
|
||||
; end of @sum_8x2
|
||||
%endmacro ; END of SUM_WORD_8x2_SSE2
|
||||
%macro SUM_WORD_8x2_SSE2 2 ; dst(pSrc), tmp
|
||||
; @sum_8x2 begin
|
||||
pshufd %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 04Eh ; 01001110 B
|
||||
paddw %1, %2
|
||||
pshuflw %2, %1, 0B1h ; 10110001 B
|
||||
paddw %1, %2
|
||||
; end of @sum_8x2
|
||||
%endmacro ; END of SUM_WORD_8x2_SSE2
|
||||
|
||||
|
||||
%macro VAA_AVG_BLOCK_SSE2 6 ; dst, t0, t1, t2, t3, t4
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
pshufd %3, %1, 0B1h
|
||||
pshufd %4, %2, 0B1h
|
||||
paddw %1, %3
|
||||
paddw %2, %4
|
||||
movdqa %3, %1
|
||||
movdqa %4, %2
|
||||
pshuflw %5, %1, 0B1h
|
||||
pshufhw %6, %3, 0B1h
|
||||
paddw %1, %5
|
||||
paddw %3, %6
|
||||
pshuflw %5, %2, 0B1h
|
||||
pshufhw %6, %4, 0B1h
|
||||
paddw %2, %5
|
||||
paddw %4, %6
|
||||
punpcklwd %1, %2
|
||||
punpckhwd %3, %4
|
||||
punpcklwd %1, %3
|
||||
psraw %1, $04
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
pshufd %3, %1, 0B1h
|
||||
pshufd %4, %2, 0B1h
|
||||
paddw %1, %3
|
||||
paddw %2, %4
|
||||
movdqa %3, %1
|
||||
movdqa %4, %2
|
||||
pshuflw %5, %1, 0B1h
|
||||
pshufhw %6, %3, 0B1h
|
||||
paddw %1, %5
|
||||
paddw %3, %6
|
||||
pshuflw %5, %2, 0B1h
|
||||
pshufhw %6, %4, 0B1h
|
||||
paddw %2, %5
|
||||
paddw %4, %6
|
||||
punpcklwd %1, %2
|
||||
punpckhwd %3, %4
|
||||
punpcklwd %1, %3
|
||||
psraw %1, $04
|
||||
%endmacro
|
||||
|
||||
%macro VAA_AVG_BLOCK_SSSE3 6 ; dst, t0, t1, t2, t3, t4
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
phaddw %1, %2 ; block[0]: 0-15, 16-31; block[1]: 32-47, 48-63; ..
|
||||
phaddw %1, xmm7 ; block[0]: 0-15; block[1]: 16-31; block[2]: 32-47; block[3]: 48-63; ....
|
||||
psraw %1, $04
|
||||
movdqa %1, [r0 ] ; line 0
|
||||
movdqa %2, [r0+r1] ; line 1
|
||||
movdqa %3, %1
|
||||
punpcklbw %1, xmm7
|
||||
punpckhbw %3, xmm7
|
||||
movdqa %4, %2
|
||||
punpcklbw %4, xmm7
|
||||
punpckhbw %2, xmm7
|
||||
paddw %1, %4
|
||||
paddw %2, %3
|
||||
movdqa %3, [r0+r2] ; line 2
|
||||
movdqa %4, [r0+r3] ; line 3
|
||||
movdqa %5, %3
|
||||
punpcklbw %3, xmm7
|
||||
punpckhbw %5, xmm7
|
||||
movdqa %6, %4
|
||||
punpcklbw %6, xmm7
|
||||
punpckhbw %4, xmm7
|
||||
paddw %3, %6
|
||||
paddw %4, %5
|
||||
paddw %1, %3 ; block 0, 1
|
||||
paddw %2, %4 ; block 2, 3
|
||||
phaddw %1, %2 ; block[0]: 0-15, 16-31; block[1]: 32-47, 48-63; ..
|
||||
phaddw %1, xmm7 ; block[0]: 0-15; block[1]: 16-31; block[2]: 32-47; block[3]: 48-63; ....
|
||||
psraw %1, $04
|
||||
%endmacro
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ SECTION .text
|
||||
; , 6/7/2010
|
||||
|
||||
;***********************************************************************
|
||||
; int32_t AnalysisVaaInfoIntra_sse2( uint8_t *pDataY, const int32_t iLineSize );
|
||||
; int32_t AnalysisVaaInfoIntra_sse2( uint8_t *pDataY, const int32_t iLineSize );
|
||||
;***********************************************************************
|
||||
WELS_EXTERN AnalysisVaaInfoIntra_sse2
|
||||
|
||||
@@ -174,71 +174,71 @@ WELS_EXTERN AnalysisVaaInfoIntra_sse2
|
||||
mov r4,r2
|
||||
sal r4,$01 ;r4 = 4*iLineSize
|
||||
|
||||
pxor xmm7, xmm7
|
||||
pxor xmm7, xmm7
|
||||
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7], xmm0
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7], xmm0
|
||||
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+8], xmm0
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+8], xmm0
|
||||
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+16], xmm0
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+16], xmm0
|
||||
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+24], xmm0
|
||||
lea r0, [r0+r4]
|
||||
VAA_AVG_BLOCK_SSE2 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+24], xmm0
|
||||
|
||||
movdqa xmm0, [r7] ; block 0~7
|
||||
movdqa xmm1, [r7+16] ; block 8~15
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3
|
||||
movdqa xmm0, [r7] ; block 0~7
|
||||
movdqa xmm1, [r7+16] ; block 8~15
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3
|
||||
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
|
||||
|
||||
|
||||
movd r2d, xmm0
|
||||
and r2, 0ffffh ; effective low work truncated
|
||||
mov r3, r2
|
||||
imul r2, r3
|
||||
sar r2, $04
|
||||
movd retrd, xmm1
|
||||
sub retrd, r2d
|
||||
movd r2d, xmm0
|
||||
and r2, 0ffffh ; effective low work truncated
|
||||
mov r3, r2
|
||||
imul r2, r3
|
||||
sar r2, $04
|
||||
movd retrd, xmm1
|
||||
sub retrd, r2d
|
||||
|
||||
add r7,32
|
||||
add r7,r5
|
||||
add r7,32
|
||||
add r7,r5
|
||||
|
||||
%ifdef X86_32
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
%endif
|
||||
POP_XMM
|
||||
POP_XMM
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; int32_t AnalysisVaaInfoIntra_ssse3( uint8_t *pDataY, const int32_t iLineSize );
|
||||
; int32_t AnalysisVaaInfoIntra_ssse3( uint8_t *pDataY, const int32_t iLineSize );
|
||||
;***********************************************************************
|
||||
WELS_EXTERN AnalysisVaaInfoIntra_ssse3
|
||||
|
||||
@@ -269,47 +269,47 @@ WELS_EXTERN AnalysisVaaInfoIntra_ssse3
|
||||
mov r4,r2
|
||||
sal r4,$01 ;r4 = 4*iLineSize
|
||||
|
||||
pxor xmm7, xmm7
|
||||
pxor xmm7, xmm7
|
||||
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
; loops
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7],xmm0
|
||||
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
movq [r7+8],xmm1
|
||||
|
||||
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5
|
||||
movq [r7+16],xmm0
|
||||
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
lea r0,[r0+r4]
|
||||
VAA_AVG_BLOCK_SSSE3 xmm1, xmm2, xmm3, xmm4, xmm5, xmm6
|
||||
movq [r7+24],xmm1
|
||||
|
||||
|
||||
movdqa xmm0,[r7]
|
||||
movdqa xmm1,[r7+16]
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3 ; better performance than that of phaddw sets
|
||||
movdqa xmm0,[r7]
|
||||
movdqa xmm1,[r7+16]
|
||||
movdqa xmm2, xmm0
|
||||
paddw xmm0, xmm1
|
||||
SUM_WORD_8x2_SSE2 xmm0, xmm3 ; better performance than that of phaddw sets
|
||||
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
pmullw xmm1, xmm1
|
||||
pmullw xmm2, xmm2
|
||||
movdqa xmm3, xmm1
|
||||
movdqa xmm4, xmm2
|
||||
punpcklwd xmm1, xmm7
|
||||
punpckhwd xmm3, xmm7
|
||||
punpcklwd xmm2, xmm7
|
||||
punpckhwd xmm4, xmm7
|
||||
paddd xmm1, xmm2
|
||||
paddd xmm3, xmm4
|
||||
paddd xmm1, xmm3
|
||||
pshufd xmm2, xmm1, 01Bh
|
||||
paddd xmm1, xmm2
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
|
||||
|
||||
movd r2d, xmm0
|
||||
@@ -318,94 +318,94 @@ WELS_EXTERN AnalysisVaaInfoIntra_ssse3
|
||||
imul r2, r3
|
||||
sar r2, $04
|
||||
movd retrd, xmm1
|
||||
sub retrd, r2d
|
||||
sub retrd, r2d
|
||||
|
||||
add r7,32
|
||||
add r7,r5
|
||||
add r7,32
|
||||
add r7,r5
|
||||
%ifdef X86_32
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
pop r3
|
||||
%endif
|
||||
POP_XMM
|
||||
POP_XMM
|
||||
|
||||
ret
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse41( int32_t *pSad8x8 )
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse41( int32_t *pSad8x8 )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN MdInterAnalysisVaaInfo_sse41
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0,[r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
pmulld xmm3, xmm3 ; [comment]: pmulld from SSE4.1 instruction sets
|
||||
pshufd xmm4, xmm3, 01Bh
|
||||
paddd xmm4, xmm3
|
||||
pshufd xmm3, xmm4, 0B1h
|
||||
paddd xmm3, xmm4
|
||||
movd r0d, xmm3
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0,[r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
pmulld xmm3, xmm3 ; [comment]: pmulld from SSE4.1 instruction sets
|
||||
pshufd xmm4, xmm3, 01Bh
|
||||
paddd xmm4, xmm3
|
||||
pshufd xmm3, xmm4, 0B1h
|
||||
paddd xmm3, xmm4
|
||||
movd r0d, xmm3
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
.threshold_exit:
|
||||
mov retrd, 15
|
||||
ret
|
||||
mov retrd, 15
|
||||
ret
|
||||
|
||||
;***********************************************************************
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse2( int32_t *pSad8x8 )
|
||||
; uint8_t MdInterAnalysisVaaInfo_sse2( int32_t *pSad8x8 )
|
||||
;***********************************************************************
|
||||
WELS_EXTERN MdInterAnalysisVaaInfo_sse2
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0, [r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
%assign push_num 0
|
||||
LOAD_1_PARA
|
||||
movdqa xmm0, [r0]
|
||||
pshufd xmm1, xmm0, 01Bh
|
||||
paddd xmm1, xmm0
|
||||
pshufd xmm2, xmm1, 0B1h
|
||||
paddd xmm1, xmm2
|
||||
psrad xmm1, 02h ; iAverageSad
|
||||
movdqa xmm2, xmm1
|
||||
psrad xmm2, 06h
|
||||
movdqa xmm3, xmm0 ; iSadBlock
|
||||
psrad xmm3, 06h
|
||||
psubd xmm3, xmm2
|
||||
|
||||
; to replace pmulld functionality as below
|
||||
movdqa xmm2, xmm3
|
||||
pmuludq xmm2, xmm3
|
||||
pshufd xmm4, xmm3, 0B1h
|
||||
pmuludq xmm4, xmm4
|
||||
movdqa xmm5, xmm2
|
||||
punpckldq xmm5, xmm4
|
||||
punpckhdq xmm2, xmm4
|
||||
punpcklqdq xmm5, xmm2
|
||||
; to replace pmulld functionality as below
|
||||
movdqa xmm2, xmm3
|
||||
pmuludq xmm2, xmm3
|
||||
pshufd xmm4, xmm3, 0B1h
|
||||
pmuludq xmm4, xmm4
|
||||
movdqa xmm5, xmm2
|
||||
punpckldq xmm5, xmm4
|
||||
punpckhdq xmm2, xmm4
|
||||
punpcklqdq xmm5, xmm2
|
||||
|
||||
pshufd xmm4, xmm5, 01Bh
|
||||
paddd xmm4, xmm5
|
||||
pshufd xmm5, xmm4, 0B1h
|
||||
paddd xmm5, xmm4
|
||||
pshufd xmm4, xmm5, 01Bh
|
||||
paddd xmm4, xmm5
|
||||
pshufd xmm5, xmm4, 0B1h
|
||||
paddd xmm5, xmm4
|
||||
|
||||
movd r0d, xmm5
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
movd r0d, xmm5
|
||||
cmp r0d, 20 ; INTER_VARIANCE_SAD_THRESHOLD
|
||||
jb near .threshold_exit
|
||||
pshufd xmm0, xmm0, 01Bh
|
||||
pcmpgtd xmm0, xmm1 ; iSadBlock > iAverageSad
|
||||
movmskps retrd, xmm0
|
||||
ret
|
||||
.threshold_exit:
|
||||
mov retrd, 15
|
||||
ret
|
||||
mov retrd, 15
|
||||
ret
|
||||
|
||||
@@ -44,12 +44,16 @@
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
|
||||
class CReadConfig {
|
||||
public:
|
||||
CReadConfig (const char* kpConfigFileName);
|
||||
CReadConfig();
|
||||
CReadConfig (const char* pConfigFileName);
|
||||
CReadConfig (const string& pConfigFileName);
|
||||
virtual ~CReadConfig();
|
||||
|
||||
long ReadLine (string* val, const int kiValSize = 4);
|
||||
void Openf (const char* strFile);
|
||||
long ReadLine (string* strVal, const int iValSize = 4);
|
||||
const bool EndOfFile();
|
||||
const int GetLines();
|
||||
const bool ExistFile();
|
||||
@@ -58,7 +62,7 @@ class CReadConfig {
|
||||
private:
|
||||
FILE* m_pCfgFile;
|
||||
string m_strCfgFileName;
|
||||
unsigned long m_ulLines;
|
||||
unsigned int m_iLines;
|
||||
};
|
||||
|
||||
#endif // READ_CONFIG_H__
|
||||
16
codec/console/common/targets.mk
Normal file
16
codec/console/common/targets.mk
Normal file
@@ -0,0 +1,16 @@
|
||||
CONSOLE_COMMON_SRCDIR=codec/console/common
|
||||
CONSOLE_COMMON_CPP_SRCS=\
|
||||
$(CONSOLE_COMMON_SRCDIR)/src/read_config.cpp\
|
||||
|
||||
CONSOLE_COMMON_OBJS += $(CONSOLE_COMMON_CPP_SRCS:.cpp=.$(OBJ))
|
||||
|
||||
OBJS += $(CONSOLE_COMMON_OBJS)
|
||||
$(CONSOLE_COMMON_SRCDIR)/%.$(OBJ): $(CONSOLE_COMMON_SRCDIR)/%.cpp
|
||||
$(QUIET_CXX)$(CXX) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(CONSOLE_COMMON_CFLAGS) $(CONSOLE_COMMON_INCLUDES) -c $(CXX_O) $<
|
||||
|
||||
$(LIBPREFIX)console_common.$(LIBSUFFIX): $(CONSOLE_COMMON_OBJS)
|
||||
$(QUIET)rm -f $@
|
||||
$(QUIET_AR)$(AR) $(AR_OPTS) $+
|
||||
|
||||
libraries: $(LIBPREFIX)console_common.$(LIBSUFFIX)
|
||||
LIBRARIES += $(LIBPREFIX)console_common.$(LIBSUFFIX)
|
||||
@@ -82,6 +82,8 @@ class CD3D9Utils {
|
||||
HWND m_hWnd;
|
||||
unsigned char* m_pDumpYUV;
|
||||
BOOL m_bInitDone;
|
||||
int m_nWidth;
|
||||
int m_nHeight;
|
||||
|
||||
LPDIRECT3D9 m_lpD3D9;
|
||||
LPDIRECT3DDEVICE9 m_lpD3D9Device;
|
||||
@@ -110,6 +112,8 @@ class CD3D9ExUtils {
|
||||
HWND m_hWnd;
|
||||
unsigned char* m_pDumpYUV;
|
||||
BOOL m_bInitDone;
|
||||
int m_nWidth;
|
||||
int m_nHeight;
|
||||
|
||||
LPDIRECT3D9EX m_lpD3D9;
|
||||
LPDIRECT3DDEVICE9EX m_lpD3D9Device;
|
||||
|
||||
@@ -75,7 +75,8 @@ CD3D9Utils::CD3D9Utils() {
|
||||
m_lpD3D9 = NULL;
|
||||
m_lpD3D9Device = NULL;
|
||||
m_lpD3D9RawSurfaceShare = NULL;
|
||||
|
||||
m_nWidth = 0;
|
||||
m_nHeight = 0;
|
||||
// coverity scan uninitial
|
||||
ZeroMemory (&m_d3dpp, sizeof (m_d3dpp));
|
||||
}
|
||||
@@ -147,6 +148,16 @@ HRESULT CD3D9Utils::Process (void* pDst[3], SBufferInfo* pInfo, FILE* pFp) {
|
||||
HRESULT CD3D9Utils::Render (void* pDst[3], SBufferInfo* pInfo) {
|
||||
HRESULT hResult = E_FAIL;
|
||||
|
||||
if (!pInfo)
|
||||
return E_FAIL;
|
||||
|
||||
if (m_nWidth != pInfo->UsrData.sSystemBuffer.iWidth
|
||||
|| m_nHeight != pInfo->UsrData.sSystemBuffer.iHeight) {
|
||||
m_nWidth = pInfo->UsrData.sSystemBuffer.iWidth;
|
||||
m_nHeight = pInfo->UsrData.sSystemBuffer.iHeight;
|
||||
SAFE_RELEASE (m_lpD3D9RawSurfaceShare);
|
||||
SAFE_RELEASE (m_lpD3D9Device);
|
||||
}
|
||||
hResult = InitResource (NULL, pInfo);
|
||||
if (SUCCEEDED (hResult))
|
||||
hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth,
|
||||
@@ -245,6 +256,8 @@ CD3D9ExUtils::CD3D9ExUtils() {
|
||||
m_lpD3D9Device = NULL;
|
||||
m_lpD3D9RawSurfaceShare = NULL;
|
||||
|
||||
m_nWidth = 0;
|
||||
m_nHeight = 0;
|
||||
// coverity scan uninitial
|
||||
ZeroMemory (&m_d3dpp, sizeof (m_d3dpp));
|
||||
}
|
||||
@@ -316,6 +329,16 @@ HRESULT CD3D9ExUtils::Process (void* pDst[3], SBufferInfo* pInfo, FILE* pFp) {
|
||||
HRESULT CD3D9ExUtils::Render (void* pDst[3], SBufferInfo* pInfo) {
|
||||
HRESULT hResult = E_FAIL;
|
||||
|
||||
if (!pInfo)
|
||||
return E_FAIL;
|
||||
|
||||
if (m_nWidth != pInfo->UsrData.sSystemBuffer.iWidth
|
||||
|| m_nHeight != pInfo->UsrData.sSystemBuffer.iHeight) {
|
||||
m_nWidth = pInfo->UsrData.sSystemBuffer.iWidth;
|
||||
m_nHeight = pInfo->UsrData.sSystemBuffer.iHeight;
|
||||
SAFE_RELEASE (m_lpD3D9RawSurfaceShare);
|
||||
SAFE_RELEASE (m_lpD3D9Device);
|
||||
}
|
||||
hResult = InitResource (NULL, pInfo);
|
||||
if (SUCCEEDED (hResult))
|
||||
hResult = Dump2Surface (pDst, m_lpD3D9RawSurfaceShare, pInfo->UsrData.sSystemBuffer.iWidth,
|
||||
@@ -386,6 +409,9 @@ HRESULT CD3D9ExUtils::InitResource (void* pSharedHandle, SBufferInfo* pInfo) {
|
||||
m_d3dpp.hDeviceWindow = m_hWnd;
|
||||
m_d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
hResult = m_lpD3D9->CreateDeviceEx (uiAdapter, D3DDevType, NULL, dwBehaviorFlags, &m_d3dpp, NULL, &m_lpD3D9Device);
|
||||
if (FAILED (hResult)) {
|
||||
return hResult;
|
||||
}
|
||||
iWidth = pInfo->UsrData.sSystemBuffer.iWidth;
|
||||
iHeight = pInfo->UsrData.sSystemBuffer.iHeight;
|
||||
D3Dformat = (D3DFORMAT)NV12_FORMAT;
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
#include "typedefs.h"
|
||||
#include "measure_time.h"
|
||||
#include "d3d9_utils.h"
|
||||
#include "logging.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
@@ -76,7 +75,7 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
|
||||
uint8_t* pBuf = NULL;
|
||||
uint8_t uiStartCode[4] = {0, 0, 0, 1};
|
||||
|
||||
void* pData[3] = {NULL};
|
||||
uint8_t* pData[3] = {NULL};
|
||||
uint8_t* pDst[3] = {NULL};
|
||||
SBufferInfo sDstBufInfo;
|
||||
|
||||
@@ -129,7 +128,7 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
|
||||
printf ("------------------------------------------------------\n");
|
||||
|
||||
fseek (pH264File, 0L, SEEK_END);
|
||||
iFileSize = ftell (pH264File);
|
||||
iFileSize = (int32_t) ftell (pH264File);
|
||||
if (iFileSize <= 0) {
|
||||
fprintf (stderr, "Current Bit Stream File is too small, read error!!!!\n");
|
||||
goto label_exit;
|
||||
@@ -212,9 +211,9 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
|
||||
pDecoder->DecodeFrame2 (pBuf + iBufPos, iSliceSize, pData, &sDstBufInfo);
|
||||
|
||||
if (sDstBufInfo.iBufferStatus == 1) {
|
||||
pDst[0] = (uint8_t*)pData[0];
|
||||
pDst[1] = (uint8_t*)pData[1];
|
||||
pDst[2] = (uint8_t*)pData[2];
|
||||
pDst[0] = pData[0];
|
||||
pDst[1] = pData[1];
|
||||
pDst[2] = pData[2];
|
||||
}
|
||||
iEnd = WelsTime();
|
||||
iTotal += iEnd - iStart;
|
||||
@@ -247,9 +246,9 @@ void H264DecodeInstance (ISVCDecoder* pDecoder, const char* kpH264FileName, cons
|
||||
|
||||
pDecoder->DecodeFrame2 (NULL, 0, pData, &sDstBufInfo);
|
||||
if (sDstBufInfo.iBufferStatus == 1) {
|
||||
pDst[0] = (uint8_t*)pData[0];
|
||||
pDst[1] = (uint8_t*)pData[1];
|
||||
pDst[2] = (uint8_t*)pData[2];
|
||||
pDst[0] = pData[0];
|
||||
pDst[1] = pData[1];
|
||||
pDst[2] = pData[2];
|
||||
}
|
||||
|
||||
if (sDstBufInfo.iBufferStatus == 1) {
|
||||
@@ -311,6 +310,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
|
||||
SDecodingParam sDecParam = {0};
|
||||
string strInputFile (""), strOutputFile (""), strOptionFile ("");
|
||||
int iLevelSetting = -1;
|
||||
|
||||
sDecParam.sVideoProperty.size = sizeof (sDecParam.sVideoProperty);
|
||||
|
||||
@@ -339,7 +339,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
strOutputFile = strTag[1];
|
||||
} else if (strTag[0].compare ("RestructionFile") == 0) {
|
||||
strReconFile = strTag[1];
|
||||
int32_t iLen = strReconFile.length();
|
||||
int32_t iLen = (int32_t)strReconFile.length();
|
||||
sDecParam.pFileNameRestructed = new char[iLen + 1];
|
||||
if (sDecParam.pFileNameRestructed != NULL) {
|
||||
sDecParam.pFileNameRestructed[iLen] = 0;
|
||||
@@ -349,7 +349,7 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
} else if (strTag[0].compare ("TargetDQID") == 0) {
|
||||
sDecParam.uiTargetDqLayer = (uint8_t)atol (strTag[1].c_str());
|
||||
} else if (strTag[0].compare ("OutColorFormat") == 0) {
|
||||
sDecParam.iOutputColorFormat = atol (strTag[1].c_str());
|
||||
sDecParam.iOutputColorFormat = atoi (strTag[1].c_str());
|
||||
} else if (strTag[0].compare ("ErrorConcealmentFlag") == 0) {
|
||||
sDecParam.uiEcActiveFlag = (uint8_t)atol (strTag[1].c_str());
|
||||
} else if (strTag[0].compare ("CPULoad") == 0) {
|
||||
@@ -384,14 +384,14 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
|
||||
if (!strcmp (cmd, "-options")) {
|
||||
if (i + 1 < iArgC)
|
||||
strOptionFile = pArgV[i++];
|
||||
strOptionFile = pArgV[++i];
|
||||
else {
|
||||
printf ("options file not specified.\n");
|
||||
return 1;
|
||||
}
|
||||
} else if (!strcmp (cmd, "-trace")) {
|
||||
if (i + 1 < iArgC)
|
||||
WelsStderrSetTraceLevel (atoi (pArgV[i++]));
|
||||
iLevelSetting = atoi (pArgV[++i]);
|
||||
else {
|
||||
printf ("trace level not specified.\n");
|
||||
return 1;
|
||||
@@ -418,6 +418,9 @@ int32_t main (int32_t iArgC, char* pArgV[]) {
|
||||
printf ("Create Decoder failed.\n");
|
||||
return 1;
|
||||
}
|
||||
if (iLevelSetting >= 0) {
|
||||
pDecoder->SetOption (DECODER_OPTION_TRACE_LEVEL, &iLevelSetting);
|
||||
}
|
||||
|
||||
if (pDecoder->Initialize (&sDecParam)) {
|
||||
printf ("Decoder initialization failed.\n");
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2008-2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* read_config.h
|
||||
*
|
||||
* Abstract
|
||||
* Class for reading parameter settings in a configure file.
|
||||
*
|
||||
* History
|
||||
* 08/18/2008 Created
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
#include "read_config.h"
|
||||
|
||||
CReadConfig::CReadConfig (const char* kpConfigFileName)
|
||||
: m_pCfgFile (0)
|
||||
, m_strCfgFileName (kpConfigFileName)
|
||||
, m_ulLines (0) {
|
||||
if (strlen (kpConfigFileName) > 0) { // FIXME: To check validation in configure file name
|
||||
m_pCfgFile = fopen (kpConfigFileName, "r");
|
||||
}
|
||||
}
|
||||
|
||||
CReadConfig::~CReadConfig() {
|
||||
if (m_pCfgFile) {
|
||||
fclose (m_pCfgFile);
|
||||
m_pCfgFile = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
long CReadConfig::ReadLine (string* pStr, const int kiValSize/* = 4*/) {
|
||||
if (m_pCfgFile == NULL || pStr == NULL || kiValSize <= 1)
|
||||
return 0;
|
||||
|
||||
string* strTags = &pStr[0];
|
||||
int iTagNum = 0, iNum = 0;
|
||||
bool bCommentFlag = false;
|
||||
|
||||
while (iNum < kiValSize) {
|
||||
pStr[iNum] = "";
|
||||
++ iNum;
|
||||
}
|
||||
|
||||
do {
|
||||
const char kChar = (char)fgetc (m_pCfgFile);
|
||||
|
||||
if (kChar == '\n' || feof (m_pCfgFile)) {
|
||||
++ m_ulLines;
|
||||
break;
|
||||
}
|
||||
if (kChar == '#')
|
||||
bCommentFlag = true;
|
||||
if (!bCommentFlag) {
|
||||
if (kChar == '\t' || kChar == ' ') {
|
||||
if (iTagNum >= kiValSize)
|
||||
break;
|
||||
if (! (*strTags).empty()) {
|
||||
++ iTagNum;
|
||||
strTags = &pStr[iTagNum];
|
||||
}
|
||||
} else
|
||||
*strTags += kChar;
|
||||
}
|
||||
|
||||
} while (true);
|
||||
|
||||
return 1 + iTagNum;
|
||||
}
|
||||
|
||||
const bool CReadConfig::EndOfFile() {
|
||||
if (m_pCfgFile == NULL)
|
||||
return true;
|
||||
return feof (m_pCfgFile) ? true : false;
|
||||
}
|
||||
|
||||
const int CReadConfig::GetLines() {
|
||||
return m_ulLines;
|
||||
}
|
||||
|
||||
const bool CReadConfig::ExistFile() {
|
||||
return (m_pCfgFile != NULL);
|
||||
}
|
||||
|
||||
const string& CReadConfig::GetFileName() {
|
||||
return m_strCfgFileName;
|
||||
}
|
||||
@@ -2,7 +2,6 @@ H264DEC_SRCDIR=codec/console/dec
|
||||
H264DEC_CPP_SRCS=\
|
||||
$(H264DEC_SRCDIR)/src/d3d9_utils.cpp\
|
||||
$(H264DEC_SRCDIR)/src/h264dec.cpp\
|
||||
$(H264DEC_SRCDIR)/src/read_config.cpp\
|
||||
|
||||
H264DEC_OBJS += $(H264DEC_CPP_SRCS:.cpp=.$(OBJ))
|
||||
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
/*!
|
||||
* \copy
|
||||
* Copyright (c) 2008-2013, Cisco Systems
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* read_config.h
|
||||
*
|
||||
* Abstract
|
||||
* Class for reading parameter settings in a configure file.
|
||||
*
|
||||
* History
|
||||
* 08/18/2008 Created
|
||||
*
|
||||
*****************************************************************************/
|
||||
#ifndef READ_CONFIG_H__
|
||||
#define READ_CONFIG_H__
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string>
|
||||
#include "wels_const.h"
|
||||
using namespace std;
|
||||
|
||||
typedef struct tagFilesSet {
|
||||
string strBsFile;
|
||||
string strSeqFile; // for cmd lines
|
||||
string strLayerCfgFile[MAX_DEPENDENCY_LAYER];
|
||||
char sRecFileName[MAX_DEPENDENCY_LAYER][MAX_FNAME_LEN];
|
||||
} SFilesSet;
|
||||
|
||||
|
||||
class CReadConfig {
|
||||
public:
|
||||
CReadConfig();
|
||||
CReadConfig (const char* pConfigFileName);
|
||||
CReadConfig (const string& pConfigFileName);
|
||||
virtual ~CReadConfig();
|
||||
|
||||
void Openf (const char* strFile);
|
||||
long ReadLine (string* strVal, const int iValSize = 4);
|
||||
const bool EndOfFile();
|
||||
const int GetLines();
|
||||
const bool ExistFile();
|
||||
const string& GetFileName();
|
||||
|
||||
private:
|
||||
FILE* m_pCfgFile;
|
||||
string m_strCfgFileName;
|
||||
unsigned long m_iLines;
|
||||
};
|
||||
|
||||
#endif // READ_CONFIG_H__
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user