Commit Graph

143 Commits

Author SHA1 Message Date
Stefano Sabatini
93399e9381 lavfi/drawbox: add thickness option 2012-10-31 14:43:47 +01:00
Stefano Sabatini
1b3fdd9731 lavfi/drawbox: implement color=invert mode
Based on a libmpcodecs/vf_rectangle.c feature.
2012-10-31 12:14:21 +01:00
Stefano Sabatini
652fab5996 lavfi/mp: drop wrapped field filter
The filter has been ported to a native libavfilter filter.
2012-10-31 12:14:09 +01:00
Stefano Sabatini
3c4aa50620 lavfi: add field filter
The filter is a port of libmpcodecs/vf_field.c, since there is no common
code I relicensed it as LGPL, while keeping the original author
copyright.
2012-10-31 12:07:11 +01:00
Stefano Sabatini
2ed7e6cce5 lavfi/drawbox: extend syntax, accept named options 2012-10-30 23:36:36 +01:00
Paul B Mahol
7b378c2fb7 lavfi: remove yuvcsp and yvu9 libmpcodecs wrappers
Same functionality is provided by libswscale.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 21:24:29 +00:00
Paul B Mahol
788afee86e lavfi: remove palette libmpcodecs wrapper
The filter is useless, swscale should be used instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 16:21:33 +00:00
Michael Niedermayer
e79c3858b3 Merge commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8'
* commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8':
  dv: use AVStream.index instead of abusing AVStream.id
  lavfi: add ashowinfo filter
  avcodec: Add a RFC 3389 comfort noise codec
  lpc: Add a function for calculating reflection coefficients from samples
  lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients
  lavr: document upper bound on number of output samples.
  lavr: add general API usage doxy
  indeo3: remove duplicate capabilities line.
  fate: ac3: Add dependencies

Conflicts:
	Changelog
	doc/filters.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h
	libavfilter/Makefile
	libavfilter/af_ashowinfo.c
	libavfilter/allfilters.c
	libavfilter/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 14:40:22 +01:00
Anton Khirnov
20dd41af85 lavfi: add ashowinfo filter
It can be useful for debugging.

Based on a patch by Stefano Sabatini <stefano.sabatini-lala@poste.it>
2012-10-29 21:29:58 +01:00
rogerdpack
c1804dc4ce lavfi/frei0r: allow for Windows style paths
Update path handling against the latest Frei0r specification changes.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-10-29 18:50:48 +01:00
Stefano Sabatini
19add3224f lavfi/scale: implement clever/insane parsing heuristic, and add a size option
If the first argument can be read as a video size, set that output size
in the scale. This allows to specify in a filtergraph scale=qcif or
scale=320x240.

This is not completely safe, for example in case of a typo in the video
size string the first argument will be read as the input width
expression, giving rise to a confusing comment.
2012-10-29 17:44:53 +01:00
Stefano Sabatini
83938c3d4c lavfi/scale: accept named options, make parsing more robust
Also update documentation accordingly.
2012-10-29 17:39:26 +01:00
Clément Bœsch
13d26716fb lavfi/showspectrum: add sliding mode. 2012-10-25 22:20:22 +02:00
Stefano Sabatini
8b03cd3cd7 lavd/lavfi: add graph_file option
Allow to specify a filename where to put the filtergraph description.

This is useful to override limitations or glitches of particular shell
environments, and allows a level of indirection for specifying
filtergraphs.
2012-10-23 22:08:55 +02:00
Stefano Sabatini
6752aac6bc lavfi/aspect: add max option 2012-10-22 10:46:43 +02:00
Stefano Sabatini
ccd6def9b3 lavfi/aspect: extend syntax for the setdar and setsar filters
Add support for named options, and deprecate old "num:den" ambiguous
syntax.
2012-10-22 10:46:34 +02:00
Clément Bœsch
fbedce6b85 lavfi/silencedetect: export silence info to metadata. 2012-10-21 17:29:11 +02:00
Clément Bœsch
de23953de2 lavfi/select: store scene score in buf ref metadata. 2012-10-21 17:29:11 +02:00
Clément Bœsch
6fb2fd895e lavc: add lavfi metadata support.
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>
2012-10-21 17:29:10 +02:00
Stefano Sabatini
faa1cb50ed lavfi/ass: extend syntax for ass filter
Make the filter accept named options for the first argument, and update
documentation accordingly.
2012-10-15 22:40:08 +02:00
Stefano Sabatini
c053f48662 lavfi/transpose: add passthrough option 2012-10-02 09:43:06 +02:00
Stefano Sabatini
6300062774 lavfi/transpose: add support to named options and shortands
Allow extensibility.
2012-10-02 09:20:10 +02:00
Clément Bœsch
d771b1d137 lavfi: EBU R.128 scanner. 2012-10-01 22:26:19 +02:00
jamal
a70b4935f1 Add missing version macros to libraries
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:10:18 +02:00
Stefano Sabatini
740c995288 lavfi: add asendcmd and sendcmd filters 2012-09-23 00:50:06 +02:00
Clément Bœsch
2f39d7ff3f lavfi/select: make lavc dependency optional. 2012-09-20 18:45:47 +02:00
Stefano Sabatini
98f753ec51 lavfi/testsrc: increase precision of the duration parameter
Compute duration in microseconds, rather than in timebase units. Decrease
approximation errors.
2012-09-20 12:13:17 +02:00
Jérémy Tran
75d34864d1 lavfi/hue: add dynamic expression evaluation support
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-15 01:05:27 +02:00
Stefano Sabatini
206c34e17d lavfi/setpts: set SAMPLE_RATE to NAN when input is no audio
Should be more robust/consistent.
2012-09-10 18:52:28 +02:00
Stefano Sabatini
722762f7e1 lavfi/setpts: add FRAME_RATE constant
Useful for dealing with constant frame-rate video.
2012-09-10 18:52:28 +02:00
Stefano Sabatini
a4cb0af945 lavfi: drop deprecated and pointless avfilter_default_end_frame() function
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.
2012-09-09 10:57:28 +02:00
Michael Niedermayer
c9a0f9bf3c libavfilter: pass QP table through the filter chain
Any volunteers to port the pp and spp filters from libmpcodec?

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 03:17:28 +02:00
Stefano Sabatini
fb2e7ac3c4 lavfi/mp: drop rotate wrapper
The native filter transpose is perfectly equivalent.
2012-09-06 11:27:22 +02:00
Stefano Sabatini
9de7622927 lavfi/transpose: implement landscape passthrough mode
Emulate the mp=rotate passthrough mode.
2012-09-04 11:39:23 +02:00
Stefano Sabatini
d55252c331 lavfi/mp: remove decimate wrapper
It was natively integrated into libavfilter.
2012-09-01 09:26:12 +02:00
Jérémy Tran
54ca7e39da lavfi/hue: add process_command callback
This allows dynamic reconfiguration of the filter.
The callback uses some code that was in the init function. Hence this code
has been moved in its own function.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-31 18:09:30 +02:00
Stefano Sabatini
9dd3d6c72a lavfi: port decimate libmpcodecs filter
This filter is based on the MPlayer decimate filter by Rich Felker.
2012-08-31 16:04:37 +02:00
Stefano Sabatini
e64b941dbc lavfi/mp: remove smartblur filter
It was natively integrated into libavfilter.
2012-08-31 16:02:49 +02:00
Jérémy Tran
316afee708 lavfi: add smartblur filter
This is a port of the MPlayer smartblur filter (libmpcodecs/vf_smartblur.c)
by Michael Niedermayer.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-28 19:48:16 +02:00
Stefano Sabatini
1181461ca5 lavfi/asetpts,setpts: add variables T, STARTT, PREV_INT and PREV_OUTT 2012-08-24 13:32:21 +02:00
Nicolas George
5bbe4142d1 lavfi/buffersrc: add AV_BUFFERSRC_FLAG_PUSH. 2012-08-20 23:40:16 +02:00
Clément Bœsch
ddda29b4a7 lavfi: add showspectrum filter. 2012-08-20 23:03:06 +02:00
Stefano Sabatini
dc7e4d685f lavfi/mp: remove framestep wrapped filter
An equivalent framestep filter has been natively integrated.
2012-08-18 12:14:46 +02:00
Stefano Sabatini
48d116400c lavfi: add framestep filter
This filter is inspired upon libmpcodecs/vf_framestep.c, by Daniele
Forghieri.

Only-keyframe output is not supported, since that feature can be achieved
through the more versatile select filter.
2012-08-18 12:13:34 +02:00
Stefano Sabatini
7cd5fa35fe lavfi/testsrc: set output framerate 2012-08-18 12:02:43 +02:00
Clément Bœsch
3250231a02 lavfi: add edgedetect filter. 2012-08-16 22:03:32 +02:00
Jérémy Tran
191b77eb01 lavfi/hue: add named options support
Old syntax has been kept for compatibility reasons.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-16 15:01:05 +02:00
Stefano Sabatini
6efce3a894 lavfi/mp: remove hue wrapped filter
hue was integrated as a native libavfilter filter.
2012-08-16 14:13:54 +02:00
Jérémy Tran
ae60d2c877 lavfi: add hue filter
This is a port of the MPlayer hue filter (libmpcodecs/vf_hue.c) by
Michael Niedermayer.

Signed-off-by: Jérémy Tran <tran.jeremy.av@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-13 12:00:54 +02:00
Stefano Sabatini
5c0d8bc4ce lavfi: add avfilter_get_class() and iteration callbacks
Allow iteration over filter options.
2012-08-13 00:04:06 +02:00