Am 14.08.2017 um 16:56 schrieb Carl Eugen Hoyos:
2017-08-14 16:49 GMT+02:00 Reindl Harald <[email protected]>:


Am 14.08.2017 um 16:41 schrieb Carl Eugen Hoyos:

2017-08-14 13:51 GMT+02:00 Carl Eugen Hoyos <[email protected]>:

2017-08-14 11:04 GMT+02:00 Reindl Harald <[email protected]>:

frankly without -ffat-lto-objects libx264 and/or the comibnation of
static
libx264 and static ffmpeg just don't build

The option should not be needed if your toolchain correctly supports
lto (and it is not needed here). Is it possible that you have to add it
because your build is not really an lto build (since something in your
toolchain - like ar - destroys the lto information but thanks to this
option,
compilation succeeds)?

I can confirm that the reason you "need" -ffat-lto-objects is that you
are not actually building with lto.

The sad thing is that the optimized h264 cabac reader cannot be
compiled with (static) lto. I don't remember the details atm but I
suspect you have to disable this optimization in the source code to
use lto, it may be better performance-wise to not use lto at all
(depending on your exact needs).

This bug cannot be worked around with -ffat-lto-objects (you would
see the same issue I do if you would actually compile with lto)

well, then i still guess other parts off mpeg can be still lto-optimized
and only x264 isn't

Nothing above was related to x264 but to the hevc and the h264 decoder.

The work-around for the cabac issue is using --enable-pic, I am not
sure if this has negative effects (speed-wise), a performance test
would be necessary

as you can see in the rpm spec (relevant part quoted again below) this is alreayd enabled and that's in fact part of the hardening stuff

%build

mkdir generic

pushd generic

../configure \

--prefix=%{_prefix}/local \

--bindir=%{_prefix}/local/bin \

--mandir=%{_prefix}/local/man \

--extra-cflags="-I%{_prefix}/local/x264 %{optflags} -Ofast -ffast-math -funsafe-math-optimizations -Wno-pointer-sign -minline-all-stringops -fno-strict-aliasing -flto -fno-fat-lto-objects -fuse-ld=gold -fuse-linker-plugin -Wa,--noexecstack" \

--extra-ldflags="-I%{_prefix}/local/x264 -L%{_prefix}/local/x264 -ldl -Wl,--as-needed -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack %{optflags} -Ofast -ffast-math -funsafe-math-optimizations -Wno-pointer-sign -minline-all-stringops -fno-strict-aliasing -flto -fno-fat-lto-objects -pie -fPIE -fuse-ld=gold -fuse-linker-plugin -Wa,--noexecstack" \
 --enable-lto \
 --ar=gcc-ar \
 --ranlib=true \
 --enable-nonfree \
 --enable-gpl \
 --enable-pic \
 --enable-version3 \
 --enable-libmp3lame \
 --enable-libtheora \
 --enable-libx264 \
 --enable-libx265 \
 --enable-libvpx \
 --enable-openssl \
 --enable-static \
 --enable-runtime-cpudetect \
 --disable-amd3dnow \
 --disable-amd3dnowext \
 --disable-avdevice \
 --disable-debug \
 --disable-devices \
 --disable-ffplay \
 --disable-ffprobe \
 --disable-ffserver \
 --disable-htmlpages \
 --disable-hwaccels \
 --disable-iconv \
 --disable-libdc1394 \
 --disable-libfreetype \
 --disable-libgsm \
 --disable-libopencore-amrnb \
 --disable-libopencore-amrwb \
 --disable-libopencv \
 --disable-libopenjpeg \
 --disable-libopus \
 --disable-librtmp \
 --disable-libschroedinger \
 --disable-libspeex \
 --disable-libvorbis \
 --disable-libxvid \
 --disable-podpages \
 --disable-postproc \
 --disable-protocol=gopher \
 --disable-shared \
 --disable-txtpages

_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to