Clément Bœsch
1776177b7f
lavfi: replace passthrough_filter_frame with a flag.
...
With the introduction of AVFilterContext->is_disabled, we can simplify
the custom passthrough mode in filters.
This commit is technically a small compat break, but the timeline was
introduced very recently.
Doxy by Stefano Sabatini.
2013-05-12 13:07:47 +02:00
Clément Bœsch
f0250cc463
lavfi/overlay: simpler up-rounded w/h computations.
2013-05-09 16:59:43 +02:00
Clément Bœsch
d3f7b98f87
lavfi/overlay: reindent fix.
2013-05-07 15:43:28 +02:00
Clément Bœsch
15d2f26998
lavfi/overlay: support timeline through the new system.
2013-04-23 01:02:28 +02:00
Clément Bœsch
b8a5c76131
lavfi: add frame counter into AVFilterLink and use it in filters.
2013-04-23 01:02:27 +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
Stefano Sabatini
9da369604e
lavfi/overlay: improve feedback in case of invalid expression
...
Based on vf_hue.c code.
2013-04-12 00:18:39 +02:00
Stefano Sabatini
aff6cebb41
lavfi/overlay: fix crash in case of invalid expression
2013-04-12 00:09:41 +02:00
Stefano Sabatini
ed2c827575
lavfi/overlay: add repeatlast option
2013-04-12 00:09:19 +02:00
Stefano Sabatini
a77454ec14
lavfi/overlay: reindent constants in option list
...
Wanted-By: ubitux
2013-04-12 00:07:46 +02:00
Clément Bœsch
fcaea2170f
lavfi/overlay: cleanup unused shorthand.
2013-04-11 12:41:13 +02:00
Paul B Mahol
16f1e832ba
lavfi/overlay: remove dupe initializer
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-10 20:44:11 +00:00
Michael Niedermayer
e434ddd4c6
Merge commit '9087eaf193b8ce99c41352064a81916fa66adb49'
...
* commit '9087eaf193b8ce99c41352064a81916fa66adb49':
vf_overlay: switch to an AVOptions-based system.
Conflicts:
doc/filters.texi
libavfilter/vf_overlay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:27:20 +02:00
Stefano Sabatini
d2752ef061
lavfi/overlay: add process_command callback
2013-04-10 13:11:27 +02:00
Stefano Sabatini
006e20bd36
lavfi/overlay: add enable expression
...
This expression is useful to enable/disable overlaying on the fly.
Note that this can't be easily done relying on the filtergraph structure,
since this implies caching issues or a null frame overlaying in the best
case, which is better avoided for performance and convenience reasons.
2013-04-10 13:11:27 +02:00
Stefano Sabatini
cc3edd99a6
lavfi/overlay: add dynamic expression evaluation support
...
Add support for dynamic x, y expressions evaluation.
Also add support for an evaluation mode which allows to disable per-frame
evaluation, so that there is no speedloss in case the expression does not
depend on frame variables.
2013-04-10 13:11:27 +02:00
Anton Khirnov
9087eaf193
vf_overlay: switch to an AVOptions-based system.
2013-04-09 19:06:13 +02:00
Stefano Sabatini
39aad43465
lavfi/overlay: fix debug PTS output in try_filter_frame()
...
The PTS of the input frames must be interpreted according to the input
timebase, which is not the same as the output timebase.
2013-03-31 18:00:44 +02:00
Clément Bœsch
e62587bc5e
lavfi/overlay: use standard options parsing.
2013-03-24 12:26:25 +01:00
Clément Bœsch
96e4b00d62
lavfi: remove remaining forgotten min/rej perms.
2013-03-10 02:38:21 +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
Anton Khirnov
7e350379f8
lavfi: switch to AVFrame.
...
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Stefano Sabatini
8d9509377e
lavfi/overlay: improve log message warning in case of clipped overlay
2013-03-05 20:09:50 +01:00
Stefano Sabatini
f164228fd7
lavfi/overlay: add support for partial overlaying
...
Partially rework the iteration logic, in order to limit iteration only
for the clipped overlay region.
2013-03-05 20:09:21 +01:00
Michael Niedermayer
cfcab4c507
vf_overlay: silence warning: X may be used uninitialized in this function
...
Also ensure that format is valid in query_formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 12:10:35 +01:00
Stefano Sabatini
22b06103f0
lavfi/overlay: add format option
...
In particular, fix misbehavior in case main and overlay input formats
mismatch (e.g. YUV420 and YUV444).
2013-02-20 19:39:40 +01:00
Stefano Sabatini
2db0056f96
lavfi/overlay: apply minor consistency fixes
2013-02-20 19:18:17 +01:00
Stefano Sabatini
3d77a27548
lavfi/overlay: implement shortest option
...
Force termination when the overlay stream ends. Simplify scripting logic,
for example when an infinite source is used to generate a background for
a composite video.
2013-02-20 19:17:11 +01:00
Paul B Mahol
f2d200d460
lavfi/overlay: yuv444p & yuva444p support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-19 11:11:42 +00:00
Nicolas George
7e5c5fa5fc
lavfi/vf_overlay: check that filter_frame does not return EAGAIN.
...
EAGAIN is used internally in the code; it currently does not make
sense as a return code from the next filter.
Should fix CID966655.
2013-01-10 21:55:02 +01:00
Stefano Sabatini
bde1e8bf06
lavfi/overlay: make use of av_opt_set_from_string()
...
Simplify.
2012-12-22 16:14:23 +01:00
Stefano Sabatini
5e402a5319
lavfi/overlay: switch to filter_frame API
2012-12-22 16:12:26 +01:00
Paul B Mahol
185d1f3bfc
lavfi: declare arrays that never change as static const
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-21 22:38:59 +00:00
Stefano Sabatini
54b0c04ae3
lavfi/overlay: clarify/fix comment, add a few empty lines to ease readability
2012-12-15 14:08:42 +01:00
Stefano Sabatini
3d1e2ada25
lavfi/overlay: remove duplicated definition of ff_null_get_video_buffer()
...
Simplify.
2012-12-15 13:51:24 +01:00
Anton Khirnov
565e4993c6
lavfi: merge start_frame/draw_slice/end_frame
...
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
2012-11-28 08:50:19 +01:00
Mark Himsley
13c6252536
lavfi/overlay: enable yuva420p as overlay background
...
Same calculation as for RGBA etc to create unpremultiplied output.
Useful for creating an intermediate "Mix/Effects bank", in vision mixer
(switcher) terminology.
Example command:
ffmpeg -i input.mov -vf
"[in]scale=iw:ih:interl=1,format=yuv420p[bg];movie=BBC_blocks_watermark.png,scale=iw:ih:interl=1,format=yuva420p[dog];movie=Kickabout_strap.mov,scale=iw:ih:interl=1,format=yuva420p[strap];[strap][dog]overlay=0:0[me1];[bg][me1]overlay=0:0,scale=0:0:interl=1[out]"
-b:v 3M -an output.mov
Fix trac ticket #549 .
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-11-27 10:44:42 +01:00
Hendrik Leppkes
79393a8363
Replace usage of the deprecated av_pix_fmt_descriptors array with av_pix_fmt_desc_get
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 18:00:13 +02:00
Michael Niedermayer
13afee951a
Merge commit '59ee9f78b0cc4fb84ae606fa317d8102ad32a627'
...
* commit '59ee9f78b0cc4fb84ae606fa317d8102ad32a627':
lavfi: do not use av_pix_fmt_descriptors directly.
Conflicts:
libavfilter/buffersrc.c
libavfilter/drawutils.c
libavfilter/filtfmts.c
libavfilter/vf_ass.c
libavfilter/vf_boxblur.c
libavfilter/vf_drawtext.c
libavfilter/vf_lut.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_showinfo.c
libavfilter/vf_transpose.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:04:58 +02:00
Anton Khirnov
59ee9f78b0
lavfi: do not use av_pix_fmt_descriptors directly.
2012-10-12 12:45:39 +02:00
Michael Niedermayer
526cb36e4b
Merge commit '4436f25a1682ada3f7226cb6fadf429946933161'
...
* commit '4436f25a1682ada3f7226cb6fadf429946933161':
build: remove references to unused EXTRAOBJS variable
lavfi: convert input/ouput list compound literals to named objects
fate: add h263 obmc vsynth tests
avconv: remove bogus warning when using avconv -h without parameter
averror: explicitly define AVERROR_* values
flashsv: propagate inflateReset() errors
indeo4/5: remove constant parameter num_bands from wavelet recomposition
mxfdec: return error if no segments are available in mxf_get_sorted_table_segments
Double motion vector range for HPEL interlaced picture in proper place
Conflicts:
libavcodec/v210dec.h
libavfilter/af_aformat.c
libavfilter/af_amix.c
libavfilter/af_asyncts.c
libavfilter/af_channelmap.c
libavfilter/af_join.c
libavfilter/asrc_anullsrc.c
libavfilter/buffersrc.c
libavfilter/f_setpts.c
libavfilter/f_settb.c
libavfilter/fifo.c
libavfilter/src_movie.c
libavfilter/vf_ass.c
libavfilter/vf_blackframe.c
libavfilter/vf_boxblur.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_hflip.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_select.c
libavfilter/vf_transpose.c
libavfilter/vf_yadif.c
libavfilter/vsrc_testsrc.c
libavformat/mxfdec.c
libavutil/error.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 15:46:48 +02:00
Mans Rullgard
568c70e79e
lavfi: convert input/ouput list compound literals to named objects
...
A number of compilers, for example those from TI and IBM, choke on
these initialisers. The current style is also quite ugly.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 22:26:12 +01:00
Michael Niedermayer
ac627b3d38
Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
...
* commit '716d413c13981da15323c7a3821860536eefdbbb':
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
Conflicts:
doc/examples/muxing.c
ffmpeg.h
ffmpeg_filter.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
libavcodec/8bps.c
libavcodec/aasc.c
libavcodec/aura.c
libavcodec/avcodec.h
libavcodec/avs.c
libavcodec/bfi.c
libavcodec/bmp.c
libavcodec/bmpenc.c
libavcodec/c93.c
libavcodec/cscd.c
libavcodec/cyuv.c
libavcodec/dpx.c
libavcodec/dpxenc.c
libavcodec/eatgv.c
libavcodec/escape124.c
libavcodec/ffv1.c
libavcodec/flashsv.c
libavcodec/fraps.c
libavcodec/h264.c
libavcodec/huffyuv.c
libavcodec/iff.c
libavcodec/imgconvert.c
libavcodec/indeo3.c
libavcodec/kmvc.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/ljpegenc.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc.c
libavcodec/motionpixels.c
libavcodec/mpeg12.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo_enc.c
libavcodec/pamenc.c
libavcodec/pcxenc.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/pnm.c
libavcodec/pnmdec.c
libavcodec/pnmenc.c
libavcodec/ptx.c
libavcodec/qdrw.c
libavcodec/qpeg.c
libavcodec/qtrleenc.c
libavcodec/raw.c
libavcodec/rawdec.c
libavcodec/rl2.c
libavcodec/sgidec.c
libavcodec/sgienc.c
libavcodec/snowdec.c
libavcodec/snowenc.c
libavcodec/sunrast.c
libavcodec/targa.c
libavcodec/targaenc.c
libavcodec/tiff.c
libavcodec/tiffenc.c
libavcodec/tmv.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/vb.c
libavcodec/vp3.c
libavcodec/wnv1.c
libavcodec/xl.c
libavcodec/xwddec.c
libavcodec/xwdenc.c
libavcodec/yop.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersrc.c
libavfilter/drawutils.c
libavfilter/formats.c
libavfilter/src_movie.c
libavfilter/vf_ass.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_format.c
libavfilter/vf_hflip.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavformat/movenc.c
libavformat/mxf.h
libavformat/utils.c
libavformat/yuv4mpeg.c
libavutil/imgutils.c
libavutil/pixdesc.c
libswscale/input.c
libswscale/output.c
libswscale/swscale_internal.h
libswscale/swscale_unscaled.c
libswscale/utils.c
libswscale/x86/swscale_template.c
libswscale/x86/yuv2rgb.c
libswscale/x86/yuv2rgb_template.c
libswscale/yuv2rgb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Michael Niedermayer
0f1446a4d0
Merge commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b'
...
* commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b':
vf_overlay: get rid of pointless messing with timebase.
samplefmt: make av_samples_alloc() initialize the data to silence.
libspeexdec: handle NULL return value from speex_packet_to_header()
h264probe: Don't error out on bits that no longer are reserved
mpegvideo: set extended_data in ff_update_duplicate_context()
libspeexdec: properly handle DTX for multiple frames-per-packet
libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used
libspeexdec: simplify setting of frame_size
libspeexdec: set channel_layout
Conflicts:
libavfilter/vf_overlay.c
libavformat/h264dec.c
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 13:11:45 +02:00
Anton Khirnov
4673a5a761
vf_overlay: properly sync inputs.
...
Right now it incorrectly assumes that the frames are sent in the proper
order, which worked with old ffmpeg and avconv versions by accident.
2012-10-04 10:23:25 +02:00
Anton Khirnov
ab35ec29a4
vf_overlay: get rid of pointless messing with timebase.
...
Output frames correspond 1:1 to input frames on the main input.
So use the main input timebase for output.
2012-10-04 10:21: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
Nicolas George
52820bc578
lavfi/overlay: fix return values.
...
They were only roughly adapted when error return was
added to the push functions.
2012-08-22 19:04:30 +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