summaryrefslogtreecommitdiff
path: root/libavfilter/vf_yadif.c
Commit message (Collapse)AuthorAge
* avfilter/vf_yadif: detect telecine contentMichael Niedermayer2015-01-06
| | | | | | Fixes: yadif with interlaced_flag_switch.mpeg Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/vf_yadif: add >8bit planar rgb formatsMichael Niedermayer2014-12-30
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/vf_yadif: fix extra leading dup frame when deint=1Neil Birkbeck2014-11-29
| | | | | | | | | | | | | | | | | | Logic for handling single frame in yadif (0f9f24c9), caused deint=1 (e.g., yadif=0:-1:1) to output extra duplicate leading frame: ffmpeg -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf yadif=0:-1: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:1" behaves correctly (like "yadif=0:-1: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>
* vfilter/vf_yadif: fix request_frame after 0f9f24c9Michael Niedermayer2014-05-03
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/vf_yadif: fix filtering a single imageMichael Niedermayer2014-05-02
| | | | | Found-by: wm4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Change license of yadif from GPL to LGPLRobert Krüger2014-01-14
| | | | | Signed-off-by: Robert Krüger <krueger@lesspain.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Revert "avfilter/yadif: Revert "lavfi: convert input/ouput list compound ↵Robert Krüger2014-01-14
| | | | | | | | | literals to named objects"" This reverts commit 4ef4bb4a203e8f472ab0484396270b9430862037. Signed-off-by: Robert Krüger <krueger@lesspain.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Revert "Revert "yadif: add parens around macro parameters""Robert Krüger2014-01-14
| | | | | | | This reverts commit ab00800cde1af1f252731118062dd5149f1a7ed7. Signed-off-by: Robert Krüger <krueger@lesspain.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Revert "Revert "vf_yadif: move x86 init code to x86/yadif.c""Robert Krüger2014-01-14
| | | | | | | This reverts commit 975110a85ef8e794fdc041455ff41b0ad30bc01e. Signed-off-by: Robert Krüger <krueger@lesspain.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Revert "vf_yadif: move x86 init code to x86/yadif.c"Michael Niedermayer2013-12-01
| | | | | | | | | | | | | | | This reverts commit a87b17f3283aada762820f1b797eeb7a2dff6c61. 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>
* Revert "yadif: add parens around macro parameters"Michael Niedermayer2013-12-01
| | | | | | | | | | | | This reverts commit 49e617f9565b6528fe707bae7ea4b62b10c771a5. 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>
* avfilter/yadif: Revert "lavfi: convert input/ouput list compound literals to ↵Michael Niedermayer2013-12-01
| | | | | | | | | | named objects" This reverts commit 568c70e79ee267426c15ef4603c69703f6a5884a. This reduces the amount of non LGPL code, making a relicensing to LGPL easier Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-10-29
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * lavfi: do not export the filters from shared objectsAnton Khirnov2013-10-28
| |
* | avfilter: various cosmeticsPaul B Mahol2013-09-12
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter: remove redundant use of AV_NE() macroPaul B Mahol2013-09-11
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter/vf_yadif: Treat mode as a field of flagsMichael Niedermayer2013-09-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfilter/vf_yadif: fix "incompatible pointer type" warningMichael Niedermayer2013-09-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfilter/vf_yadif: add gbr(a)p supportMichael Niedermayer2013-09-05
| | | | | | | | | | Suggested-by: durandal_1707 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfilter/vf_yadif: reallocate frames if strides differMichael Niedermayer2013-09-03
| | | | | | | | | | | | | | | | | | | | | | 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>
* | avfilter/vf_yadif:remove unneeded include assert.hMichael Niedermayer2013-07-19
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | yadif: fix slice sizesMichael Niedermayer2013-05-24
| | | | | | | | | | | | This more evenly distributes the load between threads Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfilter/vf_yadif: fix race conditionMichael Niedermayer2013-05-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-05-24
|\| | | | | | | | | | | | | | | | | | | | | | | * 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>
| * vf_yadif: support slice threadingAnton Khirnov2013-05-24
| |
| * yadif: correct strides in filter_edges_16bitJames Darnley2013-05-14
| | | | | | | | | | | | | | 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>
| * yadif: restore speed of the C filtering codeJames Darnley2013-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | lavfi/yadif: add timeline support.Clément Bœsch2013-05-21
| |
* | lavfi/yadif: fix chroma subsampling with odd sizes.Clément Bœsch2013-05-16
| |
* | Merge commit '7536c671040f1f3ebc9f0d3b7831dac71436b775'Michael Niedermayer2013-04-11
|\| | | | | | | | | | | | | | | | | | | | | | | * 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>
| * vf_yadif: switch to an AVOptions-based system.Anton Khirnov2013-04-09
| |
* | lavfi/vf_yadif: use standard options parsing.Nicolas George2013-03-20
| |
* | yadif: cosmetic indentation from previous commitsJames Darnley2013-03-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | yadif: x86 assembly for 16-bit samplesJames Darnley2013-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | yadif: correct strides in filter_edges_16bitJames Darnley2013-03-15
| | | | | | | | | | | | | | 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>
* | yadif: restore speed of the C filtering codeJames Darnley2013-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | lavfi: remove remaining forgotten min/rej perms.Clément Bœsch2013-03-10
| |
* | Merge commit '7e350379f87e7f74420b4813170fe808e2313911'Michael Niedermayer2013-03-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 759001c534287a96dc96d1e274665feb7059145d 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>
| * lavfi: switch to AVFrame.Anton Khirnov2013-03-08
| | | | | | | | | | Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it and use AVFrame instead.
* | yadif: remove unused variableMichael Niedermayer2013-02-16
| | | | | | | | | | Found by: durandal_1707 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '64ed397635ef2666b0ca0c8d8c60a8bc44581d82'Michael Niedermayer2013-02-16
|\| | | | | | | | | | | | | | | | | | | | | | | * 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>
| * vf_yadif: fix out-of line readsAnton Khirnov2013-02-15
| | | | | | | | Some changes in the border pixels, visually indistinguishable.
* | Merge commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13'Michael Niedermayer2013-02-16
|\| | | | | | | | | | | | | | | | | | | * commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13': vf_yadif: factorize initializing the filtering callbacks Conflicts: libavfilter/vf_yadif.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vf_yadif: factorize initializing the filtering callbacksAnton Khirnov2013-02-15
| | | | | | | | Do it all in config_props().
* | lavfi/yadif: support 9, 12, and 14 bits per pixelJames Darnley2013-02-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi/yadif: remove unnecessary castJames Darnley2013-02-16
| | | | | | | | | | | | Finish what 99162f8 started Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '238614de679a71970c20d7c3fee08a322967ec40'Michael Niedermayer2013-02-06
|\| | | | | | | | | | | | | | | | | | | | | | | * 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>
| * vf_yadif: silence a warning.Anton Khirnov2013-02-06
| | | | | | | | | | | | | | 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)'
| * lavfi: merge start_frame/draw_slice/end_frameAnton Khirnov2012-11-28
| | | | | | | | | | Any alleged performance benefits gained from the split are purely mythological and do not justify added code complexity.
* | lavfi/yadif: fix shorthand/option mismatchAndré Pankratz2013-01-10
| | | | | | | | | | | | Fix trac ticket #2128. Signed-off-by: Stefano Sabatini <stefasab@gmail.com>