[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