summaryrefslogtreecommitdiff
path: root/libavfilter/avfilter.h
Commit message (Collapse)AuthorAge
* Merge commit '8114c101607843a86960bd3e0e9c40487dc2a961'Michael Niedermayer2013-04-11
|\ | | | | | | | | | | | | | | | | | | * commit '8114c101607843a86960bd3e0e9c40487dc2a961': lavfi: add avfilter_get_class(). Conflicts: libavfilter/avfilter.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: add avfilter_get_class().Anton Khirnov2013-04-09
| | | | | | | | | | Useful for examining options, the same as the corresponding functions for the other libs.
| * lavfi: remove now unused args parameter from AVFilter.initAnton Khirnov2013-04-09
| |
* | Merge commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff'Michael Niedermayer2013-04-10
|\| | | | | | | | | | | | | | | | | | | * commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff': af_resample: switch to an AVOptions-based system. Conflicts: libavfilter/avfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * af_resample: switch to an AVOptions-based system.Anton Khirnov2013-04-09
| |
* | Merge commit 'b439c992c23f3e0f3832fffd2a34a664b236c525'Michael Niedermayer2013-04-10
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'b439c992c23f3e0f3832fffd2a34a664b236c525': lavfi: switch to an AVOptions-based system. dfa: implement missing TDLT coding method Conflicts: libavcodec/dfa.c libavfilter/avfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: switch to an AVOptions-based system.Anton Khirnov2013-04-09
| |
* | lavfi: loop on request_frame if necessary.Nicolas George2013-04-03
| | | | | | | | | | | | | | Some filters need several input frames before producing output. For these filter, it becomes simpler to return 0 in request_frame() and let the framework call it again until output has been produced.
* | lavfi: add common code to handle options parsing.Nicolas George2013-03-20
| |
* | Merge commit '7e350379f87e7f74420b4813170fe808e2313911'Michael Niedermayer2013-03-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 759001c534287a96dc96d1e274665feb7059145d 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>
| * lavfi: switch to AVFrame.Anton Khirnov2013-03-08
| | | | | | | | | | Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it and use AVFrame instead.
| * lavfi: merge start_frame/draw_slice/end_frameAnton Khirnov2012-11-28
| | | | | | | | | | Any alleged performance benefits gained from the split are purely mythological and do not justify added code complexity.
* | lavfi/avfilter: remove now unused {src,cur,out}_buf.Clément Bœsch2013-01-06
| | | | | | | | | | | | This was supposed to be removed in 565e4993, but it was delayed due to the port of the remaining filters. These buffer ref pointers are not used anymore, thus dropped.
* | lavfi: add avfilter_get_audio_buffer_ref_from_arrays_channels.Nicolas George2013-01-01
| | | | | | | | | | It is the same as avfilter_get_audio_buffer_ref_from_arrays except it has a "channels" and the channel layout can be 0.
* | lavfi: add an accessor for ref->audio->channels.Nicolas George2012-12-20
| |
* | lavfi: add a channels field to AVFilterLink.Nicolas George2012-12-20
| | | | | | | | | | Also: fix af_pan and af_aresample, that forgot to update audio->channels.
* | lavfi/avfilter.h: clarify doxy for AVFilterLink.out_bufStefano Sabatini2012-12-15
| |
* | doxy: add ref for lavfi, lpp and lsws.Clément Bœsch2012-12-11
| |
* | avfilter: mark start_frame/end_frame/draw_slice as deprecatedAnton Khirnov2012-11-29
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavfilter: update doxy for filter_frameMichael Niedermayer2012-11-28
| | | | | | | | | | Based on patch by Anton Khirnov Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi: replace filter_samples by filter_frameMichael Niedermayer2012-11-28
| | | | | | | | | | Based on patch by Anton Khirnov Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi: store and propagate number of channels information in audio buffer ↵Stefano Sabatini2012-11-13
| | | | | | | | | | | | | | properties The channels field is required since the channel layout is not always available.
* | Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'Michael Niedermayer2012-11-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '97bf7c03b1338a867da52c159a2afecbdedcfa88': doc: git-howto: Leave reviewers time to react before pushing patches Include libavutil/channel_layout.h instead of libavutil/audioconvert.h lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h Conflicts: doc/APIchanges doc/examples/decoding_encoding.c doc/git-howto.texi ffmpeg_filter.c libavcodec/flacdec.c libavcodec/imc.c libavcodec/mpegaudiodec.c libavcodec/utils.c libavfilter/asrc_anullsrc.c libavfilter/audio.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/avfiltergraph.c libavfilter/buffer.c libavutil/Makefile libavutil/audioconvert.h libavutil/channel_layout.c libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Include libavutil/channel_layout.h instead of libavutil/audioconvert.hJustin Ruggles2012-11-11
| | | | | | | | Also reorder some other #include when applicable.
* | lavfi: fix references to avfilter_* functions that don't exist anymore.Clément Bœsch2012-10-31
| |
* | libavfilter: include needed header for AVDictionaryMichael Niedermayer2012-10-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc: add lavfi metadata support.Clément Bœsch2012-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a new AVPacket side data type: AV_PKT_DATA_STRINGS_METADATA. Its main goal is to provide a way to transmit the metadata from the AVFilterBufferRef up to the AVFrame. This is at the moment "only" useful for lavfi input from libavdevice: lavd/lavfi only outputs packets, and the metadata from the buffer ref kept in its context needs to be transmitted from the packet to the frame by the decoders. The buffer ref can be destroyed at any time (along with the metadata), and a duplication of the AVPacket needs to duplicate the metadata as well, so the choice of using the side data to store them was selected. Making sure lavd/lavfi raises the metadata is useful to allow tools like ffprobe to access the filters metadata (it is at the moment the only way); ffprobe will now automatically show the AVFrame metadata in any customizable output format for users. API users will also be able to access the AVFrame->metadata pointer the same way ffprobe does (av_frame_get_metadata). All the changes are done in this single commit to avoid some memory leaks: for instances, the changes in lavfi/avcodec.c are meant to duplicate the metadata from the buffer ref into the AVFrame. Unless we have an internal way of freeing the AVFrame->metadata automatically, it will leak in most of the user apps. To fix this problem, we introduce AVCodecContext->metadata and link avctx->metadata to the current frame->metadata and free it at each decode frame call (and in the codec closing callback for the last one). But doing this also means to update the way the tiff decoder already handles the AVFrame->metadata (it's the only one decoder with frame metadata at the moment), by making sure it is not trying to free a pointer already freed by the lavc internals. The lavfi/avcodec.c buffer ref code is based on an old Thomas Kühnel work, the rest of the code belongs to the commit author. Signed-off-by: Thomas Kühnel <kuehnelth@googlemail.com> Signed-off-by: Clément Bœsch <ubitux@gmail.com>
* | Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer2012-10-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
| |
* | lavfi: drop deprecated and pointless avfilter_default_end_frame() functionStefano Sabatini2012-09-09
| | | | | | | | | | | | | | | | Fix warning when compiling boxblur. While this is technically a major API break, practically there will be no one using that function since the filtering API is mostly private, so that function alone is not usable.
* | lavfi: add qp_table_sizeMichael Niedermayer2012-09-07
| | | | | | | | | | | | This avoid recalculating it and in case w/h changed avoids crashes. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavfilter: pass QP table through the filter chainMichael Niedermayer2012-09-07
| | | | | | | | | | | | Any volunteers to port the pp and spp filters from libmpcodec? Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi: add a closed field to AVFilerLink.Nicolas George2012-08-22
| | | | | | | | It will help forward errors and maintain consistency.
* | lavfi: use min_perms and rej_perms for out pads.Nicolas George2012-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several reasons for doing that: 1. It documents the code for the reader and helps find inconsistencies and bugs. 2. For rej_perms, it guarantees the change will be done even if the output reference can be created by several code paths. 3. It can be used to predict cases where a copy will, or will not happen and optimize buffer allocation (for example not request a rare direct-rendering buffer from a device sink if it will be copied anyway). Note that a filter is still allowed to manage the permissions on its own without using these fields.
* | lavfi: add avfilter_get_class() and iteration callbacksStefano Sabatini2012-08-13
| | | | | | | | Allow iteration over filter options.
* | lavfi: document the constraints on incoming frames.Nicolas George2012-08-04
| |
* | lavfi: use a new field for automatic buffer copy.Nicolas George2012-08-04
| | | | | | | | | | | | | | | | | | | | | | The code currently use cur_buf as the target of the copy, but cur_buf can be cleared by the filter if it has given the reference away or stored it elsewhere as soon as start_frame. The code still relies on the fact that the reference is not destroyed until end_frame. All filters currently follow that condition. An av_assert1() is added to check it; it should at least cause very visible errors in valgrind.
* | avfilter: fix minor typoMichael Niedermayer2012-07-30
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi/avfilter.h: add doxy for AVFilterLink.out_bufStefano Sabatini2012-07-25
| |
* | lavfi/avfilter.h: add doxy for AVFilterLink.cur_bufStefano Sabatini2012-07-25
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: FATE: fix the asyncts test build: Drop gcc-specific warning flag from header compilation rule FATE: add a test for the asyncts audio filter. matroskadec: return more correct error code on read error. buffersrc: check ff_get_audio_buffer() for errors. lavfi: check all ff_get_video_buffer() calls for errors. lavfi: check all avfilter_ref_buffer() calls for errors. vf_select: avoid an unnecessary avfilter_ref_buffer(). buffersrc: avoid creating unnecessary buffer reference lavfi: use avfilter_unref_bufferp() where appropriate. vf_fps: add more error checks. vf_fps: fix a memleak on malloc failure. lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors lavfi: add error handling to end_frame(). lavfi: add error handling to draw_slice(). lavfi: add error handling to start_frame(). Conflicts: Makefile ffplay.c libavfilter/buffersrc.c libavfilter/vf_boxblur.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_frei0r.c libavfilter/vf_hflip.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/video.c libavfilter/vsrc_color.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: add error handling to end_frame().Anton Khirnov2012-07-22
| |
| * lavfi: add error handling to draw_slice().Anton Khirnov2012-07-22
| |
| * lavfi: add error handling to start_frame().Anton Khirnov2012-07-22
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavfi: unref AVFilterLink.out_buf in ff_end_frame(). lavfi: unref AVFilterLink.cur_buf in ff_end_frame(). vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer(). vf_slicify: clear AVFilterLink.cur_buf in start_frame(). vf_settb: simplify start_frame(). vf_fieldorder: don't give up its own reference to the output buffer. vf_pad: don't give up its own reference to the output buffer. vf_overlay: don't access a buffer reference that's been given away. vf_drawtext: don't give up its own reference to the input buffer. vf_gradfun: don't store two pointers to one AVFilterBufferRef. vf_delogo: don't store two pointers to one AVFilterBufferRef. vf_aspect: clear AVFilterLink.cur_buf in start_frame(). lavfi: add avfilter_unref_bufferp() Conflicts: doc/APIchanges libavfilter/avfilter.h libavfilter/buffer.c libavfilter/vf_aspect.c libavfilter/vf_drawtext.c libavfilter/vf_overlay.c libavfilter/vf_pad.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: add avfilter_unref_bufferp()Robert Nagy2012-07-20
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | lavfi: add init_opaque callbackStefano Sabatini2012-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be used by filters which require an opaque field to be passed in input. Should be required only for filters which imply a programmatic use. This is possibly a temporary solution, to be removed when we'll have a clearer and better agreememnt of how/if to pass binary data for initializing a filter. See thread: Subject: [FFmpeg-devel][PATCH] lavfi: add init2 callback Date: Fri, 6 Jul 2012 01:22:17 +0200
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mss3: use standard zigzag table mss3: split DSP functions that are used in MTS2(MSS4) into separate file motion-test: do not use getopt() tcp: add initial timeout limit for incoming connections configure: Change the rdtsc check to a linker check avconv: propagate fatal errors from lavfi. lavfi: add error handling to filter_samples(). fate-run: make avconv() properly deal with multiple inputs. asplit: don't leak the input buffer. af_resample: fix request_frame() behavior. af_asyncts: fix request_frame() behavior. libx264: support aspect ratio switching matroskadec: honor error_recognition when encountering unknown elements. lavr: resampling: add support for s32p, fltp, and dblp internal sample formats lavr: resampling: add filter type and Kaiser window beta to AVOptions lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format lavr: mix: validate internal sample format in ff_audio_mix_init() Conflicts: ffmpeg.c ffplay.c libavcodec/libx264.c libavfilter/audio.c libavfilter/split.c libavformat/tcp.c tests/fate-run.sh Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: add error handling to filter_samples().Anton Khirnov2012-07-09
| |
* | lavfi: implement samples framing on links.Nicolas George2012-06-30
| | | | | | | | | | Links can be set up to group samples into buffers of specified minimum and maximum size.