1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Commit Graph

6202 Commits

Author SHA1 Message Date
Paul B Mahol
8175fb03f0 avfilter/vf_lut: unbreak planar rgb suppot on big-endian 2016-08-31 11:18:40 +02:00
Davinder Singh
11a631d4a7 avfilter/vf_minterpolate: do not right shift negative numbers
It was source of crashes. Use division instead.

Original patch by author. Log message by comitter.
2016-08-29 17:32:47 +02:00
Paul B Mahol
a0a57072c9 avfilter: make use of ff_filter_get_nb_threads 2016-08-29 16:27:09 +02:00
Paul B Mahol
5b1907142d avfilter: add ff_filter_get_nb_threads() 2016-08-29 16:27:09 +02:00
Paul B Mahol
449339084f avfilter: add nb_threads to AVFilterContext
To be used in following commits.
2016-08-29 16:27:09 +02:00
Paul B Mahol
88bcdf109a avfilter: hflip,swapuv,vflip: add timeline support 2016-08-28 11:00:06 +02:00
Paul B Mahol
f242d74d17 avfilter/vf_convolution: add >8 bit depth support 2016-08-27 16:04:07 +02:00
Paul B Mahol
b2c6a11fb6 avfilter/vf_atadenoise: add planes option
Make possible filtering only some planes.
2016-08-27 13:48:14 +02:00
Vittorio Giovara
69abf4f93c vf_colorspace: Add support for full range yuv
Whenever a full range video is input, since the YUVJ* formats are not
listed as supported for this filter, a range reduction takes place
through the auto-inserted format filter, forcing the conversion to
operate on a limited range,

However the filter handles full range videos perfectly fine, so adding
support to YUVJ* formats will allow skipping a conversion step, while
providing completely identical results.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-27 13:08:43 +02:00
Vittorio Giovara
6648da3591 vf_colorspace: Check av_frame_copy_props() return value
This function can potentially allocate memory.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-27 13:08:43 +02:00
Paul B Mahol
0429ff4be6 avfilter: add vaguedenoiser filter 2016-08-26 23:17:19 +02:00
Michael Niedermayer
0c7979b43d avfilter/motion_estimation: Fix pre processor formating
IIRC, The spaces are not standard before the #

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-26 23:09:17 +02:00
Michael Niedermayer
7827813f8c avfilter/motion_estimation: Fix warning: variable dir_x set but not used
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-26 20:17:39 +02:00
Davinder Singh
b07d4a0fb2 avfilter: added motion estimation and interpolation filters
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-26 11:17:51 +02:00
Burt P
ec220a8c1c af_hdcd: av_frame_free(out) if av_frame_copy_props() fails
Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-25 17:12:16 -05:00
Burt P
9d5e3c3f59 af_hdcd: for easier maintenance alongside libhdcd
Mostly just re-arranges some code to make it easier to update this
filter and libhdcd together. filter_frame() is much simpler as a
result.

* use the HDCD detection data structure and functions from libhdcd,
  moved detection code out of filter_frame()
* moved analyze_mode preparation out of filter_frame() into
  hdcd_analyze_prepare(), from libhdcd
* moved some macro definitions to the top so they are all together

Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-25 17:11:57 -05:00
Michael Niedermayer
e1ced854f2 avfilter/af_acrusher: Rename sun/sov
The names are hard to understand and also seem to break build on at least some solaris
versions

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-25 18:36:59 +02:00
Paul B Mahol
feb2ea6e09 avfilter: add yuvtestsrc source filter 2016-08-25 11:16:09 +02:00
Paul B Mahol
5d7743019b avfilter: add lut2 filter 2016-08-25 11:16:09 +02:00
Burt P
8a78fc5b01 af_hdcd: check return value of av_frame_copy_props()
Anton Khirnov:
"[av_frame_copy_props()] potentially contains memory allocation,
so the return value needs to be checked."

Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-24 09:08:45 -05:00
Paul B Mahol
0edfd8e6f4 avfilter/vf_lut: add planar RGB support 2016-08-24 08:30:22 +02:00
Paul B Mahol
68dc0c13f9 avfilter/vf_maskedmerge: add support for more pixel formats 2016-08-23 15:21:06 +02:00
Paul B Mahol
bb109dce18 avfilter: add hysteresis filter 2016-08-23 15:21:06 +02:00
Paul B Mahol
12f997d061 avfilter: add maskedclamp filter 2016-08-23 15:21:06 +02:00
Burt P
0e0f8859ba af_hdcd: PE table limits
Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-21 13:48:46 -05:00
Burt P
accbb00ba7 af_hdcd: add AVOption to disable autoconversion in the filter graph
Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-21 13:48:08 -05:00
Burt P
8c19732a42 af_hdcd: add AVOption to set the CDT period
Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-21 13:47:20 -05:00
Burt P
400e2acd11 af_hdcd: Code comments update
Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-21 13:47:01 -05:00
Paul B Mahol
45e5d5f547 avfilter/avf_showvolume: calculate color table only once 2016-08-21 16:49:18 +02:00
Paul B Mahol
4d7d74802d avfilter/vf_crop: make possible to do exact cropping for subsampled videos 2016-08-21 10:06:48 +02:00
James Almer
27ee70290e avfilter/window_func: use a constant instead of acosh()
Should fix compilation with non C99 compilers like msvc 2012, where
acosh() is not available.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-08-20 11:50:58 -03:00
James Almer
a8e3833a61 x86/avf_showcqt: use the FMULADD_PS x86util macro
Signed-off-by: James Almer <jamrial@gmail.com>
2016-08-20 02:12:33 -03:00
Paul B Mahol
0d8b6a15dd avfilter/vf_histogram: make foreground and background opacity configurable 2016-08-19 18:03:07 +02:00
Paul B Mahol
e2a39b103e avfilter/avf_showvolume: use current peak value for picking colors 2016-08-18 20:14:58 +02:00
Paul B Mahol
b3c6e89d48 avfilter/avf_showspectrum: do not use uninitialized memory 2016-08-18 18:40:00 +02:00
Paul B Mahol
703ae350c2 avfilter/af_astats: fix flt(p) support 2016-08-18 15:30:05 +02:00
Paul B Mahol
81f7d07608 avfilter/af_astats: add support for s64(p) sample format 2016-08-18 15:30:05 +02:00
Paul B Mahol
5ee5f4b13c avfilter/avf_showfreqs: make minimum amplitude for log scaler configurable 2016-08-17 22:02:29 +02:00
Paul B Mahol
345c252e9c avfilter/avf_showspectrum: unbreak dB legend 2016-08-17 22:02:29 +02:00
Paul B Mahol
d299defbba avfilter/Makefile & allfilters: sort entries 2016-08-17 13:37:39 +02:00
Paul B Mahol
ed8d7e7a9b avfilter: add bitplanenoise filter 2016-08-17 13:24:28 +02:00
Paul B Mahol
b438c2025c avfilter/window_func: add cauchy, parzen and poisson window function 2016-08-16 18:09:50 +02:00
Paul B Mahol
a2c40931c8 avfilter/vaf_spectrumsynth: check return code 2016-08-16 16:01:35 +02:00
Paul B Mahol
1457786d69 avfilter/avf_showspectrum: do not let multiple threads to write to same part of memory 2016-08-16 15:56:12 +02:00
Paul B Mahol
ea58dd2beb avfilter/window_func: add dolph window 2016-08-16 15:56:12 +02:00
Paul B Mahol
3282e31baa avfilter/vf_atadenoise: set default size value to 9
This is enough, bigger sizes do not produce better output in 99% cases.
2016-08-15 23:04:08 +02:00
Paul B Mahol
fc3eb173f4 avfilter/vf_atadenoise: add support for more pixel formats 2016-08-15 23:00:28 +02:00
Paul B Mahol
4f226714f5 avfilter/af_astats: add support for other sample formats 2016-08-15 22:01:16 +02:00
Paul B Mahol
ce5ba77079 avfilter/avf_showspectrum: add some multithreading support 2016-08-15 13:17:06 +02:00
Paul B Mahol
ac18114b96 avfilter/vf_zoompan: fix pzoom usage 2016-08-15 09:55:36 +02:00
Paul B Mahol
ec4ed2f69c avfilter/vf_signalstats: fix saturation calculation for >8 bit 2016-08-14 10:00:35 +02:00
Paul B Mahol
3a81775bde avfilter/vf_signalstats: measure video bitdepth 2016-08-13 12:57:09 +02:00
Paul B Mahol
ee56d9bc89 avfilter/vf_signalstats: add >8 bit depth support 2016-08-13 12:57:09 +02:00
Paul B Mahol
b5314333de avfilter/af_adelay: make it possible to delay channels by exact number of samples 2016-08-11 21:46:06 +02:00
Paul B Mahol
eb3137255f avfilter/avf_avectorscope: fix initialization for prev_y in polar mode 2016-08-11 17:30:32 +02:00
Paul B Mahol
a130165ed9 avfilter/avf_avectorscope: add scale option 2016-08-11 17:21:54 +02:00
Paul B Mahol
7f1b14bc57 avfilter: add acrusher filter 2016-08-11 15:02:16 +02:00
Burt P
16ea0bca14 avfiltergraph.c: restore disabling of auto conversions
Restore a check added in 440af105f2
but lost sometime after. avfilter_graph_set_auto_convert() will
have an effect once again.

Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-10 11:37:28 -05:00
Paul B Mahol
80262d8c86 avfilter/avf_showwaves: add sqrt and cbrt amplitude scalers 2016-08-10 11:34:04 +02:00
Paul B Mahol
4506f91185 avfilter/vf_remap: >8 bit support 2016-08-10 10:02:05 +02:00
Michael Niedermayer
369ed11e3c avfilter/drawutils: Fix single plane with alpha
Fixes Ticket5720

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-09 12:42:57 +02:00
Burt P
dbd7a84c81 af_hdcd: Don't warn if converting from AV_SAMPLE_FMT_S16P
Also checking AVFilterLink->type is AVMEDIA_TYPE_AUDIO before
calling av_get_sample_fmt_name() on AVFilterLink->format.

Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-08 11:17:27 -05:00
Burt P
b2b659b17d af_hdcd: Add analyze mode
A new mode, selected by filter option, to aid in analysis of HDCD
encoded audio. In this mode the audio is replaced by a solid tone and
the amplitude is adjusted to signal some specified aspect of the process.
The output file can be loaded in an audio editor alongside the original,
where the user can see where different features or states are present.

Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-08 10:49:34 -05:00
Paul B Mahol
22d13e4290 avfilter/af_dynaudnorm: use better check for infinite loop
Apparently due to rounding this happens.
2016-08-07 23:47:04 +02:00
Paul B Mahol
571f33de0a avfilter/avf_showspectrum: improve dB scale description 2016-08-07 20:21:52 +02:00
Vitaly Ostrosablin
90ddcaaf2d avfilter: add crystalizer audio filter
Signed-off-by: Vitaly Ostrosablin <tmp6154@yandex.ru>
2016-08-07 10:58:42 +02:00
Burt P
2ce985c049 af_hdcd: convert AVOptions from INT to BOOL
As suggested by Timothy Gu.

Signed-off-by: Burt P <pburt0@gmail.com>
2016-08-06 11:16:58 -05:00
Paul B Mahol
04a8bbca92 avfilter/avf_showspectrum: add color rotation feature
Mostly useful with channel color scheme.
2016-08-05 12:18:56 +02:00
Paul B Mahol
4be8ab70a6 avfilter/af_astats: extend bitdepth calculation 2016-08-03 20:32:43 +02:00
Burt P
e0b8cba058 af_hdcd: add flags to AVOption defs
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2016-08-02 22:40:23 -07:00
Timothy Gu
58c7bf789f doxygen: Standardize root-level modules 2016-08-02 22:15:25 -07:00
LoRd_MuldeR
8ab200fb8a avfilter/af_dynaudnorm: improve pre-filling code
In order to avoid possible clipping at the very
beginning. Especially apparent when "alternative"
boundary mode is used.

Adopted from original commit by committer.
2016-08-02 20:00:44 +02:00
Burt P
bea17a3d57 af_hdcd: Warn if there is any resampling or format conversion in the link chain
HDCD is only encoded in s16@44100Hz. Scan the chain of AVFilterLinks
for any resampling or format conversion/truncation that might cause
problems for the filter and issue warnings.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-01 23:57:55 +02:00
Burt P
d574e22659 af_hdcd: Process stereo channels together, fix #5727
Issue #5727: gain adjustment should only be applied if matching
gain value from a valid packet in both channels. The existing functions process
each channel separately, so it was not possible.

* New versions of hdcd_process(), hdcd_scan(), hdcd_integrate() named
  hdcd_*_stereo() that process both channels together.
* target_gain applied will be the last matching target_gain.
* The old single channel functions remain as an option. They can be
  used by: -af hdcd=process_stereo=0.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-01 23:57:55 +02:00
Burt P
12759cc034 af_hdcd: Move code detect/check into own function
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-01 19:48:32 +02:00
Burt P
b90d0ab4be af_hdcd: add force_pe filter option
Used to attempt replication of some results from
http://www.audiomisc.co.uk/HFN/HDCD/Examined.html
May not be generally useful, defaults to off.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-01 19:48:28 +02:00
Burt P
6517177d97 af_hdcd: Improve error detection logging
* Moves the filter context member out of state and into HDCDContext
* More useful information when an error is detected
* Gives a location near where the error was detected

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-01 19:48:24 +02:00
Burt P
390eea61be af_hdcd: give cdt expired counter a value for never set
The counter is now -1 if the code detect timer was never set,
and 0 if it was set but never expired.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-31 16:36:22 +02:00
Burt P
999c6b1da8 af_hdcd: fix a minor cosmetic annoyance
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-31 16:36:08 +02:00
Alexey Tourbin
906ee41141 avfilter/af_stereowiden: fix read/write past the end of buffer
The stereowiden filter uses a buffer, s->buffer[], and a pointer
within the buffer, s->write, to implement inter-channel delays.
The loop which applies the delayed samples turns out to be faulty.

   109      for (n = 0; n < in->nb_samples; n++, src += 2, dst += 2) {
   110          const float left = src[0], right = src[1];
   111          float *read = s->write + 2;
   112
   113          if (read > s->buffer + s->length)
   114              read = s->buffer;
   115
   116          dst[0] = drymix * left - crossfeed * right - feedback * read[1];
   117          dst[1] = drymix * right - crossfeed * left - feedback * read[0];
   118
   119          s->write[0] = left;
   120          s->write[1] = right;
   121
   122          if (s->write == s->buffer + s->length)
   123              s->write = s->buffer;
   124          else
   125              s->write += 2;
   126      }

For one, the buffer gets written past its end in lines 119-120, before
the bound check is done in lines 122-123.  This can be easily confirmed
by valgrind.

==3544== Invalid read of size 4
==3544==    at 0x593B41: filter_frame (af_stereowiden.c:116)
==3544==  Address 0xb1b03c4 is 4 bytes after a block of size 7,680 alloc'd
==3544==
==3544== Invalid read of size 4
==3544==    at 0x593B66: filter_frame (af_stereowiden.c:117)
==3544==  Address 0xb1b03c0 is 0 bytes after a block of size 7,680 alloc'd
==3544==
==3544== Invalid write of size 4
==3544==    at 0x593B79: filter_frame (af_stereowiden.c:119)
==3544==  Address 0xb1b03c0 is 0 bytes after a block of size 7,680 alloc'd
==3544==
==3544== Invalid write of size 4
==3544==    at 0x593B7D: filter_frame (af_stereowiden.c:120)
==3544==  Address 0xb1b03c4 is 4 bytes after a block of size 7,680 alloc'd

Also, using two separate pointers, s->write and read = s->write + 2,
does not seem to be well thought out.  To apply the delay of s->buffer[],
it is enough to read the delayed samples at the current position within
the buffer, and then to store new samples at the same current position.
Thus the application of delayed samples can probably be best described
with a single pointer s->cur.

I also introduce a minor change to ensure that the size of s->buffer[]
is always a multiple of 2.  Since the delay parameter is a float, it is
otherwise possible to trick the code into allocating off-by-one buffer.
2016-07-30 21:53:25 +02:00
Lucas Cooper
bc9ce5f6be avfilter: Add new format for PSNR stats log
Add an AVOption stats_version with a new header for V2 stats, which
specifies the stats log version and lists the fields that will be
present in the log (to ease parsing).

The primary motivation is to facilitate the addition of optional fields
to the log without breaking backwards compatibility, while making the
logs easier to parse.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-29 20:49:53 +02:00
Paul B Mahol
d7ae4f79d3 avfilter/f_drawgraph: add another slide mode 2016-07-28 10:30:06 +02:00
Clément Bœsch
37abc8cca2 lavfi/hdcd: fix style 2016-07-28 09:30:10 +02:00
Clément Bœsch
4791716c1d lavfi/hdcd: mark pe_str as static and const 2016-07-28 09:29:20 +02:00
Burt P
fb91143ef1 af_hdcd: Report PE as being intermittent or permanent
The Peak Extend feature could be enabled permanently or only
when needed. This is now reported.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-28 02:26:57 +02:00
Burt P
c26305f6ae af_hdcd: Add counter for cdt expirations
Adds a counter for when the "code detect timer" expired without
finding a valid packet.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-27 23:09:45 +02:00
Burt P
c7ba34b6ea af_hdcd: more comments in state struct
Add some comments describing the fields in hdcd_state_t.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-27 23:09:26 +02:00
Burt P
91854b8ef6 af_hdcd: Improve HDCD detection
HDCD is now only considered detected if a valid packet
is active in both channels simultaneously.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-27 22:21:43 +02:00
Clément Bœsch
c6e900e925 lavfi/curves: fix meaningless const int returned value
Spotted-by: James Almer <jamrial@gmail.com>
2016-07-26 21:22:27 +02:00
Clément Bœsch
308f9b1c49 lavfi/selectivecolor: add 16-bit support 2016-07-24 15:29:37 +02:00
Clément Bœsch
b8aaedcd01 lavfi/selectivecolor: fix picking black as neutral when alpha is present 2016-07-24 14:21:50 +02:00
Clément Bœsch
6e971f7d66 lavfi: bump minor after recent curves filter additions 2016-07-24 12:22:41 +02:00
Clément Bœsch
b470d81f4e lavfi/curves: prefix init and uninit function names 2016-07-24 12:18:30 +02:00
Clément Bœsch
62a31aecf6 lavfi/curves: pass log ctx as void* instead of AVFilterContext* 2016-07-24 12:18:30 +02:00
Clément Bœsch
39c6d4a8c5 lavfi/curves: reindent after previous commit 2016-07-24 12:18:30 +02:00
Clément Bœsch
e30cdac14b lavfi/curves: add 16-bit support 2016-07-24 12:18:30 +02:00
Clément Bœsch
f19f5b906d lavfi/curves: move alloc and init of LUTs inside config_input()
This is needed in order to have different sizes of LUTs according to the
input.
2016-07-24 12:18:30 +02:00
Clément Bœsch
050f790594 lavfi/curves: dynamically allocate LUTs
This simplifies following commits.
2016-07-24 12:18:30 +02:00
Clément Bœsch
4eee06ae87 lavfi/curves: add various const where it makes sense 2016-07-24 12:18:30 +02:00
Clément Bœsch
51a873d441 lavfi/curves: remove pointless logging since the addition of plot option 2016-07-24 12:18:30 +02:00
Clément Bœsch
4a8f5f1fd8 lavfi/curves: add plot option 2016-07-24 12:18:30 +02:00
Clément Bœsch
5c14018fc4 lavfi/curves: do not automatically insert points at x=0 and x=1
There is actually a need for the origin and end point not to be defined.
We can not automatically insert them with the y value of the first and
last point as it will influence the curves in a wrong way.

Fixes #5397
2016-07-24 12:18:30 +02:00
Michael Niedermayer
9264bb7e79 avfilter/vf_psnr: Fix rounding error in average_max
The intermediate was rounded to an integer

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-21 11:26:28 +02:00
Burt P
c41718c0d0 af_hdcd: detect and report encoding errors and oddities
Count and report when a code is signaled but fails to match a known pattern.
For example try Līve - Secret Samadhi.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-14 22:09:00 +02:00
Burt P
5c7457c028 af_hdcd: only hdcd_update_info() when something changes
Only call hdcd_update_info() when the control code changes
instead of every frame, so the counters are more meaningful.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-14 22:09:00 +02:00
Burt P
33fc4cc7c6 af_hdcd: fewer false positives by ignoring code_counterC in HDCD detection
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-14 22:09:00 +02:00
Michael Niedermayer
e879819e7b avfilter/vf_uspp: Check for encoding failure
Fixes CID1363015

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-13 20:16:27 +02:00
Burt P
7af44ce2f7 af_hdcd: don't log full HDCD stats if HDCD was not detected
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-12 22:55:04 +02:00
Burt P
0d8caeb41e af_hdcd: integrate() renamed hdcd_integrate() to be consistent with the other function names
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-12 21:39:01 +02:00
Sami Hult
d4c8e93190 Changed metadata print option to accept general urls
This is an - once again - updated patch, that uses avio_write instead
of avio_puts to stream clean text output without null characters. Works
now for me as intended.

Changes metadata filter to accept general urls as file argument without
breaking former behaviour. As a byproduct, it also allows for writing to
file "-" if specified as "file:-".

Example:

ffmpeg -i test.wav -filter_complex "silencedetect=n=-40dB:d=0.1,ametadata=mode=print:file='pipe\:4'" -f null

Signed-off-by: Sami Hult <sami.hult@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-10 00:36:49 +02:00
Burt P
ba69a81019 libavfilter/af_hdcd.c: Collect HDCD stats and report
The new HDCD filter really does nothing to show that it is working or
that HDCD control information was even detected in the stream. This
patch collects information about the decode, like which features were
used, and reports it to the user at the end.

Also,
* Fixes low-level gain adjustment
* Updates the documentation

Signed-off-by: Burt P <pburt0@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-06 22:54:47 +02:00
Paul B Mahol
de30863fff avfilter/vf_rotate: add >8 bit depth support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-07-04 20:39:16 +02:00
Timo Rothenpieler
1a75145559 lavfi: Move new field to the end of AVFilterContext
This fixes an accidental ABI break introduced at 8688d3a.
2016-06-29 18:23:28 +02:00
Timo Rothenpieler
1eb43af1a0 lavfi: Move new field to the end of AVFilterLink
Even though this is not part of the public API, some external
applications access fields after it, thus breaking after updating from
ffmpeg 3.0 or earlier.
Since it is not public, it can be freely moved to the end to avoid
that problem in the future.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-29 12:53:07 +02:00
Anton Khirnov
c3f113d584 vf_hwdownload: allocate the destination frame for the pool size
The reasoning is the same as for the previous commit.
2016-06-28 08:32:00 +02:00
Matthieu Bouron
0acc170aad Merge commit '535a742c2695a9e0c586b50d7fa76e318232ff24'
* commit '535a742c2695a9e0c586b50d7fa76e318232ff24':
  build: Change structure of the linker version script templates

Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
2016-06-27 17:56:47 +02:00
Matthieu Bouron
9eb3da2f99 asm: FF_-prefix internal macros used in inline assembly
See merge commit '39d6d3618d48625decaff7d9bdbb45b44ef2a805'.
2016-06-27 17:21:18 +02:00
Hendrik Leppkes
c142dc203e Merge commit 'dc40a70c5755bccfb1a1349639943e1f408bea50'
* commit 'dc40a70c5755bccfb1a1349639943e1f408bea50':
  Drop unnecessary libavutil/x86/asm.h #includes

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-06-26 15:53:00 +02:00
Michael Niedermayer
8baa1d2209 avfilter/vf_paletteuse: enable skip_initial_unpaired
Fixes crash due to unprocessed input being passed through

This fixes the last segfault caused by mixing 3.0 and 3.1 libs and
applications

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-26 01:08:28 +02:00
Michael Niedermayer
f1dabc958e avfilter/dualinput: Add support to skip initial unpaired frames
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-26 01:01:28 +02:00
Michael Niedermayer
fdd8aac7e1 avfilter/src_movie: Add option to remove timestamp discontinuities
This can also be extended to remove discontiuities caused by seek commands

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-26 00:20:00 +02:00
Clément Bœsch
a887fbb582 lavfi/subtitles: remove unecessary checks 2016-06-25 19:14:21 +02:00
Clément Bœsch
e73ccfd6ad lavfi/subtitles: fix memleak after 6bcb1e1a
Spotted-by: James Almer <jamrial@gmail.com>
2016-06-25 19:12:03 +02:00
Clément Bœsch
6bcb1e1aff lavfi/subtitles: switch to codecpar 2016-06-25 16:53:35 +02:00
Anton Khirnov
5b63b15663 lavfi: set the link hwframes context before configuring the dst input
The destination filter might expect the hw frames context to be already
set (this is the case e.g. for hwdownload).
2016-06-25 11:11:46 +02:00
Muhammad Faiz
1b7eaead0c avfilter/showcqt: set some frame properties
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-24 15:33:16 +07:00
Clément Bœsch
5d48e4eafa Merge commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196'
* commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196':
  tests: Move all test programs to a subdirectory

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-22 13:44:34 +02:00
Clément Bœsch
d0d9dbec2f Merge commit 'def03d14687b9d089950ba8e45083e666de4eb68'
* commit 'def03d14687b9d089950ba8e45083e666de4eb68':
  vf_frei0r: Drop overly verbose and broken debug output

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:00:12 +02:00
Clément Bœsch
8ef57a0d61 Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb':
  cosmetics: Fix spelling mistakes

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 21:55:34 +02:00
Anton Khirnov
beb62dac62 Use AVFrame.pts instead of deprecated pkt_pts. 2016-06-21 19:54:42 +02:00
Anton Khirnov
ac7bfd6967 lavfi: add a QSV scaling filter 2016-06-21 19:53:38 +02:00
Clément Bœsch
c01f1157ac Merge commit '0f40c9098498ad90dbbd2380eb4269015e84bde4'
* commit '0f40c9098498ad90dbbd2380eb4269015e84bde4':
  Drop pointless assert.h #includes

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 15:26:20 +02:00
Thomas Mundt
8b7b52c863 avfilter/vf_bwdif: Change default to deinterlace all frames
Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-19 17:02:09 -03:00
Michael Niedermayer
0fcc252829 Revert "avfilter/trim: add compatibility layer to not break ABI used by ffmpeg"
This reverts commit 9219ec93b1.

Fixes Ticket 5411
2016-06-19 01:19:32 +02:00
Benjamin Steffes
5b95b4616a avfilter/af_hdcd: Use int32_t instead of int for gaintable in hdcd filter.
Signed-off-by: Benjamin Steffes <benjaminst123@gmail.com>

(comment by ronald)
prevent the theoretical case where the container type (int)
would be 64 bit on some platforms, which would waste some space

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-15 14:30:50 +02:00
dsmudhar
7a2b9dd060 vf_codecview: added new options
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-15 13:56:07 +02:00
Michael Niedermayer
fa0097e008 avfilter/vf_telecine: Make frame writable before writing into it
Fixes Ticket 5627

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-14 18:08:56 +02:00
Muhammad Faiz
6602361295 avfilter/graphparser: remove '\n' from parse_filter
this allow a filter to be written like this:
aformat =
    sample_fmts  = fltp|flt:
    sample_rates = 44100|44800

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-13 16:17:53 +07:00
Ilya87
be37a66971 Timeline function for the eq filter
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-13 01:57:22 +02:00
Dave Rice
5d12cfacde avfilter/vf_histogram: indent histogram options 2016-06-11 18:40:55 +02:00
Dave Rice
91bc42528c avfilter/vf_histogram: shortcuts for histogram options 2016-06-11 18:40:48 +02:00
Kyle Swanson
765703498a avfilter/af_loudnorm: add dual_mono option
Signed-off-by: Kyle Swanson <k@ylo.ph>
2016-06-09 13:06:30 -05:00
Michael Niedermayer
f2c8b666be avfilter: Fix max value of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-09 10:35:13 +02:00
James Almer
172af20852 x86/showcqt: use three operand format for some instructions
Fixes failures with yasm 1.1.0 and older

Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-08 19:37:08 -03:00
James Almer
7d7fdd6532 x86/showcqt: add missing preprocessor checks
Old yasm/nasm versions don't support some of these

Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-08 19:34:43 -03:00
Muhammad Faiz
2991d93520 avfilter/src_movie: call open_stream after guess_channel_layout
fix error 'Channel layout change is not supported' when
opening wav file

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-09 02:00:10 +07:00
Muhammad Faiz
a096d3ec47 avfilter/avf_showcqt: set range on fps/rate/r option
see Ticket #5618

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-09 01:16:26 +07:00
James Almer
99b899483e avutil/x86util: move haddps sse emulation from showcqt
Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-08 14:18:00 -03:00
Muhammad Faiz
1e69ac9246 avfilter/avf_showcqt: cqt_calc optimization on x86
on x86_64:
        time    PSNR
plain   3.303   inf
SSE     1.649   107.087535
SSE3    1.632   107.087535
AVX     1.409   106.986771
FMA3    1.265   107.108437

on x86_32 (PSNR compared to x86_64 plain):
        time    PSNR
plain   7.225   103.951979
SSE     1.827   105.859282
SSE3    1.819   105.859282
AVX     1.533   105.997661
FMA3    1.384   105.885377

FMA4 test is not available

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-08 16:09:43 +07:00
Muhammad Faiz
77d4dfbec6 avfilter/af_firequalizer: add zero_phase option
simply by substracting pts to compensate delay
also handle AV_NOPTS_VALUE

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-07 07:55:48 +07:00
Michael Niedermayer
abc957e896 avfilter/af_amix: dont fail if there are no samples in output_frame()
Fixes Ticket5326

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-06 00:31:05 +02:00
Thomas Mundt
a0a4a4b370 avfilter/vf_colormatrix: add bt.2020 colorspace
Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-05 19:46:38 +02:00
Thomas Mundt
2e395bbccf avfilter/vf_colormatrix: increase precision
Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-05 18:47:36 +02:00
Muhammad Faiz
1e6a0c9d14 avfilter/avf_showcqt: render default font at 960x16
and let ffmpeg scaler scale it
this impoves quality

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-04 14:05:04 +07:00
Muhammad Faiz
1b05521bb7 avfilter/avf_showcqt: full chroma blending on draw_axis_yuv
improve quality on axis drawing with yuv422p and yuv420p format

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-02 16:14:16 +07:00
Michael Niedermayer
645f7c1ce5 avfilter/f_loop: Fix leak on error
Fixes CID1355117

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-29 21:21:59 +02:00
Michael Niedermayer
be96ebdcd7 avfilter/vf_fieldhint: Reorder operation to prevent hypothetical integer overflow
Fixes CID1355110

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-29 19:00:15 +02:00
Diego Biurrun
535a742c26 build: Change structure of the linker version script templates
Split version files into one line per symbol/directive to allow compatibility
with the Solaris linker without preprocessing and eliminate $ from version file
templates to simplify the postprocessing shell command.
2016-05-29 16:43:11 +02:00
Michael Niedermayer
7ae4d574e8 avfilter/vf_fieldhint: Assert that mode is valid
Its checked by the AVOption code
Fixes CID1355122
Fixes CID1355121

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-29 14:49:27 +02:00
Diego Biurrun
dc40a70c57 Drop unnecessary libavutil/x86/asm.h #includes 2016-05-28 19:18:26 +02:00
Michael Niedermayer
281caece46 avfilter/avfiltergraph: Clear graph pointers in ff_filter_graph_remove_filter()
When a filter is no longer part of a graph, its pointers should be cleared
so no stale pointers remain.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-27 16:30:25 +02:00
Muhammad Faiz
defab0825f avfilter/src_movie: add various commands
add seek command
add get_duration command

Update to codecpar by commiter

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-25 17:19:41 +02:00
dsmudhar
04d35004c3 libavfilter/vf_hwdownload: show error when ff_formats_ref fails
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-24 20:00:17 +02:00
Michael Niedermayer
35b37591c0 avfilter/af_hdcd: Replace complexer expression by litteral constant
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-24 19:56:55 +02:00
Paul B Mahol
5b8faaad6c avfilter/vf_blend: fix incorrect Y variable when threading is used
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-23 21:49:15 +02:00
Anton Khirnov
ac84e618df avfiltergraph: check the query_formats() return value 2016-05-23 06:46:18 +02:00
dsmudhar
5836a5037e libavfilter/af_hdcd: fixed negative signed value shift
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-23 05:39:37 +02:00
Paul B Mahol
defb960a47 avfilter/af_loudnorm: fix crash when ebur128 initialization was not successfull/complete
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-21 19:23:04 +02:00
Michael Niedermayer
e7c5dbb4d1 avfilter/avf_ahistogram: raise minimum acmax to 1
If acmax can be 0 then it could result in a division by 0
Fixes CID1351345

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-21 18:47:25 +02:00
Kyle Swanson
c0c378009b avfilter: add loudnorm
Signed-off-by: Kyle Swanson <k@ylo.ph>
2016-05-18 22:15:01 +02:00
Diego Biurrun
a6a750c7ef tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
Derek Buitenhuis
f693184557 Split drawutils test out into separate file
This was missed during 96d616052b because
it is not included in FATE.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 20:43:19 +01:00
Derek Buitenhuis
96d616052b Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13'
* commit 'd12b5b2f135aade4099f4b26b0fe678656158c13':
  build: Split test programs off into separate files

Some conversions done by: James Almer <jamrial@gmail.com>
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:13:03 +01:00
Rodger Combs
d645182227
lavfi/drawutils: support NV12 and NV21 2016-05-10 20:32:50 -05:00
Jean Delvare
aeefe018f8 avfilter/delogo: Check that logo area is inside the picture
We can only remove the logo if it is inside the picture. We need at
least one pixel around the logo area for interpolation.

Fixes ticket #5527 (Delogo crash with x=0 and/or y=0).

Signed-off-by: Jean Delvare <jdelvare@suse.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-10 18:18:47 +02:00
Ronald S. Bultje
531ff7161d vf_colorspace: don't enable passthrough if bitdepth doesn't match.
Also check return value of av_frame_copy() in passthrough mode, so that
if a copy fails (as it did here, because bitdepth didn't match), the filter
doesn't return success, which would mean sending an uninitialized framebuffer
further down the filtergraph.
2016-05-10 09:26:17 -04:00
Ronald S. Bultje
356c116536 vf_colorspace: fix range order. 2016-05-10 09:26:17 -04:00
Ronald S. Bultje
9bbed8645a vf_colorspace: make whitepoint adaptation mode configurable.
Also add von kries whitepoint adaptation, and add 'identity' to turn
whitepoint adaptation off.
2016-05-10 09:26:16 -04:00
Ronald S. Bultje
f4075767b2 vf_colorspace: use enums for bpp/subsampling array indices.
Also add some documentation for each function to colorspacedsp.h.
2016-05-10 08:37:56 -04:00
Ronald S. Bultje
9b26a8077f vf_colorspace: add const to yuv_stride[] argument in DSP functions. 2016-05-10 08:37:55 -04:00
Ronald S. Bultje
431117dcb5 vf_colorspace: add floyd-steinberg dithering option to full conversion. 2016-05-10 08:37:55 -04:00
Tobias Rapp
9486de5a85 avfilter/f_metadata: update print output header line format
Update print mode output header line format to be more consistent with
other log output of FFmpeg. The printf-modifiers have been inspired by
the showinfo filter.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-10 00:07:22 +02:00
Tobias Rapp
21f9fbce5c avfilter/f_metadata: add pts_time to print output
This allows e.g. to correlate signalstats metadata to time position
without having to find out the filter chain timebase first.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-09 23:02:15 +02:00
Derek Buitenhuis
ca5ec2bf51 Merge commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec'
* commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec':
  build: miscellaneous cosmetics

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-09 16:25:28 +01:00
Przemysław Sobala
5fce4753ff avfilter/vf_fps: set fps value boundaries
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-09 15:01:07 +02:00
Muhammad Faiz
1d4400ac7f avfilter/graphparser: add '\r' as whitespace
for compatibility with platforms that treat it
as newline

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-05-06 07:37:12 +07:00
Diego Biurrun
5afb94c817 Mark read-only tables as static 2016-05-05 10:48:34 +02:00
Paul B Mahol
5b174dd3f1 avfilter/vf_waveform: fix order of graticule scale items
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-05 10:38:37 +02:00
Muhammad Faiz
d2f73c3daf avfilter/avf_showcqt: add . 2016-05-05 14:03:32 +07:00
Diego Biurrun
def03d1468 vf_frei0r: Drop overly verbose and broken debug output 2016-05-04 18:40:50 +02:00
Vittorio Giovara
41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Diego Biurrun
0f40c90984 Drop pointless assert.h #includes 2016-05-03 15:45:10 +02:00
Michael Niedermayer
2e67a99fbc avfilter/vf_drawtext: Check return code of load_glyph()
Fixes segfault
Fixes Ticket5347

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-24 12:39:25 +02:00
Michael Niedermayer
7b7c338e9a avfilter: Add AV_OPT_FLAG_FILTERING_PARAM to where it was missing
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-21 20:20:42 +02:00
Derek Buitenhuis
aa40df483b Merge commit 'a638e9184d63e57e67901f34afe919fd56fd3ac4'
* commit 'a638e9184d63e57e67901f34afe919fd56fd3ac4':
  vf_fade: make sure the slice end is always in the frame

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-21 16:52:03 +01:00
Derek Buitenhuis
94e5f0922b Merge commit '8a02a8031ef4f98faf5647f0e01a8922247bf748'
* commit '8a02a8031ef4f98faf5647f0e01a8922247bf748':
  lavfi: add an NVIDIA NPP-based scaling filter

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-18 15:34:04 +01:00
Derek Buitenhuis
34245eccaf Merge commit '98114d70e48caf871b0fe9b8e5bf8ebd989b845d'
* commit '98114d70e48caf871b0fe9b8e5bf8ebd989b845d':
  lavf: VAAPI scale filter

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-18 15:22:24 +01:00
Thilo Borgmann
37a4d3383f lavfi/perspective: Add basic timeline editing.
Add number of input and output frames to possible variables.
Add option eval to reevaluate coordinate expressions during
initialization or for every frame.
2016-04-17 21:12:34 +02:00
Michael Niedermayer
6d160afab2 avfilter/vf_readvitc: Use avpriv_frame_get_metadatap() avoid direct access to AVFrame.metadata (to comply to API)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-17 18:21:42 +02:00
Ronald S. Bultje
6135aed0d2 vf_scale: support bt2020 in in/out_color_matrix properties. 2016-04-17 09:28:30 -04:00