Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
|
|
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
|
|
libraries under third_party/ are out of scope for this change.
Bug: webm:1793
Change-Id: I562065a3c0ea9fdfc9615d1a6b1ae47da79b8ce0
|
|
rather than define new targets, add a platform to the arm64 list as they
share the same configuration.
Bug: webm:1788
Change-Id: Iac020280b1103fb12b559f21439aeff26568fba4
|
|
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
|
|
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
|
|
Visual Studio 2019+ include arm64_neon.h from arm_neon.h
Bug: b/277255076
Change-Id: I52f42b69a5efe8214a4c541b68e940ad07499584
|
|
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
|
|
avoids a warning on some platforms:
egrep: warning: egrep is obsolescent; using grep -E
Bug: webm:1786
Change-Id: Ia434297731303aacb0b02cf3dcbfd8e03936485d
Fixed: webm:1786
|
|
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>
|
|
|
|
Bug: webm:1783
Change-Id: I97d94ab8c8aebe13aedb58e280dc37474814ad5d
|
|
Change-Id: Idef943775456eb95b46be5c92c114c1d215f38d7
|
|
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
|
|
Simplify architecture support code and remove redundant code
to improve efficiency.
Bug: webm:1755
Change-Id: I03bc251aca115b0379fe19907abd165e0876355b
|
|
broken since:
642529248 ads2gas[_apple].pl: remove unused stanzas
Change-Id: I1eac77e2fe23cc3f162251e9e0102a4909f7b997
|
|
Don't use tabs during conversion. Save and restore
existing spacing.
Change-Id: Ib8f443db542c091d36e9ab9836e3e3e292d711f7
|
|
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
|
|
Change-Id: I0bea977b256e464231706c72cc14a5c8b6e90775
|
|
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
|
|
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
|
|
Change-Id: I8380283d09b0c90183f224399f953dcc527181c5
|
|
LSX and LASX are enabled by default if compiler supports them.
Bug: webm:1754
Change-Id: Ic36b113bc4313c50e9d2bbab91199b3aa46d00dc
|
|
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
|
|
https://android-review.googlesource.com/c/platform/external/libvpx/+/1588942
https://android.googlesource.com/platform/external/libvpx/+/099828b5c770ef8630741721be4b6c25a8394204
Change-Id: Ieca1c882f82bcbc7546944b43af7fab358f925d2
|
|
Bug: webm:1720
Change-Id: I56689ad408f8086c511e1711dfa9c8d404727b2e
|
|
Bug: webm:1709
Change-Id: I962a64c00042fe95cc1cd845b187f71ad6cfd1b7
|
|
Change-Id: I91c0e832a6e76172397e97413329fd43edc81c78
|
|
after:
979e27c97 configure: add darwin20 support
make the condition more specific by including the trailing -gcc (-*)
Change-Id: I78f481b6c5ad9137e6b6973198e8671e806ee82c
|
|
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
|
|
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
|
|
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
|
|
Change-Id: I3912c79d0f0f7a65fc753ae29bb10cdcac76878a
|
|
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
|
|
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
|
|
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
|
|
Fixed: 1633
Change-Id: I7dd2b4873aeb548c7f9ebf7025baf15a8e65c68f
|
|
The oldest supported Visual Studio version has been vs14
since 539dc7649f67ec10097b3c8eb2c0073f0d0571ce.
Clean up scripts and remove dead code.
Change-Id: I6db5b053a55d7656275d3d48e35d672c8ce22067
|
|
Use sed to extract tgt_os
Change-Id: I2f7cd290102a2b591c6ae6e40766918b55abff10
|
|
Fix autodetection on MacOS 10.14. Without this it defaults
to generic-gnu
Change-Id: I19cd4a9f2fb106dff16ab5e38821a5f374add59c
|
|
this prevents redefinition warnings if a toolchain sets one
BUG=b/117240165
Change-Id: Ib5d8c303cd05b4dbcc8d42c71ecfcba8f6d7b90c
|
|
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
|
|
vsx optimizations do not support 32 bit tran_low_t values.
BUG=webm:1563
Change-Id: I9e6348078f6e4855acfd381133eb840a435b7f81
|
|
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
|
|
|
|
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
|
|
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
|