summaryrefslogtreecommitdiff
path: root/libavfilter/avfilter.h
Commit message (Collapse)AuthorAge
* 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.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-06-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avconv: add an assert to silence an uninitialized variable warning. avconv: shut up an uninitialized variable warning. avfiltergraph: shut up uninitialized variable warning. af_join: initialize a variable to shut up gcc warning. amix: fix format specifier for AVFilterLink.sample_rate. lavfi: make filters less verbose. mpc8: read APE tags. lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes libm: provide fallback definition for cbrtf() using powf() network: Don't redefine error codes if they already exist in errno.h configure: Check for sys/time.h network: Include unistd.h from network.h avconv: don't include vsrc_buffer.h, which doesn't exist anymore lavfi: reorder AVFilterLink fields. lavfi: reorder AVFilterContext fields. lavfi: reorder AVFilter fields. lavfi: reorder AVFilterBufferRef fields. lavfi: reorder AVFilterBuffer fields. Conflicts: configure libavcodec/v210dec.h libavfilter/asrc_anullsrc.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/src_movie.c libavfilter/vf_aspect.c libavfilter/vf_crop.c libavfilter/vf_drawbox.c libavfilter/vf_fade.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vsrc_color.c libavformat/network.h libavutil/libm.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: reorder AVFilterLink fields.Anton Khirnov2012-06-26
| | | | | | | | Move private fields to the private section, remove holes.
| * lavfi: reorder AVFilterContext fields.Anton Khirnov2012-06-26
| | | | | | | | Place related fields together, remove holes.
| * lavfi: reorder AVFilter fields.Anton Khirnov2012-06-26
| | | | | | | | | | Place related fields together, remove holes, move private fields to the end and mark them as private.
| * lavfi: reorder AVFilterBufferRef fields.Anton Khirnov2012-06-26
| | | | | | | | Place related fields together, remove holes.
| * lavfi: reorder AVFilterBuffer fields.Anton Khirnov2012-06-26
| | | | | | | | Place related fields together, remove holes.
* | Merge commit '1961e46c15c23a041f8d8614a25388a3ee9eff63'Michael Niedermayer2012-06-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1961e46c15c23a041f8d8614a25388a3ee9eff63': lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft lavfi: use proper FF_API guards for different deprecated functions lavfi: remove disabled FF_API_VSRC_BUFFER_ADD_FRAME cruft lavfi: remove disabled FF_API_SAMPLERATE64 cruft lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft Conflicts: libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/formats.c libavfilter/graphparser.c libavfilter/version.h libavfilter/video.c libavfilter/vsrc_buffer.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: remove disabled FF_API_FILTERS_PUBLIC cruftAnton Khirnov2012-06-26
| |
| * lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruftAnton Khirnov2012-06-26
| |
| * lavfi: remove disabled FF_API_SAMPLERATE64 cruftAnton Khirnov2012-06-26
| |
* | Merge commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a'Michael Niedermayer2012-06-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a': lavfi: remove 'opaque' parameter from AVFilter.init() mov: do not try to read total disc/track number if data atom is too short. avconv: fix -force_key_frames dxva2_h264: fix signaling of mbaff frames x86: fft: elf64: fix PIC build Conflicts: ffmpeg.c libavcodec/v210dec.h libavfilter/asrc_anullsrc.c libavfilter/buffersrc.c libavfilter/src_movie.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_overlay.c libavfilter/vsrc_color.c libavfilter/vsrc_testsrc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavfi: remove 'opaque' parameter from AVFilter.init()Anton Khirnov2012-06-26
| | | | | | | | | | | | It is not used in any filters currently and is inherently evil. If passing binary data to filters is required in the future, it should be done with some AVOptions-based system.