summaryrefslogtreecommitdiff
path: root/libavfilter/vf_tinterlace.c
Commit message (Collapse)AuthorAge
* avfilter/tinterlace: add Support for ff_lowpass_line_avx() & ↵Michael Niedermayer2014-11-15
| | | | | | | | ff_lowpass_line_sse2() Based-on: 2e1704059ae8625beda2ffde847ad22c5ba416dc by Kieran Kunhya Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/tinterlace: Move lowpass_line to a separate function and call it ↵Michael Niedermayer2014-11-15
| | | | | | | | | through a function pointer This permits replacing it by a optimized implementation Based-on / Idea-from: 2e1704059ae8625beda2ffde847ad22c5ba416dc by Kieran Kunhya Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/tinterlace: split context definition into seperate header so it can ↵Michael Niedermayer2014-11-15
| | | | | | | | be used by future optimizations Idea from 2e1704059ae8625beda2ffde847ad22c5ba416dc from Kieran Kunhya Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/vf_tinterlace: fix linesize vs. widthMichael Niedermayer2014-11-15
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/vf_tinterlace: Fix output top field first flag for MODE_INTERLACEX2Michael Niedermayer2014-11-15
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/vf_tinterlace: fix frame rateAleksey Vasenev2014-11-13
| | | | | Signed-off-by: Aleksey Vasenev <margtu-fivt@ya.ru> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi: add const/static const to pix_fmts arrays.Reimar Döffinger2014-08-31
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* avfilter/vf_tinterlace: Fix vf_tinterlace mode 6 (interlacex2)Jasper Taylor2014-03-16
| | | | | | | | | | | | | | | | The purpose of this filter mode is to allow interlaced content to display properly in interlaced video modes, as described in http://forum.xbmc.org/showthread.php?tid=81834 and https://github.com/mpv-player/mpv/issues/624#issuecomment-37685195 . The filter doubles the video frame rate, but does not work properly because: (1) it does not set the properties of the output stream to indicate the doubled frame rate, and (2) it does not set an appropriate PTS on the extra frames. The attached patch fixes these problems by settling these values the same way they are set in vf_yadif mode 1 (field) which also doubles the frame rate. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/vf_tinterlace: check clone return valueMichael Niedermayer2013-11-19
| | | | | | Inspired by: 3a16ec19d2426457419cb8a7304f97982699efda 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>
* avfilter/vf_tinterlace: add yuv411p, yuv440p, yuva422p and yuva444pPaul B Mahol2013-09-21
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter: various cosmeticsPaul B Mahol2013-09-12
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-06-18
| | | | | | | * qatar/master: lavfi: math typo in interlace filter Merged-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi/tinterlace: remove request frame hackPaul B Mahol2013-05-27
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavfi: use ceil right shift for chroma width/height.Clément Bœsch2013-05-10
| | | | | | | This should fix several issues with odd dimensions inputs. lut, vflip, pad and crop video filters also need to be checked for such issues. It's possible sws is also affected.
* lavu: add FF_CEIL_RSHIFT and use it in various places.Clément Bœsch2013-05-09
|
* avfilter/vf_tinterlace: fix handling of not so even sizesMichael Niedermayer2013-04-29
| | | | | | Fixes green bottom line Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi/tinterlace: switch to an AVOptions-based system.Clément Bœsch2013-04-11
|
* lavfi: always check return value of ff_get_{audio,video}_buffer()Paul B Mahol2013-04-08
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavfi/tinterlace: use standard options parsing.Clément Bœsch2013-03-24
|
* 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>
* vf_tinterlace: fix logical/bit op mixupMichael Niedermayer2013-01-06
| | | | | | Fixes CID966642 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vf_tinterlace: dont mix declarations and expressionsMichael Niedermayer2012-12-30
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi/tinterlace: add low-pass-filter for top/bottom interleave modesMark Himsley2012-12-30
| | | | Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* vf_tinterlace: default of mode switch is impossible, add assert.Michael Niedermayer2012-12-11
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi/tinterlace: drop redundant NULL checks in uninit()Stefano Sabatini2012-12-06
|
* lavfi/tinterlace: add support to option parsingStefano Sabatini2012-12-06
| | | | Simplify code, and provide introspection through the AVOption system.
* lavfi/tinterlace: switch to filter_frame APIStefano Sabatini2012-12-06
| | | | Also add missing NULL checks.
* lavfi: convert remaining input/output list compound literals to named objects.Clément Bœsch2012-11-28
| | | | This is following 568c70e79ee267426c15ef4603c69703f6a5884a.
* vf_tinterlace: check av_image_get_linesize() return valueMichael Niedermayer2012-11-03
| | | | | Fixes CID703717 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi/tinterlace: remove poll_frame() callbackStefano Sabatini2012-10-30
| | | | That interface is deprecated, and apparently useless.
* Replace usage of the deprecated av_pix_fmt_descriptors array with ↵Hendrik Leppkes2012-10-20
| | | | | | av_pix_fmt_desc_get Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer2012-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* lavfi/tinterlace: declare source buffers in copy_picture_field() as constStefano Sabatini2012-09-06
| | | | Increase performance (slightly).
* lavfi/tinterlace: set inlink->cur to NULL, since it is stored internallyStefano Sabatini2012-09-06
| | | | | If not set to NULL, the reference is freed by ff_end_frame(), and later accessed in end_frame() by the filter code, causing a crash.
* vf_tinterlace: leave harmless permissions alone.Nicolas George2012-08-17
|
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: FATE: fix the asyncts test build: Drop gcc-specific warning flag from header compilation rule FATE: add a test for the asyncts audio filter. matroskadec: return more correct error code on read error. buffersrc: check ff_get_audio_buffer() for errors. lavfi: check all ff_get_video_buffer() calls for errors. lavfi: check all avfilter_ref_buffer() calls for errors. vf_select: avoid an unnecessary avfilter_ref_buffer(). buffersrc: avoid creating unnecessary buffer reference lavfi: use avfilter_unref_bufferp() where appropriate. vf_fps: add more error checks. vf_fps: fix a memleak on malloc failure. lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors lavfi: add error handling to end_frame(). lavfi: add error handling to draw_slice(). lavfi: add error handling to start_frame(). Conflicts: Makefile ffplay.c libavfilter/buffersrc.c libavfilter/vf_boxblur.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_frei0r.c libavfilter/vf_hflip.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/video.c libavfilter/vsrc_color.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi: decrease logging level of message showing initial parametersStefano Sabatini2012-07-15
| | | | Reduce log clutter, consistent with 1a49a169eb74a97.
* vf_tinterlace: use av_assertMichael Niedermayer2012-07-08
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi: do not pass opaque field to init functionsStefano Sabatini2012-07-08
| | | | Fix signature mismatch warnings.
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: Only use optimizations with cmov if the CPU supports the instruction x86: Add CPU flag for the i686 cmov instruction x86: remove unused inline asm macros from dsputil_mmx.h x86: move some inline asm macros to the only places they are used lavfi: Add the af_channelmap audio channel mapping filter. lavfi: add join audio filter. lavfi: allow audio filters to request a given number of samples. lavfi: support automatically inserting the fifo filter when needed. lavfi/audio: eliminate ff_default_filter_samples(). Conflicts: Changelog libavcodec/x86/h264dsp_mmx.c libavfilter/Makefile libavfilter/allfilters.c libavfilter/avfilter.h libavfilter/avfiltergraph.c libavfilter/version.h libavutil/x86/cpu.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi: update some deprecated functionsPaul B Mahol2012-06-16
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavfi/tinterlace: support symbolic names for the parameterStefano Sabatini2012-04-30
| | | | Also deprecate the use of numerical values.
* lavfi/tinterlace: make video as interlaced in mode 6Stefano Sabatini2012-04-30
| | | | | | This is useful for marking progressive video processed by the filter as interlaced, avoiding the interlaced flag to switch back and forth at each frame.
* lavfi/tinterlace: add tinterlace mode 6Stuart Morris2012-04-30
| | | | | | | | | This new mode is useful for generating frames for interlaced video displays. Typically interlaced video displays have no form of field synchronisation. This new mode guarantees correct field order without any requirement for field synchronisation. Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* lavfi/tinterlace: remove unnecessary NULL check in start_frame()Stefano Sabatini2012-04-27
|
* lavfi/tinterlace: use avfilter_unref_bufferp()Stefano Sabatini2012-04-27
|
* lavfi/tinterlace: fix doxy in copy_picture_field()Stefano Sabatini2012-04-27
|
* vf_tinterlace: implement interlace mode 5Stefano Sabatini2012-01-01
| | | | Allow creating interlaced bottom field first video.
* lavfi: port tinterlace filter from MPlayerStefano Sabatini2011-12-31
Port MPlayer tinterlace filter from MPlayer, with some ideas taken from the FFmbc/libavfilter port, with the following main differences: * added support for full-scale YUVJ formats * added support for YUVA420P * request_frame() on the filter is forced to return a frame * some code factorization (related to the copy_picture_fields() function) * fixed black padding values for mode 3