Neil Birkbeck
e4788e9cd9
avfilter/vf_yadif: fix extra leading dup frame when deint=1
...
Logic for handling single frame in yadif (0f9f24c9
), caused deint=1 (e.g., yadif=0👎 1) to output extra duplicate leading frame:
ffmpeg -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf yadif=0👎 1,showinfo -f null -y /dev/null
[Parsed_showinfo_1 @ 0x1d967d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
[Parsed_showinfo_1 @ 0x1d967d0] n:1 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
(Outputs 51 frames)
After patch, vf "yadif=0👎 1" behaves correctly (like "yadif=0👎 0") and outputs 50 frames, first two:
[Parsed_showinfo_1 @ 0x1e307d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:68E8D1EB plane_checksum:[68E8D1EB] mean:[126] stdev:[46.0]
[Parsed_showinfo_1 @ 0x1e307d0] n:1 pts:2 pts_time:0.04 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:4E674BC7 plane_checksum:[4E674BC7] mean:[125] stdev:[46.0]
(Outputs 50 frames)
Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 21:59:47 +01:00
Michael Niedermayer
681e008d06
vfilter/vf_yadif: fix request_frame after 0f9f24c9
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 16:14:32 +02:00
Michael Niedermayer
0f9f24c9cf
avfilter/vf_yadif: fix filtering a single image
...
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 02:33:24 +02:00
Robert Krüger
194ef56ba7
Change license of yadif from GPL to LGPL
...
Signed-off-by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 14:19:15 +01:00
Robert Krüger
6109399366
Revert "avfilter/yadif: Revert "lavfi: convert input/ouput list compound literals to named objects""
...
This reverts commit 4ef4bb4a20
.
Signed-off-by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 14:19:15 +01:00
Robert Krüger
99c4abfe88
Revert "Revert "yadif: add parens around macro parameters""
...
This reverts commit ab00800cde
.
Signed-off-by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 14:19:14 +01:00
Robert Krüger
4a38eeec38
Revert "Revert "vf_yadif: move x86 init code to x86/yadif.c""
...
This reverts commit 975110a85e
.
Signed-off-by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 14:19:14 +01:00
Michael Niedermayer
975110a85e
Revert "vf_yadif: move x86 init code to x86/yadif.c"
...
This reverts commit a87b17f328
.
This reduces the amount of non LGPL code, making a relicensing to LGPL
easier
Conflicts:
libavfilter/vf_yadif.c
libavfilter/x86/yadif.c
libavfilter/x86/yadif_template.c
libavfilter/yadif.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-01 20:26:26 +01:00
Michael Niedermayer
ab00800cde
Revert "yadif: add parens around macro parameters"
...
This reverts commit 49e617f956
.
This reduces the amount of non LGPL code, making a relicensing to LGPL
easier
Conflicts:
libavfilter/vf_yadif.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-01 20:26:26 +01:00
Michael Niedermayer
4ef4bb4a20
avfilter/yadif: Revert "lavfi: convert input/ouput list compound literals to named objects"
...
This reverts commit 568c70e79e
.
This reduces the amount of non LGPL code, making a relicensing to LGPL
easier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-01 20:26:26 +01:00
Michael Niedermayer
325f6e0a97
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavfi: do not export the filters from shared objects
Conflicts:
libavfilter/af_amix.c
libavfilter/af_anull.c
libavfilter/asrc_anullsrc.c
libavfilter/f_select.c
libavfilter/f_settb.c
libavfilter/split.c
libavfilter/src_movie.c
libavfilter/vf_aspect.c
libavfilter/vf_blackframe.c
libavfilter/vf_colorbalance.c
libavfilter/vf_copy.c
libavfilter/vf_crop.c
libavfilter/vf_cropdetect.c
libavfilter/vf_drawbox.c
libavfilter/vf_format.c
libavfilter/vf_framestep.c
libavfilter/vf_frei0r.c
libavfilter/vf_hflip.c
libavfilter/vf_libopencv.c
libavfilter/vf_lut.c
libavfilter/vf_null.c
libavfilter/vf_overlay.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_unsharp.c
libavfilter/vf_vflip.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 11:58:11 +01:00
Anton Khirnov
cd43ca0443
lavfi: do not export the filters from shared objects
2013-10-28 15:29:54 +01:00
Paul B Mahol
b211607b5c
avfilter: various cosmetics
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Paul B Mahol
a8e00cf926
avfilter: remove redundant use of AV_NE() macro
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:05:21 +00:00
Michael Niedermayer
59b9ecc92a
avfilter/vf_yadif: Treat mode as a field of flags
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 20:53:12 +02:00
Michael Niedermayer
4ff5b2683c
avfilter/vf_yadif: fix "incompatible pointer type" warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 19:58:45 +02:00
Michael Niedermayer
a67dcd74ab
avfilter/vf_yadif: add gbr(a)p support
...
Suggested-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 14:06:17 +02:00
Michael Niedermayer
92b7e7b318
avfilter/vf_yadif: reallocate frames if strides differ
...
Fixes Ticket2896
An alternative to this would be to change the code to support any
stride.
The condition of differing strides should be rare.
If theres no speedloss supporting any stride would be better
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 05:14:29 +02:00
Michael Niedermayer
8589d7a61c
avfilter/vf_yadif:remove unneeded include assert.h
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:53:57 +02:00
Michael Niedermayer
1d08e4b584
yadif: fix slice sizes
...
This more evenly distributes the load between threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:46:57 +02:00
Michael Niedermayer
221f902f1d
avfilter/vf_yadif: fix race condition
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:26:20 +02:00
Michael Niedermayer
558ce3e5b7
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
vf_fade: support slice threading
vf_yadif: support slice threading
Conflicts:
libavfilter/vf_fade.c
libavfilter/vf_yadif.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:24:22 +02:00
Anton Khirnov
cb79881b49
vf_yadif: support slice threading
2013-05-24 09:32:07 +02:00
Clément Bœsch
b8a9876a8b
lavfi/yadif: add timeline support.
2013-05-21 16:09:42 +02:00
Clément Bœsch
f3962c6264
lavfi/yadif: fix chroma subsampling with odd sizes.
2013-05-16 23:20:02 +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
Michael Niedermayer
ab6091f8e2
Merge commit '7536c671040f1f3ebc9f0d3b7831dac71436b775'
...
* commit '7536c671040f1f3ebc9f0d3b7831dac71436b775':
vf_yadif: switch to an AVOptions-based system.
Conflicts:
doc/filters.texi
libavfilter/vf_yadif.c
libavfilter/yadif.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:18:18 +02:00
Anton Khirnov
7536c67104
vf_yadif: switch to an AVOptions-based system.
2013-04-09 19:09:03 +02:00
Nicolas George
2753d4ebf0
lavfi/vf_yadif: use standard options parsing.
2013-03-20 21:13:56 +01:00
James Darnley
7976d92dac
yadif: cosmetic indentation from previous commits
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:06 +01:00
James Darnley
17e7b49501
yadif: x86 assembly for 16-bit samples
...
This is a fairly dumb copy of the assembly for 8-bit samples but it
works and produces identical output to the C version. The options have
been tested on an Athlon64 and a Core2Quad.
Athlon64:
1810385 decicycles in C, 32726 runs, 42 skips
1080744 decicycles in mmx, 32744 runs, 24 skips, 1.7x faster
818315 decicycles in sse2, 32735 runs, 33 skips, 2.2x faster
Core2Quad:
924025 decicycles in C, 32750 runs, 18 skips
623995 decicycles in mmx, 32767 runs, 1 skips, 1.5x faster
406223 decicycles in sse2, 32764 runs, 4 skips, 2.3x faster
387842 decicycles in ssse3, 32767 runs, 1 skips, 2.4x faster
307726 decicycles in sse4, 32763 runs, 5 skips, 3.0x faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:32:34 +01:00
James Darnley
3d751b1ef6
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: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 19:10:55 +01:00
James Darnley
0735b50880
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: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:07:25 +01:00
Clément Bœsch
96e4b00d62
lavfi: remove remaining forgotten min/rej perms.
2013-03-10 02:38:21 +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
b4bb996d6f
yadif: remove unused variable
...
Found by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:24:43 +01:00
Michael Niedermayer
446f7c62a2
Merge commit '64ed397635ef2666b0ca0c8d8c60a8bc44581d82'
...
* commit '64ed397635ef2666b0ca0c8d8c60a8bc44581d82':
vf_yadif: fix out-of line reads
Conflicts:
libavfilter/vf_yadif.c
tests/ref/fate/filter-yadif-mode0
tests/ref/fate/filter-yadif-mode1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 09:09:38 +01:00
Michael Niedermayer
fab8a89abe
Merge commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13'
...
* commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13':
vf_yadif: factorize initializing the filtering callbacks
Conflicts:
libavfilter/vf_yadif.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 08:48:45 +01:00
James Darnley
87d359ff8f
lavfi/yadif: support 9, 12, and 14 bits per pixel
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 00:32:02 +01:00
James Darnley
724061888b
lavfi/yadif: remove unnecessary cast
...
Finish what 99162f8
started
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 00:32:02 +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
Michael Niedermayer
6e9f3f3b65
Merge commit '238614de679a71970c20d7c3fee08a322967ec40'
...
* commit '238614de679a71970c20d7c3fee08a322967ec40':
cdgraphics: do not rely on get_buffer() initializing the frame.
svq1: replace struct svq1_frame_size with an array.
vf_yadif: silence a warning.
Conflicts:
libavcodec/svq1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 14:53:49 +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
André Pankratz
0287eea914
lavfi/yadif: fix shorthand/option mismatch
...
Fix trac ticket #2128 .
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-10 11:01:14 +01:00
Stefano Sabatini
cb8d3965fd
lavfi/yadif: add support to named constants
2013-01-04 11:48:54 +01:00
Stefano Sabatini
f7dc6aa6b1
lavfi/yadif: add support to named options and options introspection
...
Also rename the "enable_auto" field to "deint", to match the name of the
option.
2013-01-04 11:48:54 +01:00
Stefano Sabatini
8674597fe5
lavfi/yadif: remove redundant NULL checks in uninit
2013-01-04 11:48:53 +01:00