Clément Bœsch
11aab8d6cb
ffmpeg: look for encoding options in both avcodec and avformat
...
This patch is the same as 8a1714ad85 but
applied to encoding. It fixes the current clash of the -password option
between tta decoder and the icecast protocol.
2014-08-15 23:56:09 +02:00
Clément Bœsch
37bfeca78c
avfilter/select: larger pixel sad computation
2014-08-14 19:11:13 +02:00
Clément Bœsch
10d96d8d66
avfilter/select: re-align a few comments
2014-08-14 18:52:53 +02:00
Clément Bœsch
ec14f53dbd
reset and complete RELEASE_NOTES for the next version
2014-08-13 21:03:55 +02:00
Clément Bœsch
8fcd9386ec
Changelog: notify about the recent performance boost in dctdnoiz filter
2014-08-13 20:02:21 +02:00
Clément Bœsch
c85e0ca68a
avfilter/dctdnoiz: add slice threading
2014-08-13 19:32:00 +02:00
Clément Bœsch
d7594beede
avfilter/dctdnoiz: remove a few indirections in idcts
...
No change in the generated asm.
2014-08-09 20:34:14 +02:00
Clément Bœsch
1ba7c6ead2
avfilter/dctdnoiz: use 32-bit (float) operations instead of 64 (double) for DCTs
...
This makes the code about 1.5x faster without any noticeable difference
in the output.
2014-08-08 20:00:14 +02:00
Clément Bœsch
eb16a6d229
avfilter/dctdnoiz: remove forward declarations after previous commit
2014-08-08 20:00:14 +02:00
Clément Bœsch
aaf82dc0fa
avfilter/dctdnoiz: make color [de]correlation less clumsy
...
This has no impact on overall performance, since the block DCT taking
most of the time anyway.
2014-08-08 20:00:13 +02:00
Clément Bœsch
cec59eb63f
avfilter/dctdnoiz: add 8x8 dct and make it the default
...
8x8 is about 5x faster than 16x16 on 1080p input. Since a block size of
8x8 makes the filter almost usable (time wise) and it's not obvious if
8x8 or 16x16 is better from a quality PoV (it really depends on the
input and parameters), the filter now defaults to 8x8, and as a result
libavfilter is micro bumped.
2014-08-07 21:24:12 +02:00
Clément Bœsch
06362ab750
avfilter/dctdnoiz: rewrite [f/i]dct
...
This removes the avcodec dependency and make the code almost twice as
fast. More to come.
The DCT factorization is based on "Fast and numerically stable
algorithms for discrete cosine transforms" from Gerlind Plonkaa &
Manfred Tasche (DOI: 10.1016/j.laa.2004.07.015).
2014-08-07 19:59:07 +02:00
Clément Bœsch
97478ef5fe
avfilter/select: fix "t" eval variable comment
2014-08-05 21:15:13 +02:00
Clément Bœsch
eaeb61c3a6
avfilter/select: remove optional avcodec dependency
2014-08-05 21:05:53 +02:00
Clément Bœsch
164b7ccf21
avfilter/mp_decimate: remove avcodec dependency
2014-08-05 21:05:52 +02:00
Clément Bœsch
def03d3439
avfilter/deshake: remove avcodec dependency
2014-08-05 21:05:52 +02:00
Clément Bœsch
f50ec59751
build: remove wrong avcodec dep in decimate
...
This was probably a mistake with mpdecimate. The decimate filter doesn't
depend on avcodec.
2014-08-05 21:05:52 +02:00
Clément Bœsch
28a2107a8d
avutil: add pixelutils API
2014-08-05 21:05:52 +02:00
Clément Bœsch
ee7ee9b1b4
avcodec/mpeg12dec: fix vissible typo after 17c65651
2014-08-03 00:02:23 +02:00
Clément Bœsch
28f31e78eb
doc: restore default.css
...
This partially reverts 9ce64ba111 .
FATE still needs it until its design is updated to the new website
version.
2014-07-20 02:01:50 +02:00
Clément Bœsch
7a15c22c5f
build: fix build with --disable-encoders
...
draw_edges() should probably be moved somewhere else to avoid
mpegvideo*enc* dependency to decoders.
2014-07-15 21:26:16 +02:00
Clément Bœsch
d5601cf6fc
avfilter/haldclut: fix R/B swap in CLUT loading
...
Fixes Ticket #3751 .
2014-07-05 19:35:51 +02:00
Clément Bœsch
ec94c52e97
doc: remove trailing ':' at the end of sections
...
Also lowercase "options" in "Advanced Video Options" for consistency.
2014-06-30 15:36:26 +02:00
Clément Bœsch
d5f817793e
avfilter/overlay: reindent
2014-06-29 13:26:12 +02:00
Clément Bœsch
b18d1b094e
avfilter/buffersrc: reindent
2014-06-29 13:26:04 +02:00
Clément Bœsch
79198cb65a
avfilter/hqx: add some self promotion in doxy.
...
This is useful to understand how it's different from the original code.
2014-06-21 22:34:15 +02:00
Clément Bœsch
4d8fc0e088
avfilter/hqx: unroll the pattern calculation
...
Code si smaller, no speed difference.
2014-06-21 22:32:49 +02:00
Clément Bœsch
ded3c9fd32
avfilter: add hqx filter (hq2x, hq3x, hq4x)
...
Partially fixes Ticket #3404 (xbr filter remaining)
2014-06-21 19:22:55 +02:00
Clément Bœsch and Clément Bœsch
88514378ba
avcodec/ass: move playres parameters below scripttype
...
Suggested-by: wm4
2014-06-18 18:43:36 +02:00
Clément Bœsch and Clément Bœsch
5039aadf68
avcodec/ass: explicit PlayRes[XY]
...
This avoids the following libass warning when using the subtitles
filter: "Neither PlayResX nor PlayResY defined. Assuming 384x288"
Subtitles tests change because the output is ASS and the PlayRes[XY]
ends up in the output.
2014-06-18 18:22:40 +02:00
Clément Bœsch
0180c46928
avfilter/showcqt: move qsort_sparsecoeff closer to where it belongs
2014-06-11 21:33:09 +02:00
Clément Bœsch
1786cd850f
avfilter/showcqt: fix misc style issues
2014-06-11 21:33:09 +02:00
Clément Bœsch
76bce46d8f
avfilter: add signalstats filter
...
Signed-off-by: Mark Heath <silicontrip@gmail.com >
Signed-off-by: Dave Rice <dave@dericed.com >
Signed-off-by: Clément Bœsch <u@pkh.me >
2014-06-11 21:17:24 +02:00
Clément Bœsch
53bac1b4bd
doc: add a tutorial for writing filters.
2014-05-26 21:28:19 +02:00
Clément Bœsch
657c603263
avcodec/webvttenc: do not use EOVERFLOW.
...
According to doc/errno.txt EOVERFLOW is not available everywhere. The
use of -1 is consistent with avcodec/srtenc.c.
2014-05-25 10:28:16 +02:00
Clément Bœsch
cba92a2226
avformat/vobsub: do not create empty streams.
...
Fixes NULL dereference in vobsub_read_packet() on vobsub->q[i]->subs.
Fixes ticket #3669 .
2014-05-24 11:08:34 +02:00
Clément Bœsch
08c51e12b1
ffplay: support rotated video.
...
with -f lavfi -i testsrc=s=hd1080 as source:
rotate=90*PI/180 vs transpose=clock: 42fps -> 64fps
rotate=180*PI/180 vs vflip,hflip: 75fps -> 77fps
rotate=270*PI/180 vs transpose=cclock: 43fps -> 63fps
2014-05-23 23:30:21 +02:00
Clément Bœsch
e63a17bfdc
avformat/mov: use av_display_rotation_get() for rotate metadata.
2014-05-23 23:30:21 +02:00
Clément Bœsch
fa972dcf1a
avutil/display: use hypot().
2014-05-23 23:30:21 +02:00
Clément Bœsch
9986e50a6e
configure: make vp9 decoder select the parser.
...
The parser is needed. FATE breaks if not present.
2014-05-17 16:13:42 +02:00
Clément Bœsch
2ca97c7802
configure: make sure pkg-config flags are populated in FT test.
2014-05-17 16:13:42 +02:00
Clément Bœsch
11e490334e
avfilter/edgedetect: reuse already defined ctx.
2014-05-17 14:16:04 +02:00
Clément Bœsch
bac08cf086
avfilter/vignette: reindent after previous commit.
2014-05-16 06:53:36 +02:00
Clément Bœsch
ed7bc5471b
avfilter/vignette: add direct rendering.
2014-05-16 06:53:18 +02:00
Clément Bœsch
8a0ba44e1a
vignette: reuse already declared ctx.
2014-05-16 06:48:41 +02:00
Clément Bœsch
bc2e39c4cc
avfilter/lut3d: move the scale calc out of the inner loop.
2014-05-14 07:51:10 +02:00
Clément Bœsch
c683e6aa2c
build: move ebur128 swr dep to configure.
2014-05-13 23:13:44 +02:00
Clément Bœsch
5623a10526
avfilter/phase: make the main loop readable.
2014-05-08 23:58:34 +02:00
Clément Bœsch
5df10150d4
avfilter/phase: add some constness for RO data pointers.
2014-05-08 23:34:51 +02:00
Clément Bœsch
69d72140ac
avfilter/phase: add timeline support.
2014-05-08 23:34:51 +02:00
Clément Bœsch
8de600de55
avfilter/phase: avoid a memcpy per frame.
2014-05-08 22:59:47 +02:00
Clément Bœsch
687119aa9d
avfilter/phase: do not pass the whole context to analyze_plane().
...
Also make sure the AVFilterContext is only being used for logging by
changing the type to void*
2014-05-08 22:59:47 +02:00
Clément Bœsch
362ab940fc
avfilter/phase: add comment on the context cached frame.
2014-05-08 22:59:47 +02:00
Clément Bœsch
7c3941b25c
avfilter/lut3d: support 3DLUTSIZE directive for Davinci files.
...
Fixes Ticket #2847 .
2014-05-04 10:36:53 +02:00
Clément Bœsch
d53e87a837
avfilter/edgedetect: update copyright.
2014-05-03 19:10:28 +02:00
Clément Bœsch
365c79bd4e
avfilter/edgedetect: reindent after previous commit.
2014-05-03 19:07:14 +02:00
Clément Bœsch
b17e98ded0
avfilter/edgedetect: add a colormix mode.
2014-05-03 19:07:14 +02:00
Clément Bœsch
3f3c3318be
avfilter/edgedetect: make processing functions context free.
2014-05-03 18:11:02 +02:00
Clément Bœsch
b7dd250b75
avformat/vobsub: use av_make_q().
2014-05-01 16:18:12 +02:00
Clément Bœsch
6a3a7d7af1
avformat/vobsub: remove pointless FAIL macro.
2014-05-01 16:16:54 +02:00
Clément Bœsch
b2cfd1fde7
avfilter/curves: fix resource leaks.
...
Fixes CID1206650
2014-04-27 11:49:13 +02:00
Clément Bœsch
62d31307c1
avcodec/x86/vp9lpf: add a comment above a bunch of SWAP.
2014-04-20 21:33:58 +02:00
Clément Bœsch
f0d368d758
avcodec/x86/vp9lpf: merge a few movs with other instructions.
2014-04-20 21:29:11 +02:00
Clément Bœsch
010732b73a
vp9/x86: simplify FILTER_INIT.
...
In the 2 FILTER_INIT usages, the source is already preloaded so that
extra complexity taken from FILTER_UPDATE is not necessary.
Also add forgotten "mask" argument in FILTER_{INIT,UPDATE} comments.
2014-04-19 17:30:33 +02:00
Clément Bœsch
b8d002dc95
vp9/x86: clarify mixed splatb.
2014-04-19 17:00:51 +02:00
Clément Bœsch
cecb6d6f83
Changelog: remove unecessary "added"
2014-04-02 07:45:06 +02:00
Clément Bœsch
af3b6aed0d
avcodec/vp9dsp: fix typo in mc doxy.
2014-03-29 18:13:15 +01:00
Clément Bœsch
c4148a6668
x86/vp9mc: add vp9 namespace.
2014-03-29 18:13:15 +01:00
Clément Bœsch and Luca Barbato
2572d07c1f
http: Allow setting a Content-Type for POST requests
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-03-11 22:08:57 +01:00
Clément Bœsch and Luca Barbato
ddfc989063
http: Support setting custom User-Agent
...
Contextually make the default User-Agent use the common
"Name/Version" pattern.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-03-11 22:08:57 +01:00
Clément Bœsch
57ec555e8e
avcodec/pngenc: fix invalid read in sub filter.
...
First pixel was computed based on invalid address read, and then
corrected by the following memcpy. After the commit, it's not computed
anymore, and memcpy fills the appropriate area.
Fixes Ticket #3387
2014-02-23 20:40:52 +01:00
Clément Bœsch
0e97ec54de
avfilter/curves: support slice threading.
2014-02-13 14:35:10 +01:00
Clément Bœsch
13aec744c2
avfilter/lut3d: support slice threading.
2014-02-13 13:39:23 +01:00
Clément Bœsch
b6c0f07d5a
avfilter/lut3d: inline whole loop in interpolation function.
...
84 → 92 fps here.
2014-02-12 10:12:48 +01:00
Clément Bœsch
c333987876
vp9: fix compilation with !HAVE_FAST_64BIT.
...
Spotted-by: Carl Eugen Hoyos <cehoyos@ag.or.at >
2014-02-09 18:44:20 +01:00
Clément Bœsch
669d4f9053
x86/vp9lpf: simplify 2nd transpose in 44/48/88/84.
...
For non-avx optims, this saves 8 movs.
before:
1785 decicycles in ff_vp9_loop_filter_h_44_16_ssse3, 524129 runs, 159 skips
3327 decicycles in ff_vp9_loop_filter_h_48_16_ssse3, 262116 runs, 28 skips
2712 decicycles in ff_vp9_loop_filter_h_88_16_ssse3, 4193729 runs, 575 skips
3237 decicycles in ff_vp9_loop_filter_h_84_16_ssse3, 524061 runs, 227 skips
after:
1768 decicycles in ff_vp9_loop_filter_h_44_16_ssse3, 524062 runs, 226 skips
3310 decicycles in ff_vp9_loop_filter_h_48_16_ssse3, 262107 runs, 37 skips
2719 decicycles in ff_vp9_loop_filter_h_88_16_ssse3, 4193954 runs, 350 skips
3184 decicycles in ff_vp9_loop_filter_h_84_16_ssse3, 524236 runs, 52 skips
2014-02-08 11:10:23 +01:00
Clément Bœsch
d92a725329
x86/vp9lpf: remove 8 SWAPs in 84/48 transpose.
2014-02-05 07:21:13 +01:00
Clément Bœsch
97dde561de
x86/vp9lpf: remove braindead double pxor.
2014-02-05 07:21:11 +01:00
Clément Bœsch
9a3b05b0a9
x86/vp9lpf: save a few mov in flat8in/hev masks calc.
2014-02-05 07:21:09 +01:00
Clément Bœsch
91d85bb167
x86/vp9lpf: add ff_vp9_loop_filter_[vh]_44_16_{sse2,ssse3,avx}.
2014-02-05 07:21:06 +01:00
Clément Bœsch
7f42bfad5d
lavfi/ebur128: add sample and true peak metering.
...
Metadata injection and logging. Not yet present visually.
Signed-off-by: Jean First <jeanfirst@gmail.com >
2014-02-02 20:44:56 +01:00
Clément Bœsch
c5dd73b890
x86/vp9lpf: add ff_vp9_loop_filter_h_{48,84}_16_{sse2,ssse3,avx}().
...
5.40s → 5.30s overall decode time with -threads 1 on ped1080p.webm
(i7 920, ssse3)
2014-01-30 19:34:13 +01:00
Clément Bœsch
222c46c531
x86/vp9lpf: add ff_vp9_loop_filter_[vh]_88_16_{ssse3,avx}.
...
9680 decicycles in loop_filter_v_88_16_c, 4193765 runs, 539 skips
9233 decicycles in loop_filter_h_88_16_c, 4193751 runs, 553 skips
1929 decicycles in ff_vp9_loop_filter_v_88_16_ssse3, 4194118 runs, 186 skips
2738 decicycles in ff_vp9_loop_filter_h_88_16_ssse3, 4193861 runs, 443 skips
5.978 → 5.417 overall decode time on ped1080p.webm (-threads 1)
Adding SSE2 support should be relatively trivial (just a matter of
changing the pshufb [mask_mix] with something else), patch welcome.
2014-01-28 07:36:38 +01:00
Clément Bœsch
822385d775
x86/vp9lpf: add a preload system in FILTER_UPDATE.
...
Allow some macro refactoring in filter14().
2014-01-27 22:39:26 +01:00
Clément Bœsch
315b4775ad
x86/vp9lpf: refactor v/h using common macros for P7 to Q7.
2014-01-27 22:39:26 +01:00
Clément Bœsch
5d144086cc
x86/vp9lpf: faster P7..Q7 accesses.
...
Introduce 2 additional registers for stride3 and mstride3 to allow
direct accesses (lea drops).
3931 → 3827 decicycles in ff_vp9_loop_filter_v_16_16_ssse3
Also uses defines to clarify the code.
2014-01-27 22:37:42 +01:00
Clément Bœsch
5f4d04d084
x86/lossless_videodsp: silly one-line cosmetic.
2014-01-25 16:24:50 +01:00
Clément Bœsch
5267e85056
x86/lossless_videodsp: use common macro for add and diff int16 loop.
2014-01-25 14:27:37 +01:00
Clément Bœsch
cddbfd2a95
x86/lossless_videodsp: simplify and explicit aligned/unaligned flags
2014-01-25 11:59:43 +01:00
Clément Bœsch
9cc8fa63dd
vp9/x86: simplify a few mc inits.
2014-01-16 07:48:27 +01:00
Clément Bœsch and Clément Bœsch
8b4190da93
vp9/x86: add AVX for itxfm and lpf.
...
4412 decicycles in ff_vp9_loop_filter_h_16_16_ssse3, 4193462 runs, 842 skips
3600 decicycles in ff_vp9_loop_filter_h_16_16_avx, 4193621 runs, 683 skips
3010 decicycles in ff_vp9_loop_filter_v_16_16_ssse3, 4193528 runs, 776 skips
2678 decicycles in ff_vp9_loop_filter_v_16_16_avx, 4193742 runs, 562 skips
23025 decicycles in ff_vp9_idct_idct_32x32_add_ssse3, 2096871 runs, 281 skips
19943 decicycles in ff_vp9_idct_idct_32x32_add_avx, 2096815 runs, 337 skips
4675 decicycles in ff_vp9_idct_idct_16x16_add_ssse3, 4194018 runs, 286 skips
3980 decicycles in ff_vp9_idct_idct_16x16_add_avx, 4194022 runs, 282 skips
967 decicycles in ff_vp9_idct_idct_8x8_add_ssse3, 16776972 runs, 244 skips
887 decicycles in ff_vp9_idct_idct_8x8_add_avx, 16777002 runs, 214 skips
2014-01-15 15:54:03 +01:00
Clément Bœsch
af68bd1c06
vp9/x86: add ff_vp9_loop_filter_[vh]_16_16_ssse3().
...
16662 decicycles in loop_filter_h_16_16_c, 8387355 runs, 1253 skips
17510 decicycles in loop_filter_v_16_16_c, 8387516 runs, 1092 skips
4941 decicycles in ff_vp9_loop_filter_h_16_16_ssse3, 8387887 runs, 721 skips
3899 decicycles in ff_vp9_loop_filter_v_16_16_ssse3, 8387980 runs, 628 skips
Overall decode time goes from:
./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null - 8.10s user 0.02s system 99% cpu 8.126 total
to:
./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null - 6.15s user 0.04s system 99% cpu 6.199 total
(46 to 61 fps)
2014-01-12 20:20:24 +01:00
Clément Bœsch
e11ceea68f
vp9/x86: factor out some code in VP9_UNPACK_MULSUB_2W_4X.
2014-01-12 20:19:00 +01:00
Clément Bœsch
c9aa0b8f70
vp9/x86: remove reg redundancy in VP9_MULSUB_2W_2X.
2014-01-12 20:18:55 +01:00
Clément Bœsch
7c55ee6168
vp9/x86: merge IDCT coef macros.
2014-01-12 20:18:44 +01:00
Clément Bœsch and Michael Niedermayer
b84a7330af
avformat/pjsdec: dont increase pointer when its already at the end in read_ts()
...
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f91f2de7764_2649_PJS_capability_tester.pjs
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-01-11 02:28:17 +01:00
Clément Bœsch
307b6b8cb4
avfilter/lut3d: fix channel order in Iridas format parsing.
...
According to http://doc.iridas.com/index.php?title=LUT_Formats
for 3D textures, the data is also RGB, and ordered in such a way
that the red coordinate changes fastest, then the green coordinate,
and finally, the blue coordinate changes slowest:
Fixes Ticket #3236 .
2014-01-04 09:42:31 +01:00
Clément Bœsch
bea9394465
avcodec/vp9dsp: remove unused stride parameter in loop_filter().
...
The stride argument is passed either as stridea or strideb.
2013-11-23 22:19:38 +01:00
Clément Bœsch
004f3b154b
avcodec/vp9dsp: pass dconly bit as macro argument.
2013-11-22 23:26:37 +01:00
Clément Bœsch
64821f5a7c
avcodec/vp9dsp: add DC only versions for idct/idct.
...
before:
./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null - 16.29s user 0.02s system 99% cpu 16.323 total
./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null - 16.32s user 0.01s system 99% cpu 16.351 total
./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null - 16.27s user 0.05s system 99% cpu 16.335 total
after:
./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null - 15.22s user 0.03s system 99% cpu 15.257 total
./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null - 15.20s user 0.02s system 99% cpu 15.237 total
./ffmpeg -v 0 -nostats -i ~/samples/vp9/etv.webm -f null - 15.19s user 0.02s system 99% cpu 15.227 total
2013-11-22 20:32:56 +01:00