[FFmpeg-trac] #9687(avfilter:new): vf_yadif_videotoolbox.metal is always recompiled when running make (install/test)
FFmpeg
trac at avcodec.org
Tue Mar 15 14:12:05 EET 2022
#9687: vf_yadif_videotoolbox.metal is always recompiled when running make
(install/test)
-------------------------------------+-------------------------------------
Reporter: Hanspeter | Type: defect
Niederstrasser |
Status: new | Priority: normal
Component: avfilter | Version: git-
| master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
At the end of `make`, the generated files belonging to
vf_yadif_videotoolbox seem to be removed, triggering their rebuild along
with libavfilter.dylib when `make install` or `make test` are run.
How to reproduce:
{{{
$ ./configure <options>
$ make
<lots of compilation>
mkdir -p libavfilter/x86/
gcc -I. -Isrc/ -D_ISOC99_SOURCE -std=c99 -Wall -O3 -MMD -MF
ffbuild/bin2c_host.d -MT ffbuild/bin2c_host.o -c -o ffbuild/bin2c_host.o
src/ffbuild/bin2c.c
xcrun -sdk macosx metal
/sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/libavfilter/metal/vf_yadif_videotoolbox.metal
-o libavfilter/metal/vf_yadif_videotoolbox.metal.air
<more compiling until the end>
strip -x -o ffprobe ffprobe_g
strip -x -o ffmpeg ffmpeg_g
rm libavfilter/metal/vf_yadif_videotoolbox.metal.air
libavfilter/metal/vf_yadif_videotoolbox.metallib
libavfilter/metal/vf_yadif_videotoolbox.metallib.c
$ make install (or make test)
xcrun -sdk macosx metal
/sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/libavfilter/metal/vf_yadif_videotoolbox.metal
-o libavfilter/metal/vf_yadif_videotoolbox.metal.air
xcrun -sdk macosx metallib --split-module-without-linking
libavfilter/metal/vf_yadif_videotoolbox.metal.air -o
libavfilter/metal/vf_yadif_videotoolbox.metallib
ffbuild/bin2c libavfilter/metal/vf_yadif_videotoolbox.metallib
libavfilter/metal/vf_yadif_videotoolbox.metallib.c
vf_yadif_videotoolbox_metallib
gcc -I. -Isrc/ -I/sw/include -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE
-I/sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/compat/dispatch_semaphore
-DPIC -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_avfilter -fno-stack-check
-I/sw/lib/libspeex1/include -I/sw/include -I/opt/X11/include -std=c11
-Werror=partial-availability -fomit-frame-pointer -fPIC -I/opt/X11/include
-I/opt/X11/include -I/opt/X11/include -pthread -I/sw/include -I/sw/include
-I/sw/include/libxml2 -I/sw/include -I/sw/include/freetype2 -I/sw/include
-I/sw/include/bs2b -I/sw/include -I/sw/include -I/sw/include/freetype2
-I/sw/include/fribidi -I/sw/include -I/sw/include -I/sw/include
-I/sw/include/openjpeg-2.4 -I/sw/include -I/sw/include/opus
-I/sw/include/opus -I/sw/include -I/sw/include -I/sw/include -I/sw/include
-I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include
-I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include
-I/sw/include -I/sw/include -I/sw/include -I/sw/include
-I/sw/lib/libcdio-2.1/include -I/opt/X11/include -I/opt/X11/include
-I/opt/X11/include -I/opt/X11/include -g -Wdeclaration-after-statement
-Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-
strings -Wtype-limits -Wundef -Wmissing-prototypes -Wstrict-prototypes
-Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-
pointer-sign -Wno-unused-const-variable -Wno-char-subscripts -O3 -fno-
math-errno -fno-signed-zeros -mstack-alignment=16 -Qunused-arguments
-Werror=implicit-function-declaration -Werror=missing-prototypes -Werror
=return-type -I/sw/include/SDL2 -D_THREAD_SAFE -MMD -MF
libavfilter/metal/vf_yadif_videotoolbox.metallib.d -MT
libavfilter/metal/vf_yadif_videotoolbox.metallib.o -c -o
libavfilter/metal/vf_yadif_videotoolbox.metallib.o
libavfilter/metal/vf_yadif_videotoolbox.metallib.c
sed 's/MAJOR/8/'
/sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/libavfilter/libavfilter.v
| tr " " "\n" | sed -n /global:/,/local:/p | grep ";" | tr ";" "\n" | sed
-E "s/(.+)/_\1/g" | sed -E "s/(.+[^*])$/\1*/" >
libavfilter/libavfilter.ver
<libavfilter.dylib gets rebuilt as well>
<which triggers rebuild of libavdevice.dylib and executables as well>
<finish installing>
install -m 644 libavutil/libavutil.pc "/tmp/prefix4/usr/local/ffmpeg-
clang/lib/pkgconfig"
rm libavfilter/metal/vf_yadif_videotoolbox.metal.air
libavfilter/metal/vf_yadif_videotoolbox.metallib
}}}
Originally found with v5.0 (which is not yet available in the dropdown for
bug reports btw) on macOS 10.14.6 but also happens with git-head.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9687>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list