Commit Graph

472 Commits

Author SHA1 Message Date
Matthieu Bouron 6f46403cb0 lavfi/il: switch to AVOption-based system 2013-04-11 00:31:25 +02:00
Clément Bœsch 4ecee69b20 lavfi/mptestsrc: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch 791da4706c lavfi/mandelbrot: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch bd85fee914 lavfi/life: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch 169880e31d lavfi/cellauto: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Stefano Sabatini cff8f91ddf lavfi/decimate: switch to an AVOption-based system 2013-04-11 00:20:01 +02:00
Stefano Sabatini 2040b428b4 lavfi/field: switch to AVOption-based system
Also remove mention to syntax explanation which is or will be redundant
and possibly confusing.
2013-04-11 00:16:25 +02:00
Michael Niedermayer 6a2fb5b90c Merge commit 'ffea3b00c39caa8ad78456ae08c8353929974dfd'
* commit 'ffea3b00c39caa8ad78456ae08c8353929974dfd':
  vf_settb: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_settb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 00:10:59 +02:00
Stefano Sabatini 2ffee3ec14 lavfi/smartblur: switch to AVOption-based system 2013-04-11 00:04:27 +02:00
Michael Niedermayer f42635a50b Merge commit '33b97faaba2744f0a2fd65c0ef9ecc2de3fad7ff'
* commit '33b97faaba2744f0a2fd65c0ef9ecc2de3fad7ff':
  vf_setpts: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:49:58 +02:00
Michael Niedermayer 270d3c96ec Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/subtitles: switch to an AVOptions-based system.
  lavfi/pp: switch to an AVOptions-based system.
  lavfi/geq: switch to an AVOptions-based system.
  lavfi/edgedetect: switch to an AVOptions-based system.
  lavfi/curves: switch to an AVOptions-based system.
  lavfi/colormatrix: switch to an AVOptions-based system.
  lavfi/perms: switch to an AVOptions-based system.
  lavfi/ebur128: switch to an AVOptions-based system.
  lavfi/showspectrum: switch to an AVOptions-based system.
  lavfi/silencedetect: switch to an AVOptions-based system.
  lavfi/thumbnail: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:29:05 +02:00
Michael Niedermayer b3fb2d8cec Merge commit '95f1f56a21bc2f824af6fb97ca7ab35cdd0c401e'
* commit '95f1f56a21bc2f824af6fb97ca7ab35cdd0c401e':
  vf_select: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_select.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:24:48 +02:00
Clément Bœsch e2b0edb6ac lavfi/subtitles: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 8da1fff85a lavfi/pp: switch to an AVOptions-based system.
Also add and use the '|' separator instead of ':' since it's
incompatible with the new option system...
2013-04-10 23:16:03 +02:00
Clément Bœsch f8eabab04d lavfi/geq: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 1cdb9f48db lavfi/edgedetect: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 34610e11e7 lavfi/curves: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 8da1f1f208 lavfi/colormatrix: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 8388e1e2b3 lavfi/perms: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 5afd58fbb4 lavfi/ebur128: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 4964ec2cd4 lavfi/showspectrum: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 1b1688bfc6 lavfi/silencedetect: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 7c11c21669 lavfi/thumbnail: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Michael Niedermayer 7e99ccf5d8 Merge commit '40c885c589808455a1c4b473509f1e6cd4908f55'
* commit '40c885c589808455a1c4b473509f1e6cd4908f55':
  vf_pad: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:50:32 +02: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
Michael Niedermayer 8bdb119197 Merge commit '20b46f8f4fff6aeeab9ea418dc359eda8887ced6'
* commit '20b46f8f4fff6aeeab9ea418dc359eda8887ced6':
  vf_lut: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:13:34 +02:00
Michael Niedermayer 94ec709e3b Merge commit 'ee0e8d4b15a87932ab6066cd6eae3cab08726319'
* commit 'ee0e8d4b15a87932ab6066cd6eae3cab08726319':
  vf_libopencv: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:25:01 +02:00
Michael Niedermayer f780a90355 Merge commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a'
* commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a':
  vf_hqdn3d: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:14:30 +02:00
Michael Niedermayer 1ee9eacaa4 Merge commit '7ed833d78ea661d619124fd898547a900f6480bc'
* commit '7ed833d78ea661d619124fd898547a900f6480bc':
  vf_gradfun: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/gradfun.h
	libavfilter/vf_gradfun.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:09:06 +02:00
Michael Niedermayer 85f115b5d8 Merge commit 'c334c113d4d9e9a41bc38a3e4458d7ab21010401'
* commit 'c334c113d4d9e9a41bc38a3e4458d7ab21010401':
  vf_scale: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/avfilter.c
	libavfilter/vf_scale.c

scale keeps using our shorthand system due to the alternative not
supporting the more complex syntactical things like 1 parameter
dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 20:40:37 +02:00
Michael Niedermayer da3f89988f Merge commit '5aa1a668cfae7f617e1a06efad20f87283badd8a'
* commit '5aa1a668cfae7f617e1a06efad20f87283badd8a':
  vf_frei0r: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_frei0r.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:51:02 +02:00
Michael Niedermayer 81c1ed748b Merge commit 'f13ab29925883b4245da4129694af3af378d67be'
* commit 'f13ab29925883b4245da4129694af3af378d67be':
  vf_fps: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_fps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:21:59 +02:00
Michael Niedermayer b8a1f8b4e2 Merge commit 'a39c154049a2d0c4fb02a5c74f58d6986ec21cec'
* commit 'a39c154049a2d0c4fb02a5c74f58d6986ec21cec':
  vf_fieldorder: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_fieldorder.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:03:30 +02:00
Michael Niedermayer 0c3d706bdb Merge commit 'b9dfee9fa259dfc885508179a359dccc9e7840bd'
* commit 'b9dfee9fa259dfc885508179a359dccc9e7840bd':
  vf_fade: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:48:07 +02:00
Michael Niedermayer d70b494422 Merge commit '8ec464c61c46a5d088b43d24e384d6c37b7ef14a'
* commit '8ec464c61c46a5d088b43d24e384d6c37b7ef14a':
  vf_drawtext: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:31:14 +02:00
Michael Niedermayer 0726d516dc Merge commit '335c31293baec6e6cf5907bd29840af3de8ff735'
* commit '335c31293baec6e6cf5907bd29840af3de8ff735':
  vf_drawbox: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_drawbox.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:11:15 +02:00
Michael Niedermayer eebe0b0224 Merge commit '63e58c55c17d7f8b5eec9c082fe0f8edc305a24e'
* commit '63e58c55c17d7f8b5eec9c082fe0f8edc305a24e':
  vf_delogo: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_delogo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 17:54:20 +02:00
Michael Niedermayer 1c3cdf533b Merge commit '460e7b4f6d473d9f03ed45501221f9cb209b28fd'
* commit '460e7b4f6d473d9f03ed45501221f9cb209b28fd':
  vf_cropdetect: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_cropdetect.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 17:36:29 +02:00
Michael Niedermayer 200e04c70f Merge commit 'fba0156af77b11ec99edf4ee8f511b7aaa6b1891'
* commit 'fba0156af77b11ec99edf4ee8f511b7aaa6b1891':
  vf_crop: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_crop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 16:56:33 +02:00
Michael Niedermayer eb6d58d23c Merge commit '51def31dbe5b6e857536de8fa428f263d64f3ae5'
* commit '51def31dbe5b6e857536de8fa428f263d64f3ae5':
  vf_boxblur: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_boxblur.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 16:34:44 +02:00
Michael Niedermayer 90efdf98b1 avfilter: support alternative keys in the alternative shorthand system
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:47:18 +02:00
Michael Niedermayer 43bac121d3 Merge commit '62dcdb028cc84845fd263bb09304c4c6500bda7a'
* commit '62dcdb028cc84845fd263bb09304c4c6500bda7a':
  vf_blackframe: switch to an AVOptions-based system.
  vf_aspect: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c

In the aspect filter most changes are merged but not the final
switch to the libav API because that is too restrictive and has
difficulty handling the syntax.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:37:21 +02:00
Michael Niedermayer 2a2a643c90 Merge commit 'e67a87eac814c7805d18c983c43033a8a1bd62af'
* commit 'e67a87eac814c7805d18c983c43033a8a1bd62af':
  vf_(no)format: switch to an AVOptions-based system.
  af_aformat: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_aformat.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:59:45 +02:00
Michael Niedermayer 828044aca2 Merge commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff'
* commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff':
  af_resample: switch to an AVOptions-based system.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:30:17 +02:00
Michael Niedermayer 0594ef0dea Merge commit 'b439c992c23f3e0f3832fffd2a34a664b236c525'
* 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>
2013-04-10 12:41:06 +02:00
Anton Khirnov 8114c10160 lavfi: add avfilter_get_class().
Useful for examining options, the same as the corresponding functions
for the other libs.
2013-04-09 19:13:19 +02:00
Anton Khirnov 4d1f31ea44 lavfi: make AVFilterContext export filter options. 2013-04-09 19:13:10 +02:00
Anton Khirnov 62549f9655 lavfi: error out when options are provided to a filter that does not take any 2013-04-09 19:12:59 +02:00
Anton Khirnov c43a7ecad9 lavfi: remove now unused args parameter from AVFilter.init 2013-04-09 19:12:38 +02:00
Anton Khirnov ee0e8d4b15 vf_libopencv: switch to an AVOptions-based system. 2013-04-09 19:05:22 +02:00
Anton Khirnov c334c113d4 vf_scale: switch to an AVOptions-based system. 2013-04-09 19:04:45 +02:00
Anton Khirnov 5aa1a668cf vf_frei0r: switch to an AVOptions-based system. 2013-04-09 19:04:28 +02:00
Anton Khirnov e67a87eac8 vf_(no)format: switch to an AVOptions-based system. 2013-04-09 18:56:39 +02:00
Anton Khirnov 4fa1f52e33 af_resample: switch to an AVOptions-based system. 2013-04-09 18:45:50 +02:00
Anton Khirnov b439c992c2 lavfi: switch to an AVOptions-based system. 2013-04-09 18:45:37 +02:00
Nicolas George 69d67fb622 lavfi: reindent after last commit. 2013-04-03 17:44:10 +02:00
Nicolas George 79d8cfacf0 lavfi: loop on request_frame if necessary.
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.
2013-04-03 17:33:27 +02:00
Nicolas George befbcc374d lavfi: add common code to handle options parsing. 2013-03-20 21:13:56 +01:00
Anton Khirnov 556aab8f11 lavfi: use designated initializers in avfilter_class 2013-03-16 05:33:06 +01:00
Clément Bœsch df5be5e275 lavfi/avfilter: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Michael Niedermayer 212b89f8b4 avfilter: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:23:54 +01:00
Michael Niedermayer f963c77856 avfilter: avoid direct access to "frame"->channels
This avoids ABI issues

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 11:25:54 +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
Michael Niedermayer 3c14c82b7e avfilter: Silence warning: passing argument 3 of av_image_copy from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 12:08:05 +01:00
Stefano Sabatini e47114d545 lavfi: increment max number of registered filters from 128 to 256
The total number of implemented filters is already over 128.
2013-01-31 16:47:37 +01:00
Xi Wang eb553096e5 lavfi: fix null checking in avfilter_config_links()
Move the first use of `link' after the null pointer check.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 00:07:00 +01:00
Nicolas George ff6b34009d lavfi: fix use-after-free in ff_filter_frame.
Unlike the original ff_start_frame code, the incoming reference
may be freed before that point.

Fix CID966654.
2013-01-08 13:31:33 +01:00
Nicolas George 82541d8330 lavfi: merge all filtering code into ff_filter_frame. 2013-01-01 15:19:04 +01:00
Michael Niedermayer c0c0b19644 lavfi: remove some draw_slice related code that has become unneeded
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 16:58:50 +01:00
Nicolas George 0146c1f0f1 lavfi: remove init and check of rate and layout.
The sample rate and channel layout are negotiated and set
by the filter graph system.
2012-12-20 13:03:42 +01:00
Nicolas George 238edd2fe3 lavfi: add a channels field to AVFilterLink.
Also: fix af_pan and af_aresample, that forgot to update
audio->channels.
2012-12-20 13:03:41 +01:00
Michael Niedermayer 87b9dc0982 Merge commit '565e4993c63f797e2d50ad2f1e8f62fdbe299666'
The commit has already been split and commited, this merge is just for metadata.
What has not been merged is the removial of some start/end_frame / draw_slice
related functions that are still in use. They can be removed once they are
unused.

* commit '565e4993c63f797e2d50ad2f1e8f62fdbe299666':
  lavfi: merge start_frame/draw_slice/end_frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:51:22 +01:00
Michael Niedermayer 3ed483cdfa libavfilter: Support using filter_frame for video
With this we can mix filters using filter_frame OR start/draw_slice/end

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Michael Niedermayer f6dd145533 avfilter: check that filter_frame and slice variants are not both used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +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
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
Michael Niedermayer 03b078721c Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'
* 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>
2012-11-12 11:32:11 +01:00
Justin Ruggles a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05: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 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 91af76099e Merge commit '23aae62c2cb4504a09ceb8cd0cabc1c8b260f521'
* commit '23aae62c2cb4504a09ceb8cd0cabc1c8b260f521':
  alsdec: Check k used for rice decoder.
  avfiltergraph: silence an uninitialized variable warning
  xsubenc: reindent
  lavc: replace AVCodecContext.encode with subtitle-specific callback
  lavc: add const to private codec class initialization.
  avconv: don't pass a bogus parameter to avfilter_graph_create_filter().
  id3v2: strdup the genre name explicitly.
  lavf/id3v2: do not export empty fields.
  buffersrc: add const to the AVFrame* argument of av_buffersrc_write_frame()
  lavfi: replace empty input/output lists with null pointers

Conflicts:
	ffmpeg_filter.c
	libavcodec/alsdec.c
	libavcodec/dvdsubenc.c
	libavcodec/utils.c
	libavcodec/v210dec.h
	libavfilter/af_channelsplit.c
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 14:45:44 +02:00
Mans Rullgard 1fce361d70 lavfi: replace empty input/output lists with null pointers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-17 14:35:06 +01:00
Stefano Sabatini 34bf06a35c lavfi: when configuring a link, set channel layout from previous link if unspecified
In avfilter_config_links(), if the current channel layout is not
specified, set the same value of the previous link in the filterchain.

Consistent with the logic used to set the other link parameters.
2012-09-02 10:42:25 +02:00
Nicolas George c2271fa7f9 lavfi: free partial audio buffers when destroying links.
Fix a memleak that the recent change of architecture made
more likely to happen.
2012-08-22 23:31:49 +02:00
Nicolas George beeba9161a lavfi: add a closed field to AVFilerLink.
It will help forward errors and maintain consistency.
2012-08-22 19:04:30 +02:00
Michael Niedermayer c581cb4e4f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix even more missing includes after the common.h removal
  build: Factor out rangecoder dependencies to CONFIG_RANGECODER
  build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE
  x86: avcodec: Consistently name all init files
  Add more missing includes after removing the implicit common.h
  Add some more missing includes after removing the implicit common.h
  Don't include common.h from avutil.h
  rtmp: Automatically compute the hash for SWFVerification

Conflicts:
	configure
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/Makefile
	libavcodec/assdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/avpacket.c
	libavcodec/dv_profile.c
	libavcodec/dwt.c
	libavcodec/libtheoraenc.c
	libavcodec/rawdec.c
	libavcodec/rv40dsp.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.h
	libavcodec/vc1dsp.c
	libavcodec/x86/Makefile
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/buffer.c
	libavfilter/formats.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_select.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/version.h
	libavutil/audioconvert.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 16:20:30 +02:00
Martin Storsjö 1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03: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
Diego Biurrun 49c45a2624 avfilter: Fix printf format string conversion specifier
libavfilter/avfilter.c:224:9: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘int’ [-Wformat]
2012-07-25 09:24:25 +02:00
Nicolas George d06bfda07e lavfi: rescale link->current_pts.
The doxy says, and the heap implementations assumes,
it is in AV_TIME_BASE units.
2012-07-17 23:46:26 +02:00
Stefano Sabatini 21d5609826 lavfi: add init_opaque callback
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
2012-07-10 01:29:17 +02:00
Nicolas George 0689d5e17a lavfi: implement samples framing on links.
Links can be set up to group samples into buffers of
specified minimum and maximum size.
2012-06-30 14:03:54 +02:00
Michael Niedermayer b536e2facf Merge remote-tracking branch 'qatar/master'
* 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>
2012-06-27 01:58:09 +02:00
Michael Niedermayer 5916bc4658 Merge commit '1961e46c15c23a041f8d8614a25388a3ee9eff63'
* 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>
2012-06-27 00:34:36 +02:00
Michael Niedermayer 052f4f859c Merge commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a'
* 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>
2012-06-26 23:57:07 +02:00
Anton Khirnov 1a49a169eb lavfi: make filters less verbose. 2012-06-26 19:08:13 +02:00
Anton Khirnov 1961e46c15 lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft 2012-06-26 13:20:19 +02:00
Anton Khirnov 5e88b96f37 lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft 2012-06-26 13:18:44 +02:00
Anton Khirnov 205e90249a lavfi: use proper FF_API guards for different deprecated functions 2012-06-26 13:17:31 +02:00
Anton Khirnov a5e8c41c28 lavfi: remove 'opaque' parameter from AVFilter.init()
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.
2012-06-26 13:13:48 +02:00
Nicolas George bd9939f495 lavfi: display pad type with mismatch error message. 2012-06-23 11:34:46 +02:00
Michael Niedermayer 0412e5187e lavfi/avfilter: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:13:45 +02:00
Paul B Mahol 54101214d8 lavfi: use designated initializers for AVClass
While here:
    - add missing .version and .category,
    - make .class_name consistent across filters,
    - align declarations.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-17 11:10:10 +00:00
Michael Niedermayer c7b9eab2be Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add a new option 'rtmp_buffer', for setting the client buffer time
  rtmp: Set the client buffer time to 3s instead of 0.26s
  rtmp: Handle server bandwidth packets
  rtmp: Display a verbose message when an unknown packet type is received
  lavfi/audio: use av_samples_copy() instead of custom code.
  configure: add all filters hardcoded into avconv to avconv_deps
  avfiltergraph: remove a redundant call to avfilter_get_by_name().
  lavfi: allow building without swscale.
  build: Do not delete tests/vsynth2 directory, which is no longer created.
  lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
  lavfi: make AVFilterPad opaque after two major bumps.
  lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
  lavfi: make avfilter_get_video_buffer() private on next bump.
  jack: update to new latency range API as the old one has been deprecated
  rtmp: Tokenize the AMF connection parameters manually instead of using strtok_r
  ppc: Rename H.264 optimization template file for consistency.
  lavfi: add channelsplit audio filter.
  golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
  sws: fix planar RGB input conversions for 9/10/16 bpp.

Conflicts:
	Changelog
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/golomb.h
	libavcodec/v210dec.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/version.h
	libavfilter/vf_frei0r.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/video.h
	libavfilter/vsrc_color.c
	libavformat/rtmpproto.c
	libswscale/input.c
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 22:43:57 +02:00
Anton Khirnov 9baeff9506 lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
This is more consistent with naming in the rest of Libav.
2012-06-13 11:13:22 +02:00
Anton Khirnov 84b9fbe055 lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
This will allow making AVFilterPad opaque for the calling apps, since
those are the only two fields that can be useful to the users.
2012-06-13 11:10:17 +02:00
Stefano Sabatini 134815a030 lavfi: change name of tracing functions and of the macro which enables them
The enabling symbol is renamed FF_AVFILTER_TRACE. Avoid conflicts with
the DEBUG macro, which may be defined for different purposes.
2012-06-13 10:51:15 +02:00
Alex Converse 65a80ee1ec avfilter: Log an error if avfilter fails to configure a link. 2012-06-12 10:05:31 -07:00
Michael Niedermayer dc1c79be1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: Log an error if avfilter fails to configure a link.
  avconv: support only native pthreads.
  rtmp: Fix a possible access to invalid memory location when the playpath is too short.

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 20:44:57 +02:00
Stefano Sabatini ee1748ab53 lavfi: fix signature for default_filter_name()
Return a const char *, fix warnings:
libavfilter/avfilter.c: In function ‘default_filter_name’:
libavfilter/avfilter.c:414:5: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
libavfilter/avfilter.c: At top level:
libavfilter/avfilter.c:419:5: warning: initialization from incompatible pointer type [enabled by default]
libavfilter/avfilter.c:419:5: warning: (near initialization for ‘avfilter_class.item_name’) [enabled by default]
2012-06-10 17:23:58 +02:00
Nicolas George 7b42036b3b lavfi: add a frame_rate field to AVFilterLink. 2012-06-09 08:42:50 +02:00
Stefano Sabatini ad347bf459 lavfi: remove avfilter_default_item_name() from public API
The function was introduced in 4d6a8a2bdb and is not used anymore
outside avfilter.c.

This avoids to pollute the public API with an apparently unnecessary
function. The function was introduced a few days ago, so removing it from
the public API should do no much harm.
2012-06-06 23:25:33 +02:00
Michael Niedermayer ad60b3b181 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vorbis: Validate that the floor 1 X values contain no duplicates.
  avprobe: Identify codec probe failures rather than calling them unsupported codecs.
  avformat: Probe codecs at score 0 on buffer exhaustion conditions.
  avformat: Factorize codec probing.
  Indeo Audio decoder
  imc: make IMDCT support stereo output
  imc: move channel-specific data into separate context
  lavfi: remove request/poll and drawing functions from public API on next bump
  lavfi: make avfilter_insert_pad and pals private on next bump.
  lavfi: make formats API private on next bump.
  avplay: use buffersrc instead of custom input filter.
  avtools: move buffer management code from avconv to cmdutils.
  avconv: don't use InputStream in the buffer management code.
  avconv: fix exiting when max frames is reached.
  mpc8: fix maximum bands handling
  aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.

Conflicts:
	Changelog
	cmdutils.h
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/mpc8.c
	libavcodec/v210dec.h
	libavcodec/version.h
	libavcodec/vorbisdec.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fifo.c
	libavfilter/vf_format.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 01:08:33 +02:00
Stefano Sabatini 1488c4dc0b lavfi: move tracing utilities definition from video.c to avfilter.c
These utilities are meant to be defined in avfilter.c, since they are
generic and thus contain both audio and video code.
2012-06-05 11:52:47 +02:00
Anton Khirnov 803391f719 lavfi: remove request/poll and drawing functions from public API on next bump
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:16 +02:00
Anton Khirnov fa417fcd27 lavfi: make avfilter_insert_pad and pals private on next bump.
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:08 +02:00
Anton Khirnov b74a1da49d lavfi: make formats API private on next bump.
It is only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:37:30 +02:00
Stefano Sabatini 4d6a8a2bdb lavfi: add avfilter_default_filter_name()
The function is modelled after av_default_item_name(), and will print the
name of the instance filter if defined, otherwise the name of the filter.

This allows to show the instance name in the log, which is useful when
debugging complex filter graphs.
2012-06-04 00:54:57 +02:00
Michael Niedermayer a5c7525bcb set some categories of some AVClass structs
Please help setting the category for all remaining AVClasses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 21:55:50 +02:00
Paul B Mahol 908c045f3a avfilter: use designated initializer for class
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-05-29 07:59:21 +00:00
Michael Niedermayer d0ad91c258 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  os_support: Define SHUT_RD, SHUT_WR and SHUT_RDWR on OS/2
  http: Add support for reading http POST reply headers
  http: Add http_shutdown() for ending writing of posts
  tcp: Allow signalling end of reading/writing
  avio: Add a function for signalling end of reading/writing
  lavfi: fix comment, audio is supported now.
  lavfi: fix incorrect comment.
  lavfi: remove avfilter_null_* from public API on next bump.
  lavfi: remove avfilter_default_* from public API on next bump.
  lavfi: deprecate default config_props() callback and refactor avfilter_config_links()
  avfiltergraph: smarter sample format selection.
  avconv: rename transcode_audio/video to decode_audio/video.
  asyncts: reset delta to 0 when it's not used.
  x86: lavc: use %if HAVE_AVX guards around AVX functions in yasm code.
  dwt: return errors from ff_slice_buffer_init()

Conflicts:
	ffmpeg.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/formats.c
	libavfilter/version.h
	libavfilter/vf_blackframe.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_showinfo.c
	libavfilter/video.c
	libavfilter/video.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-23 21:48:31 +02:00
Mina Nagy Zaki 88c3b87bd8 lavfi: deprecate default config_props() callback and refactor avfilter_config_links()
Link properties have to be checked after config_props() is called to
make sure everything is sane, so the default config_props() for output
links was redundant.

Remove now empty defaults.c

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-22 21:32:57 +02:00
Stefano Sabatini 4d4098da00 lavfi: drop planar/packed negotiation support
The planar/packed switch and the packing_formats list is no longer
required, since the planar/packed information is now stored in the sample
format enum.

This is technically a major API break, possibly it should be not too
painful as we marked the audio filtering API as unstable.
2012-05-16 13:16:05 +02:00
Michael Niedermayer 1cbf7fb434 Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  fate: use diff -b in oneline comparison
  Add missing version bumps and APIchanges/Changelog entries.
  lavfi: move buffer management function to a separate file.
  lavfi: move formats-related functions from default.c to formats.c
  lavfi: move video-related functions to a separate file.
  fate: make smjpeg a demux test
  fate: separate sierra-vmd audio and video tests
  fate: separate smacker audio and video tests
  libmp3lame: set supported channel layouts.
  avconv: automatically insert asyncts when -async is used.
  avconv: add support for audio filters.
  lavfi: add asyncts filter.
  lavfi: add aformat filter
  lavfi: add an audio buffer sink.
  lavfi: add an audio buffer source.
  buffersrc: add av_buffersrc_write_frame().
  buffersrc: fix invalid read in uninit if the fifo hasn't been allocated
  lavfi: rename vsrc_buffer.c to buffersrc.c
  avfiltergraph: reindent
  lavfi: add channel layout/sample rate negotiation.
  ...

Conflicts:
	Changelog
	doc/APIchanges
	doc/filters.texi
	ffmpeg.c
	ffprobe.c
	libavcodec/libmp3lame.c
	libavfilter/Makefile
	libavfilter/af_aformat.c
	libavfilter/allfilters.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/defaults.c
	libavfilter/formats.c
	libavfilter/src_buffer.c
	libavfilter/version.h
	libavfilter/vf_yadif.c
	libavfilter/vsrc_buffer.c
	libavfilter/vsrc_buffer.h
	libavutil/avutil.h
	tests/fate/audio.mak
	tests/fate/demux.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-16 02:27:31 +02:00
Diego Biurrun 91791ac2ed avfilter: Move ff_get_ref_perms_string() to where it is used.
This fixes a compilation failure with -DDEBUG.
2012-05-15 19:10:46 +02:00
Anton Khirnov 4a1ac8c43f lavfi: move buffer management function to a separate file. 2012-05-15 06:53:22 +02:00
Anton Khirnov c5432d3ca4 lavfi: move video-related functions to a separate file.
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-15 06:51:23 +02:00
Anton Khirnov ff1f51a8aa lavfi: add channel layout/sample rate negotiation. 2012-05-14 21:36:10 +02:00
Michael Niedermayer ad6f006081 avfilter: fix regression since addition of extended_data to audio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-12 23:46:43 +02:00
Michael Niedermayer 015903294c Merge remote-tracking branch 'qatar/master'
* qatar/master: (25 commits)
  rv40dsp x86: MMX/MMX2/3DNow/SSE2/SSSE3 implementations of MC
  ape: Use unsigned integer maths
  arm: dsputil: fix overreads in put/avg_pixels functions
  h264: K&R formatting cosmetics for header files (part II/II)
  h264: K&R formatting cosmetics for header files (part I/II)
  rtmp: Implement check bandwidth notification.
  rtmp: Support 'rtmp_swfurl', an option which specifies the URL of the SWF player.
  rtmp: Support 'rtmp_flashver', an option which overrides the version of the Flash plugin.
  rtmp: Support 'rtmp_tcurl', an option which overrides the URL of the target stream.
  cmdutils: Add fallback case to switch in check_stream_specifier().
  sctp: be consistent with socket option level
  configure: Add _XOPEN_SOURCE=600 to Solaris preprocessor flags.
  vcr1enc: drop pointless empty encode_init() wrapper function
  vcr1: drop pointless write-only AVCodecContext member from VCR1Context
  vcr1: group encoder code together to save #ifdefs
  vcr1: cosmetics: K&R prettyprinting, typos, parentheses, dead code, comments
  mov: make one comment slightly more specific
  lavr: replace the SSE version of ff_conv_fltp_to_flt_6ch() with SSE4 and AVX
  lavfi: move audio-related functions to a separate file.
  lavfi: remove some audio-related function from public API.
  ...

Conflicts:
	cmdutils.c
	libavcodec/h264.h
	libavcodec/h264_mvpred.h
	libavcodec/vcr1.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/defaults.c
	libavfilter/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 23:30:42 +02:00
Michael Niedermayer 61930bd0d7 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  libxvid: Give more suitable names to libxvid-related files.
  libxvid: Separate libxvid encoder from libxvid rate control code.
  jpeglsdec: Remove write-only variable in ff_jpegls_decode_lse().
  fate: cosmetics: lowercase some comments
  fate: Give more consistent names to some RealVideo/RealAudio tests.
  lavfi: add avfilter_get_audio_buffer_ref_from_arrays().
  lavfi: add extended_data to AVFilterBuffer.
  lavc: check that extended_data is properly set in avcodec_encode_audio2().
  lavc: pad last audio frame with silence when needed.
  samplefmt: add a function for filling a buffer with silence.
  samplefmt: add a function for copying audio samples.
  lavr: do not try to copy to uninitialized output audio data.
  lavr: make avresample_read() with NULL output discard samples.
  fate: split idroq audio and video into separate tests
  fate: improve dependencies
  fate: add convenient shorthands for ea-vp6, libavcodec, libavutil tests
  fate: split some combined tests into separate audio and video tests
  fate: fix dependencies for probe tests
  mips: intreadwrite: fix inline asm for gcc 4.8
  mips: intreadwrite: remove unnecessary inline asm
  ...

Conflicts:
	cmdutils.h
	configure
	doc/APIchanges
	doc/filters.texi
	ffmpeg.c
	ffplay.c
	libavcodec/internal.h
	libavcodec/jpeglsdec.c
	libavcodec/libschroedingerdec.c
	libavcodec/libxvid.c
	libavcodec/libxvid_rc.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.h
	tests/Makefile
	tests/fate/aac.mak
	tests/fate/audio.mak
	tests/fate/demux.mak
	tests/fate/ea.mak
	tests/fate/image.mak
	tests/fate/libavutil.mak
	tests/fate/lossless-audio.mak
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak
	tests/fate/qt.mak
	tests/fate/real.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/fate/voice.mak
	tests/fate/vqf.mak
	tests/ref/fate/ea-mad
	tests/ref/fate/ea-tqi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-10 02:25:41 +02:00
Anton Khirnov 0b45334a58 lavfi: move audio-related functions to a separate file.
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-09 20:32:49 +02:00
Anton Khirnov 472fb3bbfa lavfi: remove some audio-related function from public API.
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.

This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
2012-05-09 20:31:56 +02:00
Stefano Sabatini 7ef0adcc2e lavfi: simplify signature for avfilter_get_audio_buffer() and friends
The additional parameters are just complicating the function interface.

Assume that a requested samples buffer will *always* have the format
specified in the requested link.

This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 20:29:53 +02:00
Stefano Sabatini e727bca392 lavfi: cleanup avfilter_get_audio_buffer() and pals.
Remove AVFilterBufferRefAudioProps.size, and use nb_samples in its place
everywhere.
This is required as the size in the audio buffer may be aligned, so it
may not contain a well defined number of samples.

Also remove the useless planar parameter, which can be deduced from the
sample format.

This is technically an API and ABI break, but since the audio part of
lavfi is not usable now, this should not be a problem in practice.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 20:26:19 +02:00
Stefano Sabatini 1b8c9271bd lavfi: add avfilter_get_audio_buffer_ref_from_arrays().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 17:51:13 +02:00
Anton Khirnov 9453c9e1de lavfi: add extended_data to AVFilterBuffer.
This is similar to what has previously been done in AVFrame to allow
dealing with more than 8 channels.
2012-05-09 17:47:53 +02:00
Anton Khirnov ab165047a6 lavfi: add a function for copying properties from AVFilterBufferRef->AVFrame
Based on a commit by Stefano Sabatini <stefano.sabatini-lala@poste.it>
2012-05-09 08:49:36 +02:00
Michael Niedermayer 653d117c29 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libschroedinger: Switch to function names more in line with Libav style.
  Move code shared between libdirac and libschroedinger to libschroedinger.
  lavfi: uninline avfilter_copy_buffer_ref_props().
  lavf: add missing '*' in a doxy.
  h264: Remove a commented-out function pointer typedef.
  txd: Remove write-only variable in txd_decode_frame().
  mmvideo.c: Remove unused variable in mm_decode_pal().
  build: cosmetics: Add missing end-of-line backslashes to item lists.
  build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line.
  libschroedinger: Move a function to avoid a forward declaration.
  pthread: warn on high thread counts
  vf_yadif: fix missing error handling for avfilter_poll_frame()
  avprobe: allow showing only one container/stream property.
  lavfi: support audio in avfilter_copy_frame_props().
  lavfi: avfilter_merge_formats: handle case where inputs are same
  lavc: add sample rate and channel layout to AVFrame.
  zerocodec: check if the previous frame is missing
  doc: clarify check for NULL pointer style

Conflicts:
	doc/APIchanges
	doc/developer.texi
	ffprobe.c
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/libdirac_libschro.c
	libavcodec/libdirac_libschro.h
	libavcodec/mmvideo.c
	libavcodec/txd.c
	libavcodec/version.h
	libavcodec/zerocodec.c
	libavfilter/Makefile
	libavfilter/avfilter.c
	libavfilter/version.h
	libavformat/Makefile
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-07 22:51:34 +02:00
Anton Khirnov 8134fafe9b lavfi: uninline avfilter_copy_buffer_ref_props().
A nontrivial public function such as this should most certainly NOT be
inline.
2012-05-07 14:23:36 +02:00
Anton Khirnov 0bbd874743 lavfi: support audio in avfilter_copy_frame_props(). 2012-05-07 07:10:48 +02:00
Nicolas George 75d5624cb2 avfilter: filter_samples: read pts before filtering.
The call to the next filter_sample will likely unref the
current buffer, so it is not possible to read it afterwards.
2012-04-28 18:48:12 +02:00
Nicolas George 2ce7972779 avfiltergraph: add avfilter_graph_request_oldest().
Keep a heap of all sink links ordered by timestamps.
2012-04-23 14:13:40 +02:00
Robert Nagy 65fa7bc1f8 lavfi: add avfilter_unref_bufferp()
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-04-20 01:01:17 +02:00
Michael Niedermayer c5f9a66f74 avfilter: allow freeing NULL.
this way avfilter_free() can be called without NULL checks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-31 08:48:23 +02:00
Michael Niedermayer c6baa4046a avfilter: add some asserts() to check refcounts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-22 19:30:40 +01:00
Michael Niedermayer f068ce570f avfilter: pool draining and self destruction support.
This should fix a memleak.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-12 16:32:54 +01:00