[FFmpeg-devel] [PATCH v6 1/3] mips: improve detection of ISAs, FPU and ASEs (DSP, MSA)
Vicente Olivert Riera
Vincent.Riera at imgtec.com
Wed Jan 20 12:37:52 CET 2016
Hello Michael,
On 19/01/16 22:11, Michael Niedermayer wrote:
> On Thu, Jan 14, 2016 at 02:59:03PM +0000, Vicente Olivert Riera wrote:
>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera at imgtec.com>
>> ---
>> Changes v5 -> v6:
>> - Multiple changes:
>> - Use separate if blocks when detecting the MIPS ISA, this way when a block
>> disables one ISA it will be detected by the next one. Before the elif was
>> preventing this to be done.
>> - Don't use check_cflags and use only check_ldflags instead, which will
>> check if that flag is valid for compiling and linking. The compiler may
>> accept some cflags for compiling but not for linking, so if we check first
>> for the cflags it will succeed, and the cflags will be added to the CFLAGS
>> variable despite of the check_ldflags failing after that. This can cause
>> problems because of having multiple incompatible cflags enabled at the same
>> time.
>> - Check if mipsfpu has been disabled, and if so, then use -msoft-float. This
>> way we override the compiler default behavious which can be building for
>> hard-float.
>> - Explicitly disable the features that fail any check by adding "|| disable
>> $feature" at the end of the checks chain.
>>
>> Changes v4 -> v5:
>> - Check for msa.h and disable msa if not found.
>>
>> Changes v3 -> v4:
>> - Nothing.
>>
>> Changes v2 -> v3:
>> - Nothing.
>>
>> Changes v1 -> v2:
>> - Add a block of code for mipsdspr2 which was previously placed in the
>> first patch of this series causing a syntax error in the configure
>> script.
>> https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2015-November/183444.html
>
> make distclean ; ../configure --cross-prefix=/usr/mips-linux-gnu/bin/ --cc='ccache mips-linux-gnu-gcc-4.4' --arch=mips --target-os=linux --enable-cross-compile --disable-mipsfpu && make -j12
> results in pages of:
>
> /usr/lib/gcc/mips-linux-gnu/4.4.5/../../../../mips-linux-gnu/bin/ld: Warning: libavfilter/filtfmts-test uses hard float, libswresample/libswresample.a(dither.o) uses soft float
> /usr/lib/gcc/mips-linux-gnu/4.4.5/../../../../mips-linux-gnu/bin/ld: Warning: libavfilter/filtfmts-test uses hard float, libswresample/libswresample.a(resample.o) uses soft float
> /usr/lib/gcc/mips-linux-gnu/4.4.5/../../../../mips-linux-gnu/bin/ld: Warning: libavfilter/filtfmts-test uses hard float, libswresample/libswresample.a(resample_dsp.o) uses soft float
> /usr/lib/gcc/mips-linux-gnu/4.4.5/../../../../mips-linux-gnu/bin/ld: Warning: libavfilter/filtfmts-test uses hard float, libavutil/libavutil.a(adler32.o) uses soft float
> /usr/lib/gcc/mips-linux-gnu/4.4.5/../../../../mips-linux-gnu/bin/ld: Warning: libavfilter/filtfmts-test uses hard float, libavutil/libavutil.a(aes.o) uses soft float
> /usr/lib/gcc/mips-linux-gnu/4.4.5/../../../../mips-linux-gnu/bin/ld: Warning: libavfilter/filtfmts-test uses hard float, libavutil/libavutil.a(aes_ctr.o) uses soft float
> /usr/lib/gcc/mips-linux-gnu/4.4.5/../../../../mips-linux-gnu/bin/ld: Warning: libavfilter/filtfmts-test uses hard float, libavutil/libavutil.a(audio_fifo.o) uses soft float
>
>
> [...]
>
I can't reproduce your issue. Look:
$ make distclean ; ./configure --cross-prefix=mips-linux-gnu-
--arch=mips --target-os=linux --enable-cross-compile --disable-mipsfpu
And then:
$ make -j1 V=1 2>&1 | tee build.log
And then:
$ grep "uses soft float" build.log
$ grep "filtfmts-test" build.log
It gives me nothing.
Also I try to find for that filtfmts-test file which your logs say that
is using hard-float, and I cannot find it:
$ find . -name "filtfmts-test*"
$
Regards,
Vincent.
More information about the ffmpeg-devel
mailing list