summaryrefslogtreecommitdiff
path: root/build
AgeCommit message (Collapse)Author
2023-07-10add example how to use rtcdWang Chen
Just use vp8_sixtap_predict as example but have not implemented it actually. Test: $ CROSS=riscv64-unknown-linux-gnu- ../libvpx/configure --target=riscv64-linux-gcc $ make Check if vp8_sixtap_predict functions have been replaced with those suffixed with "_rvv": $ riscv64-unknown-linux-gnu-nm ./vp8/decoder/decodeframe.c.o | grep vp8_sixtap_predict16x16 U vp8_sixtap_predict16x16_rvv Check if vp8_sixtap_predictMxN_rvv work. $ qemu-riscv64 -L $SYSROOT_RV64 ./build-test/test_libvpx --gtest_filter="RVV/SixtapPredictTest.TestWithPresetData/*" You should see print log output such as: "--> vp8_sixtap_predict4x4_rvv" "FAILED" is expected due to we have not implemented the actual algorithm. Signed-off-by: Wang Chen <wangchen20@iscas.ac.cn> Co-authored-by: sun min <sunmin89@outlook.com>
2023-07-10support framework for RunTime Cpu DetectionWang Chen
Just add related code about RTCD to setup the framework. Have not support the actual runtime detection, and I have not understood how RTCD works, FIXME. More analysis please refer to https://github.com/aosp-riscv/libvpx/issues/8#issuecomment-1627896402. Signed-off-by: Wang Chen <wangchen20@iscas.ac.cn> Co-authored-by: sun min <sunmin89@outlook.com>
2023-07-10enable rvvWang Chen
Test: CROSS=riscv64-unknown-linux-gnu- ../libvpx/configure --target=riscv64-linux-gcc Check console output: ...... enabling rvv ...... Check mk files' content: $ less libs-riscv64-linux-gcc.mk | grep RVV HAVE_RVV=yes Signed-off-by: Wang Chen <wangchen20@iscas.ac.cn> Co-authored-by: sun min <sunmin89@outlook.com>
2023-05-12Merge "Don't use -Wl,-z,defs with Clang's sanitizers" into mainJames Zern
2023-05-12Don't use -Wl,-z,defs with Clang's sanitizersJames Zern
This avoids link errors related to the sanitizers: https://clang.llvm.org/docs/AddressSanitizer.html#usage "When linking shared libraries, the AddressSanitizer run-time is not linked, so -Wl,-z,defs may cause link errors ..." See also: https://crbug.com/aomedia/3438 Bug: webm:1801 Fixed: webm:1801 Change-Id: Ie212318005a5f7222e5486775175534025306367
2023-05-09configure: add -WshadowJames Zern
libraries under third_party/ are out of scope for this change. Bug: webm:1793 Change-Id: I562065a3c0ea9fdfc9615d1a6b1ae47da79b8ce0
2023-05-08gen_msvs_vcxproj: add ARM64EC w/VS >= 2022James Zern
rather than define new targets, add a platform to the arm64 list as they share the same configuration. Bug: webm:1788 Change-Id: Iac020280b1103fb12b559f21439aeff26568fba4
2023-05-08configure: add clang-cl vs1[67] arm64 targetsJames Zern
x86 and armv7 are skipped for now as the intrinsics will need different flags than cl.exe (/arch:... -> -m...). Bug: webm:1788 Change-Id: I8ca8660a8644cdd84c51cb1f75005e371ba8207d
2023-05-02configure: add aarch64 to ARCH_LISTJames Zern
This will allow identifying Windows Visual Studio targets as aarch64; the Microsoft compiler does not define __aarch64__. An alternative would be to define this in the code, checking for _M_ARM64 or _M_ARM64EC. For now we'll use the existing VPX_ARCH_* system. For compatibility VPX_ARCH_ARM will continue to be defined to 1 in this case. Bug: webm:1788 Bug: b/277255076 Change-Id: I12e25710891e86f0c7339ba96884c18ed90ba16f
2023-04-20configure: skip arm64_neon.h workaround w/VS >= 2019James Zern
Visual Studio 2019+ include arm64_neon.h from arm_neon.h Bug: b/277255076 Change-Id: I52f42b69a5efe8214a4c541b68e940ad07499584
2023-01-18*/Android.mk: add a check for NDK_ROOTJames Zern
This simplifies integration with the Android platform and avoids the files from being used when a non-NDK build is performed. In that case Android.bp is preferred. Change-Id: I803912146dac788b7f0af27199c7613cabbc9fa0
2023-01-10build: replace egrep with grep -EJames Zern
avoids a warning on some platforms: egrep: warning: egrep is obsolescent; using grep -E Bug: webm:1786 Change-Id: Ia434297731303aacb0b02cf3dcbfd8e03936485d Fixed: webm:1786
2022-11-06build: fix -Wimplicit-int (Clang 16)Sam James
Clang 16 will make -Wimplicit-int error by default which can, in addition to other things, lead to some configure tests silently failing/returning the wrong result. Fixes this error: ``` +/var/tmp/portage/media-libs/libvpx-1.12.0/temp/vpx-conf-1802-30624.c:1:15: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] ``` For more information, see LWN.net [0] or LLVM's Discourse [1], gentoo-dev@ [2], or the (new) c-std-porting mailing list [3]. [0] https://lwn.net/Articles/913505/ [1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 [2] https://archives.gentoo.org/gentoo-dev/message/dd9f2d3082b8b6f8dfbccb0639e6e240 [3] hosted at lists.linux.dev. Bug: https://bugs.gentoo.org/879705 Change-Id: Id73a98944ab3c99a368b9da7a5e902ddff9d937f Signed-off-by: Sam James <sam@gentoo.org>
2022-10-27Merge "MacOS 13 is darwin22" into mainJohann Koenig
2022-10-27MacOS 13 is darwin22Johann
Bug: webm:1783 Change-Id: I97d94ab8c8aebe13aedb58e280dc37474814ad5d
2022-10-27rtcd: allow disabling neon on armv8Johann
Change-Id: Idef943775456eb95b46be5c92c114c1d215f38d7
2022-06-02libs.mk,build/make/Makefile: make test targets ordinary rulesJames Zern
this fixes a regression in make 4.2 and still present in 4.3 causing double colon rules to be serialized which breaks sharding done by the test and test-no-data-check rules. these targets only define one set of rules so ordinary rules work unlike clean. install may be another candidate, but that's left for a follow up. Change-Id: I9f074eca2ad266eeca6e31aae2e9f31eec8680e0 Tested: make 3.81, 4.1, 4.2, 4.2.1, 4.3
2022-05-25loongarch: Remove redundant codeyuanhecai
Simplify architecture support code and remove redundant code to improve efficiency. Bug: webm:1755 Change-Id: I03bc251aca115b0379fe19907abd165e0876355b
2022-03-26ads2armasm_ms.pl: fix thumb::FixThumbInstructions callJames Zern
broken since: 642529248 ads2gas[_apple].pl: remove unused stanzas Change-Id: I1eac77e2fe23cc3f162251e9e0102a4909f7b997
2022-03-23ads2gas: maintain whitespaceJohann
Don't use tabs during conversion. Save and restore existing spacing. Change-Id: Ib8f443db542c091d36e9ab9836e3e3e292d711f7
2022-03-23ads2gas: fix .size measurementJohann
The distance between PROC and END is used to generate .size information for debugging. When the leading underscore was removed the pattern used to match the function name broke. Change-Id: I90bf67d95ecdc2d214606e663773f88d2a2d6b9c
2022-03-22ads2gas*.pl: strip trailing whitespace after transformsJames Zern
Change-Id: I0bea977b256e464231706c72cc14a5c8b6e90775
2022-03-13ads2gas_apple.pl: remove gcc-ismsJohann
The gcc assembler was incompatible for a long time. It is now based on clang and accepts more modern syntax, although not enough to remove the script entirely. Change-Id: I667d29dca005ea02a995c1025c45eb844081f64b
2022-03-13ads2gas[_apple].pl: remove unused stanzasJohann
Many of the features in ads2gas are no longer used. Remove all patterns which are no longer used in libvpx. Simplify between the two to minimize differences. Change-Id: Ia1151eb8b694cbe51845a1374a876cc7b798899c
2022-02-10support visual studio 2022 (vs17)Gregor Jasny
Change-Id: I8380283d09b0c90183f224399f953dcc527181c5
2022-01-28libvpx[loongarch]: Add loongarch support.Jin Bo
LSX and LASX are enabled by default if compiler supports them. Bug: webm:1754 Change-Id: Ic36b113bc4313c50e9d2bbab91199b3aa46d00dc
2021-11-17MacOS 12 is darwin21Johann
Remove -mmacosx-version-min. The library does not use any calls which are affected by the platform version. There is also no version 10.16 as it went from 10.15 to 11 and now to 12. At some point it may be good to clarify that the bare -darwin- target is for iOS and the -darwinN- targets are for macOS. Change-Id: I2fd5f7cae2637905acf3ab77bfddfbe367abbb68
2021-10-09Android.mk: import LICENSE indicators from AOSPJames Zern
https://android-review.googlesource.com/c/platform/external/libvpx/+/1588942 https://android.googlesource.com/platform/external/libvpx/+/099828b5c770ef8630741721be4b6c25a8394204 Change-Id: Ieca1c882f82bcbc7546944b43af7fab358f925d2
2021-03-17Msvc builds convert to windows path w/msys envAdam B. Goode
Bug: webm:1720 Change-Id: I56689ad408f8086c511e1711dfa9c8d404727b2e
2021-03-03override assembler with --as option on msvsJerome Jiang
Bug: webm:1709 Change-Id: I962a64c00042fe95cc1cd845b187f71ad6cfd1b7
2020-12-11configure: add darwin20 cross-compile supportGregor Jasny
Change-Id: I91c0e832a6e76172397e97413329fd43edc81c78
2020-09-29configure.sh: fix arm64-darwin-gcc matchJames Zern
after: 979e27c97 configure: add darwin20 support make the condition more specific by including the trailing -gcc (-*) Change-Id: I78f481b6c5ad9137e6b6973198e8671e806ee82c
2020-09-25configure: add darwin20 supportJames Zern
this release will have arm64 and x86_64 support. in the future it might be useful to move to mac/iphone targets to help disambiguate arm64-darwin-gcc and arm64-darwin20-gcc. Change-Id: I1f8b145303204af316955822f5e8bab51c47f353
2020-08-19Escape number sign in MakefilesDaniel Sommermann
Number signs are handled differently in Makefile variable parsing as compared to bash variable parsing. See this demo: ``` $ cat Makefile A=foo#bar B='foo#bar' C="foo#bar" D=foo\#bar E='foo\#bar' F="foo\#bar" $(info $(A)) $(info $(B)) $(info $(C)) $(info $(D)) $(info $(E)) $(info $(F)) $ make foo 'foo "foo foo#bar 'foo#bar' "foo#bar" make: *** No targets. Stop. $ make -v GNU Make 4.2.1 ``` In other words, the `#` character is evaluated first when parsing Makefiles, causing the rest of the line to become a comment. The effect of this is that paths that contain embedded `#` symbols are not handled properly in the vpx build system. To test this change, clone vpx to a directory containing a `#` symbol and attempt a build. With this change, it worked for me on Fedora 31, however without the change the build failed. Change-Id: Iaee6383e2435049b680484cc5cefdea9f2d9df46
2020-08-19Refine MMI & MSA detection for mipsjinbo
1.Add compile check to probe the native ability of toolchain to decide whether a feature can be enabled. 2.Add runtime check to probe cpu supported features. MSA will be prefered if MSA and MMI are both supported. 3.You can configure and build as following commands: ./configure --cpu=loongson3a && make -j4 Change-Id: I057553216dbc79cfaba9c691d5f4cdab144e1123
2020-03-31auto-detect darwin19Johann
Change-Id: I3912c79d0f0f7a65fc753ae29bb10cdcac76878a
2019-12-06configure.sh,darwin: fix asm conv w/external buildJames Zern
always set asm_conversion_cmd as e.g., vpx_config.asm may still be generated with make when using --enable-external-build BUG=webm:1535 Change-Id: I120452d4e06580b67119aee8d0a710998ac87a7a
2019-10-31configure.sh,darwin: fix external_build checkJames Zern
disabled external_build will return an incorrect result for a value not explicitly set on the command line; use ! enabled instead. fixes ios build Change-Id: I48dda3a06731bc9809c2266880797e1779e4c01c
2019-10-30darwin: disable compiler checksJohann
When configuring with --enable-external-build the .mk files are not expected to work. This avoids some spurious warnings when configuring for darwin targets on other platforms. Fixed: webm:1535 Change-Id: Idac2b397db1b595ba7ea9231c4eb835b6013abdc
2019-10-29support visual studio 2019 (vs16)Johann
Fixed: 1633 Change-Id: I7dd2b4873aeb548c7f9ebf7025baf15a8e65c68f
2019-10-29remove old visual studio remnantsJohann
The oldest supported Visual Studio version has been vs14 since 539dc7649f67ec10097b3c8eb2c0073f0d0571ce. Clean up scripts and remove dead code. Change-Id: I6db5b053a55d7656275d3d48e35d672c8ce22067
2019-10-23simplify darwin autodetectionJohann
Use sed to extract tgt_os Change-Id: I2f7cd290102a2b591c6ae6e40766918b55abff10
2019-10-23add darwin18 targetJohann
Fix autodetection on MacOS 10.14. Without this it defaults to generic-gnu Change-Id: I19cd4a9f2fb106dff16ab5e38821a5f374add59c
2019-09-30namespace ARCH_* definesJames Zern
this prevents redefinition warnings if a toolchain sets one BUG=b/117240165 Change-Id: Ib5d8c303cd05b4dbcc8d42c71ecfcba8f6d7b90c
2019-06-20vsx: disable on all buildsJohann
The previous change to disable some vsx functions did not clear the test failures. Disable vsx by default until it is investigated and fixed. BUG=webm:1522 Change-Id: I8ba2e7261ea3eee5022832da7e4a22bf8daa0996
2019-06-10ppc: disable vsx optimizations with hbdJohann
vsx optimizations do not support 32 bit tran_low_t values. BUG=webm:1563 Change-Id: I9e6348078f6e4855acfd381133eb840a435b7f81
2019-06-04configure: test -Wno-* flags used with libyuvJames Zern
with g++ this avoids: command line option ‘-Wno-missing-prototypes’ is valid for C/ObjC but not for C++ the flag is necessary with clang. BUG=webm:1584 Change-Id: I250c76483302d913999e5f9e0d09ee6449b052df
2019-05-08Merge "android: clarify RTCD usage"Johann Koenig
2019-05-06android: clarify RTCD usageJohann
Note that when using --disable-runtime-cpu-detect the developer must keep in mind what devices the library will be run on. BUG=webm:1623 Change-Id: I0359e226bb678f8e5145bb30cd1cefc7e30c6c79
2019-05-06android: do not attempt standalone buildsJohann
arm builds require too many tweaks to keep up with changes to the ndk. Recommend ndk-build instead. Update documentation and drop --sdk-path references. If --enable-external-build is used instead we do not need the compiler path. BUG=webm:1622 Change-Id: Id024345afd7af988321f8f97ebab19c425cb0493