1. 30 Aug, 2017 17 commits
  2. 29 Aug, 2017 21 commits
    • Michael Niedermayer's avatar
      avcodec/snowdec: Fix integer overflow in decode_subband_slice_buffered() · 732f9764
      Michael Niedermayer authored
      Fixes: runtime error: signed integer overflow: 267 * 8388608 cannot be represented in type 'int'
      Fixes: 2743/clusterfuzz-testcase-minimized-5820652076400640
      
      Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      732f9764
    • Michael Niedermayer's avatar
      avcodec/hevc_ps: Fix undefined shift in pcm code · 2a83866c
      Michael Niedermayer authored
      Fixes: runtime error: shift exponent -1 is negative
      Fixes: 3091/clusterfuzz-testcase-minimized-6229767969832960
      
      Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      2a83866c
    • Michael Niedermayer's avatar
      avcodec/h264idct_template: Fix integer overflow in ff_h264_idct8_add() · 6def8b8d
      Michael Niedermayer authored
      Fixes: 2891/clusterfuzz-testcase-minimized-5881795457318912
      Fixes: runtime error: signed integer overflow: 1551827968 - -775913984 cannot be represented in type 'int'
      
      Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      6def8b8d
    • Michael Niedermayer's avatar
      avformat/mxfenc: Check that the video codec in D-10 is MPEG-2 · 429f3266
      Michael Niedermayer authored
      Others do not work, but nothing rejects them prior to this patch if the
      parameters otherwise match
      Reviewed-by: 's avatarMatthieu Bouron <matthieu.bouron@gmail.com>
      Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      429f3266
    • Nicolas George's avatar
      7302d5e3
    • Nicolas George's avatar
      doc/filters: document framesync options. · 844bc0d8
      Nicolas George authored
      844bc0d8
    • Nicolas George's avatar
      lavfi: remove dualinput. · 607900c9
      Nicolas George authored
      607900c9
    • Nicolas George's avatar
      vf_ssim: convert to framesync2. · ef217647
      Nicolas George authored
      ef217647
    • Nicolas George's avatar
      lavfi/vf_psnr: convert to framesync2. · 3bd11df4
      Nicolas George authored
      3bd11df4
    • Nicolas George's avatar
      23000c3d
    • Nicolas George's avatar
      lavfi/vf_lut3d: convert to framesync2. · eacb3ec9
      Nicolas George authored
      eacb3ec9
    • 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
    • Nicolas George's avatar
      lavfi/vf_blend: convert to framesync2. · c1d8d33a
      Nicolas George authored
      c1d8d33a
    • Nicolas George's avatar
      lavfi/vf_overlay: use framesync2 options. · 878fd054
      Nicolas George authored
      878fd054
    • Nicolas George's avatar
      lavfi/framesync2: add common options. · 05a23b25
      Nicolas George authored
      Also add functions and macros to help filters chaining these
      options to their own.
      05a23b25
    • Nicolas George's avatar
      lavfi: search options on child objects. · dfa3aaa2
      Nicolas George authored
      The child objects must be allocated and inited in the
      preinit() callback.
      dfa3aaa2
    • Nicolas George's avatar
      lavfi: add a preinit callback to filters. · f8d7b5fe
      Nicolas George authored
      It is necessary for filters with child objects, to set the class
      and default options values.
      f8d7b5fe
    • Nicolas George's avatar
      lavfi/vf_overlay: move to framesync2. · 19804024
      Nicolas George authored
      19804024
    • Nicolas George's avatar
      0ae8df41
    • Nicolas George's avatar
      6bde475c
    • James Almer's avatar
      avcodec/snowenc: fix setting motion_est option · 95a6de56
      James Almer authored
      Remove usage of FF_MPV_COMMON_OPTS, and set SnowContext.motion_est directly.
      Based on code from svq1enc.c
      Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
      Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      95a6de56
  3. 28 Aug, 2017 2 commits