summaryrefslogtreecommitdiff
path: root/ffmpeg_filter.c
Commit message (Collapse)AuthorAge
* ffmpeg: check for unconnected outputswm42017-05-05
| | | | | | Fixes e.g.: ffmpeg -f lavfi -i testsrc -f lavfi -i testsrc -filter_complex "[0:v][1:v]psnr[out]" -f null none
* ff*: do not use AVFrame accessorMuhammad Faiz2017-04-23
| | | | | Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* ffmpeg: Remove hw_device_ctx output filter reinit hackMark Thompson2017-03-26
| | | | | | | | This was skipped in c17563c5d3c974a69709ebae0171534763b3051c because it depended on the filter setup merge, but was forgotten after that actually happened. Fixes hwaccel fate for stream size change tests.
* ffmpeg: don't use resample_lavr_optsRostislav Pehlivanov2017-03-16
| | | | | | | That pointer isn't used by absolutely anything. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'b0f36a0043d76436cc7ab8ff92ab99c94595d3c0'Clément Bœsch2017-03-12
| | | | | | | * commit 'b0f36a0043d76436cc7ab8ff92ab99c94595d3c0': avconv: stop using setpts for input framerate forced with -r Merged-by: Clément Bœsch <u@pkh.me>
* ffmpeg: properly cleanup filter graph on init failurewm42017-03-03
| | | | | | | | | | | | | The filter field is often used to check whether a filter is configured. If configuring the filter actually fails somewhere in the middle of it, these fields could still be set to non-NULL, which lead to other code accessing the half-configured filter graph, which in turn could lead to crashes within libavfilter. Solve this by properly resetting all fields. This was triggered by a fuzzed sample after the recent changes. It's unknown whether this behavior could be triggered before that.
* ffmpeg: delay processing of subtitles before filters are initializedwm42017-03-03
| | | | | | | If a subtitle packet came before the first video frame could be fully decoded, the subtitle packet would get discarded. This puts the subtitle into a queue instead, and processes it once the attached filter graph is initialized.
* ffmpeg: restructure sending EOF to filtersAnton Khirnov2017-03-03
| | | | | | | | | | | | | | | | | | Be more careful when an input stream encounters EOF when its filtergraph has not been configured yet. The current code would immediately mark the corresponding output streams as finished, while there may still be buffered frames waiting for frames to appear on other filtergraph inputs. This should fix the random FATE failures for complex filtergraph tests after a3a0230a9870b9018dc7415ae5872784d524cfe5 This merges Libav commit 94ebf55. It was previously skipped. This is the last filter init related Libav commit that was skipped, so this also removes the commits from doc/libav-merge.txt. Signed-off-by: wm4 <nfxjfg@googlemail.com>
* ffmpeg: move flushing the queued frames to configure_filtergraph()Anton Khirnov2017-03-03
| | | | | | | | | This is a more appropriate place for it, and will also be useful in the following commit. This merges Libav commit d2e56cf. It was previously skipped. Signed-off-by: wm4 <nfxjfg@googlemail.com>
* ffmpeg: fix printing of filter input/output nameswm42017-03-03
| | | | | | | Broken by the previous Libav commit (even in Libav, thus a separate commit). Signed-off-by: wm4 <nfxjfg@googlemail.com>
* ffmpeg: init filtergraphs only after we have a frame on each inputAnton Khirnov2017-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure the actual stream parameters are used, which is important mainly for hardware decoding+filtering cases, which would previously require various weird workarounds to handle the fact that a fake software graph has to be constructed, but never used. This should also improve behaviour in rare cases where avformat_find_stream_info() does not provide accurate information. This merges Libav commit a3a0230. It was previously skipped. The code in flush_encoders() which sets up a "fake" format wasn't in Libav. I'm not sure if it's a good idea, but it tends to give behavior closer to the old one in certain corner cases. The vp8-size-change gives different result, because now the size of the first frame is used. libavformat reported the size of the largest frame for some reason. The exr tests now use the sample aspect ratio of the first frame. For some reason libavformat determines 0/1 as aspect ratio, while the decoder returns the correct one. The ffm and mxf tests change the field_order values. I'm assuming another libavformat/decoding mismatch. Signed-off-by: wm4 <nfxjfg@googlemail.com>
* ffmpeg: use buffersink accessors.Nicolas George2017-01-12
|
* lavfi, ffmpeg: simplify filter names.Nicolas George2017-01-12
| | | | | | The names are only used for technical output and debugging. Make them similar to C identifiers for easier quick reading of debug dumps.
* ffmpeg_filter: fix several logic failuresPaul B Mahol2016-11-24
| | | | | | | | | Move global thread variables to better place. Use correct variable for simple and complex filtergraphs. This makes number of threads set per filter work again. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Merge commit '50722b4f0cbc5940e9e6e21d113888436cc89ff5'Hendrik Leppkes2016-11-13
| | | | | | | * commit '50722b4f0cbc5940e9e6e21d113888436cc89ff5': avconv: decouple configuring filtergraphs and setting output parameters Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
* ffmpeg_filter: fix hwaccel transcodingHendrik Leppkes2016-11-13
| | | | Based on a patch by Yogender Gupta <ygupta@nvidia.com>
* ffmpeg: parameters for filter thread countsDeHackEd2016-11-06
| | | | | | Enables specifying how many threads are available to each filtergraph. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg: fix width/height overrides for sub2video processingHendrik Leppkes2016-11-03
|
* Merge commit '722ec3eb35bc152ce91d0a4502eca0df1c0086d0'Hendrik Leppkes2016-11-03
| | | | | | | * commit '722ec3eb35bc152ce91d0a4502eca0df1c0086d0': avconv: decouple configuring filtergraphs and setting input parameters Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
* ffmpeg: switch to codecparClément Bœsch2016-09-21
| | | | | | | | | | | | | | | | | | | | This commit is largely based on commit 15e84ed3 from Anton Khirnov <anton@khirnov.net> which was previously skipped in bbf5ef9d. There are still a bunch of things raising codecpar related warnings that need fixing, such as: - the use of codec->debug in the interactive debug mode - read_ffserver_streams(): it's probably broken now but there is no test - lowres stuff - codec copy apparently required by bitstream filters The matroska references are updated because they now properly forward the field_order (previously unknown, now progressive). Thanks to James Almer for fixing a bunch of FATE issues in this commit. Signed-off-by: Clément Bœsch <clement@stupeflix.com> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '73c6ec6d659bab11ac424a4ba6ce3a56246295ee' into mergeTimothy Gu2016-08-03
| | | | | | | * commit '73c6ec6d659bab11ac424a4ba6ce3a56246295ee': avconv: create simple filtergraphs earlier Merged-by: Timothy Gu <timothygu99@gmail.com>
* Merge commit '49670e4218d34899a1c37abb7a11615efc16f757'Timothy Gu2016-08-03
| | | | | | | | | | * commit '49670e4218d34899a1c37abb7a11615efc16f757': avconv: add a function for determining whether a filtergraph is simple Conflicts: avconv.c Merged-by: Timothy Gu <timothygu99@gmail.com>
* ffmpeg_filter: Fix AVBufferSrcParameters leakMichael Niedermayer2016-05-19
| | | | | | Fixed: CID1361950 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '5d273d3efac340ef8de445c955ff44c7abed4e8f'Derek Buitenhuis2016-05-08
| | | | | | | * commit '5d273d3efac340ef8de445c955ff44c7abed4e8f': avconv: VAAPI hwcontext initialisation and hwaccel helper Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* fix some a/an typosLou Logan2016-03-28
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* ffmpeg_filter: Factor get_compliance_unofficial_pix_fmts() outMichael Niedermayer2016-02-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg_filter: Add missing pixel formats to strict_std_compliance case for ljpegMichael Niedermayer2016-02-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg_filter: Add YUV 444 to strict_std_compliance case for mjpegMichael Niedermayer2016-02-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg_filter: remove redundant null ptr checkMichael Niedermayer2015-11-11
| | | | | | Fixes: CID1338331 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg_filter: check encoder before using it to set frame size.Nicolas George2015-10-30
| | | | | Fix a segfault when no encoder is found for a default codec with a complex filter graph.
* Revert "Merge commit '8b830ee9a26d47b138f12a82085cdb372f407f1e'" (avconv: Do ↵Michael Niedermayer2015-10-11
| | | | | | | | | | | | | | | | | | | | | | not try to configure filter outputs without streams) FFmpeg already tests for this case in configure_output_filter() and printed a clearer error message example: ./ffmpeg -f lavfi -i color -f lavfi -i color -filter_complex "[1]null[x],[0][1]overlay" -f null - before the merge / after the revert: Filter null has a unconnected output after the merge / before the revert: Output pad "default" with type video of the filter instance "Parsed_null_0" of null not connected to any destination Error configuring complex filters. Invalid argument This reverts commit 3e3779cd517e4d2d1f21d5eb6afdb428cd3c1aa0, reversing changes made to 0b28039a44b33753d77116691d680bd60f3bac1f. Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
* Merge commit '8b830ee9a26d47b138f12a82085cdb372f407f1e'Hendrik Leppkes2015-10-10
| | | | | | | * commit '8b830ee9a26d47b138f12a82085cdb372f407f1e': avconv: Do not try to configure filter outputs without streams Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
* lavfi: fix compilation with FF_API_OLD_FILTER_OPTS=0.Ronald S. Bultje2015-08-18
|
* ffmpeg_filter: Do not override the dimensions in sub2video_prepare()Michael Niedermayer2015-08-15
| | | | | | Fixes ticket4744 part1 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg: switch swscale option handling to AVDictionary similar to what the ↵Michael Niedermayer2015-08-08
| | | | | | other subsystems use Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg_filter: Check that filters have connected outputs before accessing ↵Michael Niedermayer2015-07-19
| | | | | | the output stream Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '6d592fbd0d8e89ecade3fc93b36ea200213dc01c'Michael Niedermayer2015-07-19
| | | | | | | | | | | * commit '6d592fbd0d8e89ecade3fc93b36ea200213dc01c': avconv: split creating and (re-)configuring complex filtergraphs Conflicts: ffmpeg_filter.c ffmpeg_opt.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg_filter: log more information on failure to init simple filter graphrogerdpack2015-07-02
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* ffmpeg_filter: use get_rotation()Michael Niedermayer2015-05-04
| | | | | | This unifies the rotation extraction code between ffplay and ffmpeg Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2'Michael Niedermayer2015-05-02
| | | | | | | | | | | * commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2': avconv: Add an option for automatically rotating video according to display matrix Conflicts: Changelog ffmpeg_opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* ffmpeg: fix accurate seeking with -copytsRodger Combs2014-11-24
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* ffmpeg: init sub2video.last_pts.Nicolas George2014-11-05
| | | | | | | | | Get the heartbeat working when the video has negative timestamps. Fix trac ticket #4062. Signed-off-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581'Michael Niedermayer2014-10-17
| | | | | | | | | | | * commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581': avconv: fix leak in filter error Conflicts: ffmpeg_filter.c See: 14369f59c5ad1fb817fb4d94073f31cccf12b556 Merged-by: Michael Niedermayer <michaelni@gmx.at>
* ffmpeg: Do av_buffersink_set_frame_size() when reconfiguring the filtergraph ↵Michael Niedermayer2014-09-11
| | | | | | | | not just when changing audio resample parameters Fixes Ticket3562 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* ffmpeg: Enable compute_edt only when the subtitles are used for a output ↵Michael Niedermayer2014-09-01
| | | | | | | | | stream instead of a filter Fixes/works around Ticket3768 Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* ffmpeg: Clean up if filter initialisation failed to avoid a memleak.Carl Eugen Hoyos2014-08-30
| | | | | | Fixes ticket #3858. Reviewed-by: Nicolas George
* ffmpeg_filter: refuse to configure input without a decoder.Nicolas George2014-07-30
| | | | | | | | | | The decoder is necessary in order to filter frames. This makes the error message clearer in this case: currently, it will usually fail because the pixel or sample format is not defined and is converted into "(null)" (non-portable). Enhance trac ticket #3779.
* ffmpeg: Fix choose_pixel_fmt() so it uses the correct encoding contextMichael Niedermayer2014-06-01
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>