Commit Graph

58 Commits

Author SHA1 Message Date
Derek Buitenhuis 21f9468402 avutil: Rename FF_CEIL_COMPAT to AV_CEIL_COMPAT
Libav, for some reason, merged this as a public API function. This will
aid in future merges.

A define is left for backwards compat, just in case some person
used it, since it is in a public header.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 16:36:46 +00:00
Paul B Mahol 13090895cf avfilter/vf_tinterlace: add mergex2 mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-03 15:22:16 +02:00
Nicolas George 44f660e7e7 lavfi: remove FF_LINK_FLAG_REQUEST_LOOP.
It has no longer any effect.
2015-09-20 19:02:33 +02:00
Carl Eugen Hoyos 3b4e694ead lavfi/tinterlace: Double aspect ratio for modes merge and pad. 2015-06-04 17:03:29 +02:00
Paul B Mahol a0854c084e avfilter: handle error in query_formats() in bunch of filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-08 13:05:06 +00:00
Michael Niedermayer ac3f6429ba vfilter/vf_tinterlace: Fix issues with linesize and cols
Based on patch by Vittorio Giovara <vittorio.giovara@gmail.com> from 696141e898

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 23:21:28 +01:00
Michael Niedermayer 59f1f764d6 avfilter/vf_tinterlace: Favor using standard timebases for the output
Reported-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Inspired by discussion with Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 18:28:06 +01:00
Michael Niedermayer 08ee02deca avfilter/vf_tinterlace: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 01:06:18 +01:00
Michael Niedermayer fb3eb57369 avfilter/tinterlace: add Support for ff_lowpass_line_avx() & ff_lowpass_line_sse2()
Based-on: 2e1704059a by Kieran Kunhya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 04:02:33 +01:00
Michael Niedermayer 18b46ecc93 avfilter/tinterlace: Move lowpass_line to a separate function and call it through a function pointer
This permits replacing it by a optimized implementation
Based-on / Idea-from: 2e1704059a by Kieran Kunhya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 03:25:43 +01:00
Michael Niedermayer 9d548fce24 avfilter/tinterlace: split context definition into seperate header so it can be used by future optimizations
Idea from 2e1704059a from Kieran Kunhya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 03:22:35 +01:00
Michael Niedermayer f043965cd5 avfilter/vf_tinterlace: fix linesize vs. width
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 03:03:58 +01:00
Michael Niedermayer 05e0ea6050 avfilter/vf_tinterlace: Fix output top field first flag for MODE_INTERLACEX2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 02:45:13 +01:00
Aleksey Vasenev 8349001638 avfilter/vf_tinterlace: fix frame rate
Signed-off-by: Aleksey Vasenev <margtu-fivt@ya.ru>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 22:35:15 +01:00
Reimar Döffinger c9a4ec7969 lavfi: add const/static const to pix_fmts arrays.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:25:36 +02:00
Jasper Taylor 0d5ae023b2 avfilter/vf_tinterlace: Fix vf_tinterlace mode 6 (interlacex2)
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>
2014-03-16 17:25:54 +01:00
Michael Niedermayer 6a71efff33 avfilter/vf_tinterlace: check clone return value
Inspired by: 3a16ec19d2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-19 18:08:58 +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
Paul B Mahol 8ac0eb2cd7 avfilter/vf_tinterlace: add yuv411p, yuv440p, yuva422p and yuva444p
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-21 12:48:24 +00: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
Michael Niedermayer e41bf19d2c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: math typo in interlace filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 09:31:05 +02:00
Paul B Mahol 4f8e4b8a54 lavfi/tinterlace: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Clément Bœsch 50e66726a2 lavfi: use ceil right shift for chroma width/height.
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.
2013-05-10 17:20:06 +02:00
Clément Bœsch 570d63eef3 lavu: add FF_CEIL_RSHIFT and use it in various places. 2013-05-09 16:59:42 +02:00
Michael Niedermayer e92862e75f avfilter/vf_tinterlace: fix handling of not so even sizes
Fixes green bottom line

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 12:26:15 +02:00
Clément Bœsch c85f56bb4f lavfi/tinterlace: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Paul B Mahol ed8373e7db lavfi: always check return value of ff_get_{audio,video}_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 19:24:09 +00:00
Clément Bœsch cbf224b631 lavfi/tinterlace: use standard options parsing. 2013-03-24 12:26:25 +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
Michael Niedermayer e797f22efa vf_tinterlace: fix logical/bit op mixup
Fixes CID966642

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 04:38:53 +01:00
Michael Niedermayer b84871b8eb vf_tinterlace: dont mix declarations and expressions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 16:59:52 +01:00
Mark Himsley 8997a0fa79 lavfi/tinterlace: add low-pass-filter for top/bottom interleave modes
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-30 15:19:23 +01:00
Michael Niedermayer b11a889055 vf_tinterlace: default of mode switch is impossible, add assert.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 00:03:23 +01:00
Stefano Sabatini da9a45b681 lavfi/tinterlace: drop redundant NULL checks in uninit() 2012-12-06 22:32:03 +01:00
Stefano Sabatini c6a216771f lavfi/tinterlace: add support to option parsing
Simplify code, and provide introspection through the AVOption system.
2012-12-06 22:31:42 +01:00
Stefano Sabatini fef7b2e0be lavfi/tinterlace: switch to filter_frame API
Also add missing NULL checks.
2012-12-06 22:30:59 +01:00
Clément Bœsch 2d9d444051 lavfi: convert remaining input/output list compound literals to named objects.
This is following 568c70e79e.
2012-11-28 23:19:20 +01:00
Michael Niedermayer ac2a3a7a05 vf_tinterlace: check av_image_get_linesize() return value
Fixes CID703717
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 02:38:30 +01:00
Stefano Sabatini b420b87848 lavfi/tinterlace: remove poll_frame() callback
That interface is deprecated, and apparently useless.
2012-10-30 23:32:20 +01:00
Hendrik Leppkes 79393a8363 Replace usage of the deprecated av_pix_fmt_descriptors array with av_pix_fmt_desc_get
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 18:00:13 +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
Stefano Sabatini 9a2daef53f lavfi/tinterlace: declare source buffers in copy_picture_field() as const
Increase performance (slightly).
2012-09-06 00:40:01 +02:00
Stefano Sabatini fd5293d216 lavfi/tinterlace: set inlink->cur to NULL, since it is stored internally
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.
2012-09-06 00:40:01 +02:00
Nicolas George 71adb74059 vf_tinterlace: leave harmless permissions alone. 2012-08-17 18:26:42 +02:00
Michael Niedermayer 88beb2df98 Merge remote-tracking branch 'qatar/master'
* 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>
2012-07-22 23:56:21 +02:00
Stefano Sabatini fda968aa8f lavfi: decrease logging level of message showing initial parameters
Reduce log clutter, consistent with 1a49a169eb.
2012-07-15 15:07:03 +02:00
Michael Niedermayer e145afb4b0 vf_tinterlace: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 03:47:38 +02:00
Stefano Sabatini abb0a9982f lavfi: do not pass opaque field to init functions
Fix signature mismatch warnings.
2012-07-08 01:18:15 +02:00
Michael Niedermayer 1c60088885 Merge remote-tracking branch 'qatar/master'
* 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>
2012-06-24 02:09:53 +02:00
Paul B Mahol c9e183b490 lavfi: update some deprecated functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-16 15:15:16 +00:00