summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec/get_bits: add cached bitstream readerPaul B Mahol2018-08-30
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* frei0r: handle string paramsRaphael Graf2018-08-30
| | | | | | | | | This is needed for some of the frei0r filters (facebl0r and facedetect) which accept string parameters. Fixes the issue described here: http://www.ffmpeg-archive.org/Unable-to-set-ffmpeg-frei0r-facedetect-filter-parameter-td4680190.html Signed-off-by: Raphael Graf <r@undefined.ch>
* avcodec/scpr: error out if run length is <= 0Paul B Mahol2018-08-29
|
* avformat/dashdec: Add a re-entrance check point after an interrupt operationColin NG2018-08-29
|
* avformat/dashdec: Fix calc_cur_seg_no if availability_start_time notJacek Jendrzej2018-08-29
| | | | Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
* ffmpeg: add correct field for raw pts in -progress reportGyan Doshi2018-08-28
| | | | | | | | | PTS is in microseconds, so correct field name is out_time_us. Old field out_time_ms kept for now - will be removed after a suitable transition period. Fixes #7345
* atrac9dec: clean up code slightlyRostislav Pehlivanov2018-08-28
| | | | | | | Just remove some dead variable assignments, unneeded variables and change the FFMAX order to something more readable. Still identical. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* atrac9dec: implement LFE channel decodingRostislav Pehlivanov2018-08-27
| | | | | | | Much simpler than regular decoding, does allow for 5.1 and 7.1 streams to be decoded without desync. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* atrac9dec: relax gradient value requirementsRostislav Pehlivanov2018-08-27
| | | | | | | | Unlike the range, the gradient start value does not have to be lower than the end value. Does allow more files to be correctly decoded without errors. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* configure: [loongson] revert no-expensive-optimizationsShiyou Yin2018-08-27
| | | | | | | | | | | Add gcc version check before add -fno-expensive-optimizations flag. Only when gcc version is lower than 5.3.0, this flag is needed. More bug info see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67736 https://gcc.gnu.org/ml/gcc-patches/2012-05/msg00401.html Signed-off-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: add WinCAM Motion Video decoderPaul B Mahol2018-08-27
|
* avcodec: add MatchWare Screen Capture CodecPaul B Mahol2018-08-27
|
* vaapi_encode: Factorise out adding global parametersMark Thompson2018-08-27
|
* vaapi_encode: Remove common priv_data and options fieldsMark Thompson2018-08-27
| | | | | The codec-specific context now contains both the common context and the codec-specific options directly.
* vaapi_encode_vp9: Move options and common structures into contextMark Thompson2018-08-27
|
* vaapi_encode_vp8: Move options and common structures into contextMark Thompson2018-08-27
|
* vaapi_encode_mpeg2: Move common structure into contextMark Thompson2018-08-27
|
* vaapi_encode_mjpeg: Move common structure into contextMark Thompson2018-08-27
|
* vaapi_encode_h265: Move options and common structures into contextMark Thompson2018-08-27
| | | | Matching previous commit for H.264.
* vaapi_encode_h264: Move options and common structures into contextMark Thompson2018-08-27
| | | | | This will make it easier to support options in common between different encoders. It also cleans up some of the field naming.
* configure: speed up check_deps()Avi Halachmi (:avih)2018-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | x4 - x25 faster. check_deps() recursively enables/disables components, and its loop is iterated nearly 6000 times. It's particularly slow in bash - currently consuming more than 50% of configure runtime, and about 20% with other shells. This commit applies few local optimizations, most effective first: - Use $1 $2 ... instead of pushvar/popvar, and same at enable_deep* - Abort early in one notable case - empty deps, to avoid costly no-op. - Smaller changes which do add up: - Handle ${cfg}_checking locally instead of via enable[d]/disable - ${cfg}_checking: test done before inprogress - x2 faster in 50%+ - one eval instead of several at the empty-deps early abort path. - The "actual work" part is unmodified - just its surroundings. Biggest speedups (relative and absolute) are observed with bash. Tested-by: Michael Niedermayer <michael@niedermayer.cc> Tested-by: Helmut K. C. Tessarek <tessarek@evermeet.cx> Tested-by: Dave Yeo <daveryeo@telus.net> Tested-by: Reino Wijnsma <rwijnsma@xs4all.nl> Signed-off-by: James Almer <jamrial@gmail.com>
* configure: speed up print_enabled_components()Avi Halachmi (:avih)2018-08-27
| | | | | | | | | | | | | | | | | | | | | | x4 - x10 faster. Inside print_enabled components, the filter_list case invokes sed about 350 times to parse the same source file and extract different info for each arg. This is never instant, and on systems where fork is slow (notably MSYS2/Cygwin on windows) it takes many seconds. Change it to use sed once on the source file and set env vars with the parse results, then use these results inside the loop. Additionally, the cases of indev_list and outdev_list are very infrequent, but nevertheless they're faster, and arguably cleaner, with shell parameter substitutions than with command substitutions. Tested-by: Michael Niedermayer <michael@niedermayer.cc> Tested-by: Helmut K. C. Tessarek <tessarek@evermeet.cx> Tested-by: Dave Yeo <daveryeo@telus.net> Tested-by: Reino Wijnsma <rwijnsma@xs4all.nl> Signed-off-by: James Almer <jamrial@gmail.com>
* configure: speed up flatten_extralibs_wrapper()Avi Halachmi (:avih)2018-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | x50 - x200 faster. Currently configure spends 50-70% of its runtime inside a single function: flatten_extralibs[_wrapper] - which does string processing. During its run, nearly 20K command substitutions (subshells) are used, including its callees unique() and resolve(), which is the reason for its lengthy run. This commit avoids all subshells during its execution, speeding it up by about two orders of magnitude, and reducing the overall configure runtime by 50-70% . resolve() is rewritten to avoid subshells, and in unique() and flatten_extralibs() we "inline" the filter[_out] functionality. Note that logically, "unique" functionality has more than one possible output (depending on which of the recurring items is kept). As it turns out, other parts expect the last recurring item to be kept (which was the original behavior of uniqie()). This patch preservs its output order. Tested-by: Michael Niedermayer <michael@niedermayer.cc> Tested-by: Helmut K. C. Tessarek <tessarek@evermeet.cx> Tested-by: Dave Yeo <daveryeo@telus.net> Tested-by: Reino Wijnsma <rwijnsma@xs4all.nl> Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/encode: fix frame_number double-countedZhong Li2018-08-27
| | | | | | | | | | Encoder frame_number may be double-counted if some frames are cached and then flushed. Take qsv encoder (some frames are cached firsty for asynchronism) as example, ./ffmpeg -loglevel verbose -hwaccel qsv -c:v h264_qsv -i in.mp4 -vframes 100 -c:v h264_qsv out.mp4 frame_number passed to encoder is double-counted and larger than the accurate value. Libx264 encoding with B frames can also reproduce it. Signed-off-by: Zhong Li <zhong.li@intel.com>
* avcodec/proresdec2: add frame threading supportPaul B Mahol2018-08-26
|
* avcodec/mscc: fix several bugsPaul B Mahol2018-08-26
| | | | | | Fixes #6342. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavfi/avf_concat: switch to activate.Nicolas George2018-08-26
| | | | Fix trac ticket #7351.
* mpeg4video: Add Studio DPCM supportKieran Kunhya2018-08-25
|
* avformat/mpegts: add missing null pointer checks in ff_parse_mpeg2_descriptor()Michael Niedermayer2018-08-25
| | | | | | | | Fixes: null pointer dereference Fixes: wtv-crash-75fa58662ded1c1d349f3d1df89394fd690cf92f Found-by: Paul Ch <paulcher@icloud.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hq_hqa: Check remaining input bits in hqa_decode_mb()Michael Niedermayer2018-08-25
| | | | | | | | Fixes: Timeout Fixes: 9634/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HQ_HQA_fuzzer-6267852259590144 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vb: Check for end of bytestream before reading blocktypeMichael Niedermayer2018-08-25
| | | | | | | | Fixes: Timeout Fixes: 9601/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VB_fuzzer-4550228702134272 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/snowdec: Fix integer overflow with motion vector residualMichael Niedermayer2018-08-25
| | | | | | | | Fixes: signed integer overflow: -19818 + -2147483648 cannot be represented in type 'int' Fixes: 9545/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-4928769537081344 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* allcodecs: reorder ff_bitpacked_decoderRostislav Pehlivanov2018-08-25
| | | | | | Needs to be in alphabetical order. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec/mpeg4videodec: Fix slice end detection in mpeg4_decode_studio_mb()Michael Niedermayer2018-08-25
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utils: document allocation requirement of extradataTimo Rothenpieler2018-08-25
|
* doc/examples/vaapi_transcode: re-licensed to MIT-license.Jun Zhao2018-08-25
| | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* doc/examples/vaapi_encode: re-licensed to MIT-license.Jun Zhao2018-08-25
| | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* doc/examples/hw_decode: re-licensed to MIT-license.Jun Zhao2018-08-25
| | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* avcodec/prosumer: fix some minor issuesPaul B Mahol2018-08-24
|
* avcodec: add Brooktree ProSumer Video decoderPaul B Mahol2018-08-24
|
* avformat/movenc: implicitly enable negative CTS offsets for ismvJan Ekström2018-08-24
| | | | | | | | | | | ISMV lacks any sort of edit list support, as well as tfxd is effectively the PTS of the fragment for most intents and purposes. Thus, if b-frames are requested without negative CTS offsets you end up with N frames' worth of delay (tfxd PTS plus the CTS offset of the first sample). Negative CTS offsets enable the first sample to have CTS=DTS, and thus a/v desync due to b-frame reorder delay is avoided.
* avformat/flvdec: don't propagate empty extradataJames Almer2018-08-24
| | | | | | | Fixes ticket #7379 Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/movenc: support Opus packets with more than 60ms of audio when ↵James Almer2018-08-24
| | | | | | | | | | writing the Sample Group Description Since libopus 1.2, packets of sizes 80ms, 100ms and 120ms are allowed. Fixes assertion failures when trying to mux such streams. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libopusenc: support encoding packets of sizes bigger than 60msJames Almer2018-08-24
| | | | | | | Packets of sizes 80ms, 100ms and 120ms are allowed since libopus 1.2 Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/Makefile: Fix standalone compilation of the matroska and webm muxers.Carl Eugen Hoyos2018-08-24
| | | | Reported-by: irc user Kam_
* avdevice/decklink_enc: print preroll and buffer sizeGyan Doshi2018-08-24
| | | | Helpful in diagnosing latency issues.
* Revert "avcodec/opus_parser: Handle complete frames flag."James Almer2018-08-23
| | | | | | | | This reverts commit 7e0df5910ec0f107cd0700d6b9359d29177f1933. "complete frames" containers, even if they don't need to assemble packets, still depended on this code for proper packet duration and timestamp generation.
* lavc/extract_extradata_bsf.c: add AVS2hwren2018-08-23
| | | | | | Signed-off-by: hwren <hwrenx@126.com> Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: Correct opus-in-mp4 pre-skip to be uint16_t versus int16_t.Dale Curtis2018-08-23
| | | | | | | | | This field is a uint16_t, see docs: http://opus-codec.org/docs/opus_in_isobmff.html#4.3.2 Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* configure: do not add fsanitize cflags with ossfuzz if coverage is testedMichael Niedermayer2018-08-23
| | | | | Found-by: Max Moroz Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>