summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/dash:add copyright to dash.cSteven Liu2017-09-011-0/+21
| | | | Signed-off-by: Steven Liu <[email protected]>
* avcodec/nvenc: only push cuda context on encoder close if encoder existsTimo Rothenpieler2017-09-011-12/+13
| | | | Signed-off-by: Timo Rothenpieler <[email protected]>
* avcodec/nvenc: add support for specifying entropy coding modeTimo Rothenpieler2017-09-014-1/+18
| | | | Signed-off-by: Timo Rothenpieler <[email protected]>
* Use the new AVIOContext destructor.Anton Khirnov2017-09-0110-11/+11
| | | | | (cherry picked from commit 6f554521afdf7ab4edbfaa9536660a1dca946b19) Signed-off-by: James Almer <[email protected]>
* avio: add a destructor for AVIOContextAnton Khirnov2017-09-014-4/+26
| | | | | | | | Before this commit, AVIOContext is to be freed with a plain av_free(), which prevents us from adding any deeper structure to it. (cherry picked from commit 99684f3ae752fc8bfb44a2dd1482f8d7a3d8536d) Signed-off-by: James Almer <[email protected]>
* avformat/dash: move reused API to common file and header fileSteven Liu2017-09-014-127/+180
| | | | | | | | | | | | | | | | | | move from dashenc, move DASHTmplId and dash_fill_tmpl_params to dash.c, they will be used by dash demuxer and dash muxer. v2 fixed: 1. rename common file from dashcomm.* to dash.* Suggested-by: Hendrik Leppkes <[email protected]> v3 fixed: 1. rename header file pre defined 2. add ff_ prefix for the internal API Suggested-by: James Almer <[email protected]> Suggested-by: Timo Rothenpieler <[email protected]> Reviewed-by: wm4 <[email protected]> Signed-off-by: Steven Liu <[email protected]>
* avformat/mxfdec: Fix Sign error in mxf_read_primer_pack()孙浩(晓黑)2017-09-011-1/+1
| | | | | | | | Fixes: 20170829B.mxf Co-Author: 张洪亮(望初)" <[email protected]> Found-by: Xiaohei and Wangchu from Alibaba Security Team Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/mxfdec: Fix DoS issues in mxf_read_index_entry_array()孙浩(晓黑)2017-09-011-0/+4
| | | | | | | | Fixes: 20170829A.mxf Co-Author: 张洪亮(望初)" <[email protected]> Found-by: Xiaohei and Wangchu from Alibaba Security Team Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/nsvdec: Fix DoS due to lack of eof check in nsvs_file_offset loop.孙浩(晓黑)2017-09-011-1/+4
| | | | | | | | Fixes: 20170829.nsv Co-Author: 张洪亮(望初)" <[email protected]> Found-by: Xiaohei and Wangchu from Alibaba Security Team Signed-off-by: Michael Niedermayer <[email protected]>
* avocdec/libopus: fix typopkviet2017-09-011-1/+1
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/mov: prevent duplication of first fragment's ctts_dataDaniel Glöckner2017-09-011-0/+7
| | | | | | | | | | | | | | | | | MP4 files with fragments might have the first moof box that is mentioned in a fragment index before the first mdat box. Since it is then already parsed by mov_read_header, we have to make sure that mov_switch_root will not parse it again when seeking by setting the headers_read flag in the index. Parsing it a second time would cause the ctts_data array to receive a second copy of the information from the trun box, leading to wrong PTS values for the second and following fragments in presence of B-frames. Fixes ticket 6560. Signed-off-by: Daniel Glöckner <[email protected]> Reviewed-by: Dale Curtis <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/mov: Bail when invalid sample data is present.Dale Curtis2017-09-011-23/+10
| | | | | | | | | | | | | | | ctts data in ffmpeg relies on the index entries array to be 1:1 with samples... yet sc->sample_count can be read directly from the 'stsz' box and index entries are only generated if a chunk count has been read from 'stco' box. Ensure that if sc->sample_count > 0, sc->chunk_count is too as a basic sanity check. Additionally we need to check that after the index is built we have the right number of entries, so we also check in mov_read_trun() that sc->sample_count == st->nb_index_entries. Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/concatdec: add fallback for calculating file durationJustin Ruggles2017-08-311-2/+18
| | | | | | | | | If a file does not have a known duration, this leads to the timestamps starting over for the next file, causing non-monotonic timestamps. To prevent this, track the duration during demuxing and use it to determine the current file duration before opening the next file. Signed-off-by: Derek Buitenhuis <[email protected]>
* avcodec/fits: add missing header includesJames Almer2017-08-311-0/+4
| | | | | | Fixes checkheaders. Signed-off-by: James Almer <[email protected]>
* fate: add tests for some video source filtersTobias Rapp2017-08-319-0/+169
| | | | | | | | | | Adds FATE tests for the previously untested allrgb, allyuv, rgbtestsrc, smptebars, smptehdbars and yuvtestsrc filters. Also adds a test for testsrc2 filter with rgb+alpha. Tested-by: Michael Niedermayer <[email protected]> Signed-off-by: Tobias Rapp <[email protected]>
* fate/flvenc: set bitexact output format flag explicitlyJames Almer2017-08-301-1/+1
| | | | | | Using the encoder flags to set the muxer in bitexact mode is deprecated. Signed-off-by: James Almer <[email protected]>
* ffmpeg_opt: add proper deprecation guards to lowres codeJames Almer2017-08-301-1/+3
| | | | Signed-off-by: James Almer <[email protected]>
* fate/pixlet : add test for rgbMartin Vignali2017-08-313-0/+12
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avfilter/vf_mcdeint: remove usage of deprecated AVCodecContext.me_methodJames Almer2017-08-301-1/+1
| | | | Signed-off-by: James Almer <[email protected]>
* avfilter/af_adelay: remove requirement that at least one delay should be ↵Paul B Mahol2017-08-302-6/+0
| | | | | | | | provided Such requirement is not necessary and code works without it just fine. Signed-off-by: Paul B Mahol <[email protected]>
* postproc: remove usage of deprecated QP_STORE_T defineJames Almer2017-08-303-11/+11
| | | | Signed-off-by: James Almer <[email protected]>
* avfilter/vf_mcdeint: free the AVCodecContext struct properlyJames Almer2017-08-301-4/+1
| | | | Signed-off-by: James Almer <[email protected]>
* fate: stop using deprecated filter syntax in hls testsJames Almer2017-08-301-3/+3
| | | | Signed-off-by: James Almer <[email protected]>
* fate: remove usage of deprecated AVCodecContext.me_method in vsynth snow testsJames Almer2017-08-301-2/+2
| | | | Signed-off-by: James Almer <[email protected]>
* configure: require pkg-config for libvmafAshish Singh2017-08-301-2/+1
| | | | | | | | This patch makes the libvmaf filter use pkg-config to detect and link to libvmaf. Signed-off-by: Ashish Singh <[email protected]> Signed-off-by: Ronald S. Bultje <[email protected]>
* avfilter/vf_libvmaf: fix pre convert to framesync2 bugsAshish Singh2017-08-301-6/+4
| | | | | | | | | | Hi, it fixes the errors while converting to framesync2. libvmaf was changed recently, double *score variable is removed in the new version since it's not used anywhere. This patch fixes all the warnings and segmentation faults. Signed-off-by: Ashish Singh <[email protected]> Signed-off-by: Ronald S. Bultje <[email protected]>
* avcodec/codec_desc: make FITS description longerPaul B Mahol2017-08-301-1/+1
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avfilter/vf_lut2: add framesync optionsPaul B Mahol2017-08-301-5/+7
| | | | | | Also stop leaking memory. Signed-off-by: Paul B Mahol <[email protected]>
* FATE: Add FITS testsParas Chadha2017-08-3022-0/+220
| | | | Signed-off-by: Paras Chadha <[email protected]>
* Add FITS MuxerParas Chadha2017-08-304-1/+187
| | | | Signed-off-by: Paras Chadha <[email protected]>
* Add FITS EncoderParas Chadha2017-08-305-2/+133
| | | | Signed-off-by: Paras Chadha <[email protected]>
* Add FITS DemuxerParas Chadha2017-08-304-1/+234
| | | | Signed-off-by: Paras Chadha <[email protected]>
* Add FITS DecoderParas Chadha2017-08-3010-2/+616
| | | | Signed-off-by: Paras Chadha <[email protected]>
* compat/cuda/ptx2c: strip CR from each lineRicardo Constantino2017-08-301-1/+1
| | | | | | | Windows nvcc + cl.exe produce a .ctx file with CR+LF newlines which need to be stripped to work with gcc. Signed-off-by: Timo Rothenpieler <[email protected]>
* configure: add support for libnpp* from cuda sdk 9Timo Rothenpieler2017-08-301-1/+3
| | | | Signed-off-by: Timo Rothenpieler <[email protected]>
* avformat/mxfenc: Replace literal numbers by named enum values.Michael Niedermayer2017-08-301-22/+61
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/snowdec: Fix integer overflow in decode_subband_slice_buffered()Michael Niedermayer2017-08-291-1/+1
| | | | | | | | 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/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/hevc_ps: Fix undefined shift in pcm codeMichael Niedermayer2017-08-291-3/+3
| | | | | | | | 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/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/h264idct_template: Fix integer overflow in ff_h264_idct8_add()Michael Niedermayer2017-08-291-14/+14
| | | | | | | | 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/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/mxfenc: Check that the video codec in D-10 is MPEG-2Michael Niedermayer2017-08-291-0/+4
| | | | | | | | Others do not work, but nothing rejects them prior to this patch if the parameters otherwise match Reviewed-by: Matthieu Bouron <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* lavfi: bump minor version after change in options.Nicolas George2017-08-291-1/+1
|
* doc/filters: document framesync options.Nicolas George2017-08-292-31/+48
|
* lavfi: remove dualinput.Nicolas George2017-08-292-136/+0
|
* vf_ssim: convert to framesync2.Nicolas George2017-08-292-26/+28
|
* lavfi/vf_psnr: convert to framesync2.Nicolas George2017-08-292-24/+28
|
* lavfi/vf_paletteuse: convert to framesync2.Nicolas George2017-08-292-23/+39
|
* lavfi/vf_lut3d: convert to framesync2.Nicolas George2017-08-292-24/+27
|
* lavfi/vf_libvmaf: convert to framesync2.Nicolas George2017-08-292-21/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* lavfi/vf_blend: convert to framesync2.Nicolas George2017-08-292-23/+29
|
* lavfi/vf_overlay: use framesync2 options.Nicolas George2017-08-291-41/+4
|