Michael Niedermayer
5c1a8d3b7d
avfilter/vf_idet: factorize av_frame_free(&idet->prev)
...
Found-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 20:24:03 +01:00
Michael Niedermayer
56a33b232c
avfilter/vf_idet: flush internal buffers on parameter changes
...
This is needed to auto insert the filter by default
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 06:03:57 +01:00
Michael Niedermayer
723c37d3b7
avfilter/vf_idet: reduce noisyness if the filter has been auto inserted
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 05:14:15 +01:00
Michael Niedermayer
a79ac73b63
avfilter/vf_idet: Add analyze_interlaced_flag mode
...
This should allow us to insert idet before scale and let scale have interl=-1 as default in that case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 01:21:19 +01:00
Michael Niedermayer
d25d929600
avfilter/vf_idet: Add 9, 12 and 14 bit pixel formats
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 05:56:53 +01:00
Michael Niedermayer
18802bc81c
avfilter/vf_idet: Use frame_requested instead of prev
...
This is more robust if the delay is not constant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 02:30:16 +01:00
Neil Birkbeck
dd5d617956
avfilter/vf_idet: Fixing idet for single-frame inputs.
...
Handle single frame inputs similar to yadif (e.g., 0f9f24c9cf
and 681e008d06
)
Example:
ffmpeg -r 1 -t 1 -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf idet,showinfo -f null -y /dev/null
Previously:
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
[Parsed_idet_0 @ 0x36389d0] Repeated Fields: Neither: 0 Top: 0 Bottom: 0
After patch:
[Parsed_showinfo_1 @ 0x1909810] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 ...
[Parsed_idet_0 @ 0x18f9bb0] Repeated Fields: Neither: 1 Top: 0 Bottom: 0
Fate looks good.
Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 23:38:59 +01:00
Kevin Mitchell
fdf22f973d
avfilter/vf_idet: add a repeated field detection
...
This can be useful for determining telecine.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 12:10:42 +01:00
Michael Niedermayer
898635ad9e
avfilter/vf_idet: use exp2()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 17:22:33 +01:00
Michael Niedermayer
4bbd8f05f7
avfilter/vf_idet: use av_rescale()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 17:22:16 +01:00
Michael Niedermayer
5d590d87b3
avfilter/vf_idet: fix rounding of av_dict_set_fxp()
...
fixes the remainder overflowing beyond .999
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 17:14:29 +01:00
Kevin Mitchell
fe6f5f2908
avfilter/vf_idet: add a "half_life" option for statistics
...
This can be useful for videos in which the interlacing pattern changes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 16:31:26 +01:00
Kevin Mitchell
ae6118de19
avfilter/idet: add current frame classification to metadata
...
Fixes ticket 3832
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 18:04:35 +01:00
Kevin Mitchell
2847843868
avfilter/idet: add metadata to "current" frame instead of "next" frame
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 18:03:38 +01:00
Neil Birkbeck
ad5c43bb36
avfilter/vf_idet: Fixes issue with idet not flushing last frame.
...
Uses a similar approach as vf_yadif to flush the last frame in idet.
Quick test with 50 frames from vsynth1:
./ffmpeg.old -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf idet -f mp4 -y /dev/null 2>&1 | grep Multi
(gives) [Parsed_idet_0 @ 0x261ebb0] Multi frame detection: TFF:0 BFF:0 Progressive:48 Undetermined:1
./ffmpeg -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf idet -f mp4 -y /dev/null 2>&1 | grep Multi
(gives) [Parsed_idet_0 @ 0x35a0bb0] Multi frame detection: TFF:0 BFF:0 Progressive:49 Undetermined:1
Fate tests have been updated.
(In testing, it seems this filter will also need a subsequent patch for single frame input)
Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 15:07:36 +02:00
Kevin Mitchell
ff68ceb1b5
avfilter/vf_idet: add both multiple and single frame detection metadata
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 14:52:27 +02:00
Kevin Mitchell
9d51bad625
avfilter/vf_idet: add counts to frame metadata
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 15:03:13 +02:00
Pascal Massimino
7ac6b8cfa7
avfilter/idet: typo fix: PROGRSSIVE -> PROGRESSIVE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 12:09:14 +02:00
Pascal Massimino
e3fd6a3a4e
av_filter/x86/idet: MMX/SSE2 implementation of 16bits filter_line()
...
tested on http://ps-auxw.de/10bit-h264-sample/10bit-eldorado.mkv
MMX: ~30% faster decoding overall
SSE2:~40% faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 16:47:22 +02:00
skal
406a9ccffe
avfilter/vf_idet: MMX/MMXEXT/SSE2 implementation of idet's filter_line()
...
integration by Neil Birkbeck, with help from Vitor Sessak.
core SSE2 loop by Skal (pascal.massimino@gmail.com )
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 22:19:00 +02: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
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
Paul B Mahol
c63e4e6569
lavfi/idet: remove request_frame hack
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:39 +00:00
Clément Bœsch
61b268eeda
lavfi/idet: fix chroma subsampling with odd sizes.
2013-05-16 23:20:00 +02:00
Michael Niedermayer
fd6228e657
lavfi: remove now unused args parameter from AVFilter.init and init_opaque
...
This is mostly automated global search and replace
The deprecated aconvert filter is disabled, if it still has users
it should be updated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Clément Bœsch
7668b6832d
lavfi/idet: switch to an AVOptions-based system.
2013-04-11 01:04:45 +02:00
Clément Bœsch
ab228f9163
lavfi/idet: use standard options parsing.
2013-03-24 12:26: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
Michael Niedermayer
cdb7a1ac63
vf_idet: adapt default scores due to bugfix
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 01:58:07 +01:00
Michael Niedermayer
dc9edb06b0
vf_idet: Fix macro arguments sideeffect
...
Fixes valgrind errors
should improve detection scores
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 01:58:07 +01:00
Michael Niedermayer
a2349dc3f0
vf_idet: fix type of stats
...
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 17:27:28 +01:00
Clément Bœsch
d155abd1fc
lavfi/idet: remove unused assert include.
2012-12-26 17:17:36 +01:00
Clément Bœsch
a7f0af1b9a
lavfi/idet: remove unecessary context assignment.
2012-12-26 17:17:36 +01:00
Clément Bœsch
43cbd4406e
lavfi/idet: support named parameters.
...
The parameters are currently not documented in doc/filters.texi, but now
they at least appear in the automatic help.
2012-12-26 17:17:36 +01:00
Clément Bœsch
915d7487d7
lavfi/idet: remove unecessary poll_frame callback.
2012-12-26 17:17:36 +01:00
Matthieu Bouron
4cd40ef343
lavfi/idet: switch to filter_frame API
...
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-08 17:19:17 +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
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
31fdf3065d
vf_idet: reorder operations to avoid division by 0
...
Fixes CID733738
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 19:59:32 +02:00
Michael Niedermayer
4d4f431ab7
vf_idet: zero pointers after freeing references
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:21:28 +02:00
Michael Niedermayer
cac749a551
vf_idet: fix free after use
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:21:28 +02:00
Matthieu Bouron
f94edfe484
vf_idet: remove some unnecessary statement and unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 16:48:58 +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
Derek Buitenhuis
3fe303a27d
vf_idet: Remove emms
...
There is no MMX code anyway.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 20:08:12 +02:00
Nicolas George
5ec6ae91ba
vf_idet: fix permissions.
...
Only write needs to be removed, other can be left.
2012-08-17 18:26:41 +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
Michael Niedermayer
052f4f859c
Merge commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a'
...
* commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a':
lavfi: remove 'opaque' parameter from AVFilter.init()
mov: do not try to read total disc/track number if data atom is too short.
avconv: fix -force_key_frames
dxva2_h264: fix signaling of mbaff frames
x86: fft: elf64: fix PIC build
Conflicts:
ffmpeg.c
libavcodec/v210dec.h
libavfilter/asrc_anullsrc.c
libavfilter/buffersrc.c
libavfilter/src_movie.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_overlay.c
libavfilter/vsrc_color.c
libavfilter/vsrc_testsrc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-26 23:57:07 +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