Jun Zhao
a0abcb4a31
lavfi/concat: fix logic error in framerate check
...
fix logic error in framerate check, it's introduced by commit
3ad5d4df9c
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-09-09 16:03:17 +08:00
Calvin Walton
3ad5d4df9c
lavfi/concat: allow to support inputs with different frame rates
...
Right now, the concat filter does not set the frame_rate value on any of
the out links. As a result, the default ffmpeg behaviour kicks in - to
copy the framerate from the first input to the outputs.
If a later input is higher framerate, this results in dropped frames; if
a later input is lower framerate it might cause judder.
This patch checks if all of the video inputs have the same framerate, and
if not it sets the out link to use '1/0' as the frame rate, the value
meaning "unknown/vfr".
A test is added to verify the VFR behaviour. The existing test for CFR
behaviour passes unchanged.
2019-09-08 16:48:28 +02:00
Nicolas George
962c9313af
lavfi/avf_concat: switch to activate.
...
Fix trac ticket #7351 .
2018-08-26 12:16:48 +02:00
Bodecs Bela
d723994449
avfilter/avf_concat: add next command
...
This patch makes it possible to dinamically close the current segment
and step to the next one by introducing command handling capabilities
into the filter. This new feature is very usefull when working with
real-time sources or live streams as source. Combinig usage with zmqsend
tool you can interactively end the current segment and step to next one.
Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
2018-03-01 12:54:06 +01:00
Paul B Mahol
1a58da434a
avfilter/avf_concat: check ff_insert_pad() for failure
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:16:46 +02:00
Paul B Mahol
ed93ed5ee3
avfilter: don't anonymously typedef structs
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-13 11:39:28 +02:00
Michael Niedermayer
054f912c0d
avfilter/avf_concat: Make independent of the channel layout
...
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-09-10 23:19:01 +02:00
Nicolas George
79c1be124e
lavfi/avf_concat: return immediately after requesting a frame on input.
2015-11-07 16:43:36 +01:00
Ganesh Ajjanagadde
6aaac24d72
avfilter/all: propagate errors of functions from avfilter/formats
...
Many of the functions from avfilter/formats can return errors, usually AVERROR(ENOMEM).
This propagates the return values.
All of these were found by using av_warn_unused_result, demonstrating its utility.
Tested with FATE. I am least sure of the changes to avfilter/filtergraph,
since I don't know what/how reduce_format is intended to behave and how it should
react to errors.
Fixes: CID 1325680, 1325679, 1325678.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Previous version Reviewed-by: Nicolas George <george@nsup.org>
Previous version Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-14 10:04:01 -04:00
Clément Bœsch
9f4b3bd96c
avfilter/concat: use AV_OPT_TYPE_BOOL for unsafe option
2015-09-08 23:24:12 +02:00
Michael Niedermayer
7df2981f04
avfilter/avf_concat: Use av_freep(), avoid leaving stale pointers in memory
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 18:47:26 +01:00
Stefano Sabatini
843d7bb3a6
lavfi/concat: accept a single segment
...
Simplify scripting operations, so that n=1 is not to be considered as a
special case.
2014-10-21 13:28:40 +02:00
Nicolas George
c4b7ad324b
lavfi/avf_concat: use av_make_q.
2014-01-19 17:12:50 +01:00
Michael Niedermayer
325f6e0a97
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavfi: do not export the filters from shared objects
Conflicts:
libavfilter/af_amix.c
libavfilter/af_anull.c
libavfilter/asrc_anullsrc.c
libavfilter/f_select.c
libavfilter/f_settb.c
libavfilter/split.c
libavfilter/src_movie.c
libavfilter/vf_aspect.c
libavfilter/vf_blackframe.c
libavfilter/vf_colorbalance.c
libavfilter/vf_copy.c
libavfilter/vf_crop.c
libavfilter/vf_cropdetect.c
libavfilter/vf_drawbox.c
libavfilter/vf_format.c
libavfilter/vf_framestep.c
libavfilter/vf_frei0r.c
libavfilter/vf_hflip.c
libavfilter/vf_libopencv.c
libavfilter/vf_lut.c
libavfilter/vf_null.c
libavfilter/vf_overlay.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_unsharp.c
libavfilter/vf_vflip.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 11:58:11 +01:00
Paul B Mahol
b211607b5c
avfilter: various cosmetics
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Carl Eugen Hoyos
36b21e17a2
lavf/concat: Never fail for sample aspect ratio 0:1.
...
Fixes ticket #2456 .
Reviewed-by: Nicolas George
2013-07-18 13:51:23 +02:00
Michael Niedermayer
3ea765b033
avfilter/avf_concat: fix AVOption flags typo
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 14:15:15 +02:00
Clément Bœsch
73180f5b0e
lavfi: flag more dynamic i/o filters.
2013-04-13 19:43:17 +02:00
Michael Niedermayer
fd6228e657
lavfi: remove now unused args parameter from AVFilter.init and init_opaque
...
This is mostly automated global search and replace
The deprecated aconvert filter is disabled, if it still has users
it should be updated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Clément Bœsch
35a27402ad
lavfi/concat: switch to an AVOptions-based system.
2013-04-11 11:51:47 +02:00
Nicolas George
8c6c811b21
lavfi/avf_concat: use standard options parsing.
2013-03-20 21:13:56 +01:00
Nicolas George
68fb7e260b
lavfi/concat: fix silence duration computation.
...
Inside send_silence(), delta_ts was used inconsistently:
sometimes as the new value, sometimes as the old value.
Consistently use it as the new value, and add an argument
to know the last segment duration.
2013-03-20 20:59:45 +01:00
Clément Bœsch
60bd8c11b6
lavfi/concat: raise filter_frame() error.
2013-03-13 19:00:09 +01:00
Michael Niedermayer
a05a44e205
Merge commit '7e350379f87e7f74420b4813170fe808e2313911'
...
* commit '7e350379f87e7f74420b4813170fe808e2313911':
lavfi: switch to AVFrame.
Conflicts:
doc/filters.texi
libavfilter/af_ashowinfo.c
libavfilter/audio.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersink.c
libavfilter/buffersrc.c
libavfilter/buffersrc.h
libavfilter/f_select.c
libavfilter/f_setpts.c
libavfilter/fifo.c
libavfilter/split.c
libavfilter/src_movie.c
libavfilter/version.h
libavfilter/vf_aspect.c
libavfilter/vf_bbox.c
libavfilter/vf_blackframe.c
libavfilter/vf_delogo.c
libavfilter/vf_drawbox.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_fieldorder.c
libavfilter/vf_fps.c
libavfilter/vf_frei0r.c
libavfilter/vf_gradfun.c
libavfilter/vf_hqdn3d.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_showinfo.c
libavfilter/vf_transpose.c
libavfilter/vf_vflip.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavfilter/yadif.h
Following are notes about the merge authorship and various technical details.
Michael Niedermayer:
* Main merge operation, notably avfilter.c and video.c
* Switch to AVFrame:
- afade
- anullsrc
- apad
- aresample
- blackframe
- deshake
- idet
- il
- mandelbrot
- mptestsrc
- noise
- setfield
- smartblur
- tinterlace
* various merge changes and fixes in:
- ashowinfo
- blackdetect
- field
- fps
- select
- testsrc
- yadif
Nicolas George:
* Switch to AVFrame:
- make rawdec work with refcounted frames. Adapted from commit
759001c534
by Anton Khirnov.
Also, fix the use of || instead of | in a flags check.
- make buffer sink and src, audio and video work all together
Clément Bœsch:
* Switch to AVFrame:
- aevalsrc
- alphaextract
- blend
- cellauto
- colormatrix
- concat
- earwax
- ebur128
- edgedetect
- geq
- histeq
- histogram
- hue
- kerndeint
- life
- movie
- mp (with the help of Michael)
- overlay
- pad
- pan
- pp
- pp
- removelogo
- sendcmd
- showspectrum
- showwaves
- silencedetect
- stereo3d
- subtitles
- super2xsai
- swapuv
- thumbnail
- tile
Hendrik Leppkes:
* Switch to AVFrame:
- aconvert
- amerge
- asetnsamples
- atempo
- biquads
Matthieu Bouron:
* Switch to AVFrame
- alphamerge
- decimate
- volumedetect
Stefano Sabatini:
* Switch to AVFrame:
- astreamsync
- flite
- framestep
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:40:35 +01:00
Michael Niedermayer
53228f47d6
avf_concat: init pointers to NULL for saftey and to avoid warning of uninitialized use.
...
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 18:56:33 +01:00
Clément Bœsch
a7eabbb20d
lavfi/concat: prefer av_asprintf() over stack allocated buffer.
2012-11-29 12:55:56 +01:00
Clément Bœsch
b99f1303ad
lavfi/concat: switch to filter_frame.
2012-11-29 12:55:56 +01:00
Clément Bœsch
2d9d444051
lavfi: convert remaining input/output list compound literals to named objects.
...
This is following 568c70e79e
.
2012-11-28 23:19:20 +01:00
Michael Niedermayer
cd7febd33f
lavfi: replace filter_samples by filter_frame
...
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Paul B Mahol
1acd2f6ba7
Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
...
Also remove it in once case when it is not needed.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Nicolas George
b0e2f4a757
lavfi/concat: implement unsafe mode.
2012-10-28 09:14:34 +01:00
Nicolas George
709628aa71
lavfi/avf_concat: fix invalid exclusive test.
...
The invalid test did not cause any actual problem since
the first branch is only possible with bogus filters.
Fix coverity issue CID 733850.
2012-10-17 21:28:58 +02:00
Michael Niedermayer
d46c1c72e4
Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'
...
* commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9':
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Conflicts:
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/mpeg12enc.c
libavcodec/options_table.h
libavcodec/snowenc.c
libavcodec/tiffenc.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/af_amix.c
libavfilter/af_asyncts.c
libavfilter/af_join.c
libavfilter/buffersrc.c
libavfilter/src_movie.c
libavfilter/vf_delogo.c
libavfilter/vf_drawtext.c
libavformat/http.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/movenc.c
libavformat/mpegenc.c
libavformat/mpegtsenc.c
libavformat/options_table.h
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:33:32 +02:00
Stefano Sabatini
42d621d131
lavfi: add priv class to filter definitions and flags to filter internal options
...
This allows the iteration callbacks to discover the internal class and
options, and show them when required.
2012-08-18 10:19:05 +02:00
Nicolas George
de35d2b498
avf_concat: fix permissions.
2012-08-17 18:26:39 +02:00
Nicolas George
efcfcf8793
avf_concat: fix silence duration.
...
concat_in.pts starts at 0 for each segment, so the duration
of the silence was too long, except at the first stitch.
2012-07-28 15:14:01 +02:00
Nicolas George
9a757cca34
avf_concat: fix min value for v option.
2012-07-28 11:48:14 +02:00
Nicolas George
be33da9a1d
lavfi: add concat filter.
2012-07-23 11:34:20 +02:00