Anton Khirnov
cb79881b49
vf_yadif: support slice threading
2013-05-24 09:32:07 +02:00
James Darnley
d10499a32a
yadif: correct strides in filter_edges_16bit
...
The C code treats the data as arrays of uint16_t so strides must not
be in bytes but in pixels.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:24:13 +02:00
James Darnley
b0ef0ae776
yadif: restore speed of the C filtering code
...
Always use the special filter for the first and last 3 columns (only).
Changes made in 64ed397
slowed the filter to just under 3/4 of what it
was. This commit restores the speed while maintaining identical output.
For reference, on my Athlon64:
1733222 decicycles in old
2358563 decicycles in new
1727558 decicycles in this
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:23:55 +02:00
Anton Khirnov
7536c67104
vf_yadif: switch to an AVOptions-based system.
2013-04-09 19:09:03 +02: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
Anton Khirnov
64ed397635
vf_yadif: fix out-of line reads
...
Some changes in the border pixels, visually indistinguishable.
2013-02-15 16:08:33 +01:00
Anton Khirnov
ccd70d9c16
vf_yadif: factorize initializing the filtering callbacks
...
Do it all in config_props().
2013-02-15 16:08:00 +01:00
Anton Khirnov
99162f8d46
vf_yadif: silence a warning.
...
clang says:
libavfilter/vf_yadif.c:192:28: warning: incompatible pointer types assigning to
'void (*)(uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int)'
from 'void (uint16_t *, uint16_t *, uint16_t *, uint16_t *, int, int, int, int, int)'
2013-02-06 10:21:51 +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
Diego Biurrun
f6c38c5f4e
avfilter: call x86 init functions under if (ARCH_X86), not if (HAVE_MMX)
2012-10-12 19:58:51 +02:00
Anton Khirnov
59ee9f78b0
lavfi: do not use av_pix_fmt_descriptors directly.
2012-10-12 12:45:39 +02:00
Mans Rullgard
568c70e79e
lavfi: convert input/ouput list compound literals to named objects
...
A number of compilers, for example those from TI and IBM, choke on
these initialisers. The current style is also quite ugly.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 22:26:12 +01:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Luca Barbato
28165fee1b
yadif: cosmetics
2012-09-09 15:31:18 +02:00
Anton Khirnov
b5c8aa745e
vf_yadif: unset cur_buf on the input link.
...
The buffer is stored internally, so this prevents it from being unreffed
automatically.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Anton Khirnov
8f3a3ce730
lavfi: check all ff_get_video_buffer() calls for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
1dc4205018
lavfi: check all avfilter_ref_buffer() calls for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
02ac7311c8
lavfi: use avfilter_unref_bufferp() where appropriate.
2012-07-22 09:14:05 +02:00
Anton Khirnov
3825b52688
lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors
2012-07-22 09:14:05 +02:00
Anton Khirnov
d4f89906e3
lavfi: add error handling to end_frame().
2012-07-22 09:14:05 +02:00
Anton Khirnov
e9b992d035
lavfi: add error handling to draw_slice().
2012-07-22 09:14:05 +02:00
Anton Khirnov
ebc8d97481
lavfi: add error handling to start_frame().
2012-07-22 09:14:04 +02:00
Ronald S. Bultje
731fa116b4
yadif: use emms_c() instead of inline assembly for emms invocations.
2012-07-21 17:16:49 -07:00
Ronald S. Bultje
3db407038e
lavfi: use const for AVFilterPad declarations in all filters.
2012-07-21 16:31:15 -07:00
Mans Rullgard
a87b17f328
vf_yadif: move x86 init code to x86/yadif.c
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Anton Khirnov
1a49a169eb
lavfi: make filters less verbose.
2012-06-26 19:08:13 +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
Anton Khirnov
6d58358a3a
lavfi: make avfilter_get_video_buffer() private on next bump.
...
They are only useful inside filters and we don't allow user filters for
now.
2012-06-13 11:09:15 +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
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
Anton Khirnov
43c7a01e98
lavfi: remove avfilter_default_* from public API on next bump.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:33:26 +02:00
Robert Nagy
394a0267ab
yadif: Flush filter on eof.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Robert Nagy
7dd56d411e
yadif: Improve pts accuracy.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Robert Nagy
a07578f3f2
vf_yadif: fix missing error handling for avfilter_poll_frame()
2012-05-07 10:26:57 +02:00
Diego Biurrun
7331b6e718
Drop some completely unnecessary av_unused attributes.
2012-02-13 19:20:53 +01:00
Luca Barbato
d32eed5c73
yadif: support 10bit YUV
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 17:02:55 +01:00
Stefano Sabatini
be4e8908d2
vf_yadif: add support to yuva420p
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 09:00:24 +02:00
Stefano Sabatini
4703a7b50b
vf_yadif: correct documentation on the parity parameter
...
0 is top-field-first, 1 is bottom-field-first, not the other way
around.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 08:59:58 +02:00
Joakim Plate
5feb67f8a1
vf_yadif: copy buffer properties like aspect for second frame as well
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 08:59:36 +02:00
Joakim Plate
ab09df9dea
vf_yadif: add an option to enable/disable deinterlacing based on src frame "interlaced" flag
...
Signed-off-by: Joakim Plate <elupus@ecce.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:44:22 +02:00
James Darnley
b137bf7df3
yadif: support 16-bit
...
Fixes by Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:21:40 +02:00
James Darnley
88312a4de3
yadif: support more than yuv420p.
...
and correctly support grey8
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:15:54 +02:00
Michael Niedermayer
d85e18e6e3
yadif: Fix assert() failure
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:15:10 +02:00
Michael Niedermayer
14e3b120ad
Reduce picture size for yadif.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-20 17:38:19 +02:00
Michael Niedermayer
233ed6b314
Change yadif to not use out of picture lines.
...
Fixes issue2272.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-03 08:46:19 +02:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Mans Rullgard
391a1327bd
yadif: add parens around macro parameters
...
This fixes compilation with preprocessors which do not add whitespace
around replaced tokens, resulting in invalid expressions like 1--1.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-05 14:51:03 +00:00
Baptiste Coudurier
a51c71bb54
In yadif filter, default to top field first if interlacing is unknown
...
Originally committed as revision 26347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 00:32:36 +00:00
Baptiste Coudurier
1ef64490e1
yadif sse2/ssse3 optimizations
...
Originally committed as revision 25874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 05:23:44 +00:00
Baptiste Coudurier
902d49eef7
In yadif filter, copy video props to output picture.
...
Fix issue #2269 .
Interpolate pts for the second frame when using field output mode.
Originally committed as revision 25798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-22 20:42:08 +00:00