summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavc: add new API for iterating codecs and codec parsersJosh de Kock2018-02-06
| | | | Based on an unfinished patch by atomnuker.
* avcodec/me_cmp: remove ff_me_cmp_init_static()Muhammad Faiz2018-02-05
| | | | | | | Precalculate and constify ff_square_tab. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* avcodec/utvideodec: Fix bytes left check in decode_frame()Michael Niedermayer2018-02-05
| | | | | | | | Fixes: out of array read Fixes: poc-2017.avi Found-by: GwanYeong Kim <gy741.kim@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* id3v2: fix unsynchronizationwm42018-02-04
| | | | | | | | | | | | | | | The ID3v2 "unsynchronization scheme" requires replacing any 0xFF 0x00 sequences with 0xFF. This has to be done on every byte of the source data, while the current code skipped a byte after a replacement. This meant 0xFF 0x00 0xFF 00 was translated to 0xFF 0xFF 0x00 instead of 0xFF 0xFF. It feels a bit messy to do this correctly with the avio use. But fortunately, this translation can be done in-place, so we can just do it in memory. Inspired by what taglib does. Also see 9ae80e6a9cefcab61e867256ba19ef78a4bfe0cb. (The sample file for that commit is gone, so it could not be retested.)
* rtsp: rename certain options after a deprecation periodwm42018-02-04
| | | | | | The "timeout" option name inherently clashes with the meaning of the HTTP libavformat protocol option with the same name. Rename it after a deprecation period to make it compatible with the HTTP one.
* examples: Add a VA-API transcode example.Jun Zhao2018-02-04
| | | | | | | | | | | | | | Usage is: ./vaapi_transcode input_stream codec output_stream For example: - ./vaapi_transcode input.mp4 h264_vaapi output_h264.mp4 - ./vaapi_transcode input.mp4 vp8_vaapi output_vp8.ivf Does not handle resolution changes on the input stream. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avcodec: do not use init_static_data on some codecsMuhammad Faiz2018-02-04
| | | | | | | | | | | | | | They don't modify AVCodec, no needs to call it at register. They will be wasteful if these codecs are unused. Instead, call static data initialization at codecs' init. Benchmark: old: 51281340 decicycles in avcodec_register_all, 1 runs, 0 skips new: 6738960 decicycles in avcodec_register_all, 1 runs, 0 skips Reviewed-by: wm4 <nfxjfg@googlemail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* avcodec/wavpack: Fix integer overflow in FFABSMichael Niedermayer2018-02-03
| | | | | | | | Fixes: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself Fixes: 5396/clusterfuzz-testcase-minimized-6558555529281536 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/af_join: Fix crash in join filterNikolas Bowe2018-02-03
| | | | | | | Previously if ff_outlink_frame_wanted() returned 0 it could dereference a null pointer when trying to read nb_samples. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/ffv1enc: mark RGB48 support as non-experimentalJérôme Martinez2018-02-03
| | | | | | Remove the 2nd mark, 1st mark was removed in 58e16a4 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffprobe: remove usage of deprecation warning removal pragmasJames Almer2018-02-02
| | | | | | Fixes compilation in non Windows targets. Signed-off-by: James Almer <jamrial@gmail.com>
* ffprobe: Initialize coded_width/heightZhong Li2018-02-02
| | | | | | | | | | coded_width/height are unnitialized and will be overwritten by dec_ctx->width/height in avcodec_open2() This fixes tiket #6958. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: James Almer <jamrial@gmail.com>
* librsvgdec: Fix frame clearing codeCalvin Walton2018-02-02
| | | | | | | | | | | | The existing code attempts to clear the frame by painting in OVER mode with transparent black - which is a no-op. As a result if you have many input frames (e.g. you're using a sequence of svg files), you'll start to see new frames drawn over old frames as memory gets re-used. Switch the code to paint using the CLEAR compositing operator, which fills every channel with 0 values (setting a source colour is not required).
* fate: add id3v2 testRichard Shaffer2018-02-02
| | | | | | Adds basic unit test for parsing ID3v2 tags. Signed-off-by: James Almer <jamrial@gmail.com>
* configure: Remove carriage return ('\r') in Windows CC_IDENTXiaohan Wang2018-02-02
| | | | | | | | | | | | | | | | | | | | | | Currently the Windows CC_IDENT is ended with '\r\n'. "head -n1" will not remove the '\r' and this is causing building error in Chromium. This CL adds "tr -d '\r'" to remove '\r' in the CC_IDENT string. Since in most cases '\r' only appears at the end of a string/line, this should work in most cases. See example: printf "hello\r\nworld\r\n" | head -n1 | hd 00000000 68 65 6c 6c 6f 0d 0a |hello..| printf "hello\r\nworld\r\n" | head -n1 | tr -d '\r' | hd 00000000 68 65 6c 6c 6f 0a |hello.| Also note a similar previous change at: https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2013-October/069950.html Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/aacsbr_fixed: Fix overflows in rounding in sbr_hf_assemble()Michael Niedermayer2018-02-02
| | | | | | | | Fixes: runtime error: signed integer overflow: 2052929346 + 204817098 cannot be represented in type 'int' Fixes: 5275/clusterfuzz-testcase-minimized-5367635958038528 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: Fix memleaks in decode_header()Michael Niedermayer2018-02-02
| | | | | | | Fixes: 4793/clusterfuzz-testcase-minimized-5707366629638144 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/hls: store referer message in HLS http requestSteven Liu2018-02-01
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/http: add referer option into httpSteven Liu2018-02-01
| | | | | add Referer message if referer have been set. Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avfilter: add comments for duplicate lineSteven Liu2018-02-01
| | | | | | | | | comment about the looks like a duplicate line. but that is used to reason x is expressed from y Suggested-by: Paul B Mahol Suggested-by: Michael Niedermayer Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avcodec/vc2enc: prevent bitrate overshootsRostislav Pehlivanov2018-01-31
| | | | | | | The rounding caused by the size scaler wasn't compensated for and the slice sizes grew beyond what is allowed per frame. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
* avcodec/dirac_dwt: Fix several integer overflowsMichael Niedermayer2018-01-30
| | | | | | | | Fixes: runtime error: signed integer overflow: -2146071175 + -268479557 cannot be represented in type 'int' Fixes: 5237/clusterfuzz-testcase-minimized-4569895275593728 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/indeo5: Do not leave frame_type set to an invalid valueMichael Niedermayer2018-01-30
| | | | | | | | Fixes: null pointer dereference Fixes: 5264/clusterfuzz-testcase-minimized-4621956621008896 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_ps: Check log2_sao_offset_scale_*Michael Niedermayer2018-01-30
| | | | | | | | Fixes: 4868/clusterfuzz-testcase-minimized-6236542906400768 Fixes: runtime error: shift exponent 126 is too large for 32-bit type 'int' Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mediacodecdec: use ff_hevc_ps_uninit()James Almer2018-01-30
| | | | | | Fixes memleaks. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parser: use ff_hevc_decode_extradata() to parse extradataJames Almer2018-01-30
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mpegaudio_parser: Skip APE tags when parsing mp3 packets.Dale Curtis2018-01-30
| | | | | | | | | Otherwise the decoder will throw "Missing header" errors when the packets are sent for decoding. This is similar to 89a420b71b5. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mpegenc - fix typo in VBV warningGyan Doshi2018-01-30
| | | | | | Default VBV buffer size is 230KB, not 130KB. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/Makefile: add missing opus.c dependency to opus encoderJames Almer2018-01-30
| | | | | | Needed for ff_celt_quant_bands and ff_celt_bitalloc. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mlp_parser: reindent after last commitJames Almer2018-01-29
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mlp_parser: don't try to combine frames when full frames are providedJames Almer2018-01-29
| | | | | | | Attempting full frame reconstruction is unnecessary for non raw containers, so just skip it altogether. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskadec: force full frame parsing of MLP/TrueHD streamsJames Almer2018-01-29
| | | | | | | There's at least one known file with a TrueHD stream that hasn't been correctly muxed, and requires full frame parsing and repack. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mpeg4videodec: Avoid possibly aliasing violating castsMichael Niedermayer2018-01-29
| | | | | | Found-by: kierank Reviewed-by: Kieran Kunhya <kieran618@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/get_bits: Document the return code of get_vlc2()Michael Niedermayer2018-01-29
| | | | | | Found-by: kierank Reviewed-by: Kieran Kunhya <kieran618@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4videodec: Check mb_num also against 0Michael Niedermayer2018-01-29
| | | | | | | | The spec implies that 0 is invalid in addition to the existing checks Found-by: <kierank> Reviewed-by: Kieran Kunhya <kieran618@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* dashdec: Fix segfault on decoding segment timelineBrendan McGrath2018-01-29
| | | | | | | | | | If first_seq_no is not within the bounds of timelines then a segfault will occur. This patch removes the use of first_seq_no within the timelines array It also adds first_seq_no to the value returned by calc_next_seg_no_from_timelines (which allows for different values of 'startNumber') Signed-off-by: Brendan McGrath <redmcg@redmandi.dyndns.org>
* avformat: deprecate AVFormatContext filename fieldMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/hls: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* fftools, tools, examples: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat: add url field to AVFormatContextMarton Balint2018-01-28
| | | | | | | | | This will replace the 1024 character limited filename field. Compatiblity for output contexts are provided by copying filename field to URL if URL is unset and by providing an internal function for muxers to set both url and filename at once. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/hlsenc: use av_bprintf without buffer limit in ↵Marton Balint2018-01-28
| | | | | | | | replace_int_data_in_filename In preparation for the deprecation of AVFormatContext->filename. Signed-off-by: Marton Balint <cus@passwd.hu>
* checkasm : add test for losslessvideoencdsp for diff bytes and sub_left_predMartin Vignali2018-01-28
|
* avcodec/utvideoenc : add SIMD (avx) for sub_left_predictionMartin Vignali2018-01-28
| | | | asm code by Henrik Gramner
* avfilter/x86/vf_blend : avfilter/x86/vf_blend : add AVX2 version for each ↵Martin Vignali2018-01-28
| | | | | | func except divide and optimize average, grainextract, multiply, screen, grain merge
* avfilter/vf_framerate: add SIMD functions for frame blendingMarton Balint2018-01-28
| | | | | | | | | | | | | | | | | | Blend function speedups on x86_64 Core i5 4460: ffmpeg -f lavfi -i allyuv -vf framerate=60:threads=1 -f null none C: 447548411 decicycles in Blend, 2048 runs, 0 skips SSSE3: 130020087 decicycles in Blend, 2048 runs, 0 skips AVX2: 128508221 decicycles in Blend, 2048 runs, 0 skips ffmpeg -f lavfi -i allyuv -vf format=yuv420p12,framerate=60:threads=1 -f null none C: 228932745 decicycles in Blend, 2048 runs, 0 skips SSE4: 123357781 decicycles in Blend, 2048 runs, 0 skips AVX2: 121215353 decicycles in Blend, 2048 runs, 0 skips Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_framerate: change blend factor precisionMarton Balint2018-01-28
| | | | | | | | | | | | | This is done mainly in preparation for the SIMD patches. - for the 8-bit input, decrease the blend factor precision to 7-bit. - for the 16-bit input, increase the blend factor precision to 15-bit. - make sure the blend functions are not called with 0 or maximum blending factors, because we don't want the signed factor integers to overflow. Fate test changes are due to different rounding. Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_framerate: factorize blend functions and unify filter_sliceMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_framerate: unify luma and chroma blendingMarton Balint2018-01-28
| | | | | | The expressions were mathematically equvivalent... Signed-off-by: Marton Balint <cus@passwd.hu>