• Nicolas George's avatar
    lavfi/vf_libvmaf: convert to framesync2. · a8ab52fa
    Nicolas George authored
    After this commit, the code compiles, but on my setup it
    segfaults before and after. It also prints the very worrying
    warning:
    
    src/libavfilter/vf_libvmaf.c:161:66: warning: passing argument 4 of ‘compute_vmaf’ from incompatible pointer type [-Wincompatible-pointer-types]
    /tmp/i/include/libvmaf.h:26:8: note: expected ‘int (*)(float *, float *, float *, int,  void *)’ but argument is of type ‘int (*)(float *, float *, float *, int,  double *, void *)’
    
    ==12116== Thread 6:
    ==12116== Conditional jump or move depends on uninitialised value(s)
    ==12116==    at 0x526D432: cons_ (ocval.h:1188)
    ==12116==    by 0x526D432: GenericIT (ocval.h:1119)
    ==12116==    by 0x526D432: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:92)
    ==12116==    by 0x5211F5D: loads (pickleloader.h:566)
    ==12116==    by 0x5211F5D: LoadValFromArray (chooseser.h:290)
    ==12116==    by 0x5211F5D: LoadValFromFile (chooseser.h:405)
    ==12116==    by 0x5211F5D: _read_and_assert_model(char const*, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&) (vmaf.cpp:77)
    ==12116==    by 0x5212B0F: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:149)
    ==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
    ==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
    ==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
    ==12116==    by 0x7967493: start_thread (pthread_create.c:333)
    ==12116==    by 0x7F69A8E: clone (clone.S:97)
    ==12116==
    ==12116== Conditional jump or move depends on uninitialised value(s)
    ==12116==    at 0x526D432: cons_ (ocval.h:1188)
    ==12116==    by 0x526D432: GenericIT (ocval.h:1119)
    ==12116==    by 0x526D432: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:92)
    ==12116==    by 0x526D50D: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:94)
    ==12116==    by 0x5211F5D: loads (pickleloader.h:566)
    ==12116==    by 0x5211F5D: LoadValFromArray (chooseser.h:290)
    ==12116==    by 0x5211F5D: LoadValFromFile (chooseser.h:405)
    ==12116==    by 0x5211F5D: _read_and_assert_model(char const*, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&) (vmaf.cpp:77)
    ==12116==    by 0x5212B0F: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:149)
    ==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
    ==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
    ==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
    ==12116==    by 0x7967493: start_thread (pthread_create.c:333)
    ==12116==    by 0x7F69A8E: clone (clone.S:97)
    ==12116==
    ==12116== Conditional jump or move depends on uninitialised value(s)
    ==12116==    at 0x526D432: cons_ (ocval.h:1188)
    ==12116==    by 0x526D432: GenericIT (ocval.h:1119)
    ==12116==    by 0x526D432: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:92)
    ==12116==    by 0x526D50D: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:94)
    ==12116==    by 0x526D50D: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:94)
    ==12116==    by 0x5211F5D: loads (pickleloader.h:566)
    ==12116==    by 0x5211F5D: LoadValFromArray (chooseser.h:290)
    ==12116==    by 0x5211F5D: LoadValFromFile (chooseser.h:405)
    ==12116==    by 0x5211F5D: _read_and_assert_model(char const*, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&) (vmaf.cpp:77)
    ==12116==    by 0x5212B0F: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:149)
    ==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
    ==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
    ==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
    ==12116==    by 0x7967493: start_thread (pthread_create.c:333)
    ==12116==    by 0x7F69A8E: clone (clone.S:97)
    ==12116==
    ==12116== Use of uninitialised value of size 8
    ==12116==    at 0x518AC79: read_frame_8bit (vf_libvmaf.c:147)
    ==12116==    by 0x52AB5E8: combo (combo.c:149)
    ==12116==    by 0x5212E95: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:278)
    ==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
    ==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
    ==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
    ==12116==    by 0x7967493: start_thread (pthread_create.c:333)
    ==12116==    by 0x7F69A8E: clone (clone.S:97)
    ==12116==
    ==12116== Invalid read of size 4
    ==12116==    at 0x518AC79: read_frame_8bit (vf_libvmaf.c:147)
    ==12116==    by 0x52AB5E8: combo (combo.c:149)
    ==12116==    by 0x5212E95: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:278)
    ==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
    ==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
    ==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
    ==12116==    by 0x7967493: start_thread (pthread_create.c:333)
    ==12116==    by 0x7F69A8E: clone (clone.S:97)
    ==12116==  Address 0x40 is not stack'd, malloc'd or (recently) free'd
    ==12116==
    ==12116==
    ==12116== Process terminating with default action of signal 11 (SIGSEGV)
    ==12116==  Access not within mapped region at address 0x40
    ==12116==    at 0x518AC79: read_frame_8bit (vf_libvmaf.c:147)
    ==12116==    by 0x52AB5E8: combo (combo.c:149)
    ==12116==    by 0x5212E95: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:278)
    ==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
    ==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
    ==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
    ==12116==    by 0x7967493: start_thread (pthread_create.c:333)
    ==12116==    by 0x7F69A8E: clone (clone.S:97)
    a8ab52fa
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_opencl.c Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_cuvid.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_hw.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_qsv.c Loading commit data...
ffmpeg_videotoolbox.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver_config.c Loading commit data...
ffserver_config.h Loading commit data...